(function (fA, b0) { typeof exports == "object" && typeof module < "u" ? module.exports = b0() : typeof define == "function" && define.amd ? define(b0) : (fA = typeof globalThis < "u" ? globalThis : fA || self, fA.mermaid = b0()) })(this, function () {
    "use strict"; function fA(i) {
        for (var a = [], f = 1; f < arguments.length; f++)a[f - 1] = arguments[f]; var p = Array.from(typeof i == "string" ? [i] : i); p[p.length - 1] = p[p.length - 1].replace(/\r?\n([\t ]*)$/, ""); var v = p.reduce(function (E, C) { var D = C.match(/\n([\t ]+|(?!\s).)/g); return D ? E.concat(D.map(function (P) { var B, j; return (j = (B = P.match(/[\t ]/g)) === null || B === void 0 ? void 0 : B.length) !== null && j !== void 0 ? j : 0 })) : E }, []); if (v.length) {
            var m = new RegExp(`
    [	 ]{`+ Math.min.apply(Math, v) + "}", "g"); p = p.map(function (E) {
                return E.replace(m, `
    `)
            })
        } p[0] = p[0].replace(/^\r?\n/, ""); var b = p[0]; return a.forEach(function (E, C) {
            var D = b.match(/(?:^|\n)( *)$/), P = D ? D[1] : "", B = E; typeof E == "string" && E.includes(`
    `) && (B = String(E).split(`
    `).map(function (j, R) { return R === 0 ? j : "" + P + j }).join(`
    `)), b += B + p[C + 1]
        }), b
    } var b0 = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; function hLt(i) { return i && i.__esModule && Object.prototype.hasOwnProperty.call(i, "default") ? i.default : i } var Sft = {}, J4e = { get exports() { return Sft }, set exports(i) { Sft = i } }; (function (i, a) { (function (f, p) { i.exports = p() })(b0, function () { var f = 1e3, p = 6e4, v = 36e5, m = "millisecond", b = "second", E = "minute", C = "hour", D = "day", P = "week", B = "month", j = "quarter", R = "year", H = "date", Y = "Invalid Date", it = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, nt = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, st = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function (_t) { var X = ["th", "st", "nd", "rd"], Rt = _t % 100; return "[" + _t + (X[(Rt - 20) % 10] || X[Rt] || X[0]) + "]" } }, pt = function (_t, X, Rt) { var ft = String(_t); return !ft || ft.length >= X ? _t : "" + Array(X + 1 - ft.length).join(Rt) + _t }, Tt = { s: pt, z: function (_t) { var X = -_t.utcOffset(), Rt = Math.abs(X), ft = Math.floor(Rt / 60), de = Rt % 60; return (X <= 0 ? "+" : "-") + pt(ft, 2, "0") + ":" + pt(de, 2, "0") }, m: function _t(X, Rt) { if (X.date() < Rt.date()) return -_t(Rt, X); var ft = 12 * (Rt.year() - X.year()) + (Rt.month() - X.month()), de = X.clone().add(ft, B), J = Rt - de < 0, ae = X.clone().add(ft + (J ? -1 : 1), B); return +(-(ft + (Rt - de) / (J ? de - ae : ae - de)) || 0) }, a: function (_t) { return _t < 0 ? Math.ceil(_t) || 0 : Math.floor(_t) }, p: function (_t) { return { M: B, y: R, w: P, d: D, D: H, h: C, m: E, s: b, ms: m, Q: j }[_t] || String(_t || "").toLowerCase().replace(/s$/, "") }, u: function (_t) { return _t === void 0 } }, kt = "en", yt = {}; yt[kt] = st; var ht = function (_t) { return _t instanceof gt }, mt = function _t(X, Rt, ft) { var de; if (!X) return kt; if (typeof X == "string") { var J = X.toLowerCase(); yt[J] && (de = J), Rt && (yt[J] = Rt, de = J); var ae = X.split("-"); if (!de && ae.length > 1) return _t(ae[0]) } else { var Wt = X.name; yt[Wt] = X, de = Wt } return !ft && de && (kt = de), de || !ft && kt }, rt = function (_t, X) { if (ht(_t)) return _t.clone(); var Rt = typeof X == "object" ? X : {}; return Rt.date = _t, Rt.args = arguments, new gt(Rt) }, wt = Tt; wt.l = mt, wt.i = ht, wt.w = function (_t, X) { return rt(_t, { locale: X.$L, utc: X.$u, x: X.$x, $offset: X.$offset }) }; var gt = function () { function _t(Rt) { this.$L = mt(Rt.locale, null, !0), this.parse(Rt) } var X = _t.prototype; return X.parse = function (Rt) { this.$d = function (ft) { var de = ft.date, J = ft.utc; if (de === null) return new Date(NaN); if (wt.u(de)) return new Date; if (de instanceof Date) return new Date(de); if (typeof de == "string" && !/Z$/i.test(de)) { var ae = de.match(it); if (ae) { var Wt = ae[2] - 1 || 0, It = (ae[7] || "0").substring(0, 3); return J ? new Date(Date.UTC(ae[1], Wt, ae[3] || 1, ae[4] || 0, ae[5] || 0, ae[6] || 0, It)) : new Date(ae[1], Wt, ae[3] || 1, ae[4] || 0, ae[5] || 0, ae[6] || 0, It) } } return new Date(de) }(Rt), this.$x = Rt.x || {}, this.init() }, X.init = function () { var Rt = this.$d; this.$y = Rt.getFullYear(), this.$M = Rt.getMonth(), this.$D = Rt.getDate(), this.$W = Rt.getDay(), this.$H = Rt.getHours(), this.$m = Rt.getMinutes(), this.$s = Rt.getSeconds(), this.$ms = Rt.getMilliseconds() }, X.$utils = function () { return wt }, X.isValid = function () { return this.$d.toString() !== Y }, X.isSame = function (Rt, ft) { var de = rt(Rt); return this.startOf(ft) <= de && de <= this.endOf(ft) }, X.isAfter = function (Rt, ft) { return rt(Rt) < this.startOf(ft) }, X.isBefore = function (Rt, ft) { return this.endOf(ft) < rt(Rt) }, X.$g = function (Rt, ft, de) { return wt.u(Rt) ? this[ft] : this.set(de, Rt) }, X.unix = function () { return Math.floor(this.valueOf() / 1e3) }, X.valueOf = function () { return this.$d.getTime() }, X.startOf = function (Rt, ft) { var de = this, J = !!wt.u(ft) || ft, ae = wt.p(Rt), Wt = function (Te, ne) { var Ee = wt.w(de.$u ? Date.UTC(de.$y, ne, Te) : new Date(de.$y, ne, Te), de); return J ? Ee : Ee.endOf(D) }, It = function (Te, ne) { return wt.w(de.toDate()[Te].apply(de.toDate("s"), (J ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(ne)), de) }, Nt = this.$W, me = this.$M, Ue = this.$D, _n = "set" + (this.$u ? "UTC" : ""); switch (ae) { case R: return J ? Wt(1, 0) : Wt(31, 11); case B: return J ? Wt(1, me) : Wt(0, me + 1); case P: var _e = this.$locale().weekStart || 0, rr = (Nt < _e ? Nt + 7 : Nt) - _e; return Wt(J ? Ue - rr : Ue + (6 - rr), me); case D: case H: return It(_n + "Hours", 0); case C: return It(_n + "Minutes", 1); case E: return It(_n + "Seconds", 2); case b: return It(_n + "Milliseconds", 3); default: return this.clone() } }, X.endOf = function (Rt) { return this.startOf(Rt, !1) }, X.$set = function (Rt, ft) { var de, J = wt.p(Rt), ae = "set" + (this.$u ? "UTC" : ""), Wt = (de = {}, de[D] = ae + "Date", de[H] = ae + "Date", de[B] = ae + "Month", de[R] = ae + "FullYear", de[C] = ae + "Hours", de[E] = ae + "Minutes", de[b] = ae + "Seconds", de[m] = ae + "Milliseconds", de)[J], It = J === D ? this.$D + (ft - this.$W) : ft; if (J === B || J === R) { var Nt = this.clone().set(H, 1); Nt.$d[Wt](It), Nt.init(), this.$d = Nt.set(H, Math.min(this.$D, Nt.daysInMonth())).$d } else Wt && this.$d[Wt](It); return this.init(), this }, X.set = function (Rt, ft) { return this.clone().$set(Rt, ft) }, X.get = function (Rt) { return this[wt.p(Rt)]() }, X.add = function (Rt, ft) { var de, J = this; Rt = Number(Rt); var ae = wt.p(ft), Wt = function (me) { var Ue = rt(J); return wt.w(Ue.date(Ue.date() + Math.round(me * Rt)), J) }; if (ae === B) return this.set(B, this.$M + Rt); if (ae === R) return this.set(R, this.$y + Rt); if (ae === D) return Wt(1); if (ae === P) return Wt(7); var It = (de = {}, de[E] = p, de[C] = v, de[b] = f, de)[ae] || 1, Nt = this.$d.getTime() + Rt * It; return wt.w(Nt, this) }, X.subtract = function (Rt, ft) { return this.add(-1 * Rt, ft) }, X.format = function (Rt) { var ft = this, de = this.$locale(); if (!this.isValid()) return de.invalidDate || Y; var J = Rt || "YYYY-MM-DDTHH:mm:ssZ", ae = wt.z(this), Wt = this.$H, It = this.$m, Nt = this.$M, me = de.weekdays, Ue = de.months, _n = function (ne, Ee, ye, Vt) { return ne && (ne[Ee] || ne(ft, J)) || ye[Ee].slice(0, Vt) }, _e = function (ne) { return wt.s(Wt % 12 || 12, ne, "0") }, rr = de.meridiem || function (ne, Ee, ye) { var Vt = ne < 12 ? "AM" : "PM"; return ye ? Vt.toLowerCase() : Vt }, Te = { YY: String(this.$y).slice(-2), YYYY: this.$y, M: Nt + 1, MM: wt.s(Nt + 1, 2, "0"), MMM: _n(de.monthsShort, Nt, Ue, 3), MMMM: _n(Ue, Nt), D: this.$D, DD: wt.s(this.$D, 2, "0"), d: String(this.$W), dd: _n(de.weekdaysMin, this.$W, me, 2), ddd: _n(de.weekdaysShort, this.$W, me, 3), dddd: me[this.$W], H: String(Wt), HH: wt.s(Wt, 2, "0"), h: _e(1), hh: _e(2), a: rr(Wt, It, !0), A: rr(Wt, It, !1), m: String(It), mm: wt.s(It, 2, "0"), s: String(this.$s), ss: wt.s(this.$s, 2, "0"), SSS: wt.s(this.$ms, 3, "0"), Z: ae }; return J.replace(nt, function (ne, Ee) { return Ee || Te[ne] || ae.replace(":", "") }) }, X.utcOffset = function () { return 15 * -Math.round(this.$d.getTimezoneOffset() / 15) }, X.diff = function (Rt, ft, de) { var J, ae = wt.p(ft), Wt = rt(Rt), It = (Wt.utcOffset() - this.utcOffset()) * p, Nt = this - Wt, me = wt.m(this, Wt); return me = (J = {}, J[R] = me / 12, J[B] = me, J[j] = me / 3, J[P] = (Nt - It) / 6048e5, J[D] = (Nt - It) / 864e5, J[C] = Nt / v, J[E] = Nt / p, J[b] = Nt / f, J)[ae] || Nt, de ? me : wt.a(me) }, X.daysInMonth = function () { return this.endOf(B).$D }, X.$locale = function () { return yt[this.$L] }, X.locale = function (Rt, ft) { if (!Rt) return this.$L; var de = this.clone(), J = mt(Rt, ft, !0); return J && (de.$L = J), de }, X.clone = function () { return wt.w(this.$d, this) }, X.toDate = function () { return new Date(this.valueOf()) }, X.toJSON = function () { return this.isValid() ? this.toISOString() : null }, X.toISOString = function () { return this.$d.toISOString() }, X.toString = function () { return this.$d.toUTCString() }, _t }(), lt = gt.prototype; return rt.prototype = lt, [["$ms", m], ["$s", b], ["$m", E], ["$H", C], ["$W", D], ["$M", B], ["$y", R], ["$D", H]].forEach(function (_t) { lt[_t[1]] = function (X) { return this.$g(X, _t[0], _t[1]) } }), rt.extend = function (_t, X) { return _t.$i || (_t(X, gt, rt), _t.$i = !0), rt }, rt.locale = mt, rt.isDayjs = ht, rt.unix = function (_t) { return rt(1e3 * _t) }, rt.en = yt[kt], rt.Ls = yt, rt.p = {}, rt }) })(J4e); const ip = Sft, d5 = { trace: 0, debug: 1, info: 2, warn: 3, error: 4, fatal: 5 }, zt = { trace: (...i) => { }, debug: (...i) => { }, info: (...i) => { }, warn: (...i) => { }, error: (...i) => { }, fatal: (...i) => { } }, Aft = function (i = "fatal") { let a = d5.fatal; typeof i == "string" ? (i = i.toLowerCase(), i in d5 && (a = d5[i])) : typeof i == "number" && (a = i), zt.trace = () => { }, zt.debug = () => { }, zt.info = () => { }, zt.warn = () => { }, zt.error = () => { }, zt.fatal = () => { }, a <= d5.fatal && (zt.fatal = console.error ? console.error.bind(console, Gb("FATAL"), "color: orange") : console.log.bind(console, "\x1B[35m", Gb("FATAL"))), a <= d5.error && (zt.error = console.error ? console.error.bind(console, Gb("ERROR"), "color: orange") : console.log.bind(console, "\x1B[31m", Gb("ERROR"))), a <= d5.warn && (zt.warn = console.warn ? console.warn.bind(console, Gb("WARN"), "color: orange") : console.log.bind(console, "\x1B[33m", Gb("WARN"))), a <= d5.info && (zt.info = console.info ? console.info.bind(console, Gb("INFO"), "color: lightblue") : console.log.bind(console, "\x1B[34m", Gb("INFO"))), a <= d5.debug && (zt.debug = console.debug ? console.debug.bind(console, Gb("DEBUG"), "color: lightgreen") : console.log.bind(console, "\x1B[32m", Gb("DEBUG"))), a <= d5.trace && (zt.trace = console.debug ? console.debug.bind(console, Gb("TRACE"), "color: lightgreen") : console.log.bind(console, "\x1B[32m", Gb("TRACE"))) }, Gb = i => `%c${ip().format("ss.SSS")} : ${i} : `; var Lft = {}; Object.defineProperty(Lft, "__esModule", { value: !0 }); var Xx = Lft.sanitizeUrl = void 0, t5e = /^([^\w]*)(javascript|data|vbscript)/im, e5e = /&#(\w+)(^\w|;)?/g, n5e = /&(newline|tab);/gi, r5e = /[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim, i5e = /^.+(:|&colon;)/gim, s5e = [".", "/"]; function a5e(i) { return s5e.indexOf(i[0]) > -1 } function o5e(i) { return i.replace(e5e, function (a, f) { return String.fromCharCode(f) }) } function c5e(i) { var a = o5e(i || "").replace(n5e, "").replace(r5e, "").trim(); if (!a) return "about:blank"; if (a5e(a)) return a; var f = a.match(i5e); if (!f) return a; var p = f[0]; return t5e.test(p) ? "about:blank" : a } Xx = Lft.sanitizeUrl = c5e; function rU(i, a) { return i == null || a == null ? NaN : i < a ? -1 : i > a ? 1 : i >= a ? 0 : NaN } function u5e(i, a) { return i == null || a == null ? NaN : a < i ? -1 : a > i ? 1 : a >= i ? 0 : NaN } function Mft(i) { let a, f, p; i.length !== 2 ? (a = rU, f = (E, C) => rU(i(E), C), p = (E, C) => i(E) - C) : (a = i === rU || i === u5e ? i : l5e, f = i, p = i); function v(E, C, D = 0, P = E.length) { if (D < P) { if (a(C, C) !== 0) return P; do { const B = D + P >>> 1; f(E[B], C) < 0 ? D = B + 1 : P = B } while (D < P) } return D } function m(E, C, D = 0, P = E.length) { if (D < P) { if (a(C, C) !== 0) return P; do { const B = D + P >>> 1; f(E[B], C) <= 0 ? D = B + 1 : P = B } while (D < P) } return D } function b(E, C, D = 0, P = E.length) { const B = v(E, C, D, P - 1); return B > D && p(E[B - 1], C) > -p(E[B], C) ? B - 1 : B } return { left: v, center: b, right: m } } function l5e() { return 0 } function h5e(i) { return i === null ? NaN : +i } const f5e = Mft(rU).right; Mft(h5e).center; const d5e = f5e; class fLt extends Map { constructor(a, f = b5e) { if (super(), Object.defineProperties(this, { _intern: { value: new Map }, _key: { value: f } }), a != null) for (const [p, v] of a) this.set(p, v) } get(a) { return super.get(dLt(this, a)) } has(a) { return super.has(dLt(this, a)) } set(a, f) { return super.set(g5e(this, a), f) } delete(a) { return super.delete(p5e(this, a)) } } function dLt({ _intern: i, _key: a }, f) { const p = a(f); return i.has(p) ? i.get(p) : f } function g5e({ _intern: i, _key: a }, f) { const p = a(f); return i.has(p) ? i.get(p) : (i.set(p, f), f) } function p5e({ _intern: i, _key: a }, f) { const p = a(f); return i.has(p) && (f = i.get(p), i.delete(p)), f } function b5e(i) { return i !== null && typeof i == "object" ? i.valueOf() : i } var Dft = Math.sqrt(50), Ift = Math.sqrt(10), Oft = Math.sqrt(2); function v5e(i, a, f) { var p, v = -1, m, b, E; if (a = +a, i = +i, f = +f, i === a && f > 0) return [i]; if ((p = a < i) && (m = i, i = a, a = m), (E = gLt(i, a, f)) === 0 || !isFinite(E)) return []; if (E > 0) { let C = Math.round(i / E), D = Math.round(a / E); for (C * E < i && ++C, D * E > a && --D, b = new Array(m = D - C + 1); ++v < m;)b[v] = (C + v) * E } else { E = -E; let C = Math.round(i * E), D = Math.round(a * E); for (C / E < i && ++C, D / E > a && --D, b = new Array(m = D - C + 1); ++v < m;)b[v] = (C + v) / E } return p && b.reverse(), b } function gLt(i, a, f) { var p = (a - i) / Math.max(0, f), v = Math.floor(Math.log(p) / Math.LN10), m = p / Math.pow(10, v); return v >= 0 ? (m >= Dft ? 10 : m >= Ift ? 5 : m >= Oft ? 2 : 1) * Math.pow(10, v) : -Math.pow(10, -v) / (m >= Dft ? 10 : m >= Ift ? 5 : m >= Oft ? 2 : 1) } function Nft(i, a, f) { var p = Math.abs(a - i) / Math.max(0, f), v = Math.pow(10, Math.floor(Math.log(p) / Math.LN10)), m = p / v; return m >= Dft ? v *= 10 : m >= Ift ? v *= 5 : m >= Oft && (v *= 2), a < i ? -v : v } function w5e(i, a) { let f; if (a === void 0) for (const p of i) p != null && (f < p || f === void 0 && p >= p) && (f = p); else { let p = -1; for (let v of i) (v = a(v, ++p, i)) != null && (f < v || f === void 0 && v >= v) && (f = v) } return f } function m5e(i, a) { let f; if (a === void 0) for (const p of i) p != null && (f > p || f === void 0 && p >= p) && (f = p); else { let p = -1; for (let v of i) (v = a(v, ++p, i)) != null && (f > v || f === void 0 && v >= v) && (f = v) } return f } function y5e(i) { return i } var iU = 1, Pft = 2, Fft = 3, sU = 4, pLt = 1e-6; function x5e(i) { return "translate(" + i + ",0)" } function k5e(i) { return "translate(0," + i + ")" } function E5e(i) { return a => +i(a) } function T5e(i, a) { return a = Math.max(0, i.bandwidth() - a * 2) / 2, i.round() && (a = Math.round(a)), f => +i(f) + a } function _5e() { return !this.__axis } function bLt(i, a) { var f = [], p = null, v = null, m = 6, b = 6, E = 3, C = typeof window < "u" && window.devicePixelRatio > 1 ? 0 : .5, D = i === iU || i === sU ? -1 : 1, P = i === sU || i === Pft ? "x" : "y", B = i === iU || i === Fft ? x5e : k5e; function j(R) { var H = p ?? (a.ticks ? a.ticks.apply(a, f) : a.domain()), Y = v ?? (a.tickFormat ? a.tickFormat.apply(a, f) : y5e), it = Math.max(m, 0) + E, nt = a.range(), st = +nt[0] + C, pt = +nt[nt.length - 1] + C, Tt = (a.bandwidth ? T5e : E5e)(a.copy(), C), kt = R.selection ? R.selection() : R, yt = kt.selectAll(".domain").data([null]), ht = kt.selectAll(".tick").data(H, a).order(), mt = ht.exit(), rt = ht.enter().append("g").attr("class", "tick"), wt = ht.select("line"), gt = ht.select("text"); yt = yt.merge(yt.enter().insert("path", ".tick").attr("class", "domain").attr("stroke", "currentColor")), ht = ht.merge(rt), wt = wt.merge(rt.append("line").attr("stroke", "currentColor").attr(P + "2", D * m)), gt = gt.merge(rt.append("text").attr("fill", "currentColor").attr(P, D * it).attr("dy", i === iU ? "0em" : i === Fft ? "0.71em" : "0.32em")), R !== kt && (yt = yt.transition(R), ht = ht.transition(R), wt = wt.transition(R), gt = gt.transition(R), mt = mt.transition(R).attr("opacity", pLt).attr("transform", function (lt) { return isFinite(lt = Tt(lt)) ? B(lt + C) : this.getAttribute("transform") }), rt.attr("opacity", pLt).attr("transform", function (lt) { var _t = this.parentNode.__axis; return B((_t && isFinite(_t = _t(lt)) ? _t : Tt(lt)) + C) })), mt.remove(), yt.attr("d", i === sU || i === Pft ? b ? "M" + D * b + "," + st + "H" + C + "V" + pt + "H" + D * b : "M" + C + "," + st + "V" + pt : b ? "M" + st + "," + D * b + "V" + C + "H" + pt + "V" + D * b : "M" + st + "," + C + "H" + pt), ht.attr("opacity", 1).attr("transform", function (lt) { return B(Tt(lt) + C) }), wt.attr(P + "2", D * m), gt.attr(P, D * it).text(Y), kt.filter(_5e).attr("fill", "none").attr("font-size", 10).attr("font-family", "sans-serif").attr("text-anchor", i === Pft ? "start" : i === sU ? "end" : "middle"), kt.each(function () { this.__axis = Tt }) } return j.scale = function (R) { return arguments.length ? (a = R, j) : a }, j.ticks = function () { return f = Array.from(arguments), j }, j.tickArguments = function (R) { return arguments.length ? (f = R == null ? [] : Array.from(R), j) : f.slice() }, j.tickValues = function (R) { return arguments.length ? (p = R == null ? null : Array.from(R), j) : p && p.slice() }, j.tickFormat = function (R) { return arguments.length ? (v = R, j) : v }, j.tickSize = function (R) { return arguments.length ? (m = b = +R, j) : m }, j.tickSizeInner = function (R) { return arguments.length ? (m = +R, j) : m }, j.tickSizeOuter = function (R) { return arguments.length ? (b = +R, j) : b }, j.tickPadding = function (R) { return arguments.length ? (E = +R, j) : E }, j.offset = function (R) { return arguments.length ? (C = +R, j) : C }, j } function C5e(i) { return bLt(iU, i) } function S5e(i) { return bLt(Fft, i) } var A5e = { value: () => { } }; function vLt() { for (var i = 0, a = arguments.length, f = {}, p; i < a; ++i) { if (!(p = arguments[i] + "") || p in f || /[\s.]/.test(p)) throw new Error("illegal type: " + p); f[p] = [] } return new aU(f) } function aU(i) { this._ = i } function L5e(i, a) { return i.trim().split(/^|\s+/).map(function (f) { var p = "", v = f.indexOf("."); if (v >= 0 && (p = f.slice(v + 1), f = f.slice(0, v)), f && !a.hasOwnProperty(f)) throw new Error("unknown type: " + f); return { type: f, name: p } }) } aU.prototype = vLt.prototype = { constructor: aU, on: function (i, a) { var f = this._, p = L5e(i + "", f), v, m = -1, b = p.length; if (arguments.length < 2) { for (; ++m < b;)if ((v = (i = p[m]).type) && (v = M5e(f[v], i.name))) return v; return } if (a != null && typeof a != "function") throw new Error("invalid callback: " + a); for (; ++m < b;)if (v = (i = p[m]).type) f[v] = wLt(f[v], i.name, a); else if (a == null) for (v in f) f[v] = wLt(f[v], i.name, null); return this }, copy: function () { var i = {}, a = this._; for (var f in a) i[f] = a[f].slice(); return new aU(i) }, call: function (i, a) { if ((v = arguments.length - 2) > 0) for (var f = new Array(v), p = 0, v, m; p < v; ++p)f[p] = arguments[p + 2]; if (!this._.hasOwnProperty(i)) throw new Error("unknown type: " + i); for (m = this._[i], p = 0, v = m.length; p < v; ++p)m[p].value.apply(a, f) }, apply: function (i, a, f) { if (!this._.hasOwnProperty(i)) throw new Error("unknown type: " + i); for (var p = this._[i], v = 0, m = p.length; v < m; ++v)p[v].value.apply(a, f) } }; function M5e(i, a) { for (var f = 0, p = i.length, v; f < p; ++f)if ((v = i[f]).name === a) return v.value } function wLt(i, a, f) { for (var p = 0, v = i.length; p < v; ++p)if (i[p].name === a) { i[p] = A5e, i = i.slice(0, p).concat(i.slice(p + 1)); break } return f != null && i.push({ name: a, value: f }), i } var Bft = "http://www.w3.org/1999/xhtml"; const mLt = { svg: "http://www.w3.org/2000/svg", xhtml: Bft, xlink: "http://www.w3.org/1999/xlink", xml: "http://www.w3.org/XML/1998/namespace", xmlns: "http://www.w3.org/2000/xmlns/" }; function oU(i) { var a = i += "", f = a.indexOf(":"); return f >= 0 && (a = i.slice(0, f)) !== "xmlns" && (i = i.slice(f + 1)), mLt.hasOwnProperty(a) ? { space: mLt[a], local: i } : i } function D5e(i) { return function () { var a = this.ownerDocument, f = this.namespaceURI; return f === Bft && a.documentElement.namespaceURI === Bft ? a.createElement(i) : a.createElementNS(f, i) } } function I5e(i) { return function () { return this.ownerDocument.createElementNS(i.space, i.local) } } function yLt(i) { var a = oU(i); return (a.local ? I5e : D5e)(a) } function O5e() { } function Rft(i) { return i == null ? O5e : function () { return this.querySelector(i) } } function N5e(i) { typeof i != "function" && (i = Rft(i)); for (var a = this._groups, f = a.length, p = new Array(f), v = 0; v < f; ++v)for (var m = a[v], b = m.length, E = p[v] = new Array(b), C, D, P = 0; P < b; ++P)(C = m[P]) && (D = i.call(C, C.__data__, P, m)) && ("__data__" in C && (D.__data__ = C.__data__), E[P] = D); return new eg(p, this._parents) } function xLt(i) { return i == null ? [] : Array.isArray(i) ? i : Array.from(i) } function P5e() { return [] } function kLt(i) { return i == null ? P5e : function () { return this.querySelectorAll(i) } } function F5e(i) { return function () { return xLt(i.apply(this, arguments)) } } function B5e(i) { typeof i == "function" ? i = F5e(i) : i = kLt(i); for (var a = this._groups, f = a.length, p = [], v = [], m = 0; m < f; ++m)for (var b = a[m], E = b.length, C, D = 0; D < E; ++D)(C = b[D]) && (p.push(i.call(C, C.__data__, D, b)), v.push(C)); return new eg(p, v) } function ELt(i) { return function () { return this.matches(i) } } function TLt(i) { return function (a) { return a.matches(i) } } var R5e = Array.prototype.find; function j5e(i) { return function () { return R5e.call(this.children, i) } } function $5e() { return this.firstElementChild } function z5e(i) { return this.select(i == null ? $5e : j5e(typeof i == "function" ? i : TLt(i))) } var q5e = Array.prototype.filter; function H5e() { return Array.from(this.children) } function V5e(i) { return function () { return q5e.call(this.children, i) } } function G5e(i) { return this.selectAll(i == null ? H5e : V5e(typeof i == "function" ? i : TLt(i))) } function U5e(i) { typeof i != "function" && (i = ELt(i)); for (var a = this._groups, f = a.length, p = new Array(f), v = 0; v < f; ++v)for (var m = a[v], b = m.length, E = p[v] = [], C, D = 0; D < b; ++D)(C = m[D]) && i.call(C, C.__data__, D, m) && E.push(C); return new eg(p, this._parents) } function _Lt(i) { return new Array(i.length) } function W5e() { return new eg(this._enter || this._groups.map(_Lt), this._parents) } function cU(i, a) { this.ownerDocument = i.ownerDocument, this.namespaceURI = i.namespaceURI, this._next = null, this._parent = i, this.__data__ = a } cU.prototype = { constructor: cU, appendChild: function (i) { return this._parent.insertBefore(i, this._next) }, insertBefore: function (i, a) { return this._parent.insertBefore(i, a) }, querySelector: function (i) { return this._parent.querySelector(i) }, querySelectorAll: function (i) { return this._parent.querySelectorAll(i) } }; function K5e(i) { return function () { return i } } function Y5e(i, a, f, p, v, m) { for (var b = 0, E, C = a.length, D = m.length; b < D; ++b)(E = a[b]) ? (E.__data__ = m[b], p[b] = E) : f[b] = new cU(i, m[b]); for (; b < C; ++b)(E = a[b]) && (v[b] = E) } function X5e(i, a, f, p, v, m, b) { var E, C, D = new Map, P = a.length, B = m.length, j = new Array(P), R; for (E = 0; E < P; ++E)(C = a[E]) && (j[E] = R = b.call(C, C.__data__, E, a) + "", D.has(R) ? v[E] = C : D.set(R, C)); for (E = 0; E < B; ++E)R = b.call(i, m[E], E, m) + "", (C = D.get(R)) ? (p[E] = C, C.__data__ = m[E], D.delete(R)) : f[E] = new cU(i, m[E]); for (E = 0; E < P; ++E)(C = a[E]) && D.get(j[E]) === C && (v[E] = C) } function Q5e(i) { return i.__data__ } function Z5e(i, a) { if (!arguments.length) return Array.from(this, Q5e); var f = a ? X5e : Y5e, p = this._parents, v = this._groups; typeof i != "function" && (i = K5e(i)); for (var m = v.length, b = new Array(m), E = new Array(m), C = new Array(m), D = 0; D < m; ++D) { var P = p[D], B = v[D], j = B.length, R = J5e(i.call(P, P && P.__data__, D, p)), H = R.length, Y = E[D] = new Array(H), it = b[D] = new Array(H), nt = C[D] = new Array(j); f(P, B, Y, it, nt, R, a); for (var st = 0, pt = 0, Tt, kt; st < H; ++st)if (Tt = Y[st]) { for (st >= pt && (pt = st + 1); !(kt = it[pt]) && ++pt < H;); Tt._next = kt || null } } return b = new eg(b, p), b._enter = E, b._exit = C, b } function J5e(i) { return typeof i == "object" && "length" in i ? i : Array.from(i) } function t6e() { return new eg(this._exit || this._groups.map(_Lt), this._parents) } function e6e(i, a, f) { var p = this.enter(), v = this, m = this.exit(); return typeof i == "function" ? (p = i(p), p && (p = p.selection())) : p = p.append(i + ""), a != null && (v = a(v), v && (v = v.selection())), f == null ? m.remove() : f(m), p && v ? p.merge(v).order() : v } function n6e(i) { for (var a = i.selection ? i.selection() : i, f = this._groups, p = a._groups, v = f.length, m = p.length, b = Math.min(v, m), E = new Array(v), C = 0; C < b; ++C)for (var D = f[C], P = p[C], B = D.length, j = E[C] = new Array(B), R, H = 0; H < B; ++H)(R = D[H] || P[H]) && (j[H] = R); for (; C < v; ++C)E[C] = f[C]; return new eg(E, this._parents) } function r6e() { for (var i = this._groups, a = -1, f = i.length; ++a < f;)for (var p = i[a], v = p.length - 1, m = p[v], b; --v >= 0;)(b = p[v]) && (m && b.compareDocumentPosition(m) ^ 4 && m.parentNode.insertBefore(b, m), m = b); return this } function i6e(i) { i || (i = s6e); function a(B, j) { return B && j ? i(B.__data__, j.__data__) : !B - !j } for (var f = this._groups, p = f.length, v = new Array(p), m = 0; m < p; ++m) { for (var b = f[m], E = b.length, C = v[m] = new Array(E), D, P = 0; P < E; ++P)(D = b[P]) && (C[P] = D); C.sort(a) } return new eg(v, this._parents).order() } function s6e(i, a) { return i < a ? -1 : i > a ? 1 : i >= a ? 0 : NaN } function a6e() { var i = arguments[0]; return arguments[0] = this, i.apply(null, arguments), this } function o6e() { return Array.from(this) } function c6e() { for (var i = this._groups, a = 0, f = i.length; a < f; ++a)for (var p = i[a], v = 0, m = p.length; v < m; ++v) { var b = p[v]; if (b) return b } return null } function u6e() { let i = 0; for (const a of this) ++i; return i } function l6e() { return !this.node() } function h6e(i) { for (var a = this._groups, f = 0, p = a.length; f < p; ++f)for (var v = a[f], m = 0, b = v.length, E; m < b; ++m)(E = v[m]) && i.call(E, E.__data__, m, v); return this } function f6e(i) { return function () { this.removeAttribute(i) } } function d6e(i) { return function () { this.removeAttributeNS(i.space, i.local) } } function g6e(i, a) { return function () { this.setAttribute(i, a) } } function p6e(i, a) { return function () { this.setAttributeNS(i.space, i.local, a) } } function b6e(i, a) { return function () { var f = a.apply(this, arguments); f == null ? this.removeAttribute(i) : this.setAttribute(i, f) } } function v6e(i, a) { return function () { var f = a.apply(this, arguments); f == null ? this.removeAttributeNS(i.space, i.local) : this.setAttributeNS(i.space, i.local, f) } } function w6e(i, a) { var f = oU(i); if (arguments.length < 2) { var p = this.node(); return f.local ? p.getAttributeNS(f.space, f.local) : p.getAttribute(f) } return this.each((a == null ? f.local ? d6e : f6e : typeof a == "function" ? f.local ? v6e : b6e : f.local ? p6e : g6e)(f, a)) } function CLt(i) { return i.ownerDocument && i.ownerDocument.defaultView || i.document && i || i.defaultView } function m6e(i) { return function () { this.style.removeProperty(i) } } function y6e(i, a, f) { return function () { this.style.setProperty(i, a, f) } } function x6e(i, a, f) { return function () { var p = a.apply(this, arguments); p == null ? this.style.removeProperty(i) : this.style.setProperty(i, p, f) } } function k6e(i, a, f) { return arguments.length > 1 ? this.each((a == null ? m6e : typeof a == "function" ? x6e : y6e)(i, a, f ?? "")) : dA(this.node(), i) } function dA(i, a) { return i.style.getPropertyValue(a) || CLt(i).getComputedStyle(i, null).getPropertyValue(a) } function E6e(i) { return function () { delete this[i] } } function T6e(i, a) { return function () { this[i] = a } } function _6e(i, a) { return function () { var f = a.apply(this, arguments); f == null ? delete this[i] : this[i] = f } } function C6e(i, a) { return arguments.length > 1 ? this.each((a == null ? E6e : typeof a == "function" ? _6e : T6e)(i, a)) : this.node()[i] } function SLt(i) { return i.trim().split(/^|\s+/) } function jft(i) { return i.classList || new ALt(i) } function ALt(i) { this._node = i, this._names = SLt(i.getAttribute("class") || "") } ALt.prototype = { add: function (i) { var a = this._names.indexOf(i); a < 0 && (this._names.push(i), this._node.setAttribute("class", this._names.join(" "))) }, remove: function (i) { var a = this._names.indexOf(i); a >= 0 && (this._names.splice(a, 1), this._node.setAttribute("class", this._names.join(" "))) }, contains: function (i) { return this._names.indexOf(i) >= 0 } }; function LLt(i, a) { for (var f = jft(i), p = -1, v = a.length; ++p < v;)f.add(a[p]) } function MLt(i, a) { for (var f = jft(i), p = -1, v = a.length; ++p < v;)f.remove(a[p]) } function S6e(i) { return function () { LLt(this, i) } } function A6e(i) { return function () { MLt(this, i) } } function L6e(i, a) { return function () { (a.apply(this, arguments) ? LLt : MLt)(this, i) } } function M6e(i, a) { var f = SLt(i + ""); if (arguments.length < 2) { for (var p = jft(this.node()), v = -1, m = f.length; ++v < m;)if (!p.contains(f[v])) return !1; return !0 } return this.each((typeof a == "function" ? L6e : a ? S6e : A6e)(f, a)) } function D6e() { this.textContent = "" } function I6e(i) { return function () { this.textContent = i } } function O6e(i) { return function () { var a = i.apply(this, arguments); this.textContent = a ?? "" } } function N6e(i) { return arguments.length ? this.each(i == null ? D6e : (typeof i == "function" ? O6e : I6e)(i)) : this.node().textContent } function P6e() { this.innerHTML = "" } function F6e(i) { return function () { this.innerHTML = i } } function B6e(i) { return function () { var a = i.apply(this, arguments); this.innerHTML = a ?? "" } } function R6e(i) { return arguments.length ? this.each(i == null ? P6e : (typeof i == "function" ? B6e : F6e)(i)) : this.node().innerHTML } function j6e() { this.nextSibling && this.parentNode.appendChild(this) } function $6e() { return this.each(j6e) } function z6e() { this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild) } function q6e() { return this.each(z6e) } function H6e(i) { var a = typeof i == "function" ? i : yLt(i); return this.select(function () { return this.appendChild(a.apply(this, arguments)) }) } function V6e() { return null } function G6e(i, a) { var f = typeof i == "function" ? i : yLt(i), p = a == null ? V6e : typeof a == "function" ? a : Rft(a); return this.select(function () { return this.insertBefore(f.apply(this, arguments), p.apply(this, arguments) || null) }) } function U6e() { var i = this.parentNode; i && i.removeChild(this) } function W6e() { return this.each(U6e) } function K6e() { var i = this.cloneNode(!1), a = this.parentNode; return a ? a.insertBefore(i, this.nextSibling) : i } function Y6e() { var i = this.cloneNode(!0), a = this.parentNode; return a ? a.insertBefore(i, this.nextSibling) : i } function X6e(i) { return this.select(i ? Y6e : K6e) } function Q6e(i) { return arguments.length ? this.property("__data__", i) : this.node().__data__ } function Z6e(i) { return function (a) { i.call(this, a, this.__data__) } } function J6e(i) { return i.trim().split(/^|\s+/).map(function (a) { var f = "", p = a.indexOf("."); return p >= 0 && (f = a.slice(p + 1), a = a.slice(0, p)), { type: a, name: f } }) } function txe(i) { return function () { var a = this.__on; if (a) { for (var f = 0, p = -1, v = a.length, m; f < v; ++f)m = a[f], (!i.type || m.type === i.type) && m.name === i.name ? this.removeEventListener(m.type, m.listener, m.options) : a[++p] = m; ++p ? a.length = p : delete this.__on } } } function exe(i, a, f) { return function () { var p = this.__on, v, m = Z6e(a); if (p) { for (var b = 0, E = p.length; b < E; ++b)if ((v = p[b]).type === i.type && v.name === i.name) { this.removeEventListener(v.type, v.listener, v.options), this.addEventListener(v.type, v.listener = m, v.options = f), v.value = a; return } } this.addEventListener(i.type, m, f), v = { type: i.type, name: i.name, value: a, listener: m, options: f }, p ? p.push(v) : this.__on = [v] } } function nxe(i, a, f) { var p = J6e(i + ""), v, m = p.length, b; if (arguments.length < 2) { var E = this.node().__on; if (E) { for (var C = 0, D = E.length, P; C < D; ++C)for (v = 0, P = E[C]; v < m; ++v)if ((b = p[v]).type === P.type && b.name === P.name) return P.value } return } for (E = a ? exe : txe, v = 0; v < m; ++v)this.each(E(p[v], a, f)); return this } function DLt(i, a, f) { var p = CLt(i), v = p.CustomEvent; typeof v == "function" ? v = new v(a, f) : (v = p.document.createEvent("Event"), f ? (v.initEvent(a, f.bubbles, f.cancelable), v.detail = f.detail) : v.initEvent(a, !1, !1)), i.dispatchEvent(v) } function rxe(i, a) { return function () { return DLt(this, i, a) } } function ixe(i, a) { return function () { return DLt(this, i, a.apply(this, arguments)) } } function sxe(i, a) { return this.each((typeof a == "function" ? ixe : rxe)(i, a)) } function* axe() { for (var i = this._groups, a = 0, f = i.length; a < f; ++a)for (var p = i[a], v = 0, m = p.length, b; v < m; ++v)(b = p[v]) && (yield b) } var $ft = [null]; function eg(i, a) { this._groups = i, this._parents = a } function mN() { return new eg([[document.documentElement]], $ft) } function oxe() { return this } eg.prototype = mN.prototype = { constructor: eg, select: N5e, selectAll: B5e, selectChild: z5e, selectChildren: G5e, filter: U5e, data: Z5e, enter: W5e, exit: t6e, join: e6e, merge: n6e, selection: oxe, order: r6e, sort: i6e, call: a6e, nodes: o6e, node: c6e, size: u6e, empty: l6e, each: h6e, attr: w6e, style: k6e, property: C6e, classed: M6e, text: N6e, html: R6e, raise: $6e, lower: q6e, append: H6e, insert: G6e, remove: W6e, clone: X6e, datum: Q6e, on: nxe, dispatch: sxe, [Symbol.iterator]: axe }; function Mr(i) { return typeof i == "string" ? new eg([[document.querySelector(i)]], [document.documentElement]) : new eg([[i]], $ft) } function zft(i) { return typeof i == "string" ? new eg([document.querySelectorAll(i)], [document.documentElement]) : new eg([xLt(i)], $ft) } function yN(i, a, f) { i.prototype = a.prototype = f, f.constructor = i } function uU(i, a) { var f = Object.create(i.prototype); for (var p in a) f[p] = a[p]; return f } function B9() { } var xN = .7, lU = 1 / xN, gA = "\\s*([+-]?\\d+)\\s*", kN = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", r3 = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", cxe = /^#([0-9a-f]{3,8})$/, uxe = new RegExp(`^rgb\\(${gA},${gA},${gA}\\)$`), lxe = new RegExp(`^rgb\\(${r3},${r3},${r3}\\)$`), hxe = new RegExp(`^rgba\\(${gA},${gA},${gA},${kN}\\)$`), fxe = new RegExp(`^rgba\\(${r3},${r3},${r3},${kN}\\)$`), dxe = new RegExp(`^hsl\\(${kN},${r3},${r3}\\)$`), gxe = new RegExp(`^hsla\\(${kN},${r3},${r3},${kN}\\)$`), ILt = { aliceblue: 15792383, antiquewhite: 16444375, aqua: 65535, aquamarine: 8388564, azure: 15794175, beige: 16119260, bisque: 16770244, black: 0, blanchedalmond: 16772045, blue: 255, blueviolet: 9055202, brown: 10824234, burlywood: 14596231, cadetblue: 6266528, chartreuse: 8388352, chocolate: 13789470, coral: 16744272, cornflowerblue: 6591981, cornsilk: 16775388, crimson: 14423100, cyan: 65535, darkblue: 139, darkcyan: 35723, darkgoldenrod: 12092939, darkgray: 11119017, darkgreen: 25600, darkgrey: 11119017, darkkhaki: 12433259, darkmagenta: 9109643, darkolivegreen: 5597999, darkorange: 16747520, darkorchid: 10040012, darkred: 9109504, darksalmon: 15308410, darkseagreen: 9419919, darkslateblue: 4734347, darkslategray: 3100495, darkslategrey: 3100495, darkturquoise: 52945, darkviolet: 9699539, deeppink: 16716947, deepskyblue: 49151, dimgray: 6908265, dimgrey: 6908265, dodgerblue: 2003199, firebrick: 11674146, floralwhite: 16775920, forestgreen: 2263842, fuchsia: 16711935, gainsboro: 14474460, ghostwhite: 16316671, gold: 16766720, goldenrod: 14329120, gray: 8421504, green: 32768, greenyellow: 11403055, grey: 8421504, honeydew: 15794160, hotpink: 16738740, indianred: 13458524, indigo: 4915330, ivory: 16777200, khaki: 15787660, lavender: 15132410, lavenderblush: 16773365, lawngreen: 8190976, lemonchiffon: 16775885, lightblue: 11393254, lightcoral: 15761536, lightcyan: 14745599, lightgoldenrodyellow: 16448210, lightgray: 13882323, lightgreen: 9498256, lightgrey: 13882323, lightpink: 16758465, lightsalmon: 16752762, lightseagreen: 2142890, lightskyblue: 8900346, lightslategray: 7833753, lightslategrey: 7833753, lightsteelblue: 11584734, lightyellow: 16777184, lime: 65280, limegreen: 3329330, linen: 16445670, magenta: 16711935, maroon: 8388608, mediumaquamarine: 6737322, mediumblue: 205, mediumorchid: 12211667, mediumpurple: 9662683, mediumseagreen: 3978097, mediumslateblue: 8087790, mediumspringgreen: 64154, mediumturquoise: 4772300, mediumvioletred: 13047173, midnightblue: 1644912, mintcream: 16121850, mistyrose: 16770273, moccasin: 16770229, navajowhite: 16768685, navy: 128, oldlace: 16643558, olive: 8421376, olivedrab: 7048739, orange: 16753920, orangered: 16729344, orchid: 14315734, palegoldenrod: 15657130, palegreen: 10025880, paleturquoise: 11529966, palevioletred: 14381203, papayawhip: 16773077, peachpuff: 16767673, peru: 13468991, pink: 16761035, plum: 14524637, powderblue: 11591910, purple: 8388736, rebeccapurple: 6697881, red: 16711680, rosybrown: 12357519, royalblue: 4286945, saddlebrown: 9127187, salmon: 16416882, sandybrown: 16032864, seagreen: 3050327, seashell: 16774638, sienna: 10506797, silver: 12632256, skyblue: 8900331, slateblue: 6970061, slategray: 7372944, slategrey: 7372944, snow: 16775930, springgreen: 65407, steelblue: 4620980, tan: 13808780, teal: 32896, thistle: 14204888, tomato: 16737095, turquoise: 4251856, violet: 15631086, wheat: 16113331, white: 16777215, whitesmoke: 16119285, yellow: 16776960, yellowgreen: 10145074 }; yN(B9, R9, { copy(i) { return Object.assign(new this.constructor, this, i) }, displayable() { return this.rgb().displayable() }, hex: OLt, formatHex: OLt, formatHex8: pxe, formatHsl: bxe, formatRgb: NLt, toString: NLt }); function OLt() { return this.rgb().formatHex() } function pxe() { return this.rgb().formatHex8() } function bxe() { return $Lt(this).formatHsl() } function NLt() { return this.rgb().formatRgb() } function R9(i) { var a, f; return i = (i + "").trim().toLowerCase(), (a = cxe.exec(i)) ? (f = a[1].length, a = parseInt(a[1], 16), f === 6 ? PLt(a) : f === 3 ? new v0(a >> 8 & 15 | a >> 4 & 240, a >> 4 & 15 | a & 240, (a & 15) << 4 | a & 15, 1) : f === 8 ? hU(a >> 24 & 255, a >> 16 & 255, a >> 8 & 255, (a & 255) / 255) : f === 4 ? hU(a >> 12 & 15 | a >> 8 & 240, a >> 8 & 15 | a >> 4 & 240, a >> 4 & 15 | a & 240, ((a & 15) << 4 | a & 15) / 255) : null) : (a = uxe.exec(i)) ? new v0(a[1], a[2], a[3], 1) : (a = lxe.exec(i)) ? new v0(a[1] * 255 / 100, a[2] * 255 / 100, a[3] * 255 / 100, 1) : (a = hxe.exec(i)) ? hU(a[1], a[2], a[3], a[4]) : (a = fxe.exec(i)) ? hU(a[1] * 255 / 100, a[2] * 255 / 100, a[3] * 255 / 100, a[4]) : (a = dxe.exec(i)) ? jLt(a[1], a[2] / 100, a[3] / 100, 1) : (a = gxe.exec(i)) ? jLt(a[1], a[2] / 100, a[3] / 100, a[4]) : ILt.hasOwnProperty(i) ? PLt(ILt[i]) : i === "transparent" ? new v0(NaN, NaN, NaN, 0) : null } function PLt(i) { return new v0(i >> 16 & 255, i >> 8 & 255, i & 255, 1) } function hU(i, a, f, p) { return p <= 0 && (i = a = f = NaN), new v0(i, a, f, p) } function FLt(i) { return i instanceof B9 || (i = R9(i)), i ? (i = i.rgb(), new v0(i.r, i.g, i.b, i.opacity)) : new v0 } function qft(i, a, f, p) { return arguments.length === 1 ? FLt(i) : new v0(i, a, f, p ?? 1) } function v0(i, a, f, p) { this.r = +i, this.g = +a, this.b = +f, this.opacity = +p } yN(v0, qft, uU(B9, { brighter(i) { return i = i == null ? lU : Math.pow(lU, i), new v0(this.r * i, this.g * i, this.b * i, this.opacity) }, darker(i) { return i = i == null ? xN : Math.pow(xN, i), new v0(this.r * i, this.g * i, this.b * i, this.opacity) }, rgb() { return this }, clamp() { return new v0(j9(this.r), j9(this.g), j9(this.b), fU(this.opacity)) }, displayable() { return -.5 <= this.r && this.r < 255.5 && -.5 <= this.g && this.g < 255.5 && -.5 <= this.b && this.b < 255.5 && 0 <= this.opacity && this.opacity <= 1 }, hex: BLt, formatHex: BLt, formatHex8: vxe, formatRgb: RLt, toString: RLt })); function BLt() { return `#${$9(this.r)}${$9(this.g)}${$9(this.b)}` } function vxe() { return `#${$9(this.r)}${$9(this.g)}${$9(this.b)}${$9((isNaN(this.opacity) ? 1 : this.opacity) * 255)}` } function RLt() { const i = fU(this.opacity); return `${i === 1 ? "rgb(" : "rgba("}${j9(this.r)}, ${j9(this.g)}, ${j9(this.b)}${i === 1 ? ")" : `, ${i})`}` } function fU(i) { return isNaN(i) ? 1 : Math.max(0, Math.min(1, i)) } function j9(i) { return Math.max(0, Math.min(255, Math.round(i) || 0)) } function $9(i) { return i = j9(i), (i < 16 ? "0" : "") + i.toString(16) } function jLt(i, a, f, p) { return p <= 0 ? i = a = f = NaN : f <= 0 || f >= 1 ? i = a = NaN : a <= 0 && (i = NaN), new Vw(i, a, f, p) } function $Lt(i) { if (i instanceof Vw) return new Vw(i.h, i.s, i.l, i.opacity); if (i instanceof B9 || (i = R9(i)), !i) return new Vw; if (i instanceof Vw) return i; i = i.rgb(); var a = i.r / 255, f = i.g / 255, p = i.b / 255, v = Math.min(a, f, p), m = Math.max(a, f, p), b = NaN, E = m - v, C = (m + v) / 2; return E ? (a === m ? b = (f - p) / E + (f < p) * 6 : f === m ? b = (p - a) / E + 2 : b = (a - f) / E + 4, E /= C < .5 ? m + v : 2 - m - v, b *= 60) : E = C > 0 && C < 1 ? 0 : b, new Vw(b, E, C, i.opacity) } function wxe(i, a, f, p) { return arguments.length === 1 ? $Lt(i) : new Vw(i, a, f, p ?? 1) } function Vw(i, a, f, p) { this.h = +i, this.s = +a, this.l = +f, this.opacity = +p } yN(Vw, wxe, uU(B9, { brighter(i) { return i = i == null ? lU : Math.pow(lU, i), new Vw(this.h, this.s, this.l * i, this.opacity) }, darker(i) { return i = i == null ? xN : Math.pow(xN, i), new Vw(this.h, this.s, this.l * i, this.opacity) }, rgb() { var i = this.h % 360 + (this.h < 0) * 360, a = isNaN(i) || isNaN(this.s) ? 0 : this.s, f = this.l, p = f + (f < .5 ? f : 1 - f) * a, v = 2 * f - p; return new v0(Hft(i >= 240 ? i - 240 : i + 120, v, p), Hft(i, v, p), Hft(i < 120 ? i + 240 : i - 120, v, p), this.opacity) }, clamp() { return new Vw(zLt(this.h), dU(this.s), dU(this.l), fU(this.opacity)) }, displayable() { return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && 0 <= this.l && this.l <= 1 && 0 <= this.opacity && this.opacity <= 1 }, formatHsl() { const i = fU(this.opacity); return `${i === 1 ? "hsl(" : "hsla("}${zLt(this.h)}, ${dU(this.s) * 100}%, ${dU(this.l) * 100}%${i === 1 ? ")" : `, ${i})`}` } })); function zLt(i) { return i = (i || 0) % 360, i < 0 ? i + 360 : i } function dU(i) { return Math.max(0, Math.min(1, i || 0)) } function Hft(i, a, f) { return (i < 60 ? a + (f - a) * i / 60 : i < 180 ? f : i < 240 ? a + (f - a) * (240 - i) / 60 : a) * 255 } const mxe = Math.PI / 180, yxe = 180 / Math.PI, gU = 18, qLt = .96422, HLt = 1, VLt = .82521, GLt = 4 / 29, pA = 6 / 29, ULt = 3 * pA * pA, xxe = pA * pA * pA; function WLt(i) { if (i instanceof i3) return new i3(i.l, i.a, i.b, i.opacity); if (i instanceof g5) return KLt(i); i instanceof v0 || (i = FLt(i)); var a = Wft(i.r), f = Wft(i.g), p = Wft(i.b), v = Vft((.2225045 * a + .7168786 * f + .0606169 * p) / HLt), m, b; return a === f && f === p ? m = b = v : (m = Vft((.4360747 * a + .3850649 * f + .1430804 * p) / qLt), b = Vft((.0139322 * a + .0971045 * f + .7141733 * p) / VLt)), new i3(116 * v - 16, 500 * (m - v), 200 * (v - b), i.opacity) } function kxe(i, a, f, p) { return arguments.length === 1 ? WLt(i) : new i3(i, a, f, p ?? 1) } function i3(i, a, f, p) { this.l = +i, this.a = +a, this.b = +f, this.opacity = +p } yN(i3, kxe, uU(B9, { brighter(i) { return new i3(this.l + gU * (i ?? 1), this.a, this.b, this.opacity) }, darker(i) { return new i3(this.l - gU * (i ?? 1), this.a, this.b, this.opacity) }, rgb() { var i = (this.l + 16) / 116, a = isNaN(this.a) ? i : i + this.a / 500, f = isNaN(this.b) ? i : i - this.b / 200; return a = qLt * Gft(a), i = HLt * Gft(i), f = VLt * Gft(f), new v0(Uft(3.1338561 * a - 1.6168667 * i - .4906146 * f), Uft(-.9787684 * a + 1.9161415 * i + .033454 * f), Uft(.0719453 * a - .2289914 * i + 1.4052427 * f), this.opacity) } })); function Vft(i) { return i > xxe ? Math.pow(i, 1 / 3) : i / ULt + GLt } function Gft(i) { return i > pA ? i * i * i : ULt * (i - GLt) } function Uft(i) { return 255 * (i <= .0031308 ? 12.92 * i : 1.055 * Math.pow(i, 1 / 2.4) - .055) } function Wft(i) { return (i /= 255) <= .04045 ? i / 12.92 : Math.pow((i + .055) / 1.055, 2.4) } function Exe(i) { if (i instanceof g5) return new g5(i.h, i.c, i.l, i.opacity); if (i instanceof i3 || (i = WLt(i)), i.a === 0 && i.b === 0) return new g5(NaN, 0 < i.l && i.l < 100 ? 0 : NaN, i.l, i.opacity); var a = Math.atan2(i.b, i.a) * yxe; return new g5(a < 0 ? a + 360 : a, Math.sqrt(i.a * i.a + i.b * i.b), i.l, i.opacity) } function Kft(i, a, f, p) { return arguments.length === 1 ? Exe(i) : new g5(i, a, f, p ?? 1) } function g5(i, a, f, p) { this.h = +i, this.c = +a, this.l = +f, this.opacity = +p } function KLt(i) { if (isNaN(i.h)) return new i3(i.l, 0, 0, i.opacity); var a = i.h * mxe; return new i3(i.l, Math.cos(a) * i.c, Math.sin(a) * i.c, i.opacity) } yN(g5, Kft, uU(B9, { brighter(i) { return new g5(this.h, this.c, this.l + gU * (i ?? 1), this.opacity) }, darker(i) { return new g5(this.h, this.c, this.l - gU * (i ?? 1), this.opacity) }, rgb() { return KLt(this).rgb() } })); const pU = i => () => i; function YLt(i, a) { return function (f) { return i + f * a } } function Txe(i, a, f) { return i = Math.pow(i, f), a = Math.pow(a, f) - i, f = 1 / f, function (p) { return Math.pow(i + p * a, f) } } function _xe(i, a) { var f = a - i; return f ? YLt(i, f > 180 || f < -180 ? f - 360 * Math.round(f / 360) : f) : pU(isNaN(i) ? a : i) } function Cxe(i) { return (i = +i) == 1 ? EN : function (a, f) { return f - a ? Txe(a, f, i) : pU(isNaN(a) ? f : a) } } function EN(i, a) { var f = a - i; return f ? YLt(i, f) : pU(isNaN(i) ? a : i) } const bU = function i(a) { var f = Cxe(a); function p(v, m) { var b = f((v = qft(v)).r, (m = qft(m)).r), E = f(v.g, m.g), C = f(v.b, m.b), D = EN(v.opacity, m.opacity); return function (P) { return v.r = b(P), v.g = E(P), v.b = C(P), v.opacity = D(P), v + "" } } return p.gamma = i, p }(1); function Sxe(i, a) { a || (a = []); var f = i ? Math.min(a.length, i.length) : 0, p = a.slice(), v; return function (m) { for (v = 0; v < f; ++v)p[v] = i[v] * (1 - m) + a[v] * m; return p } } function Axe(i) { return ArrayBuffer.isView(i) && !(i instanceof DataView) } function Lxe(i, a) { var f = a ? a.length : 0, p = i ? Math.min(f, i.length) : 0, v = new Array(p), m = new Array(f), b; for (b = 0; b < p; ++b)v[b] = Qft(i[b], a[b]); for (; b < f; ++b)m[b] = a[b]; return function (E) { for (b = 0; b < p; ++b)m[b] = v[b](E); return m } } function Mxe(i, a) { var f = new Date; return i = +i, a = +a, function (p) { return f.setTime(i * (1 - p) + a * p), f } } function Gw(i, a) { return i = +i, a = +a, function (f) { return i * (1 - f) + a * f } } function Dxe(i, a) { var f = {}, p = {}, v; (i === null || typeof i != "object") && (i = {}), (a === null || typeof a != "object") && (a = {}); for (v in a) v in i ? f[v] = Qft(i[v], a[v]) : p[v] = a[v]; return function (m) { for (v in f) p[v] = f[v](m); return p } } var Yft = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, Xft = new RegExp(Yft.source, "g"); function Ixe(i) { return function () { return i } } function Oxe(i) { return function (a) { return i(a) + "" } } function XLt(i, a) { var f = Yft.lastIndex = Xft.lastIndex = 0, p, v, m, b = -1, E = [], C = []; for (i = i + "", a = a + ""; (p = Yft.exec(i)) && (v = Xft.exec(a));)(m = v.index) > f && (m = a.slice(f, m), E[b] ? E[b] += m : E[++b] = m), (p = p[0]) === (v = v[0]) ? E[b] ? E[b] += v : E[++b] = v : (E[++b] = null, C.push({ i: b, x: Gw(p, v) })), f = Xft.lastIndex; return f < a.length && (m = a.slice(f), E[b] ? E[b] += m : E[++b] = m), E.length < 2 ? C[0] ? Oxe(C[0].x) : Ixe(a) : (a = C.length, function (D) { for (var P = 0, B; P < a; ++P)E[(B = C[P]).i] = B.x(D); return E.join("") }) } function Qft(i, a) { var f = typeof a, p; return a == null || f === "boolean" ? pU(a) : (f === "number" ? Gw : f === "string" ? (p = R9(a)) ? (a = p, bU) : XLt : a instanceof R9 ? bU : a instanceof Date ? Mxe : Axe(a) ? Sxe : Array.isArray(a) ? Lxe : typeof a.valueOf != "function" && typeof a.toString != "function" || isNaN(a) ? Dxe : Gw)(i, a) } function Nxe(i, a) { return i = +i, a = +a, function (f) { return Math.round(i * (1 - f) + a * f) } } var QLt = 180 / Math.PI, Zft = { translateX: 0, translateY: 0, rotate: 0, skewX: 0, scaleX: 1, scaleY: 1 }; function ZLt(i, a, f, p, v, m) { var b, E, C; return (b = Math.sqrt(i * i + a * a)) && (i /= b, a /= b), (C = i * f + a * p) && (f -= i * C, p -= a * C), (E = Math.sqrt(f * f + p * p)) && (f /= E, p /= E, C /= E), i * p < a * f && (i = -i, a = -a, C = -C, b = -b), { translateX: v, translateY: m, rotate: Math.atan2(a, i) * QLt, skewX: Math.atan(C) * QLt, scaleX: b, scaleY: E } } var vU; function Pxe(i) { const a = new (typeof DOMMatrix == "function" ? DOMMatrix : WebKitCSSMatrix)(i + ""); return a.isIdentity ? Zft : ZLt(a.a, a.b, a.c, a.d, a.e, a.f) } function Fxe(i) { return i == null || (vU || (vU = document.createElementNS("http://www.w3.org/2000/svg", "g")), vU.setAttribute("transform", i), !(i = vU.transform.baseVal.consolidate())) ? Zft : (i = i.matrix, ZLt(i.a, i.b, i.c, i.d, i.e, i.f)) } function JLt(i, a, f, p) { function v(D) { return D.length ? D.pop() + " " : "" } function m(D, P, B, j, R, H) { if (D !== B || P !== j) { var Y = R.push("translate(", null, a, null, f); H.push({ i: Y - 4, x: Gw(D, B) }, { i: Y - 2, x: Gw(P, j) }) } else (B || j) && R.push("translate(" + B + a + j + f) } function b(D, P, B, j) { D !== P ? (D - P > 180 ? P += 360 : P - D > 180 && (D += 360), j.push({ i: B.push(v(B) + "rotate(", null, p) - 2, x: Gw(D, P) })) : P && B.push(v(B) + "rotate(" + P + p) } function E(D, P, B, j) { D !== P ? j.push({ i: B.push(v(B) + "skewX(", null, p) - 2, x: Gw(D, P) }) : P && B.push(v(B) + "skewX(" + P + p) } function C(D, P, B, j, R, H) { if (D !== B || P !== j) { var Y = R.push(v(R) + "scale(", null, ",", null, ")"); H.push({ i: Y - 4, x: Gw(D, B) }, { i: Y - 2, x: Gw(P, j) }) } else (B !== 1 || j !== 1) && R.push(v(R) + "scale(" + B + "," + j + ")") } return function (D, P) { var B = [], j = []; return D = i(D), P = i(P), m(D.translateX, D.translateY, P.translateX, P.translateY, B, j), b(D.rotate, P.rotate, B, j), E(D.skewX, P.skewX, B, j), C(D.scaleX, D.scaleY, P.scaleX, P.scaleY, B, j), D = P = null, function (R) { for (var H = -1, Y = j.length, it; ++H < Y;)B[(it = j[H]).i] = it.x(R); return B.join("") } } } var Bxe = JLt(Pxe, "px, ", "px)", "deg)"), Rxe = JLt(Fxe, ", ", ")", ")"); function jxe(i) { return function (a, f) { var p = i((a = Kft(a)).h, (f = Kft(f)).h), v = EN(a.c, f.c), m = EN(a.l, f.l), b = EN(a.opacity, f.opacity); return function (E) { return a.h = p(E), a.c = v(E), a.l = m(E), a.opacity = b(E), a + "" } } } const $xe = jxe(_xe); var bA = 0, TN = 0, _N = 0, tMt = 1e3, wU, CN, mU = 0, z9 = 0, yU = 0, SN = typeof performance == "object" && performance.now ? performance : Date, eMt = typeof window == "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function (i) { setTimeout(i, 17) }; function Jft() { return z9 || (eMt(zxe), z9 = SN.now() + yU) } function zxe() { z9 = 0 } function xU() { this._call = this._time = this._next = null } xU.prototype = nMt.prototype = { constructor: xU, restart: function (i, a, f) { if (typeof i != "function") throw new TypeError("callback is not a function"); f = (f == null ? Jft() : +f) + (a == null ? 0 : +a), !this._next && CN !== this && (CN ? CN._next = this : wU = this, CN = this), this._call = i, this._time = f, t1t() }, stop: function () { this._call && (this._call = null, this._time = 1 / 0, t1t()) } }; function nMt(i, a, f) { var p = new xU; return p.restart(i, a, f), p } function qxe() { Jft(), ++bA; for (var i = wU, a; i;)(a = z9 - i._time) >= 0 && i._call.call(void 0, a), i = i._next; --bA } function rMt() { z9 = (mU = SN.now()) + yU, bA = TN = 0; try { qxe() } finally { bA = 0, Vxe(), z9 = 0 } } function Hxe() { var i = SN.now(), a = i - mU; a > tMt && (yU -= a, mU = i) } function Vxe() { for (var i, a = wU, f, p = 1 / 0; a;)a._call ? (p > a._time && (p = a._time), i = a, a = a._next) : (f = a._next, a._next = null, a = i ? i._next = f : wU = f); CN = i, t1t(p) } function t1t(i) { if (!bA) { TN && (TN = clearTimeout(TN)); var a = i - z9; a > 24 ? (i < 1 / 0 && (TN = setTimeout(rMt, i - SN.now() - yU)), _N && (_N = clearInterval(_N))) : (_N || (mU = SN.now(), _N = setInterval(Hxe, tMt)), bA = 1, eMt(rMt)) } } function iMt(i, a, f) { var p = new xU; return a = a == null ? 0 : +a, p.restart(v => { p.stop(), i(v + a) }, a, f), p } var Gxe = vLt("start", "end", "cancel", "interrupt"), Uxe = [], sMt = 0, aMt = 1, e1t = 2, kU = 3, oMt = 4, n1t = 5, EU = 6; function TU(i, a, f, p, v, m) { var b = i.__transition; if (!b) i.__transition = {}; else if (f in b) return; Wxe(i, f, { name: a, index: p, group: v, on: Gxe, tween: Uxe, time: m.time, delay: m.delay, duration: m.duration, ease: m.ease, timer: null, state: sMt }) } function r1t(i, a) { var f = Uw(i, a); if (f.state > sMt) throw new Error("too late; already scheduled"); return f } function s3(i, a) { var f = Uw(i, a); if (f.state > kU) throw new Error("too late; already running"); return f } function Uw(i, a) { var f = i.__transition; if (!f || !(f = f[a])) throw new Error("transition not found"); return f } function Wxe(i, a, f) { var p = i.__transition, v; p[a] = f, f.timer = nMt(m, 0, f.time); function m(D) { f.state = aMt, f.timer.restart(b, f.delay, f.time), f.delay <= D && b(D - f.delay) } function b(D) { var P, B, j, R; if (f.state !== aMt) return C(); for (P in p) if (R = p[P], R.name === f.name) { if (R.state === kU) return iMt(b); R.state === oMt ? (R.state = EU, R.timer.stop(), R.on.call("interrupt", i, i.__data__, R.index, R.group), delete p[P]) : +P < a && (R.state = EU, R.timer.stop(), R.on.call("cancel", i, i.__data__, R.index, R.group), delete p[P]) } if (iMt(function () { f.state === kU && (f.state = oMt, f.timer.restart(E, f.delay, f.time), E(D)) }), f.state = e1t, f.on.call("start", i, i.__data__, f.index, f.group), f.state === e1t) { for (f.state = kU, v = new Array(j = f.tween.length), P = 0, B = -1; P < j; ++P)(R = f.tween[P].value.call(i, i.__data__, f.index, f.group)) && (v[++B] = R); v.length = B + 1 } } function E(D) { for (var P = D < f.duration ? f.ease.call(null, D / f.duration) : (f.timer.restart(C), f.state = n1t, 1), B = -1, j = v.length; ++B < j;)v[B].call(i, P); f.state === n1t && (f.on.call("end", i, i.__data__, f.index, f.group), C()) } function C() { f.state = EU, f.timer.stop(), delete p[a]; for (var D in p) return; delete i.__transition } } function Kxe(i, a) { var f = i.__transition, p, v, m = !0, b; if (f) { a = a == null ? null : a + ""; for (b in f) { if ((p = f[b]).name !== a) { m = !1; continue } v = p.state > e1t && p.state < n1t, p.state = EU, p.timer.stop(), p.on.call(v ? "interrupt" : "cancel", i, i.__data__, p.index, p.group), delete f[b] } m && delete i.__transition } } function Yxe(i) { return this.each(function () { Kxe(this, i) }) } function Xxe(i, a) { var f, p; return function () { var v = s3(this, i), m = v.tween; if (m !== f) { p = f = m; for (var b = 0, E = p.length; b < E; ++b)if (p[b].name === a) { p = p.slice(), p.splice(b, 1); break } } v.tween = p } } function Qxe(i, a, f) { var p, v; if (typeof f != "function") throw new Error; return function () { var m = s3(this, i), b = m.tween; if (b !== p) { v = (p = b).slice(); for (var E = { name: a, value: f }, C = 0, D = v.length; C < D; ++C)if (v[C].name === a) { v[C] = E; break } C === D && v.push(E) } m.tween = v } } function Zxe(i, a) { var f = this._id; if (i += "", arguments.length < 2) { for (var p = Uw(this.node(), f).tween, v = 0, m = p.length, b; v < m; ++v)if ((b = p[v]).name === i) return b.value; return null } return this.each((a == null ? Xxe : Qxe)(f, i, a)) } function i1t(i, a, f) { var p = i._id; return i.each(function () { var v = s3(this, p); (v.value || (v.value = {}))[a] = f.apply(this, arguments) }), function (v) { return Uw(v, p).value[a] } } function cMt(i, a) { var f; return (typeof a == "number" ? Gw : a instanceof R9 ? bU : (f = R9(a)) ? (a = f, bU) : XLt)(i, a) } function Jxe(i) { return function () { this.removeAttribute(i) } } function tke(i) { return function () { this.removeAttributeNS(i.space, i.local) } } function eke(i, a, f) { var p, v = f + "", m; return function () { var b = this.getAttribute(i); return b === v ? null : b === p ? m : m = a(p = b, f) } } function nke(i, a, f) { var p, v = f + "", m; return function () { var b = this.getAttributeNS(i.space, i.local); return b === v ? null : b === p ? m : m = a(p = b, f) } } function rke(i, a, f) { var p, v, m; return function () { var b, E = f(this), C; return E == null ? void this.removeAttribute(i) : (b = this.getAttribute(i), C = E + "", b === C ? null : b === p && C === v ? m : (v = C, m = a(p = b, E))) } } function ike(i, a, f) { var p, v, m; return function () { var b, E = f(this), C; return E == null ? void this.removeAttributeNS(i.space, i.local) : (b = this.getAttributeNS(i.space, i.local), C = E + "", b === C ? null : b === p && C === v ? m : (v = C, m = a(p = b, E))) } } function ske(i, a) { var f = oU(i), p = f === "transform" ? Rxe : cMt; return this.attrTween(i, typeof a == "function" ? (f.local ? ike : rke)(f, p, i1t(this, "attr." + i, a)) : a == null ? (f.local ? tke : Jxe)(f) : (f.local ? nke : eke)(f, p, a)) } function ake(i, a) { return function (f) { this.setAttribute(i, a.call(this, f)) } } function oke(i, a) { return function (f) { this.setAttributeNS(i.space, i.local, a.call(this, f)) } } function cke(i, a) { var f, p; function v() { var m = a.apply(this, arguments); return m !== p && (f = (p = m) && oke(i, m)), f } return v._value = a, v } function uke(i, a) { var f, p; function v() { var m = a.apply(this, arguments); return m !== p && (f = (p = m) && ake(i, m)), f } return v._value = a, v } function lke(i, a) { var f = "attr." + i; if (arguments.length < 2) return (f = this.tween(f)) && f._value; if (a == null) return this.tween(f, null); if (typeof a != "function") throw new Error; var p = oU(i); return this.tween(f, (p.local ? cke : uke)(p, a)) } function hke(i, a) { return function () { r1t(this, i).delay = +a.apply(this, arguments) } } function fke(i, a) { return a = +a, function () { r1t(this, i).delay = a } } function dke(i) { var a = this._id; return arguments.length ? this.each((typeof i == "function" ? hke : fke)(a, i)) : Uw(this.node(), a).delay } function gke(i, a) { return function () { s3(this, i).duration = +a.apply(this, arguments) } } function pke(i, a) { return a = +a, function () { s3(this, i).duration = a } } function bke(i) { var a = this._id; return arguments.length ? this.each((typeof i == "function" ? gke : pke)(a, i)) : Uw(this.node(), a).duration } function vke(i, a) { if (typeof a != "function") throw new Error; return function () { s3(this, i).ease = a } } function wke(i) { var a = this._id; return arguments.length ? this.each(vke(a, i)) : Uw(this.node(), a).ease } function mke(i, a) { return function () { var f = a.apply(this, arguments); if (typeof f != "function") throw new Error; s3(this, i).ease = f } } function yke(i) { if (typeof i != "function") throw new Error; return this.each(mke(this._id, i)) } function xke(i) { typeof i != "function" && (i = ELt(i)); for (var a = this._groups, f = a.length, p = new Array(f), v = 0; v < f; ++v)for (var m = a[v], b = m.length, E = p[v] = [], C, D = 0; D < b; ++D)(C = m[D]) && i.call(C, C.__data__, D, m) && E.push(C); return new p5(p, this._parents, this._name, this._id) } function kke(i) { if (i._id !== this._id) throw new Error; for (var a = this._groups, f = i._groups, p = a.length, v = f.length, m = Math.min(p, v), b = new Array(p), E = 0; E < m; ++E)for (var C = a[E], D = f[E], P = C.length, B = b[E] = new Array(P), j, R = 0; R < P; ++R)(j = C[R] || D[R]) && (B[R] = j); for (; E < p; ++E)b[E] = a[E]; return new p5(b, this._parents, this._name, this._id) } function Eke(i) { return (i + "").trim().split(/^|\s+/).every(function (a) { var f = a.indexOf("."); return f >= 0 && (a = a.slice(0, f)), !a || a === "start" }) } function Tke(i, a, f) { var p, v, m = Eke(a) ? r1t : s3; return function () { var b = m(this, i), E = b.on; E !== p && (v = (p = E).copy()).on(a, f), b.on = v } } function _ke(i, a) { var f = this._id; return arguments.length < 2 ? Uw(this.node(), f).on.on(i) : this.each(Tke(f, i, a)) } function Cke(i) { return function () { var a = this.parentNode; for (var f in this.__transition) if (+f !== i) return; a && a.removeChild(this) } } function Ske() { return this.on("end.remove", Cke(this._id)) } function Ake(i) { var a = this._name, f = this._id; typeof i != "function" && (i = Rft(i)); for (var p = this._groups, v = p.length, m = new Array(v), b = 0; b < v; ++b)for (var E = p[b], C = E.length, D = m[b] = new Array(C), P, B, j = 0; j < C; ++j)(P = E[j]) && (B = i.call(P, P.__data__, j, E)) && ("__data__" in P && (B.__data__ = P.__data__), D[j] = B, TU(D[j], a, f, j, D, Uw(P, f))); return new p5(m, this._parents, a, f) } function Lke(i) { var a = this._name, f = this._id; typeof i != "function" && (i = kLt(i)); for (var p = this._groups, v = p.length, m = [], b = [], E = 0; E < v; ++E)for (var C = p[E], D = C.length, P, B = 0; B < D; ++B)if (P = C[B]) { for (var j = i.call(P, P.__data__, B, C), R, H = Uw(P, f), Y = 0, it = j.length; Y < it; ++Y)(R = j[Y]) && TU(R, a, f, Y, j, H); m.push(j), b.push(P) } return new p5(m, b, a, f) } var Mke = mN.prototype.constructor; function Dke() { return new Mke(this._groups, this._parents) } function Ike(i, a) { var f, p, v; return function () { var m = dA(this, i), b = (this.style.removeProperty(i), dA(this, i)); return m === b ? null : m === f && b === p ? v : v = a(f = m, p = b) } } function uMt(i) { return function () { this.style.removeProperty(i) } } function Oke(i, a, f) { var p, v = f + "", m; return function () { var b = dA(this, i); return b === v ? null : b === p ? m : m = a(p = b, f) } } function Nke(i, a, f) { var p, v, m; return function () { var b = dA(this, i), E = f(this), C = E + ""; return E == null && (C = E = (this.style.removeProperty(i), dA(this, i))), b === C ? null : b === p && C === v ? m : (v = C, m = a(p = b, E)) } } function Pke(i, a) { var f, p, v, m = "style." + a, b = "end." + m, E; return function () { var C = s3(this, i), D = C.on, P = C.value[m] == null ? E || (E = uMt(a)) : void 0; (D !== f || v !== P) && (p = (f = D).copy()).on(b, v = P), C.on = p } } function Fke(i, a, f) { var p = (i += "") == "transform" ? Bxe : cMt; return a == null ? this.styleTween(i, Ike(i, p)).on("end.style." + i, uMt(i)) : typeof a == "function" ? this.styleTween(i, Nke(i, p, i1t(this, "style." + i, a))).each(Pke(this._id, i)) : this.styleTween(i, Oke(i, p, a), f).on("end.style." + i, null) } function Bke(i, a, f) { return function (p) { this.style.setProperty(i, a.call(this, p), f) } } function Rke(i, a, f) { var p, v; function m() { var b = a.apply(this, arguments); return b !== v && (p = (v = b) && Bke(i, b, f)), p } return m._value = a, m } function jke(i, a, f) { var p = "style." + (i += ""); if (arguments.length < 2) return (p = this.tween(p)) && p._value; if (a == null) return this.tween(p, null); if (typeof a != "function") throw new Error; return this.tween(p, Rke(i, a, f ?? "")) } function $ke(i) { return function () { this.textContent = i } } function zke(i) { return function () { var a = i(this); this.textContent = a ?? "" } } function qke(i) { return this.tween("text", typeof i == "function" ? zke(i1t(this, "text", i)) : $ke(i == null ? "" : i + "")) } function Hke(i) { return function (a) { this.textContent = i.call(this, a) } } function Vke(i) { var a, f; function p() { var v = i.apply(this, arguments); return v !== f && (a = (f = v) && Hke(v)), a } return p._value = i, p } function Gke(i) { var a = "text"; if (arguments.length < 1) return (a = this.tween(a)) && a._value; if (i == null) return this.tween(a, null); if (typeof i != "function") throw new Error; return this.tween(a, Vke(i)) } function Uke() { for (var i = this._name, a = this._id, f = lMt(), p = this._groups, v = p.length, m = 0; m < v; ++m)for (var b = p[m], E = b.length, C, D = 0; D < E; ++D)if (C = b[D]) { var P = Uw(C, a); TU(C, i, f, D, b, { time: P.time + P.delay + P.duration, delay: 0, duration: P.duration, ease: P.ease }) } return new p5(p, this._parents, i, f) } function Wke() { var i, a, f = this, p = f._id, v = f.size(); return new Promise(function (m, b) { var E = { value: b }, C = { value: function () { --v === 0 && m() } }; f.each(function () { var D = s3(this, p), P = D.on; P !== i && (a = (i = P).copy(), a._.cancel.push(E), a._.interrupt.push(E), a._.end.push(C)), D.on = a }), v === 0 && m() }) } var Kke = 0; function p5(i, a, f, p) { this._groups = i, this._parents = a, this._name = f, this._id = p } function lMt() { return ++Kke } var b5 = mN.prototype; p5.prototype = { constructor: p5, select: Ake, selectAll: Lke, selectChild: b5.selectChild, selectChildren: b5.selectChildren, filter: xke, merge: kke, selection: Dke, transition: Uke, call: b5.call, nodes: b5.nodes, node: b5.node, size: b5.size, empty: b5.empty, each: b5.each, on: _ke, attr: ske, attrTween: lke, style: Fke, styleTween: jke, text: qke, textTween: Gke, remove: Ske, tween: Zxe, delay: dke, duration: bke, ease: wke, easeVarying: yke, end: Wke, [Symbol.iterator]: b5[Symbol.iterator] }; function Yke(i) { return ((i *= 2) <= 1 ? i * i * i : (i -= 2) * i * i + 2) / 2 } var Xke = { time: null, delay: 0, duration: 250, ease: Yke }; function Qke(i, a) { for (var f; !(f = i.__transition) || !(f = f[a]);)if (!(i = i.parentNode)) throw new Error(`transition ${a} not found`); return f } function Zke(i) { var a, f; i instanceof p5 ? (a = i._id, i = i._name) : (a = lMt(), (f = Xke).time = Jft(), i = i == null ? null : i + ""); for (var p = this._groups, v = p.length, m = 0; m < v; ++m)for (var b = p[m], E = b.length, C, D = 0; D < E; ++D)(C = b[D]) && TU(C, i, a, D, b, f || Qke(C, a)); return new p5(p, this._parents, i, a) } mN.prototype.interrupt = Yxe, mN.prototype.transition = Zke; const s1t = Math.PI, a1t = 2 * s1t, q9 = 1e-6, Jke = a1t - q9; function o1t() { this._x0 = this._y0 = this._x1 = this._y1 = null, this._ = "" } function c1t() { return new o1t } o1t.prototype = c1t.prototype = { constructor: o1t, moveTo: function (i, a) { this._ += "M" + (this._x0 = this._x1 = +i) + "," + (this._y0 = this._y1 = +a) }, closePath: function () { this._x1 !== null && (this._x1 = this._x0, this._y1 = this._y0, this._ += "Z") }, lineTo: function (i, a) { this._ += "L" + (this._x1 = +i) + "," + (this._y1 = +a) }, quadraticCurveTo: function (i, a, f, p) { this._ += "Q" + +i + "," + +a + "," + (this._x1 = +f) + "," + (this._y1 = +p) }, bezierCurveTo: function (i, a, f, p, v, m) { this._ += "C" + +i + "," + +a + "," + +f + "," + +p + "," + (this._x1 = +v) + "," + (this._y1 = +m) }, arcTo: function (i, a, f, p, v) { i = +i, a = +a, f = +f, p = +p, v = +v; var m = this._x1, b = this._y1, E = f - i, C = p - a, D = m - i, P = b - a, B = D * D + P * P; if (v < 0) throw new Error("negative radius: " + v); if (this._x1 === null) this._ += "M" + (this._x1 = i) + "," + (this._y1 = a); else if (B > q9) if (!(Math.abs(P * E - C * D) > q9) || !v) this._ += "L" + (this._x1 = i) + "," + (this._y1 = a); else { var j = f - m, R = p - b, H = E * E + C * C, Y = j * j + R * R, it = Math.sqrt(H), nt = Math.sqrt(B), st = v * Math.tan((s1t - Math.acos((H + B - Y) / (2 * it * nt))) / 2), pt = st / nt, Tt = st / it; Math.abs(pt - 1) > q9 && (this._ += "L" + (i + pt * D) + "," + (a + pt * P)), this._ += "A" + v + "," + v + ",0,0," + +(P * j > D * R) + "," + (this._x1 = i + Tt * E) + "," + (this._y1 = a + Tt * C) } }, arc: function (i, a, f, p, v, m) { i = +i, a = +a, f = +f, m = !!m; var b = f * Math.cos(p), E = f * Math.sin(p), C = i + b, D = a + E, P = 1 ^ m, B = m ? p - v : v - p; if (f < 0) throw new Error("negative radius: " + f); this._x1 === null ? this._ += "M" + C + "," + D : (Math.abs(this._x1 - C) > q9 || Math.abs(this._y1 - D) > q9) && (this._ += "L" + C + "," + D), f && (B < 0 && (B = B % a1t + a1t), B > Jke ? this._ += "A" + f + "," + f + ",0,1," + P + "," + (i - b) + "," + (a - E) + "A" + f + "," + f + ",0,1," + P + "," + (this._x1 = C) + "," + (this._y1 = D) : B > q9 && (this._ += "A" + f + "," + f + ",0," + +(B >= s1t) + "," + P + "," + (this._x1 = i + f * Math.cos(v)) + "," + (this._y1 = a + f * Math.sin(v)))) }, rect: function (i, a, f, p) { this._ += "M" + (this._x0 = this._x1 = +i) + "," + (this._y0 = this._y1 = +a) + "h" + +f + "v" + +p + "h" + -f + "Z" }, toString: function () { return this._ } }; function t8e(i) { if (!i.ok) throw new Error(i.status + " " + i.statusText); return i.text() } function e8e(i, a) { return fetch(i, a).then(t8e) } function n8e(i) { return (a, f) => e8e(a, f).then(p => new DOMParser().parseFromString(p, i)) } var r8e = n8e("image/svg+xml"); function i8e(i) { return Math.abs(i = Math.round(i)) >= 1e21 ? i.toLocaleString("en").replace(/,/g, "") : i.toString(10) } function _U(i, a) { if ((f = (i = a ? i.toExponential(a - 1) : i.toExponential()).indexOf("e")) < 0) return null; var f, p = i.slice(0, f); return [p.length > 1 ? p[0] + p.slice(2) : p, +i.slice(f + 1)] } function vA(i) { return i = _U(Math.abs(i)), i ? i[1] : NaN } function s8e(i, a) { return function (f, p) { for (var v = f.length, m = [], b = 0, E = i[0], C = 0; v > 0 && E > 0 && (C + E + 1 > p && (E = Math.max(1, p - C)), m.push(f.substring(v -= E, v + E)), !((C += E + 1) > p));)E = i[b = (b + 1) % i.length]; return m.reverse().join(a) } } function a8e(i) { return function (a) { return a.replace(/[0-9]/g, function (f) { return i[+f] }) } } var o8e = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i; function CU(i) { if (!(a = o8e.exec(i))) throw new Error("invalid format: " + i); var a; return new u1t({ fill: a[1], align: a[2], sign: a[3], symbol: a[4], zero: a[5], width: a[6], comma: a[7], precision: a[8] && a[8].slice(1), trim: a[9], type: a[10] }) } CU.prototype = u1t.prototype; function u1t(i) { this.fill = i.fill === void 0 ? " " : i.fill + "", this.align = i.align === void 0 ? ">" : i.align + "", this.sign = i.sign === void 0 ? "-" : i.sign + "", this.symbol = i.symbol === void 0 ? "" : i.symbol + "", this.zero = !!i.zero, this.width = i.width === void 0 ? void 0 : +i.width, this.comma = !!i.comma, this.precision = i.precision === void 0 ? void 0 : +i.precision, this.trim = !!i.trim, this.type = i.type === void 0 ? "" : i.type + "" } u1t.prototype.toString = function () { return this.fill + this.align + this.sign + this.symbol + (this.zero ? "0" : "") + (this.width === void 0 ? "" : Math.max(1, this.width | 0)) + (this.comma ? "," : "") + (this.precision === void 0 ? "" : "." + Math.max(0, this.precision | 0)) + (this.trim ? "~" : "") + this.type }; function c8e(i) { t: for (var a = i.length, f = 1, p = -1, v; f < a; ++f)switch (i[f]) { case ".": p = v = f; break; case "0": p === 0 && (p = f), v = f; break; default: if (!+i[f]) break t; p > 0 && (p = 0); break }return p > 0 ? i.slice(0, p) + i.slice(v + 1) : i } var hMt; function u8e(i, a) { var f = _U(i, a); if (!f) return i + ""; var p = f[0], v = f[1], m = v - (hMt = Math.max(-8, Math.min(8, Math.floor(v / 3))) * 3) + 1, b = p.length; return m === b ? p : m > b ? p + new Array(m - b + 1).join("0") : m > 0 ? p.slice(0, m) + "." + p.slice(m) : "0." + new Array(1 - m).join("0") + _U(i, Math.max(0, a + m - 1))[0] } function fMt(i, a) { var f = _U(i, a); if (!f) return i + ""; var p = f[0], v = f[1]; return v < 0 ? "0." + new Array(-v).join("0") + p : p.length > v + 1 ? p.slice(0, v + 1) + "." + p.slice(v + 1) : p + new Array(v - p.length + 2).join("0") } const dMt = { "%": (i, a) => (i * 100).toFixed(a), b: i => Math.round(i).toString(2), c: i => i + "", d: i8e, e: (i, a) => i.toExponential(a), f: (i, a) => i.toFixed(a), g: (i, a) => i.toPrecision(a), o: i => Math.round(i).toString(8), p: (i, a) => fMt(i * 100, a), r: fMt, s: u8e, X: i => Math.round(i).toString(16).toUpperCase(), x: i => Math.round(i).toString(16) }; function gMt(i) { return i } var pMt = Array.prototype.map, bMt = ["y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"]; function l8e(i) { var a = i.grouping === void 0 || i.thousands === void 0 ? gMt : s8e(pMt.call(i.grouping, Number), i.thousands + ""), f = i.currency === void 0 ? "" : i.currency[0] + "", p = i.currency === void 0 ? "" : i.currency[1] + "", v = i.decimal === void 0 ? "." : i.decimal + "", m = i.numerals === void 0 ? gMt : a8e(pMt.call(i.numerals, String)), b = i.percent === void 0 ? "%" : i.percent + "", E = i.minus === void 0 ? "−" : i.minus + "", C = i.nan === void 0 ? "NaN" : i.nan + ""; function D(B) { B = CU(B); var j = B.fill, R = B.align, H = B.sign, Y = B.symbol, it = B.zero, nt = B.width, st = B.comma, pt = B.precision, Tt = B.trim, kt = B.type; kt === "n" ? (st = !0, kt = "g") : dMt[kt] || (pt === void 0 && (pt = 12), Tt = !0, kt = "g"), (it || j === "0" && R === "=") && (it = !0, j = "0", R = "="); var yt = Y === "$" ? f : Y === "#" && /[boxX]/.test(kt) ? "0" + kt.toLowerCase() : "", ht = Y === "$" ? p : /[%p]/.test(kt) ? b : "", mt = dMt[kt], rt = /[defgprs%]/.test(kt); pt = pt === void 0 ? 6 : /[gprs]/.test(kt) ? Math.max(1, Math.min(21, pt)) : Math.max(0, Math.min(20, pt)); function wt(gt) { var lt = yt, _t = ht, X, Rt, ft; if (kt === "c") _t = mt(gt) + _t, gt = ""; else { gt = +gt; var de = gt < 0 || 1 / gt < 0; if (gt = isNaN(gt) ? C : mt(Math.abs(gt), pt), Tt && (gt = c8e(gt)), de && +gt == 0 && H !== "+" && (de = !1), lt = (de ? H === "(" ? H : E : H === "-" || H === "(" ? "" : H) + lt, _t = (kt === "s" ? bMt[8 + hMt / 3] : "") + _t + (de && H === "(" ? ")" : ""), rt) { for (X = -1, Rt = gt.length; ++X < Rt;)if (ft = gt.charCodeAt(X), 48 > ft || ft > 57) { _t = (ft === 46 ? v + gt.slice(X + 1) : gt.slice(X)) + _t, gt = gt.slice(0, X); break } } } st && !it && (gt = a(gt, 1 / 0)); var J = lt.length + gt.length + _t.length, ae = J < nt ? new Array(nt - J + 1).join(j) : ""; switch (st && it && (gt = a(ae + gt, ae.length ? nt - _t.length : 1 / 0), ae = ""), R) { case "<": gt = lt + gt + _t + ae; break; case "=": gt = lt + ae + gt + _t; break; case "^": gt = ae.slice(0, J = ae.length >> 1) + lt + gt + _t + ae.slice(J); break; default: gt = ae + lt + gt + _t; break }return m(gt) } return wt.toString = function () { return B + "" }, wt } function P(B, j) { var R = D((B = CU(B), B.type = "f", B)), H = Math.max(-8, Math.min(8, Math.floor(vA(j) / 3))) * 3, Y = Math.pow(10, -H), it = bMt[8 + H / 3]; return function (nt) { return R(Y * nt) + it } } return { format: D, formatPrefix: P } } var SU, vMt, wMt; h8e({ thousands: ",", grouping: [3], currency: ["$", ""] }); function h8e(i) { return SU = l8e(i), vMt = SU.format, wMt = SU.formatPrefix, SU } function f8e(i) { return Math.max(0, -vA(Math.abs(i))) } function d8e(i, a) { return Math.max(0, Math.max(-8, Math.min(8, Math.floor(vA(a) / 3))) * 3 - vA(Math.abs(i))) } function g8e(i, a) { return i = Math.abs(i), a = Math.abs(a) - i, Math.max(0, vA(a) - vA(i)) + 1 } function l1t(i, a) { switch (arguments.length) { case 0: break; case 1: this.range(i); break; default: this.range(a).domain(i); break }return this } const mMt = Symbol("implicit"); function yMt() { var i = new fLt, a = [], f = [], p = mMt; function v(m) { let b = i.get(m); if (b === void 0) { if (p !== mMt) return p; i.set(m, b = a.push(m) - 1) } return f[b % f.length] } return v.domain = function (m) { if (!arguments.length) return a.slice(); a = [], i = new fLt; for (const b of m) i.has(b) || i.set(b, a.push(b) - 1); return v }, v.range = function (m) { return arguments.length ? (f = Array.from(m), v) : f.slice() }, v.unknown = function (m) { return arguments.length ? (p = m, v) : p }, v.copy = function () { return yMt(a, f).unknown(p) }, l1t.apply(v, arguments), v } function p8e(i) { return function () { return i } } function b8e(i) { return +i } var xMt = [0, 1]; function wA(i) { return i } function h1t(i, a) { return (a -= i = +i) ? function (f) { return (f - i) / a } : p8e(isNaN(a) ? NaN : .5) } function v8e(i, a) { var f; return i > a && (f = i, i = a, a = f), function (p) { return Math.max(i, Math.min(a, p)) } } function w8e(i, a, f) { var p = i[0], v = i[1], m = a[0], b = a[1]; return v < p ? (p = h1t(v, p), m = f(b, m)) : (p = h1t(p, v), m = f(m, b)), function (E) { return m(p(E)) } } function m8e(i, a, f) { var p = Math.min(i.length, a.length) - 1, v = new Array(p), m = new Array(p), b = -1; for (i[p] < i[0] && (i = i.slice().reverse(), a = a.slice().reverse()); ++b < p;)v[b] = h1t(i[b], i[b + 1]), m[b] = f(a[b], a[b + 1]); return function (E) { var C = d5e(i, E, 1, p) - 1; return m[C](v[C](E)) } } function kMt(i, a) { return a.domain(i.domain()).range(i.range()).interpolate(i.interpolate()).clamp(i.clamp()).unknown(i.unknown()) } function y8e() { var i = xMt, a = xMt, f = Qft, p, v, m, b = wA, E, C, D; function P() { var j = Math.min(i.length, a.length); return b !== wA && (b = v8e(i[0], i[j - 1])), E = j > 2 ? m8e : w8e, C = D = null, B } function B(j) { return j == null || isNaN(j = +j) ? m : (C || (C = E(i.map(p), a, f)))(p(b(j))) } return B.invert = function (j) { return b(v((D || (D = E(a, i.map(p), Gw)))(j))) }, B.domain = function (j) { return arguments.length ? (i = Array.from(j, b8e), P()) : i.slice() }, B.range = function (j) { return arguments.length ? (a = Array.from(j), P()) : a.slice() }, B.rangeRound = function (j) { return a = Array.from(j), f = Nxe, P() }, B.clamp = function (j) { return arguments.length ? (b = j ? !0 : wA, P()) : b !== wA }, B.interpolate = function (j) { return arguments.length ? (f = j, P()) : f }, B.unknown = function (j) { return arguments.length ? (m = j, B) : m }, function (j, R) { return p = j, v = R, P() } } function EMt() { return y8e()(wA, wA) } function x8e(i, a, f, p) { var v = Nft(i, a, f), m; switch (p = CU(p ?? ",f"), p.type) { case "s": { var b = Math.max(Math.abs(i), Math.abs(a)); return p.precision == null && !isNaN(m = d8e(v, b)) && (p.precision = m), wMt(p, b) } case "": case "e": case "g": case "p": case "r": { p.precision == null && !isNaN(m = g8e(v, Math.max(Math.abs(i), Math.abs(a)))) && (p.precision = m - (p.type === "e")); break } case "f": case "%": { p.precision == null && !isNaN(m = f8e(v)) && (p.precision = m - (p.type === "%") * 2); break } }return vMt(p) } function k8e(i) { var a = i.domain; return i.ticks = function (f) { var p = a(); return v5e(p[0], p[p.length - 1], f ?? 10) }, i.tickFormat = function (f, p) { var v = a(); return x8e(v[0], v[v.length - 1], f ?? 10, p) }, i.nice = function (f) { f == null && (f = 10); var p = a(), v = 0, m = p.length - 1, b = p[v], E = p[m], C, D, P = 10; for (E < b && (D = b, b = E, E = D, D = v, v = m, m = D); P-- > 0;) { if (D = gLt(b, E, f), D === C) return p[v] = b, p[m] = E, a(p); if (D > 0) b = Math.floor(b / D) * D, E = Math.ceil(E / D) * D; else if (D < 0) b = Math.ceil(b * D) / D, E = Math.floor(E * D) / D; else break; C = D } return i }, i } function AU() { var i = EMt(); return i.copy = function () { return kMt(i, AU()) }, l1t.apply(i, arguments), k8e(i) } function E8e(i, a) { i = i.slice(); var f = 0, p = i.length - 1, v = i[f], m = i[p], b; return m < v && (b = f, f = p, p = b, b = v, v = m, m = b), i[f] = a.floor(v), i[p] = a.ceil(m), i } var f1t = new Date, d1t = new Date; function ng(i, a, f, p) { function v(m) { return i(m = arguments.length === 0 ? new Date : new Date(+m)), m } return v.floor = function (m) { return i(m = new Date(+m)), m }, v.ceil = function (m) { return i(m = new Date(m - 1)), a(m, 1), i(m), m }, v.round = function (m) { var b = v(m), E = v.ceil(m); return m - b < E - m ? b : E }, v.offset = function (m, b) { return a(m = new Date(+m), b == null ? 1 : Math.floor(b)), m }, v.range = function (m, b, E) { var C = [], D; if (m = v.ceil(m), E = E == null ? 1 : Math.floor(E), !(m < b) || !(E > 0)) return C; do C.push(D = new Date(+m)), a(m, E), i(m); while (D < m && m < b); return C }, v.filter = function (m) { return ng(function (b) { if (b >= b) for (; i(b), !m(b);)b.setTime(b - 1) }, function (b, E) { if (b >= b) if (E < 0) for (; ++E <= 0;)for (; a(b, -1), !m(b);); else for (; --E >= 0;)for (; a(b, 1), !m(b);); }) }, f && (v.count = function (m, b) { return f1t.setTime(+m), d1t.setTime(+b), i(f1t), i(d1t), Math.floor(f(f1t, d1t)) }, v.every = function (m) { return m = Math.floor(m), !isFinite(m) || !(m > 0) ? null : m > 1 ? v.filter(p ? function (b) { return p(b) % m === 0 } : function (b) { return v.count(0, b) % m === 0 }) : v }), v } var LU = ng(function () { }, function (i, a) { i.setTime(+i + a) }, function (i, a) { return a - i }); LU.every = function (i) { return i = Math.floor(i), !isFinite(i) || !(i > 0) ? null : i > 1 ? ng(function (a) { a.setTime(Math.floor(a / i) * i) }, function (a, f) { a.setTime(+a + f * i) }, function (a, f) { return (f - a) / i }) : LU }; const T8e = LU; LU.range; const v5 = 1e3, a3 = v5 * 60, H9 = a3 * 60, V9 = H9 * 24, g1t = V9 * 7, TMt = V9 * 30, p1t = V9 * 365; var _Mt = ng(function (i) { i.setTime(i - i.getMilliseconds()) }, function (i, a) { i.setTime(+i + a * v5) }, function (i, a) { return (a - i) / v5 }, function (i) { return i.getUTCSeconds() }); const AN = _Mt; _Mt.range; var CMt = ng(function (i) { i.setTime(i - i.getMilliseconds() - i.getSeconds() * v5) }, function (i, a) { i.setTime(+i + a * a3) }, function (i, a) { return (a - i) / a3 }, function (i) { return i.getMinutes() }); const MU = CMt; CMt.range; var SMt = ng(function (i) { i.setTime(i - i.getMilliseconds() - i.getSeconds() * v5 - i.getMinutes() * a3) }, function (i, a) { i.setTime(+i + a * H9) }, function (i, a) { return (a - i) / H9 }, function (i) { return i.getHours() }); const DU = SMt; SMt.range; var AMt = ng(i => i.setHours(0, 0, 0, 0), (i, a) => i.setDate(i.getDate() + a), (i, a) => (a - i - (a.getTimezoneOffset() - i.getTimezoneOffset()) * a3) / V9, i => i.getDate() - 1); const mA = AMt; AMt.range; function G9(i) { return ng(function (a) { a.setDate(a.getDate() - (a.getDay() + 7 - i) % 7), a.setHours(0, 0, 0, 0) }, function (a, f) { a.setDate(a.getDate() + f * 7) }, function (a, f) { return (f - a - (f.getTimezoneOffset() - a.getTimezoneOffset()) * a3) / g1t }) } var yA = G9(0), IU = G9(1), _8e = G9(2), C8e = G9(3), xA = G9(4), S8e = G9(5), A8e = G9(6); yA.range, IU.range, _8e.range, C8e.range, xA.range, S8e.range, A8e.range; var LMt = ng(function (i) { i.setDate(1), i.setHours(0, 0, 0, 0) }, function (i, a) { i.setMonth(i.getMonth() + a) }, function (i, a) { return a.getMonth() - i.getMonth() + (a.getFullYear() - i.getFullYear()) * 12 }, function (i) { return i.getMonth() }); const OU = LMt; LMt.range; var b1t = ng(function (i) { i.setMonth(0, 1), i.setHours(0, 0, 0, 0) }, function (i, a) { i.setFullYear(i.getFullYear() + a) }, function (i, a) { return a.getFullYear() - i.getFullYear() }, function (i) { return i.getFullYear() }); b1t.every = function (i) { return !isFinite(i = Math.floor(i)) || !(i > 0) ? null : ng(function (a) { a.setFullYear(Math.floor(a.getFullYear() / i) * i), a.setMonth(0, 1), a.setHours(0, 0, 0, 0) }, function (a, f) { a.setFullYear(a.getFullYear() + f * i) }) }; const U9 = b1t; b1t.range; var MMt = ng(function (i) { i.setUTCHours(0, 0, 0, 0) }, function (i, a) { i.setUTCDate(i.getUTCDate() + a) }, function (i, a) { return (a - i) / V9 }, function (i) { return i.getUTCDate() - 1 }); const DMt = MMt; MMt.range; function W9(i) { return ng(function (a) { a.setUTCDate(a.getUTCDate() - (a.getUTCDay() + 7 - i) % 7), a.setUTCHours(0, 0, 0, 0) }, function (a, f) { a.setUTCDate(a.getUTCDate() + f * 7) }, function (a, f) { return (f - a) / g1t }) } var IMt = W9(0), NU = W9(1), L8e = W9(2), M8e = W9(3), kA = W9(4), D8e = W9(5), I8e = W9(6); IMt.range, NU.range, L8e.range, M8e.range, kA.range, D8e.range, I8e.range; var v1t = ng(function (i) { i.setUTCMonth(0, 1), i.setUTCHours(0, 0, 0, 0) }, function (i, a) { i.setUTCFullYear(i.getUTCFullYear() + a) }, function (i, a) { return a.getUTCFullYear() - i.getUTCFullYear() }, function (i) { return i.getUTCFullYear() }); v1t.every = function (i) { return !isFinite(i = Math.floor(i)) || !(i > 0) ? null : ng(function (a) { a.setUTCFullYear(Math.floor(a.getUTCFullYear() / i) * i), a.setUTCMonth(0, 1), a.setUTCHours(0, 0, 0, 0) }, function (a, f) { a.setUTCFullYear(a.getUTCFullYear() + f * i) }) }; const LN = v1t; v1t.range; function O8e(i, a, f, p, v, m) { const b = [[AN, 1, v5], [AN, 5, 5 * v5], [AN, 15, 15 * v5], [AN, 30, 30 * v5], [m, 1, a3], [m, 5, 5 * a3], [m, 15, 15 * a3], [m, 30, 30 * a3], [v, 1, H9], [v, 3, 3 * H9], [v, 6, 6 * H9], [v, 12, 12 * H9], [p, 1, V9], [p, 2, 2 * V9], [f, 1, g1t], [a, 1, TMt], [a, 3, 3 * TMt], [i, 1, p1t]]; function E(D, P, B) { const j = P < D; j && ([D, P] = [P, D]); const R = B && typeof B.range == "function" ? B : C(D, P, B), H = R ? R.range(D, +P + 1) : []; return j ? H.reverse() : H } function C(D, P, B) { const j = Math.abs(P - D) / B, R = Mft(([, , it]) => it).right(b, j); if (R === b.length) return i.every(Nft(D / p1t, P / p1t, B)); if (R === 0) return T8e.every(Math.max(Nft(D, P, B), 1)); const [H, Y] = b[j / b[R - 1][2] < b[R][2] / j ? R - 1 : R]; return H.every(Y) } return [E, C] } const [N8e, P8e] = O8e(U9, OU, yA, mA, DU, MU); function w1t(i) { if (0 <= i.y && i.y < 100) { var a = new Date(-1, i.m, i.d, i.H, i.M, i.S, i.L); return a.setFullYear(i.y), a } return new Date(i.y, i.m, i.d, i.H, i.M, i.S, i.L) } function m1t(i) { if (0 <= i.y && i.y < 100) { var a = new Date(Date.UTC(-1, i.m, i.d, i.H, i.M, i.S, i.L)); return a.setUTCFullYear(i.y), a } return new Date(Date.UTC(i.y, i.m, i.d, i.H, i.M, i.S, i.L)) } function MN(i, a, f) { return { y: i, m: a, d: f, H: 0, M: 0, S: 0, L: 0 } } function F8e(i) { var a = i.dateTime, f = i.date, p = i.time, v = i.periods, m = i.days, b = i.shortDays, E = i.months, C = i.shortMonths, D = DN(v), P = IN(v), B = DN(m), j = IN(m), R = DN(b), H = IN(b), Y = DN(E), it = IN(E), nt = DN(C), st = IN(C), pt = { a: de, A: J, b: ae, B: Wt, c: null, d: RMt, e: RMt, f: s7e, g: p7e, G: v7e, H: n7e, I: r7e, j: i7e, L: jMt, m: a7e, M: o7e, p: It, q: Nt, Q: GMt, s: UMt, S: c7e, u: u7e, U: l7e, V: h7e, w: f7e, W: d7e, x: null, X: null, y: g7e, Y: b7e, Z: w7e, "%": VMt }, Tt = { a: me, A: Ue, b: _n, B: _e, c: null, d: zMt, e: zMt, f: k7e, g: I7e, G: N7e, H: m7e, I: y7e, j: x7e, L: qMt, m: E7e, M: T7e, p: rr, q: Te, Q: GMt, s: UMt, S: _7e, u: C7e, U: S7e, V: A7e, w: L7e, W: M7e, x: null, X: null, y: D7e, Y: O7e, Z: P7e, "%": VMt }, kt = { a: wt, A: gt, b: lt, B: _t, c: X, d: FMt, e: FMt, f: Z8e, g: PMt, G: NMt, H: BMt, I: BMt, j: K8e, L: Q8e, m: W8e, M: Y8e, p: rt, q: U8e, Q: t7e, s: e7e, S: X8e, u: z8e, U: q8e, V: H8e, w: $8e, W: V8e, x: Rt, X: ft, y: PMt, Y: NMt, Z: G8e, "%": J8e }; pt.x = yt(f, pt), pt.X = yt(p, pt), pt.c = yt(a, pt), Tt.x = yt(f, Tt), Tt.X = yt(p, Tt), Tt.c = yt(a, Tt); function yt(ne, Ee) { return function (ye) { var Vt = [], Ae = -1, Gt = 0, un = ne.length, jt, Ke, oe; for (ye instanceof Date || (ye = new Date(+ye)); ++Ae < un;)ne.charCodeAt(Ae) === 37 && (Vt.push(ne.slice(Gt, Ae)), (Ke = OMt[jt = ne.charAt(++Ae)]) != null ? jt = ne.charAt(++Ae) : Ke = jt === "e" ? " " : "0", (oe = Ee[jt]) && (jt = oe(ye, Ke)), Vt.push(jt), Gt = Ae + 1); return Vt.push(ne.slice(Gt, Ae)), Vt.join("") } } function ht(ne, Ee) { return function (ye) { var Vt = MN(1900, void 0, 1), Ae = mt(Vt, ne, ye += "", 0), Gt, un; if (Ae != ye.length) return null; if ("Q" in Vt) return new Date(Vt.Q); if ("s" in Vt) return new Date(Vt.s * 1e3 + ("L" in Vt ? Vt.L : 0)); if (Ee && !("Z" in Vt) && (Vt.Z = 0), "p" in Vt && (Vt.H = Vt.H % 12 + Vt.p * 12), Vt.m === void 0 && (Vt.m = "q" in Vt ? Vt.q : 0), "V" in Vt) { if (Vt.V < 1 || Vt.V > 53) return null; "w" in Vt || (Vt.w = 1), "Z" in Vt ? (Gt = m1t(MN(Vt.y, 0, 1)), un = Gt.getUTCDay(), Gt = un > 4 || un === 0 ? NU.ceil(Gt) : NU(Gt), Gt = DMt.offset(Gt, (Vt.V - 1) * 7), Vt.y = Gt.getUTCFullYear(), Vt.m = Gt.getUTCMonth(), Vt.d = Gt.getUTCDate() + (Vt.w + 6) % 7) : (Gt = w1t(MN(Vt.y, 0, 1)), un = Gt.getDay(), Gt = un > 4 || un === 0 ? IU.ceil(Gt) : IU(Gt), Gt = mA.offset(Gt, (Vt.V - 1) * 7), Vt.y = Gt.getFullYear(), Vt.m = Gt.getMonth(), Vt.d = Gt.getDate() + (Vt.w + 6) % 7) } else ("W" in Vt || "U" in Vt) && ("w" in Vt || (Vt.w = "u" in Vt ? Vt.u % 7 : "W" in Vt ? 1 : 0), un = "Z" in Vt ? m1t(MN(Vt.y, 0, 1)).getUTCDay() : w1t(MN(Vt.y, 0, 1)).getDay(), Vt.m = 0, Vt.d = "W" in Vt ? (Vt.w + 6) % 7 + Vt.W * 7 - (un + 5) % 7 : Vt.w + Vt.U * 7 - (un + 6) % 7); return "Z" in Vt ? (Vt.H += Vt.Z / 100 | 0, Vt.M += Vt.Z % 100, m1t(Vt)) : w1t(Vt) } } function mt(ne, Ee, ye, Vt) { for (var Ae = 0, Gt = Ee.length, un = ye.length, jt, Ke; Ae < Gt;) { if (Vt >= un) return -1; if (jt = Ee.charCodeAt(Ae++), jt === 37) { if (jt = Ee.charAt(Ae++), Ke = kt[jt in OMt ? Ee.charAt(Ae++) : jt], !Ke || (Vt = Ke(ne, ye, Vt)) < 0) return -1 } else if (jt != ye.charCodeAt(Vt++)) return -1 } return Vt } function rt(ne, Ee, ye) { var Vt = D.exec(Ee.slice(ye)); return Vt ? (ne.p = P.get(Vt[0].toLowerCase()), ye + Vt[0].length) : -1 } function wt(ne, Ee, ye) { var Vt = R.exec(Ee.slice(ye)); return Vt ? (ne.w = H.get(Vt[0].toLowerCase()), ye + Vt[0].length) : -1 } function gt(ne, Ee, ye) { var Vt = B.exec(Ee.slice(ye)); return Vt ? (ne.w = j.get(Vt[0].toLowerCase()), ye + Vt[0].length) : -1 } function lt(ne, Ee, ye) { var Vt = nt.exec(Ee.slice(ye)); return Vt ? (ne.m = st.get(Vt[0].toLowerCase()), ye + Vt[0].length) : -1 } function _t(ne, Ee, ye) { var Vt = Y.exec(Ee.slice(ye)); return Vt ? (ne.m = it.get(Vt[0].toLowerCase()), ye + Vt[0].length) : -1 } function X(ne, Ee, ye) { return mt(ne, a, Ee, ye) } function Rt(ne, Ee, ye) { return mt(ne, f, Ee, ye) } function ft(ne, Ee, ye) { return mt(ne, p, Ee, ye) } function de(ne) { return b[ne.getDay()] } function J(ne) { return m[ne.getDay()] } function ae(ne) { return C[ne.getMonth()] } function Wt(ne) { return E[ne.getMonth()] } function It(ne) { return v[+(ne.getHours() >= 12)] } function Nt(ne) { return 1 + ~~(ne.getMonth() / 3) } function me(ne) { return b[ne.getUTCDay()] } function Ue(ne) { return m[ne.getUTCDay()] } function _n(ne) { return C[ne.getUTCMonth()] } function _e(ne) { return E[ne.getUTCMonth()] } function rr(ne) { return v[+(ne.getUTCHours() >= 12)] } function Te(ne) { return 1 + ~~(ne.getUTCMonth() / 3) } return { format: function (ne) { var Ee = yt(ne += "", pt); return Ee.toString = function () { return ne }, Ee }, parse: function (ne) { var Ee = ht(ne += "", !1); return Ee.toString = function () { return ne }, Ee }, utcFormat: function (ne) { var Ee = yt(ne += "", Tt); return Ee.toString = function () { return ne }, Ee }, utcParse: function (ne) { var Ee = ht(ne += "", !0); return Ee.toString = function () { return ne }, Ee } } } var OMt = { "-": "", _: " ", 0: "0" }, nd = /^\s*\d+/, B8e = /^%/, R8e = /[\\^$*+?|[\]().{}]/g; function Hc(i, a, f) { var p = i < 0 ? "-" : "", v = (p ? -i : i) + "", m = v.length; return p + (m < f ? new Array(f - m + 1).join(a) + v : v) } function j8e(i) { return i.replace(R8e, "\\$&") } function DN(i) { return new RegExp("^(?:" + i.map(j8e).join("|") + ")", "i") } function IN(i) { return new Map(i.map((a, f) => [a.toLowerCase(), f])) } function $8e(i, a, f) { var p = nd.exec(a.slice(f, f + 1)); return p ? (i.w = +p[0], f + p[0].length) : -1 } function z8e(i, a, f) { var p = nd.exec(a.slice(f, f + 1)); return p ? (i.u = +p[0], f + p[0].length) : -1 } function q8e(i, a, f) { var p = nd.exec(a.slice(f, f + 2)); return p ? (i.U = +p[0], f + p[0].length) : -1 } function H8e(i, a, f) { var p = nd.exec(a.slice(f, f + 2)); return p ? (i.V = +p[0], f + p[0].length) : -1 } function V8e(i, a, f) { var p = nd.exec(a.slice(f, f + 2)); return p ? (i.W = +p[0], f + p[0].length) : -1 } function NMt(i, a, f) { var p = nd.exec(a.slice(f, f + 4)); return p ? (i.y = +p[0], f + p[0].length) : -1 } function PMt(i, a, f) { var p = nd.exec(a.slice(f, f + 2)); return p ? (i.y = +p[0] + (+p[0] > 68 ? 1900 : 2e3), f + p[0].length) : -1 } function G8e(i, a, f) { var p = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(a.slice(f, f + 6)); return p ? (i.Z = p[1] ? 0 : -(p[2] + (p[3] || "00")), f + p[0].length) : -1 } function U8e(i, a, f) { var p = nd.exec(a.slice(f, f + 1)); return p ? (i.q = p[0] * 3 - 3, f + p[0].length) : -1 } function W8e(i, a, f) { var p = nd.exec(a.slice(f, f + 2)); return p ? (i.m = p[0] - 1, f + p[0].length) : -1 } function FMt(i, a, f) { var p = nd.exec(a.slice(f, f + 2)); return p ? (i.d = +p[0], f + p[0].length) : -1 } function K8e(i, a, f) { var p = nd.exec(a.slice(f, f + 3)); return p ? (i.m = 0, i.d = +p[0], f + p[0].length) : -1 } function BMt(i, a, f) { var p = nd.exec(a.slice(f, f + 2)); return p ? (i.H = +p[0], f + p[0].length) : -1 } function Y8e(i, a, f) { var p = nd.exec(a.slice(f, f + 2)); return p ? (i.M = +p[0], f + p[0].length) : -1 } function X8e(i, a, f) { var p = nd.exec(a.slice(f, f + 2)); return p ? (i.S = +p[0], f + p[0].length) : -1 } function Q8e(i, a, f) { var p = nd.exec(a.slice(f, f + 3)); return p ? (i.L = +p[0], f + p[0].length) : -1 } function Z8e(i, a, f) { var p = nd.exec(a.slice(f, f + 6)); return p ? (i.L = Math.floor(p[0] / 1e3), f + p[0].length) : -1 } function J8e(i, a, f) { var p = B8e.exec(a.slice(f, f + 1)); return p ? f + p[0].length : -1 } function t7e(i, a, f) { var p = nd.exec(a.slice(f)); return p ? (i.Q = +p[0], f + p[0].length) : -1 } function e7e(i, a, f) { var p = nd.exec(a.slice(f)); return p ? (i.s = +p[0], f + p[0].length) : -1 } function RMt(i, a) { return Hc(i.getDate(), a, 2) } function n7e(i, a) { return Hc(i.getHours(), a, 2) } function r7e(i, a) { return Hc(i.getHours() % 12 || 12, a, 2) } function i7e(i, a) { return Hc(1 + mA.count(U9(i), i), a, 3) } function jMt(i, a) { return Hc(i.getMilliseconds(), a, 3) } function s7e(i, a) { return jMt(i, a) + "000" } function a7e(i, a) { return Hc(i.getMonth() + 1, a, 2) } function o7e(i, a) { return Hc(i.getMinutes(), a, 2) } function c7e(i, a) { return Hc(i.getSeconds(), a, 2) } function u7e(i) { var a = i.getDay(); return a === 0 ? 7 : a } function l7e(i, a) { return Hc(yA.count(U9(i) - 1, i), a, 2) } function $Mt(i) { var a = i.getDay(); return a >= 4 || a === 0 ? xA(i) : xA.ceil(i) } function h7e(i, a) { return i = $Mt(i), Hc(xA.count(U9(i), i) + (U9(i).getDay() === 4), a, 2) } function f7e(i) { return i.getDay() } function d7e(i, a) { return Hc(IU.count(U9(i) - 1, i), a, 2) } function g7e(i, a) { return Hc(i.getFullYear() % 100, a, 2) } function p7e(i, a) { return i = $Mt(i), Hc(i.getFullYear() % 100, a, 2) } function b7e(i, a) { return Hc(i.getFullYear() % 1e4, a, 4) } function v7e(i, a) { var f = i.getDay(); return i = f >= 4 || f === 0 ? xA(i) : xA.ceil(i), Hc(i.getFullYear() % 1e4, a, 4) } function w7e(i) { var a = i.getTimezoneOffset(); return (a > 0 ? "-" : (a *= -1, "+")) + Hc(a / 60 | 0, "0", 2) + Hc(a % 60, "0", 2) } function zMt(i, a) { return Hc(i.getUTCDate(), a, 2) } function m7e(i, a) { return Hc(i.getUTCHours(), a, 2) } function y7e(i, a) { return Hc(i.getUTCHours() % 12 || 12, a, 2) } function x7e(i, a) { return Hc(1 + DMt.count(LN(i), i), a, 3) } function qMt(i, a) { return Hc(i.getUTCMilliseconds(), a, 3) } function k7e(i, a) { return qMt(i, a) + "000" } function E7e(i, a) { return Hc(i.getUTCMonth() + 1, a, 2) } function T7e(i, a) { return Hc(i.getUTCMinutes(), a, 2) } function _7e(i, a) { return Hc(i.getUTCSeconds(), a, 2) } function C7e(i) { var a = i.getUTCDay(); return a === 0 ? 7 : a } function S7e(i, a) { return Hc(IMt.count(LN(i) - 1, i), a, 2) } function HMt(i) { var a = i.getUTCDay(); return a >= 4 || a === 0 ? kA(i) : kA.ceil(i) } function A7e(i, a) { return i = HMt(i), Hc(kA.count(LN(i), i) + (LN(i).getUTCDay() === 4), a, 2) } function L7e(i) { return i.getUTCDay() } function M7e(i, a) { return Hc(NU.count(LN(i) - 1, i), a, 2) } function D7e(i, a) { return Hc(i.getUTCFullYear() % 100, a, 2) } function I7e(i, a) { return i = HMt(i), Hc(i.getUTCFullYear() % 100, a, 2) } function O7e(i, a) { return Hc(i.getUTCFullYear() % 1e4, a, 4) } function N7e(i, a) { var f = i.getUTCDay(); return i = f >= 4 || f === 0 ? kA(i) : kA.ceil(i), Hc(i.getUTCFullYear() % 1e4, a, 4) } function P7e() { return "+0000" } function VMt() { return "%" } function GMt(i) { return +i } function UMt(i) { return Math.floor(+i / 1e3) } var EA, PU; F7e({ dateTime: "%x, %X", date: "%-m/%-d/%Y", time: "%-I:%M:%S %p", periods: ["AM", "PM"], days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] }); function F7e(i) { return EA = F8e(i), PU = EA.format, EA.parse, EA.utcFormat, EA.utcParse, EA } function B7e(i) { return new Date(i) } function R7e(i) { return i instanceof Date ? +i : +new Date(+i) } function WMt(i, a, f, p, v, m, b, E, C, D) { var P = EMt(), B = P.invert, j = P.domain, R = D(".%L"), H = D(":%S"), Y = D("%I:%M"), it = D("%I %p"), nt = D("%a %d"), st = D("%b %d"), pt = D("%B"), Tt = D("%Y"); function kt(yt) { return (C(yt) < yt ? R : E(yt) < yt ? H : b(yt) < yt ? Y : m(yt) < yt ? it : p(yt) < yt ? v(yt) < yt ? nt : st : f(yt) < yt ? pt : Tt)(yt) } return P.invert = function (yt) { return new Date(B(yt)) }, P.domain = function (yt) { return arguments.length ? j(Array.from(yt, R7e)) : j().map(B7e) }, P.ticks = function (yt) { var ht = j(); return i(ht[0], ht[ht.length - 1], yt ?? 10) }, P.tickFormat = function (yt, ht) { return ht == null ? kt : D(ht) }, P.nice = function (yt) { var ht = j(); return (!yt || typeof yt.range != "function") && (yt = a(ht[0], ht[ht.length - 1], yt ?? 10)), yt ? j(E8e(ht, yt)) : P }, P.copy = function () { return kMt(P, WMt(i, a, f, p, v, m, b, E, C, D)) }, P } function j7e() { return l1t.apply(WMt(N8e, P8e, U9, OU, yA, mA, DU, MU, AN, PU).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]), arguments) } function rf(i) { return function () { return i } } const KMt = Math.abs, w0 = Math.atan2, K9 = Math.cos, $7e = Math.max, y1t = Math.min, o3 = Math.sin, TA = Math.sqrt, m0 = 1e-12, ON = Math.PI, FU = ON / 2, BU = 2 * ON; function z7e(i) { return i > 1 ? 0 : i < -1 ? ON : Math.acos(i) } function YMt(i) { return i >= 1 ? FU : i <= -1 ? -FU : Math.asin(i) } function q7e(i) { return i.innerRadius } function H7e(i) { return i.outerRadius } function V7e(i) { return i.startAngle } function G7e(i) { return i.endAngle } function U7e(i) { return i && i.padAngle } function W7e(i, a, f, p, v, m, b, E) { var C = f - i, D = p - a, P = b - v, B = E - m, j = B * C - P * D; if (!(j * j < m0)) return j = (P * (a - m) - B * (i - v)) / j, [i + j * C, a + j * D] } function RU(i, a, f, p, v, m, b) { var E = i - f, C = a - p, D = (b ? m : -m) / TA(E * E + C * C), P = D * C, B = -D * E, j = i + P, R = a + B, H = f + P, Y = p + B, it = (j + H) / 2, nt = (R + Y) / 2, st = H - j, pt = Y - R, Tt = st * st + pt * pt, kt = v - m, yt = j * Y - H * R, ht = (pt < 0 ? -1 : 1) * TA($7e(0, kt * kt * Tt - yt * yt)), mt = (yt * pt - st * ht) / Tt, rt = (-yt * st - pt * ht) / Tt, wt = (yt * pt + st * ht) / Tt, gt = (-yt * st + pt * ht) / Tt, lt = mt - it, _t = rt - nt, X = wt - it, Rt = gt - nt; return lt * lt + _t * _t > X * X + Rt * Rt && (mt = wt, rt = gt), { cx: mt, cy: rt, x01: -P, y01: -B, x11: mt * (v / kt - 1), y11: rt * (v / kt - 1) } } function _A() { var i = q7e, a = H7e, f = rf(0), p = null, v = V7e, m = G7e, b = U7e, E = null; function C() { var D, P, B = +i.apply(this, arguments), j = +a.apply(this, arguments), R = v.apply(this, arguments) - FU, H = m.apply(this, arguments) - FU, Y = KMt(H - R), it = H > R; if (E || (E = D = c1t()), j < B && (P = j, j = B, B = P), !(j > m0)) E.moveTo(0, 0); else if (Y > BU - m0) E.moveTo(j * K9(R), j * o3(R)), E.arc(0, 0, j, R, H, !it), B > m0 && (E.moveTo(B * K9(H), B * o3(H)), E.arc(0, 0, B, H, R, it)); else { var nt = R, st = H, pt = R, Tt = H, kt = Y, yt = Y, ht = b.apply(this, arguments) / 2, mt = ht > m0 && (p ? +p.apply(this, arguments) : TA(B * B + j * j)), rt = y1t(KMt(j - B) / 2, +f.apply(this, arguments)), wt = rt, gt = rt, lt, _t; if (mt > m0) { var X = YMt(mt / B * o3(ht)), Rt = YMt(mt / j * o3(ht)); (kt -= X * 2) > m0 ? (X *= it ? 1 : -1, pt += X, Tt -= X) : (kt = 0, pt = Tt = (R + H) / 2), (yt -= Rt * 2) > m0 ? (Rt *= it ? 1 : -1, nt += Rt, st -= Rt) : (yt = 0, nt = st = (R + H) / 2) } var ft = j * K9(nt), de = j * o3(nt), J = B * K9(Tt), ae = B * o3(Tt); if (rt > m0) { var Wt = j * K9(st), It = j * o3(st), Nt = B * K9(pt), me = B * o3(pt), Ue; if (Y < ON && (Ue = W7e(ft, de, Nt, me, Wt, It, J, ae))) { var _n = ft - Ue[0], _e = de - Ue[1], rr = Wt - Ue[0], Te = It - Ue[1], ne = 1 / o3(z7e((_n * rr + _e * Te) / (TA(_n * _n + _e * _e) * TA(rr * rr + Te * Te))) / 2), Ee = TA(Ue[0] * Ue[0] + Ue[1] * Ue[1]); wt = y1t(rt, (B - Ee) / (ne - 1)), gt = y1t(rt, (j - Ee) / (ne + 1)) } } yt > m0 ? gt > m0 ? (lt = RU(Nt, me, ft, de, j, gt, it), _t = RU(Wt, It, J, ae, j, gt, it), E.moveTo(lt.cx + lt.x01, lt.cy + lt.y01), gt < rt ? E.arc(lt.cx, lt.cy, gt, w0(lt.y01, lt.x01), w0(_t.y01, _t.x01), !it) : (E.arc(lt.cx, lt.cy, gt, w0(lt.y01, lt.x01), w0(lt.y11, lt.x11), !it), E.arc(0, 0, j, w0(lt.cy + lt.y11, lt.cx + lt.x11), w0(_t.cy + _t.y11, _t.cx + _t.x11), !it), E.arc(_t.cx, _t.cy, gt, w0(_t.y11, _t.x11), w0(_t.y01, _t.x01), !it))) : (E.moveTo(ft, de), E.arc(0, 0, j, nt, st, !it)) : E.moveTo(ft, de), !(B > m0) || !(kt > m0) ? E.lineTo(J, ae) : wt > m0 ? (lt = RU(J, ae, Wt, It, B, -wt, it), _t = RU(ft, de, Nt, me, B, -wt, it), E.lineTo(lt.cx + lt.x01, lt.cy + lt.y01), wt < rt ? E.arc(lt.cx, lt.cy, wt, w0(lt.y01, lt.x01), w0(_t.y01, _t.x01), !it) : (E.arc(lt.cx, lt.cy, wt, w0(lt.y01, lt.x01), w0(lt.y11, lt.x11), !it), E.arc(0, 0, B, w0(lt.cy + lt.y11, lt.cx + lt.x11), w0(_t.cy + _t.y11, _t.cx + _t.x11), it), E.arc(_t.cx, _t.cy, wt, w0(_t.y11, _t.x11), w0(_t.y01, _t.x01), !it))) : E.arc(0, 0, B, Tt, pt, it) } if (E.closePath(), D) return E = null, D + "" || null } return C.centroid = function () { var D = (+i.apply(this, arguments) + +a.apply(this, arguments)) / 2, P = (+v.apply(this, arguments) + +m.apply(this, arguments)) / 2 - ON / 2; return [K9(P) * D, o3(P) * D] }, C.innerRadius = function (D) { return arguments.length ? (i = typeof D == "function" ? D : rf(+D), C) : i }, C.outerRadius = function (D) { return arguments.length ? (a = typeof D == "function" ? D : rf(+D), C) : a }, C.cornerRadius = function (D) { return arguments.length ? (f = typeof D == "function" ? D : rf(+D), C) : f }, C.padRadius = function (D) { return arguments.length ? (p = D == null ? null : typeof D == "function" ? D : rf(+D), C) : p }, C.startAngle = function (D) { return arguments.length ? (v = typeof D == "function" ? D : rf(+D), C) : v }, C.endAngle = function (D) { return arguments.length ? (m = typeof D == "function" ? D : rf(+D), C) : m }, C.padAngle = function (D) { return arguments.length ? (b = typeof D == "function" ? D : rf(+D), C) : b }, C.context = function (D) { return arguments.length ? (E = D ?? null, C) : E }, C } function XMt(i) { return typeof i == "object" && "length" in i ? i : Array.from(i) } function QMt(i) { this._context = i } QMt.prototype = { areaStart: function () { this._line = 0 }, areaEnd: function () { this._line = NaN }, lineStart: function () { this._point = 0 }, lineEnd: function () { (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line }, point: function (i, a) { switch (i = +i, a = +a, this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(i, a) : this._context.moveTo(i, a); break; case 1: this._point = 2; default: this._context.lineTo(i, a); break } } }; function rg(i) { return new QMt(i) } function K7e(i) { return i[0] } function Y7e(i) { return i[1] } function Y9(i, a) { var f = rf(!0), p = null, v = rg, m = null; i = typeof i == "function" ? i : i === void 0 ? K7e : rf(i), a = typeof a == "function" ? a : a === void 0 ? Y7e : rf(a); function b(E) { var C, D = (E = XMt(E)).length, P, B = !1, j; for (p == null && (m = v(j = c1t())), C = 0; C <= D; ++C)!(C < D && f(P = E[C], C, E)) === B && ((B = !B) ? m.lineStart() : m.lineEnd()), B && m.point(+i(P, C, E), +a(P, C, E)); if (j) return m = null, j + "" || null } return b.x = function (E) { return arguments.length ? (i = typeof E == "function" ? E : rf(+E), b) : i }, b.y = function (E) { return arguments.length ? (a = typeof E == "function" ? E : rf(+E), b) : a }, b.defined = function (E) { return arguments.length ? (f = typeof E == "function" ? E : rf(!!E), b) : f }, b.curve = function (E) { return arguments.length ? (v = E, p != null && (m = v(p)), b) : v }, b.context = function (E) { return arguments.length ? (E == null ? p = m = null : m = v(p = E), b) : p }, b } function X7e(i, a) { return a < i ? -1 : a > i ? 1 : a >= i ? 0 : NaN } function Q7e(i) { return i } function Z7e() { var i = Q7e, a = X7e, f = null, p = rf(0), v = rf(BU), m = rf(0); function b(E) { var C, D = (E = XMt(E)).length, P, B, j = 0, R = new Array(D), H = new Array(D), Y = +p.apply(this, arguments), it = Math.min(BU, Math.max(-BU, v.apply(this, arguments) - Y)), nt, st = Math.min(Math.abs(it) / D, m.apply(this, arguments)), pt = st * (it < 0 ? -1 : 1), Tt; for (C = 0; C < D; ++C)(Tt = H[R[C] = C] = +i(E[C], C, E)) > 0 && (j += Tt); for (a != null ? R.sort(function (kt, yt) { return a(H[kt], H[yt]) }) : f != null && R.sort(function (kt, yt) { return f(E[kt], E[yt]) }), C = 0, B = j ? (it - D * pt) / j : 0; C < D; ++C, Y = nt)P = R[C], Tt = H[P], nt = Y + (Tt > 0 ? Tt * B : 0) + pt, H[P] = { data: E[P], index: C, value: Tt, startAngle: Y, endAngle: nt, padAngle: st }; return H } return b.value = function (E) { return arguments.length ? (i = typeof E == "function" ? E : rf(+E), b) : i }, b.sortValues = function (E) { return arguments.length ? (a = E, f = null, b) : a }, b.sort = function (E) { return arguments.length ? (f = E, a = null, b) : f }, b.startAngle = function (E) { return arguments.length ? (p = typeof E == "function" ? E : rf(+E), b) : p }, b.endAngle = function (E) { return arguments.length ? (v = typeof E == "function" ? E : rf(+E), b) : v }, b.padAngle = function (E) { return arguments.length ? (m = typeof E == "function" ? E : rf(+E), b) : m }, b } class ZMt { constructor(a, f) { this._context = a, this._x = f } areaStart() { this._line = 0 } areaEnd() { this._line = NaN } lineStart() { this._point = 0 } lineEnd() { (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line } point(a, f) { switch (a = +a, f = +f, this._point) { case 0: { this._point = 1, this._line ? this._context.lineTo(a, f) : this._context.moveTo(a, f); break } case 1: this._point = 2; default: { this._x ? this._context.bezierCurveTo(this._x0 = (this._x0 + a) / 2, this._y0, this._x0, f, a, f) : this._context.bezierCurveTo(this._x0, this._y0 = (this._y0 + f) / 2, a, this._y0, a, f); break } }this._x0 = a, this._y0 = f } } function J7e(i) { return new ZMt(i, !0) } function t9e(i) { return new ZMt(i, !1) } function Qx() { } function jU(i, a, f) { i._context.bezierCurveTo((2 * i._x0 + i._x1) / 3, (2 * i._y0 + i._y1) / 3, (i._x0 + 2 * i._x1) / 3, (i._y0 + 2 * i._y1) / 3, (i._x0 + 4 * i._x1 + a) / 6, (i._y0 + 4 * i._y1 + f) / 6) } function $U(i) { this._context = i } $U.prototype = { areaStart: function () { this._line = 0 }, areaEnd: function () { this._line = NaN }, lineStart: function () { this._x0 = this._x1 = this._y0 = this._y1 = NaN, this._point = 0 }, lineEnd: function () { switch (this._point) { case 3: jU(this, this._x1, this._y1); case 2: this._context.lineTo(this._x1, this._y1); break }(this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line }, point: function (i, a) { switch (i = +i, a = +a, this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(i, a) : this._context.moveTo(i, a); break; case 1: this._point = 2; break; case 2: this._point = 3, this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); default: jU(this, i, a); break }this._x0 = this._x1, this._x1 = i, this._y0 = this._y1, this._y1 = a } }; function CA(i) { return new $U(i) } function JMt(i) { this._context = i } JMt.prototype = { areaStart: Qx, areaEnd: Qx, lineStart: function () { this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN, this._point = 0 }, lineEnd: function () { switch (this._point) { case 1: { this._context.moveTo(this._x2, this._y2), this._context.closePath(); break } case 2: { this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3), this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3), this._context.closePath(); break } case 3: { this.point(this._x2, this._y2), this.point(this._x3, this._y3), this.point(this._x4, this._y4); break } } }, point: function (i, a) { switch (i = +i, a = +a, this._point) { case 0: this._point = 1, this._x2 = i, this._y2 = a; break; case 1: this._point = 2, this._x3 = i, this._y3 = a; break; case 2: this._point = 3, this._x4 = i, this._y4 = a, this._context.moveTo((this._x0 + 4 * this._x1 + i) / 6, (this._y0 + 4 * this._y1 + a) / 6); break; default: jU(this, i, a); break }this._x0 = this._x1, this._x1 = i, this._y0 = this._y1, this._y1 = a } }; function e9e(i) { return new JMt(i) } function tDt(i) { this._context = i } tDt.prototype = { areaStart: function () { this._line = 0 }, areaEnd: function () { this._line = NaN }, lineStart: function () { this._x0 = this._x1 = this._y0 = this._y1 = NaN, this._point = 0 }, lineEnd: function () { (this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line }, point: function (i, a) { switch (i = +i, a = +a, this._point) { case 0: this._point = 1; break; case 1: this._point = 2; break; case 2: this._point = 3; var f = (this._x0 + 4 * this._x1 + i) / 6, p = (this._y0 + 4 * this._y1 + a) / 6; this._line ? this._context.lineTo(f, p) : this._context.moveTo(f, p); break; case 3: this._point = 4; default: jU(this, i, a); break }this._x0 = this._x1, this._x1 = i, this._y0 = this._y1, this._y1 = a } }; function n9e(i) { return new tDt(i) } function eDt(i, a) { this._basis = new $U(i), this._beta = a } eDt.prototype = { lineStart: function () { this._x = [], this._y = [], this._basis.lineStart() }, lineEnd: function () { var i = this._x, a = this._y, f = i.length - 1; if (f > 0) for (var p = i[0], v = a[0], m = i[f] - p, b = a[f] - v, E = -1, C; ++E <= f;)C = E / f, this._basis.point(this._beta * i[E] + (1 - this._beta) * (p + C * m), this._beta * a[E] + (1 - this._beta) * (v + C * b)); this._x = this._y = null, this._basis.lineEnd() }, point: function (i, a) { this._x.push(+i), this._y.push(+a) } }; const r9e = function i(a) { function f(p) { return a === 1 ? new $U(p) : new eDt(p, a) } return f.beta = function (p) { return i(+p) }, f }(.85); function zU(i, a, f) { i._context.bezierCurveTo(i._x1 + i._k * (i._x2 - i._x0), i._y1 + i._k * (i._y2 - i._y0), i._x2 + i._k * (i._x1 - a), i._y2 + i._k * (i._y1 - f), i._x2, i._y2) } function x1t(i, a) { this._context = i, this._k = (1 - a) / 6 } x1t.prototype = { areaStart: function () { this._line = 0 }, areaEnd: function () { this._line = NaN }, lineStart: function () { this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._point = 0 }, lineEnd: function () { switch (this._point) { case 2: this._context.lineTo(this._x2, this._y2); break; case 3: zU(this, this._x1, this._y1); break }(this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line }, point: function (i, a) { switch (i = +i, a = +a, this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(i, a) : this._context.moveTo(i, a); break; case 1: this._point = 2, this._x1 = i, this._y1 = a; break; case 2: this._point = 3; default: zU(this, i, a); break }this._x0 = this._x1, this._x1 = this._x2, this._x2 = i, this._y0 = this._y1, this._y1 = this._y2, this._y2 = a } }; const i9e = function i(a) { function f(p) { return new x1t(p, a) } return f.tension = function (p) { return i(+p) }, f }(0); function k1t(i, a) { this._context = i, this._k = (1 - a) / 6 } k1t.prototype = { areaStart: Qx, areaEnd: Qx, lineStart: function () { this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN, this._point = 0 }, lineEnd: function () { switch (this._point) { case 1: { this._context.moveTo(this._x3, this._y3), this._context.closePath(); break } case 2: { this._context.lineTo(this._x3, this._y3), this._context.closePath(); break } case 3: { this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5); break } } }, point: function (i, a) { switch (i = +i, a = +a, this._point) { case 0: this._point = 1, this._x3 = i, this._y3 = a; break; case 1: this._point = 2, this._context.moveTo(this._x4 = i, this._y4 = a); break; case 2: this._point = 3, this._x5 = i, this._y5 = a; break; default: zU(this, i, a); break }this._x0 = this._x1, this._x1 = this._x2, this._x2 = i, this._y0 = this._y1, this._y1 = this._y2, this._y2 = a } }; const s9e = function i(a) { function f(p) { return new k1t(p, a) } return f.tension = function (p) { return i(+p) }, f }(0); function E1t(i, a) { this._context = i, this._k = (1 - a) / 6 } E1t.prototype = { areaStart: function () { this._line = 0 }, areaEnd: function () { this._line = NaN }, lineStart: function () { this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._point = 0 }, lineEnd: function () { (this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line }, point: function (i, a) { switch (i = +i, a = +a, this._point) { case 0: this._point = 1; break; case 1: this._point = 2; break; case 2: this._point = 3, this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break; case 3: this._point = 4; default: zU(this, i, a); break }this._x0 = this._x1, this._x1 = this._x2, this._x2 = i, this._y0 = this._y1, this._y1 = this._y2, this._y2 = a } }; const a9e = function i(a) { function f(p) { return new E1t(p, a) } return f.tension = function (p) { return i(+p) }, f }(0); function T1t(i, a, f) { var p = i._x1, v = i._y1, m = i._x2, b = i._y2; if (i._l01_a > m0) { var E = 2 * i._l01_2a + 3 * i._l01_a * i._l12_a + i._l12_2a, C = 3 * i._l01_a * (i._l01_a + i._l12_a); p = (p * E - i._x0 * i._l12_2a + i._x2 * i._l01_2a) / C, v = (v * E - i._y0 * i._l12_2a + i._y2 * i._l01_2a) / C } if (i._l23_a > m0) { var D = 2 * i._l23_2a + 3 * i._l23_a * i._l12_a + i._l12_2a, P = 3 * i._l23_a * (i._l23_a + i._l12_a); m = (m * D + i._x1 * i._l23_2a - a * i._l12_2a) / P, b = (b * D + i._y1 * i._l23_2a - f * i._l12_2a) / P } i._context.bezierCurveTo(p, v, m, b, i._x2, i._y2) } function nDt(i, a) { this._context = i, this._alpha = a } nDt.prototype = { areaStart: function () { this._line = 0 }, areaEnd: function () { this._line = NaN }, lineStart: function () { this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0 }, lineEnd: function () { switch (this._point) { case 2: this._context.lineTo(this._x2, this._y2); break; case 3: this.point(this._x2, this._y2); break }(this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line }, point: function (i, a) { if (i = +i, a = +a, this._point) { var f = this._x2 - i, p = this._y2 - a; this._l23_a = Math.sqrt(this._l23_2a = Math.pow(f * f + p * p, this._alpha)) } switch (this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(i, a) : this._context.moveTo(i, a); break; case 1: this._point = 2; break; case 2: this._point = 3; default: T1t(this, i, a); break }this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = i, this._y0 = this._y1, this._y1 = this._y2, this._y2 = a } }; const o9e = function i(a) { function f(p) { return a ? new nDt(p, a) : new x1t(p, 0) } return f.alpha = function (p) { return i(+p) }, f }(.5); function rDt(i, a) { this._context = i, this._alpha = a } rDt.prototype = { areaStart: Qx, areaEnd: Qx, lineStart: function () { this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0 }, lineEnd: function () { switch (this._point) { case 1: { this._context.moveTo(this._x3, this._y3), this._context.closePath(); break } case 2: { this._context.lineTo(this._x3, this._y3), this._context.closePath(); break } case 3: { this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5); break } } }, point: function (i, a) { if (i = +i, a = +a, this._point) { var f = this._x2 - i, p = this._y2 - a; this._l23_a = Math.sqrt(this._l23_2a = Math.pow(f * f + p * p, this._alpha)) } switch (this._point) { case 0: this._point = 1, this._x3 = i, this._y3 = a; break; case 1: this._point = 2, this._context.moveTo(this._x4 = i, this._y4 = a); break; case 2: this._point = 3, this._x5 = i, this._y5 = a; break; default: T1t(this, i, a); break }this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = i, this._y0 = this._y1, this._y1 = this._y2, this._y2 = a } }; const c9e = function i(a) { function f(p) { return a ? new rDt(p, a) : new k1t(p, 0) } return f.alpha = function (p) { return i(+p) }, f }(.5); function iDt(i, a) { this._context = i, this._alpha = a } iDt.prototype = { areaStart: function () { this._line = 0 }, areaEnd: function () { this._line = NaN }, lineStart: function () { this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0 }, lineEnd: function () { (this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line }, point: function (i, a) { if (i = +i, a = +a, this._point) { var f = this._x2 - i, p = this._y2 - a; this._l23_a = Math.sqrt(this._l23_2a = Math.pow(f * f + p * p, this._alpha)) } switch (this._point) { case 0: this._point = 1; break; case 1: this._point = 2; break; case 2: this._point = 3, this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break; case 3: this._point = 4; default: T1t(this, i, a); break }this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = i, this._y0 = this._y1, this._y1 = this._y2, this._y2 = a } }; const u9e = function i(a) { function f(p) { return a ? new iDt(p, a) : new E1t(p, 0) } return f.alpha = function (p) { return i(+p) }, f }(.5); function sDt(i) { this._context = i } sDt.prototype = { areaStart: Qx, areaEnd: Qx, lineStart: function () { this._point = 0 }, lineEnd: function () { this._point && this._context.closePath() }, point: function (i, a) { i = +i, a = +a, this._point ? this._context.lineTo(i, a) : (this._point = 1, this._context.moveTo(i, a)) } }; function l9e(i) { return new sDt(i) } function aDt(i) { return i < 0 ? -1 : 1 } function oDt(i, a, f) { var p = i._x1 - i._x0, v = a - i._x1, m = (i._y1 - i._y0) / (p || v < 0 && -0), b = (f - i._y1) / (v || p < 0 && -0), E = (m * v + b * p) / (p + v); return (aDt(m) + aDt(b)) * Math.min(Math.abs(m), Math.abs(b), .5 * Math.abs(E)) || 0 } function cDt(i, a) { var f = i._x1 - i._x0; return f ? (3 * (i._y1 - i._y0) / f - a) / 2 : a } function _1t(i, a, f) { var p = i._x0, v = i._y0, m = i._x1, b = i._y1, E = (m - p) / 3; i._context.bezierCurveTo(p + E, v + E * a, m - E, b - E * f, m, b) } function qU(i) { this._context = i } qU.prototype = { areaStart: function () { this._line = 0 }, areaEnd: function () { this._line = NaN }, lineStart: function () { this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN, this._point = 0 }, lineEnd: function () { switch (this._point) { case 2: this._context.lineTo(this._x1, this._y1); break; case 3: _1t(this, this._t0, cDt(this, this._t0)); break }(this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line }, point: function (i, a) { var f = NaN; if (i = +i, a = +a, !(i === this._x1 && a === this._y1)) { switch (this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(i, a) : this._context.moveTo(i, a); break; case 1: this._point = 2; break; case 2: this._point = 3, _1t(this, cDt(this, f = oDt(this, i, a)), f); break; default: _1t(this, this._t0, f = oDt(this, i, a)); break }this._x0 = this._x1, this._x1 = i, this._y0 = this._y1, this._y1 = a, this._t0 = f } } }; function uDt(i) { this._context = new lDt(i) } (uDt.prototype = Object.create(qU.prototype)).point = function (i, a) { qU.prototype.point.call(this, a, i) }; function lDt(i) { this._context = i } lDt.prototype = { moveTo: function (i, a) { this._context.moveTo(a, i) }, closePath: function () { this._context.closePath() }, lineTo: function (i, a) { this._context.lineTo(a, i) }, bezierCurveTo: function (i, a, f, p, v, m) { this._context.bezierCurveTo(a, i, p, f, m, v) } }; function h9e(i) { return new qU(i) } function f9e(i) { return new uDt(i) } function hDt(i) { this._context = i } hDt.prototype = { areaStart: function () { this._line = 0 }, areaEnd: function () { this._line = NaN }, lineStart: function () { this._x = [], this._y = [] }, lineEnd: function () { var i = this._x, a = this._y, f = i.length; if (f) if (this._line ? this._context.lineTo(i[0], a[0]) : this._context.moveTo(i[0], a[0]), f === 2) this._context.lineTo(i[1], a[1]); else for (var p = fDt(i), v = fDt(a), m = 0, b = 1; b < f; ++m, ++b)this._context.bezierCurveTo(p[0][m], v[0][m], p[1][m], v[1][m], i[b], a[b]); (this._line || this._line !== 0 && f === 1) && this._context.closePath(), this._line = 1 - this._line, this._x = this._y = null }, point: function (i, a) { this._x.push(+i), this._y.push(+a) } }; function fDt(i) { var a, f = i.length - 1, p, v = new Array(f), m = new Array(f), b = new Array(f); for (v[0] = 0, m[0] = 2, b[0] = i[0] + 2 * i[1], a = 1; a < f - 1; ++a)v[a] = 1, m[a] = 4, b[a] = 4 * i[a] + 2 * i[a + 1]; for (v[f - 1] = 2, m[f - 1] = 7, b[f - 1] = 8 * i[f - 1] + i[f], a = 1; a < f; ++a)p = v[a] / m[a - 1], m[a] -= p, b[a] -= p * b[a - 1]; for (v[f - 1] = b[f - 1] / m[f - 1], a = f - 2; a >= 0; --a)v[a] = (b[a] - v[a + 1]) / m[a]; for (m[f - 1] = (i[f] + v[f - 1]) / 2, a = 0; a < f - 1; ++a)m[a] = 2 * i[a + 1] - v[a + 1]; return [v, m] } function d9e(i) { return new hDt(i) } function HU(i, a) { this._context = i, this._t = a } HU.prototype = { areaStart: function () { this._line = 0 }, areaEnd: function () { this._line = NaN }, lineStart: function () { this._x = this._y = NaN, this._point = 0 }, lineEnd: function () { 0 < this._t && this._t < 1 && this._point === 2 && this._context.lineTo(this._x, this._y), (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line >= 0 && (this._t = 1 - this._t, this._line = 1 - this._line) }, point: function (i, a) { switch (i = +i, a = +a, this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(i, a) : this._context.moveTo(i, a); break; case 1: this._point = 2; default: { if (this._t <= 0) this._context.lineTo(this._x, a), this._context.lineTo(i, a); else { var f = this._x * (1 - this._t) + i * this._t; this._context.lineTo(f, this._y), this._context.lineTo(f, a) } break } }this._x = i, this._y = a } }; function g9e(i) { return new HU(i, .5) } function p9e(i) { return new HU(i, 0) } function b9e(i) { return new HU(i, 1) } function NN(i, a, f) { this.k = i, this.x = a, this.y = f } NN.prototype = { constructor: NN, scale: function (i) { return i === 1 ? this : new NN(this.k * i, this.x, this.y) }, translate: function (i, a) { return i === 0 & a === 0 ? this : new NN(this.k, this.x + this.k * i, this.y + this.k * a) }, apply: function (i) { return [i[0] * this.k + this.x, i[1] * this.k + this.y] }, applyX: function (i) { return i * this.k + this.x }, applyY: function (i) { return i * this.k + this.y }, invert: function (i) { return [(i[0] - this.x) / this.k, (i[1] - this.y) / this.k] }, invertX: function (i) { return (i - this.x) / this.k }, invertY: function (i) { return (i - this.y) / this.k }, rescaleX: function (i) { return i.copy().domain(i.range().map(this.invertX, this).map(i.invert, i)) }, rescaleY: function (i) { return i.copy().domain(i.range().map(this.invertY, this).map(i.invert, i)) }, toString: function () { return "translate(" + this.x + "," + this.y + ") scale(" + this.k + ")" } }, NN.prototype;/*! @license DOMPurify 3.0.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.3/LICENSE */const { entries: dDt, setPrototypeOf: gDt, isFrozen: v9e, getPrototypeOf: w9e, getOwnPropertyDescriptor: m9e } = Object; let { freeze: ig, seal: Ww, create: y9e } = Object, { apply: C1t, construct: S1t } = typeof Reflect < "u" && Reflect; C1t || (C1t = function (a, f, p) { return a.apply(f, p) }), ig || (ig = function (a) { return a }), Ww || (Ww = function (a) { return a }), S1t || (S1t = function (a, f) { return new a(...f) }); const x9e = Ub(Array.prototype.forEach), pDt = Ub(Array.prototype.pop), PN = Ub(Array.prototype.push), VU = Ub(String.prototype.toLowerCase), A1t = Ub(String.prototype.toString), k9e = Ub(String.prototype.match), Kw = Ub(String.prototype.replace), E9e = Ub(String.prototype.indexOf), T9e = Ub(String.prototype.trim), I2 = Ub(RegExp.prototype.test), FN = _9e(TypeError); function Ub(i) { return function (a) { for (var f = arguments.length, p = new Array(f > 1 ? f - 1 : 0), v = 1; v < f; v++)p[v - 1] = arguments[v]; return C1t(i, a, p) } } function _9e(i) { return function () { for (var a = arguments.length, f = new Array(a), p = 0; p < a; p++)f[p] = arguments[p]; return S1t(i, f) } } function Io(i, a, f) { var p; f = (p = f) !== null && p !== void 0 ? p : VU, gDt && gDt(i, null); let v = a.length; for (; v--;) { let m = a[v]; if (typeof m == "string") { const b = f(m); b !== m && (v9e(a) || (a[v] = b), m = b) } i[m] = !0 } return i } function SA(i) { const a = y9e(null); for (const [f, p] of dDt(i)) a[f] = p; return a } function GU(i, a) { for (; i !== null;) { const p = m9e(i, a); if (p) { if (p.get) return Ub(p.get); if (typeof p.value == "function") return Ub(p.value) } i = w9e(i) } function f(p) { return  var kDt = Object.freeze({ __proto__: null, MUSTACHE_EXPR: A9e, ERB_EXPR: L9e, TMPLIT_EXPR: M9e, DATA_ATTR: D9e, ARIA_ATTR: I9e, IS_ALLOWED_URI: yDt, IS_SCRIPT_OR_DATA: O9e, ATTR_WHITESPACE: N9e, DOCTYPE_NAME: xDt }); const P9e = () => typeof window > "u" ? null : window, F9e = function (a, f) { if (typeof a != "object" || typeof a.createPolicy != "function") return null; let p = null; const v = "data-tt-policy-suffix"; f && f.hasAttribute(v) && (p = f.getAttribute(v)); const m = "dompurify" + (p ? "#" + p : ""); try { return a.createPolicy(m, { createHTML(b) { return b }, createScriptURL(b) { return b } }) } catch { return , null } }; function EDt() {
        let i = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : P9e(); const a = Gi => EDt(Gi); if (a.version = "3.0.3", a.removed = [], !i || !i.document || i.document.nodeType !== 9) return a.isSupported = !1, a; const f = i.document, p = f.currentScript; let { document: v } = i; const { DocumentFragment: m, HTMLTemplateElement: b, Node: E, Element: C, NodeFilter: D, NamedNodeMap: P = i.NamedNodeMap || i.MozNamedAttrMap, HTMLFormElement: B, DOMParser: j, trustedTypes: R } = i, H = C.prototype, Y = GU(H, "cloneNode"), it = GU(H, "nextSibling"), nt = GU(H, "childNodes"), st = GU(H, "parentNode"); if (typeof b == "function") { const Gi = v.createElement("template"); Gi.content && Gi.content.ownerDocument && (v = Gi.content.ownerDocument) } let pt, Tt = ""; const { implementation: kt, createNodeIterator: yt, createDocumentFragment: ht, getElementsByTagName: mt } = v, { importNode: rt } = f; let wt = {}; a.isSupported = typeof dDt == "function" && typeof st == "function" && kt && kt.createHTMLDocument !== void 0; const { MUSTACHE_EXPR: gt, ERB_EXPR: lt, TMPLIT_EXPR: _t, DATA_ATTR: X, ARIA_ATTR: Rt, IS_SCRIPT_OR_DATA: ft, ATTR_WHITESPACE: de } = kDt; let { IS_ALLOWED_URI: J } = kDt, ae = null; const Wt = Io({}, [...bDt, ...L1t, ...M1t, ...D1t, ...vDt]); let It = null; const Nt = Io({}, [...wDt, ...I1t, ...mDt, ...UU]); let me = Object.seal(Object.create(null, { tagNameCheck: { writable: !0, configurable: !1, enumerable: !0, value: null }, attributeNameCheck: { writable: !0, configurable: !1, enumerable: !0, value: null }, allowCustomizedBuiltInElements: { writable: !0, configurable: !1, enumerable: !0, value: !1 } })), Ue = null, _n = null, _e = !0, rr = !0, Te = !1, ne = !0, Ee = !1, ye = !1, Vt = !1, Ae = !1, Gt = !1, un = !1, jt = !1, Ke = !0, oe = !1; const Or = "user-content-"; let Le = !0, Nr = !1, fe = {}, sr = null; const Yn = Io({}, ["annotation-xml", "audio", "colgroup", "desc", "foreignobject", "head", "iframe", "math", "mi", "mn", "mo", "ms", "mtext", "noembed", "noframes", "noscript", "plaintext", "script", "style", "svg", "template", "thead", "title", "video", "xmp"]); let tr = null; const ur = Io({}, ["audio", "video", "img", "source", "image", "track"]); let gn = null; const En = Io({}, ["alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "role", "summary", "title", "value", "style", "xmlns"]), Dr = "http://www.w3.org/1998/Math/MathML", hr = "http://www.w3.org/2000/svg", Ki = "http://www.w3.org/1999/xhtml"; let Is = Ki, Ha = !1, hi = null; const qi = Io({}, [Dr, hr, Ki], A1t); let zn; const Zn = ["application/xhtml+xml", "text/html"], Pr = "text/html"; let On, xi = null; const In = v.createElement("form"), rc = function (He) { return He instanceof RegExp || He instanceof Function }, qn = function (He) { if (!(xi && xi === He)) { if ((!He || typeof He != "object") && (He = {}), He = SA(He), zn = Zn.indexOf(He.PARSER_MEDIA_TYPE) === -1 ? zn = Pr : zn = He.PARSER_MEDIA_TYPE, On = zn === "application/xhtml+xml" ? A1t : VU, ae = "ALLOWED_TAGS" in He ? Io({}, He.ALLOWED_TAGS, On) : Wt, It = "ALLOWED_ATTR" in He ? Io({}, He.ALLOWED_ATTR, On) : Nt, hi = "ALLOWED_NAMESPACES" in He ? Io({}, He.ALLOWED_NAMESPACES, A1t) : qi, gn = "ADD_URI_SAFE_ATTR" in He ? Io(SA(En), He.ADD_URI_SAFE_ATTR, On) : En, tr = "ADD_DATA_URI_TAGS" in He ? Io(SA(ur), He.ADD_DATA_URI_TAGS, On) : ur, sr = "FORBID_CONTENTS" in He ? Io({}, He.FORBID_CONTENTS, On) : Yn, Ue = "FORBID_TAGS" in He ? Io({}, He.FORBID_TAGS, On) : {}, _n = "FORBID_ATTR" in He ? Io({}, He.FORBID_ATTR, On) : {}, fe = "USE_PROFILES" in He ? He.USE_PROFILES : !1, _e = He.ALLOW_ARIA_ATTR !== !1, rr = He.ALLOW_DATA_ATTR !== !1, Te = He.ALLOW_UNKNOWN_PROTOCOLS || !1, ne = He.ALLOW_SELF_CLOSE_IN_ATTR !== !1, Ee = He.SAFE_FOR_TEMPLATES || !1, ye = He.WHOLE_DOCUMENT || !1, Gt = He.RETURN_DOM || !1, un = He.RETURN_DOM_FRAGMENT || !1, jt = He.RETURN_TRUSTED_TYPE || !1, Ae = He.FORCE_BODY || !1, Ke = He.SANITIZE_DOM !== !1, oe = He.SANITIZE_NAMED_PROPS || !1, Le = He.KEEP_CONTENT !== !1, Nr = He.IN_PLACE || !1, J = He.ALLOWED_URI_REGEXP || yDt, Is = He.NAMESPACE || Ki, me = He.CUSTOM_ELEMENT_HANDLING || {}, He.CUSTOM_ELEMENT_HANDLING && rc(He.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && (me.tagNameCheck = He.CUSTOM_ELEMENT_HANDLING.tagNameCheck), He.CUSTOM_ELEMENT_HANDLING && rc(He.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && (me.attributeNameCheck = He.CUSTOM_ELEMENT_HANDLING.attributeNameCheck), He.CUSTOM_ELEMENT_HANDLING && typeof He.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == "boolean" && (me.allowCustomizedBuiltInElements = He.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements), Ee && (rr = !1), un && (Gt = !0), fe && (ae = Io({}, [...vDt]), It = [], fe.html === !0 && (Io(ae, bDt), Io(It, wDt)), fe.svg === !0 && (Io(ae, L1t), Io(It, I1t), Io(It, UU)), fe.svgFilters === !0 && (Io(ae, M1t), Io(It, I1t), Io(It, UU)), fe.mathMl === !0 && (Io(ae, D1t), Io(It, mDt), Io(It, UU))), He.ADD_TAGS && (ae === Wt && (ae = SA(ae)), Io(ae, He.ADD_TAGS, On)), He.ADD_ATTR && (It === Nt && (It = SA(It)), Io(It, He.ADD_ATTR, On)), He.ADD_URI_SAFE_ATTR && Io(gn, He.ADD_URI_SAFE_ATTR, On), He.FORBID_CONTENTS && (sr === Yn && (sr = SA(sr)), Io(sr, He.FORBID_CONTENTS, On)), Le && (ae["#text"] = !0), ye && Io(ae, ["html", "head", "body"]), ae.table && (Io(ae, ["tbody"]), delete Ue.tbody), He.TRUSTED_TYPES_POLICY) { if (typeof He.TRUSTED_TYPES_POLICY.createHTML != "function") throw FN('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.'); if (typeof He.TRUSTED_TYPES_POLICY.createScriptURL != "function") throw FN('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.'); pt = He.TRUSTED_TYPES_POLICY, Tt = pt.createHTML("") } else pt === void 0 && (pt = F9e(R, p)), pt !== null && typeof Tt == "string" && (Tt = pt.createHTML("")); ig && ig(He), xi = He } }, ss = Io({}, ["mi", "mo", "mn", "ms", "mtext"]), Aa = Io({}, ["foreignobject", "desc", "title", "annotation-xml"]), Ya = Io({}, ["title", "style", "font", "a", "script"]), Ea = Io({}, L1t); Io(Ea, M1t), Io(Ea, C9e); const ga = Io({}, D1t); Io(ga, S9e); const Es = function (He) { let Er = st(He); (!Er || !Er.tagName) && (Er = { namespaceURI: Is, tagName: "template" }); const ci = VU(He.tagName), Xa = VU(Er.tagName); return hi[He.namespaceURI] ? He.namespaceURI === hr ? Er.namespaceURI === Ki ? ci === "svg" : Er.namespaceURI === Dr ? ci === "svg" && (Xa === "annotation-xml" || ss[Xa]) : !!Ea[ci] : He.namespaceURI === Dr ? Er.namespaceURI === Ki ? ci === "math" : Er.namespaceURI === hr ? ci === "math" && Aa[Xa] : !!ga[ci] : He.namespaceURI === Ki ? Er.namespaceURI === hr && !Aa[Xa] || Er.namespaceURI === Dr && !ss[Xa] ? !1 : !ga[ci] && (Ya[ci] || !Ea[ci]) : !!(zn === "application/xhtml+xml" && hi[He.namespaceURI]) : !1 }, Bs = function (He) { PN(a.removed, { element: He }); try { He.parentNode.removeChild(He) } catch { He.remove() } }, Ta = function (He, Er) { try { PN(a.removed, { attribute: Er.getAttributeNode(He), from: Er }) } catch { PN(a.removed, { attribute: null, from: Er }) } if (Er.removeAttribute(He), He === "is" && !It[He]) if (Gt || un) try { Bs(Er) } catch { } else try { Er.setAttribute(He, "") } catch { } }, La = function (He) { let Er, ci; if (Ae) He = "<remove></remove>" + He; else { const yu = k9e(He, /^[\r\n\t ]+/); ci = yu && yu[0] } zn === "application/xhtml+xml" && Is === Ki && (He = '<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' + He + "</body></html>"); const Xa = pt ? pt.createHTML(He) : He; if (Is === Ki) try { Er = new j().parseFromString(Xa, zn) } catch { } if (!Er || !Er.documentElement) { Er = kt.createDocument(Is, "template", null); try { Er.documentElement.innerHTML = Ha ? Tt : Xa } catch { } } const kc = Er.body || Er.documentElement; return He && ci && kc.insertBefore(v.createTextNode(ci), kc.childNodes[0] || null), Is === Ki ? mt.call(Er, ye ? "html" : "body")[0] : ye ? Er.documentElement : kc }, Va = function (He) { return yt.call(He.ownerDocument || He, He, D.SHOW_ELEMENT | D.SHOW_COMMENT | D.SHOW_TEXT, null, !1) }, sv = function (He) { return He instanceof B && (typeof He.nodeName != "string" || typeof He.textContent != "string" || typeof He.removeChild != "function" || !(He.attributes instanceof P) || typeof He.removeAttribute != "function" || typeof He.setAttribute != "function" || typeof He.namespaceURI != "string" || typeof He.insertBefore != "function" || typeof He.hasChildNodes != "function") }, rl = function (He) { return typeof E == "object" ? He instanceof E : He && typeof He == "object" && typeof He.nodeType == "number" && typeof He.nodeName == "string" }, mu = function (He, Er, ci) { wt[He] && x9e(wt[He], Xa => { Xa.call(a, Er, ci, xi) }) }, As = function (He) { let Er; if (mu("beforeSanitizeElements", He, null), sv(He)) return Bs(He), !0; const ci = On(He.nodeName); if (mu("uponSanitizeElement", He, { tagName: ci, allowedTags: ae }), He.hasChildNodes() && !rl(He.firstElementChild) && (!rl(He.content) || !rl(He.content.firstElementChild)) && I2(/<[/\w]/g, He.innerHTML) && I2(/<[/\w]/g, He.textContent)) return Bs(He), !0; if (!ae[ci] || Ue[ci]) { if (!Ue[ci] && sd(ci) && (me.tagNameCheck instanceof RegExp && I2(me.tagNameCheck, ci) || me.tagNameCheck instanceof Function && me.tagNameCheck(ci))) return !1; if (Le && !sr[ci]) { const Xa = st(He) || He.parentNode, kc = nt(He) || He.childNodes; if (kc && Xa) { const yu = kc.length; for (let mo = yu - 1; mo >= 0; --mo)Xa.insertBefore(Y(kc[mo], !0), it(He)) } } return Bs(He), !0 } return He instanceof C && !Es(He) || (ci === "noscript" || ci === "noembed") && I2(/<\/no(script|embed)/i, He.innerHTML) ? (Bs(He), !0) : (Ee && He.nodeType === 3 && (Er = He.textContent, Er = Kw(Er, gt, " "), Er = Kw(Er, lt, " "), Er = Kw(Er, _t, " "), He.textContent !== Er && (PN(a.removed, { element: He.cloneNode() }), He.textContent = Er)), mu("afterSanitizeElements", He, null), !1) }, gp = function (He, Er, ci) { if (Ke && (Er === "id" || Er === "name") && (ci in v || ci in In)) return !1; if (!(rr && !_n[Er] && I2(X, Er))) { if (!(_e && I2(Rt, Er))) { if (!It[Er] || _n[Er]) { if (!(sd(He) && (me.tagNameCheck instanceof RegExp && I2(me.tagNameCheck, He) || me.tagNameCheck instanceof Function && me.tagNameCheck(He)) && (me.attributeNameCheck instanceof RegExp && I2(me.attributeNameCheck, Er) || me.attributeNameCheck instanceof Function && me.attributeNameCheck(Er)) || Er === "is" && me.allowCustomizedBuiltInElements && (me.tagNameCheck instanceof RegExp && I2(me.tagNameCheck, ci) || me.tagNameCheck instanceof Function && me.tagNameCheck(ci)))) return !1 } else if (!gn[Er]) { if (!I2(J, Kw(ci, de, ""))) { if (!((Er === "src" || Er === "xlink:href" || Er === "href") && He !== "script" && E9e(ci, "data:") === 0 && tr[He])) { if (!(Te && !I2(ft, Kw(ci, de, "")))) { if (ci) return !1 } } } } } } return !0 }, sd = function (He) { return He.indexOf("-") > 0 }, Rl = function (He) { let Er, ci, Xa, kc; mu("beforeSanitizeAttributes", He, null); const { attributes: yu } = He; if (!yu) return; const mo = { attrName: "", attrValue: "", keepAttr: !0, allowedAttributes: It }; for (kc = yu.length; kc--;) { Er = yu[kc]; const { name: xu, namespaceURI: cf } = Er; if (ci = xu === "value" ? Er.value : T9e(Er.value), Xa = On(xu), mo.attrName = Xa, mo.attrValue = ci, mo.keepAttr = !0, mo.forceKeepAttr = void 0, mu("uponSanitizeAttribute", He, mo), ci = mo.attrValue, mo.forceKeepAttr || (Ta(xu, He), !mo.keepAttr)) continue; if (!ne && I2(/\/>/i, ci)) { Ta(xu, He); continue } Ee && (ci = Kw(ci, gt, " "), ci = Kw(ci, lt, " "), ci = Kw(ci, _t, " ")); const x3 = On(He.nodeName); if (gp(x3, Xa, ci)) { if (oe && (Xa === "id" || Xa === "name") && (Ta(xu, He), ci = Or + ci), pt && typeof R == "object" && typeof R.getAttributeType == "function" && !cf) switch (R.getAttributeType(x3, Xa)) { case "TrustedHTML": { ci = pt.createHTML(ci); break } case "TrustedScriptURL": { ci = pt.createScriptURL(ci); break } }try { cf ? He.setAttributeNS(cf, xu, ci) : He.setAttribute(xu, ci), pDt(a.removed) } catch { } } } mu("afterSanitizeAttributes", He, null) }, $u = function Gi(He) { let Er; const ci = Va(He); for (mu("beforeSanitizeShadowDOM", He, null); Er = ci.nextNode();)mu("uponSanitizeShadowNode", Er, null), !As(Er) && (Er.content instanceof m && Gi(Er.content), Rl(Er)); mu("afterSanitizeShadowDOM", He, null) }; return a.sanitize = function (Gi) {
            let He = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, Er, ci, Xa, kc; if (Ha = !Gi, Ha && (Gi = "<!-->"), typeof Gi != "string" && !rl(Gi)) if (typeof Gi.toString == "function") { if (Gi = Gi.toString(), typeof Gi != "string") throw FN("dirty is not a string, aborting") } else throw FN("toString is not a function"); if (!a.isSupported) return Gi; if (Vt || qn(He), a.removed = [], typeof Gi == "string" && (Nr = !1), Nr) { if (Gi.nodeName) { const xu = On(Gi.nodeName); if (!ae[xu] || Ue[xu]) throw FN("root node is forbidden and cannot be sanitized in-place") } } else if (Gi instanceof E) Er = La("<!---->"), ci = Er.ownerDocument.importNode(Gi, !0), ci.nodeType === 1 && ci.nodeName === "BODY" || ci.nodeName === "HTML" ? Er = ci : Er.appendChild(ci); else { if (!Gt && !Ee && !ye && Gi.indexOf("<") === -1) return pt && jt ? pt.createHTML(Gi) : Gi; if (Er = La(Gi), !Er) return Gt ? null : jt ? Tt : "" } Er && Ae && Bs(Er.firstChild); const yu = Va(Nr ? Gi : Er); for (; Xa = yu.nextNode();)As(Xa) || (Xa.content instanceof m && $u(Xa.content), Rl(Xa)); if (Nr) return Gi; if (Gt) { if (un) for (kc = ht.call(Er.ownerDocument); Er.firstChild;)kc.appendChild(Er.firstChild); else kc = Er; return (It.shadowroot || It.shadowrootmod) && (kc = rt.call(f, kc, !0)), kc } let mo = ye ? Er.outerHTML : Er.innerHTML; return ye && ae["!doctype"] && Er.ownerDocument && Er.ownerDocument.doctype && Er.ownerDocument.doctype.name && I2(xDt, Er.ownerDocument.doctype.name) && (mo = "<!DOCTYPE " + Er.ownerDocument.doctype.name + `>
    `+ mo), Ee && (mo = Kw(mo, gt, " "), mo = Kw(mo, lt, " "), mo = Kw(mo, _t, " ")), pt && jt ? pt.createHTML(mo) : mo
        }, a.setConfig = function (Gi) { qn(Gi), Vt = !0 }, a.clearConfig = function () { xi = null, Vt = !1 }, a.isValidAttribute = function (Gi, He, Er) { xi || qn({}); const ci = On(Gi), Xa = On(He); return gp(ci, Xa, Er) }, a.addHook = function (Gi, He) { typeof He == "function" && (wt[Gi] = wt[Gi] || [], PN(wt[Gi], He)) }, a.removeHook = function (Gi) { if (wt[Gi]) return pDt(wt[Gi]) }, a.removeHooks = function (Gi) { wt[Gi] && (wt[Gi] = []) }, a.removeAllHooks = function () { wt = {} }, a
    } var WU = EDt(); const KU = /<br\s*\/?>/gi, B9e = i => i ? CDt(i).replace(/\\n/g, "#br#").split("#br#") : [""], TDt = i => WU.sanitize(i), _Dt = (i, a) => { var f; if (((f = a.flowchart) == null ? void 0 : f.htmlLabels) !== !1) { const p = a.securityLevel; p === "antiscript" || p === "strict" ? i = TDt(i) : p !== "loose" && (i = CDt(i), i = i.replace(/</g, "&lt;").replace(/>/g, "&gt;"), i = i.replace(/=/g, "&equals;"), i = z9e(i)) } return i }, sg = (i, a) => i && (a.dompurifyConfig ? i = WU.sanitize(_Dt(i, a), a.dompurifyConfig).toString() : i = WU.sanitize(_Dt(i, a), { FORBID_TAGS: ["style"] }).toString(), i), R9e = (i, a) => typeof i == "string" ? sg(i, a) : i.flat().map(f => sg(f, a)), j9e = i => KU.test(i), $9e = i => i.split(KU), z9e = i => i.replace(/#br#/g, "<br/>"), CDt = i => i.replace(KU, "#br#"), q9e = i => { let a = ""; return i && (a = window.location.protocol + "//" + window.location.host + window.location.pathname + window.location.search, a = a.replaceAll(/\(/g, "\\("), a = a.replaceAll(/\)/g, "\\)")), a }, h1 = i => !(i === !1 || ["false", "null", "0"].includes(String(i).trim().toLowerCase())), H9e = function (...i) { const a = i.filter(f => !isNaN(f)); return Math.max(...a) }, V9e = function (...i) { const a = i.filter(f => !isNaN(f)); return Math.min(...a) }, BN = function (i) { let a = i; if (i.split("~").length - 1 >= 2) { let f = a; do a = f, f = a.replace(/~([^\s,:;]+)~/, "<$1>"); while (f != a); return BN(f) } else return a }, yi = { getRows: B9e, sanitizeText: sg, sanitizeTextOrArray: R9e, hasBreaks: j9e, splitBreaks: $9e, lineBreakRegex: KU, removeScript: TDt, getUrl: q9e, evaluate: h1, getMax: H9e, getMin: V9e }, YU = { min: { r: 0, g: 0, b: 0, s: 0, l: 0, a: 0 }, max: { r: 255, g: 255, b: 255, h: 360, s: 100, l: 100, a: 1 }, clamp: { r: i => i >= 255 ? 255 : i < 0 ? 0 : i, g: i => i >= 255 ? 255 : i < 0 ? 0 : i, b: i => i >= 255 ? 255 : i < 0 ? 0 : i, h: i => i % 360, s: i => i >= 100 ? 100 : i < 0 ? 0 : i, l: i => i >= 100 ? 100 : i < 0 ? 0 : i, a: i => i >= 1 ? 1 : i < 0 ? 0 : i }, toLinear: i => { const a = i / 255; return i > .03928 ? Math.pow((a + .055) / 1.055, 2.4) : a / 12.92 }, hue2rgb: (i, a, f) => (f < 0 && (f += 1), f > 1 && (f -= 1), f < 1 / 6 ? i + (a - i) * 6 * f : f < 1 / 2 ? a : f < 2 / 3 ? i + (a - i) * (2 / 3 - f) * 6 : i), hsl2rgb: ({ h: i, s: a, l: f }, p) => { if (!a) return f * 2.55; i /= 360, a /= 100, f /= 100; const v = f < .5 ? f * (1 + a) : f + a - f * a, m = 2 * f - v; switch (p) { case "r": return YU.hue2rgb(m, v, i + 1 / 3) * 255; case "g": return YU.hue2rgb(m, v, i) * 255; case "b": return YU.hue2rgb(m, v, i - 1 / 3) * 255 } }, rgb2hsl: ({ r: i, g: a, b: f }, p) => { i /= 255, a /= 255, f /= 255; const v = Math.max(i, a, f), m = Math.min(i, a, f), b = (v + m) / 2; if (p === "l") return b * 100; if (v === m) return 0; const E = v - m, C = b > .5 ? E / (2 - v - m) : E / (v + m); if (p === "s") return C * 100; switch (v) { case i: return ((a - f) / E + (a < f ? 6 : 0)) * 60; case a: return ((f - i) / E + 2) * 60; case f: return ((i - a) / E + 4) * 60; default: return -1 } } }, Sa = { channel: YU, lang: { clamp: (i, a, f) => a > f ? Math.min(a, Math.max(f, i)) : Math.min(f, Math.max(a, i)), round: i => Math.round(i * 1e10) / 1e10 }, unit: { dec2hex: i => { const a = Math.round(i).toString(16); return a.length > 1 ? a : `0${a}` } } }, Zx = {}; for (let i = 0; i <= 255; i++)Zx[i] = Sa.unit.dec2hex(i); const y0 = { ALL: 0, RGB: 1, HSL: 2 }; class G9e { constructor() { this.type = y0.ALL } get() { return this.type } set(a) { if (this.type && this.type !== a) throw new Error("Cannot change both RGB and HSL channels at the same time"); this.type = a } reset() { this.type = y0.ALL } is(a) { return this.type === a } } const U9e = G9e; class W9e { constructor(a, f) { this.color = f, this.changed = !1, this.data = a, this.type = new U9e } set(a, f) { return this.color = f, this.changed = !1, this.data = a, this.type.type = y0.ALL, this } _ensureHSL() { const a = this.data, { h: f, s: p, l: v } = a; f === void 0 && (a.h = Sa.channel.rgb2hsl(a, "h")), p === void 0 && (a.s = Sa.channel.rgb2hsl(a, "s")), v === void 0 && (a.l = Sa.channel.rgb2hsl(a, "l")) } _ensureRGB() { const a = this.data, { r: f, g: p, b: v } = a; f === void 0 && (a.r = Sa.channel.hsl2rgb(a, "r")), p === void 0 && (a.g = Sa.channel.hsl2rgb(a, "g")), v === void 0 && (a.b = Sa.channel.hsl2rgb(a, "b")) } get r() { const a = this.data, f = a.r; return !this.type.is(y0.HSL) && f !== void 0 ? f : (this._ensureHSL(), Sa.channel.hsl2rgb(a, "r")) } get g() { const a = this.data, f = a.g; return !this.type.is(y0.HSL) && f !== void 0 ? f : (this._ensureHSL(), Sa.channel.hsl2rgb(a, "g")) } get b() { const a = this.data, f = a.b; return !this.type.is(y0.HSL) && f !== void 0 ? f : (this._ensureHSL(), Sa.channel.hsl2rgb(a, "b")) } get h() { const a = this.data, f = a.h; return !this.type.is(y0.RGB) && f !== void 0 ? f : (this._ensureRGB(), Sa.channel.rgb2hsl(a, "h")) } get s() { const a = this.data, f = a.s; return !this.type.is(y0.RGB) && f !== void 0 ? f : (this._ensureRGB(), Sa.channel.rgb2hsl(a, "s")) } get l() { const a = this.data, f = a.l; return !this.type.is(y0.RGB) && f !== void 0 ? f : (this._ensureRGB(), Sa.channel.rgb2hsl(a, "l")) } get a() { return this.data.a } set r(a) { this.type.set(y0.RGB), this.changed = !0, this.data.r = a } set g(a) { this.type.set(y0.RGB), this.changed = !0, this.data.g = a } set b(a) { this.type.set(y0.RGB), this.changed = !0, this.data.b = a } set h(a) { this.type.set(y0.HSL), this.changed = !0, this.data.h = a } set s(a) { this.type.set(y0.HSL), this.changed = !0, this.data.s = a } set l(a) { this.type.set(y0.HSL), this.changed = !0, this.data.l = a } set a(a) { this.changed = !0, this.data.a = a } } const K9e = W9e, XU = new K9e({ r: 0, g: 0, b: 0, a: 0 }, "transparent"), SDt = { re: /^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i, parse: i => { if (i.charCodeAt(0) !== 35) return; const a = i.match(SDt.re); if (!a) return; const f = a[1], p = parseInt(f, 16), v = f.length, m = v % 4 === 0, b = v > 4, E = b ? 1 : 17, C = b ? 8 : 4, D = m ? 0 : -1, P = b ? 255 : 15; return XU.set({ r: (p >> C * (D + 3) & P) * E, g: (p >> C * (D + 2) & P) * E, b: (p >> C * (D + 1) & P) * E, a: m ? (p & P) * E / 255 : 1 }, i) }, stringify: i => { const { r: a, g: f, b: p, a: v } = i; return v < 1 ? `#${Zx[Math.round(a)]}${Zx[Math.round(f)]}${Zx[Math.round(p)]}${Zx[Math.round(v * 255)]}` : `#${Zx[Math.round(a)]}${Zx[Math.round(f)]}${Zx[Math.round(p)]}` } }, RN = SDt, QU = { re: /^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i, hueRe: /^(.+?)(deg|grad|rad|turn)$/i, _hue2deg: i => { const a = i.match(QU.hueRe); if (a) { const [, f, p] = a; switch (p) { case "grad": return Sa.channel.clamp.h(parseFloat(f) * .9); case "rad": return Sa.channel.clamp.h(parseFloat(f) * 180 / Math.PI); case "turn": return Sa.channel.clamp.h(parseFloat(f) * 360) } } return Sa.channel.clamp.h(parseFloat(i)) }, parse: i => { const a = i.charCodeAt(0); if (a !== 104 && a !== 72) return; const f = i.match(QU.re); if (!f) return; const [, p, v, m, b, E] = f; return XU.set({ h: QU._hue2deg(p), s: Sa.channel.clamp.s(parseFloat(v)), l: Sa.channel.clamp.l(parseFloat(m)), a: b ? Sa.channel.clamp.a(E ? parseFloat(b) / 100 : parseFloat(b)) : 1 }, i) }, stringify: i => { const { h: a, s: f, l: p, a: v } = i; return v < 1 ? `hsla(${Sa.lang.round(a)}, ${Sa.lang.round(f)}%, ${Sa.lang.round(p)}%, ${v})` : `hsl(${Sa.lang.round(a)}, ${Sa.lang.round(f)}%, ${Sa.lang.round(p)}%)` } }, ZU = QU, JU = { colors: { aliceblue: "#f0f8ff", antiquewhite: "#faebd7", aqua: "#00ffff", aquamarine: "#7fffd4", azure: "#f0ffff", beige: "#f5f5dc", bisque: "#ffe4c4", black: "#000000", blanchedalmond: "#ffebcd", blue: "#0000ff", blueviolet: "#8a2be2", brown: "#a52a2a", burlywood: "#deb887", cadetblue: "#5f9ea0", chartreuse: "#7fff00", chocolate: "#d2691e", coral: "#ff7f50", cornflowerblue: "#6495ed", cornsilk: "#fff8dc", crimson: "#dc143c", cyanaqua: "#00ffff", darkblue: "#00008b", darkcyan: "#008b8b", darkgoldenrod: "#b8860b", darkgray: "#a9a9a9", darkgreen: "#006400", darkgrey: "#a9a9a9", darkkhaki: "#bdb76b", darkmagenta: "#8b008b", darkolivegreen: "#556b2f", darkorange: "#ff8c00", darkorchid: "#9932cc", darkred: "#8b0000", darksalmon: "#e9967a", darkseagreen: "#8fbc8f", darkslateblue: "#483d8b", darkslategray: "#2f4f4f", darkslategrey: "#2f4f4f", darkturquoise: "#00ced1", darkviolet: "#9400d3", deeppink: "#ff1493", deepskyblue: "#00bfff", dimgray: "#696969", dimgrey: "#696969", dodgerblue: "#1e90ff", firebrick: "#b22222", floralwhite: "#fffaf0", forestgreen: "#228b22", fuchsia: "#ff00ff", gainsboro: "#dcdcdc", ghostwhite: "#f8f8ff", gold: "#ffd700", goldenrod: "#daa520", gray: "#808080", green: "#008000", greenyellow: "#adff2f", grey: "#808080", honeydew: "#f0fff0", hotpink: "#ff69b4", indianred: "#cd5c5c", indigo: "#4b0082", ivory: "#fffff0", khaki: "#f0e68c", lavender: "#e6e6fa", lavenderblush: "#fff0f5", lawngreen: "#7cfc00", lemonchiffon: "#fffacd", lightblue: "#add8e6", lightcoral: "#f08080", lightcyan: "#e0ffff", lightgoldenrodyellow: "#fafad2", lightgray: "#d3d3d3", lightgreen: "#90ee90", lightgrey: "#d3d3d3", lightpink: "#ffb6c1", lightsalmon: "#ffa07a", lightseagreen: "#20b2aa", lightskyblue: "#87cefa", lightslategray: "#778899", lightslategrey: "#778899", lightsteelblue: "#b0c4de", lightyellow: "#ffffe0", lime: "#00ff00", limegreen: "#32cd32", linen: "#faf0e6", magenta: "#ff00ff", maroon: "#800000", mediumaquamarine: "#66cdaa", mediumblue: "#0000cd", mediumorchid: "#ba55d3", mediumpurple: "#9370db", mediumseagreen: "#3cb371", mediumslateblue: "#7b68ee", mediumspringgreen: "#00fa9a", mediumturquoise: "#48d1cc", mediumvioletred: "#c71585", midnightblue: "#191970", mintcream: "#f5fffa", mistyrose: "#ffe4e1", moccasin: "#ffe4b5", navajowhite: "#ffdead", navy: "#000080", oldlace: "#fdf5e6", olive: "#808000", olivedrab: "#6b8e23", orange: "#ffa500", orangered: "#ff4500", orchid: "#da70d6", palegoldenrod: "#eee8aa", palegreen: "#98fb98", paleturquoise: "#afeeee", palevioletred: "#db7093", papayawhip: "#ffefd5", peachpuff: "#ffdab9", peru: "#cd853f", pink: "#ffc0cb", plum: "#dda0dd", powderblue: "#b0e0e6", purple: "#800080", rebeccapurple: "#663399", red: "#ff0000", rosybrown: "#bc8f8f", royalblue: "#4169e1", saddlebrown: "#8b4513", salmon: "#fa8072", sandybrown: "#f4a460", seagreen: "#2e8b57", seashell: "#fff5ee", sienna: "#a0522d", silver: "#c0c0c0", skyblue: "#87ceeb", slateblue: "#6a5acd", slategray: "#708090", slategrey: "#708090", snow: "#fffafa", springgreen: "#00ff7f", tan: "#d2b48c", teal: "#008080", thistle: "#d8bfd8", transparent: "#00000000", turquoise: "#40e0d0", violet: "#ee82ee", wheat: "#f5deb3", white: "#ffffff", whitesmoke: "#f5f5f5", yellow: "#ffff00", yellowgreen: "#9acd32" }, parse: i => { i = i.toLowerCase(); const a = JU.colors[i]; if (a) return RN.parse(a) }, stringify: i => { const a = RN.stringify(i); for (const f in JU.colors) if (JU.colors[f] === a) return f } }, ADt = JU, LDt = { re: /^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i, parse: i => { const a = i.charCodeAt(0); if (a !== 114 && a !== 82) return; const f = i.match(LDt.re); if (!f) return; const [, p, v, m, b, E, C, D, P] = f; return XU.set({ r: Sa.channel.clamp.r(v ? parseFloat(p) * 2.55 : parseFloat(p)), g: Sa.channel.clamp.g(b ? parseFloat(m) * 2.55 : parseFloat(m)), b: Sa.channel.clamp.b(C ? parseFloat(E) * 2.55 : parseFloat(E)), a: D ? Sa.channel.clamp.a(P ? parseFloat(D) / 100 : parseFloat(D)) : 1 }, i) }, stringify: i => { const { r: a, g: f, b: p, a: v } = i; return v < 1 ? `rgba(${Sa.lang.round(a)}, ${Sa.lang.round(f)}, ${Sa.lang.round(p)}, ${Sa.lang.round(v)})` : `rgb(${Sa.lang.round(a)}, ${Sa.lang.round(f)}, ${Sa.lang.round(p)})` } }, tW = LDt, Yw = { format: { keyword: ADt, hex: RN, rgb: tW, rgba: tW, hsl: ZU, hsla: ZU }, parse: i => { if (typeof i != "string") return i; const a = RN.parse(i) || tW.parse(i) || ZU.parse(i) || ADt.parse(i); if (a) return a; throw new Error(`Unsupported color format: "${i}"`) }, stringify: i => !i.changed && i.color ? i.color : i.type.is(y0.HSL) || i.data.r === void 0 ? ZU.stringify(i) : i.a < 1 || !Number.isInteger(i.r) || !Number.isInteger(i.g) || !Number.isInteger(i.b) ? tW.stringify(i) : RN.stringify(i) }, MDt = (i, a) => { const f = Yw.parse(i); for (const p in a) f[p] = Sa.channel.clamp[p](a[p]); return Yw.stringify(f) }, AA = (i, a, f = 0, p = 1) => { if (typeof i != "number") return MDt(i, { a }); const v = XU.set({ r: Sa.channel.clamp.r(i), g: Sa.channel.clamp.g(a), b: Sa.channel.clamp.b(f), a: Sa.channel.clamp.a(p) }); return Yw.stringify(v) }, Y9e = (i, a) => Sa.lang.round(Yw.parse(i)[a]), X9e = i => { const { r: a, g: f, b: p } = Yw.parse(i), v = .2126 * Sa.channel.toLinear(a) + .7152 * Sa.channel.toLinear(f) + .0722 * Sa.channel.toLinear(p); return Sa.lang.round(v) }, Q9e = i => X9e(i) >= .5, X9 = i => !Q9e(i), DDt = (i, a, f) => { const p = Yw.parse(i), v = p[a], m = Sa.channel.clamp[a](v + f); return v !== m && (p[a] = m), Yw.stringify(p) }, Ds = (i, a) => DDt(i, "l", a), ta = (i, a) => DDt(i, "l", -a), mn = (i, a) => { const f = Yw.parse(i), p = {}; for (const v in a) a[v] && (p[v] = f[v] + a[v]); return MDt(i, p) }, Z9e = (i, a, f = 50) => { const { r: p, g: v, b: m, a: b } = Yw.parse(i), { r: E, g: C, b: D, a: P } = Yw.parse(a), B = f / 100, j = B * 2 - 1, R = b - P, Y = ((j * R === -1 ? j : (j + R) / (1 + j * R)) + 1) / 2, it = 1 - Y, nt = p * Y + E * it, st = v * Y + C * it, pt = m * Y + D * it, Tt = b * B + P * (1 - B); return AA(nt, st, pt, Tt) }, Hi = (i, a = 100) => { const f = Yw.parse(i); return f.r = 255 - f.r, f.g = 255 - f.g, f.b = 255 - f.b, Z9e(f, i, a) }, ag = (i, a) => a ? mn(i, { s: -40, l: 10 }) : mn(i, { s: -40, l: -10 }), eW = "#ffffff", nW = "#f2f2f2"; let J9e = class { constructor() { this.background = "#f4f4f4", this.primaryColor = "#fff4dd", this.noteBkgColor = "#fff5ad", this.noteTextColor = "#333", this.THEME_COLOR_LIMIT = 12, this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif', this.fontSize = "16px" } updateColors() { if (this.primaryTextColor = this.primaryTextColor || (this.darkMode ? "#eee" : "#333"), this.secondaryColor = this.secondaryColor || mn(this.primaryColor, { h: -120 }), this.tertiaryColor = this.tertiaryColor || mn(this.primaryColor, { h: 180, l: 5 }), this.primaryBorderColor = this.primaryBorderColor || ag(this.primaryColor, this.darkMode), this.secondaryBorderColor = this.secondaryBorderColor || ag(this.secondaryColor, this.darkMode), this.tertiaryBorderColor = this.tertiaryBorderColor || ag(this.tertiaryColor, this.darkMode), this.noteBorderColor = this.noteBorderColor || ag(this.noteBkgColor, this.darkMode), this.noteBkgColor = this.noteBkgColor || "#fff5ad", this.noteTextColor = this.noteTextColor || "#333", this.secondaryTextColor = this.secondaryTextColor || Hi(this.secondaryColor), this.tertiaryTextColor = this.tertiaryTextColor || Hi(this.tertiaryColor), this.lineColor = this.lineColor || Hi(this.background), this.arrowheadColor = this.arrowheadColor || Hi(this.background), this.textColor = this.textColor || this.primaryTextColor, this.border2 = this.border2 || this.tertiaryBorderColor, this.nodeBkg = this.nodeBkg || this.primaryColor, this.mainBkg = this.mainBkg || this.primaryColor, this.nodeBorder = this.nodeBorder || this.primaryBorderColor, this.clusterBkg = this.clusterBkg || this.tertiaryColor, this.clusterBorder = this.clusterBorder || this.tertiaryBorderColor, this.defaultLinkColor = this.defaultLinkColor || this.lineColor, this.titleColor = this.titleColor || this.tertiaryTextColor, this.edgeLabelBackground = this.edgeLabelBackground || (this.darkMode ? ta(this.secondaryColor, 30) : this.secondaryColor), this.nodeTextColor = this.nodeTextColor || this.primaryTextColor, this.actorBorder = this.actorBorder || this.primaryBorderColor, this.actorBkg = this.actorBkg || this.mainBkg, this.actorTextColor = this.actorTextColor || this.primaryTextColor, this.actorLineColor = this.actorLineColor || "grey", this.labelBoxBkgColor = this.labelBoxBkgColor || this.actorBkg, this.signalColor = this.signalColor || this.textColor, this.signalTextColor = this.signalTextColor || this.textColor, this.labelBoxBorderColor = this.labelBoxBorderColor || this.actorBorder, this.labelTextColor = this.labelTextColor || this.actorTextColor, this.loopTextColor = this.loopTextColor || this.actorTextColor, this.activationBorderColor = this.activationBorderColor || ta(this.secondaryColor, 10), this.activationBkgColor = this.activationBkgColor || this.secondaryColor, this.sequenceNumberColor = this.sequenceNumberColor || Hi(this.lineColor), this.sectionBkgColor = this.sectionBkgColor || this.tertiaryColor, this.altSectionBkgColor = this.altSectionBkgColor || "white", this.sectionBkgColor = this.sectionBkgColor || this.secondaryColor, this.sectionBkgColor2 = this.sectionBkgColor2 || this.primaryColor, this.excludeBkgColor = this.excludeBkgColor || "#eeeeee", this.taskBorderColor = this.taskBorderColor || this.primaryBorderColor, this.taskBkgColor = this.taskBkgColor || this.primaryColor, this.activeTaskBorderColor = this.activeTaskBorderColor || this.primaryColor, this.activeTaskBkgColor = this.activeTaskBkgColor || Ds(this.primaryColor, 23), this.gridColor = this.gridColor || "lightgrey", this.doneTaskBkgColor = this.doneTaskBkgColor || "lightgrey", this.doneTaskBorderColor = this.doneTaskBorderColor || "grey", this.critBorderColor = this.critBorderColor || "#ff8888", this.critBkgColor = this.critBkgColor || "red", this.todayLineColor = this.todayLineColor || "red", this.taskTextColor = this.taskTextColor || this.textColor, this.taskTextOutsideColor = this.taskTextOutsideColor || this.textColor, this.taskTextLightColor = this.taskTextLightColor || this.textColor, this.taskTextColor = this.taskTextColor || this.primaryTextColor, this.taskTextDarkColor = this.taskTextDarkColor || this.textColor, this.taskTextClickableColor = this.taskTextClickableColor || "#003163", this.personBorder = this.personBorder || this.primaryBorderColor, this.personBkg = this.personBkg || this.mainBkg, this.transitionColor = this.transitionColor || this.lineColor, this.transitionLabelColor = this.transitionLabelColor || this.textColor, this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor, this.stateBkg = this.stateBkg || this.mainBkg, this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg, this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor, this.altBackground = this.altBackground || this.tertiaryColor, this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg, this.compositeBorder = this.compositeBorder || this.nodeBorder, this.innerEndBackground = this.nodeBorder, this.errorBkgColor = this.errorBkgColor || this.tertiaryColor, this.errorTextColor = this.errorTextColor || this.tertiaryTextColor, this.transitionColor = this.transitionColor || this.lineColor, this.specialStateColor = this.lineColor, this.cScale0 = this.cScale0 || this.primaryColor, this.cScale1 = this.cScale1 || this.secondaryColor, this.cScale2 = this.cScale2 || this.tertiaryColor, this.cScale3 = this.cScale3 || mn(this.primaryColor, { h: 30 }), this.cScale4 = this.cScale4 || mn(this.primaryColor, { h: 60 }), this.cScale5 = this.cScale5 || mn(this.primaryColor, { h: 90 }), this.cScale6 = this.cScale6 || mn(this.primaryColor, { h: 120 }), this.cScale7 = this.cScale7 || mn(this.primaryColor, { h: 150 }), this.cScale8 = this.cScale8 || mn(this.primaryColor, { h: 210, l: 150 }), this.cScale9 = this.cScale9 || mn(this.primaryColor, { h: 270 }), this.cScale10 = this.cScale10 || mn(this.primaryColor, { h: 300 }), this.cScale11 = this.cScale11 || mn(this.primaryColor, { h: 330 }), this.darkMode) for (let f = 0; f < this.THEME_COLOR_LIMIT; f++)this["cScale" + f] = ta(this["cScale" + f], 75); else for (let f = 0; f < this.THEME_COLOR_LIMIT; f++)this["cScale" + f] = ta(this["cScale" + f], 25); for (let f = 0; f < this.THEME_COLOR_LIMIT; f++)this["cScaleInv" + f] = this["cScaleInv" + f] || Hi(this["cScale" + f]); for (let f = 0; f < this.THEME_COLOR_LIMIT; f++)this.darkMode ? this["cScalePeer" + f] = this["cScalePeer" + f] || Ds(this["cScale" + f], 10) : this["cScalePeer" + f] = this["cScalePeer" + f] || ta(this["cScale" + f], 10); this.scaleLabelColor = this.scaleLabelColor || this.labelTextColor; for (let f = 0; f < this.THEME_COLOR_LIMIT; f++)this["cScaleLabel" + f] = this["cScaleLabel" + f] || this.scaleLabelColor; const a = this.darkMode ? -4 : -1; for (let f = 0; f < 5; f++)this["surface" + f] = this["surface" + f] || mn(this.mainBkg, { h: 180, s: -15, l: a * (5 + f * 3) }), this["surfacePeer" + f] = this["surfacePeer" + f] || mn(this.mainBkg, { h: 180, s: -15, l: a * (8 + f * 3) }); this.classText = this.classText || this.textColor, this.fillType0 = this.fillType0 || this.primaryColor, this.fillType1 = this.fillType1 || this.secondaryColor, this.fillType2 = this.fillType2 || mn(this.primaryColor, { h: 64 }), this.fillType3 = this.fillType3 || mn(this.secondaryColor, { h: 64 }), this.fillType4 = this.fillType4 || mn(this.primaryColor, { h: -64 }), this.fillType5 = this.fillType5 || mn(this.secondaryColor, { h: -64 }), this.fillType6 = this.fillType6 || mn(this.primaryColor, { h: 128 }), this.fillType7 = this.fillType7 || mn(this.secondaryColor, { h: 128 }), this.pie1 = this.pie1 || this.primaryColor, this.pie2 = this.pie2 || this.secondaryColor, this.pie3 = this.pie3 || this.tertiaryColor, this.pie4 = this.pie4 || mn(this.primaryColor, { l: -10 }), this.pie5 = this.pie5 || mn(this.secondaryColor, { l: -10 }), this.pie6 = this.pie6 || mn(this.tertiaryColor, { l: -10 }), this.pie7 = this.pie7 || mn(this.primaryColor, { h: 60, l: -10 }), this.pie8 = this.pie8 || mn(this.primaryColor, { h: -60, l: -10 }), this.pie9 = this.pie9 || mn(this.primaryColor, { h: 120, l: 0 }), this.pie10 = this.pie10 || mn(this.primaryColor, { h: 60, l: -20 }), this.pie11 = this.pie11 || mn(this.primaryColor, { h: -60, l: -20 }), this.pie12 = this.pie12 || mn(this.primaryColor, { h: 120, l: -10 }), this.pieTitleTextSize = this.pieTitleTextSize || "25px", this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor, this.pieSectionTextSize = this.pieSectionTextSize || "17px", this.pieSectionTextColor = this.pieSectionTextColor || this.textColor, this.pieLegendTextSize = this.pieLegendTextSize || "17px", this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor, this.pieStrokeColor = this.pieStrokeColor || "black", this.pieStrokeWidth = this.pieStrokeWidth || "2px", this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px", this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black", this.pieOpacity = this.pieOpacity || "0.7", this.quadrant1Fill = this.quadrant1Fill || this.primaryColor, this.quadrant2Fill = this.quadrant2Fill || mn(this.primaryColor, { r: 5, g: 5, b: 5 }), this.quadrant3Fill = this.quadrant3Fill || mn(this.primaryColor, { r: 10, g: 10, b: 10 }), this.quadrant4Fill = this.quadrant4Fill || mn(this.primaryColor, { r: 15, g: 15, b: 15 }), this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor, this.quadrant2TextFill = this.quadrant2TextFill || mn(this.primaryTextColor, { r: -5, g: -5, b: -5 }), this.quadrant3TextFill = this.quadrant3TextFill || mn(this.primaryTextColor, { r: -10, g: -10, b: -10 }), this.quadrant4TextFill = this.quadrant4TextFill || mn(this.primaryTextColor, { r: -15, g: -15, b: -15 }), this.quadrantPointFill = this.quadrantPointFill || X9(this.quadrant1Fill) ? Ds(this.quadrant1Fill) : ta(this.quadrant1Fill), this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor, this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor, this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor, this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor, this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor, this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor, this.requirementBackground = this.requirementBackground || this.primaryColor, this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor, this.requirementBorderSize = this.requirementBorderSize || "1", this.requirementTextColor = this.requirementTextColor || this.primaryTextColor, this.relationColor = this.relationColor || this.lineColor, this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? ta(this.secondaryColor, 30) : this.secondaryColor), this.relationLabelColor = this.relationLabelColor || this.actorTextColor, this.git0 = this.git0 || this.primaryColor, this.git1 = this.git1 || this.secondaryColor, this.git2 = this.git2 || this.tertiaryColor, this.git3 = this.git3 || mn(this.primaryColor, { h: -30 }), this.git4 = this.git4 || mn(this.primaryColor, { h: -60 }), this.git5 = this.git5 || mn(this.primaryColor, { h: -90 }), this.git6 = this.git6 || mn(this.primaryColor, { h: 60 }), this.git7 = this.git7 || mn(this.primaryColor, { h: 120 }), this.darkMode ? (this.git0 = Ds(this.git0, 25), this.git1 = Ds(this.git1, 25), this.git2 = Ds(this.git2, 25), this.git3 = Ds(this.git3, 25), this.git4 = Ds(this.git4, 25), this.git5 = Ds(this.git5, 25), this.git6 = Ds(this.git6, 25), this.git7 = Ds(this.git7, 25)) : (this.git0 = ta(this.git0, 25), this.git1 = ta(this.git1, 25), this.git2 = ta(this.git2, 25), this.git3 = ta(this.git3, 25), this.git4 = ta(this.git4, 25), this.git5 = ta(this.git5, 25), this.git6 = ta(this.git6, 25), this.git7 = ta(this.git7, 25)), this.gitInv0 = this.gitInv0 || Hi(this.git0), this.gitInv1 = this.gitInv1 || Hi(this.git1), this.gitInv2 = this.gitInv2 || Hi(this.git2), this.gitInv3 = this.gitInv3 || Hi(this.git3), this.gitInv4 = this.gitInv4 || Hi(this.git4), this.gitInv5 = this.gitInv5 || Hi(this.git5), this.gitInv6 = this.gitInv6 || Hi(this.git6), this.gitInv7 = this.gitInv7 || Hi(this.git7), this.branchLabelColor = this.branchLabelColor || (this.darkMode ? "black" : this.labelTextColor), this.gitBranchLabel0 = this.gitBranchLabel0 || this.branchLabelColor, this.gitBranchLabel1 = this.gitBranchLabel1 || this.branchLabelColor, this.gitBranchLabel2 = this.gitBranchLabel2 || this.branchLabelColor, this.gitBranchLabel3 = this.gitBranchLabel3 || this.branchLabelColor, this.gitBranchLabel4 = this.gitBranchLabel4 || this.branchLabelColor, this.gitBranchLabel5 = this.gitBranchLabel5 || this.branchLabelColor, this.gitBranchLabel6 = this.gitBranchLabel6 || this.branchLabelColor, this.gitBranchLabel7 = this.gitBranchLabel7 || this.branchLabelColor, this.tagLabelColor = this.tagLabelColor || this.primaryTextColor, this.tagLabelBackground = this.tagLabelBackground || this.primaryColor, this.tagLabelBorder = this.tagBorder || this.primaryBorderColor, this.tagLabelFontSize = this.tagLabelFontSize || "10px", this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor, this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor, this.commitLabelFontSize = this.commitLabelFontSize || "10px", this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || eW, this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || nW } calculate(a) { if (typeof a != "object") { this.updateColors(); return } const f = Object.keys(a); f.forEach(p => { this[p] = a[p] }), this.updateColors(), f.forEach(p => { this[p] = a[p] }) } }; const tEe = i => { const a = new J9e; return a.calculate(i), a }; let eEe = class { constructor() { this.background = "#333", this.primaryColor = "#1f2020", this.secondaryColor = Ds(this.primaryColor, 16), this.tertiaryColor = mn(this.primaryColor, { h: -160 }), this.primaryBorderColor = Hi(this.background), this.secondaryBorderColor = ag(this.secondaryColor, this.darkMode), this.tertiaryBorderColor = ag(this.tertiaryColor, this.darkMode), this.primaryTextColor = Hi(this.primaryColor), this.secondaryTextColor = Hi(this.secondaryColor), this.tertiaryTextColor = Hi(this.tertiaryColor), this.lineColor = Hi(this.background), this.textColor = Hi(this.background), this.mainBkg = "#1f2020", this.secondBkg = "calculated", this.mainContrastColor = "lightgrey", this.darkTextColor = Ds(Hi("#323D47"), 10), this.lineColor = "calculated", this.border1 = "#81B1DB", this.border2 = AA(255, 255, 255, .25), this.arrowheadColor = "calculated", this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif', this.fontSize = "16px", this.labelBackground = "#181818", this.textColor = "#ccc", this.THEME_COLOR_LIMIT = 12, this.nodeBkg = "calculated", this.nodeBorder = "calculated", this.clusterBkg = "calculated", this.clusterBorder = "calculated", this.defaultLinkColor = "calculated", this.titleColor = "#F9FFFE", this.edgeLabelBackground = "calculated", this.actorBorder = "calculated", this.actorBkg = "calculated", this.actorTextColor = "calculated", this.actorLineColor = "calculated", this.signalColor = "calculated", this.signalTextColor = "calculated", this.labelBoxBkgColor = "calculated", this.labelBoxBorderColor = "calculated", this.labelTextColor = "calculated", this.loopTextColor = "calculated", this.noteBorderColor = "calculated", this.noteBkgColor = "#fff5ad", this.noteTextColor = "calculated", this.activationBorderColor = "calculated", this.activationBkgColor = "calculated", this.sequenceNumberColor = "black", this.sectionBkgColor = ta("#EAE8D9", 30), this.altSectionBkgColor = "calculated", this.sectionBkgColor2 = "#EAE8D9", this.excludeBkgColor = ta(this.sectionBkgColor, 10), this.taskBorderColor = AA(255, 255, 255, 70), this.taskBkgColor = "calculated", this.taskTextColor = "calculated", this.taskTextLightColor = "calculated", this.taskTextOutsideColor = "calculated", this.taskTextClickableColor = "#003163", this.activeTaskBorderColor = AA(255, 255, 255, 50), this.activeTaskBkgColor = "#81B1DB", this.gridColor = "calculated", this.doneTaskBkgColor = "calculated", this.doneTaskBorderColor = "grey", this.critBorderColor = "#E83737", this.critBkgColor = "#E83737", this.taskTextDarkColor = "calculated", this.todayLineColor = "#DB5757", this.personBorder = this.primaryBorderColor, this.personBkg = this.mainBkg, this.labelColor = "calculated", this.errorBkgColor = "#a44141", this.errorTextColor = "#ddd" } updateColors() { this.secondBkg = Ds(this.mainBkg, 16), this.lineColor = this.mainContrastColor, this.arrowheadColor = this.mainContrastColor, this.nodeBkg = this.mainBkg, this.nodeBorder = this.border1, this.clusterBkg = this.secondBkg, this.clusterBorder = this.border2, this.defaultLinkColor = this.lineColor, this.edgeLabelBackground = Ds(this.labelBackground, 25), this.actorBorder = this.border1, this.actorBkg = this.mainBkg, this.actorTextColor = this.mainContrastColor, this.actorLineColor = this.mainContrastColor, this.signalColor = this.mainContrastColor, this.signalTextColor = this.mainContrastColor, this.labelBoxBkgColor = this.actorBkg, this.labelBoxBorderColor = this.actorBorder, this.labelTextColor = this.mainContrastColor, this.loopTextColor = this.mainContrastColor, this.noteBorderColor = this.secondaryBorderColor, this.noteBkgColor = this.secondBkg, this.noteTextColor = this.secondaryTextColor, this.activationBorderColor = this.border1, this.activationBkgColor = this.secondBkg, this.altSectionBkgColor = this.background, this.taskBkgColor = Ds(this.mainBkg, 23), this.taskTextColor = this.darkTextColor, this.taskTextLightColor = this.mainContrastColor, this.taskTextOutsideColor = this.taskTextLightColor, this.gridColor = this.mainContrastColor, this.doneTaskBkgColor = this.mainContrastColor, this.taskTextDarkColor = this.darkTextColor, this.transitionColor = this.transitionColor || this.lineColor, this.transitionLabelColor = this.transitionLabelColor || this.textColor, this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor, this.stateBkg = this.stateBkg || this.mainBkg, this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg, this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor, this.altBackground = this.altBackground || "#555", this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg, this.compositeBorder = this.compositeBorder || this.nodeBorder, this.innerEndBackground = this.primaryBorderColor, this.specialStateColor = "#f4f4f4", this.errorBkgColor = this.errorBkgColor || this.tertiaryColor, this.errorTextColor = this.errorTextColor || this.tertiaryTextColor, this.fillType0 = this.primaryColor, this.fillType1 = this.secondaryColor, this.fillType2 = mn(this.primaryColor, { h: 64 }), this.fillType3 = mn(this.secondaryColor, { h: 64 }), this.fillType4 = mn(this.primaryColor, { h: -64 }), this.fillType5 = mn(this.secondaryColor, { h: -64 }), this.fillType6 = mn(this.primaryColor, { h: 128 }), this.fillType7 = mn(this.secondaryColor, { h: 128 }), this.cScale1 = this.cScale1 || "#0b0000", this.cScale2 = this.cScale2 || "#4d1037", this.cScale3 = this.cScale3 || "#3f5258", this.cScale4 = this.cScale4 || "#4f2f1b", this.cScale5 = this.cScale5 || "#6e0a0a", this.cScale6 = this.cScale6 || "#3b0048", this.cScale7 = this.cScale7 || "#995a01", this.cScale8 = this.cScale8 || "#154706", this.cScale9 = this.cScale9 || "#161722", this.cScale10 = this.cScale10 || "#00296f", this.cScale11 = this.cScale11 || "#01629c", this.cScale12 = this.cScale12 || "#010029", this.cScale0 = this.cScale0 || this.primaryColor, this.cScale1 = this.cScale1 || this.secondaryColor, this.cScale2 = this.cScale2 || this.tertiaryColor, this.cScale3 = this.cScale3 || mn(this.primaryColor, { h: 30 }), this.cScale4 = this.cScale4 || mn(this.primaryColor, { h: 60 }), this.cScale5 = this.cScale5 || mn(this.primaryColor, { h: 90 }), this.cScale6 = this.cScale6 || mn(this.primaryColor, { h: 120 }), this.cScale7 = this.cScale7 || mn(this.primaryColor, { h: 150 }), this.cScale8 = this.cScale8 || mn(this.primaryColor, { h: 210 }), this.cScale9 = this.cScale9 || mn(this.primaryColor, { h: 270 }), this.cScale10 = this.cScale10 || mn(this.primaryColor, { h: 300 }), this.cScale11 = this.cScale11 || mn(this.primaryColor, { h: 330 }); for (let a = 0; a < this.THEME_COLOR_LIMIT; a++)this["cScaleInv" + a] = this["cScaleInv" + a] || Hi(this["cScale" + a]); for (let a = 0; a < this.THEME_COLOR_LIMIT; a++)this["cScalePeer" + a] = this["cScalePeer" + a] || Ds(this["cScale" + a], 10); for (let a = 0; a < 5; a++)this["surface" + a] = this["surface" + a] || mn(this.mainBkg, { h: 30, s: -30, l: -(-10 + a * 4) }), this["surfacePeer" + a] = this["surfacePeer" + a] || mn(this.mainBkg, { h: 30, s: -30, l: -(-7 + a * 4) }); this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? "black" : this.labelTextColor); for (let a = 0; a < this.THEME_COLOR_LIMIT; a++)this["cScaleLabel" + a] = this["cScaleLabel" + a] || this.scaleLabelColor; for (let a = 0; a < this.THEME_COLOR_LIMIT; a++)this["pie" + a] = this["cScale" + a]; this.pieTitleTextSize = this.pieTitleTextSize || "25px", this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor, this.pieSectionTextSize = this.pieSectionTextSize || "17px", this.pieSectionTextColor = this.pieSectionTextColor || this.textColor, this.pieLegendTextSize = this.pieLegendTextSize || "17px", this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor, this.pieStrokeColor = this.pieStrokeColor || "black", this.pieStrokeWidth = this.pieStrokeWidth || "2px", this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px", this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black", this.pieOpacity = this.pieOpacity || "0.7", this.quadrant1Fill = this.quadrant1Fill || this.primaryColor, this.quadrant2Fill = this.quadrant2Fill || mn(this.primaryColor, { r: 5, g: 5, b: 5 }), this.quadrant3Fill = this.quadrant3Fill || mn(this.primaryColor, { r: 10, g: 10, b: 10 }), this.quadrant4Fill = this.quadrant4Fill || mn(this.primaryColor, { r: 15, g: 15, b: 15 }), this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor, this.quadrant2TextFill = this.quadrant2TextFill || mn(this.primaryTextColor, { r: -5, g: -5, b: -5 }), this.quadrant3TextFill = this.quadrant3TextFill || mn(this.primaryTextColor, { r: -10, g: -10, b: -10 }), this.quadrant4TextFill = this.quadrant4TextFill || mn(this.primaryTextColor, { r: -15, g: -15, b: -15 }), this.quadrantPointFill = this.quadrantPointFill || X9(this.quadrant1Fill) ? Ds(this.quadrant1Fill) : ta(this.quadrant1Fill), this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor, this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor, this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor, this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor, this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor, this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor, this.classText = this.primaryTextColor, this.requirementBackground = this.requirementBackground || this.primaryColor, this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor, this.requirementBorderSize = this.requirementBorderSize || "1", this.requirementTextColor = this.requirementTextColor || this.primaryTextColor, this.relationColor = this.relationColor || this.lineColor, this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? ta(this.secondaryColor, 30) : this.secondaryColor), this.relationLabelColor = this.relationLabelColor || this.actorTextColor, this.git0 = Ds(this.secondaryColor, 20), this.git1 = Ds(this.pie2 || this.secondaryColor, 20), this.git2 = Ds(this.pie3 || this.tertiaryColor, 20), this.git3 = Ds(this.pie4 || mn(this.primaryColor, { h: -30 }), 20), this.git4 = Ds(this.pie5 || mn(this.primaryColor, { h: -60 }), 20), this.git5 = Ds(this.pie6 || mn(this.primaryColor, { h: -90 }), 10), this.git6 = Ds(this.pie7 || mn(this.primaryColor, { h: 60 }), 10), this.git7 = Ds(this.pie8 || mn(this.primaryColor, { h: 120 }), 20), this.gitInv0 = this.gitInv0 || Hi(this.git0), this.gitInv1 = this.gitInv1 || Hi(this.git1), this.gitInv2 = this.gitInv2 || Hi(this.git2), this.gitInv3 = this.gitInv3 || Hi(this.git3), this.gitInv4 = this.gitInv4 || Hi(this.git4), this.gitInv5 = this.gitInv5 || Hi(this.git5), this.gitInv6 = this.gitInv6 || Hi(this.git6), this.gitInv7 = this.gitInv7 || Hi(this.git7), this.gitBranchLabel0 = this.gitBranchLabel0 || Hi(this.labelTextColor), this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor, this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor, this.gitBranchLabel3 = this.gitBranchLabel3 || Hi(this.labelTextColor), this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor, this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor, this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor, this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor, this.tagLabelColor = this.tagLabelColor || this.primaryTextColor, this.tagLabelBackground = this.tagLabelBackground || this.primaryColor, this.tagLabelBorder = this.tagBorder || this.primaryBorderColor, this.tagLabelFontSize = this.tagLabelFontSize || "10px", this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor, this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor, this.commitLabelFontSize = this.commitLabelFontSize || "10px", this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || Ds(this.background, 12), this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || Ds(this.background, 2) } calculate(a) { if (typeof a != "object") { this.updateColors(); return } const f = Object.keys(a); f.forEach(p => { this[p] = a[p] }), this.updateColors(), f.forEach(p => { this[p] = a[p] }) } }; const nEe = i => { const a = new eEe; return a.calculate(i), a }; let rEe = class { constructor() { this.background = "#f4f4f4", this.primaryColor = "#ECECFF", this.secondaryColor = mn(this.primaryColor, { h: 120 }), this.secondaryColor = "#ffffde", this.tertiaryColor = mn(this.primaryColor, { h: -160 }), this.primaryBorderColor = ag(this.primaryColor, this.darkMode), this.secondaryBorderColor = ag(this.secondaryColor, this.darkMode), this.tertiaryBorderColor = ag(this.tertiaryColor, this.darkMode), this.primaryTextColor = Hi(this.primaryColor), this.secondaryTextColor = Hi(this.secondaryColor), this.tertiaryTextColor = Hi(this.tertiaryColor), this.lineColor = Hi(this.background), this.textColor = Hi(this.background), this.background = "white", this.mainBkg = "#ECECFF", this.secondBkg = "#ffffde", this.lineColor = "#333333", this.border1 = "#9370DB", this.border2 = "#aaaa33", this.arrowheadColor = "#333333", this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif', this.fontSize = "16px", this.labelBackground = "#e8e8e8", this.textColor = "#333", this.THEME_COLOR_LIMIT = 12, this.nodeBkg = "calculated", this.nodeBorder = "calculated", this.clusterBkg = "calculated", this.clusterBorder = "calculated", this.defaultLinkColor = "calculated", this.titleColor = "calculated", this.edgeLabelBackground = "calculated", this.actorBorder = "calculated", this.actorBkg = "calculated", this.actorTextColor = "black", this.actorLineColor = "grey", this.signalColor = "calculated", this.signalTextColor = "calculated", this.labelBoxBkgColor = "calculated", this.labelBoxBorderColor = "calculated", this.labelTextColor = "calculated", this.loopTextColor = "calculated", this.noteBorderColor = "calculated", this.noteBkgColor = "#fff5ad", this.noteTextColor = "calculated", this.activationBorderColor = "#666", this.activationBkgColor = "#f4f4f4", this.sequenceNumberColor = "white", this.sectionBkgColor = "calculated", this.altSectionBkgColor = "calculated", this.sectionBkgColor2 = "calculated", this.excludeBkgColor = "#eeeeee", this.taskBorderColor = "calculated", this.taskBkgColor = "calculated", this.taskTextLightColor = "calculated", this.taskTextColor = this.taskTextLightColor, this.taskTextDarkColor = "calculated", this.taskTextOutsideColor = this.taskTextDarkColor, this.taskTextClickableColor = "calculated", this.activeTaskBorderColor = "calculated", this.activeTaskBkgColor = "calculated", this.gridColor = "calculated", this.doneTaskBkgColor = "calculated", this.doneTaskBorderColor = "calculated", this.critBorderColor = "calculated", this.critBkgColor = "calculated", this.todayLineColor = "calculated", this.sectionBkgColor = AA(102, 102, 255, .49), this.altSectionBkgColor = "white", this.sectionBkgColor2 = "#fff400", this.taskBorderColor = "#534fbc", this.taskBkgColor = "#8a90dd", this.taskTextLightColor = "white", this.taskTextColor = "calculated", this.taskTextDarkColor = "black", this.taskTextOutsideColor = "calculated", this.taskTextClickableColor = "#003163", this.activeTaskBorderColor = "#534fbc", this.activeTaskBkgColor = "#bfc7ff", this.gridColor = "lightgrey", this.doneTaskBkgColor = "lightgrey", this.doneTaskBorderColor = "grey", this.critBorderColor = "#ff8888", this.critBkgColor = "red", this.todayLineColor = "red", this.personBorder = this.primaryBorderColor, this.personBkg = this.mainBkg, this.labelColor = "black", this.errorBkgColor = "#552222", this.errorTextColor = "#552222", this.updateColors() } updateColors() { this.cScale0 = this.cScale0 || this.primaryColor, this.cScale1 = this.cScale1 || this.secondaryColor, this.cScale2 = this.cScale2 || this.tertiaryColor, this.cScale3 = this.cScale3 || mn(this.primaryColor, { h: 30 }), this.cScale4 = this.cScale4 || mn(this.primaryColor, { h: 60 }), this.cScale5 = this.cScale5 || mn(this.primaryColor, { h: 90 }), this.cScale6 = this.cScale6 || mn(this.primaryColor, { h: 120 }), this.cScale7 = this.cScale7 || mn(this.primaryColor, { h: 150 }), this.cScale8 = this.cScale8 || mn(this.primaryColor, { h: 210 }), this.cScale9 = this.cScale9 || mn(this.primaryColor, { h: 270 }), this.cScale10 = this.cScale10 || mn(this.primaryColor, { h: 300 }), this.cScale11 = this.cScale11 || mn(this.primaryColor, { h: 330 }), this["cScalePeer1"] = this["cScalePeer1"] || ta(this.secondaryColor, 45), this["cScalePeer2"] = this["cScalePeer2"] || ta(this.tertiaryColor, 40); for (let a = 0; a < this.THEME_COLOR_LIMIT; a++)this["cScale" + a] = ta(this["cScale" + a], 10), this["cScalePeer" + a] = this["cScalePeer" + a] || ta(this["cScale" + a], 25); for (let a = 0; a < this.THEME_COLOR_LIMIT; a++)this["cScaleInv" + a] = this["cScaleInv" + a] || mn(this["cScale" + a], { h: 180 }); for (let a = 0; a < 5; a++)this["surface" + a] = this["surface" + a] || mn(this.mainBkg, { h: 30, l: -(5 + a * 5) }), this["surfacePeer" + a] = this["surfacePeer" + a] || mn(this.mainBkg, { h: 30, l: -(7 + a * 5) }); if (this.scaleLabelColor = this.scaleLabelColor !== "calculated" && this.scaleLabelColor ? this.scaleLabelColor : this.labelTextColor, this.labelTextColor !== "calculated") { this.cScaleLabel0 = this.cScaleLabel0 || Hi(this.labelTextColor), this.cScaleLabel3 = this.cScaleLabel3 || Hi(this.labelTextColor); for (let a = 0; a < this.THEME_COLOR_LIMIT; a++)this["cScaleLabel" + a] = this["cScaleLabel" + a] || this.labelTextColor } this.nodeBkg = this.mainBkg, this.nodeBorder = this.border1, this.clusterBkg = this.secondBkg, this.clusterBorder = this.border2, this.defaultLinkColor = this.lineColor, this.titleColor = this.textColor, this.edgeLabelBackground = this.labelBackground, this.actorBorder = Ds(this.border1, 23), this.actorBkg = this.mainBkg, this.labelBoxBkgColor = this.actorBkg, this.signalColor = this.textColor, this.signalTextColor = this.textColor, this.labelBoxBorderColor = this.actorBorder, this.labelTextColor = this.actorTextColor, this.loopTextColor = this.actorTextColor, this.noteBorderColor = this.border2, this.noteTextColor = this.actorTextColor, this.taskTextColor = this.taskTextLightColor, this.taskTextOutsideColor = this.taskTextDarkColor, this.transitionColor = this.transitionColor || this.lineColor, this.transitionLabelColor = this.transitionLabelColor || this.textColor, this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor, this.stateBkg = this.stateBkg || this.mainBkg, this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg, this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor, this.altBackground = this.altBackground || "#f0f0f0", this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg, this.compositeBorder = this.compositeBorder || this.nodeBorder, this.innerEndBackground = this.nodeBorder, this.specialStateColor = this.lineColor, this.errorBkgColor = this.errorBkgColor || this.tertiaryColor, this.errorTextColor = this.errorTextColor || this.tertiaryTextColor, this.transitionColor = this.transitionColor || this.lineColor, this.classText = this.primaryTextColor, this.fillType0 = this.primaryColor, this.fillType1 = this.secondaryColor, this.fillType2 = mn(this.primaryColor, { h: 64 }), this.fillType3 = mn(this.secondaryColor, { h: 64 }), this.fillType4 = mn(this.primaryColor, { h: -64 }), this.fillType5 = mn(this.secondaryColor, { h: -64 }), this.fillType6 = mn(this.primaryColor, { h: 128 }), this.fillType7 = mn(this.secondaryColor, { h: 128 }), this.pie1 = this.pie1 || this.primaryColor, this.pie2 = this.pie2 || this.secondaryColor, this.pie3 = this.pie3 || mn(this.tertiaryColor, { l: -40 }), this.pie4 = this.pie4 || mn(this.primaryColor, { l: -10 }), this.pie5 = this.pie5 || mn(this.secondaryColor, { l: -30 }), this.pie6 = this.pie6 || mn(this.tertiaryColor, { l: -20 }), this.pie7 = this.pie7 || mn(this.primaryColor, { h: 60, l: -20 }), this.pie8 = this.pie8 || mn(this.primaryColor, { h: -60, l: -40 }), this.pie9 = this.pie9 || mn(this.primaryColor, { h: 120, l: -40 }), this.pie10 = this.pie10 || mn(this.primaryColor, { h: 60, l: -40 }), this.pie11 = this.pie11 || mn(this.primaryColor, { h: -90, l: -40 }), this.pie12 = this.pie12 || mn(this.primaryColor, { h: 120, l: -30 }), this.pieTitleTextSize = this.pieTitleTextSize || "25px", this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor, this.pieSectionTextSize = this.pieSectionTextSize || "17px", this.pieSectionTextColor = this.pieSectionTextColor || this.textColor, this.pieLegendTextSize = this.pieLegendTextSize || "17px", this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor, this.pieStrokeColor = this.pieStrokeColor || "black", this.pieStrokeWidth = this.pieStrokeWidth || "2px", this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px", this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black", this.pieOpacity = this.pieOpacity || "0.7", this.quadrant1Fill = this.quadrant1Fill || this.primaryColor, this.quadrant2Fill = this.quadrant2Fill || mn(this.primaryColor, { r: 5, g: 5, b: 5 }), this.quadrant3Fill = this.quadrant3Fill || mn(this.primaryColor, { r: 10, g: 10, b: 10 }), this.quadrant4Fill = this.quadrant4Fill || mn(this.primaryColor, { r: 15, g: 15, b: 15 }), this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor, this.quadrant2TextFill = this.quadrant2TextFill || mn(this.primaryTextColor, { r: -5, g: -5, b: -5 }), this.quadrant3TextFill = this.quadrant3TextFill || mn(this.primaryTextColor, { r: -10, g: -10, b: -10 }), this.quadrant4TextFill = this.quadrant4TextFill || mn(this.primaryTextColor, { r: -15, g: -15, b: -15 }), this.quadrantPointFill = this.quadrantPointFill || X9(this.quadrant1Fill) ? Ds(this.quadrant1Fill) : ta(this.quadrant1Fill), this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor, this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor, this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor, this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor, this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor, this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor, this.requirementBackground = this.requirementBackground || this.primaryColor, this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor, this.requirementBorderSize = this.requirementBorderSize || "1", this.requirementTextColor = this.requirementTextColor || this.primaryTextColor, this.relationColor = this.relationColor || this.lineColor, this.relationLabelBackground = this.relationLabelBackground || this.labelBackground, this.relationLabelColor = this.relationLabelColor || this.actorTextColor, this.git0 = this.git0 || this.primaryColor, this.git1 = this.git1 || this.secondaryColor, this.git2 = this.git2 || this.tertiaryColor, this.git3 = this.git3 || mn(this.primaryColor, { h: -30 }), this.git4 = this.git4 || mn(this.primaryColor, { h: -60 }), this.git5 = this.git5 || mn(this.primaryColor, { h: -90 }), this.git6 = this.git6 || mn(this.primaryColor, { h: 60 }), this.git7 = this.git7 || mn(this.primaryColor, { h: 120 }), this.darkMode ? (this.git0 = Ds(this.git0, 25), this.git1 = Ds(this.git1, 25), this.git2 = Ds(this.git2, 25), this.git3 = Ds(this.git3, 25), this.git4 = Ds(this.git4, 25), this.git5 = Ds(this.git5, 25), this.git6 = Ds(this.git6, 25), this.git7 = Ds(this.git7, 25)) : (this.git0 = ta(this.git0, 25), this.git1 = ta(this.git1, 25), this.git2 = ta(this.git2, 25), this.git3 = ta(this.git3, 25), this.git4 = ta(this.git4, 25), this.git5 = ta(this.git5, 25), this.git6 = ta(this.git6, 25), this.git7 = ta(this.git7, 25)), this.gitInv0 = this.gitInv0 || ta(Hi(this.git0), 25), this.gitInv1 = this.gitInv1 || Hi(this.git1), this.gitInv2 = this.gitInv2 || Hi(this.git2), this.gitInv3 = this.gitInv3 || Hi(this.git3), this.gitInv4 = this.gitInv4 || Hi(this.git4), this.gitInv5 = this.gitInv5 || Hi(this.git5), this.gitInv6 = this.gitInv6 || Hi(this.git6), this.gitInv7 = this.gitInv7 || Hi(this.git7), this.gitBranchLabel0 = this.gitBranchLabel0 || Hi(this.labelTextColor), this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor, this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor, this.gitBranchLabel3 = this.gitBranchLabel3 || Hi(this.labelTextColor), this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor, this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor, this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor, this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor, this.tagLabelColor = this.tagLabelColor || this.primaryTextColor, this.tagLabelBackground = this.tagLabelBackground || this.primaryColor, this.tagLabelBorder = this.tagBorder || this.primaryBorderColor, this.tagLabelFontSize = this.tagLabelFontSize || "10px", this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor, this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor, this.commitLabelFontSize = this.commitLabelFontSize || "10px", this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || eW, this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || nW } calculate(a) { if (typeof a != "object") { this.updateColors(); return } const f = Object.keys(a); f.forEach(p => { this[p] = a[p] }), this.updateColors(), f.forEach(p => { this[p] = a[p] }) } }; const IDt = i => { const a = new rEe; return a.calculate(i), a }; let iEe = class { constructor() { this.background = "#f4f4f4", this.primaryColor = "#cde498", this.secondaryColor = "#cdffb2", this.background = "white", this.mainBkg = "#cde498", this.secondBkg = "#cdffb2", this.lineColor = "green", this.border1 = "#13540c", this.border2 = "#6eaa49", this.arrowheadColor = "green", this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif', this.fontSize = "16px", this.tertiaryColor = Ds("#cde498", 10), this.primaryBorderColor = ag(this.primaryColor, this.darkMode), this.secondaryBorderColor = ag(this.secondaryColor, this.darkMode), this.tertiaryBorderColor = ag(this.tertiaryColor, this.darkMode), this.primaryTextColor = Hi(this.primaryColor), this.secondaryTextColor = Hi(this.secondaryColor), this.tertiaryTextColor = Hi(this.primaryColor), this.lineColor = Hi(this.background), this.textColor = Hi(this.background), this.THEME_COLOR_LIMIT = 12, this.nodeBkg = "calculated", this.nodeBorder = "calculated", this.clusterBkg = "calculated", this.clusterBorder = "calculated", this.defaultLinkColor = "calculated", this.titleColor = "#333", this.edgeLabelBackground = "#e8e8e8", this.actorBorder = "calculated", this.actorBkg = "calculated", this.actorTextColor = "black", this.actorLineColor = "grey", this.signalColor = "#333", this.signalTextColor = "#333", this.labelBoxBkgColor = "calculated", this.labelBoxBorderColor = "#326932", this.labelTextColor = "calculated", this.loopTextColor = "calculated", this.noteBorderColor = "calculated", this.noteBkgColor = "#fff5ad", this.noteTextColor = "calculated", this.activationBorderColor = "#666", this.activationBkgColor = "#f4f4f4", this.sequenceNumberColor = "white", this.sectionBkgColor = "#6eaa49", this.altSectionBkgColor = "white", this.sectionBkgColor2 = "#6eaa49", this.excludeBkgColor = "#eeeeee", this.taskBorderColor = "calculated", this.taskBkgColor = "#487e3a", this.taskTextLightColor = "white", this.taskTextColor = "calculated", this.taskTextDarkColor = "black", this.taskTextOutsideColor = "calculated", this.taskTextClickableColor = "#003163", this.activeTaskBorderColor = "calculated", this.activeTaskBkgColor = "calculated", this.gridColor = "lightgrey", this.doneTaskBkgColor = "lightgrey", this.doneTaskBorderColor = "grey", this.critBorderColor = "#ff8888", this.critBkgColor = "red", this.todayLineColor = "red", this.personBorder = this.primaryBorderColor, this.personBkg = this.mainBkg, this.labelColor = "black", this.errorBkgColor = "#552222", this.errorTextColor = "#552222" } updateColors() { this.actorBorder = ta(this.mainBkg, 20), this.actorBkg = this.mainBkg, this.labelBoxBkgColor = this.actorBkg, this.labelTextColor = this.actorTextColor, this.loopTextColor = this.actorTextColor, this.noteBorderColor = this.border2, this.noteTextColor = this.actorTextColor, this.cScale0 = this.cScale0 || this.primaryColor, this.cScale1 = this.cScale1 || this.secondaryColor, this.cScale2 = this.cScale2 || this.tertiaryColor, this.cScale3 = this.cScale3 || mn(this.primaryColor, { h: 30 }), this.cScale4 = this.cScale4 || mn(this.primaryColor, { h: 60 }), this.cScale5 = this.cScale5 || mn(this.primaryColor, { h: 90 }), this.cScale6 = this.cScale6 || mn(this.primaryColor, { h: 120 }), this.cScale7 = this.cScale7 || mn(this.primaryColor, { h: 150 }), this.cScale8 = this.cScale8 || mn(this.primaryColor, { h: 210 }), this.cScale9 = this.cScale9 || mn(this.primaryColor, { h: 270 }), this.cScale10 = this.cScale10 || mn(this.primaryColor, { h: 300 }), this.cScale11 = this.cScale11 || mn(this.primaryColor, { h: 330 }), this["cScalePeer1"] = this["cScalePeer1"] || ta(this.secondaryColor, 45), this["cScalePeer2"] = this["cScalePeer2"] || ta(this.tertiaryColor, 40); for (let a = 0; a < this.THEME_COLOR_LIMIT; a++)this["cScale" + a] = ta(this["cScale" + a], 10), this["cScalePeer" + a] = this["cScalePeer" + a] || ta(this["cScale" + a], 25); for (let a = 0; a < this.THEME_COLOR_LIMIT; a++)this["cScaleInv" + a] = this["cScaleInv" + a] || mn(this["cScale" + a], { h: 180 }); this.scaleLabelColor = this.scaleLabelColor !== "calculated" && this.scaleLabelColor ? this.scaleLabelColor : this.labelTextColor; for (let a = 0; a < this.THEME_COLOR_LIMIT; a++)this["cScaleLabel" + a] = this["cScaleLabel" + a] || this.scaleLabelColor; for (let a = 0; a < 5; a++)this["surface" + a] = this["surface" + a] || mn(this.mainBkg, { h: 30, s: -30, l: -(5 + a * 5) }), this["surfacePeer" + a] = this["surfacePeer" + a] || mn(this.mainBkg, { h: 30, s: -30, l: -(8 + a * 5) }); this.nodeBkg = this.mainBkg, this.nodeBorder = this.border1, this.clusterBkg = this.secondBkg, this.clusterBorder = this.border2, this.defaultLinkColor = this.lineColor, this.taskBorderColor = this.border1, this.taskTextColor = this.taskTextLightColor, this.taskTextOutsideColor = this.taskTextDarkColor, this.activeTaskBorderColor = this.taskBorderColor, this.activeTaskBkgColor = this.mainBkg, this.transitionColor = this.transitionColor || this.lineColor, this.transitionLabelColor = this.transitionLabelColor || this.textColor, this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor, this.stateBkg = this.stateBkg || this.mainBkg, this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg, this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor, this.altBackground = this.altBackground || "#f0f0f0", this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg, this.compositeBorder = this.compositeBorder || this.nodeBorder, this.innerEndBackground = this.primaryBorderColor, this.specialStateColor = this.lineColor, this.errorBkgColor = this.errorBkgColor || this.tertiaryColor, this.errorTextColor = this.errorTextColor || this.tertiaryTextColor, this.transitionColor = this.transitionColor || this.lineColor, this.classText = this.primaryTextColor, this.fillType0 = this.primaryColor, this.fillType1 = this.secondaryColor, this.fillType2 = mn(this.primaryColor, { h: 64 }), this.fillType3 = mn(this.secondaryColor, { h: 64 }), this.fillType4 = mn(this.primaryColor, { h: -64 }), this.fillType5 = mn(this.secondaryColor, { h: -64 }), this.fillType6 = mn(this.primaryColor, { h: 128 }), this.fillType7 = mn(this.secondaryColor, { h: 128 }), this.pie1 = this.pie1 || this.primaryColor, this.pie2 = this.pie2 || this.secondaryColor, this.pie3 = this.pie3 || this.tertiaryColor, this.pie4 = this.pie4 || mn(this.primaryColor, { l: -30 }), this.pie5 = this.pie5 || mn(this.secondaryColor, { l: -30 }), this.pie6 = this.pie6 || mn(this.tertiaryColor, { h: 40, l: -40 }), this.pie7 = this.pie7 || mn(this.primaryColor, { h: 60, l: -10 }), this.pie8 = this.pie8 || mn(this.primaryColor, { h: -60, l: -10 }), this.pie9 = this.pie9 || mn(this.primaryColor, { h: 120, l: 0 }), this.pie10 = this.pie10 || mn(this.primaryColor, { h: 60, l: -50 }), this.pie11 = this.pie11 || mn(this.primaryColor, { h: -60, l: -50 }), this.pie12 = this.pie12 || mn(this.primaryColor, { h: 120, l: -50 }), this.pieTitleTextSize = this.pieTitleTextSize || "25px", this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor, this.pieSectionTextSize = this.pieSectionTextSize || "17px", this.pieSectionTextColor = this.pieSectionTextColor || this.textColor, this.pieLegendTextSize = this.pieLegendTextSize || "17px", this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor, this.pieStrokeColor = this.pieStrokeColor || "black", this.pieStrokeWidth = this.pieStrokeWidth || "2px", this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px", this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black", this.pieOpacity = this.pieOpacity || "0.7", this.quadrant1Fill = this.quadrant1Fill || this.primaryColor, this.quadrant2Fill = this.quadrant2Fill || mn(this.primaryColor, { r: 5, g: 5, b: 5 }), this.quadrant3Fill = this.quadrant3Fill || mn(this.primaryColor, { r: 10, g: 10, b: 10 }), this.quadrant4Fill = this.quadrant4Fill || mn(this.primaryColor, { r: 15, g: 15, b: 15 }), this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor, this.quadrant2TextFill = this.quadrant2TextFill || mn(this.primaryTextColor, { r: -5, g: -5, b: -5 }), this.quadrant3TextFill = this.quadrant3TextFill || mn(this.primaryTextColor, { r: -10, g: -10, b: -10 }), this.quadrant4TextFill = this.quadrant4TextFill || mn(this.primaryTextColor, { r: -15, g: -15, b: -15 }), this.quadrantPointFill = this.quadrantPointFill || X9(this.quadrant1Fill) ? Ds(this.quadrant1Fill) : ta(this.quadrant1Fill), this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor, this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor, this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor, this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor, this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor, this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor, this.requirementBackground = this.requirementBackground || this.primaryColor, this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor, this.requirementBorderSize = this.requirementBorderSize || "1", this.requirementTextColor = this.requirementTextColor || this.primaryTextColor, this.relationColor = this.relationColor || this.lineColor, this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground, this.relationLabelColor = this.relationLabelColor || this.actorTextColor, this.git0 = this.git0 || this.primaryColor, this.git1 = this.git1 || this.secondaryColor, this.git2 = this.git2 || this.tertiaryColor, this.git3 = this.git3 || mn(this.primaryColor, { h: -30 }), this.git4 = this.git4 || mn(this.primaryColor, { h: -60 }), this.git5 = this.git5 || mn(this.primaryColor, { h: -90 }), this.git6 = this.git6 || mn(this.primaryColor, { h: 60 }), this.git7 = this.git7 || mn(this.primaryColor, { h: 120 }), this.darkMode ? (this.git0 = Ds(this.git0, 25), this.git1 = Ds(this.git1, 25), this.git2 = Ds(this.git2, 25), this.git3 = Ds(this.git3, 25), this.git4 = Ds(this.git4, 25), this.git5 = Ds(this.git5, 25), this.git6 = Ds(this.git6, 25), this.git7 = Ds(this.git7, 25)) : (this.git0 = ta(this.git0, 25), this.git1 = ta(this.git1, 25), this.git2 = ta(this.git2, 25), this.git3 = ta(this.git3, 25), this.git4 = ta(this.git4, 25), this.git5 = ta(this.git5, 25), this.git6 = ta(this.git6, 25), this.git7 = ta(this.git7, 25)), this.gitInv0 = this.gitInv0 || Hi(this.git0), this.gitInv1 = this.gitInv1 || Hi(this.git1), this.gitInv2 = this.gitInv2 || Hi(this.git2), this.gitInv3 = this.gitInv3 || Hi(this.git3), this.gitInv4 = this.gitInv4 || Hi(this.git4), this.gitInv5 = this.gitInv5 || Hi(this.git5), this.gitInv6 = this.gitInv6 || Hi(this.git6), this.gitInv7 = this.gitInv7 || Hi(this.git7), this.gitBranchLabel0 = this.gitBranchLabel0 || Hi(this.labelTextColor), this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor, this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor, this.gitBranchLabel3 = this.gitBranchLabel3 || Hi(this.labelTextColor), this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor, this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor, this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor, this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor, this.tagLabelColor = this.tagLabelColor || this.primaryTextColor, this.tagLabelBackground = this.tagLabelBackground || this.primaryColor, this.tagLabelBorder = this.tagBorder || this.primaryBorderColor, this.tagLabelFontSize = this.tagLabelFontSize || "10px", this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor, this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor, this.commitLabelFontSize = this.commitLabelFontSize || "10px", this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || eW, this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || nW } calculate(a) { if (typeof a != "object") { this.updateColors(); return } const f = Object.keys(a); f.forEach(p => { this[p] = a[p] }), this.updateColors(), f.forEach(p => { this[p] = a[p] }) } }; const sEe = i => { const a = new iEe; return a.calculate(i), a }; class aEe { constructor() { this.primaryColor = "#eee", this.contrast = "#707070", this.secondaryColor = Ds(this.contrast, 55), this.background = "#ffffff", this.tertiaryColor = mn(this.primaryColor, { h: -160 }), this.primaryBorderColor = ag(this.primaryColor, this.darkMode), this.secondaryBorderColor = ag(this.secondaryColor, this.darkMode), this.tertiaryBorderColor = ag(this.tertiaryColor, this.darkMode), this.primaryTextColor = Hi(this.primaryColor), this.secondaryTextColor = Hi(this.secondaryColor), this.tertiaryTextColor = Hi(this.tertiaryColor), this.lineColor = Hi(this.background), this.textColor = Hi(this.background), this.mainBkg = "#eee", this.secondBkg = "calculated", this.lineColor = "#666", this.border1 = "#999", this.border2 = "calculated", this.note = "#ffa", this.text = "#333", this.critical = "#d42", this.done = "#bbb", this.arrowheadColor = "#333333", this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif', this.fontSize = "16px", this.THEME_COLOR_LIMIT = 12, this.nodeBkg = "calculated", this.nodeBorder = "calculated", this.clusterBkg = "calculated", this.clusterBorder = "calculated", this.defaultLinkColor = "calculated", this.titleColor = "calculated", this.edgeLabelBackground = "white", this.actorBorder = "calculated", this.actorBkg = "calculated", this.actorTextColor = "calculated", this.actorLineColor = "calculated", this.signalColor = "calculated", this.signalTextColor = "calculated", this.labelBoxBkgColor = "calculated", this.labelBoxBorderColor = "calculated", this.labelTextColor = "calculated", this.loopTextColor = "calculated", this.noteBorderColor = "calculated", this.noteBkgColor = "calculated", this.noteTextColor = "calculated", this.activationBorderColor = "#666", this.activationBkgColor = "#f4f4f4", this.sequenceNumberColor = "white", this.sectionBkgColor = "calculated", this.altSectionBkgColor = "white", this.sectionBkgColor2 = "calculated", this.excludeBkgColor = "#eeeeee", this.taskBorderColor = "calculated", this.taskBkgColor = "calculated", this.taskTextLightColor = "white", this.taskTextColor = "calculated", this.taskTextDarkColor = "calculated", this.taskTextOutsideColor = "calculated", this.taskTextClickableColor = "#003163", this.activeTaskBorderColor = "calculated", this.activeTaskBkgColor = "calculated", this.gridColor = "calculated", this.doneTaskBkgColor = "calculated", this.doneTaskBorderColor = "calculated", this.critBkgColor = "calculated", this.critBorderColor = "calculated", this.todayLineColor = "calculated", this.personBorder = this.primaryBorderColor, this.personBkg = this.mainBkg, this.labelColor = "black", this.errorBkgColor = "#552222", this.errorTextColor = "#552222" } updateColors() { this.secondBkg = Ds(this.contrast, 55), this.border2 = this.contrast, this.actorBorder = Ds(this.border1, 23), this.actorBkg = this.mainBkg, this.actorTextColor = this.text, this.actorLineColor = this.lineColor, this.signalColor = this.text, this.signalTextColor = this.text, this.labelBoxBkgColor = this.actorBkg, this.labelBoxBorderColor = this.actorBorder, this.labelTextColor = this.text, this.loopTextColor = this.text, this.noteBorderColor = "#999", this.noteBkgColor = "#666", this.noteTextColor = "#fff", this.cScale0 = this.cScale0 || "#555", this.cScale1 = this.cScale1 || "#F4F4F4", this.cScale2 = this.cScale2 || "#555", this.cScale3 = this.cScale3 || "#BBB", this.cScale4 = this.cScale4 || "#777", this.cScale5 = this.cScale5 || "#999", this.cScale6 = this.cScale6 || "#DDD", this.cScale7 = this.cScale7 || "#FFF", this.cScale8 = this.cScale8 || "#DDD", this.cScale9 = this.cScale9 || "#BBB", this.cScale10 = this.cScale10 || "#999", this.cScale11 = this.cScale11 || "#777"; for (let a = 0; a < this.THEME_COLOR_LIMIT; a++)this["cScaleInv" + a] = this["cScaleInv" + a] || Hi(this["cScale" + a]); for (let a = 0; a < this.THEME_COLOR_LIMIT; a++)this.darkMode ? this["cScalePeer" + a] = this["cScalePeer" + a] || Ds(this["cScale" + a], 10) : this["cScalePeer" + a] = this["cScalePeer" + a] || ta(this["cScale" + a], 10); this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? "black" : this.labelTextColor), this.cScaleLabel0 = this.cScaleLabel0 || this.cScale1, this.cScaleLabel2 = this.cScaleLabel2 || this.cScale1; for (let a = 0; a < this.THEME_COLOR_LIMIT; a++)this["cScaleLabel" + a] = this["cScaleLabel" + a] || this.scaleLabelColor; for (let a = 0; a < 5; a++)this["surface" + a] = this["surface" + a] || mn(this.mainBkg, { l: -(5 + a * 5) }), this["surfacePeer" + a] = this["surfacePeer" + a] || mn(this.mainBkg, { l: -(8 + a * 5) }); this.nodeBkg = this.mainBkg, this.nodeBorder = this.border1, this.clusterBkg = this.secondBkg, this.clusterBorder = this.border2, this.defaultLinkColor = this.lineColor, this.titleColor = this.text, this.sectionBkgColor = Ds(this.contrast, 30), this.sectionBkgColor2 = Ds(this.contrast, 30), this.taskBorderColor = ta(this.contrast, 10), this.taskBkgColor = this.contrast, this.taskTextColor = this.taskTextLightColor, this.taskTextDarkColor = this.text, this.taskTextOutsideColor = this.taskTextDarkColor, this.activeTaskBorderColor = this.taskBorderColor, this.activeTaskBkgColor = this.mainBkg, this.gridColor = Ds(this.border1, 30), this.doneTaskBkgColor = this.done, this.doneTaskBorderColor = this.lineColor, this.critBkgColor = this.critical, this.critBorderColor = ta(this.critBkgColor, 10), this.todayLineColor = this.critBkgColor, this.transitionColor = this.transitionColor || "#000", this.transitionLabelColor = this.transitionLabelColor || this.textColor, this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor, this.stateBkg = this.stateBkg || this.mainBkg, this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg, this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor, this.altBackground = this.altBackground || "#f4f4f4", this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg, this.stateBorder = this.stateBorder || "#000", this.innerEndBackground = this.primaryBorderColor, this.specialStateColor = "#222", this.errorBkgColor = this.errorBkgColor || this.tertiaryColor, this.errorTextColor = this.errorTextColor || this.tertiaryTextColor, this.classText = this.primaryTextColor, this.fillType0 = this.primaryColor, this.fillType1 = this.secondaryColor, this.fillType2 = mn(this.primaryColor, { h: 64 }), this.fillType3 = mn(this.secondaryColor, { h: 64 }), this.fillType4 = mn(this.primaryColor, { h: -64 }), this.fillType5 = mn(this.secondaryColor, { h: -64 }), this.fillType6 = mn(this.primaryColor, { h: 128 }), this.fillType7 = mn(this.secondaryColor, { h: 128 }); for (let a = 0; a < this.THEME_COLOR_LIMIT; a++)this["pie" + a] = this["cScale" + a]; this.pie12 = this.pie0, this.pieTitleTextSize = this.pieTitleTextSize || "25px", this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor, this.pieSectionTextSize = this.pieSectionTextSize || "17px", this.pieSectionTextColor = this.pieSectionTextColor || this.textColor, this.pieLegendTextSize = this.pieLegendTextSize || "17px", this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor, this.pieStrokeColor = this.pieStrokeColor || "black", this.pieStrokeWidth = this.pieStrokeWidth || "2px", this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px", this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black", this.pieOpacity = this.pieOpacity || "0.7", this.quadrant1Fill = this.quadrant1Fill || this.primaryColor, this.quadrant2Fill = this.quadrant2Fill || mn(this.primaryColor, { r: 5, g: 5, b: 5 }), this.quadrant3Fill = this.quadrant3Fill || mn(this.primaryColor, { r: 10, g: 10, b: 10 }), this.quadrant4Fill = this.quadrant4Fill || mn(this.primaryColor, { r: 15, g: 15, b: 15 }), this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor, this.quadrant2TextFill = this.quadrant2TextFill || mn(this.primaryTextColor, { r: -5, g: -5, b: -5 }), this.quadrant3TextFill = this.quadrant3TextFill || mn(this.primaryTextColor, { r: -10, g: -10, b: -10 }), this.quadrant4TextFill = this.quadrant4TextFill || mn(this.primaryTextColor, { r: -15, g: -15, b: -15 }), this.quadrantPointFill = this.quadrantPointFill || X9(this.quadrant1Fill) ? Ds(this.quadrant1Fill) : ta(this.quadrant1Fill), this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor, this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor, this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor, this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor, this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor, this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor, this.requirementBackground = this.requirementBackground || this.primaryColor, this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor, this.requirementBorderSize = this.requirementBorderSize || "1", this.requirementTextColor = this.requirementTextColor || this.primaryTextColor, this.relationColor = this.relationColor || this.lineColor, this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground, this.relationLabelColor = this.relationLabelColor || this.actorTextColor, this.git0 = ta(this.pie1, 25) || this.primaryColor, this.git1 = this.pie2 || this.secondaryColor, this.git2 = this.pie3 || this.tertiaryColor, this.git3 = this.pie4 || mn(this.primaryColor, { h: -30 }), this.git4 = this.pie5 || mn(this.primaryColor, { h: -60 }), this.git5 = this.pie6 || mn(this.primaryColor, { h: -90 }), this.git6 = this.pie7 || mn(this.primaryColor, { h: 60 }), this.git7 = this.pie8 || mn(this.primaryColor, { h: 120 }), this.gitInv0 = this.gitInv0 || Hi(this.git0), this.gitInv1 = this.gitInv1 || Hi(this.git1), this.gitInv2 = this.gitInv2 || Hi(this.git2), this.gitInv3 = this.gitInv3 || Hi(this.git3), this.gitInv4 = this.gitInv4 || Hi(this.git4), this.gitInv5 = this.gitInv5 || Hi(this.git5), this.gitInv6 = this.gitInv6 || Hi(this.git6), this.gitInv7 = this.gitInv7 || Hi(this.git7), this.branchLabelColor = this.branchLabelColor || this.labelTextColor, this.gitBranchLabel0 = this.branchLabelColor, this.gitBranchLabel1 = "white", this.gitBranchLabel2 = this.branchLabelColor, this.gitBranchLabel3 = "white", this.gitBranchLabel4 = this.branchLabelColor, this.gitBranchLabel5 = this.branchLabelColor, this.gitBranchLabel6 = this.branchLabelColor, this.gitBranchLabel7 = this.branchLabelColor, this.tagLabelColor = this.tagLabelColor || this.primaryTextColor, this.tagLabelBackground = this.tagLabelBackground || this.primaryColor, this.tagLabelBorder = this.tagBorder || this.primaryBorderColor, this.tagLabelFontSize = this.tagLabelFontSize || "10px", this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor, this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor, this.commitLabelFontSize = this.commitLabelFontSize || "10px", this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || eW, this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || nW } calculate(a) { if (typeof a != "object") { this.updateColors(); return } const f = Object.keys(a); f.forEach(p => { this[p] = a[p] }), this.updateColors(), f.forEach(p => { this[p] = a[p] }) } } const w5 = { base: { getThemeVariables: tEe }, dark: { getThemeVariables: nEe }, default: { getThemeVariables: IDt }, forest: { getThemeVariables: sEe }, neutral: { getThemeVariables: i => { const a = new aEe; return a.calculate(i), a } } }, Jx = { theme: "default", themeVariables: w5.default.getThemeVariables(), themeCSS: void 0, maxTextSize: 5e4, darkMode: !1, fontFamily: '"trebuchet ms", verdana, arial, sans-serif;', logLevel: 5, securityLevel: "strict", startOnLoad: !0, arrowMarkerAbsolute: !1, secure: ["secure", "securityLevel", "startOnLoad", "maxTextSize"], deterministicIds: !1, deterministicIDSeed: void 0, flowchart: { titleTopMargin: 25, diagramPadding: 8, htmlLabels: !0, nodeSpacing: 50, rankSpacing: 50, curve: "basis", padding: 15, useMaxWidth: !0, defaultRenderer: "dagre-wrapper", wrappingWidth: 200 }, sequence: { hideUnusedParticipants: !1, activationWidth: 10, diagramMarginX: 50, diagramMarginY: 10, actorMargin: 50, width: 150, height: 65, boxMargin: 10, boxTextMargin: 5, noteMargin: 10, messageMargin: 35, messageAlign: "center", mirrorActors: !0, forceMenus: !1, bottomMarginAdj: 1, useMaxWidth: !0, rightAngles: !1, showSequenceNumbers: !1, actorFontSize: 14, actorFontFamily: '"Open Sans", sans-serif', actorFontWeight: 400, noteFontSize: 14, noteFontFamily: '"trebuchet ms", verdana, arial, sans-serif', noteFontWeight: 400, noteAlign: "center", messageFontSize: 16, messageFontFamily: '"trebuchet ms", verdana, arial, sans-serif', messageFontWeight: 400, wrap: !1, wrapPadding: 10, labelBoxWidth: 50, labelBoxHeight: 20, messageFont: function () { return { fontFamily: this.messageFontFamily, fontSize: this.messageFontSize, fontWeight: this.messageFontWeight } }, noteFont: function () { return { fontFamily: this.noteFontFamily, fontSize: this.noteFontSize, fontWeight: this.noteFontWeight } }, actorFont: function () { return { fontFamily: this.actorFontFamily, fontSize: this.actorFontSize, fontWeight: this.actorFontWeight } } }, gantt: { titleTopMargin: 25, barHeight: 20, barGap: 4, topPadding: 50, rightPadding: 75, leftPadding: 75, gridLineStartPadding: 35, fontSize: 11, sectionFontSize: 11, numberSectionStyles: 4, displayMode: "", axisFormat: "%Y-%m-%d", tickInterval: void 0, useMaxWidth: !0, topAxis: !1, useWidth: void 0 }, journey: { diagramMarginX: 50, diagramMarginY: 10, leftMargin: 150, width: 150, height: 50, boxMargin: 10, boxTextMargin: 5, noteMargin: 10, messageMargin: 35, messageAlign: "center", bottomMarginAdj: 1, useMaxWidth: !0, rightAngles: !1, taskFontSize: 14, taskFontFamily: '"Open Sans", sans-serif', taskMargin: 50, activationWidth: 10, textPlacement: "fo", actorColours: ["#8FBC8F", "#7CFC00", "#00FFFF", "#20B2AA", "#B0E0E6", "#FFFFE0"], sectionFills: ["#191970", "#8B008B", "#4B0082", "#2F4F4F", "#800000", "#8B4513", "#00008B"], sectionColours: ["#fff"] }, timeline: { diagramMarginX: 50, diagramMarginY: 10, leftMargin: 150, width: 150, height: 50, boxMargin: 10, boxTextMargin: 5, noteMargin: 10, messageMargin: 35, messageAlign: "center", bottomMarginAdj: 1, useMaxWidth: !0, rightAngles: !1, taskFontSize: 14, taskFontFamily: '"Open Sans", sans-serif', taskMargin: 50, activationWidth: 10, textPlacement: "fo", actorColours: ["#8FBC8F", "#7CFC00", "#00FFFF", "#20B2AA", "#B0E0E6", "#FFFFE0"], sectionFills: ["#191970", "#8B008B", "#4B0082", "#2F4F4F", "#800000", "#8B4513", "#00008B"], sectionColours: ["#fff"], disableMulticolor: !1 }, class: { titleTopMargin: 25, arrowMarkerAbsolute: !1, dividerMargin: 10, padding: 5, textHeight: 10, useMaxWidth: !0, defaultRenderer: "dagre-wrapper" }, state: { titleTopMargin: 25, dividerMargin: 10, sizeUnit: 5, padding: 8, textHeight: 10, titleShift: -15, noteMargin: 10, forkWidth: 70, forkHeight: 7, miniPadding: 2, fontSizeFactor: 5.02, fontSize: 24, labelHeight: 16, edgeLengthFactor: "20", compositTitleSize: 35, radius: 5, useMaxWidth: !0, defaultRenderer: "dagre-wrapper" }, er: { titleTopMargin: 25, diagramPadding: 20, layoutDirection: "TB", minEntityWidth: 100, minEntityHeight: 75, entityPadding: 15, stroke: "gray", fill: "honeydew", fontSize: 12, useMaxWidth: !0 }, pie: { useWidth: void 0, useMaxWidth: !0, textPosition: .75 }, quadrantChart: { chartWidth: 500, chartHeight: 500, titlePadding: 10, titleFontSize: 20, quadrantPadding: 5, quadrantTextTopPadding: 5, quadrantLabelFontSize: 16, quadrantInternalBorderStrokeWidth: 1, quadrantExternalBorderStrokeWidth: 2, xAxisLabelPadding: 5, xAxisLabelFontSize: 16, xAxisPosition: "top", yAxisLabelPadding: 5, yAxisLabelFontSize: 16, yAxisPosition: "left", pointTextPadding: 5, pointLabelFontSize: 12, pointRadius: 5, useMaxWidth: !0 }, requirement: { useWidth: void 0, useMaxWidth: !0, rect_fill: "#f9f9f9", text_color: "#333", rect_border_size: "0.5px", rect_border_color: "#bbb", rect_min_width: 200, rect_min_height: 200, fontSize: 14, rect_padding: 10, line_height: 20 }, gitGraph: { titleTopMargin: 25, diagramPadding: 8, nodeLabel: { width: 75, height: 100, x: -25, y: 0 }, mainBranchName: "main", mainBranchOrder: 0, showCommitLabel: !0, showBranches: !0, rotateCommitLabel: !0 }, c4: { useWidth: void 0, diagramMarginX: 50, diagramMarginY: 10, c4ShapeMargin: 50, c4ShapePadding: 20, width: 216, height: 60, boxMargin: 10, useMaxWidth: !0, c4ShapeInRow: 4, nextLinePaddingX: 0, c4BoundaryInRow: 2, personFontSize: 14, personFontFamily: '"Open Sans", sans-serif', personFontWeight: "normal", external_personFontSize: 14, external_personFontFamily: '"Open Sans", sans-serif', external_personFontWeight: "normal", systemFontSize: 14, systemFontFamily: '"Open Sans", sans-serif', systemFontWeight: "normal", external_systemFontSize: 14, external_systemFontFamily: '"Open Sans", sans-serif', external_systemFontWeight: "normal", system_dbFontSize: 14, system_dbFontFamily: '"Open Sans", sans-serif', system_dbFontWeight: "normal", external_system_dbFontSize: 14, external_system_dbFontFamily: '"Open Sans", sans-serif', external_system_dbFontWeight: "normal", system_queueFontSize: 14, system_queueFontFamily: '"Open Sans", sans-serif', system_queueFontWeight: "normal", external_system_queueFontSize: 14, external_system_queueFontFamily: '"Open Sans", sans-serif', external_system_queueFontWeight: "normal", boundaryFontSize: 14, boundaryFontFamily: '"Open Sans", sans-serif', boundaryFontWeight: "normal", messageFontSize: 12, messageFontFamily: '"Open Sans", sans-serif', messageFontWeight: "normal", containerFontSize: 14, containerFontFamily: '"Open Sans", sans-serif', containerFontWeight: "normal", external_containerFontSize: 14, external_containerFontFamily: '"Open Sans", sans-serif', external_containerFontWeight: "normal", container_dbFontSize: 14, container_dbFontFamily: '"Open Sans", sans-serif', container_dbFontWeight: "normal", external_container_dbFontSize: 14, external_container_dbFontFamily: '"Open Sans", sans-serif', external_container_dbFontWeight: "normal", container_queueFontSize: 14, container_queueFontFamily: '"Open Sans", sans-serif', container_queueFontWeight: "normal", external_container_queueFontSize: 14, external_container_queueFontFamily: '"Open Sans", sans-serif', external_container_queueFontWeight: "normal", componentFontSize: 14, componentFontFamily: '"Open Sans", sans-serif', componentFontWeight: "normal", external_componentFontSize: 14, external_componentFontFamily: '"Open Sans", sans-serif', external_componentFontWeight: "normal", component_dbFontSize: 14, component_dbFontFamily: '"Open Sans", sans-serif', component_dbFontWeight: "normal", external_component_dbFontSize: 14, external_component_dbFontFamily: '"Open Sans", sans-serif', external_component_dbFontWeight: "normal", component_queueFontSize: 14, component_queueFontFamily: '"Open Sans", sans-serif', component_queueFontWeight: "normal", external_component_queueFontSize: 14, external_component_queueFontFamily: '"Open Sans", sans-serif', external_component_queueFontWeight: "normal", wrap: !0, wrapPadding: 10, personFont: function () { return { fontFamily: this.personFontFamily, fontSize: this.personFontSize, fontWeight: this.personFontWeight } }, external_personFont: function () { return { fontFamily: this.external_personFontFamily, fontSize: this.external_personFontSize, fontWeight: this.external_personFontWeight } }, systemFont: function () { return { fontFamily: this.systemFontFamily, fontSize: this.systemFontSize, fontWeight: this.systemFontWeight } }, external_systemFont: function () { return { fontFamily: this.external_systemFontFamily, fontSize: this.external_systemFontSize, fontWeight: this.external_systemFontWeight } }, system_dbFont: function () { return { fontFamily: this.system_dbFontFamily, fontSize: this.system_dbFontSize, fontWeight: this.system_dbFontWeight } }, external_system_dbFont: function () { return { fontFamily: this.external_system_dbFontFamily, fontSize: this.external_system_dbFontSize, fontWeight: this.external_system_dbFontWeight } }, system_queueFont: function () { return { fontFamily: this.system_queueFontFamily, fontSize: this.system_queueFontSize, fontWeight: this.system_queueFontWeight } }, external_system_queueFont: function () { return { fontFamily: this.external_system_queueFontFamily, fontSize: this.external_system_queueFontSize, fontWeight: this.external_system_queueFontWeight } }, containerFont: function () { return { fontFamily: this.containerFontFamily, fontSize: this.containerFontSize, fontWeight: this.containerFontWeight } }, external_containerFont: function () { return { fontFamily: this.external_containerFontFamily, fontSize: this.external_containerFontSize, fontWeight: this.external_containerFontWeight } }, container_dbFont: function () { return { fontFamily: this.container_dbFontFamily, fontSize: this.container_dbFontSize, fontWeight: this.container_dbFontWeight } }, external_container_dbFont: function () { return { fontFamily: this.external_container_dbFontFamily, fontSize: this.external_container_dbFontSize, fontWeight: this.external_container_dbFontWeight } }, container_queueFont: function () { return { fontFamily: this.container_queueFontFamily, fontSize: this.container_queueFontSize, fontWeight: this.container_queueFontWeight } }, external_container_queueFont: function () { return { fontFamily: this.external_container_queueFontFamily, fontSize: this.external_container_queueFontSize, fontWeight: this.external_container_queueFontWeight } }, componentFont: function () { return { fontFamily: this.componentFontFamily, fontSize: this.componentFontSize, fontWeight: this.componentFontWeight } }, external_componentFont: function () { return { fontFamily: this.external_componentFontFamily, fontSize: this.external_componentFontSize, fontWeight: this.external_componentFontWeight } }, component_dbFont: function () { return { fontFamily: this.component_dbFontFamily, fontSize: this.component_dbFontSize, fontWeight: this.component_dbFontWeight } }, external_component_dbFont: function () { return { fontFamily: this.external_component_dbFontFamily, fontSize: this.external_component_dbFontSize, fontWeight: this.external_component_dbFontWeight } }, component_queueFont: function () { return { fontFamily: this.component_queueFontFamily, fontSize: this.component_queueFontSize, fontWeight: this.component_queueFontWeight } }, external_component_queueFont: function () { return { fontFamily: this.external_component_queueFontFamily, fontSize: this.external_component_queueFontSize, fontWeight: this.external_component_queueFontWeight } }, boundaryFont: function () { return { fontFamily: this.boundaryFontFamily, fontSize: this.boundaryFontSize, fontWeight: this.boundaryFontWeight } }, messageFont: function () { return { fontFamily: this.messageFontFamily, fontSize: this.messageFontSize, fontWeight: this.messageFontWeight } }, person_bg_color: "#08427B", person_border_color: "#073B6F", external_person_bg_color: "#686868", external_person_border_color: "#8A8A8A", system_bg_color: "#1168BD", system_border_color: "#3C7FC0", system_db_bg_color: "#1168BD", system_db_border_color: "#3C7FC0", system_queue_bg_color: "#1168BD", system_queue_border_color: "#3C7FC0", external_system_bg_color: "#999999", external_system_border_color: "#8A8A8A", external_system_db_bg_color: "#999999", external_system_db_border_color: "#8A8A8A", external_system_queue_bg_color: "#999999", external_system_queue_border_color: "#8A8A8A", container_bg_color: "#438DD5", container_border_color: "#3C7FC0", container_db_bg_color: "#438DD5", container_db_border_color: "#3C7FC0", container_queue_bg_color: "#438DD5", container_queue_border_color: "#3C7FC0", external_container_bg_color: "#B3B3B3", external_container_border_color: "#A6A6A6", external_container_db_bg_color: "#B3B3B3", external_container_db_border_color: "#A6A6A6", external_container_queue_bg_color: "#B3B3B3", external_container_queue_border_color: "#A6A6A6", component_bg_color: "#85BBF0", component_border_color: "#78A8D8", component_db_bg_color: "#85BBF0", component_db_border_color: "#78A8D8", component_queue_bg_color: "#85BBF0", component_queue_border_color: "#78A8D8", external_component_bg_color: "#CCCCCC", external_component_border_color: "#BFBFBF", external_component_db_bg_color: "#CCCCCC", external_component_db_border_color: "#BFBFBF", external_component_queue_bg_color: "#CCCCCC", external_component_queue_border_color: "#BFBFBF" }, mindmap: { useMaxWidth: !0, padding: 10, maxNodeWidth: 200 }, fontSize: 16 }; Jx.class && (Jx.class.arrowMarkerAbsolute = Jx.arrowMarkerAbsolute), Jx.gitGraph && (Jx.gitGraph.arrowMarkerAbsolute = Jx.arrowMarkerAbsolute); const ODt = (i, a = "") => Object.keys(i).reduce((f, p) => Array.isArray(i[p]) ? f : typeof i[p] == "object" && i[p] !== null ? [...f, a + p, ...ODt(i[p], "")] : [...f, a + p], []), oEe = ODt(Jx, ""), f1 = Jx;/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function NDt(i) { return typeof i > "u" || i === null } function cEe(i) { return typeof i == "object" && i !== null } function uEe(i) { return Array.isArray(i) ? i : NDt(i) ? [] : [i] } function lEe(i, a) { var f, p, v, m; if (a) for (m = Object.keys(a), f = 0, p = m.length; f < p; f += 1)v = m[f], i[v] = a[v]; return i } function hEe(i, a) { var f = "", p; for (p = 0; p < a; p += 1)f += i; return f } function fEe(i) { return i === 0 && Number.NEGATIVE_INFINITY === 1 / i } var dEe = NDt, gEe = cEe, pEe = uEe, bEe = hEe, vEe = fEe, wEe = lEe, og = { isNothing: dEe, isObject: gEe, toArray: pEe, repeat: bEe, isNegativeZero: vEe, extend: wEe }; function PDt(i, a) {
        var f = "", p = i.reason || "(unknown reason)"; return i.mark ? (i.mark.name && (f += 'in "' + i.mark.name + '" '), f += "(" + (i.mark.line + 1) + ":" + (i.mark.column + 1) + ")", !a && i.mark.snippet && (f += `
    
    `+ i.mark.snippet), p + " " + f) : p
    } function jN(i, a) { Error.call(this), this.name = "YAMLException", this.reason = i, this.mark = a, this.message = PDt(this, !1), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = new Error().stack || "" } jN.prototype = Object.create(Error.prototype), jN.prototype.constructor = jN, jN.prototype.toString = function (a) { return this.name + ": " + PDt(this, a) }; var m5 = jN; function O1t(i, a, f, p, v) { var m = "", b = "", E = Math.floor(v / 2) - 1; return p - a > E && (m = " ... ", a = p - E + m.length), f - p > E && (b = " ...", f = p + E - b.length), { str: m + i.slice(a, f).replace(/\t/g, "→") + b, pos: p - a + m.length } } function N1t(i, a) { return og.repeat(" ", a - i.length) + i } function mEe(i, a) {
        if (a = Object.create(a || null), !i.buffer) return null; a.maxLength || (a.maxLength = 79), typeof a.indent != "number" && (a.indent = 1), typeof a.linesBefore != "number" && (a.linesBefore = 3), typeof a.linesAfter != "number" && (a.linesAfter = 2); for (var f = /\r?\n|\r|\0/g, p = [0], v = [], m, b = -1; m = f.exec(i.buffer);)v.push(m.index), p.push(m.index + m[0].length), i.position <= m.index && b < 0 && (b = p.length - 2); b < 0 && (b = p.length - 1); var E = "", C, D, P = Math.min(i.line + a.linesAfter, v.length).toString().length, B = a.maxLength - (a.indent + P + 3); for (C = 1; C <= a.linesBefore && !(b - C < 0); C++)D = O1t(i.buffer, p[b - C], v[b - C], i.position - (p[b] - p[b - C]), B), E = og.repeat(" ", a.indent) + N1t((i.line - C + 1).toString(), P) + " | " + D.str + `
    `+ E; for (D = O1t(i.buffer, p[b], v[b], i.position, B), E += og.repeat(" ", a.indent) + N1t((i.line + 1).toString(), P) + " | " + D.str + `
    `, E += og.repeat("-", a.indent + P + 3 + D.pos) + `^
    `, C = 1; C <= a.linesAfter && !(b + C >= v.length); C++)D = O1t(i.buffer, p[b + C], v[b + C], i.position - (p[b] - p[b + C]), B), E += og.repeat(" ", a.indent) + N1t((i.line + C + 1).toString(), P) + " | " + D.str + `
    `; return E.replace(/\n$/, "")
    } var yEe = mEe, xEe = ["kind", "multi", "resolve", "construct", "instanceOf", "predicate", "represent", "representName", "defaultStyle", "styleAliases"], kEe = ["scalar", "sequence", "mapping"]; function EEe(i) { var a = {}; return i !== null && Object.keys(i).forEach(function (f) { i[f].forEach(function (p) { a[String(p)] = f }) }), a } function TEe(i, a) { if (a = a || {}, Object.keys(a).forEach(function (f) { if (xEe.indexOf(f) === -1) throw new m5('Unknown option "' + f + '" is met in definition of "' + i + '" YAML type.') }), this.options = a, this.tag = i, this.kind = a.kind || null, this.resolve = a.resolve || function () { return !0 }, this.construct = a.construct || function (f) { return f }, this.instanceOf = a.instanceOf || null, this.predicate = a.predicate || null, this.represent = a.represent || null, this.representName = a.representName || null, this.defaultStyle = a.defaultStyle || null, this.multi = a.multi || !1, this.styleAliases = EEe(a.styleAliases || null), kEe.indexOf(this.kind) === -1) throw new m5('Unknown kind "' + this.kind + '" is specified for "' + i + '" YAML type.') } var x0 = TEe; function FDt(i, a) { var f = []; return i[a].forEach(function (p) { var v = f.length; f.forEach(function (m, b) { m.tag === p.tag && m.kind === p.kind && m.multi === p.multi && (v = b) }), f[v] = p }), f } function _Ee() { var i = { scalar: {}, sequence: {}, mapping: {}, fallback: {}, multi: { scalar: [], sequence: [], mapping: [], fallback: [] } }, a, f; function p(v) { v.multi ? (i.multi[v.kind].push(v), i.multi.fallback.push(v)) : i[v.kind][v.tag] = i.fallback[v.tag] = v } for (a = 0, f = arguments.length; a < f; a += 1)arguments[a].forEach(p); return i } function P1t(i) { return this.extend(i) } P1t.prototype.extend = function (a) { var f = [], p = []; if (a instanceof x0) p.push(a); else if (Array.isArray(a)) p = p.concat(a); else if (a && (Array.isArray(a.implicit) || Array.isArray(a.explicit))) a.implicit && (f = f.concat(a.implicit)), a.explicit && (p = p.concat(a.explicit)); else throw new m5("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })"); f.forEach(function (m) { if (!(m instanceof x0)) throw new m5("Specified list of YAML types (or a single Type object) contains a non-Type object."); if (m.loadKind && m.loadKind !== "scalar") throw new m5("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported."); if (m.multi) throw new m5("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.") }), p.forEach(function (m) { if (!(m instanceof x0)) throw new m5("Specified list of YAML types (or a single Type object) contains a non-Type object.") }); var v = Object.create(P1t.prototype); return v.implicit = (this.implicit || []).concat(f), v.explicit = (this.explicit || []).concat(p), v.compiledImplicit = FDt(v, "implicit"), v.compiledExplicit = FDt(v, "explicit"), v.compiledTypeMap = _Ee(v.compiledImplicit, v.compiledExplicit), v }; var CEe = P1t, SEe = new x0("tag:yaml.org,2002:str", { kind: "scalar", construct: function (i) { return i !== null ? i : "" } }), AEe = new x0("tag:yaml.org,2002:seq", { kind: "sequence", construct: function (i) { return i !== null ? i : [] } }), LEe = new x0("tag:yaml.org,2002:map", { kind: "mapping", construct: function (i) { return i !== null ? i : {} } }), BDt = new CEe({ explicit: [SEe, AEe, LEe] }); function MEe(i) { if (i === null) return !0; var a = i.length; return a === 1 && i === "~" || a === 4 && (i === "null" || i === "Null" || i === "NULL") } function DEe() { return null } function IEe(i) { return i === null } var OEe = new x0("tag:yaml.org,2002:null", { kind: "scalar", resolve: MEe, construct: DEe, predicate: IEe, represent: { canonical: function () { return "~" }, lowercase: function () { return "null" }, uppercase: function () { return "NULL" }, camelcase: function () { return "Null" }, empty: function () { return "" } }, defaultStyle: "lowercase" }); function NEe(i) { if (i === null) return !1; var a = i.length; return a === 4 && (i === "true" || i === "True" || i === "TRUE") || a === 5 && (i === "false" || i === "False" || i === "FALSE") } function PEe(i) { return i === "true" || i === "True" || i === "TRUE" } function FEe(i) { return Object.prototype.toString.call(i) === "[object Boolean]" } var BEe = new x0("tag:yaml.org,2002:bool", { kind: "scalar", resolve: NEe, construct: PEe, predicate: FEe, represent: { lowercase: function (i) { return i ? "true" : "false" }, uppercase: function (i) { return i ? "TRUE" : "FALSE" }, camelcase: function (i) { return i ? "True" : "False" } }, defaultStyle: "lowercase" }); function REe(i) { return 48 <= i && i <= 57 || 65 <= i && i <= 70 || 97 <= i && i <= 102 } function jEe(i) { return 48 <= i && i <= 55 } function $Ee(i) { return 48 <= i && i <= 57 } function zEe(i) { if (i === null) return !1; var a = i.length, f = 0, p = !1, v; if (!a) return !1; if (v = i[f], (v === "-" || v === "+") && (v = i[++f]), v === "0") { if (f + 1 === a) return !0; if (v = i[++f], v === "b") { for (f++; f < a; f++)if (v = i[f], v !== "_") { if (v !== "0" && v !== "1") return !1; p = !0 } return p && v !== "_" } if (v === "x") { for (f++; f < a; f++)if (v = i[f], v !== "_") { if (!REe(i.charCodeAt(f))) return !1; p = !0 } return p && v !== "_" } if (v === "o") { for (f++; f < a; f++)if (v = i[f], v !== "_") { if (!jEe(i.charCodeAt(f))) return !1; p = !0 } return p && v !== "_" } } if (v === "_") return !1; for (; f < a; f++)if (v = i[f], v !== "_") { if (!$Ee(i.charCodeAt(f))) return !1; p = !0 } return !(!p || v === "_") } function qEe(i) { var a = i, f = 1, p; if (a.indexOf("_") !== -1 && (a = a.replace(/_/g, "")), p = a[0], (p === "-" || p === "+") && (p === "-" && (f = -1), a = a.slice(1), p = a[0]), a === "0") return 0; if (p === "0") { if (a[1] === "b") return f * parseInt(a.slice(2), 2); if (a[1] === "x") return f * parseInt(a.slice(2), 16); if (a[1] === "o") return f * parseInt(a.slice(2), 8) } return f * parseInt(a, 10) } function HEe(i) { return Object.prototype.toString.call(i) === "[object Number]" && i % 1 === 0 && !og.isNegativeZero(i) } var VEe = new x0("tag:yaml.org,2002:int", { kind: "scalar", resolve: zEe, construct: qEe, predicate: HEe, represent: { binary: function (i) { return i >= 0 ? "0b" + i.toString(2) : "-0b" + i.toString(2).slice(1) }, octal: function (i) { return i >= 0 ? "0o" + i.toString(8) : "-0o" + i.toString(8).slice(1) }, decimal: function (i) { return i.toString(10) }, hexadecimal: function (i) { return i >= 0 ? "0x" + i.toString(16).toUpperCase() : "-0x" + i.toString(16).toUpperCase().slice(1) } }, defaultStyle: "decimal", styleAliases: { binary: [2, "bin"], octal: [8, "oct"], decimal: [10, "dec"], hexadecimal: [16, "hex"] } }), GEe = new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"); function UEe(i) { return !(i === null || !GEe.test(i) || i[i.length - 1] === "_") } function WEe(i) { var a, f; return a = i.replace(/_/g, "").toLowerCase(), f = a[0] === "-" ? -1 : 1, "+-".indexOf(a[0]) >= 0 && (a = a.slice(1)), a === ".inf" ? f === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY : a === ".nan" ? NaN : f * parseFloat(a, 10) } var KEe = /^[-+]?[0-9]+e/; function YEe(i, a) { var f; if (isNaN(i)) switch (a) { case "lowercase": return ".nan"; case "uppercase": return ".NAN"; case "camelcase": return ".NaN" } else if (Number.POSITIVE_INFINITY === i) switch (a) { case "lowercase": return ".inf"; case "uppercase": return ".INF"; case "camelcase": return ".Inf" } else if (Number.NEGATIVE_INFINITY === i) switch (a) { case "lowercase": return "-.inf"; case "uppercase": return "-.INF"; case "camelcase": return "-.Inf" } else if (og.isNegativeZero(i)) return "-0.0"; return f = i.toString(10), KEe.test(f) ? f.replace("e", ".e") : f } function XEe(i) { return Object.prototype.toString.call(i) === "[object Number]" && (i % 1 !== 0 || og.isNegativeZero(i)) } var QEe = new x0("tag:yaml.org,2002:float", { kind: "scalar", resolve: UEe, construct: WEe, predicate: XEe, represent: YEe, defaultStyle: "lowercase" }), ZEe = BDt.extend({ implicit: [OEe, BEe, VEe, QEe] }), JEe = ZEe, RDt = new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"), jDt = new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"); function tTe(i) { return i === null ? !1 : RDt.exec(i) !== null || jDt.exec(i) !== null } function eTe(i) { var a, f, p, v, m, b, E, C = 0, D = null, P, B, j; if (a = RDt.exec(i), a === null && (a = jDt.exec(i)), a === null) throw new Error("Date resolve error"); if (f = +a[1], p = +a[2] - 1, v = +a[3], !a[4]) return new Date(Date.UTC(f, p, v)); if (m = +a[4], b = +a[5], E = +a[6], a[7]) { for (C = a[7].slice(0, 3); C.length < 3;)C += "0"; C = +C } return a[9] && (P = +a[10], B = +(a[11] || 0), D = (P * 60 + B) * 6e4, a[9] === "-" && (D = -D)), j = new Date(Date.UTC(f, p, v, m, b, E, C)), D && j.setTime(j.getTime() - D), j } function nTe(i) { return i.toISOString() } var rTe = new x0("tag:yaml.org,2002:timestamp", { kind: "scalar", resolve: tTe, construct: eTe, instanceOf: Date, represent: nTe }); function iTe(i) { return i === "<<" || i === null } var sTe = new x0("tag:yaml.org,2002:merge", { kind: "scalar", resolve: iTe }), F1t = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
    \r`; function aTe(i) { if (i === null) return !1; var a, f, p = 0, v = i.length, m = F1t; for (f = 0; f < v; f++)if (a = m.indexOf(i.charAt(f)), !(a > 64)) { if (a < 0) return !1; p += 6 } return p % 8 === 0 } function oTe(i) { var a, f, p = i.replace(/[\r\n=]/g, ""), v = p.length, m = F1t, b = 0, E = []; for (a = 0; a < v; a++)a % 4 === 0 && a && (E.push(b >> 16 & 255), E.push(b >> 8 & 255), E.push(b & 255)), b = b << 6 | m.indexOf(p.charAt(a)); return f = v % 4 * 6, f === 0 ? (E.push(b >> 16 & 255), E.push(b >> 8 & 255), E.push(b & 255)) : f === 18 ? (E.push(b >> 10 & 255), E.push(b >> 2 & 255)) : f === 12 && E.push(b >> 4 & 255), new Uint8Array(E) } function cTe(i) { var a = "", f = 0, p, v, m = i.length, b = F1t; for (p = 0; p < m; p++)p % 3 === 0 && p && (a += b[f >> 18 & 63], a += b[f >> 12 & 63], a += b[f >> 6 & 63], a += b[f & 63]), f = (f << 8) + i[p]; return v = m % 3, v === 0 ? (a += b[f >> 18 & 63], a += b[f >> 12 & 63], a += b[f >> 6 & 63], a += b[f & 63]) : v === 2 ? (a += b[f >> 10 & 63], a += b[f >> 4 & 63], a += b[f << 2 & 63], a += b[64]) : v === 1 && (a += b[f >> 2 & 63], a += b[f << 4 & 63], a += b[64], a += b[64]), a } function uTe(i) { return Object.prototype.toString.call(i) === "[object Uint8Array]" } var lTe = new x0("tag:yaml.org,2002:binary", { kind: "scalar", resolve: aTe, construct: oTe, predicate: uTe, represent: cTe }), hTe = Object.prototype.hasOwnProperty, fTe = Object.prototype.toString; function dTe(i) { if (i === null) return !0; var a = [], f, p, v, m, b, E = i; for (f = 0, p = E.length; f < p; f += 1) { if (v = E[f], b = !1, fTe.call(v) !== "[object Object]") return !1; for (m in v) if (hTe.call(v, m)) if (!b) b = !0; else return !1; if (!b) return !1; if (a.indexOf(m) === -1) a.push(m); else return !1 } return !0 } function gTe(i) { return i !== null ? i : [] } var pTe = new x0("tag:yaml.org,2002:omap", { kind: "sequence", resolve: dTe, construct: gTe }), bTe = Object.prototype.toString; function vTe(i) { if (i === null) return !0; var a, f, p, v, m, b = i; for (m = new Array(b.length), a = 0, f = b.length; a < f; a += 1) { if (p = b[a], bTe.call(p) !== "[object Object]" || (v = Object.keys(p), v.length !== 1)) return !1; m[a] = [v[0], p[v[0]]] } return !0 } function wTe(i) { if (i === null) return []; var a, f, p, v, m, b = i; for (m = new Array(b.length), a = 0, f = b.length; a < f; a += 1)p = b[a], v = Object.keys(p), m[a] = [v[0], p[v[0]]]; return m } var mTe = new x0("tag:yaml.org,2002:pairs", { kind: "sequence", resolve: vTe, construct: wTe }), yTe = Object.prototype.hasOwnProperty; function xTe(i) { if (i === null) return !0; var a, f = i; for (a in f) if (yTe.call(f, a) && f[a] !== null) return !1; return !0 } function kTe(i) { return i !== null ? i : {} } var ETe = new x0("tag:yaml.org,2002:set", { kind: "mapping", resolve: xTe, construct: kTe }), TTe = JEe.extend({ implicit: [rTe, sTe], explicit: [lTe, pTe, mTe, ETe] }), tk = Object.prototype.hasOwnProperty, rW = 1, $Dt = 2, zDt = 3, iW = 4, B1t = 1, _Te = 2, qDt = 3, CTe = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/, STe = /[\x85\u2028\u2029]/, ATe = /[,\[\]\{\}]/, HDt = /^(?:!|!!|![a-z\-]+!)$/i, VDt = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; function GDt(i) { return Object.prototype.toString.call(i) } function c3(i) { return i === 10 || i === 13 } function Q9(i) { return i === 9 || i === 32 } function sp(i) { return i === 9 || i === 32 || i === 10 || i === 13 } function LA(i) { return i === 44 || i === 91 || i === 93 || i === 123 || i === 125 } function LTe(i) { var a; return 48 <= i && i <= 57 ? i - 48 : (a = i | 32, 97 <= a && a <= 102 ? a - 97 + 10 : -1) } function MTe(i) { return i === 120 ? 2 : i === 117 ? 4 : i === 85 ? 8 : 0 } function DTe(i) { return 48 <= i && i <= 57 ? i - 48 : -1 } function UDt(i) {
        return i === 48 ? "\0" : i === 97 ? "\x07" : i === 98 ? "\b" : i === 116 || i === 9 ? "	" : i === 110 ? `
    `: i === 118 ? "\v" : i === 102 ? "\f" : i === 114 ? "\r" : i === 101 ? "\x1B" : i === 32 ? " " : i === 34 ? '"' : i === 47 ? "/" : i === 92 ? "\\" : i === 78 ? "" : i === 95 ? " " : i === 76 ? "\u2028" : i === 80 ? "\u2029" : ""
    } function ITe(i) { return i <= 65535 ? String.fromCharCode(i) : String.fromCharCode((i - 65536 >> 10) + 55296, (i - 65536 & 1023) + 56320) } for (var WDt = new Array(256), KDt = new Array(256), MA = 0; MA < 256; MA++)WDt[MA] = UDt(MA) ? 1 : 0, KDt[MA] = UDt(MA); function OTe(i, a) { this.input = i, this.filename = a.filename || null, this.schema = a.schema || TTe, this.onWarning = a.onWarning || null, this.legacy = a.legacy || !1, this.json = a.json || !1, this.listener = a.listener || null, this.implicitTypes = this.schema.compiledImplicit, this.typeMap = this.schema.compiledTypeMap, this.length = i.length, this.position = 0, this.line = 0, this.lineStart = 0, this.lineIndent = 0, this.firstTabInLine = -1, this.documents = [] } function YDt(i, a) { var f = { name: i.filename, buffer: i.input.slice(0, -1), position: i.position, line: i.line, column: i.position - i.lineStart }; return f.snippet = yEe(f), new m5(a, f) } function $s(i, a) { throw YDt(i, a) } function sW(i, a) { i.onWarning && i.onWarning.call(null, YDt(i, a)) } var XDt = { YAML: function (a, f, p) { var v, m, b; a.version !== null && $s(a, "duplication of %YAML directive"), p.length !== 1 && $s(a, "YAML directive accepts exactly one argument"), v = /^([0-9]+)\.([0-9]+)$/.exec(p[0]), v === null && $s(a, "ill-formed argument of the YAML directive"), m = parseInt(v[1], 10), b = parseInt(v[2], 10), m !== 1 && $s(a, "unacceptable YAML version of the document"), a.version = p[0], a.checkLineBreaks = b < 2, b !== 1 && b !== 2 && sW(a, "unsupported YAML version of the document") }, TAG: function (a, f, p) { var v, m; p.length !== 2 && $s(a, "TAG directive accepts exactly two arguments"), v = p[0], m = p[1], HDt.test(v) || $s(a, "ill-formed tag handle (first argument) of the TAG directive"), tk.call(a.tagMap, v) && $s(a, 'there is a previously declared suffix for "' + v + '" tag handle'), VDt.test(m) || $s(a, "ill-formed tag prefix (second argument) of the TAG directive"); try { m = decodeURIComponent(m) } catch { $s(a, "tag prefix is malformed: " + m) } a.tagMap[v] = m } }; function ek(i, a, f, p) { var v, m, b, E; if (a < f) { if (E = i.input.slice(a, f), p) for (v = 0, m = E.length; v < m; v += 1)b = E.charCodeAt(v), b === 9 || 32 <= b && b <= 1114111 || $s(i, "expected valid JSON character"); else CTe.test(E) && $s(i, "the stream contains non-printable characters"); i.result += E } } function QDt(i, a, f, p) { var v, m, b, E; for (og.isObject(f) || $s(i, "cannot merge mappings; the provided source object is unacceptable"), v = Object.keys(f), b = 0, E = v.length; b < E; b += 1)m = v[b], tk.call(a, m) || (a[m] = f[m], p[m] = !0) } function DA(i, a, f, p, v, m, b, E, C) { var D, P; if (Array.isArray(v)) for (v = Array.prototype.slice.call(v), D = 0, P = v.length; D < P; D += 1)Array.isArray(v[D]) && $s(i, "nested arrays are not supported inside keys"), typeof v == "object" && GDt(v[D]) === "[object Object]" && (v[D] = "[object Object]"); if (typeof v == "object" && GDt(v) === "[object Object]" && (v = "[object Object]"), v = String(v), a === null && (a = {}), p === "tag:yaml.org,2002:merge") if (Array.isArray(m)) for (D = 0, P = m.length; D < P; D += 1)QDt(i, a, m[D], f); else QDt(i, a, m, f); else !i.json && !tk.call(f, v) && tk.call(a, v) && (i.line = b || i.line, i.lineStart = E || i.lineStart, i.position = C || i.position, $s(i, "duplicated mapping key")), v === "__proto__" ? Object.defineProperty(a, v, { configurable: !0, enumerable: !0, writable: !0, value: m }) : a[v] = m, delete f[v]; return a } function R1t(i) { var a; a = i.input.charCodeAt(i.position), a === 10 ? i.position++ : a === 13 ? (i.position++, i.input.charCodeAt(i.position) === 10 && i.position++) : $s(i, "a line break is expected"), i.line += 1, i.lineStart = i.position, i.firstTabInLine = -1 } function Pf(i, a, f) { for (var p = 0, v = i.input.charCodeAt(i.position); v !== 0;) { for (; Q9(v);)v === 9 && i.firstTabInLine === -1 && (i.firstTabInLine = i.position), v = i.input.charCodeAt(++i.position); if (a && v === 35) do v = i.input.charCodeAt(++i.position); while (v !== 10 && v !== 13 && v !== 0); if (c3(v)) for (R1t(i), v = i.input.charCodeAt(i.position), p++, i.lineIndent = 0; v === 32;)i.lineIndent++, v = i.input.charCodeAt(++i.position); else break } return f !== -1 && p !== 0 && i.lineIndent < f && sW(i, "deficient indentation"), p } function aW(i) { var a = i.position, f; return f = i.input.charCodeAt(a), !!((f === 45 || f === 46) && f === i.input.charCodeAt(a + 1) && f === i.input.charCodeAt(a + 2) && (a += 3, f = i.input.charCodeAt(a), f === 0 || sp(f))) } function j1t(i, a) {
        a === 1 ? i.result += " " : a > 1 && (i.result += og.repeat(`
    `, a - 1))
    } function NTe(i, a, f) { var p, v, m, b, E, C, D, P, B = i.kind, j = i.result, R; if (R = i.input.charCodeAt(i.position), sp(R) || LA(R) || R === 35 || R === 38 || R === 42 || R === 33 || R === 124 || R === 62 || R === 39 || R === 34 || R === 37 || R === 64 || R === 96 || (R === 63 || R === 45) && (v = i.input.charCodeAt(i.position + 1), sp(v) || f && LA(v))) return !1; for (i.kind = "scalar", i.result = "", m = b = i.position, E = !1; R !== 0;) { if (R === 58) { if (v = i.input.charCodeAt(i.position + 1), sp(v) || f && LA(v)) break } else if (R === 35) { if (p = i.input.charCodeAt(i.position - 1), sp(p)) break } else { if (i.position === i.lineStart && aW(i) || f && LA(R)) break; if (c3(R)) if (C = i.line, D = i.lineStart, P = i.lineIndent, Pf(i, !1, -1), i.lineIndent >= a) { E = !0, R = i.input.charCodeAt(i.position); continue } else { i.position = b, i.line = C, i.lineStart = D, i.lineIndent = P; break } } E && (ek(i, m, b, !1), j1t(i, i.line - C), m = b = i.position, E = !1), Q9(R) || (b = i.position + 1), R = i.input.charCodeAt(++i.position) } return ek(i, m, b, !1), i.result ? !0 : (i.kind = B, i.result = j, !1) } function PTe(i, a) { var f, p, v; if (f = i.input.charCodeAt(i.position), f !== 39) return !1; for (i.kind = "scalar", i.result = "", i.position++, p = v = i.position; (f = i.input.charCodeAt(i.position)) !== 0;)if (f === 39) if (ek(i, p, i.position, !0), f = i.input.charCodeAt(++i.position), f === 39) p = i.position, i.position++, v = i.position; else return !0; else c3(f) ? (ek(i, p, v, !0), j1t(i, Pf(i, !1, a)), p = v = i.position) : i.position === i.lineStart && aW(i) ? $s(i, "unexpected end of the document within a single quoted scalar") : (i.position++, v = i.position); $s(i, "unexpected end of the stream within a single quoted scalar") } function FTe(i, a) { var f, p, v, m, b, E; if (E = i.input.charCodeAt(i.position), E !== 34) return !1; for (i.kind = "scalar", i.result = "", i.position++, f = p = i.position; (E = i.input.charCodeAt(i.position)) !== 0;) { if (E === 34) return ek(i, f, i.position, !0), i.position++, !0; if (E === 92) { if (ek(i, f, i.position, !0), E = i.input.charCodeAt(++i.position), c3(E)) Pf(i, !1, a); else if (E < 256 && WDt[E]) i.result += KDt[E], i.position++; else if ((b = MTe(E)) > 0) { for (v = b, m = 0; v > 0; v--)E = i.input.charCodeAt(++i.position), (b = LTe(E)) >= 0 ? m = (m << 4) + b : $s(i, "expected hexadecimal character"); i.result += ITe(m), i.position++ } else $s(i, "unknown escape sequence"); f = p = i.position } else c3(E) ? (ek(i, f, p, !0), j1t(i, Pf(i, !1, a)), f = p = i.position) : i.position === i.lineStart && aW(i) ? $s(i, "unexpected end of the document within a double quoted scalar") : (i.position++, p = i.position) } $s(i, "unexpected end of the stream within a double quoted scalar") } function BTe(i, a) { var f = !0, p, v, m, b = i.tag, E, C = i.anchor, D, P, B, j, R, H = Object.create(null), Y, it, nt, st; if (st = i.input.charCodeAt(i.position), st === 91) P = 93, R = !1, E = []; else if (st === 123) P = 125, R = !0, E = {}; else return !1; for (i.anchor !== null && (i.anchorMap[i.anchor] = E), st = i.input.charCodeAt(++i.position); st !== 0;) { if (Pf(i, !0, a), st = i.input.charCodeAt(i.position), st === P) return i.position++, i.tag = b, i.anchor = C, i.kind = R ? "mapping" : "sequence", i.result = E, !0; f ? st === 44 && $s(i, "expected the node content, but found ','") : $s(i, "missed comma between flow collection entries"), it = Y = nt = null, B = j = !1, st === 63 && (D = i.input.charCodeAt(i.position + 1), sp(D) && (B = j = !0, i.position++, Pf(i, !0, a))), p = i.line, v = i.lineStart, m = i.position, IA(i, a, rW, !1, !0), it = i.tag, Y = i.result, Pf(i, !0, a), st = i.input.charCodeAt(i.position), (j || i.line === p) && st === 58 && (B = !0, st = i.input.charCodeAt(++i.position), Pf(i, !0, a), IA(i, a, rW, !1, !0), nt = i.result), R ? DA(i, E, H, it, Y, nt, p, v, m) : B ? E.push(DA(i, null, H, it, Y, nt, p, v, m)) : E.push(Y), Pf(i, !0, a), st = i.input.charCodeAt(i.position), st === 44 ? (f = !0, st = i.input.charCodeAt(++i.position)) : f = !1 } $s(i, "unexpected end of the stream within a flow collection") } function RTe(i, a) {
        var f, p, v = B1t, m = !1, b = !1, E = a, C = 0, D = !1, P, B; if (B = i.input.charCodeAt(i.position), B === 124) p = !1; else if (B === 62) p = !0; else return !1; for (i.kind = "scalar", i.result = ""; B !== 0;)if (B = i.input.charCodeAt(++i.position), B === 43 || B === 45) B1t === v ? v = B === 43 ? qDt : _Te : $s(i, "repeat of a chomping mode identifier"); else if ((P = DTe(B)) >= 0) P === 0 ? $s(i, "bad explicit indentation width of a block scalar; it cannot be less than one") : b ? $s(i, "repeat of an indentation width identifier") : (E = a + P - 1, b = !0); else break; if (Q9(B)) { do B = i.input.charCodeAt(++i.position); while (Q9(B)); if (B === 35) do B = i.input.charCodeAt(++i.position); while (!c3(B) && B !== 0) } for (; B !== 0;) {
            for (R1t(i), i.lineIndent = 0, B = i.input.charCodeAt(i.position); (!b || i.lineIndent < E) && B === 32;)i.lineIndent++, B = i.input.charCodeAt(++i.position); if (!b && i.lineIndent > E && (E = i.lineIndent), c3(B)) { C++; continue } if (i.lineIndent < E) {
                v === qDt ? i.result += og.repeat(`
    `, m ? 1 + C : C) : v === B1t && m && (i.result += `
    `); break
            } for (p ? Q9(B) ? (D = !0, i.result += og.repeat(`
    `, m ? 1 + C : C)) : D ? (D = !1, i.result += og.repeat(`
    `, C + 1)) : C === 0 ? m && (i.result += " ") : i.result += og.repeat(`
    `, C) : i.result += og.repeat(`
    `, m ? 1 + C : C), m = !0, b = !0, C = 0, f = i.position; !c3(B) && B !== 0;)B = i.input.charCodeAt(++i.position); ek(i, f, i.position, !1)
        } return !0
    } function ZDt(i, a) { var f, p = i.tag, v = i.anchor, m = [], b, E = !1, C; if (i.firstTabInLine !== -1) return !1; for (i.anchor !== null && (i.anchorMap[i.anchor] = m), C = i.input.charCodeAt(i.position); C !== 0 && (i.firstTabInLine !== -1 && (i.position = i.firstTabInLine, $s(i, "tab characters must not be used in indentation")), !(C !== 45 || (b = i.input.charCodeAt(i.position + 1), !sp(b))));) { if (E = !0, i.position++, Pf(i, !0, -1) && i.lineIndent <= a) { m.push(null), C = i.input.charCodeAt(i.position); continue } if (f = i.line, IA(i, a, zDt, !1, !0), m.push(i.result), Pf(i, !0, -1), C = i.input.charCodeAt(i.position), (i.line === f || i.lineIndent > a) && C !== 0) $s(i, "bad indentation of a sequence entry"); else if (i.lineIndent < a) break } return E ? (i.tag = p, i.anchor = v, i.kind = "sequence", i.result = m, !0) : !1 } function jTe(i, a, f) { var p, v, m, b, E, C, D = i.tag, P = i.anchor, B = {}, j = Object.create(null), R = null, H = null, Y = null, it = !1, nt = !1, st; if (i.firstTabInLine !== -1) return !1; for (i.anchor !== null && (i.anchorMap[i.anchor] = B), st = i.input.charCodeAt(i.position); st !== 0;) { if (!it && i.firstTabInLine !== -1 && (i.position = i.firstTabInLine, $s(i, "tab characters must not be used in indentation")), p = i.input.charCodeAt(i.position + 1), m = i.line, (st === 63 || st === 58) && sp(p)) st === 63 ? (it && (DA(i, B, j, R, H, null, b, E, C), R = H = Y = null), nt = !0, it = !0, v = !0) : it ? (it = !1, v = !0) : $s(i, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"), i.position += 1, st = p; else { if (b = i.line, E = i.lineStart, C = i.position, !IA(i, f, $Dt, !1, !0)) break; if (i.line === m) { for (st = i.input.charCodeAt(i.position); Q9(st);)st = i.input.charCodeAt(++i.position); if (st === 58) st = i.input.charCodeAt(++i.position), sp(st) || $s(i, "a whitespace character is expected after the key-value separator within a block mapping"), it && (DA(i, B, j, R, H, null, b, E, C), R = H = Y = null), nt = !0, it = !1, v = !1, R = i.tag, H = i.result; else if (nt) $s(i, "can not read an implicit mapping pair; a colon is missed"); else return i.tag = D, i.anchor = P, !0 } else if (nt) $s(i, "can not read a block mapping entry; a multiline key may not be an implicit key"); else return i.tag = D, i.anchor = P, !0 } if ((i.line === m || i.lineIndent > a) && (it && (b = i.line, E = i.lineStart, C = i.position), IA(i, a, iW, !0, v) && (it ? H = i.result : Y = i.result), it || (DA(i, B, j, R, H, Y, b, E, C), R = H = Y = null), Pf(i, !0, -1), st = i.input.charCodeAt(i.position)), (i.line === m || i.lineIndent > a) && st !== 0) $s(i, "bad indentation of a mapping entry"); else if (i.lineIndent < a) break } return it && DA(i, B, j, R, H, null, b, E, C), nt && (i.tag = D, i.anchor = P, i.kind = "mapping", i.result = B), nt } function $Te(i) { var a, f = !1, p = !1, v, m, b; if (b = i.input.charCodeAt(i.position), b !== 33) return !1; if (i.tag !== null && $s(i, "duplication of a tag property"), b = i.input.charCodeAt(++i.position), b === 60 ? (f = !0, b = i.input.charCodeAt(++i.position)) : b === 33 ? (p = !0, v = "!!", b = i.input.charCodeAt(++i.position)) : v = "!", a = i.position, f) { do b = i.input.charCodeAt(++i.position); while (b !== 0 && b !== 62); i.position < i.length ? (m = i.input.slice(a, i.position), b = i.input.charCodeAt(++i.position)) : $s(i, "unexpected end of the stream within a verbatim tag") } else { for (; b !== 0 && !sp(b);)b === 33 && (p ? $s(i, "tag suffix cannot contain exclamation marks") : (v = i.input.slice(a - 1, i.position + 1), HDt.test(v) || $s(i, "named tag handle cannot contain such characters"), p = !0, a = i.position + 1)), b = i.input.charCodeAt(++i.position); m = i.input.slice(a, i.position), ATe.test(m) && $s(i, "tag suffix cannot contain flow indicator characters") } m && !VDt.test(m) && $s(i, "tag name cannot contain such characters: " + m); try { m = decodeURIComponent(m) } catch { $s(i, "tag name is malformed: " + m) } return f ? i.tag = m : tk.call(i.tagMap, v) ? i.tag = i.tagMap[v] + m : v === "!" ? i.tag = "!" + m : v === "!!" ? i.tag = "tag:yaml.org,2002:" + m : $s(i, 'undeclared tag handle "' + v + '"'), !0 } function zTe(i) { var a, f; if (f = i.input.charCodeAt(i.position), f !== 38) return !1; for (i.anchor !== null && $s(i, "duplication of an anchor property"), f = i.input.charCodeAt(++i.position), a = i.position; f !== 0 && !sp(f) && !LA(f);)f = i.input.charCodeAt(++i.position); return i.position === a && $s(i, "name of an anchor node must contain at least one character"), i.anchor = i.input.slice(a, i.position), !0 } function qTe(i) { var a, f, p; if (p = i.input.charCodeAt(i.position), p !== 42) return !1; for (p = i.input.charCodeAt(++i.position), a = i.position; p !== 0 && !sp(p) && !LA(p);)p = i.input.charCodeAt(++i.position); return i.position === a && $s(i, "name of an alias node must contain at least one character"), f = i.input.slice(a, i.position), tk.call(i.anchorMap, f) || $s(i, 'unidentified alias "' + f + '"'), i.result = i.anchorMap[f], Pf(i, !0, -1), !0 } function IA(i, a, f, p, v) { var m, b, E, C = 1, D = !1, P = !1, B, j, R, H, Y, it; if (i.listener !== null && i.listener("open", i), i.tag = null, i.anchor = null, i.kind = null, i.result = null, m = b = E = iW === f || zDt === f, p && Pf(i, !0, -1) && (D = !0, i.lineIndent > a ? C = 1 : i.lineIndent === a ? C = 0 : i.lineIndent < a && (C = -1)), C === 1) for (; $Te(i) || zTe(i);)Pf(i, !0, -1) ? (D = !0, E = m, i.lineIndent > a ? C = 1 : i.lineIndent === a ? C = 0 : i.lineIndent < a && (C = -1)) : E = !1; if (E && (E = D || v), (C === 1 || iW === f) && (rW === f || $Dt === f ? Y = a : Y = a + 1, it = i.position - i.lineStart, C === 1 ? E && (ZDt(i, it) || jTe(i, it, Y)) || BTe(i, Y) ? P = !0 : (b && RTe(i, Y) || PTe(i, Y) || FTe(i, Y) ? P = !0 : qTe(i) ? (P = !0, (i.tag !== null || i.anchor !== null) && $s(i, "alias node should not have any properties")) : NTe(i, Y, rW === f) && (P = !0, i.tag === null && (i.tag = "?")), i.anchor !== null && (i.anchorMap[i.anchor] = i.result)) : C === 0 && (P = E && ZDt(i, it))), i.tag === null) i.anchor !== null && (i.anchorMap[i.anchor] = i.result); else if (i.tag === "?") { for (i.result !== null && i.kind !== "scalar" && $s(i, 'unacceptable node kind for !<?> tag; it should be "scalar", not "' + i.kind + '"'), B = 0, j = i.implicitTypes.length; B < j; B += 1)if (H = i.implicitTypes[B], H.resolve(i.result)) { i.result = H.construct(i.result), i.tag = H.tag, i.anchor !== null && (i.anchorMap[i.anchor] = i.result); break } } else if (i.tag !== "!") { if (tk.call(i.typeMap[i.kind || "fallback"], i.tag)) H = i.typeMap[i.kind || "fallback"][i.tag]; else for (H = null, R = i.typeMap.multi[i.kind || "fallback"], B = 0, j = R.length; B < j; B += 1)if (i.tag.slice(0, R[B].tag.length) === R[B].tag) { H = R[B]; break } H || $s(i, "unknown tag !<" + i.tag + ">"), i.result !== null && H.kind !== i.kind && $s(i, "unacceptable node kind for !<" + i.tag + '> tag; it should be "' + H.kind + '", not "' + i.kind + '"'), H.resolve(i.result, i.tag) ? (i.result = H.construct(i.result, i.tag), i.anchor !== null && (i.anchorMap[i.anchor] = i.result)) : $s(i, "cannot resolve a node with !<" + i.tag + "> explicit tag") } return i.listener !== null && i.listener("close", i), i.tag !== null || i.anchor !== null || P } function HTe(i) { var a = i.position, f, p, v, m = !1, b; for (i.version = null, i.checkLineBreaks = i.legacy, i.tagMap = Object.create(null), i.anchorMap = Object.create(null); (b = i.input.charCodeAt(i.position)) !== 0 && (Pf(i, !0, -1), b = i.input.charCodeAt(i.position), !(i.lineIndent > 0 || b !== 37));) { for (m = !0, b = i.input.charCodeAt(++i.position), f = i.position; b !== 0 && !sp(b);)b = i.input.charCodeAt(++i.position); for (p = i.input.slice(f, i.position), v = [], p.length < 1 && $s(i, "directive name must not be less than one character in length"); b !== 0;) { for (; Q9(b);)b = i.input.charCodeAt(++i.position); if (b === 35) { do b = i.input.charCodeAt(++i.position); while (b !== 0 && !c3(b)); break } if (c3(b)) break; for (f = i.position; b !== 0 && !sp(b);)b = i.input.charCodeAt(++i.position); v.push(i.input.slice(f, i.position)) } b !== 0 && R1t(i), tk.call(XDt, p) ? XDt[p](i, p, v) : sW(i, 'unknown document directive "' + p + '"') } if (Pf(i, !0, -1), i.lineIndent === 0 && i.input.charCodeAt(i.position) === 45 && i.input.charCodeAt(i.position + 1) === 45 && i.input.charCodeAt(i.position + 2) === 45 ? (i.position += 3, Pf(i, !0, -1)) : m && $s(i, "directives end mark is expected"), IA(i, i.lineIndent - 1, iW, !1, !0), Pf(i, !0, -1), i.checkLineBreaks && STe.test(i.input.slice(a, i.position)) && sW(i, "non-ASCII line breaks are interpreted as content"), i.documents.push(i.result), i.position === i.lineStart && aW(i)) { i.input.charCodeAt(i.position) === 46 && (i.position += 3, Pf(i, !0, -1)); return } if (i.position < i.length - 1) $s(i, "end of the stream or a document separator is expected"); else return } function JDt(i, a) {
        i = String(i), a = a || {}, i.length !== 0 && (i.charCodeAt(i.length - 1) !== 10 && i.charCodeAt(i.length - 1) !== 13 && (i += `
    `), i.charCodeAt(0) === 65279 && (i = i.slice(1))); var f = new OTe(i, a), p = i.indexOf("\0"); for (p !== -1 && (f.position = p, $s(f, "null byte is not allowed in input")), f.input += "\0"; f.input.charCodeAt(f.position) === 32;)f.lineIndent += 1, f.position += 1; for (; f.position < f.length - 1;)HTe(f); return f.documents
    } function VTe(i, a, f) { a !== null && typeof a == "object" && typeof f > "u" && (f = a, a = null); var p = JDt(i, f); if (typeof a != "function") return p; for (var v = 0, m = p.length; v < m; v += 1)a(p[v]) } function GTe(i, a) { var f = JDt(i, a); if (f.length !== 0) { if (f.length === 1) return f[0]; throw new m5("expected a single document in the stream, but found more") } } var UTe = VTe, WTe = GTe, KTe = { loadAll: UTe, load: WTe }, YTe = BDt, XTe = KTe.load; const tIt = /^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s; function QTe(i, a) { var p, v; const f = i.match(tIt); if (f) { const m = XTe(f[1], { schema: YTe }); return m != null && m.title && ((p = a.setDiagramTitle) == null || p.call(a, m.title)), m != null && m.displayMode && ((v = a.setDisplayMode) == null || v.call(a, m.displayMode)), i.slice(f[0].length) } else return i } const $1t = function (i, a, f) { const { depth: p, clobber: v } = Object.assign({ depth: 2, clobber: !1 }, f); return Array.isArray(a) && !Array.isArray(i) ? (a.forEach(m => $1t(i, m, f)), i) : Array.isArray(a) && Array.isArray(i) ? (a.forEach(m => { i.includes(m) || i.push(m) }), i) : i === void 0 || p <= 0 ? i != null && typeof i == "object" && typeof a == "object" ? Object.assign(i, a) : a : (a !== void 0 && typeof i == "object" && typeof a == "object" && Object.keys(a).forEach(m => { typeof a[m] == "object" && (i[m] === void 0 || typeof i[m] == "object") ? (i[m] === void 0 && (i[m] = Array.isArray(a[m]) ? [] : {}), i[m] = $1t(i[m], a[m], { depth: p - 1, clobber: v })) : (v || typeof i[m] != "object" && typeof a[m] != "object") && (i[m] = a[m]) }), i) }, rd = $1t, OA = Object.freeze(f1); let ap = rd({}, OA), eIt, NA = [], $N = rd({}, OA); const oW = (i, a) => { let f = rd({}, i), p = {}; for (const v of a) iIt(v), p = rd(p, v); if (f = rd(f, p), p.theme && p.theme in w5) { const v = rd({}, eIt), m = rd(v.themeVariables || {}, p.themeVariables); f.theme && f.theme in w5 && (f.themeVariables = w5[f.theme].getThemeVariables(m)) } return $N = f, cIt($N), $N }, ZTe = i => (ap = rd({}, OA), ap = rd(ap, i), i.theme && w5[i.theme] && (ap.themeVariables = w5[i.theme].getThemeVariables(i.themeVariables)), oW(ap, NA), ap), JTe = i => { eIt = rd({}, i) }, t_e = i => (ap = rd(ap, i), oW(ap, NA), ap), nIt = () => rd({}, ap), rIt = i => (cIt(i), rd($N, i), Oe()), Oe = () => rd({}, $N), iIt = i => { ["secure", ...ap.secure ?? []].forEach(a => { i[a] !== void 0 && (zt.debug(`Denied attempt to modify a secure key ${a}`, i[a]), delete i[a]) }), Object.keys(i).forEach(a => { a.indexOf("__") === 0 && delete i[a] }), Object.keys(i).forEach(a => { typeof i[a] == "string" && (i[a].includes("<") || i[a].includes(">") || i[a].includes("url(data:")) && delete i[a], typeof i[a] == "object" && iIt(i[a]) }) }, sIt = i => { i.fontFamily && (i.themeVariables ? i.themeVariables.fontFamily || (i.themeVariables = { fontFamily: i.fontFamily }) : i.themeVariables = { fontFamily: i.fontFamily }), NA.push(i), oW(ap, NA) }, cW = (i = ap) => { NA = [], oW(i, NA) }; var aIt = (i => (i.LAZY_LOAD_DEPRECATED = "The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.", i))(aIt || {}); const oIt = {}, e_e = i => { oIt[i] || (zt.warn(aIt[i]), oIt[i] = !0) }, cIt = i => { i && (i.lazyLoadedDiagrams || i.loadExternalDiagramsAtStartup) && e_e("LAZY_LOAD_DEPRECATED") }, n_e = function (i, a) { for (let f of a) i.attr(f[0], f[1]) }, r_e = function (i, a, f) { let p = new Map; return f ? (p.set("width", "100%"), p.set("style", `max-width: ${a}px;`)) : (p.set("height", i), p.set("width", a)), p }, Wb = function (i, a, f, p) { const v = r_e(a, f, p); n_e(i, v) }, Z9 = function (i, a, f, p) { const v = a.node().getBBox(), m = v.width, b = v.height; zt.info(`SVG bounds: ${m}x${b}`, v); let E = 0, C = 0; zt.info(`Graph bounds: ${E}x${C}`, i), E = m + f * 2, C = b + f * 2, zt.info(`Calculated bounds: ${E}x${C}`), Wb(a, C, E, p); const D = `${v.x - f} ${v.y - f} ${v.width + 2 * f} ${v.height + 2 * f}`; a.attr("viewBox", D) }, uW = {}, i_e = (i, a, f) => {
        let p = ""; return i in uW && uW[i] ? p = uW[i](f) : zt.warn(`No theme found for ${i}`), ` & {
        font-family: ${f.fontFamily};
        font-size: ${f.fontSize};
        fill: ${f.textColor}
      }
    
      /* Classes common for multiple diagrams */
    
      & .error-icon {
        fill: ${f.errorBkgColor};
      }
      & .error-text {
        fill: ${f.errorTextColor};
        stroke: ${f.errorTextColor};
      }
    
      & .edge-thickness-normal {
        stroke-width: 2px;
      }
      & .edge-thickness-thick {
        stroke-width: 3.5px
      }
      & .edge-pattern-solid {
        stroke-dasharray: 0;
      }
    
      & .edge-pattern-dashed{
        stroke-dasharray: 3;
      }
      .edge-pattern-dotted {
        stroke-dasharray: 2;
      }
    
      & .marker {
        fill: ${f.lineColor};
        stroke: ${f.lineColor};
      }
      & .marker.cross {
        stroke: ${f.lineColor};
      }
    
      & svg {
        font-family: ${f.fontFamily};
        font-size: ${f.fontSize};
      }
    
      ${p}
    
      ${a}
    `}, s_e = (i, a) => { uW[i] = a }, a_e = i_e; let z1t = "", lW = "", q1t = ""; const H1t = i => sg(i, Oe()), cg = function () { z1t = "", q1t = "", lW = "" }, ug = function (i) { z1t = H1t(i).replace(/^\s+/g, "") }, op = function () { return z1t || lW }, cp = function (i) {
        q1t = H1t(i).replace(/\n\s+/g, `
    `)
    }, up = function () { return q1t }, Kb = function (i) { lW = H1t(i) }, O2 = function () { return lW }, uIt = Object.freeze(Object.defineProperty({ __proto__: null, clear: cg, default: { getAccTitle: op, setAccTitle: ug, getDiagramTitle: O2, setDiagramTitle: Kb, getAccDescription: up, setAccDescription: cp, clear: cg }, getAccDescription: up, getAccTitle: op, getDiagramTitle: O2, setAccDescription: cp, setAccTitle: ug, setDiagramTitle: Kb }, Symbol.toStringTag, { value: "Module" })); let J9 = {}; const V1t = function (i, a, f, p) { zt.debug("parseDirective is being called", a, f, p); try { if (a !== void 0) switch (a = a.trim(), f) { case "open_directive": J9 = {}; break; case "type_directive": if (!J9) throw new Error("currentDirective is undefined"); J9.type = a.toLowerCase(); break; case "arg_directive": if (!J9) throw new Error("currentDirective is undefined"); J9.args = JSON.parse(a); break; case "close_directive": o_e(i, J9, p), J9 = void 0; break } } catch (v) { zt.error(`Error while rendering sequenceDiagram directive: ${a} jison context: ${f}`), zt.error(v.message) } }, o_e = function (i, a, f) { switch (zt.info(`Directive type=${a.type} with args:`, a.args), a.type) { case "init": case "initialize": { ["config"].forEach(p => { a.args[p] !== void 0 && (f === "flowchart-v2" && (f = "flowchart"), a.args[f] = a.args[p], delete a.args[p]) }), zt.info("sanitize in handleDirective", a.args), jA(a.args), zt.info("sanitize in handleDirective (done)", a.args), sIt(a.args); break } case "wrap": case "nowrap": i && i.setWrap && i.setWrap(a.type === "wrap"); break; case "themeCss": zt.warn("themeCss encountered"); break; default: zt.warn(`Unhandled directive: source: '%%{${a.type}: ${JSON.stringify(a.args ? a.args : {})}}%%`, a); break } }, c_e = zt, u_e = Aft, zN = Oe, l_e = i => sg(i, zN()), lIt = Z9, h_e = () => uIt, f_e = (i, a, f, p) => V1t(i, a, f, p), hW = {}, fW = (i, a, f) => { if (hW[i]) throw new Error(`Diagram ${i} already registered.`); hW[i] = a, f && dIt(i, f), s_e(i, a.styles), a.injectUtils && a.injectUtils(c_e, u_e, zN, l_e, lIt, h_e(), f_e) }, G1t = i => { if (i in hW) return hW[i]; throw new Error(`Diagram ${i} not found.`) }; class hIt extends Error { constructor(a) { super(a), this.name = "UnknownDiagramError" } } const d_e = /%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi, g_e = /\s*%%.*\n/gm, PA = {}, dW = function (i, a) {
        i = i.replace(tIt, "").replace(d_e, "").replace(g_e, `
    `); for (const [f, { detector: p }] of Object.entries(PA)) if (p(i, a)) return f; throw new hIt(`No diagram type detected matching given configuration for text: ${i}`)
    }, fIt = (...i) => { for (const { id: a, detector: f, loader: p } of i) dIt(a, f, p) }, p_e = async () => { zt.debug("Loading registered diagrams"); const a = (await Promise.allSettled(Object.entries(PA).map(async ([f, { detector: p, loader: v }]) => { if (v) try { G1t(f) } catch { try { const { diagram: b, id: E } = await v(); fW(E, b, p) } catch (b) { throw zt.error(`Failed to load external diagram with key ${f}. Removing from detectors.`), delete PA[f], b } } }))).filter(f => f.status === "rejected"); if (a.length > 0) { zt.error(`Failed to load ${a.length} external diagrams`); for (const f of a) zt.error(f); throw new Error(`Failed to load ${a.length} external diagrams`) } }, dIt = (i, a, f) => { PA[i] ? zt.error(`Detector with key ${i} already exists`) : PA[i] = { detector: a, loader: f }, zt.debug(`Detector with key ${i} added${f ? " with loader" : ""}`) }, b_e = i => PA[i].loader; var v_e = typeof global == "object" && global && global.Object === Object && global; const gIt = v_e; var w_e = typeof self == "object" && self && self.Object === Object && self, m_e = gIt || w_e || Function("return this")(); const Xw = m_e; var y_e = Xw.Symbol; const Yb = y_e; var pIt = Object.prototype, x_e = pIt.hasOwnProperty, k_e = pIt.toString, qN = Yb ? Yb.toStringTag : void 0; function E_e(i) { var a = x_e.call(i, qN), f = i[qN]; try { i[qN] = void 0; var p = !0 } catch { } var v = k_e.call(i); return p && (a ? i[qN] = f : delete i[qN]), v } var T_e = Object.prototype, __e = T_e.toString; function C_e(i) { return __e.call(i) } var S_e = "[object Null]", A_e = "[object Undefined]", bIt = Yb ? Yb.toStringTag : void 0; function tE(i) { return i == null ? i === void 0 ? A_e : S_e : bIt && bIt in Object(i) ? E_e(i) : C_e(i) } function N2(i) { var a = typeof i; return i != null && (a == "object" || a == "function") } var L_e = "[object AsyncFunction]", M_e = "[object Function]", D_e = "[object GeneratorFunction]", I_e = "[object Proxy]"; function FA(i) { if (!N2(i)) return !1; var a = tE(i); return a == M_e || a == D_e || a == L_e || a == I_e } var O_e = Xw["__core-js_shared__"]; const U1t = O_e; var vIt = function () { var i = /[^.]+$/.exec(U1t && U1t.keys && U1t.keys.IE_PROTO || ""); return i ? "Symbol(src)_1." + i : "" }(); function N_e(i) { return !!vIt && vIt in i } var P_e = Function.prototype, F_e = P_e.toString; function eE(i) { if (i != null) { try { return F_e.call(i) } catch { } try { return i + "" } catch { } } return "" } var B_e = /[\\^$.*+?()[\]{}|]/g, R_e = /^\[object .+?Constructor\]$/, j_e = Function.prototype, $_e = Object.prototype, z_e = j_e.toString, q_e = $_e.hasOwnProperty, H_e = RegExp("^" + z_e.call(q_e).replace(B_e, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"); function V_e(i) { if (!N2(i) || N_e(i)) return !1; var a = FA(i) ? H_e : R_e; return a.test(eE(i)) } function G_e(i, a) { return i == null ? void 0 : i[a] } function nE(i, a) { var f = G_e(i, a); return V_e(f) ? f : void 0 } var U_e = nE(Object, "create"); const HN = U_e; function W_e() { this.__data__ = HN ? HN(null) : {}, this.size = 0 } function K_e(i) { var a = this.has(i) && delete this.__data__[i]; return this.size -= a ? 1 : 0, a } var Y_e = "__lodash_hash_undefined__", X_e = Object.prototype, Q_e = X_e.hasOwnProperty; function Z_e(i) { var a = this.__data__; if (HN) { var f = a[i]; return f === Y_e ? void 0 : f } return Q_e.call(a, i) ? a[i] : void 0 } var J_e = Object.prototype, tCe = J_e.hasOwnProperty; function eCe(i) { var a = this.__data__; return HN ? a[i] !== void 0 : tCe.call(a, i) } var nCe = "__lodash_hash_undefined__"; function rCe(i, a) { var f = this.__data__; return this.size += this.has(i) ? 0 : 1, f[i] = HN && a === void 0 ? nCe : a, this } function rE(i) { var a = -1, f = i == null ? 0 : i.length; for (this.clear(); ++a < f;) { var p = i[a]; this.set(p[0], p[1]) } } rE.prototype.clear = W_e, rE.prototype.delete = K_e, rE.prototype.get = Z_e, rE.prototype.has = eCe, rE.prototype.set = rCe; function iCe() { this.__data__ = [], this.size = 0 } function BA(i, a) { return i === a || i !== i && a !== a } function gW(i, a) { for (var f = i.length; f--;)if (BA(i[f][0], a)) return f; return -1 } var sCe = Array.prototype, aCe = sCe.splice; function oCe(i) { var a = this.__data__, f = gW(a, i); if (f < 0) return !1; var p = a.length - 1; return f == p ? a.pop() : aCe.call(a, f, 1), --this.size, !0 } function cCe(i) { var a = this.__data__, f = gW(a, i); return f < 0 ? void 0 : a[f][1] } function uCe(i) { return gW(this.__data__, i) > -1 } function lCe(i, a) { var f = this.__data__, p = gW(f, i); return p < 0 ? (++this.size, f.push([i, a])) : f[p][1] = a, this } function y5(i) { var a = -1, f = i == null ? 0 : i.length; for (this.clear(); ++a < f;) { var p = i[a]; this.set(p[0], p[1]) } } y5.prototype.clear = iCe, y5.prototype.delete = oCe, y5.prototype.get = cCe, y5.prototype.has = uCe, y5.prototype.set = lCe; var hCe = nE(Xw, "Map"); const VN = hCe; function fCe() { this.size = 0, this.__data__ = { hash: new rE, map: new (VN || y5), string: new rE } } function dCe(i) { var a = typeof i; return a == "string" || a == "number" || a == "symbol" || a == "boolean" ? i !== "__proto__" : i === null } function pW(i, a) { var f = i.__data__; return dCe(a) ? f[typeof a == "string" ? "string" : "hash"] : f.map } function gCe(i) { var a = pW(this, i).delete(i); return this.size -= a ? 1 : 0, a } function pCe(i) { return pW(this, i).get(i) } function bCe(i) { return pW(this, i).has(i) } function vCe(i, a) { var f = pW(this, i), p = f.size; return f.set(i, a), this.size += f.size == p ? 0 : 1, this } function x5(i) { var a = -1, f = i == null ? 0 : i.length; for (this.clear(); ++a < f;) { var p = i[a]; this.set(p[0], p[1]) } } x5.prototype.clear = fCe, x5.prototype.delete = gCe, x5.prototype.get = pCe, x5.prototype.has = bCe, x5.prototype.set = vCe; var wCe = "Expected a function"; function RA(i, a) { if (typeof i != "function" || a != null && typeof a != "function") throw new TypeError(wCe); var f = function () { var p = arguments, v = a ? a.apply(this, p) : p[0], m = f.cache; if (m.has(v)) return m.get(v); var b = i.apply(this, p); return f.cache = m.set(v, b) || m, b }; return f.cache = new (RA.Cache || x5), f } RA.Cache = x5; const wIt = "​", mCe = { curveBasis: CA, curveBasisClosed: e9e, curveBasisOpen: n9e, curveBumpX: J7e, curveBumpY: t9e, curveBundle: r9e, curveCardinalClosed: s9e, curveCardinalOpen: a9e, curveCardinal: i9e, curveCatmullRomClosed: c9e, curveCatmullRomOpen: u9e, curveCatmullRom: o9e, curveLinear: rg, curveLinearClosed: l9e, curveMonotoneX: h9e, curveMonotoneY: f9e, curveNatural: d9e, curveStep: g9e, curveStepAfter: b9e, curveStepBefore: p9e }, W1t = /%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi, yCe = /\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi, xCe = function (i, a) { const f = mIt(i, /(?:init\b)|(?:initialize\b)/); let p = {}; if (Array.isArray(f)) { const v = f.map(m => m.args); jA(v), p = rd(p, [...v]) } else p = f.args; if (p) { let v = dW(i, a);["config"].forEach(m => { p[m] !== void 0 && (v === "flowchart-v2" && (v = "flowchart"), p[v] = p[m], delete p[m]) }) } return p }, mIt = function (i, a = null) {
        try {
            const f = new RegExp(`[%]{2}(?![{]${yCe.source})(?=[}][%]{2}).*
    `, "ig"); i = i.trim().replace(f, "").replace(/'/gm, '"'), zt.debug(`Detecting diagram directive${a !== null ? " type:" + a : ""} based on the text:${i}`); let p; const v = []; for (; (p = W1t.exec(i)) !== null;)if (p.index === W1t.lastIndex && W1t.lastIndex++, p && !a || a && p[1] && p[1].match(a) || a && p[2] && p[2].match(a)) { const m = p[1] ? p[1] : p[2], b = p[3] ? p[3].trim() : p[4] ? JSON.parse(p[4].trim()) : null; v.push({ type: m, args: b }) } return v.length === 0 && v.push({ type: i, args: null }), v.length === 1 ? v[0] : v
        } catch (f) {
            return zt.error(`ERROR: ${f.message} - Unable to parse directive
          ${a !== null ? " type:" + a : ""} based on the text:${i}`), { type: null, args: null }
        }
    }, kCe = function (i, a) { for (const [f, p] of a.entries()) if (p.match(i)) return f; return -1 }; function Xb(i, a) { if (!i) return a; const f = `curve${i.charAt(0).toUpperCase() + i.slice(1)}`; return mCe[f] || a } function ECe(i, a) { const f = i.trim(); if (f) return a.securityLevel !== "loose" ? Xx(f) : f } const TCe = (i, ...a) => { const f = i.split("."), p = f.length - 1, v = f[p]; let m = window; for (let b = 0; b < p; b++)if (m = m[f[b]], !m) return; m[v](...a) }; function bW(i, a) { return i && a ? Math.sqrt(Math.pow(a.x - i.x, 2) + Math.pow(a.y - i.y, 2)) : 0 } function _Ce(i) { let a, f = 0; i.forEach(m => { f += bW(m, a), a = m }); let p = f / 2, v; return a = void 0, i.forEach(m => { if (a && !v) { const b = bW(m, a); if (b < p) p -= b; else { const E = p / b; E <= 0 && (v = a), E >= 1 && (v = { x: m.x, y: m.y }), E > 0 && E < 1 && (v = { x: (1 - E) * a.x + E * m.x, y: (1 - E) * a.y + E * m.y }) } } a = m }), v } function CCe(i) { return i.length === 1 ? i[0] : _Ce(i) } const SCe = (i, a, f) => { let p; zt.info(`our points ${JSON.stringify(a)}`), a[0] !== f && (a = a.reverse()); let m = 25, b; p = void 0, a.forEach(P => { if (p && !b) { const B = bW(P, p); if (B < m) m -= B; else { const j = m / B; j <= 0 && (b = p), j >= 1 && (b = { x: P.x, y: P.y }), j > 0 && j < 1 && (b = { x: (1 - j) * p.x + j * P.x, y: (1 - j) * p.y + j * P.y }) } } p = P }); const E = i ? 10 : 5, C = Math.atan2(a[0].y - b.y, a[0].x - b.x), D = { x: 0, y: 0 }; return D.x = Math.sin(C) * E + (a[0].x + b.x) / 2, D.y = -Math.cos(C) * E + (a[0].y + b.y) / 2, D }; function ACe(i, a, f) { let p = JSON.parse(JSON.stringify(f)), v; zt.info("our points", p), a !== "start_left" && a !== "start_right" && (p = p.reverse()), p.forEach(B => { v = B }); let b = 25 + i, E; v = void 0, p.forEach(B => { if (v && !E) { const j = bW(B, v); if (j < b) b -= j; else { const R = b / j; R <= 0 && (E = v), R >= 1 && (E = { x: B.x, y: B.y }), R > 0 && R < 1 && (E = { x: (1 - R) * v.x + R * B.x, y: (1 - R) * v.y + R * B.y }) } } v = B }); const C = 10 + i * .5, D = Math.atan2(p[0].y - E.y, p[0].x - E.x), P = { x: 0, y: 0 }; return P.x = Math.sin(D) * C + (p[0].x + E.x) / 2, P.y = -Math.cos(D) * C + (p[0].y + E.y) / 2, a === "start_left" && (P.x = Math.sin(D + Math.PI) * C + (p[0].x + E.x) / 2, P.y = -Math.cos(D + Math.PI) * C + (p[0].y + E.y) / 2), a === "end_right" && (P.x = Math.sin(D - Math.PI) * C + (p[0].x + E.x) / 2 - 5, P.y = -Math.cos(D - Math.PI) * C + (p[0].y + E.y) / 2 - 5), a === "end_left" && (P.x = Math.sin(D) * C + (p[0].x + E.x) / 2 - 5, P.y = -Math.cos(D) * C + (p[0].y + E.y) / 2 - 5), P } function Qw(i) { let a = "", f = ""; for (const p of i) p !== void 0 && (p.startsWith("color:") || p.startsWith("text-align:") ? f = f + p + ";" : a = a + p + ";"); return { style: a, labelStyle: f } } let yIt = 0; const xIt = () => (yIt++, "id-" + Math.random().toString(36).substr(2, 12) + "-" + yIt); function LCe(i) { let a = ""; const f = "0123456789abcdef", p = f.length; for (let v = 0; v < i; v++)a += f.charAt(Math.floor(Math.random() * p)); return a } const kIt = i => LCe(i.length), MCe = function () { return { x: 0, y: 0, fill: void 0, anchor: "start", style: "#666", width: 100, height: 100, textMargin: 0, rx: 0, ry: 0, valign: void 0 } }, DCe = function (i, a) { const f = a.text.replace(yi.lineBreakRegex, " "), [, p] = $A(a.fontSize), v = i.append("text"); v.attr("x", a.x), v.attr("y", a.y), v.style("text-anchor", a.anchor), v.style("font-family", a.fontFamily), v.style("font-size", p), v.style("font-weight", a.fontWeight), v.attr("fill", a.fill), a.class !== void 0 && v.attr("class", a.class); const m = v.append("tspan"); return m.attr("x", a.x + a.textMargin * 2), m.attr("fill", a.fill), m.text(f), v }, EIt = RA((i, a, f) => { if (!i || (f = Object.assign({ fontSize: 12, fontWeight: 400, fontFamily: "Arial", joinWith: "<br/>" }, f), yi.lineBreakRegex.test(i))) return i; const p = i.split(" "), v = []; let m = ""; return p.forEach((b, E) => { const C = u3(`${b} `, f), D = u3(m, f); if (C > a) { const { hyphenatedStrings: j, remainingWord: R } = ICe(b, a, "-", f); v.push(m, ...j), m = R } else D + C >= a ? (v.push(m), m = b) : m = [m, b].filter(Boolean).join(" "); E + 1 === p.length && v.push(m) }), v.filter(b => b !== "").join(f.joinWith) }, (i, a, f) => `${i}${a}${f.fontSize}${f.fontWeight}${f.fontFamily}${f.joinWith}`), ICe = RA((i, a, f = "-", p) => { p = Object.assign({ fontSize: 12, fontWeight: 400, fontFamily: "Arial", margin: 0 }, p); const v = [...i], m = []; let b = ""; return v.forEach((E, C) => { const D = `${b}${E}`; if (u3(D, p) >= a) { const B = C + 1, j = v.length === B, R = `${D}${f}`; m.push(j ? D : R), b = "" } else b = D }), { hyphenatedStrings: m, remainingWord: b } }, (i, a, f = "-", p) => `${i}${a}${f}${p.fontSize}${p.fontWeight}${p.fontFamily}`); function K1t(i, a) { return a = Object.assign({ fontSize: 12, fontWeight: 400, fontFamily: "Arial", margin: 15 }, a), Y1t(i, a).height } function u3(i, a) { return a = Object.assign({ fontSize: 12, fontWeight: 400, fontFamily: "Arial" }, a), Y1t(i, a).width } const Y1t = RA((i, a) => { a = Object.assign({ fontSize: 12, fontWeight: 400, fontFamily: "Arial" }, a); const { fontSize: f, fontFamily: p, fontWeight: v } = a; if (!i) return { width: 0, height: 0 }; const [, m] = $A(f), b = ["sans-serif", p], E = i.split(yi.lineBreakRegex), C = [], D = Mr("body"); if (!D.remove) return { width: 0, height: 0, lineHeight: 0 }; const P = D.append("svg"); for (const j of b) { let R = 0; const H = { width: 0, height: 0, lineHeight: 0 }; for (const Y of E) { const it = MCe(); it.text = Y || wIt; const nt = DCe(P, it).style("font-size", m).style("font-weight", v).style("font-family", j), st = (nt._groups || nt)[0][0].getBBox(); if (st.width === 0 && st.height === 0) throw new Error("svg element not in render tree"); H.width = Math.round(Math.max(H.width, st.width)), R = Math.round(st.height), H.height += R, H.lineHeight = Math.round(Math.max(H.lineHeight, R)) } C.push(H) } P.remove(); const B = isNaN(C[1].height) || isNaN(C[1].width) || isNaN(C[1].lineHeight) || C[0].height > C[1].height && C[0].width > C[1].width && C[0].lineHeight > C[1].lineHeight ? 0 : 1; return C[B] }, (i, a) => `${i}${a.fontSize}${a.fontWeight}${a.fontFamily}`), OCe = class { constructor(a, f) { this.deterministic = a, this.seed = f, this.count = f ? f.length : 0 } next() { return this.deterministic ? this.count++ : Date.now() } }; let vW; const NCe = function (i) { return vW = vW || document.createElement("div"), i = escape(i).replace(/%26/g, "&").replace(/%23/g, "#").replace(/%3B/g, ";"), vW.innerHTML = i, unescape(vW.textContent) }, jA = i => { if (zt.debug("directiveSanitizer called with", i), typeof i == "object" && (i.length ? i.forEach(a => jA(a)) : Object.keys(i).forEach(a => { zt.debug("Checking key", a), a.startsWith("__") && (zt.debug("sanitize deleting __ option", a), delete i[a]), a.includes("proto") && (zt.debug("sanitize deleting proto option", a), delete i[a]), a.includes("constr") && (zt.debug("sanitize deleting constr option", a), delete i[a]), a.includes("themeCSS") && (zt.debug("sanitizing themeCss option"), i[a] = wW(i[a])), a.includes("fontFamily") && (zt.debug("sanitizing fontFamily option"), i[a] = wW(i[a])), a.includes("altFontFamily") && (zt.debug("sanitizing altFontFamily option"), i[a] = wW(i[a])), oEe.includes(a) ? typeof i[a] == "object" && (zt.debug("sanitize deleting object", a), jA(i[a])) : (zt.debug("sanitize deleting option", a), delete i[a]) })), i.themeVariables) { const a = Object.keys(i.themeVariables); for (const f of a) { const p = i.themeVariables[f]; p && p.match && !p.match(/^[\d "#%(),.;A-Za-z]+$/) && (i.themeVariables[f] = "") } } zt.debug("After sanitization", i) }, wW = i => { let a = 0, f = 0; for (const p of i) { if (a < f) return "{ /* ERROR: Unbalanced CSS */ }"; p === "{" ? a++ : p === "}" && f++ } return a !== f ? "{ /* ERROR: Unbalanced CSS */ }" : i }; function TIt(i) { return "str" in i } function PCe(i) { return i instanceof Error ? i.message : String(i) } const FCe = (i, a, f, p) => { if (!p) return; const v = i.node().getBBox(); i.append("text").text(p).attr("x", v.x + v.width / 2).attr("y", -f).attr("class", a) }, $A = i => { if (typeof i == "number") return [i, i + "px"]; const a = parseInt(i, 10); return Number.isNaN(a) ? [void 0, void 0] : i === String(a) ? [a, i + "px"] : [a, i] }, lo = { assignWithDepth: rd, wrapLabel: EIt, calculateTextHeight: K1t, calculateTextWidth: u3, calculateTextDimensions: Y1t, detectInit: xCe, detectDirective: mIt, isSubstringInArray: kCe, interpolateToCurve: Xb, calcLabelPosition: CCe, calcCardinalityPosition: SCe, calcTerminalLabelPosition: ACe, formatUrl: ECe, getStylesFromArray: Qw, generateId: xIt, random: kIt, runFunc: TCe, entityDecode: NCe, initIdGenerator: OCe, directiveSanitizer: jA, sanitizeCss: wW, insertTitle: FCe, parseFontSize: $A }; var _It = "comm", CIt = "rule", SIt = "decl", BCe = "@import", RCe = "@keyframes", jCe = Math.abs, X1t = String.fromCharCode; function AIt(i) { return i.trim() } function Q1t(i, a, f) { return i.replace(a, f) } function $Ce(i, a) { return i.indexOf(a) } function GN(i, a) { return i.charCodeAt(a) | 0 } function UN(i, a, f) { return i.slice(a, f) } function nk(i) { return i.length } function LIt(i) { return i.length } function mW(i, a) { return a.push(i), i } var yW = 1, zA = 1, MIt = 0, Qb = 0, Ff = 0, qA = ""; function Z1t(i, a, f, p, v, m, b) { return { value: i, root: a, parent: f, type: p, props: v, children: m, line: yW, column: zA, length: b, return: "" } } function zCe() { return Ff } function qCe() { return Ff = Qb > 0 ? GN(qA, --Qb) : 0, zA--, Ff === 10 && (zA = 1, yW--), Ff } function Zw() { return Ff = Qb < MIt ? GN(qA, Qb++) : 0, zA++, Ff === 10 && (zA = 1, yW++), Ff } function iE() { return GN(qA, Qb) } function xW() { return Qb } function kW(i, a) { return UN(qA, i, a) } function J1t(i) { switch (i) { case 0: case 9: case 10: case 13: case 32: return 5; case 33: case 43: case 44: case 47: case 62: case 64: case 126: case 59: case 123: case 125: return 4; case 58: return 3; case 34: case 39: case 40: case 91: return 2; case 41: case 93: return 1 }return 0 } function HCe(i) { return yW = zA = 1, MIt = nk(qA = i), Qb = 0, [] } function VCe(i) { return qA = "", i } function tdt(i) { return AIt(kW(Qb - 1, edt(i === 91 ? i + 2 : i === 40 ? i + 1 : i))) } function GCe(i) { for (; (Ff = iE()) && Ff < 33;)Zw(); return J1t(i) > 2 || J1t(Ff) > 3 ? "" : " " } function UCe(i, a) { for (; --a && Zw() && !(Ff < 48 || Ff > 102 || Ff > 57 && Ff < 65 || Ff > 70 && Ff < 97);); return kW(i, xW() + (a < 6 && iE() == 32 && Zw() == 32)) } function edt(i) { for (; Zw();)switch (Ff) { case i: return Qb; case 34: case 39: i !== 34 && i !== 39 && edt(Ff); break; case 40: i === 41 && edt(i); break; case 92: Zw(); break }return Qb } function WCe(i, a) { for (; Zw() && i + Ff !== 47 + 10;)if (i + Ff === 42 + 42 && iE() === 47) break; return "/*" + kW(a, Qb - 1) + "*" + X1t(i === 47 ? i : Zw()) } function KCe(i) { for (; !J1t(iE());)Zw(); return kW(i, Qb) } function YCe(i) { return VCe(EW("", null, null, null, [""], i = HCe(i), 0, [0], i)) } function EW(i, a, f, p, v, m, b, E, C) { for (var D = 0, P = 0, B = b, j = 0, R = 0, H = 0, Y = 1, it = 1, nt = 1, st = 0, pt = "", Tt = v, kt = m, yt = p, ht = pt; it;)switch (H = st, st = Zw()) { case 40: if (H != 108 && GN(ht, B - 1) == 58) { $Ce(ht += Q1t(tdt(st), "&", "&\f"), "&\f") != -1 && (nt = -1); break } case 34: case 39: case 91: ht += tdt(st); break; case 9: case 10: case 13: case 32: ht += GCe(H); break; case 92: ht += UCe(xW() - 1, 7); continue; case 47: switch (iE()) { case 42: case 47: mW(XCe(WCe(Zw(), xW()), a, f), C); break; default: ht += "/" }break; case 123 * Y: E[D++] = nk(ht) * nt; case 125 * Y: case 59: case 0: switch (st) { case 0: case 125: it = 0; case 59 + P: R > 0 && nk(ht) - B && mW(R > 32 ? IIt(ht + ";", p, f, B - 1) : IIt(Q1t(ht, " ", "") + ";", p, f, B - 2), C); break; case 59: ht += ";"; default: if (mW(yt = DIt(ht, a, f, D, P, v, E, pt, Tt = [], kt = [], B), m), st === 123) if (P === 0) EW(ht, a, yt, yt, Tt, m, B, E, kt); else switch (j === 99 && GN(ht, 3) === 110 ? 100 : j) { case 100: case 109: case 115: EW(i, yt, yt, p && mW(DIt(i, yt, yt, 0, 0, v, E, pt, v, Tt = [], B), kt), v, kt, B, E, p ? Tt : kt); break; default: EW(ht, yt, yt, yt, [""], kt, 0, E, kt) } }D = P = R = 0, Y = nt = 1, pt = ht = "", B = b; break; case 58: B = 1 + nk(ht), R = H; default: if (Y < 1) { if (st == 123) --Y; else if (st == 125 && Y++ == 0 && qCe() == 125) continue } switch (ht += X1t(st), st * Y) { case 38: nt = P > 0 ? 1 : (ht += "\f", -1); break; case 44: E[D++] = (nk(ht) - 1) * nt, nt = 1; break; case 64: iE() === 45 && (ht += tdt(Zw())), j = iE(), P = B = nk(pt = ht += KCe(xW())), st++; break; case 45: H === 45 && nk(ht) == 2 && (Y = 0) } }return m } function DIt(i, a, f, p, v, m, b, E, C, D, P) { for (var B = v - 1, j = v === 0 ? m : [""], R = LIt(j), H = 0, Y = 0, it = 0; H < p; ++H)for (var nt = 0, st = UN(i, B + 1, B = jCe(Y = b[H])), pt = i; nt < R; ++nt)(pt = AIt(Y > 0 ? j[nt] + " " + st : Q1t(st, /&\f/g, j[nt]))) && (C[it++] = pt); return Z1t(i, a, f, v === 0 ? CIt : E, C, D, P) } function XCe(i, a, f) { return Z1t(i, a, f, _It, X1t(zCe()), UN(i, 2, -2), 0) } function IIt(i, a, f, p) { return Z1t(i, a, f, SIt, UN(i, 0, p), UN(i, p + 1, -1), p) } function ndt(i, a) { for (var f = "", p = LIt(i), v = 0; v < p; v++)f += a(i[v], v, i, a) || ""; return f } function QCe(i, a, f, p) { switch (i.type) { case BCe: case SIt: return i.return = i.return || i.value; case _It: return ""; case RCe: return i.return = i.value + "{" + ndt(i.children, p) + "}"; case CIt: i.value = i.props.join(",") }return nk(f = ndt(i.children, p)) ? i.return = i.value + "{" + f + "}" : "" } const OIt = "10.2.3", NIt = "c4", ZCe = { id: NIt, detector: i => i.match(/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/) !== null, loader: async () => { const { diagram: i } = await Promise.resolve().then(() => KLe); return { id: NIt, diagram: i } } }, PIt = "flowchart", JCe = { id: PIt, detector: (i, a) => { var f, p; return ((f = a == null ? void 0 : a.flowchart) == null ? void 0 : f.defaultRenderer) === "dagre-wrapper" || ((p = a == null ? void 0 : a.flowchart) == null ? void 0 : p.defaultRenderer) === "elk" ? !1 : i.match(/^\s*graph/) !== null }, loader: async () => { const { diagram: i } = await Promise.resolve().then(() => Fje); return { id: PIt, diagram: i } } }, FIt = "flowchart-v2", tSe = { id: FIt, detector: (i, a) => { var f, p, v; return ((f = a == null ? void 0 : a.flowchart) == null ? void 0 : f.defaultRenderer) === "dagre-d3" || ((p = a == null ? void 0 : a.flowchart) == null ? void 0 : p.defaultRenderer) === "elk" ? !1 : i.match(/^\s*graph/) !== null && ((v = a == null ? void 0 : a.flowchart) == null ? void 0 : v.defaultRenderer) === "dagre-wrapper" ? !0 : i.match(/^\s*flowchart/) !== null }, loader: async () => { const { diagram: i } = await Promise.resolve().then(() => Bje); return { id: FIt, diagram: i } } }, BIt = "er", eSe = { id: BIt, detector: i => i.match(/^\s*erDiagram/) !== null, loader: async () => { const { diagram: i } = await Promise.resolve().then(() => l$e); return { id: BIt, diagram: i } } }, RIt = "gitGraph", nSe = { id: RIt, detector: i => i.match(/^\s*gitGraph/) !== null, loader: async () => { const { diagram: i } = await Promise.resolve().then(() => B$e); return { id: RIt, diagram: i } } }, jIt = "gantt", rSe = { id: jIt, detector: i => i.match(/^\s*gantt/) !== null, loader: async () => { const { diagram: i } = await Promise.resolve().then(() => _ze); return { id: jIt, diagram: i } } }, $It = "info", iSe = { id: $It, detector: i => i.match(/^\s*info/) !== null, loader: async () => { const { diagram: i } = await Promise.resolve().then(() => Sze); return { id: $It, diagram: i } } }, zIt = "pie", sSe = { id: zIt, detector: i => i.match(/^\s*pie/) !== null, loader: async () => { const { diagram: i } = await Promise.resolve().then(() => Dze); return { id: zIt, diagram: i } } }, qIt = "quadrantChart", aSe = { id: qIt, detector: i => i.match(/^\s*quadrantChart/) !== null, loader: async () => { const { diagram: i } = await Promise.resolve().then(() => Wze); return { id: qIt, diagram: i } } }, HIt = "requirement", oSe = { id: HIt, detector: i => i.match(/^\s*requirement(Diagram)?/) !== null, loader: async () => { const { diagram: i } = await Promise.resolve().then(() => rqe); return { id: HIt, diagram: i } } }, VIt = "sequence", cSe = { id: VIt, detector: i => i.match(/^\s*sequenceDiagram/) !== null, loader: async () => { const { diagram: i } = await Promise.resolve().then(() => aHe); return { id: VIt, diagram: i } } }, GIt = "class", uSe = { id: GIt, detector: (i, a) => { var f; return ((f = a == null ? void 0 : a.class) == null ? void 0 : f.defaultRenderer) === "dagre-wrapper" ? !1 : i.match(/^\s*classDiagram/) !== null }, loader: async () => { const { diagram: i } = await Promise.resolve().then(() => AHe); return { id: GIt, diagram: i } } }, UIt = "classDiagram", lSe = { id: UIt, detector: (i, a) => { var f; return i.match(/^\s*classDiagram/) !== null && ((f = a == null ? void 0 : a.class) == null ? void 0 : f.defaultRenderer) === "dagre-wrapper" ? !0 : i.match(/^\s*classDiagram-v2/) !== null }, loader: async () => { const { diagram: i } = await Promise.resolve().then(() => NHe); return { id: UIt, diagram: i } } }, WIt = "state", hSe = { id: WIt, detector: (i, a) => { var f; return ((f = a == null ? void 0 : a.state) == null ? void 0 : f.defaultRenderer) === "dagre-wrapper" ? !1 : i.match(/^\s*stateDiagram/) !== null }, loader: async () => { const { diagram: i } = await Promise.resolve().then(() => kVe); return { id: WIt, diagram: i } } }, KIt = "stateDiagram", fSe = { id: KIt, detector: (i, a) => { var f, p; return !!(i.match(/^\s*stateDiagram-v2/) !== null || i.match(/^\s*stateDiagram/) && ((f = a == null ? void 0 : a.state) == null ? void 0 : f.defaultRenderer) === "dagre-wrapper" || i.match(/^\s*stateDiagram/) && ((p = a == null ? void 0 : a.state) == null ? void 0 : p.defaultRenderer) === "dagre-wrapper") }, loader: async () => { const { diagram: i } = await Promise.resolve().then(() => zVe); return { id: KIt, diagram: i } } }, YIt = "journey", dSe = { id: YIt, detector: i => i.match(/^\s*journey/) !== null, loader: async () => { const { diagram: i } = await Promise.resolve().then(() => oGe); return { id: YIt, diagram: i } } }, gSe = () => "", XIt = {
        setConf: function () { }, draw: (i, a, f) => {
            try {
                zt.debug(`Renering svg for syntax error
    `); const p = Mr("#" + a), v = p.append("g"); v.append("path").attr("class", "error-icon").attr("d", "m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"), v.append("path").attr("class", "error-icon").attr("d", "m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"), v.append("path").attr("class", "error-icon").attr("d", "m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"), v.append("path").attr("class", "error-icon").attr("d", "m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"), v.append("path").attr("class", "error-icon").attr("d", "m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"), v.append("path").attr("class", "error-icon").attr("d", "m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"), v.append("text").attr("class", "error-text").attr("x", 1440).attr("y", 250).attr("font-size", "150px").style("text-anchor", "middle").text("Syntax error in text"), v.append("text").attr("class", "error-text").attr("x", 1250).attr("y", 400).attr("font-size", "100px").style("text-anchor", "middle").text("mermaid version " + f), p.attr("height", 100), p.attr("width", 500), p.attr("viewBox", "768 0 912 512")
            } catch (p) { zt.error("Error while rendering info diagram"), zt.error(PCe(p)) }
        }
    }, pSe = { db: { clear: () => { } }, styles: gSe, renderer: XIt, parser: { parser: { yy: {} }, parse: () => { } }, init: () => { } }, QIt = "flowchart-elk", bSe = { id: QIt, detector: (i, a) => { var f; return !!(i.match(/^\s*flowchart-elk/) || i.match(/^\s*flowchart|graph/) && ((f = a == null ? void 0 : a.flowchart) == null ? void 0 : f.defaultRenderer) === "elk") }, loader: async () => { const { diagram: i } = await Promise.resolve().then(() => EGe); return { id: QIt, diagram: i } } }, ZIt = "timeline", vSe = { id: ZIt, detector: i => i.match(/^\s*timeline/) !== null, loader: async () => { const { diagram: i } = await Promise.resolve().then(() => qGe); return { id: ZIt, diagram: i } } }, JIt = "mindmap", wSe = { id: JIt, detector: i => i.match(/^\s*mindmap/) !== null, loader: async () => { const { diagram: i } = await Promise.resolve().then(() => yUe); return { id: JIt, diagram: i } } }; let tOt = !1; const rdt = () => { tOt || (tOt = !0, fW("error", pSe, i => i.toLowerCase().trim() === "error"), fW("---", { db: { clear: () => { } }, styles: {}, renderer: {}, parser: { parser: { yy: {} }, parse: () => { throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks") } }, init: () => null }, i => i.toLowerCase().trimStart().startsWith("---")), fIt(ZCe, lSe, uSe, eSe, rSe, iSe, sSe, oSe, cSe, bSe, tSe, JCe, wSe, vSe, nSe, fSe, hSe, dSe, aSe)) }, mSe = i => i.trimStart().replace(/^\s*%%(?!{)[^\n]+\n?/gm, ""); class eOt {
        constructor(a) {
            var m, b; this.text = a, this.type = "graph", this.text += `
    `; const f = Oe(); try { this.type = dW(a, f) } catch (E) { this.type = "error", this.detectError = E } const p = G1t(this.type); zt.debug("Type " + this.type), this.db = p.db, (b = (m = this.db).clear) == null || b.call(m), this.renderer = p.renderer, this.parser = p.parser; const v = this.parser.parse.bind(this.parser); this.parser.parse = E => v(mSe(QTe(E, this.db))), this.parser.parser.yy = this.db, p.init && (p.init(f), zt.info("Initialized diagram " + this.type, f)), this.parse()
        } parse() { var a, f; if (this.detectError) throw this.detectError; (f = (a = this.db).clear) == null || f.call(a), this.parser.parse(this.text) } async render(a, f) { await this.renderer.draw(this.text, a, f, this) } getParser() { return this.parser } getType() { return this.type }
    } const idt = async i => { const a = dW(i, Oe()); try { G1t(a) } catch { const p = b_e(a); if (!p) throw new hIt(`Diagram ${a} not found.`); const { id: v, diagram: m } = await p(); fW(v, m) } return new eOt(i) }; let sdt = []; const ySe = i => { sdt.push(i) }, xSe = () => { sdt.forEach(i => { i() }), sdt = [] }; var kSe = Object.prototype; function TW(i) { var a = i && i.constructor, f = typeof a == "function" && a.prototype || kSe; return i === f } function nOt(i, a) { return function (f) { return i(a(f)) } } var ESe = nOt(Object.keys, Object); const TSe = ESe; var _Se = Object.prototype, CSe = _Se.hasOwnProperty; function rOt(i) { if (!TW(i)) return TSe(i); var a = []; for (var f in Object(i)) CSe.call(i, f) && f != "constructor" && a.push(f); return a } var SSe = nE(Xw, "DataView"); const adt = SSe; var ASe = nE(Xw, "Promise"); const odt = ASe; var LSe = nE(Xw, "Set"); const HA = LSe; var MSe = nE(Xw, "WeakMap"); const cdt = MSe; var iOt = "[object Map]", DSe = "[object Object]", sOt = "[object Promise]", aOt = "[object Set]", oOt = "[object WeakMap]", cOt = "[object DataView]", ISe = eE(adt), OSe = eE(VN), NSe = eE(odt), PSe = eE(HA), FSe = eE(cdt), sE = tE; (adt && sE(new adt(new ArrayBuffer(1))) != cOt || VN && sE(new VN) != iOt || odt && sE(odt.resolve()) != sOt || HA && sE(new HA) != aOt || cdt && sE(new cdt) != oOt) && (sE = function (i) { var a = tE(i), f = a == DSe ? i.constructor : void 0, p = f ? eE(f) : ""; if (p) switch (p) { case ISe: return cOt; case OSe: return iOt; case NSe: return sOt; case PSe: return aOt; case FSe: return oOt }return a }); const VA = sE; function l3(i) { return i != null && typeof i == "object" } var BSe = "[object Arguments]"; function uOt(i) { return l3(i) && tE(i) == BSe } var lOt = Object.prototype, RSe = lOt.hasOwnProperty, jSe = lOt.propertyIsEnumerable, $Se = uOt(function () { return arguments }()) ? uOt : function (i) { return l3(i) && RSe.call(i, "callee") && !jSe.call(i, "callee") }; const GA = $Se; var zSe = Array.isArray; const Bf = zSe; var qSe = 9007199254740991; function udt(i) { return typeof i == "number" && i > -1 && i % 1 == 0 && i <= qSe } function rk(i) { return i != null && udt(i.length) && !FA(i) } function HSe() { return !1 } var hOt = typeof exports == "object" && exports && !exports.nodeType && exports, fOt = hOt && typeof module == "object" && module && !module.nodeType && module, VSe = fOt && fOt.exports === hOt, dOt = VSe ? Xw.Buffer : void 0, GSe = dOt ? dOt.isBuffer : void 0, USe = GSe || HSe; const UA = USe; var WSe = "[object Arguments]", KSe = "[object Array]", YSe = "[object Boolean]", XSe = "[object Date]", QSe = "[object Error]", ZSe = "[object Function]", JSe = "[object Map]", tAe = "[object Number]", eAe = "[object Object]", nAe = "[object RegExp]", rAe = "[object Set]", iAe = "[object String]", sAe = "[object WeakMap]", aAe = "[object ArrayBuffer]", oAe = "[object DataView]", cAe = "[object Float32Array]", uAe = "[object Float64Array]", lAe = "[object Int8Array]", hAe = "[object Int16Array]", fAe = "[object Int32Array]", dAe = "[object Uint8Array]", gAe = "[object Uint8ClampedArray]", pAe = "[object Uint16Array]", bAe = "[object Uint32Array]", _l = {}; _l[cAe] = _l[uAe] = _l[lAe] = _l[hAe] = _l[fAe] = _l[dAe] = _l[gAe] = _l[pAe] = _l[bAe] = !0, _l[WSe] = _l[KSe] = _l[aAe] = _l[YSe] = _l[oAe] = _l[XSe] = _l[QSe] = _l[ZSe] = _l[JSe] = _l[tAe] = _l[eAe] = _l[nAe] = _l[rAe] = _l[iAe] = _l[sAe] = !1; function vAe(i) { return l3(i) && udt(i.length) && !!_l[tE(i)] } function _W(i) { return function (a) { return i(a) } } var gOt = typeof exports == "object" && exports && !exports.nodeType && exports, WN = gOt && typeof module == "object" && module && !module.nodeType && module, wAe = WN && WN.exports === gOt, ldt = wAe && gIt.process, mAe = function () { try { var i = WN && WN.require && WN.require("util").types; return i || ldt && ldt.binding && ldt.binding("util") } catch { } }(); const WA = mAe; var pOt = WA && WA.isTypedArray, yAe = pOt ? _W(pOt) : vAe; const CW = yAe; var xAe = "[object Map]", kAe = "[object Set]", EAe = Object.prototype, TAe = EAe.hasOwnProperty; function KA(i) { if (i == null) return !0; if (rk(i) && (Bf(i) || typeof i == "string" || typeof i.splice == "function" || UA(i) || CW(i) || GA(i))) return !i.length; var a = VA(i); if (a == xAe || a == kAe) return !i.size; if (TW(i)) return !rOt(i).length; for (var f in i) if (TAe.call(i, f)) return !1; return !0 } const _Ae = "graphics-document document"; function CAe(i, a) { i.attr("role", _Ae), KA(a) || i.attr("aria-roledescription", a) } function SAe(i, a, f, p) { if (i.insert !== void 0) if (a || f) { if (f) { const v = "chart-desc-" + p; i.attr("aria-describedby", v), i.insert("desc", ":first-child").attr("id", v).text(f) } if (a) { const v = "chart-title-" + p; i.attr("aria-labelledby", v), i.insert("title", ":first-child").attr("id", v).text(a) } } else return } const bOt = ["graph", "flowchart", "flowchart-v2", "flowchart-elk", "stateDiagram", "stateDiagram-v2"], AAe = 5e4, LAe = "graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa", MAe = "sandbox", DAe = "loose", IAe = "http://www.w3.org/2000/svg", OAe = "http://www.w3.org/1999/xlink", NAe = "http://www.w3.org/1999/xhtml", PAe = "100%", FAe = "100%", BAe = "border:0;margin:0;", RAe = "margin:0", jAe = "allow-top-navigation-by-user-activation allow-popups", $Ae = 'The "iframe" tag is not supported by your browser.', zAe = ["foreignobject"], qAe = ["dominant-baseline"]; async function HAe(i, a) { rdt(); try { (await idt(i)).parse() } catch (f) { if (a != null && a.suppressErrors) return !1; throw f } return !0 } const VAe = function (i) { let a = i; return a = a.replace(/style.*:\S*#.*;/g, function (f) { return f.substring(0, f.length - 1) }), a = a.replace(/classDef.*:\S*#.*;/g, function (f) { return f.substring(0, f.length - 1) }), a = a.replace(/#\w+;/g, function (f) { const p = f.substring(1, f.length - 1); return /^\+?\d+$/.test(p) ? "ﬂ°°" + p + "¶ß" : "ﬂ°" + p + "¶ß" }), a }, KN = function (i) { return i.replace(/ﬂ°°/g, "&#").replace(/ﬂ°/g, "&").replace(/¶ß/g, ";") }, vOt = (i, a, f = []) => `
    .${i} ${a} { ${f.join(" !important; ")} !important; }`, GAe = (i, a, f = {}) => {
            var v; let p = ""; if (i.themeCSS !== void 0 && (p += `
    ${i.themeCSS}`), i.fontFamily !== void 0 && (p += `
    :root { --mermaid-font-family: ${i.fontFamily}}`), i.altFontFamily !== void 0 && (p += `
    :root { --mermaid-alt-font-family: ${i.altFontFamily}}`), !KA(f) && bOt.includes(a)) { const C = i.htmlLabels || ((v = i.flowchart) == null ? void 0 : v.htmlLabels) ? ["> *", "span"] : ["rect", "polygon", "ellipse", "circle", "path"]; for (const D in f) { const P = f[D]; KA(P.styles) || C.forEach(B => { p += vOt(P.id, B, P.styles) }), KA(P.textStyles) || (p += vOt(P.id, "tspan", P.textStyles)) } } return p
        }, UAe = (i, a, f, p) => { const v = GAe(i, a, f), m = a_e(a, v, i.themeVariables); return ndt(YCe(`${p}{${m}}`), QCe) }, WAe = (i = "", a, f) => { let p = i; return !f && !a && (p = p.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g, 'marker-end="url(#')), p = KN(p), p = p.replace(/<br>/g, "<br/>"), p }, KAe = (i = "", a) => {
            const f = a ? a.viewBox.baseVal.height + "px" : FAe, p = btoa('<body style="' + RAe + '">' + i + "</body>"); return `<iframe style="width:${PAe};height:${f};${BAe}" src="data:text/html;base64,${p}" sandbox="${jAe}">
      ${$Ae}
    </iframe>`}, wOt = (i, a, f, p, v) => { const m = i.append("div"); m.attr("id", f), p && m.attr("style", p); const b = m.append("svg").attr("id", a).attr("width", "100%").attr("xmlns", IAe); return v && b.attr("xmlns:xlink", v), b.append("g"), i }; function mOt(i, a) { return i.append("iframe").attr("id", a).attr("style", "width: 100%; height: 100%;").attr("sandbox", "") } const YAe = (i, a, f, p) => { var v, m, b; (v = i.getElementById(a)) == null || v.remove(), (m = i.getElementById(f)) == null || m.remove(), (b = i.getElementById(p)) == null || b.remove() }, XAe = async function (i, a, f) {
        var _t, X, Rt, ft; rdt(), cW(); const p = lo.detectInit(a); p && (jA(p), sIt(p)); const v = Oe(); zt.debug(v), a.length > ((v == null ? void 0 : v.maxTextSize) ?? AAe) && (a = LAe), a = a.replace(/\r\n?/g, `
    `), a = a.replace(/<(\w+)([^>]*)>/g, (de, J, ae) => "<" + J + ae.replace(/="([^"]*)"/g, "='$1'") + ">"); const m = "#" + i, b = "i" + i, E = "#" + b, C = "d" + i, D = "#" + C; let P = Mr("body"); const B = v.securityLevel === MAe, j = v.securityLevel === DAe, R = v.fontFamily; if (f !== void 0) { if (f && (f.innerHTML = ""), B) { const de = mOt(Mr(f), b); P = Mr(de.nodes()[0].contentDocument.body), P.node().style.margin = 0 } else P = Mr(f); wOt(P, i, C, `font-family: ${R}`, OAe) } else { if (YAe(document, i, C, b), B) { const de = mOt(Mr("body"), b); P = Mr(de.nodes()[0].contentDocument.body), P.node().style.margin = 0 } else P = Mr("body"); wOt(P, i, C) } a = VAe(a); let H, Y; try { H = await idt(a) } catch (de) { H = new eOt("error"), Y = de } const it = P.select(D).node(), nt = H.type, st = it.firstChild, pt = st.firstChild, Tt = bOt.includes(nt) ? H.renderer.getClasses(a, H) : {}, kt = UAe(v, nt, Tt, m), yt = document.createElement("style"); yt.innerHTML = kt, st.insertBefore(yt, pt); try { await H.renderer.draw(a, i, OIt, H) } catch (de) { throw XIt.draw(a, i, OIt), de } const ht = P.select(`${D} svg`), mt = (X = (_t = H.db).getAccTitle) == null ? void 0 : X.call(_t), rt = (ft = (Rt = H.db).getAccDescription) == null ? void 0 : ft.call(Rt); ZAe(nt, ht, mt, rt), P.select(`[id="${i}"]`).selectAll("foreignobject > *").attr("xmlns", NAe); let wt = P.select(D).node().innerHTML; if (zt.debug("config.arrowMarkerAbsolute", v.arrowMarkerAbsolute), wt = WAe(wt, B, h1(v.arrowMarkerAbsolute)), B) { const de = P.select(D + " svg").node(); wt = KAe(wt, de) } else j || (wt = WU.sanitize(wt, { ADD_TAGS: zAe, ADD_ATTR: qAe })); if (xSe(), Y) throw Y; const lt = Mr(B ? E : D).node(); return lt && "remove" in lt && lt.remove(), { svg: wt, bindFunctions: H.db.bindFunctions }
    }; function QAe(i = {}) { var f; i != null && i.fontFamily && !((f = i.themeVariables) != null && f.fontFamily) && (i.themeVariables || (i.themeVariables = {}), i.themeVariables.fontFamily = i.fontFamily), JTe(i), i != null && i.theme && i.theme in w5 ? i.themeVariables = w5[i.theme].getThemeVariables(i.themeVariables) : i && (i.themeVariables = w5.default.getThemeVariables(i.themeVariables)); const a = typeof i == "object" ? ZTe(i) : nIt(); Aft(a.logLevel), rdt() } function ZAe(i, a, f, p) { CAe(a, i), SAe(a, f, p, a.attr("id")) } const d1 = Object.freeze({ render: XAe, parse: HAe, parseDirective: V1t, getDiagramFromText: idt, initialize: QAe, getConfig: Oe, setConfig: rIt, getSiteConfig: nIt, updateSiteConfig: t_e, reset: () => { cW() }, globalReset: () => { cW(OA) }, defaultConfig: OA }); Aft(Oe().logLevel), cW(Oe()); const JAe = (i, a, f) => { zt.warn(i), TIt(i) ? (f && f(i.str, i.hash), a.push({ ...i, message: i.str, error: i })) : (f && f(i), i instanceof Error && a.push({ str: i.message, message: i.message, hash: i.name, error: i })) }, yOt = async function (i = { querySelector: ".mermaid" }) { try { await tLe(i) } catch (a) { if (TIt(a) && zt.error(a.str), P2.parseError && P2.parseError(a), !i.suppressErrors) throw zt.error("Use the suppressErrors option to suppress these errors"), a } }, tLe = async function ({ postRenderCallback: i, querySelector: a, nodes: f } = { querySelector: ".mermaid" }) { const p = d1.getConfig(); zt.debug(`${i ? "" : "No "}Callback function found`); let v; if (f) v = f; else if (a) v = document.querySelectorAll(a); else throw new Error("Nodes and querySelector are both undefined"); zt.debug(`Found ${v.length} diagrams`), (p == null ? void 0 : p.startOnLoad) !== void 0 && (zt.debug("Start On Load: " + (p == null ? void 0 : p.startOnLoad)), d1.updateSiteConfig({ startOnLoad: p == null ? void 0 : p.startOnLoad })); const m = new lo.initIdGenerator(p.deterministicIds, p.deterministicIDSeed); let b; const E = []; for (const C of Array.from(v)) { zt.info("Rendering diagram: " + C.id);/*! Check if previously processed */if (C.getAttribute("data-processed")) continue; C.setAttribute("data-processed", "true"); const D = `mermaid-${m.next()}`; b = C.innerHTML, b = fA(lo.entityDecode(b)).trim().replace(/<br\s*\/?>/gi, "<br/>"); const P = lo.detectInit(b); P && zt.debug("Detected early reinit: ", P); try { const { svg: B, bindFunctions: j } = await TOt(D, b, C); C.innerHTML = B, i && await i(D), j && j(C) } catch (B) { JAe(B, E, P2.parseError) } } if (E.length > 0) throw E[0] }, xOt = function (i) { d1.initialize(i) }, eLe = async function (i, a, f) { zt.warn("mermaid.init is deprecated. Please use run instead."), i && xOt(i); const p = { postRenderCallback: f, querySelector: ".mermaid" }; typeof a == "string" ? p.querySelector = a : a && (a instanceof HTMLElement ? p.nodes = [a] : p.nodes = a), await yOt(p) }, nLe = async (i, { lazyLoad: a = !0 } = {}) => { fIt(...i), a === !1 && await p_e() }, kOt = function () { if (P2.startOnLoad) { const { startOnLoad: i } = d1.getConfig(); i && P2.run().catch(a => zt.error("Mermaid failed to initialize", a)) } }; if (typeof document < "u") {/*!
     * Wait for document loaded before starting the execution
     */window.addEventListener("load", kOt, !1)
    } const rLe = function (i) { P2.parseError = i }, SW = []; let hdt = !1; const EOt = async () => { if (!hdt) { for (hdt = !0; SW.length > 0;) { const i = SW.shift(); if (i) try { await i() } catch (a) { zt.error("Error executing queue", a) } } hdt = !1 } }, iLe = async (i, a) => new Promise((f, p) => { const v = () => new Promise((m, b) => { d1.parse(i, a).then(E => { m(E), f(E) }, E => { var C; zt.error("Error parsing", E), (C = P2.parseError) == null || C.call(P2, E), b(E), p(E) }) }); SW.push(v), EOt().catch(p) }), TOt = (i, a, f) => new Promise((p, v) => { const m = () => new Promise((b, E) => { d1.render(i, a, f).then(C => { b(C), p(C) }, C => { var D; zt.error("Error parsing", C), (D = P2.parseError) == null || D.call(P2, C), E(C), v(C) }) }); SW.push(m), EOt().catch(v) }), P2 = { startOnLoad: !0, mermaidAPI: d1, parse: iLe, render: TOt, init: eLe, run: yOt, registerExternalDiagrams: nLe, initialize: xOt, parseError: void 0, contentLoaded: kOt, setParseErrorHandler: rLe, detectType: dW }; var AW = function () {
        var i = function (qi, zn, Zn, Pr) { for (Zn = Zn || {}, Pr = qi.length; Pr--; Zn[qi[Pr]] = zn); return Zn }, a = [1, 6], f = [1, 7], p = [1, 8], v = [1, 9], m = [1, 16], b = [1, 11], E = [1, 12], C = [1, 13], D = [1, 14], P = [1, 15], B = [1, 27], j = [1, 33], R = [1, 34], H = [1, 35], Y = [1, 36], it = [1, 37], nt = [1, 72], st = [1, 73], pt = [1, 74], Tt = [1, 75], kt = [1, 76], yt = [1, 77], ht = [1, 78], mt = [1, 38], rt = [1, 39], wt = [1, 40], gt = [1, 41], lt = [1, 42], _t = [1, 43], X = [1, 44], Rt = [1, 45], ft = [1, 46], de = [1, 47], J = [1, 48], ae = [1, 49], Wt = [1, 50], It = [1, 51], Nt = [1, 52], me = [1, 53], Ue = [1, 54], _n = [1, 55], _e = [1, 56], rr = [1, 57], Te = [1, 59], ne = [1, 60], Ee = [1, 61], ye = [1, 62], Vt = [1, 63], Ae = [1, 64], Gt = [1, 65], un = [1, 66], jt = [1, 67], Ke = [1, 68], oe = [1, 69], Or = [24, 52], Le = [24, 44, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], Nr = [15, 24, 44, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], fe = [1, 94], sr = [1, 95], Yn = [1, 96], tr = [1, 97], ur = [15, 24, 52], gn = [7, 8, 9, 10, 18, 22, 25, 26, 27, 28], En = [15, 24, 43, 52], Dr = [15, 24, 43, 52, 86, 87, 89, 90], hr = [15, 43], Ki = [44, 46, 47, 48, 49, 50, 51, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], Is = {
            trace: function () { }, yy: {}, symbols_: { error: 2, start: 3, mermaidDoc: 4, direction: 5, directive: 6, direction_tb: 7, direction_bt: 8, direction_rl: 9, direction_lr: 10, graphConfig: 11, openDirective: 12, typeDirective: 13, closeDirective: 14, NEWLINE: 15, ":": 16, argDirective: 17, open_directive: 18, type_directive: 19, arg_directive: 20, close_directive: 21, C4_CONTEXT: 22, statements: 23, EOF: 24, C4_CONTAINER: 25, C4_COMPONENT: 26, C4_DYNAMIC: 27, C4_DEPLOYMENT: 28, otherStatements: 29, diagramStatements: 30, otherStatement: 31, title: 32, accDescription: 33, acc_title: 34, acc_title_value: 35, acc_descr: 36, acc_descr_value: 37, acc_descr_multiline_value: 38, boundaryStatement: 39, boundaryStartStatement: 40, boundaryStopStatement: 41, boundaryStart: 42, LBRACE: 43, ENTERPRISE_BOUNDARY: 44, attributes: 45, SYSTEM_BOUNDARY: 46, BOUNDARY: 47, CONTAINER_BOUNDARY: 48, NODE: 49, NODE_L: 50, NODE_R: 51, RBRACE: 52, diagramStatement: 53, PERSON: 54, PERSON_EXT: 55, SYSTEM: 56, SYSTEM_DB: 57, SYSTEM_QUEUE: 58, SYSTEM_EXT: 59, SYSTEM_EXT_DB: 60, SYSTEM_EXT_QUEUE: 61, CONTAINER: 62, CONTAINER_DB: 63, CONTAINER_QUEUE: 64, CONTAINER_EXT: 65, CONTAINER_EXT_DB: 66, CONTAINER_EXT_QUEUE: 67, COMPONENT: 68, COMPONENT_DB: 69, COMPONENT_QUEUE: 70, COMPONENT_EXT: 71, COMPONENT_EXT_DB: 72, COMPONENT_EXT_QUEUE: 73, REL: 74, BIREL: 75, REL_U: 76, REL_D: 77, REL_L: 78, REL_R: 79, REL_B: 80, REL_INDEX: 81, UPDATE_EL_STYLE: 82, UPDATE_REL_STYLE: 83, UPDATE_LAYOUT_CONFIG: 84, attribute: 85, STR: 86, STR_KEY: 87, STR_VALUE: 88, ATTRIBUTE: 89, ATTRIBUTE_EMPTY: 90, $accept: 0, $end: 1 }, terminals_: { 2: "error", 7: "direction_tb", 8: "direction_bt", 9: "direction_rl", 10: "direction_lr", 15: "NEWLINE", 16: ":", 18: "open_directive", 19: "type_directive", 20: "arg_directive", 21: "close_directive", 22: "C4_CONTEXT", 24: "EOF", 25: "C4_CONTAINER", 26: "C4_COMPONENT", 27: "C4_DYNAMIC", 28: "C4_DEPLOYMENT", 32: "title", 33: "accDescription", 34: "acc_title", 35: "acc_title_value", 36: "acc_descr", 37: "acc_descr_value", 38: "acc_descr_multiline_value", 43: "LBRACE", 44: "ENTERPRISE_BOUNDARY", 46: "SYSTEM_BOUNDARY", 47: "BOUNDARY", 48: "CONTAINER_BOUNDARY", 49: "NODE", 50: "NODE_L", 51: "NODE_R", 52: "RBRACE", 54: "PERSON", 55: "PERSON_EXT", 56: "SYSTEM", 57: "SYSTEM_DB", 58: "SYSTEM_QUEUE", 59: "SYSTEM_EXT", 60: "SYSTEM_EXT_DB", 61: "SYSTEM_EXT_QUEUE", 62: "CONTAINER", 63: "CONTAINER_DB", 64: "CONTAINER_QUEUE", 65: "CONTAINER_EXT", 66: "CONTAINER_EXT_DB", 67: "CONTAINER_EXT_QUEUE", 68: "COMPONENT", 69: "COMPONENT_DB", 70: "COMPONENT_QUEUE", 71: "COMPONENT_EXT", 72: "COMPONENT_EXT_DB", 73: "COMPONENT_EXT_QUEUE", 74: "REL", 75: "BIREL", 76: "REL_U", 77: "REL_D", 78: "REL_L", 79: "REL_R", 80: "REL_B", 81: "REL_INDEX", 82: "UPDATE_EL_STYLE", 83: "UPDATE_REL_STYLE", 84: "UPDATE_LAYOUT_CONFIG", 86: "STR", 87: "STR_KEY", 88: "STR_VALUE", 89: "ATTRIBUTE", 90: "ATTRIBUTE_EMPTY" }, productions_: [0, [3, 1], [3, 1], [3, 2], [5, 1], [5, 1], [5, 1], [5, 1], [4, 1], [6, 4], [6, 6], [12, 1], [13, 1], [17, 1], [14, 1], [11, 4], [11, 4], [11, 4], [11, 4], [11, 4], [23, 1], [23, 1], [23, 2], [29, 1], [29, 2], [29, 3], [31, 1], [31, 1], [31, 2], [31, 2], [31, 1], [39, 3], [40, 3], [40, 3], [40, 4], [42, 2], [42, 2], [42, 2], [42, 2], [42, 2], [42, 2], [42, 2], [41, 1], [30, 1], [30, 2], [30, 3], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 1], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [53, 2], [45, 1], [45, 2], [85, 1], [85, 2], [85, 1], [85, 1]], performAction: function (zn, Zn, Pr, On, xi, In, rc) { var qn = In.length - 1; switch (xi) { case 4: On.setDirection("TB"); break; case 5: On.setDirection("BT"); break; case 6: On.setDirection("RL"); break; case 7: On.setDirection("LR"); break; case 11: On.parseDirective("%%{", "open_directive"); break; case 12: break; case 13: In[qn] = In[qn].trim().replace(/'/g, '"'), On.parseDirective(In[qn], "arg_directive"); break; case 14: On.parseDirective("}%%", "close_directive", "c4Context"); break; case 15: case 16: case 17: case 18: case 19: On.setC4Type(In[qn - 3]); break; case 26: On.setTitle(In[qn].substring(6)), this.$ = In[qn].substring(6); break; case 27: On.setAccDescription(In[qn].substring(15)), this.$ = In[qn].substring(15); break; case 28: this.$ = In[qn].trim(), On.setTitle(this.$); break; case 29: case 30: this.$ = In[qn].trim(), On.setAccDescription(this.$); break; case 35: case 36: In[qn].splice(2, 0, "ENTERPRISE"), On.addPersonOrSystemBoundary(...In[qn]), this.$ = In[qn]; break; case 37: On.addPersonOrSystemBoundary(...In[qn]), this.$ = In[qn]; break; case 38: In[qn].splice(2, 0, "CONTAINER"), On.addContainerBoundary(...In[qn]), this.$ = In[qn]; break; case 39: On.addDeploymentNode("node", ...In[qn]), this.$ = In[qn]; break; case 40: On.addDeploymentNode("nodeL", ...In[qn]), this.$ = In[qn]; break; case 41: On.addDeploymentNode("nodeR", ...In[qn]), this.$ = In[qn]; break; case 42: On.popBoundaryParseStack(); break; case 46: On.addPersonOrSystem("person", ...In[qn]), this.$ = In[qn]; break; case 47: On.addPersonOrSystem("external_person", ...In[qn]), this.$ = In[qn]; break; case 48: On.addPersonOrSystem("system", ...In[qn]), this.$ = In[qn]; break; case 49: On.addPersonOrSystem("system_db", ...In[qn]), this.$ = In[qn]; break; case 50: On.addPersonOrSystem("system_queue", ...In[qn]), this.$ = In[qn]; break; case 51: On.addPersonOrSystem("external_system", ...In[qn]), this.$ = In[qn]; break; case 52: On.addPersonOrSystem("external_system_db", ...In[qn]), this.$ = In[qn]; break; case 53: On.addPersonOrSystem("external_system_queue", ...In[qn]), this.$ = In[qn]; break; case 54: On.addContainer("container", ...In[qn]), this.$ = In[qn]; break; case 55: On.addContainer("container_db", ...In[qn]), this.$ = In[qn]; break; case 56: On.addContainer("container_queue", ...In[qn]), this.$ = In[qn]; break; case 57: On.addContainer("external_container", ...In[qn]), this.$ = In[qn]; break; case 58: On.addContainer("external_container_db", ...In[qn]), this.$ = In[qn]; break; case 59: On.addContainer("external_container_queue", ...In[qn]), this.$ = In[qn]; break; case 60: On.addComponent("component", ...In[qn]), this.$ = In[qn]; break; case 61: On.addComponent("component_db", ...In[qn]), this.$ = In[qn]; break; case 62: On.addComponent("component_queue", ...In[qn]), this.$ = In[qn]; break; case 63: On.addComponent("external_component", ...In[qn]), this.$ = In[qn]; break; case 64: On.addComponent("external_component_db", ...In[qn]), this.$ = In[qn]; break; case 65: On.addComponent("external_component_queue", ...In[qn]), this.$ = In[qn]; break; case 67: On.addRel("rel", ...In[qn]), this.$ = In[qn]; break; case 68: On.addRel("birel", ...In[qn]), this.$ = In[qn]; break; case 69: On.addRel("rel_u", ...In[qn]), this.$ = In[qn]; break; case 70: On.addRel("rel_d", ...In[qn]), this.$ = In[qn]; break; case 71: On.addRel("rel_l", ...In[qn]), this.$ = In[qn]; break; case 72: On.addRel("rel_r", ...In[qn]), this.$ = In[qn]; break; case 73: On.addRel("rel_b", ...In[qn]), this.$ = In[qn]; break; case 74: In[qn].splice(0, 1), On.addRel("rel", ...In[qn]), this.$ = In[qn]; break; case 75: On.updateElStyle("update_el_style", ...In[qn]), this.$ = In[qn]; break; case 76: On.updateRelStyle("update_rel_style", ...In[qn]), this.$ = In[qn]; break; case 77: On.updateLayoutConfig("update_layout_config", ...In[qn]), this.$ = In[qn]; break; case 78: this.$ = [In[qn]]; break; case 79: In[qn].unshift(In[qn - 1]), this.$ = In[qn]; break; case 80: case 82: this.$ = In[qn].trim(); break; case 81: let ss = {}; ss[In[qn - 1].trim()] = In[qn].trim(), this.$ = ss; break; case 83: this.$ = ""; break } }, table: [{ 3: 1, 4: 2, 5: 3, 6: 4, 7: a, 8: f, 9: p, 10: v, 11: 5, 12: 10, 18: m, 22: b, 25: E, 26: C, 27: D, 28: P }, { 1: [3] }, { 1: [2, 1] }, { 1: [2, 2] }, { 3: 17, 4: 2, 5: 3, 6: 4, 7: a, 8: f, 9: p, 10: v, 11: 5, 12: 10, 18: m, 22: b, 25: E, 26: C, 27: D, 28: P }, { 1: [2, 8] }, { 1: [2, 4] }, { 1: [2, 5] }, { 1: [2, 6] }, { 1: [2, 7] }, { 13: 18, 19: [1, 19] }, { 15: [1, 20] }, { 15: [1, 21] }, { 15: [1, 22] }, { 15: [1, 23] }, { 15: [1, 24] }, { 19: [2, 11] }, { 1: [2, 3] }, { 14: 25, 16: [1, 26], 21: B }, i([16, 21], [2, 12]), { 23: 28, 29: 29, 30: 30, 31: 31, 32: j, 33: R, 34: H, 36: Y, 38: it, 39: 58, 40: 70, 42: 71, 44: nt, 46: st, 47: pt, 48: Tt, 49: kt, 50: yt, 51: ht, 53: 32, 54: mt, 55: rt, 56: wt, 57: gt, 58: lt, 59: _t, 60: X, 61: Rt, 62: ft, 63: de, 64: J, 65: ae, 66: Wt, 67: It, 68: Nt, 69: me, 70: Ue, 71: _n, 72: _e, 73: rr, 74: Te, 75: ne, 76: Ee, 77: ye, 78: Vt, 79: Ae, 80: Gt, 81: un, 82: jt, 83: Ke, 84: oe }, { 23: 79, 29: 29, 30: 30, 31: 31, 32: j, 33: R, 34: H, 36: Y, 38: it, 39: 58, 40: 70, 42: 71, 44: nt, 46: st, 47: pt, 48: Tt, 49: kt, 50: yt, 51: ht, 53: 32, 54: mt, 55: rt, 56: wt, 57: gt, 58: lt, 59: _t, 60: X, 61: Rt, 62: ft, 63: de, 64: J, 65: ae, 66: Wt, 67: It, 68: Nt, 69: me, 70: Ue, 71: _n, 72: _e, 73: rr, 74: Te, 75: ne, 76: Ee, 77: ye, 78: Vt, 79: Ae, 80: Gt, 81: un, 82: jt, 83: Ke, 84: oe }, { 23: 80, 29: 29, 30: 30, 31: 31, 32: j, 33: R, 34: H, 36: Y, 38: it, 39: 58, 40: 70, 42: 71, 44: nt, 46: st, 47: pt, 48: Tt, 49: kt, 50: yt, 51: ht, 53: 32, 54: mt, 55: rt, 56: wt, 57: gt, 58: lt, 59: _t, 60: X, 61: Rt, 62: ft, 63: de, 64: J, 65: ae, 66: Wt, 67: It, 68: Nt, 69: me, 70: Ue, 71: _n, 72: _e, 73: rr, 74: Te, 75: ne, 76: Ee, 77: ye, 78: Vt, 79: Ae, 80: Gt, 81: un, 82: jt, 83: Ke, 84: oe }, { 23: 81, 29: 29, 30: 30, 31: 31, 32: j, 33: R, 34: H, 36: Y, 38: it, 39: 58, 40: 70, 42: 71, 44: nt, 46: st, 47: pt, 48: Tt, 49: kt, 50: yt, 51: ht, 53: 32, 54: mt, 55: rt, 56: wt, 57: gt, 58: lt, 59: _t, 60: X, 61: Rt, 62: ft, 63: de, 64: J, 65: ae, 66: Wt, 67: It, 68: Nt, 69: me, 70: Ue, 71: _n, 72: _e, 73: rr, 74: Te, 75: ne, 76: Ee, 77: ye, 78: Vt, 79: Ae, 80: Gt, 81: un, 82: jt, 83: Ke, 84: oe }, { 23: 82, 29: 29, 30: 30, 31: 31, 32: j, 33: R, 34: H, 36: Y, 38: it, 39: 58, 40: 70, 42: 71, 44: nt, 46: st, 47: pt, 48: Tt, 49: kt, 50: yt, 51: ht, 53: 32, 54: mt, 55: rt, 56: wt, 57: gt, 58: lt, 59: _t, 60: X, 61: Rt, 62: ft, 63: de, 64: J, 65: ae, 66: Wt, 67: It, 68: Nt, 69: me, 70: Ue, 71: _n, 72: _e, 73: rr, 74: Te, 75: ne, 76: Ee, 77: ye, 78: Vt, 79: Ae, 80: Gt, 81: un, 82: jt, 83: Ke, 84: oe }, { 15: [1, 83] }, { 17: 84, 20: [1, 85] }, { 15: [2, 14] }, { 24: [1, 86] }, i(Or, [2, 20], { 53: 32, 39: 58, 40: 70, 42: 71, 30: 87, 44: nt, 46: st, 47: pt, 48: Tt, 49: kt, 50: yt, 51: ht, 54: mt, 55: rt, 56: wt, 57: gt, 58: lt, 59: _t, 60: X, 61: Rt, 62: ft, 63: de, 64: J, 65: ae, 66: Wt, 67: It, 68: Nt, 69: me, 70: Ue, 71: _n, 72: _e, 73: rr, 74: Te, 75: ne, 76: Ee, 77: ye, 78: Vt, 79: Ae, 80: Gt, 81: un, 82: jt, 83: Ke, 84: oe }), i(Or, [2, 21]), i(Le, [2, 23], { 15: [1, 88] }), i(Or, [2, 43], { 15: [1, 89] }), i(Nr, [2, 26]), i(Nr, [2, 27]), { 35: [1, 90] }, { 37: [1, 91] }, i(Nr, [2, 30]), { 45: 92, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 98, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 99, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 100, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 101, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 102, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 103, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 104, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 105, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 106, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 107, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 108, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 109, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 110, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 111, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 112, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 113, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 114, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 115, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 116, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, i(ur, [2, 66]), { 45: 117, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 118, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 119, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 120, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 121, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 122, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 123, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 124, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 125, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 126, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 127, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 30: 128, 39: 58, 40: 70, 42: 71, 44: nt, 46: st, 47: pt, 48: Tt, 49: kt, 50: yt, 51: ht, 53: 32, 54: mt, 55: rt, 56: wt, 57: gt, 58: lt, 59: _t, 60: X, 61: Rt, 62: ft, 63: de, 64: J, 65: ae, 66: Wt, 67: It, 68: Nt, 69: me, 70: Ue, 71: _n, 72: _e, 73: rr, 74: Te, 75: ne, 76: Ee, 77: ye, 78: Vt, 79: Ae, 80: Gt, 81: un, 82: jt, 83: Ke, 84: oe }, { 15: [1, 130], 43: [1, 129] }, { 45: 131, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 132, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 133, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 134, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 135, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 136, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 45: 137, 85: 93, 86: fe, 87: sr, 89: Yn, 90: tr }, { 24: [1, 138] }, { 24: [1, 139] }, { 24: [1, 140] }, { 24: [1, 141] }, i(gn, [2, 9]), { 14: 142, 21: B }, { 21: [2, 13] }, { 1: [2, 15] }, i(Or, [2, 22]), i(Le, [2, 24], { 31: 31, 29: 143, 32: j, 33: R, 34: H, 36: Y, 38: it }), i(Or, [2, 44], { 29: 29, 30: 30, 31: 31, 53: 32, 39: 58, 40: 70, 42: 71, 23: 144, 32: j, 33: R, 34: H, 36: Y, 38: it, 44: nt, 46: st, 47: pt, 48: Tt, 49: kt, 50: yt, 51: ht, 54: mt, 55: rt, 56: wt, 57: gt, 58: lt, 59: _t, 60: X, 61: Rt, 62: ft, 63: de, 64: J, 65: ae, 66: Wt, 67: It, 68: Nt, 69: me, 70: Ue, 71: _n, 72: _e, 73: rr, 74: Te, 75: ne, 76: Ee, 77: ye, 78: Vt, 79: Ae, 80: Gt, 81: un, 82: jt, 83: Ke, 84: oe }), i(Nr, [2, 28]), i(Nr, [2, 29]), i(ur, [2, 46]), i(En, [2, 78], { 85: 93, 45: 145, 86: fe, 87: sr, 89: Yn, 90: tr }), i(Dr, [2, 80]), { 88: [1, 146] }, i(Dr, [2, 82]), i(Dr, [2, 83]), i(ur, [2, 47]), i(ur, [2, 48]), i(ur, [2, 49]), i(ur, [2, 50]), i(ur, [2, 51]), i(ur, [2, 52]), i(ur, [2, 53]), i(ur, [2, 54]), i(ur, [2, 55]), i(ur, [2, 56]), i(ur, [2, 57]), i(ur, [2, 58]), i(ur, [2, 59]), i(ur, [2, 60]), i(ur, [2, 61]), i(ur, [2, 62]), i(ur, [2, 63]), i(ur, [2, 64]), i(ur, [2, 65]), i(ur, [2, 67]), i(ur, [2, 68]), i(ur, [2, 69]), i(ur, [2, 70]), i(ur, [2, 71]), i(ur, [2, 72]), i(ur, [2, 73]), i(ur, [2, 74]), i(ur, [2, 75]), i(ur, [2, 76]), i(ur, [2, 77]), { 41: 147, 52: [1, 148] }, { 15: [1, 149] }, { 43: [1, 150] }, i(hr, [2, 35]), i(hr, [2, 36]), i(hr, [2, 37]), i(hr, [2, 38]), i(hr, [2, 39]), i(hr, [2, 40]), i(hr, [2, 41]), { 1: [2, 16] }, { 1: [2, 17] }, { 1: [2, 18] }, { 1: [2, 19] }, { 15: [1, 151] }, i(Le, [2, 25]), i(Or, [2, 45]), i(En, [2, 79]), i(Dr, [2, 81]), i(ur, [2, 31]), i(ur, [2, 42]), i(Ki, [2, 32]), i(Ki, [2, 33], { 15: [1, 152] }), i(gn, [2, 10]), i(Ki, [2, 34])], defaultActions: { 2: [2, 1], 3: [2, 2], 5: [2, 8], 6: [2, 4], 7: [2, 5], 8: [2, 6], 9: [2, 7], 16: [2, 11], 17: [2, 3], 27: [2, 14], 85: [2, 13], 86: [2, 15], 138: [2, 16], 139: [2, 17], 140: [2, 18], 141: [2, 19] }, parseError: function (zn, Zn) { if (Zn.recoverable) this.trace(zn); else { var Pr = new Error(zn); throw Pr.hash = Zn, Pr } }, parse: function (zn) {
                var Zn = this, Pr = [0], On = [], xi = [null], In = [], rc = this.table, qn = "", ss = 0, Aa = 0, Ya = 2, Ea = 1, ga = In.slice.call(arguments, 1), Es = Object.create(this.lexer), Bs = { yy: {} }; for (var Ta in this.yy) Object.prototype.hasOwnProperty.call(this.yy, Ta) && (Bs.yy[Ta] = this.yy[Ta]); Es.setInput(zn, Bs.yy), Bs.yy.lexer = Es, Bs.yy.parser = this, typeof Es.yylloc > "u" && (Es.yylloc = {}); var La = Es.yylloc; In.push(La); var Va = Es.options && Es.options.ranges; typeof Bs.yy.parseError == "function" ? this.parseError = Bs.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; function sv() { var ci; return ci = On.pop() || Es.lex() || Ea, typeof ci != "number" && (ci instanceof Array && (On = ci, ci = On.pop()), ci = Zn.symbols_[ci] || ci), ci } for (var rl, mu, As, gp, sd = {}, Rl, $u, Gi, He; ;) {
                    if (mu = Pr[Pr.length - 1], this.defaultActions[mu] ? As = this.defaultActions[mu] : ((rl === null || typeof rl > "u") && (rl = sv()), As = rc[mu] && rc[mu][rl]), typeof As > "u" || !As.length || !As[0]) {
                        var Er = ""; He = []; for (Rl in rc[mu]) this.terminals_[Rl] && Rl > Ya && He.push("'" + this.terminals_[Rl] + "'"); Es.showPosition ? Er = "Parse error on line " + (ss + 1) + `:
    `+ Es.showPosition() + `
    Expecting `+ He.join(", ") + ", got '" + (this.terminals_[rl] || rl) + "'" : Er = "Parse error on line " + (ss + 1) + ": Unexpected " + (rl == Ea ? "end of input" : "'" + (this.terminals_[rl] || rl) + "'"), this.parseError(Er, { text: Es.match, token: this.terminals_[rl] || rl, line: Es.yylineno, loc: La, expected: He })
                    } if (As[0] instanceof Array && As.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + mu + ", token: " + rl); switch (As[0]) { case 1: Pr.push(rl), xi.push(Es.yytext), In.push(Es.yylloc), Pr.push(As[1]), rl = null, Aa = Es.yyleng, qn = Es.yytext, ss = Es.yylineno, La = Es.yylloc; break; case 2: if ($u = this.productions_[As[1]][1], sd.$ = xi[xi.length - $u], sd._$ = { first_line: In[In.length - ($u || 1)].first_line, last_line: In[In.length - 1].last_line, first_column: In[In.length - ($u || 1)].first_column, last_column: In[In.length - 1].last_column }, Va && (sd._$.range = [In[In.length - ($u || 1)].range[0], In[In.length - 1].range[1]]), gp = this.performAction.apply(sd, [qn, Aa, ss, Bs.yy, As[1], xi, In].concat(ga)), typeof gp < "u") return gp; $u && (Pr = Pr.slice(0, -1 * $u * 2), xi = xi.slice(0, -1 * $u), In = In.slice(0, -1 * $u)), Pr.push(this.productions_[As[1]][0]), xi.push(sd.$), In.push(sd._$), Gi = rc[Pr[Pr.length - 2]][Pr[Pr.length - 1]], Pr.push(Gi); break; case 3: return !0 }
                } return !0
            }
        }, Ha = function () {
            var qi = {
                EOF: 1, parseError: function (Zn, Pr) { if (this.yy.parser) this.yy.parser.parseError(Zn, Pr); else throw new Error(Zn) }, setInput: function (zn, Zn) { return this.yy = Zn || this.yy || {}, this._input = zn, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this }, input: function () { var zn = this._input[0]; this.yytext += zn, this.yyleng++, this.offset++, this.match += zn, this.matched += zn; var Zn = zn.match(/(?:\r\n?|\n).*/g); return Zn ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), zn }, unput: function (zn) { var Zn = zn.length, Pr = zn.split(/(?:\r\n?|\n)/g); this._input = zn + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - Zn), this.offset -= Zn; var On = this.match.split(/(?:\r\n?|\n)/g); this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), Pr.length - 1 && (this.yylineno -= Pr.length - 1); var xi = this.yylloc.range; return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: Pr ? (Pr.length === On.length ? this.yylloc.first_column : 0) + On[On.length - Pr.length].length - Pr[0].length : this.yylloc.first_column - Zn }, this.options.ranges && (this.yylloc.range = [xi[0], xi[0] + this.yyleng - Zn]), this.yyleng = this.yytext.length, this }, more: function () { return this._more = !0, this }, reject: function () {
                    if (this.options.backtrack_lexer) this._backtrack = !0; else 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).
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno }); return this
                }, less: function (zn) { this.unput(this.match.slice(zn)) }, pastInput: function () { var zn = this.matched.substr(0, this.matched.length - this.match.length); return (zn.length > 20 ? "..." : "") + zn.substr(-20).replace(/\n/g, "") }, upcomingInput: function () { var zn = this.match; return zn.length < 20 && (zn += this._input.substr(0, 20 - zn.length)), (zn.substr(0, 20) + (zn.length > 20 ? "..." : "")).replace(/\n/g, "") }, showPosition: function () {
                    var zn = this.pastInput(), Zn = new Array(zn.length + 1).join("-"); return zn + this.upcomingInput() + `
    `+ Zn + "^"
                }, test_match: function (zn, Zn) { var Pr, On, xi; if (this.options.backtrack_lexer && (xi = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (xi.yylloc.range = this.yylloc.range.slice(0))), On = zn[0].match(/(?:\r\n?|\n).*/g), On && (this.yylineno += On.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: On ? On[On.length - 1].length - On[On.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + zn[0].length }, this.yytext += zn[0], this.match += zn[0], this.matches = zn, 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(zn[0].length), this.matched += zn[0], Pr = this.performAction.call(this, this.yy, this, Zn, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), Pr) return Pr; if (this._backtrack) { for (var In in xi) this[In] = xi[In]; return !1 } return !1 }, next: function () {
                    if (this.done) return this.EOF; this._input || (this.done = !0); var zn, Zn, Pr, On; this._more || (this.yytext = "", this.match = ""); for (var xi = this._currentRules(), In = 0; In < xi.length; In++)if (Pr = this._input.match(this.rules[xi[In]]), Pr && (!Zn || Pr[0].length > Zn[0].length)) { if (Zn = Pr, On = In, this.options.backtrack_lexer) { if (zn = this.test_match(Pr, xi[In]), zn !== !1) return zn; if (this._backtrack) { Zn = !1; continue } else return !1 } else if (!this.options.flex) break } return Zn ? (zn = this.test_match(Zn, xi[On]), zn !== !1 ? zn : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno })
                }, lex: function () { var Zn = this.next(); return Zn || this.lex() }, begin: function (Zn) { this.conditionStack.push(Zn) }, popState: function () { var Zn = this.conditionStack.length - 1; return Zn > 0 ? this.conditionStack.pop() : this.conditionStack[0] }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules }, topState: function (Zn) { return Zn = this.conditionStack.length - 1 - Math.abs(Zn || 0), Zn >= 0 ? this.conditionStack[Zn] : "INITIAL" }, pushState: function (Zn) { this.begin(Zn) }, stateStackSize: function () { return this.conditionStack.length }, options: {}, performAction: function (Zn, Pr, On, xi) { switch (On) { case 0: return this.begin("open_directive"), 18; case 1: return 7; case 2: return 8; case 3: return 9; case 4: return 10; case 5: return this.begin("type_directive"), 19; case 6: return this.popState(), this.begin("arg_directive"), 16; case 7: return this.popState(), this.popState(), 21; case 8: return 20; case 9: return 32; case 10: return 33; case 11: return this.begin("acc_title"), 34; case 12: return this.popState(), "acc_title_value"; case 13: return this.begin("acc_descr"), 36; case 14: return this.popState(), "acc_descr_value"; case 15: this.begin("acc_descr_multiline"); break; case 16: this.popState(); break; case 17: return "acc_descr_multiline_value"; case 18: break; case 19: c; break; case 20: return 15; case 21: break; case 22: return 22; case 23: return 25; case 24: return 26; case 25: return 27; case 26: return 28; case 27: return this.begin("person_ext"), 55; case 28: return this.begin("person"), 54; case 29: return this.begin("system_ext_queue"), 61; case 30: return this.begin("system_ext_db"), 60; case 31: return this.begin("system_ext"), 59; case 32: return this.begin("system_queue"), 58; case 33: return this.begin("system_db"), 57; case 34: return this.begin("system"), 56; case 35: return this.begin("boundary"), 47; case 36: return this.begin("enterprise_boundary"), 44; case 37: return this.begin("system_boundary"), 46; case 38: return this.begin("container_ext_queue"), 67; case 39: return this.begin("container_ext_db"), 66; case 40: return this.begin("container_ext"), 65; case 41: return this.begin("container_queue"), 64; case 42: return this.begin("container_db"), 63; case 43: return this.begin("container"), 62; case 44: return this.begin("container_boundary"), 48; case 45: return this.begin("component_ext_queue"), 73; case 46: return this.begin("component_ext_db"), 72; case 47: return this.begin("component_ext"), 71; case 48: return this.begin("component_queue"), 70; case 49: return this.begin("component_db"), 69; case 50: return this.begin("component"), 68; case 51: return this.begin("node"), 49; case 52: return this.begin("node"), 49; case 53: return this.begin("node_l"), 50; case 54: return this.begin("node_r"), 51; case 55: return this.begin("rel"), 74; case 56: return this.begin("birel"), 75; case 57: return this.begin("rel_u"), 76; case 58: return this.begin("rel_u"), 76; case 59: return this.begin("rel_d"), 77; case 60: return this.begin("rel_d"), 77; case 61: return this.begin("rel_l"), 78; case 62: return this.begin("rel_l"), 78; case 63: return this.begin("rel_r"), 79; case 64: return this.begin("rel_r"), 79; case 65: return this.begin("rel_b"), 80; case 66: return this.begin("rel_index"), 81; case 67: return this.begin("update_el_style"), 82; case 68: return this.begin("update_rel_style"), 83; case 69: return this.begin("update_layout_config"), 84; case 70: return "EOF_IN_STRUCT"; case 71: return this.begin("attribute"), "ATTRIBUTE_EMPTY"; case 72: this.begin("attribute"); break; case 73: this.popState(), this.popState(); break; case 74: return 90; case 75: break; case 76: return 90; case 77: this.begin("string"); break; case 78: this.popState(); break; case 79: return "STR"; case 80: this.begin("string_kv"); break; case 81: return this.begin("string_kv_key"), "STR_KEY"; case 82: this.popState(), this.begin("string_kv_value"); break; case 83: return "STR_VALUE"; case 84: this.popState(), this.popState(); break; case 85: return "STR"; case 86: return "LBRACE"; case 87: return "RBRACE"; case 88: return "SPACE"; case 89: return "EOL"; case 90: return 24 } }, rules: [/^(?:%%\{)/, /^(?:.*direction\s+TB[^\n]*)/, /^(?:.*direction\s+BT[^\n]*)/, /^(?:.*direction\s+RL[^\n]*)/, /^(?:.*direction\s+LR[^\n]*)/, /^(?:((?:(?!\}%%)[^:.])*))/, /^(?::)/, /^(?:\}%%)/, /^(?:((?:(?!\}%%).|\n)*))/, /^(?:title\s[^#\n;]+)/, /^(?:accDescription\s[^#\n;]+)/, /^(?:accTitle\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*\{\s*)/, /^(?:[\}])/, /^(?:[^\}]*)/, /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/, /^(?:%%[^\n]*(\r?\n)*)/, /^(?:\s*(\r?\n)+)/, /^(?:\s+)/, /^(?:C4Context\b)/, /^(?:C4Container\b)/, /^(?:C4Component\b)/, /^(?:C4Dynamic\b)/, /^(?:C4Deployment\b)/, /^(?:Person_Ext\b)/, /^(?:Person\b)/, /^(?:SystemQueue_Ext\b)/, /^(?:SystemDb_Ext\b)/, /^(?:System_Ext\b)/, /^(?:SystemQueue\b)/, /^(?:SystemDb\b)/, /^(?:System\b)/, /^(?:Boundary\b)/, /^(?:Enterprise_Boundary\b)/, /^(?:System_Boundary\b)/, /^(?:ContainerQueue_Ext\b)/, /^(?:ContainerDb_Ext\b)/, /^(?:Container_Ext\b)/, /^(?:ContainerQueue\b)/, /^(?:ContainerDb\b)/, /^(?:Container\b)/, /^(?:Container_Boundary\b)/, /^(?:ComponentQueue_Ext\b)/, /^(?:ComponentDb_Ext\b)/, /^(?:Component_Ext\b)/, /^(?:ComponentQueue\b)/, /^(?:ComponentDb\b)/, /^(?:Component\b)/, /^(?:Deployment_Node\b)/, /^(?:Node\b)/, /^(?:Node_L\b)/, /^(?:Node_R\b)/, /^(?:Rel\b)/, /^(?:BiRel\b)/, /^(?:Rel_Up\b)/, /^(?:Rel_U\b)/, /^(?:Rel_Down\b)/, /^(?:Rel_D\b)/, /^(?:Rel_Left\b)/, /^(?:Rel_L\b)/, /^(?:Rel_Right\b)/, /^(?:Rel_R\b)/, /^(?:Rel_Back\b)/, /^(?:RelIndex\b)/, /^(?:UpdateElementStyle\b)/, /^(?:UpdateRelStyle\b)/, /^(?:UpdateLayoutConfig\b)/, /^(?:$)/, /^(?:[(][ ]*[,])/, /^(?:[(])/, /^(?:[)])/, /^(?:,,)/, /^(?:,)/, /^(?:[ ]*["]["])/, /^(?:[ ]*["])/, /^(?:["])/, /^(?:[^"]*)/, /^(?:[ ]*[\$])/, /^(?:[^=]*)/, /^(?:[=][ ]*["])/, /^(?:[^"]+)/, /^(?:["])/, /^(?:[^,]+)/, /^(?:\{)/, /^(?:\})/, /^(?:[\s]+)/, /^(?:[\n\r]+)/, /^(?:$)/], conditions: { acc_descr_multiline: { rules: [16, 17], inclusive: !1 }, acc_descr: { rules: [14], inclusive: !1 }, acc_title: { rules: [12], inclusive: !1 }, close_directive: { rules: [], inclusive: !1 }, arg_directive: { rules: [7, 8], inclusive: !1 }, type_directive: { rules: [6, 7], inclusive: !1 }, open_directive: { rules: [5], inclusive: !1 }, string_kv_value: { rules: [83, 84], inclusive: !1 }, string_kv_key: { rules: [82], inclusive: !1 }, string_kv: { rules: [81], inclusive: !1 }, string: { rules: [78, 79], inclusive: !1 }, attribute: { rules: [73, 74, 75, 76, 77, 80, 85], inclusive: !1 }, update_layout_config: { rules: [70, 71, 72, 73], inclusive: !1 }, update_rel_style: { rules: [70, 71, 72, 73], inclusive: !1 }, update_el_style: { rules: [70, 71, 72, 73], inclusive: !1 }, rel_b: { rules: [70, 71, 72, 73], inclusive: !1 }, rel_r: { rules: [70, 71, 72, 73], inclusive: !1 }, rel_l: { rules: [70, 71, 72, 73], inclusive: !1 }, rel_d: { rules: [70, 71, 72, 73], inclusive: !1 }, rel_u: { rules: [70, 71, 72, 73], inclusive: !1 }, rel_bi: { rules: [], inclusive: !1 }, rel: { rules: [70, 71, 72, 73], inclusive: !1 }, node_r: { rules: [70, 71, 72, 73], inclusive: !1 }, node_l: { rules: [70, 71, 72, 73], inclusive: !1 }, node: { rules: [70, 71, 72, 73], inclusive: !1 }, index: { rules: [], inclusive: !1 }, rel_index: { rules: [70, 71, 72, 73], inclusive: !1 }, component_ext_queue: { rules: [], inclusive: !1 }, component_ext_db: { rules: [70, 71, 72, 73], inclusive: !1 }, component_ext: { rules: [70, 71, 72, 73], inclusive: !1 }, component_queue: { rules: [70, 71, 72, 73], inclusive: !1 }, component_db: { rules: [70, 71, 72, 73], inclusive: !1 }, component: { rules: [70, 71, 72, 73], inclusive: !1 }, container_boundary: { rules: [70, 71, 72, 73], inclusive: !1 }, container_ext_queue: { rules: [], inclusive: !1 }, container_ext_db: { rules: [70, 71, 72, 73], inclusive: !1 }, container_ext: { rules: [70, 71, 72, 73], inclusive: !1 }, container_queue: { rules: [70, 71, 72, 73], inclusive: !1 }, container_db: { rules: [70, 71, 72, 73], inclusive: !1 }, container: { rules: [70, 71, 72, 73], inclusive: !1 }, birel: { rules: [70, 71, 72, 73], inclusive: !1 }, system_boundary: { rules: [70, 71, 72, 73], inclusive: !1 }, enterprise_boundary: { rules: [70, 71, 72, 73], inclusive: !1 }, boundary: { rules: [70, 71, 72, 73], inclusive: !1 }, system_ext_queue: { rules: [70, 71, 72, 73], inclusive: !1 }, system_ext_db: { rules: [70, 71, 72, 73], inclusive: !1 }, system_ext: { rules: [70, 71, 72, 73], inclusive: !1 }, system_queue: { rules: [70, 71, 72, 73], inclusive: !1 }, system_db: { rules: [70, 71, 72, 73], inclusive: !1 }, system: { rules: [70, 71, 72, 73], inclusive: !1 }, person_ext: { rules: [70, 71, 72, 73], inclusive: !1 }, person: { rules: [70, 71, 72, 73], inclusive: !1 }, INITIAL: { rules: [0, 1, 2, 3, 4, 9, 10, 11, 13, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 86, 87, 88, 89, 90], inclusive: !0 } }
            }; return qi
        }(); Is.lexer = Ha; function hi() { this.yy = {} } return hi.prototype = Is, Is.Parser = hi, new hi
    }(); AW.parser = AW; const sLe = AW; let Jw = [], ik = [""], lg = "global", tm = "", h3 = [{ alias: "global", label: { text: "global" }, type: { text: "global" }, tags: null, link: null, parentBoundary: "" }], YN = [], fdt = "", ddt = !1, LW = 4, MW = 2; var _Ot; const aLe = function () { return _Ot }, oLe = function (i) { _Ot = sg(i, Oe()) }, cLe = function (i, a, f) { d1.parseDirective(this, i, a, f) }, uLe = function (i, a, f, p, v, m, b, E, C) { if (i == null || a === void 0 || a === null || f === void 0 || f === null || p === void 0 || p === null) return; let D = {}; const P = YN.find(B => B.from === a && B.to === f); if (P ? D = P : YN.push(D), D.type = i, D.from = a, D.to = f, D.label = { text: p }, v == null) D.techn = { text: "" }; else if (typeof v == "object") { let [B, j] = Object.entries(v)[0]; D[B] = { text: j } } else D.techn = { text: v }; if (m == null) D.descr = { text: "" }; else if (typeof m == "object") { let [B, j] = Object.entries(m)[0]; D[B] = { text: j } } else D.descr = { text: m }; if (typeof b == "object") { let [B, j] = Object.entries(b)[0]; D[B] = j } else D.sprite = b; if (typeof E == "object") { let [B, j] = Object.entries(E)[0]; D[B] = j } else D.tags = E; if (typeof C == "object") { let [B, j] = Object.entries(C)[0]; D[B] = j } else D.link = C; D.wrap = sk() }, lLe = function (i, a, f, p, v, m, b) { if (a === null || f === null) return; let E = {}; const C = Jw.find(D => D.alias === a); if (C && a === C.alias ? E = C : (E.alias = a, Jw.push(E)), f == null ? E.label = { text: "" } : E.label = { text: f }, p == null) E.descr = { text: "" }; else if (typeof p == "object") { let [D, P] = Object.entries(p)[0]; E[D] = { text: P } } else E.descr = { text: p }; if (typeof v == "object") { let [D, P] = Object.entries(v)[0]; E[D] = P } else E.sprite = v; if (typeof m == "object") { let [D, P] = Object.entries(m)[0]; E[D] = P } else E.tags = m; if (typeof b == "object") { let [D, P] = Object.entries(b)[0]; E[D] = P } else E.link = b; E.typeC4Shape = { text: i }, E.parentBoundary = lg, E.wrap = sk() }, hLe = function (i, a, f, p, v, m, b, E) { if (a === null || f === null) return; let C = {}; const D = Jw.find(P => P.alias === a); if (D && a === D.alias ? C = D : (C.alias = a, Jw.push(C)), f == null ? C.label = { text: "" } : C.label = { text: f }, p == null) C.techn = { text: "" }; else if (typeof p == "object") { let [P, B] = Object.entries(p)[0]; C[P] = { text: B } } else C.techn = { text: p }; if (v == null) C.descr = { text: "" }; else if (typeof v == "object") { let [P, B] = Object.entries(v)[0]; C[P] = { text: B } } else C.descr = { text: v }; if (typeof m == "object") { let [P, B] = Object.entries(m)[0]; C[P] = B } else C.sprite = m; if (typeof b == "object") { let [P, B] = Object.entries(b)[0]; C[P] = B } else C.tags = b; if (typeof E == "object") { let [P, B] = Object.entries(E)[0]; C[P] = B } else C.link = E; C.wrap = sk(), C.typeC4Shape = { text: i }, C.parentBoundary = lg }, fLe = function (i, a, f, p, v, m, b, E) { if (a === null || f === null) return; let C = {}; const D = Jw.find(P => P.alias === a); if (D && a === D.alias ? C = D : (C.alias = a, Jw.push(C)), f == null ? C.label = { text: "" } : C.label = { text: f }, p == null) C.techn = { text: "" }; else if (typeof p == "object") { let [P, B] = Object.entries(p)[0]; C[P] = { text: B } } else C.techn = { text: p }; if (v == null) C.descr = { text: "" }; else if (typeof v == "object") { let [P, B] = Object.entries(v)[0]; C[P] = { text: B } } else C.descr = { text: v }; if (typeof m == "object") { let [P, B] = Object.entries(m)[0]; C[P] = B } else C.sprite = m; if (typeof b == "object") { let [P, B] = Object.entries(b)[0]; C[P] = B } else C.tags = b; if (typeof E == "object") { let [P, B] = Object.entries(E)[0]; C[P] = B } else C.link = E; C.wrap = sk(), C.typeC4Shape = { text: i }, C.parentBoundary = lg }, dLe = function (i, a, f, p, v) { if (i === null || a === null) return; let m = {}; const b = h3.find(E => E.alias === i); if (b && i === b.alias ? m = b : (m.alias = i, h3.push(m)), a == null ? m.label = { text: "" } : m.label = { text: a }, f == null) m.type = { text: "system" }; else if (typeof f == "object") { let [E, C] = Object.entries(f)[0]; m[E] = { text: C } } else m.type = { text: f }; if (typeof p == "object") { let [E, C] = Object.entries(p)[0]; m[E] = C } else m.tags = p; if (typeof v == "object") { let [E, C] = Object.entries(v)[0]; m[E] = C } else m.link = v; m.parentBoundary = lg, m.wrap = sk(), tm = lg, lg = i, ik.push(tm) }, gLe = function (i, a, f, p, v) { if (i === null || a === null) return; let m = {}; const b = h3.find(E => E.alias === i); if (b && i === b.alias ? m = b : (m.alias = i, h3.push(m)), a == null ? m.label = { text: "" } : m.label = { text: a }, f == null) m.type = { text: "container" }; else if (typeof f == "object") { let [E, C] = Object.entries(f)[0]; m[E] = { text: C } } else m.type = { text: f }; if (typeof p == "object") { let [E, C] = Object.entries(p)[0]; m[E] = C } else m.tags = p; if (typeof v == "object") { let [E, C] = Object.entries(v)[0]; m[E] = C } else m.link = v; m.parentBoundary = lg, m.wrap = sk(), tm = lg, lg = i, ik.push(tm) }, pLe = function (i, a, f, p, v, m, b, E) { if (a === null || f === null) return; let C = {}; const D = h3.find(P => P.alias === a); if (D && a === D.alias ? C = D : (C.alias = a, h3.push(C)), f == null ? C.label = { text: "" } : C.label = { text: f }, p == null) C.type = { text: "node" }; else if (typeof p == "object") { let [P, B] = Object.entries(p)[0]; C[P] = { text: B } } else C.type = { text: p }; if (v == null) C.descr = { text: "" }; else if (typeof v == "object") { let [P, B] = Object.entries(v)[0]; C[P] = { text: B } } else C.descr = { text: v }; if (typeof b == "object") { let [P, B] = Object.entries(b)[0]; C[P] = B } else C.tags = b; if (typeof E == "object") { let [P, B] = Object.entries(E)[0]; C[P] = B } else C.link = E; C.nodeType = i, C.parentBoundary = lg, C.wrap = sk(), tm = lg, lg = a, ik.push(tm) }, bLe = function () { lg = tm, ik.pop(), tm = ik.pop(), ik.push(tm) }, vLe = function (i, a, f, p, v, m, b, E, C, D, P) { let B = Jw.find(j => j.alias === a); if (!(B === void 0 && (B = h3.find(j => j.alias === a), B === void 0))) { if (f != null) if (typeof f == "object") { let [j, R] = Object.entries(f)[0]; B[j] = R } else B.bgColor = f; if (p != null) if (typeof p == "object") { let [j, R] = Object.entries(p)[0]; B[j] = R } else B.fontColor = p; if (v != null) if (typeof v == "object") { let [j, R] = Object.entries(v)[0]; B[j] = R } else B.borderColor = v; if (m != null) if (typeof m == "object") { let [j, R] = Object.entries(m)[0]; B[j] = R } else B.shadowing = m; if (b != null) if (typeof b == "object") { let [j, R] = Object.entries(b)[0]; B[j] = R } else B.shape = b; if (E != null) if (typeof E == "object") { let [j, R] = Object.entries(E)[0]; B[j] = R } else B.sprite = E; if (C != null) if (typeof C == "object") { let [j, R] = Object.entries(C)[0]; B[j] = R } else B.techn = C; if (D != null) if (typeof D == "object") { let [j, R] = Object.entries(D)[0]; B[j] = R } else B.legendText = D; if (P != null) if (typeof P == "object") { let [j, R] = Object.entries(P)[0]; B[j] = R } else B.legendSprite = P } }, wLe = function (i, a, f, p, v, m, b) { const E = YN.find(C => C.from === a && C.to === f); if (E !== void 0) { if (p != null) if (typeof p == "object") { let [C, D] = Object.entries(p)[0]; E[C] = D } else E.textColor = p; if (v != null) if (typeof v == "object") { let [C, D] = Object.entries(v)[0]; E[C] = D } else E.lineColor = v; if (m != null) if (typeof m == "object") { let [C, D] = Object.entries(m)[0]; E[C] = parseInt(D) } else E.offsetX = parseInt(m); if (b != null) if (typeof b == "object") { let [C, D] = Object.entries(b)[0]; E[C] = parseInt(D) } else E.offsetY = parseInt(b) } }, mLe = function (i, a, f) { let p = LW, v = MW; if (typeof a == "object") { const m = Object.values(a)[0]; p = parseInt(m) } else p = parseInt(a); if (typeof f == "object") { const m = Object.values(f)[0]; v = parseInt(m) } else v = parseInt(f); p >= 1 && (LW = p), v >= 1 && (MW = v) }, yLe = function () { return LW }, xLe = function () { return MW }, kLe = function () { return lg }, ELe = function () { return tm }, COt = function (i) { return i == null ? Jw : Jw.filter(a => a.parentBoundary === i) }, TLe = function (i) { return Jw.find(a => a.alias === i) }, _Le = function (i) { return Object.keys(COt(i)) }, CLe = function (i) { return i == null ? h3 : h3.filter(a => a.parentBoundary === i) }, SLe = function () { return YN }, ALe = function () { return fdt }, LLe = function (i) { ddt = i }, sk = function () { return ddt }, SOt = { addPersonOrSystem: lLe, addPersonOrSystemBoundary: dLe, addContainer: hLe, addContainerBoundary: gLe, addComponent: fLe, addDeploymentNode: pLe, popBoundaryParseStack: bLe, addRel: uLe, updateElStyle: vLe, updateRelStyle: wLe, updateLayoutConfig: mLe, autoWrap: sk, setWrap: LLe, getC4ShapeArray: COt, getC4Shape: TLe, getC4ShapeKeys: _Le, getBoundarys: CLe, getCurrentBoundaryParse: kLe, getParentBoundaryParse: ELe, getRels: SLe, getTitle: ALe, getC4Type: aLe, getC4ShapeInRow: yLe, getC4BoundaryInRow: xLe, setAccTitle: ug, getAccTitle: op, getAccDescription: up, setAccDescription: cp, parseDirective: cLe, getConfig: () => Oe().c4, clear: function () { Jw = [], h3 = [{ alias: "global", label: { text: "global" }, type: { text: "global" }, tags: null, link: null, parentBoundary: "" }], tm = "", lg = "global", ik = [""], YN = [], ik = [""], fdt = "", ddt = !1, LW = 4, MW = 2 }, LINETYPE: { SOLID: 0, DOTTED: 1, NOTE: 2, SOLID_CROSS: 3, DOTTED_CROSS: 4, SOLID_OPEN: 5, DOTTED_OPEN: 6, LOOP_START: 10, LOOP_END: 11, ALT_START: 12, ALT_ELSE: 13, ALT_END: 14, OPT_START: 15, OPT_END: 16, ACTIVE_START: 17, ACTIVE_END: 18, PAR_START: 19, PAR_AND: 20, PAR_END: 21, RECT_START: 22, RECT_END: 23, SOLID_POINT: 24, DOTTED_POINT: 25 }, ARROWTYPE: { FILLED: 0, OPEN: 1 }, PLACEMENT: { LEFTOF: 0, RIGHTOF: 1, OVER: 2 }, setTitle: function (i) { fdt = sg(i, Oe()) }, setC4Type: oLe }, DW = function (i, a) { const f = i.append("rect"); if (f.attr("x", a.x), f.attr("y", a.y), f.attr("fill", a.fill), f.attr("stroke", a.stroke), f.attr("width", a.width), f.attr("height", a.height), f.attr("rx", a.rx), f.attr("ry", a.ry), a.attrs !== "undefined" && a.attrs !== null) for (let p in a.attrs) f.attr(p, a.attrs[p]); return a.class !== "undefined" && f.attr("class", a.class), f }, AOt = function (i, a) { DW(i, { x: a.startx, y: a.starty, width: a.stopx - a.startx, height: a.stopy - a.starty, fill: a.fill, stroke: a.stroke, class: "rect" }).lower() }, MLe = function (i, a) { const f = a.text.replace(/<br\s*\/?>/gi, " "), p = i.append("text"); p.attr("x", a.x), p.attr("y", a.y), p.attr("class", "legend"), p.style("text-anchor", a.anchor), a.class !== void 0 && p.attr("class", a.class); const v = p.append("tspan"); return v.attr("x", a.x + a.textMargin * 2), v.text(f), p }, DLe = function (i, a, f, p) { const v = i.append("image"); v.attr("x", a), v.attr("y", f); var m = Xx(p); v.attr("xlink:href", m) }, ILe = function (i, a, f, p) { const v = i.append("use"); v.attr("x", a), v.attr("y", f); const m = Xx(p); v.attr("xlink:href", "#" + m) }, aE = function () { return { x: 0, y: 0, width: 100, height: 100, fill: "#EDF2AE", stroke: "#666", anchor: "start", rx: 0, ry: 0 } }, gdt = function () { return { x: 0, y: 0, width: 100, height: 100, fill: void 0, anchor: void 0, "text-anchor": "start", style: "#666", textMargin: 0, rx: 0, ry: 0, tspan: !0, valign: void 0 } }, pdt = function (i, a) { return DW(i, a) }, LOt = function (i, a, f, p, v, m) { const b = i.append("image"); b.attr("width", a), b.attr("height", f), b.attr("x", p), b.attr("y", v); let E = m.startsWith("data:image/png;base64") ? m : Xx(m); b.attr("xlink:href", E) }, OLe = (i, a, f) => { const p = i.append("g"); let v = 0; for (let m of a) { let b = m.textColor ? m.textColor : "#444444", E = m.lineColor ? m.lineColor : "#444444", C = m.offsetX ? parseInt(m.offsetX) : 0, D = m.offsetY ? parseInt(m.offsetY) : 0, P = ""; if (v === 0) { let j = p.append("line"); j.attr("x1", m.startPoint.x), j.attr("y1", m.startPoint.y), j.attr("x2", m.endPoint.x), j.attr("y2", m.endPoint.y), j.attr("stroke-width", "1"), j.attr("stroke", E), j.style("fill", "none"), m.type !== "rel_b" && j.attr("marker-end", "url(" + P + "#arrowhead)"), (m.type === "birel" || m.type === "rel_b") && j.attr("marker-start", "url(" + P + "#arrowend)"), v = -1 } else { let j = p.append("path"); j.attr("fill", "none").attr("stroke-width", "1").attr("stroke", E).attr("d", "Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx", m.startPoint.x).replaceAll("starty", m.startPoint.y).replaceAll("controlx", m.startPoint.x + (m.endPoint.x - m.startPoint.x) / 2 - (m.endPoint.x - m.startPoint.x) / 4).replaceAll("controly", m.startPoint.y + (m.endPoint.y - m.startPoint.y) / 2).replaceAll("stopx", m.endPoint.x).replaceAll("stopy", m.endPoint.y)), m.type !== "rel_b" && j.attr("marker-end", "url(" + P + "#arrowhead)"), (m.type === "birel" || m.type === "rel_b") && j.attr("marker-start", "url(" + P + "#arrowend)") } let B = f.messageFont(); k5(f)(m.label.text, p, Math.min(m.startPoint.x, m.endPoint.x) + Math.abs(m.endPoint.x - m.startPoint.x) / 2 + C, Math.min(m.startPoint.y, m.endPoint.y) + Math.abs(m.endPoint.y - m.startPoint.y) / 2 + D, m.label.width, m.label.height, { fill: b }, B), m.techn && m.techn.text !== "" && (B = f.messageFont(), k5(f)("[" + m.techn.text + "]", p, Math.min(m.startPoint.x, m.endPoint.x) + Math.abs(m.endPoint.x - m.startPoint.x) / 2 + C, Math.min(m.startPoint.y, m.endPoint.y) + Math.abs(m.endPoint.y - m.startPoint.y) / 2 + f.messageFontSize + 5 + D, Math.max(m.label.width, m.techn.width), m.techn.height, { fill: b, "font-style": "italic" }, B)) } }, NLe = function (i, a, f) { const p = i.append("g"); let v = a.bgColor ? a.bgColor : "none", m = a.borderColor ? a.borderColor : "#444444", b = a.fontColor ? a.fontColor : "black", E = { "stroke-width": 1, "stroke-dasharray": "7.0,7.0" }; a.nodeType && (E = { "stroke-width": 1 }); let C = { x: a.x, y: a.y, fill: v, stroke: m, width: a.width, height: a.height, rx: 2.5, ry: 2.5, attrs: E }; pdt(p, C); let D = f.boundaryFont(); D.fontWeight = "bold", D.fontSize = D.fontSize + 2, D.fontColor = b, k5(f)(a.label.text, p, a.x, a.y + a.label.Y, a.width, a.height, { fill: "#444444" }, D), a.type && a.type.text !== "" && (D = f.boundaryFont(), D.fontColor = b, k5(f)(a.type.text, p, a.x, a.y + a.type.Y, a.width, a.height, { fill: "#444444" }, D)), a.descr && a.descr.text !== "" && (D = f.boundaryFont(), D.fontSize = D.fontSize - 2, D.fontColor = b, k5(f)(a.descr.text, p, a.x, a.y + a.descr.Y, a.width, a.height, { fill: "#444444" }, D)) }, PLe = function (i, a, f) { var B; let p = a.bgColor ? a.bgColor : f[a.typeC4Shape.text + "_bg_color"], v = a.borderColor ? a.borderColor : f[a.typeC4Shape.text + "_border_color"], m = a.fontColor ? a.fontColor : "#FFFFFF", b = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII="; switch (a.typeC4Shape.text) { case "person": b = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII="; break; case "external_person": b = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII="; break }const E = i.append("g"); E.attr("class", "person-man"); const C = aE(); switch (a.typeC4Shape.text) { case "person": case "external_person": case "system": case "external_system": case "container": case "external_container": case "component": case "external_component": C.x = a.x, C.y = a.y, C.fill = p, C.width = a.width, C.height = a.height, C.stroke = v, C.rx = 2.5, C.ry = 2.5, C.attrs = { "stroke-width": .5 }, pdt(E, C); break; case "system_db": case "external_system_db": case "container_db": case "external_container_db": case "component_db": case "external_component_db": E.append("path").attr("fill", p).attr("stroke-width", "0.5").attr("stroke", v).attr("d", "Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx", a.x).replaceAll("starty", a.y).replaceAll("half", a.width / 2).replaceAll("height", a.height)), E.append("path").attr("fill", "none").attr("stroke-width", "0.5").attr("stroke", v).attr("d", "Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx", a.x).replaceAll("starty", a.y).replaceAll("half", a.width / 2)); break; case "system_queue": case "external_system_queue": case "container_queue": case "external_container_queue": case "component_queue": case "external_component_queue": E.append("path").attr("fill", p).attr("stroke-width", "0.5").attr("stroke", v).attr("d", "Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx", a.x).replaceAll("starty", a.y).replaceAll("width", a.width).replaceAll("half", a.height / 2)), E.append("path").attr("fill", "none").attr("stroke-width", "0.5").attr("stroke", v).attr("d", "Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx", a.x + a.width).replaceAll("starty", a.y).replaceAll("half", a.height / 2)); break }let D = VLe(f, a.typeC4Shape.text); switch (E.append("text").attr("fill", m).attr("font-family", D.fontFamily).attr("font-size", D.fontSize - 2).attr("font-style", "italic").attr("lengthAdjust", "spacing").attr("textLength", a.typeC4Shape.width).attr("x", a.x + a.width / 2 - a.typeC4Shape.width / 2).attr("y", a.y + a.typeC4Shape.Y).text("<<" + a.typeC4Shape.text + ">>"), a.typeC4Shape.text) { case "person": case "external_person": LOt(E, 48, 48, a.x + a.width / 2 - 24, a.y + a.image.Y, b); break }let P = f[a.typeC4Shape.text + "Font"](); return P.fontWeight = "bold", P.fontSize = P.fontSize + 2, P.fontColor = m, k5(f)(a.label.text, E, a.x, a.y + a.label.Y, a.width, a.height, { fill: m }, P), P = f[a.typeC4Shape.text + "Font"](), P.fontColor = m, a.techn && ((B = a.techn) == null ? void 0 : B.text) !== "" ? k5(f)(a.techn.text, E, a.x, a.y + a.techn.Y, a.width, a.height, { fill: m, "font-style": "italic" }, P) : a.type && a.type.text !== "" && k5(f)(a.type.text, E, a.x, a.y + a.type.Y, a.width, a.height, { fill: m, "font-style": "italic" }, P), a.descr && a.descr.text !== "" && (P = f.personFont(), P.fontColor = m, k5(f)(a.descr.text, E, a.x, a.y + a.descr.Y, a.width, a.height, { fill: m }, P)), a.height }, FLe = function (i) { i.append("defs").append("symbol").attr("id", "database").attr("fill-rule", "evenodd").attr("clip-rule", "evenodd").append("path").attr("transform", "scale(.5)").attr("d", "M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z") }, BLe = function (i) { i.append("defs").append("symbol").attr("id", "computer").attr("width", "24").attr("height", "24").append("path").attr("transform", "scale(.5)").attr("d", "M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z") }, RLe = function (i) { i.append("defs").append("symbol").attr("id", "clock").attr("width", "24").attr("height", "24").append("path").attr("transform", "scale(.5)").attr("d", "M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z") }, jLe = function (i) { i.append("defs").append("marker").attr("id", "arrowhead").attr("refX", 9).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto").append("path").attr("d", "M 0 0 L 10 5 L 0 10 z") }, $Le = function (i) { i.append("defs").append("marker").attr("id", "arrowend").attr("refX", 1).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto").append("path").attr("d", "M 10 0 L 0 5 L 10 10 z") }, zLe = function (i) { i.append("defs").append("marker").attr("id", "filled-head").attr("refX", 18).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L14,7 L9,1 Z") }, qLe = function (i) { i.append("defs").append("marker").attr("id", "sequencenumber").attr("refX", 15).attr("refY", 15).attr("markerWidth", 60).attr("markerHeight", 40).attr("orient", "auto").append("circle").attr("cx", 15).attr("cy", 15).attr("r", 6) }, HLe = function (i) { const f = i.append("defs").append("marker").attr("id", "crosshead").attr("markerWidth", 15).attr("markerHeight", 8).attr("orient", "auto").attr("refX", 16).attr("refY", 4); f.append("path").attr("fill", "black").attr("stroke", "#000000").style("stroke-dasharray", "0, 0").attr("stroke-width", "1px").attr("d", "M 9,2 V 6 L16,4 Z"), f.append("path").attr("fill", "none").attr("stroke", "#000000").style("stroke-dasharray", "0, 0").attr("stroke-width", "1px").attr("d", "M 0,1 L 6,7 M 6,1 L 0,7") }, VLe = (i, a) => ({ fontFamily: i[a + "FontFamily"], fontSize: i[a + "FontSize"], fontWeight: i[a + "FontWeight"] }), k5 = function () { function i(v, m, b, E, C, D, P) { const B = m.append("text").attr("x", b + C / 2).attr("y", E + D / 2 + 5).style("text-anchor", "middle").text(v); p(B, P) } function a(v, m, b, E, C, D, P, B) { const { fontSize: j, fontFamily: R, fontWeight: H } = B, Y = v.split(yi.lineBreakRegex); for (let it = 0; it < Y.length; it++) { const nt = it * j - j * (Y.length - 1) / 2, st = m.append("text").attr("x", b + C / 2).attr("y", E).style("text-anchor", "middle").attr("dominant-baseline", "middle").style("font-size", j).style("font-weight", H).style("font-family", R); st.append("tspan").attr("dy", nt).text(Y[it]).attr("alignment-baseline", "mathematical"), p(st, P) } } function f(v, m, b, E, C, D, P, B) { const j = m.append("switch"), H = j.append("foreignObject").attr("x", b).attr("y", E).attr("width", C).attr("height", D).append("xhtml:div").style("display", "table").style("height", "100%").style("width", "100%"); H.append("div").style("display", "table-cell").style("text-align", "center").style("vertical-align", "middle").text(v), a(v, j, b, E, C, D, P, B), p(H, P) } function p(v, m) { for (const b in m) m.hasOwnProperty(b) && v.attr(b, m[b]) } return function (v) { return v.textPlacement === "fo" ? f : v.textPlacement === "old" ? i : a } }(), f3 = { drawRect: pdt, drawBoundary: NLe, drawC4Shape: PLe, drawRels: OLe, drawImage: LOt, insertArrowHead: jLe, insertArrowEnd: $Le, insertArrowFilledHead: zLe, insertDynamicNumber: qLe, insertArrowCrossHead: HLe, insertDatabaseIcon: FLe, insertComputerIcon: BLe, insertClockIcon: RLe }; let IW = 0, OW = 0, MOt = 4, bdt = 2; AW.yy = SOt; let Ss = {}; class DOt { constructor(a) { this.name = "", this.data = {}, this.data.startx = void 0, this.data.stopx = void 0, this.data.starty = void 0, this.data.stopy = void 0, this.data.widthLimit = void 0, this.nextData = {}, this.nextData.startx = void 0, this.nextData.stopx = void 0, this.nextData.starty = void 0, this.nextData.stopy = void 0, this.nextData.cnt = 0, vdt(a.db.getConfig()) } setData(a, f, p, v) { this.nextData.startx = this.data.startx = a, this.nextData.stopx = this.data.stopx = f, this.nextData.starty = this.data.starty = p, this.nextData.stopy = this.data.stopy = v } updateVal(a, f, p, v) { a[f] === void 0 ? a[f] = p : a[f] = v(p, a[f]) } insert(a) { this.nextData.cnt = this.nextData.cnt + 1; let f = this.nextData.startx === this.nextData.stopx ? this.nextData.stopx + a.margin : this.nextData.stopx + a.margin * 2, p = f + a.width, v = this.nextData.starty + a.margin * 2, m = v + a.height; (f >= this.data.widthLimit || p >= this.data.widthLimit || this.nextData.cnt > MOt) && (f = this.nextData.startx + a.margin + Ss.nextLinePaddingX, v = this.nextData.stopy + a.margin * 2, this.nextData.stopx = p = f + a.width, this.nextData.starty = this.nextData.stopy, this.nextData.stopy = m = v + a.height, this.nextData.cnt = 1), a.x = f, a.y = v, this.updateVal(this.data, "startx", f, Math.min), this.updateVal(this.data, "starty", v, Math.min), this.updateVal(this.data, "stopx", p, Math.max), this.updateVal(this.data, "stopy", m, Math.max), this.updateVal(this.nextData, "startx", f, Math.min), this.updateVal(this.nextData, "starty", v, Math.min), this.updateVal(this.nextData, "stopx", p, Math.max), this.updateVal(this.nextData, "stopy", m, Math.max) } init(a) { this.name = "", this.data = { startx: void 0, stopx: void 0, starty: void 0, stopy: void 0, widthLimit: void 0 }, this.nextData = { startx: void 0, stopx: void 0, starty: void 0, stopy: void 0, cnt: 0 }, vdt(a.db.getConfig()) } bumpLastMargin(a) { this.data.stopx += a, this.data.stopy += a } } const vdt = function (i) { rd(Ss, i), i.fontFamily && (Ss.personFontFamily = Ss.systemFontFamily = Ss.messageFontFamily = i.fontFamily), i.fontSize && (Ss.personFontSize = Ss.systemFontSize = Ss.messageFontSize = i.fontSize), i.fontWeight && (Ss.personFontWeight = Ss.systemFontWeight = Ss.messageFontWeight = i.fontWeight) }, XN = (i, a) => ({ fontFamily: i[a + "FontFamily"], fontSize: i[a + "FontSize"], fontWeight: i[a + "FontWeight"] }), NW = i => ({ fontFamily: i.boundaryFontFamily, fontSize: i.boundaryFontSize, fontWeight: i.boundaryFontWeight }), GLe = i => ({ fontFamily: i.messageFontFamily, fontSize: i.messageFontSize, fontWeight: i.messageFontWeight }); function em(i, a, f, p, v) { if (!a[i].width) if (f) a[i].text = EIt(a[i].text, v, p), a[i].textLines = a[i].text.split(yi.lineBreakRegex).length, a[i].width = v, a[i].height = K1t(a[i].text, p); else { let m = a[i].text.split(yi.lineBreakRegex); a[i].textLines = m.length; let b = 0; a[i].height = 0, a[i].width = 0; for (const E of m) a[i].width = Math.max(u3(E, p), a[i].width), b = K1t(E, p), a[i].height = a[i].height + b } } const IOt = function (i, a, f) { a.x = f.data.startx, a.y = f.data.starty, a.width = f.data.stopx - f.data.startx, a.height = f.data.stopy - f.data.starty, a.label.y = Ss.c4ShapeMargin - 35; let p = a.wrap && Ss.wrap, v = NW(Ss); v.fontSize = v.fontSize + 2, v.fontWeight = "bold"; let m = u3(a.label.text, v); em("label", a, p, v, m), f3.drawBoundary(i, a, Ss) }, OOt = function (i, a, f, p) { let v = 0; for (const m of p) { v = 0; const b = f[m]; let E = XN(Ss, b.typeC4Shape.text); switch (E.fontSize = E.fontSize - 2, b.typeC4Shape.width = u3("<<" + b.typeC4Shape.text + ">>", E), b.typeC4Shape.height = E.fontSize + 2, b.typeC4Shape.Y = Ss.c4ShapePadding, v = b.typeC4Shape.Y + b.typeC4Shape.height - 4, b.image = { width: 0, height: 0, Y: 0 }, b.typeC4Shape.text) { case "person": case "external_person": b.image.width = 48, b.image.height = 48, b.image.Y = v, v = b.image.Y + b.image.height; break }b.sprite && (b.image.width = 48, b.image.height = 48, b.image.Y = v, v = b.image.Y + b.image.height); let C = b.wrap && Ss.wrap, D = Ss.width - Ss.c4ShapePadding * 2, P = XN(Ss, b.typeC4Shape.text); if (P.fontSize = P.fontSize + 2, P.fontWeight = "bold", em("label", b, C, P, D), b.label.Y = v + 8, v = b.label.Y + b.label.height, b.type && b.type.text !== "") { b.type.text = "[" + b.type.text + "]"; let R = XN(Ss, b.typeC4Shape.text); em("type", b, C, R, D), b.type.Y = v + 5, v = b.type.Y + b.type.height } else if (b.techn && b.techn.text !== "") { b.techn.text = "[" + b.techn.text + "]"; let R = XN(Ss, b.techn.text); em("techn", b, C, R, D), b.techn.Y = v + 5, v = b.techn.Y + b.techn.height } let B = v, j = b.label.width; if (b.descr && b.descr.text !== "") { let R = XN(Ss, b.typeC4Shape.text); em("descr", b, C, R, D), b.descr.Y = v + 20, v = b.descr.Y + b.descr.height, j = Math.max(b.label.width, b.descr.width), B = v - b.descr.textLines * 5 } j = j + Ss.c4ShapePadding, b.width = Math.max(b.width || Ss.width, j, Ss.width), b.height = Math.max(b.height || Ss.height, B, Ss.height), b.margin = b.margin || Ss.c4ShapeMargin, i.insert(b), f3.drawC4Shape(a, b, Ss) } i.bumpLastMargin(Ss.c4ShapeMargin) }; let Zb = class { constructor(a, f) { this.x = a, this.y = f } }, NOt = function (i, a) { let f = i.x, p = i.y, v = a.x, m = a.y, b = f + i.width / 2, E = p + i.height / 2, C = Math.abs(f - v), D = Math.abs(p - m), P = D / C, B = i.height / i.width, j = null; return p == m && f < v ? j = new Zb(f + i.width, E) : p == m && f > v ? j = new Zb(f, E) : f == v && p < m ? j = new Zb(b, p + i.height) : f == v && p > m && (j = new Zb(b, p)), f > v && p < m ? B >= P ? j = new Zb(f, E + P * i.width / 2) : j = new Zb(b - C / D * i.height / 2, p + i.height) : f < v && p < m ? B >= P ? j = new Zb(f + i.width, E + P * i.width / 2) : j = new Zb(b + C / D * i.height / 2, p + i.height) : f < v && p > m ? B >= P ? j = new Zb(f + i.width, E - P * i.width / 2) : j = new Zb(b + i.height / 2 * C / D, p) : f > v && p > m && (B >= P ? j = new Zb(f, E - i.width / 2 * P) : j = new Zb(b - i.height / 2 * C / D, p)), j }, ULe = function (i, a) { let f = { x: 0, y: 0 }; f.x = a.x + a.width / 2, f.y = a.y + a.height / 2; let p = NOt(i, f); f.x = i.x + i.width / 2, f.y = i.y + i.height / 2; let v = NOt(a, f); return { startPoint: p, endPoint: v } }; const WLe = function (i, a, f, p) { let v = 0; for (let m of a) { v = v + 1; let b = m.wrap && Ss.wrap, E = GLe(Ss); p.db.getC4Type() === "C4Dynamic" && (m.label.text = v + ": " + m.label.text); let D = u3(m.label.text, E); em("label", m, b, E, D), m.techn && m.techn.text !== "" && (D = u3(m.techn.text, E), em("techn", m, b, E, D)), m.descr && m.descr.text !== "" && (D = u3(m.descr.text, E), em("descr", m, b, E, D)); let P = f(m.from), B = f(m.to), j = ULe(P, B); m.startPoint = j.startPoint, m.endPoint = j.endPoint } f3.drawRels(i, a, Ss) }; function POt(i, a, f, p, v) { let m = new DOt(v); m.data.widthLimit = f.data.widthLimit / Math.min(bdt, p.length); for (let [b, E] of p.entries()) { let C = 0; E.image = { width: 0, height: 0, Y: 0 }, E.sprite && (E.image.width = 48, E.image.height = 48, E.image.Y = C, C = E.image.Y + E.image.height); let D = E.wrap && Ss.wrap, P = NW(Ss); if (P.fontSize = P.fontSize + 2, P.fontWeight = "bold", em("label", E, D, P, m.data.widthLimit), E.label.Y = C + 8, C = E.label.Y + E.label.height, E.type && E.type.text !== "") { E.type.text = "[" + E.type.text + "]"; let H = NW(Ss); em("type", E, D, H, m.data.widthLimit), E.type.Y = C + 5, C = E.type.Y + E.type.height } if (E.descr && E.descr.text !== "") { let H = NW(Ss); H.fontSize = H.fontSize - 2, em("descr", E, D, H, m.data.widthLimit), E.descr.Y = C + 20, C = E.descr.Y + E.descr.height } if (b == 0 || b % bdt === 0) { let H = f.data.startx + Ss.diagramMarginX, Y = f.data.stopy + Ss.diagramMarginY + C; m.setData(H, H, Y, Y) } else { let H = m.data.stopx !== m.data.startx ? m.data.stopx + Ss.diagramMarginX : m.data.startx, Y = m.data.starty; m.setData(H, H, Y, Y) } m.name = E.alias; let B = v.db.getC4ShapeArray(E.alias), j = v.db.getC4ShapeKeys(E.alias); j.length > 0 && OOt(m, i, B, j), a = E.alias; let R = v.db.getBoundarys(a); R.length > 0 && POt(i, a, m, R, v), E.alias !== "global" && IOt(i, E, m), f.data.stopy = Math.max(m.data.stopy + Ss.c4ShapeMargin, f.data.stopy), f.data.stopx = Math.max(m.data.stopx + Ss.c4ShapeMargin, f.data.stopx), IW = Math.max(IW, f.data.stopx), OW = Math.max(OW, f.data.stopy) } } const FOt = { drawPersonOrSystemArray: OOt, drawBoundary: IOt, setConf: vdt, draw: function (i, a, f, p) { Ss = Oe().c4; const v = Oe().securityLevel; let m; v === "sandbox" && (m = Mr("#i" + a)); const b = Mr(v === "sandbox" ? m.nodes()[0].contentDocument.body : "body"); let E = p.db; p.db.setWrap(Ss.wrap), MOt = E.getC4ShapeInRow(), bdt = E.getC4BoundaryInRow(), zt.debug(`C:${JSON.stringify(Ss, null, 2)}`); const C = v === "sandbox" ? b.select(`[id="${a}"]`) : Mr(`[id="${a}"]`); f3.insertComputerIcon(C), f3.insertDatabaseIcon(C), f3.insertClockIcon(C); let D = new DOt(p); D.setData(Ss.diagramMarginX, Ss.diagramMarginX, Ss.diagramMarginY, Ss.diagramMarginY), D.data.widthLimit = screen.availWidth, IW = Ss.diagramMarginX, OW = Ss.diagramMarginY; const P = p.db.getTitle(); let B = p.db.getBoundarys(""); POt(C, "", D, B, p), f3.insertArrowHead(C), f3.insertArrowEnd(C), f3.insertArrowCrossHead(C), f3.insertArrowFilledHead(C), WLe(C, p.db.getRels(), p.db.getC4Shape, p), D.data.stopx = IW, D.data.stopy = OW; const j = D.data; let H = j.stopy - j.starty + 2 * Ss.diagramMarginY; const it = j.stopx - j.startx + 2 * Ss.diagramMarginX; P && C.append("text").text(P).attr("x", (j.stopx - j.startx) / 2 - 4 * Ss.diagramMarginX).attr("y", j.starty + Ss.diagramMarginY), Wb(C, H, it, Ss.useMaxWidth); const nt = P ? 60 : 0; C.attr("viewBox", j.startx - Ss.diagramMarginX + " -" + (Ss.diagramMarginY + nt) + " " + it + " " + (H + nt)), zt.debug("models:", j) } }, KLe = Object.freeze(Object.defineProperty({
        __proto__: null, diagram: {
            parser: sLe, db: SOt, renderer: FOt, styles: i => `.person {
        stroke: ${i.personBorder};
        fill: ${i.personBkg};
      }
    `, init: i => { FOt.setConf(i.c4) }
        }
    }, Symbol.toStringTag, { value: "Module" })); var wdt = function () {
        var i = function (dg, cs, zs, Ma) { for (zs = zs || {}, Ma = dg.length; Ma--; zs[dg[Ma]] = cs); return zs }, a = [1, 9], f = [1, 7], p = [1, 6], v = [1, 8], m = [1, 20, 21, 22, 23, 38, 44, 46, 48, 52, 66, 67, 87, 88, 89, 90, 91, 92, 96, 106, 107, 110, 112, 113, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128], b = [2, 10], E = [1, 20], C = [1, 21], D = [1, 22], P = [1, 23], B = [1, 30], j = [1, 32], R = [1, 33], H = [1, 34], Y = [1, 62], it = [1, 48], nt = [1, 52], st = [1, 36], pt = [1, 37], Tt = [1, 38], kt = [1, 39], yt = [1, 40], ht = [1, 56], mt = [1, 63], rt = [1, 51], wt = [1, 53], gt = [1, 55], lt = [1, 59], _t = [1, 60], X = [1, 41], Rt = [1, 42], ft = [1, 43], de = [1, 44], J = [1, 61], ae = [1, 50], Wt = [1, 54], It = [1, 57], Nt = [1, 58], me = [1, 49], Ue = [1, 66], _n = [1, 71], _e = [1, 20, 21, 22, 23, 38, 42, 44, 46, 48, 52, 66, 67, 87, 88, 89, 90, 91, 92, 96, 106, 107, 110, 112, 113, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128], rr = [1, 75], Te = [1, 74], ne = [1, 76], Ee = [20, 21, 23, 81, 82], ye = [1, 99], Vt = [1, 104], Ae = [1, 107], Gt = [1, 108], un = [1, 101], jt = [1, 106], Ke = [1, 109], oe = [1, 102], Or = [1, 114], Le = [1, 113], Nr = [1, 103], fe = [1, 105], sr = [1, 110], Yn = [1, 111], tr = [1, 112], ur = [1, 115], gn = [20, 21, 22, 23, 81, 82], En = [20, 21, 22, 23, 53, 81, 82], Dr = [20, 21, 22, 23, 40, 52, 53, 55, 57, 59, 61, 63, 65, 66, 67, 69, 71, 73, 74, 76, 81, 82, 92, 96, 106, 107, 110, 112, 113, 123, 124, 125, 126, 127, 128], hr = [20, 21, 23], Ki = [20, 21, 23, 52, 66, 67, 81, 82, 92, 96, 106, 107, 110, 112, 113, 123, 124, 125, 126, 127, 128], Is = [1, 12, 20, 21, 22, 23, 24, 38, 42, 44, 46, 48, 52, 66, 67, 87, 88, 89, 90, 91, 92, 96, 106, 107, 110, 112, 113, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128], Ha = [52, 66, 67, 92, 96, 106, 107, 110, 112, 113, 123, 124, 125, 126, 127, 128], hi = [1, 150], qi = [1, 158], zn = [1, 159], Zn = [1, 160], Pr = [1, 161], On = [1, 145], xi = [1, 146], In = [1, 141], rc = [1, 142], qn = [1, 153], ss = [1, 154], Aa = [1, 155], Ya = [1, 156], Ea = [1, 157], ga = [1, 162], Es = [1, 163], Bs = [1, 148], Ta = [1, 151], La = [1, 147], Va = [1, 144], sv = [20, 21, 22, 23, 38, 42, 44, 46, 48, 52, 66, 67, 87, 88, 89, 90, 91, 92, 96, 106, 107, 110, 112, 113, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128], rl = [1, 166], mu = [20, 21, 22, 23, 26, 52, 66, 67, 92, 106, 107, 110, 112, 113, 123, 124, 125, 126, 127, 128], As = [20, 21, 22, 23, 24, 26, 38, 40, 41, 42, 52, 56, 58, 60, 62, 64, 66, 67, 68, 70, 72, 73, 75, 77, 81, 82, 87, 88, 89, 90, 91, 92, 93, 96, 106, 107, 110, 112, 113, 114, 115, 123, 124, 125, 126, 127, 128], gp = [12, 21, 22, 24], sd = [22, 107], Rl = [1, 251], $u = [1, 246], Gi = [1, 247], He = [1, 255], Er = [1, 252], ci = [1, 249], Xa = [1, 248], kc = [1, 250], yu = [1, 253], mo = [1, 254], xu = [1, 256], cf = [1, 274], x3 = [20, 21, 23, 107], v1 = [20, 21, 22, 23, 66, 67, 87, 103, 106, 107, 110, 111, 112, 113, 114], k3 = {
            trace: function () { }, yy: {}, symbols_: { error: 2, start: 3, mermaidDoc: 4, directive: 5, openDirective: 6, typeDirective: 7, closeDirective: 8, separator: 9, ":": 10, argDirective: 11, open_directive: 12, type_directive: 13, arg_directive: 14, close_directive: 15, graphConfig: 16, document: 17, line: 18, statement: 19, SEMI: 20, NEWLINE: 21, SPACE: 22, EOF: 23, GRAPH: 24, NODIR: 25, DIR: 26, FirstStmtSeperator: 27, ending: 28, endToken: 29, spaceList: 30, spaceListNewline: 31, verticeStatement: 32, styleStatement: 33, linkStyleStatement: 34, classDefStatement: 35, classStatement: 36, clickStatement: 37, subgraph: 38, text: 39, SQS: 40, SQE: 41, end: 42, direction: 43, acc_title: 44, acc_title_value: 45, acc_descr: 46, acc_descr_value: 47, acc_descr_multiline_value: 48, link: 49, node: 50, vertex: 51, AMP: 52, STYLE_SEPARATOR: 53, idString: 54, DOUBLECIRCLESTART: 55, DOUBLECIRCLEEND: 56, PS: 57, PE: 58, "(-": 59, "-)": 60, STADIUMSTART: 61, STADIUMEND: 62, SUBROUTINESTART: 63, SUBROUTINEEND: 64, VERTEX_WITH_PROPS_START: 65, ALPHA: 66, COLON: 67, PIPE: 68, CYLINDERSTART: 69, CYLINDEREND: 70, DIAMOND_START: 71, DIAMOND_STOP: 72, TAGEND: 73, TRAPSTART: 74, TRAPEND: 75, INVTRAPSTART: 76, INVTRAPEND: 77, linkStatement: 78, arrowText: 79, TESTSTR: 80, START_LINK: 81, LINK: 82, textToken: 83, STR: 84, MD_STR: 85, keywords: 86, STYLE: 87, LINKSTYLE: 88, CLASSDEF: 89, CLASS: 90, CLICK: 91, DOWN: 92, UP: 93, textNoTags: 94, textNoTagsToken: 95, DEFAULT: 96, stylesOpt: 97, alphaNum: 98, CALLBACKNAME: 99, CALLBACKARGS: 100, HREF: 101, LINK_TARGET: 102, HEX: 103, numList: 104, INTERPOLATE: 105, NUM: 106, COMMA: 107, style: 108, styleComponent: 109, MINUS: 110, UNIT: 111, BRKT: 112, DOT: 113, PCT: 114, TAGSTART: 115, alphaNumToken: 116, idStringToken: 117, alphaNumStatement: 118, direction_tb: 119, direction_bt: 120, direction_rl: 121, direction_lr: 122, PUNCTUATION: 123, UNICODE_TEXT: 124, PLUS: 125, EQUALS: 126, MULT: 127, UNDERSCORE: 128, graphCodeTokens: 129, ARROW_CROSS: 130, ARROW_POINT: 131, ARROW_CIRCLE: 132, ARROW_OPEN: 133, QUOTE: 134, $accept: 0, $end: 1 }, terminals_: { 2: "error", 10: ":", 12: "open_directive", 13: "type_directive", 14: "arg_directive", 15: "close_directive", 20: "SEMI", 21: "NEWLINE", 22: "SPACE", 23: "EOF", 24: "GRAPH", 25: "NODIR", 26: "DIR", 38: "subgraph", 40: "SQS", 41: "SQE", 42: "end", 44: "acc_title", 45: "acc_title_value", 46: "acc_descr", 47: "acc_descr_value", 48: "acc_descr_multiline_value", 52: "AMP", 53: "STYLE_SEPARATOR", 55: "DOUBLECIRCLESTART", 56: "DOUBLECIRCLEEND", 57: "PS", 58: "PE", 59: "(-", 60: "-)", 61: "STADIUMSTART", 62: "STADIUMEND", 63: "SUBROUTINESTART", 64: "SUBROUTINEEND", 65: "VERTEX_WITH_PROPS_START", 66: "ALPHA", 67: "COLON", 68: "PIPE", 69: "CYLINDERSTART", 70: "CYLINDEREND", 71: "DIAMOND_START", 72: "DIAMOND_STOP", 73: "TAGEND", 74: "TRAPSTART", 75: "TRAPEND", 76: "INVTRAPSTART", 77: "INVTRAPEND", 80: "TESTSTR", 81: "START_LINK", 82: "LINK", 84: "STR", 85: "MD_STR", 87: "STYLE", 88: "LINKSTYLE", 89: "CLASSDEF", 90: "CLASS", 91: "CLICK", 92: "DOWN", 93: "UP", 96: "DEFAULT", 99: "CALLBACKNAME", 100: "CALLBACKARGS", 101: "HREF", 102: "LINK_TARGET", 103: "HEX", 105: "INTERPOLATE", 106: "NUM", 107: "COMMA", 110: "MINUS", 111: "UNIT", 112: "BRKT", 113: "DOT", 114: "PCT", 115: "TAGSTART", 119: "direction_tb", 120: "direction_bt", 121: "direction_rl", 122: "direction_lr", 123: "PUNCTUATION", 124: "UNICODE_TEXT", 125: "PLUS", 126: "EQUALS", 127: "MULT", 128: "UNDERSCORE", 130: "ARROW_CROSS", 131: "ARROW_POINT", 132: "ARROW_CIRCLE", 133: "ARROW_OPEN", 134: "QUOTE" }, productions_: [0, [3, 1], [3, 2], [5, 4], [5, 6], [6, 1], [7, 1], [11, 1], [8, 1], [4, 2], [17, 0], [17, 2], [18, 1], [18, 1], [18, 1], [18, 1], [18, 1], [16, 2], [16, 2], [16, 2], [16, 3], [28, 2], [28, 1], [29, 1], [29, 1], [29, 1], [27, 1], [27, 1], [27, 2], [31, 2], [31, 2], [31, 1], [31, 1], [30, 2], [30, 1], [19, 2], [19, 2], [19, 2], [19, 2], [19, 2], [19, 2], [19, 9], [19, 6], [19, 4], [19, 1], [19, 2], [19, 2], [19, 1], [9, 1], [9, 1], [9, 1], [32, 3], [32, 4], [32, 2], [32, 1], [50, 1], [50, 5], [50, 3], [51, 4], [51, 4], [51, 6], [51, 4], [51, 4], [51, 4], [51, 8], [51, 4], [51, 4], [51, 4], [51, 6], [51, 4], [51, 4], [51, 4], [51, 4], [51, 4], [51, 1], [49, 2], [49, 3], [49, 3], [49, 1], [49, 3], [78, 1], [79, 3], [39, 1], [39, 2], [39, 1], [39, 1], [86, 1], [86, 1], [86, 1], [86, 1], [86, 1], [86, 1], [86, 1], [86, 1], [86, 1], [86, 1], [86, 1], [94, 1], [94, 2], [35, 5], [35, 5], [36, 5], [37, 2], [37, 4], [37, 3], [37, 5], [37, 2], [37, 4], [37, 4], [37, 6], [37, 2], [37, 4], [37, 2], [37, 4], [37, 4], [37, 6], [33, 5], [33, 5], [34, 5], [34, 5], [34, 9], [34, 9], [34, 7], [34, 7], [104, 1], [104, 3], [97, 1], [97, 3], [108, 1], [108, 2], [109, 1], [109, 1], [109, 1], [109, 1], [109, 1], [109, 1], [109, 1], [109, 1], [109, 1], [109, 1], [109, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [95, 1], [95, 1], [95, 1], [95, 1], [54, 1], [54, 2], [98, 1], [98, 2], [118, 1], [118, 1], [118, 1], [118, 1], [43, 1], [43, 1], [43, 1], [43, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1], [129, 1]], performAction: function (cs, zs, Ma, Ei, Rc, Ne, pp) { var We = Ne.length - 1; switch (Rc) { case 5: Ei.parseDirective("%%{", "open_directive"); break; case 6: Ei.parseDirective(Ne[We], "type_directive"); break; case 7: Ne[We] = Ne[We].trim().replace(/'/g, '"'), Ei.parseDirective(Ne[We], "arg_directive"); break; case 8: Ei.parseDirective("}%%", "close_directive", "flowchart"); break; case 10: this.$ = []; break; case 11: (!Array.isArray(Ne[We]) || Ne[We].length > 0) && Ne[We - 1].push(Ne[We]), this.$ = Ne[We - 1]; break; case 12: case 97: case 153: case 155: case 156: this.$ = Ne[We]; break; case 19: Ei.setDirection("TB"), this.$ = "TB"; break; case 20: Ei.setDirection(Ne[We - 1]), this.$ = Ne[We - 1]; break; case 35: this.$ = Ne[We - 1].nodes; break; case 36: case 37: case 38: case 39: case 40: this.$ = []; break; case 41: this.$ = Ei.addSubGraph(Ne[We - 6], Ne[We - 1], Ne[We - 4]); break; case 42: this.$ = Ei.addSubGraph(Ne[We - 3], Ne[We - 1], Ne[We - 3]); break; case 43: this.$ = Ei.addSubGraph(void 0, Ne[We - 1], void 0); break; case 45: this.$ = Ne[We].trim(), Ei.setAccTitle(this.$); break; case 46: case 47: this.$ = Ne[We].trim(), Ei.setAccDescription(this.$); break; case 51: Ei.addLink(Ne[We - 2].stmt, Ne[We], Ne[We - 1]), this.$ = { stmt: Ne[We], nodes: Ne[We].concat(Ne[We - 2].nodes) }; break; case 52: Ei.addLink(Ne[We - 3].stmt, Ne[We - 1], Ne[We - 2]), this.$ = { stmt: Ne[We - 1], nodes: Ne[We - 1].concat(Ne[We - 3].nodes) }; break; case 53: this.$ = { stmt: Ne[We - 1], nodes: Ne[We - 1] }; break; case 54: this.$ = { stmt: Ne[We], nodes: Ne[We] }; break; case 55: this.$ = [Ne[We]]; break; case 56: this.$ = Ne[We - 4].concat(Ne[We]); break; case 57: this.$ = [Ne[We - 2]], Ei.setClass(Ne[We - 2], Ne[We]); break; case 58: this.$ = Ne[We - 3], Ei.addVertex(Ne[We - 3], Ne[We - 1], "square"); break; case 59: this.$ = Ne[We - 3], Ei.addVertex(Ne[We - 3], Ne[We - 1], "doublecircle"); break; case 60: this.$ = Ne[We - 5], Ei.addVertex(Ne[We - 5], Ne[We - 2], "circle"); break; case 61: this.$ = Ne[We - 3], Ei.addVertex(Ne[We - 3], Ne[We - 1], "ellipse"); break; case 62: this.$ = Ne[We - 3], Ei.addVertex(Ne[We - 3], Ne[We - 1], "stadium"); break; case 63: this.$ = Ne[We - 3], Ei.addVertex(Ne[We - 3], Ne[We - 1], "subroutine"); break; case 64: this.$ = Ne[We - 7], Ei.addVertex(Ne[We - 7], Ne[We - 1], "rect", void 0, void 0, void 0, Object.fromEntries([[Ne[We - 5], Ne[We - 3]]])); break; case 65: this.$ = Ne[We - 3], Ei.addVertex(Ne[We - 3], Ne[We - 1], "cylinder"); break; case 66: this.$ = Ne[We - 3], Ei.addVertex(Ne[We - 3], Ne[We - 1], "round"); break; case 67: this.$ = Ne[We - 3], Ei.addVertex(Ne[We - 3], Ne[We - 1], "diamond"); break; case 68: this.$ = Ne[We - 5], Ei.addVertex(Ne[We - 5], Ne[We - 2], "hexagon"); break; case 69: this.$ = Ne[We - 3], Ei.addVertex(Ne[We - 3], Ne[We - 1], "odd"); break; case 70: this.$ = Ne[We - 3], Ei.addVertex(Ne[We - 3], Ne[We - 1], "trapezoid"); break; case 71: this.$ = Ne[We - 3], Ei.addVertex(Ne[We - 3], Ne[We - 1], "inv_trapezoid"); break; case 72: this.$ = Ne[We - 3], Ei.addVertex(Ne[We - 3], Ne[We - 1], "lean_right"); break; case 73: this.$ = Ne[We - 3], Ei.addVertex(Ne[We - 3], Ne[We - 1], "lean_left"); break; case 74: this.$ = Ne[We], Ei.addVertex(Ne[We]); break; case 75: Ne[We - 1].text = Ne[We], this.$ = Ne[We - 1]; break; case 76: case 77: Ne[We - 2].text = Ne[We - 1], this.$ = Ne[We - 2]; break; case 78: this.$ = Ne[We]; break; case 79: var uf = Ei.destructLink(Ne[We], Ne[We - 2]); this.$ = { type: uf.type, stroke: uf.stroke, length: uf.length, text: Ne[We - 1] }; break; case 80: var uf = Ei.destructLink(Ne[We]); this.$ = { type: uf.type, stroke: uf.stroke, length: uf.length }; break; case 81: this.$ = Ne[We - 1]; break; case 82: this.$ = { text: Ne[We], type: "text" }; break; case 83: this.$ = { text: Ne[We - 1].text + "" + Ne[We], type: Ne[We - 1].type }; break; case 84: this.$ = { text: Ne[We], type: "text" }; break; case 85: this.$ = { text: Ne[We], type: "markdown" }; break; case 98: case 154: this.$ = Ne[We - 1] + "" + Ne[We]; break; case 99: case 100: this.$ = Ne[We - 4], Ei.addClass(Ne[We - 2], Ne[We]); break; case 101: this.$ = Ne[We - 4], Ei.setClass(Ne[We - 2], Ne[We]); break; case 102: case 110: this.$ = Ne[We - 1], Ei.setClickEvent(Ne[We - 1], Ne[We]); break; case 103: case 111: this.$ = Ne[We - 3], Ei.setClickEvent(Ne[We - 3], Ne[We - 2]), Ei.setTooltip(Ne[We - 3], Ne[We]); break; case 104: this.$ = Ne[We - 2], Ei.setClickEvent(Ne[We - 2], Ne[We - 1], Ne[We]); break; case 105: this.$ = Ne[We - 4], Ei.setClickEvent(Ne[We - 4], Ne[We - 3], Ne[We - 2]), Ei.setTooltip(Ne[We - 4], Ne[We]); break; case 106: case 112: this.$ = Ne[We - 1], Ei.setLink(Ne[We - 1], Ne[We]); break; case 107: case 113: this.$ = Ne[We - 3], Ei.setLink(Ne[We - 3], Ne[We - 2]), Ei.setTooltip(Ne[We - 3], Ne[We]); break; case 108: case 114: this.$ = Ne[We - 3], Ei.setLink(Ne[We - 3], Ne[We - 2], Ne[We]); break; case 109: case 115: this.$ = Ne[We - 5], Ei.setLink(Ne[We - 5], Ne[We - 4], Ne[We]), Ei.setTooltip(Ne[We - 5], Ne[We - 2]); break; case 116: this.$ = Ne[We - 4], Ei.addVertex(Ne[We - 2], void 0, void 0, Ne[We]); break; case 117: case 119: this.$ = Ne[We - 4], Ei.updateLink(Ne[We - 2], Ne[We]); break; case 118: this.$ = Ne[We - 4], Ei.updateLink([Ne[We - 2]], Ne[We]); break; case 120: this.$ = Ne[We - 8], Ei.updateLinkInterpolate([Ne[We - 6]], Ne[We - 2]), Ei.updateLink([Ne[We - 6]], Ne[We]); break; case 121: this.$ = Ne[We - 8], Ei.updateLinkInterpolate(Ne[We - 6], Ne[We - 2]), Ei.updateLink(Ne[We - 6], Ne[We]); break; case 122: this.$ = Ne[We - 6], Ei.updateLinkInterpolate([Ne[We - 4]], Ne[We]); break; case 123: this.$ = Ne[We - 6], Ei.updateLinkInterpolate(Ne[We - 4], Ne[We]); break; case 124: case 126: this.$ = [Ne[We]]; break; case 125: case 127: Ne[We - 2].push(Ne[We]), this.$ = Ne[We - 2]; break; case 129: this.$ = Ne[We - 1] + Ne[We]; break; case 151: this.$ = Ne[We]; break; case 152: this.$ = Ne[We - 1] + "" + Ne[We]; break; case 157: this.$ = "v"; break; case 158: this.$ = "-"; break; case 159: this.$ = { stmt: "dir", value: "TB" }; break; case 160: this.$ = { stmt: "dir", value: "BT" }; break; case 161: this.$ = { stmt: "dir", value: "RL" }; break; case 162: this.$ = { stmt: "dir", value: "LR" }; break } }, table: [{ 3: 1, 4: 2, 5: 3, 6: 5, 12: a, 16: 4, 21: f, 22: p, 24: v }, { 1: [3] }, { 1: [2, 1] }, { 3: 10, 4: 2, 5: 3, 6: 5, 12: a, 16: 4, 21: f, 22: p, 24: v }, i(m, b, { 17: 11 }), { 7: 12, 13: [1, 13] }, { 16: 14, 21: f, 22: p, 24: v }, { 16: 15, 21: f, 22: p, 24: v }, { 25: [1, 16], 26: [1, 17] }, { 13: [2, 5] }, { 1: [2, 2] }, { 1: [2, 9], 18: 18, 19: 19, 20: E, 21: C, 22: D, 23: P, 32: 24, 33: 25, 34: 26, 35: 27, 36: 28, 37: 29, 38: B, 43: 31, 44: j, 46: R, 48: H, 50: 35, 51: 45, 52: Y, 54: 46, 66: it, 67: nt, 87: st, 88: pt, 89: Tt, 90: kt, 91: yt, 92: ht, 96: mt, 106: rt, 107: wt, 110: gt, 112: lt, 113: _t, 117: 47, 119: X, 120: Rt, 121: ft, 122: de, 123: J, 124: ae, 125: Wt, 126: It, 127: Nt, 128: me }, { 8: 64, 10: [1, 65], 15: Ue }, i([10, 15], [2, 6]), i(m, [2, 17]), i(m, [2, 18]), i(m, [2, 19]), { 20: [1, 68], 21: [1, 69], 22: _n, 27: 67, 30: 70 }, i(_e, [2, 11]), i(_e, [2, 12]), i(_e, [2, 13]), i(_e, [2, 14]), i(_e, [2, 15]), i(_e, [2, 16]), { 9: 72, 20: rr, 21: Te, 23: ne, 49: 73, 78: 77, 81: [1, 78], 82: [1, 79] }, { 9: 80, 20: rr, 21: Te, 23: ne }, { 9: 81, 20: rr, 21: Te, 23: ne }, { 9: 82, 20: rr, 21: Te, 23: ne }, { 9: 83, 20: rr, 21: Te, 23: ne }, { 9: 84, 20: rr, 21: Te, 23: ne }, { 9: 86, 20: rr, 21: Te, 22: [1, 85], 23: ne }, i(_e, [2, 44]), { 45: [1, 87] }, { 47: [1, 88] }, i(_e, [2, 47]), i(Ee, [2, 54], { 30: 89, 22: _n }), { 22: [1, 90] }, { 22: [1, 91] }, { 22: [1, 92] }, { 22: [1, 93] }, { 26: ye, 52: Vt, 66: Ae, 67: Gt, 84: [1, 97], 92: un, 98: 96, 99: [1, 94], 101: [1, 95], 106: jt, 107: Ke, 110: oe, 112: Or, 113: Le, 116: 100, 118: 98, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, i(_e, [2, 159]), i(_e, [2, 160]), i(_e, [2, 161]), i(_e, [2, 162]), i(gn, [2, 55], { 53: [1, 116] }), i(En, [2, 74], { 117: 129, 40: [1, 117], 52: Y, 55: [1, 118], 57: [1, 119], 59: [1, 120], 61: [1, 121], 63: [1, 122], 65: [1, 123], 66: it, 67: nt, 69: [1, 124], 71: [1, 125], 73: [1, 126], 74: [1, 127], 76: [1, 128], 92: ht, 96: mt, 106: rt, 107: wt, 110: gt, 112: lt, 113: _t, 123: J, 124: ae, 125: Wt, 126: It, 127: Nt, 128: me }), i(Dr, [2, 151]), i(Dr, [2, 176]), i(Dr, [2, 177]), i(Dr, [2, 178]), i(Dr, [2, 179]), i(Dr, [2, 180]), i(Dr, [2, 181]), i(Dr, [2, 182]), i(Dr, [2, 183]), i(Dr, [2, 184]), i(Dr, [2, 185]), i(Dr, [2, 186]), i(Dr, [2, 187]), i(Dr, [2, 188]), i(Dr, [2, 189]), i(Dr, [2, 190]), i(Dr, [2, 191]), { 9: 130, 20: rr, 21: Te, 23: ne }, { 11: 131, 14: [1, 132] }, i(hr, [2, 8]), i(m, [2, 20]), i(m, [2, 26]), i(m, [2, 27]), { 21: [1, 133] }, i(Ki, [2, 34], { 30: 134, 22: _n }), i(_e, [2, 35]), { 50: 135, 51: 45, 52: Y, 54: 46, 66: it, 67: nt, 92: ht, 96: mt, 106: rt, 107: wt, 110: gt, 112: lt, 113: _t, 117: 47, 123: J, 124: ae, 125: Wt, 126: It, 127: Nt, 128: me }, i(Is, [2, 48]), i(Is, [2, 49]), i(Is, [2, 50]), i(Ha, [2, 78], { 79: 136, 68: [1, 138], 80: [1, 137] }), { 22: hi, 24: qi, 26: zn, 38: Zn, 39: 139, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 140, 84: In, 85: rc, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, i([52, 66, 67, 68, 80, 92, 96, 106, 107, 110, 112, 113, 123, 124, 125, 126, 127, 128], [2, 80]), i(_e, [2, 36]), i(_e, [2, 37]), i(_e, [2, 38]), i(_e, [2, 39]), i(_e, [2, 40]), { 22: hi, 24: qi, 26: zn, 38: Zn, 39: 164, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 140, 84: In, 85: rc, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, i(sv, b, { 17: 165 }), i(_e, [2, 45]), i(_e, [2, 46]), i(Ee, [2, 53], { 52: rl }), { 26: ye, 52: Vt, 66: Ae, 67: Gt, 92: un, 98: 167, 103: [1, 168], 106: jt, 107: Ke, 110: oe, 112: Or, 113: Le, 116: 100, 118: 98, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 96: [1, 169], 104: 170, 106: [1, 171] }, { 26: ye, 52: Vt, 66: Ae, 67: Gt, 92: un, 96: [1, 172], 98: 173, 106: jt, 107: Ke, 110: oe, 112: Or, 113: Le, 116: 100, 118: 98, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 26: ye, 52: Vt, 66: Ae, 67: Gt, 92: un, 98: 174, 106: jt, 107: Ke, 110: oe, 112: Or, 113: Le, 116: 100, 118: 98, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, i(hr, [2, 102], { 22: [1, 175], 100: [1, 176] }), i(hr, [2, 106], { 22: [1, 177] }), i(hr, [2, 110], { 116: 100, 118: 179, 22: [1, 178], 26: ye, 52: Vt, 66: Ae, 67: Gt, 92: un, 106: jt, 107: Ke, 110: oe, 112: Or, 113: Le, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }), i(hr, [2, 112], { 22: [1, 180] }), i(mu, [2, 153]), i(mu, [2, 155]), i(mu, [2, 156]), i(mu, [2, 157]), i(mu, [2, 158]), i(As, [2, 163]), i(As, [2, 164]), i(As, [2, 165]), i(As, [2, 166]), i(As, [2, 167]), i(As, [2, 168]), i(As, [2, 169]), i(As, [2, 170]), i(As, [2, 171]), i(As, [2, 172]), i(As, [2, 173]), i(As, [2, 174]), i(As, [2, 175]), { 52: Y, 54: 181, 66: it, 67: nt, 92: ht, 96: mt, 106: rt, 107: wt, 110: gt, 112: lt, 113: _t, 117: 47, 123: J, 124: ae, 125: Wt, 126: It, 127: Nt, 128: me }, { 22: hi, 24: qi, 26: zn, 38: Zn, 39: 182, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 140, 84: In, 85: rc, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 39: 183, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 140, 84: In, 85: rc, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 39: 185, 42: Pr, 52: Vt, 57: [1, 184], 66: Ae, 67: Gt, 73: On, 81: xi, 83: 140, 84: In, 85: rc, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 39: 186, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 140, 84: In, 85: rc, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 39: 187, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 140, 84: In, 85: rc, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 39: 188, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 140, 84: In, 85: rc, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 66: [1, 189] }, { 22: hi, 24: qi, 26: zn, 38: Zn, 39: 190, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 140, 84: In, 85: rc, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 39: 191, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 71: [1, 192], 73: On, 81: xi, 83: 140, 84: In, 85: rc, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 39: 193, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 140, 84: In, 85: rc, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 39: 194, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 140, 84: In, 85: rc, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 39: 195, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 140, 84: In, 85: rc, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, i(Dr, [2, 152]), i(gp, [2, 3]), { 8: 196, 15: Ue }, { 15: [2, 7] }, i(m, [2, 28]), i(Ki, [2, 33]), i(Ee, [2, 51], { 30: 197, 22: _n }), i(Ha, [2, 75], { 22: [1, 198] }), { 22: [1, 199] }, { 22: hi, 24: qi, 26: zn, 38: Zn, 39: 200, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 140, 84: In, 85: rc, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 82: [1, 201], 83: 202, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, i(As, [2, 82]), i(As, [2, 84]), i(As, [2, 85]), i(As, [2, 141]), i(As, [2, 142]), i(As, [2, 143]), i(As, [2, 144]), i(As, [2, 145]), i(As, [2, 146]), i(As, [2, 147]), i(As, [2, 148]), i(As, [2, 149]), i(As, [2, 150]), i(As, [2, 86]), i(As, [2, 87]), i(As, [2, 88]), i(As, [2, 89]), i(As, [2, 90]), i(As, [2, 91]), i(As, [2, 92]), i(As, [2, 93]), i(As, [2, 94]), i(As, [2, 95]), i(As, [2, 96]), { 9: 204, 20: rr, 21: Te, 22: hi, 23: ne, 24: qi, 26: zn, 38: Zn, 40: [1, 203], 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 202, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 18: 18, 19: 19, 20: E, 21: C, 22: D, 23: P, 32: 24, 33: 25, 34: 26, 35: 27, 36: 28, 37: 29, 38: B, 42: [1, 205], 43: 31, 44: j, 46: R, 48: H, 50: 35, 51: 45, 52: Y, 54: 46, 66: it, 67: nt, 87: st, 88: pt, 89: Tt, 90: kt, 91: yt, 92: ht, 96: mt, 106: rt, 107: wt, 110: gt, 112: lt, 113: _t, 117: 47, 119: X, 120: Rt, 121: ft, 122: de, 123: J, 124: ae, 125: Wt, 126: It, 127: Nt, 128: me }, { 22: _n, 30: 206 }, { 22: [1, 207], 26: ye, 52: Vt, 66: Ae, 67: Gt, 92: un, 106: jt, 107: Ke, 110: oe, 112: Or, 113: Le, 116: 100, 118: 179, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: [1, 208] }, { 22: [1, 209] }, { 22: [1, 210], 107: [1, 211] }, i(sd, [2, 124]), { 22: [1, 212] }, { 22: [1, 213], 26: ye, 52: Vt, 66: Ae, 67: Gt, 92: un, 106: jt, 107: Ke, 110: oe, 112: Or, 113: Le, 116: 100, 118: 179, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: [1, 214], 26: ye, 52: Vt, 66: Ae, 67: Gt, 92: un, 106: jt, 107: Ke, 110: oe, 112: Or, 113: Le, 116: 100, 118: 179, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 84: [1, 215] }, i(hr, [2, 104], { 22: [1, 216] }), { 84: [1, 217], 102: [1, 218] }, { 84: [1, 219] }, i(mu, [2, 154]), { 84: [1, 220], 102: [1, 221] }, i(gn, [2, 57], { 117: 129, 52: Y, 66: it, 67: nt, 92: ht, 96: mt, 106: rt, 107: wt, 110: gt, 112: lt, 113: _t, 123: J, 124: ae, 125: Wt, 126: It, 127: Nt, 128: me }), { 22: hi, 24: qi, 26: zn, 38: Zn, 41: [1, 222], 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 202, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 42: Pr, 52: Vt, 56: [1, 223], 66: Ae, 67: Gt, 73: On, 81: xi, 83: 202, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 39: 224, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 140, 84: In, 85: rc, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 42: Pr, 52: Vt, 58: [1, 225], 66: Ae, 67: Gt, 73: On, 81: xi, 83: 202, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 42: Pr, 52: Vt, 60: [1, 226], 66: Ae, 67: Gt, 73: On, 81: xi, 83: 202, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 42: Pr, 52: Vt, 62: [1, 227], 66: Ae, 67: Gt, 73: On, 81: xi, 83: 202, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 42: Pr, 52: Vt, 64: [1, 228], 66: Ae, 67: Gt, 73: On, 81: xi, 83: 202, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 67: [1, 229] }, { 22: hi, 24: qi, 26: zn, 38: Zn, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 70: [1, 230], 73: On, 81: xi, 83: 202, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 72: [1, 231], 73: On, 81: xi, 83: 202, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 39: 232, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 140, 84: In, 85: rc, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 41: [1, 233], 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 202, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 75: [1, 234], 77: [1, 235], 81: xi, 83: 202, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 22: hi, 24: qi, 26: zn, 38: Zn, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 75: [1, 237], 77: [1, 236], 81: xi, 83: 202, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 9: 238, 20: rr, 21: Te, 23: ne }, i(Ee, [2, 52], { 52: rl }), i(Ha, [2, 77]), i(Ha, [2, 76]), { 22: hi, 24: qi, 26: zn, 38: Zn, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 68: [1, 239], 73: On, 81: xi, 83: 202, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, i(Ha, [2, 79]), i(As, [2, 83]), { 22: hi, 24: qi, 26: zn, 38: Zn, 39: 240, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 140, 84: In, 85: rc, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, i(sv, b, { 17: 241 }), i(_e, [2, 43]), { 51: 242, 52: Y, 54: 46, 66: it, 67: nt, 92: ht, 96: mt, 106: rt, 107: wt, 110: gt, 112: lt, 113: _t, 117: 47, 123: J, 124: ae, 125: Wt, 126: It, 127: Nt, 128: me }, { 22: Rl, 66: $u, 67: Gi, 87: He, 97: 243, 103: Er, 106: ci, 108: 244, 109: 245, 110: Xa, 111: kc, 112: yu, 113: mo, 114: xu }, { 22: Rl, 66: $u, 67: Gi, 87: He, 97: 257, 103: Er, 106: ci, 108: 244, 109: 245, 110: Xa, 111: kc, 112: yu, 113: mo, 114: xu }, { 22: Rl, 66: $u, 67: Gi, 87: He, 97: 258, 103: Er, 105: [1, 259], 106: ci, 108: 244, 109: 245, 110: Xa, 111: kc, 112: yu, 113: mo, 114: xu }, { 22: Rl, 66: $u, 67: Gi, 87: He, 97: 260, 103: Er, 105: [1, 261], 106: ci, 108: 244, 109: 245, 110: Xa, 111: kc, 112: yu, 113: mo, 114: xu }, { 106: [1, 262] }, { 22: Rl, 66: $u, 67: Gi, 87: He, 97: 263, 103: Er, 106: ci, 108: 244, 109: 245, 110: Xa, 111: kc, 112: yu, 113: mo, 114: xu }, { 22: Rl, 66: $u, 67: Gi, 87: He, 97: 264, 103: Er, 106: ci, 108: 244, 109: 245, 110: Xa, 111: kc, 112: yu, 113: mo, 114: xu }, { 26: ye, 52: Vt, 66: Ae, 67: Gt, 92: un, 98: 265, 106: jt, 107: Ke, 110: oe, 112: Or, 113: Le, 116: 100, 118: 98, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, i(hr, [2, 103]), { 84: [1, 266] }, i(hr, [2, 107], { 22: [1, 267] }), i(hr, [2, 108]), i(hr, [2, 111]), i(hr, [2, 113], { 22: [1, 268] }), i(hr, [2, 114]), i(En, [2, 58]), i(En, [2, 59]), { 22: hi, 24: qi, 26: zn, 38: Zn, 42: Pr, 52: Vt, 58: [1, 269], 66: Ae, 67: Gt, 73: On, 81: xi, 83: 202, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, i(En, [2, 66]), i(En, [2, 61]), i(En, [2, 62]), i(En, [2, 63]), { 66: [1, 270] }, i(En, [2, 65]), i(En, [2, 67]), { 22: hi, 24: qi, 26: zn, 38: Zn, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 72: [1, 271], 73: On, 81: xi, 83: 202, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, i(En, [2, 69]), i(En, [2, 70]), i(En, [2, 72]), i(En, [2, 71]), i(En, [2, 73]), i(gp, [2, 4]), i([22, 52, 66, 67, 92, 96, 106, 107, 110, 112, 113, 123, 124, 125, 126, 127, 128], [2, 81]), { 22: hi, 24: qi, 26: zn, 38: Zn, 41: [1, 272], 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 202, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 18: 18, 19: 19, 20: E, 21: C, 22: D, 23: P, 32: 24, 33: 25, 34: 26, 35: 27, 36: 28, 37: 29, 38: B, 42: [1, 273], 43: 31, 44: j, 46: R, 48: H, 50: 35, 51: 45, 52: Y, 54: 46, 66: it, 67: nt, 87: st, 88: pt, 89: Tt, 90: kt, 91: yt, 92: ht, 96: mt, 106: rt, 107: wt, 110: gt, 112: lt, 113: _t, 117: 47, 119: X, 120: Rt, 121: ft, 122: de, 123: J, 124: ae, 125: Wt, 126: It, 127: Nt, 128: me }, i(gn, [2, 56]), i(hr, [2, 116], { 107: cf }), i(x3, [2, 126], { 109: 275, 22: Rl, 66: $u, 67: Gi, 87: He, 103: Er, 106: ci, 110: Xa, 111: kc, 112: yu, 113: mo, 114: xu }), i(v1, [2, 128]), i(v1, [2, 130]), i(v1, [2, 131]), i(v1, [2, 132]), i(v1, [2, 133]), i(v1, [2, 134]), i(v1, [2, 135]), i(v1, [2, 136]), i(v1, [2, 137]), i(v1, [2, 138]), i(v1, [2, 139]), i(v1, [2, 140]), i(hr, [2, 117], { 107: cf }), i(hr, [2, 118], { 107: cf }), { 22: [1, 276] }, i(hr, [2, 119], { 107: cf }), { 22: [1, 277] }, i(sd, [2, 125]), i(hr, [2, 99], { 107: cf }), i(hr, [2, 100], { 107: cf }), i(hr, [2, 101], { 116: 100, 118: 179, 26: ye, 52: Vt, 66: Ae, 67: Gt, 92: un, 106: jt, 107: Ke, 110: oe, 112: Or, 113: Le, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }), i(hr, [2, 105]), { 102: [1, 278] }, { 102: [1, 279] }, { 58: [1, 280] }, { 68: [1, 281] }, { 72: [1, 282] }, { 9: 283, 20: rr, 21: Te, 23: ne }, i(_e, [2, 42]), { 22: Rl, 66: $u, 67: Gi, 87: He, 103: Er, 106: ci, 108: 284, 109: 245, 110: Xa, 111: kc, 112: yu, 113: mo, 114: xu }, i(v1, [2, 129]), { 26: ye, 52: Vt, 66: Ae, 67: Gt, 92: un, 98: 285, 106: jt, 107: Ke, 110: oe, 112: Or, 113: Le, 116: 100, 118: 98, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 26: ye, 52: Vt, 66: Ae, 67: Gt, 92: un, 98: 286, 106: jt, 107: Ke, 110: oe, 112: Or, 113: Le, 116: 100, 118: 98, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, i(hr, [2, 109]), i(hr, [2, 115]), i(En, [2, 60]), { 22: hi, 24: qi, 26: zn, 38: Zn, 39: 287, 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 140, 84: In, 85: rc, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, i(En, [2, 68]), i(sv, b, { 17: 288 }), i(x3, [2, 127], { 109: 275, 22: Rl, 66: $u, 67: Gi, 87: He, 103: Er, 106: ci, 110: Xa, 111: kc, 112: yu, 113: mo, 114: xu }), i(hr, [2, 122], { 116: 100, 118: 179, 22: [1, 289], 26: ye, 52: Vt, 66: Ae, 67: Gt, 92: un, 106: jt, 107: Ke, 110: oe, 112: Or, 113: Le, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }), i(hr, [2, 123], { 116: 100, 118: 179, 22: [1, 290], 26: ye, 52: Vt, 66: Ae, 67: Gt, 92: un, 106: jt, 107: Ke, 110: oe, 112: Or, 113: Le, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }), { 22: hi, 24: qi, 26: zn, 38: Zn, 41: [1, 291], 42: Pr, 52: Vt, 66: Ae, 67: Gt, 73: On, 81: xi, 83: 202, 86: 152, 87: qn, 88: ss, 89: Aa, 90: Ya, 91: Ea, 92: ga, 93: Es, 95: 143, 96: Bs, 106: jt, 107: Ke, 110: Ta, 112: Or, 113: Le, 114: La, 115: Va, 116: 149, 123: Nr, 124: fe, 125: sr, 126: Yn, 127: tr, 128: ur }, { 18: 18, 19: 19, 20: E, 21: C, 22: D, 23: P, 32: 24, 33: 25, 34: 26, 35: 27, 36: 28, 37: 29, 38: B, 42: [1, 292], 43: 31, 44: j, 46: R, 48: H, 50: 35, 51: 45, 52: Y, 54: 46, 66: it, 67: nt, 87: st, 88: pt, 89: Tt, 90: kt, 91: yt, 92: ht, 96: mt, 106: rt, 107: wt, 110: gt, 112: lt, 113: _t, 117: 47, 119: X, 120: Rt, 121: ft, 122: de, 123: J, 124: ae, 125: Wt, 126: It, 127: Nt, 128: me }, { 22: Rl, 66: $u, 67: Gi, 87: He, 97: 293, 103: Er, 106: ci, 108: 244, 109: 245, 110: Xa, 111: kc, 112: yu, 113: mo, 114: xu }, { 22: Rl, 66: $u, 67: Gi, 87: He, 97: 294, 103: Er, 106: ci, 108: 244, 109: 245, 110: Xa, 111: kc, 112: yu, 113: mo, 114: xu }, i(En, [2, 64]), i(_e, [2, 41]), i(hr, [2, 120], { 107: cf }), i(hr, [2, 121], { 107: cf })], defaultActions: { 2: [2, 1], 9: [2, 5], 10: [2, 2], 132: [2, 7] }, parseError: function (cs, zs) { if (zs.recoverable) this.trace(cs); else { var Ma = new Error(cs); throw Ma.hash = zs, Ma } }, parse: function (cs) {
                var zs = this, Ma = [0], Ei = [], Rc = [null], Ne = [], pp = this.table, We = "", uf = 0, lm = 0, EE = 2, bp = 1, B5 = Ne.slice.call(arguments, 1), ah = Object.create(this.lexer), ad = { yy: {} }; for (var R5 in this.yy) Object.prototype.hasOwnProperty.call(this.yy, R5) && (ad.yy[R5] = this.yy[R5]); ah.setInput(cs, ad.yy), ad.yy.lexer = ah, ad.yy.parser = this, typeof ah.yylloc > "u" && (ah.yylloc = {}); var j5 = ah.yylloc; Ne.push(j5); var TE = ah.options && ah.options.ranges; typeof ad.yy.parseError == "function" ? this.parseError = ad.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; function vL() { var oh; return oh = Ei.pop() || ah.lex() || bp, typeof oh != "number" && (oh instanceof Array && (Ei = oh, oh = Ei.pop()), oh = zs.symbols_[oh] || oh), oh } for (var w1, vp, od, hm, av = {}, fm, Ec, gk, Wo; ;) {
                    if (vp = Ma[Ma.length - 1], this.defaultActions[vp] ? od = this.defaultActions[vp] : ((w1 === null || typeof w1 > "u") && (w1 = vL()), od = pp[vp] && pp[vp][w1]), typeof od > "u" || !od.length || !od[0]) {
                        var pk = ""; Wo = []; for (fm in pp[vp]) this.terminals_[fm] && fm > EE && Wo.push("'" + this.terminals_[fm] + "'"); ah.showPosition ? pk = "Parse error on line " + (uf + 1) + `:
    `+ ah.showPosition() + `
    Expecting `+ Wo.join(", ") + ", got '" + (this.terminals_[w1] || w1) + "'" : pk = "Parse error on line " + (uf + 1) + ": Unexpected " + (w1 == bp ? "end of input" : "'" + (this.terminals_[w1] || w1) + "'"), this.parseError(pk, { text: ah.match, token: this.terminals_[w1] || w1, line: ah.yylineno, loc: j5, expected: Wo })
                    } if (od[0] instanceof Array && od.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + vp + ", token: " + w1); switch (od[0]) { case 1: Ma.push(w1), Rc.push(ah.yytext), Ne.push(ah.yylloc), Ma.push(od[1]), w1 = null, lm = ah.yyleng, We = ah.yytext, uf = ah.yylineno, j5 = ah.yylloc; break; case 2: if (Ec = this.productions_[od[1]][1], av.$ = Rc[Rc.length - Ec], av._$ = { first_line: Ne[Ne.length - (Ec || 1)].first_line, last_line: Ne[Ne.length - 1].last_line, first_column: Ne[Ne.length - (Ec || 1)].first_column, last_column: Ne[Ne.length - 1].last_column }, TE && (av._$.range = [Ne[Ne.length - (Ec || 1)].range[0], Ne[Ne.length - 1].range[1]]), hm = this.performAction.apply(av, [We, lm, uf, ad.yy, od[1], Rc, Ne].concat(B5)), typeof hm < "u") return hm; Ec && (Ma = Ma.slice(0, -1 * Ec * 2), Rc = Rc.slice(0, -1 * Ec), Ne = Ne.slice(0, -1 * Ec)), Ma.push(this.productions_[od[1]][0]), Rc.push(av.$), Ne.push(av._$), gk = pp[Ma[Ma.length - 2]][Ma[Ma.length - 1]], Ma.push(gk); break; case 3: return !0 }
                } return !0
            }
        }, bL = function () {
            var dg = {
                EOF: 1, parseError: function (zs, Ma) { if (this.yy.parser) this.yy.parser.parseError(zs, Ma); else throw new Error(zs) }, setInput: function (cs, zs) { return this.yy = zs || this.yy || {}, this._input = cs, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this }, input: function () { var cs = this._input[0]; this.yytext += cs, this.yyleng++, this.offset++, this.match += cs, this.matched += cs; var zs = cs.match(/(?:\r\n?|\n).*/g); return zs ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), cs }, unput: function (cs) { var zs = cs.length, Ma = cs.split(/(?:\r\n?|\n)/g); this._input = cs + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - zs), this.offset -= zs; var Ei = this.match.split(/(?:\r\n?|\n)/g); this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), Ma.length - 1 && (this.yylineno -= Ma.length - 1); var Rc = this.yylloc.range; return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: Ma ? (Ma.length === Ei.length ? this.yylloc.first_column : 0) + Ei[Ei.length - Ma.length].length - Ma[0].length : this.yylloc.first_column - zs }, this.options.ranges && (this.yylloc.range = [Rc[0], Rc[0] + this.yyleng - zs]), this.yyleng = this.yytext.length, this }, more: function () { return this._more = !0, this }, reject: function () {
                    if (this.options.backtrack_lexer) this._backtrack = !0; else 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).
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno }); return this
                }, less: function (cs) { this.unput(this.match.slice(cs)) }, pastInput: function () { var cs = this.matched.substr(0, this.matched.length - this.match.length); return (cs.length > 20 ? "..." : "") + cs.substr(-20).replace(/\n/g, "") }, upcomingInput: function () { var cs = this.match; return cs.length < 20 && (cs += this._input.substr(0, 20 - cs.length)), (cs.substr(0, 20) + (cs.length > 20 ? "..." : "")).replace(/\n/g, "") }, showPosition: function () {
                    var cs = this.pastInput(), zs = new Array(cs.length + 1).join("-"); return cs + this.upcomingInput() + `
    `+ zs + "^"
                }, test_match: function (cs, zs) { var Ma, Ei, Rc; if (this.options.backtrack_lexer && (Rc = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (Rc.yylloc.range = this.yylloc.range.slice(0))), Ei = cs[0].match(/(?:\r\n?|\n).*/g), Ei && (this.yylineno += Ei.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: Ei ? Ei[Ei.length - 1].length - Ei[Ei.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + cs[0].length }, this.yytext += cs[0], this.match += cs[0], this.matches = cs, 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(cs[0].length), this.matched += cs[0], Ma = this.performAction.call(this, this.yy, this, zs, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), Ma) return Ma; if (this._backtrack) { for (var Ne in Rc) this[Ne] = Rc[Ne]; return !1 } return !1 }, next: function () {
                    if (this.done) return this.EOF; this._input || (this.done = !0); var cs, zs, Ma, Ei; this._more || (this.yytext = "", this.match = ""); for (var Rc = this._currentRules(), Ne = 0; Ne < Rc.length; Ne++)if (Ma = this._input.match(this.rules[Rc[Ne]]), Ma && (!zs || Ma[0].length > zs[0].length)) { if (zs = Ma, Ei = Ne, this.options.backtrack_lexer) { if (cs = this.test_match(Ma, Rc[Ne]), cs !== !1) return cs; if (this._backtrack) { zs = !1; continue } else return !1 } else if (!this.options.flex) break } return zs ? (cs = this.test_match(zs, Rc[Ei]), cs !== !1 ? cs : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno })
                }, lex: function () { var zs = this.next(); return zs || this.lex() }, begin: function (zs) { this.conditionStack.push(zs) }, popState: function () { var zs = this.conditionStack.length - 1; return zs > 0 ? this.conditionStack.pop() : this.conditionStack[0] }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules }, topState: function (zs) { return zs = this.conditionStack.length - 1 - Math.abs(zs || 0), zs >= 0 ? this.conditionStack[zs] : "INITIAL" }, pushState: function (zs) { this.begin(zs) }, stateStackSize: function () { return this.conditionStack.length }, options: {}, performAction: function (zs, Ma, Ei, Rc) { switch (Ei) { case 0: return this.begin("open_directive"), 12; case 1: return this.begin("type_directive"), 13; case 2: return this.popState(), this.begin("arg_directive"), 10; case 3: return this.popState(), this.popState(), 15; case 4: return 14; case 5: return this.begin("acc_title"), 44; case 6: return this.popState(), "acc_title_value"; case 7: return this.begin("acc_descr"), 46; case 8: return this.popState(), "acc_descr_value"; case 9: this.begin("acc_descr_multiline"); break; case 10: this.popState(); break; case 11: return "acc_descr_multiline_value"; case 12: this.begin("md_string"); break; case 13: return "MD_STR"; case 14: this.popState(); break; case 15: this.begin("string"); break; case 16: this.popState(); break; case 17: return "STR"; case 18: return 87; case 19: return 96; case 20: return 88; case 21: return 105; case 22: return 89; case 23: return 90; case 24: this.begin("href"); break; case 25: this.popState(); break; case 26: return 101; case 27: this.begin("callbackname"); break; case 28: this.popState(); break; case 29: this.popState(), this.begin("callbackargs"); break; case 30: return 99; case 31: this.popState(); break; case 32: return 100; case 33: this.begin("click"); break; case 34: this.popState(); break; case 35: return 91; case 36: return zs.lex.firstGraph() && this.begin("dir"), 24; case 37: return zs.lex.firstGraph() && this.begin("dir"), 24; case 38: return zs.lex.firstGraph() && this.begin("dir"), 24; case 39: return 38; case 40: return 42; case 41: return 102; case 42: return 102; case 43: return 102; case 44: return 102; case 45: return this.popState(), 25; case 46: return this.popState(), 26; case 47: return this.popState(), 26; case 48: return this.popState(), 26; case 49: return this.popState(), 26; case 50: return this.popState(), 26; case 51: return this.popState(), 26; case 52: return this.popState(), 26; case 53: return this.popState(), 26; case 54: return this.popState(), 26; case 55: return this.popState(), 26; case 56: return 119; case 57: return 120; case 58: return 121; case 59: return 122; case 60: return 106; case 61: return 112; case 62: return 53; case 63: return 67; case 64: return 52; case 65: return 20; case 66: return 107; case 67: return 127; case 68: return 82; case 69: return 82; case 70: return 82; case 71: return 82; case 72: return 81; case 73: return 81; case 74: return 81; case 75: return 59; case 76: return 60; case 77: return 61; case 78: return 62; case 79: return 63; case 80: return 64; case 81: return 65; case 82: return 69; case 83: return 70; case 84: return 55; case 85: return 56; case 86: return 110; case 87: return 113; case 88: return 128; case 89: return 125; case 90: return 114; case 91: return 126; case 92: return 126; case 93: return 115; case 94: return 73; case 95: return 93; case 96: return "SEP"; case 97: return 92; case 98: return 66; case 99: return 75; case 100: return 74; case 101: return 77; case 102: return 76; case 103: return 123; case 104: return 124; case 105: return 68; case 106: return 57; case 107: return 58; case 108: return 40; case 109: return 41; case 110: return 71; case 111: return 72; case 112: return 134; case 113: return 21; case 114: return 22; case 115: return 23 } }, rules: [/^(?:%%\{)/, /^(?:((?:(?!\}%%)[^:.])*))/, /^(?::)/, /^(?:\}%%)/, /^(?:((?:(?!\}%%).|\n)*))/, /^(?:accTitle\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*\{\s*)/, /^(?:[\}])/, /^(?:[^\}]*)/, /^(?:["][`])/, /^(?:[^`"]+)/, /^(?:[`]["])/, /^(?:["])/, /^(?:["])/, /^(?:[^"]*)/, /^(?:style\b)/, /^(?:default\b)/, /^(?:linkStyle\b)/, /^(?:interpolate\b)/, /^(?:classDef\b)/, /^(?:class\b)/, /^(?:href[\s]+["])/, /^(?:["])/, /^(?:[^"]*)/, /^(?:call[\s]+)/, /^(?:\([\s]*\))/, /^(?:\()/, /^(?:[^(]*)/, /^(?:\))/, /^(?:[^)]*)/, /^(?:click[\s]+)/, /^(?:[\s\n])/, /^(?:[^\s\n]*)/, /^(?:flowchart-elk\b)/, /^(?:graph\b)/, /^(?:flowchart\b)/, /^(?:subgraph\b)/, /^(?:end\b\s*)/, /^(?:_self\b)/, /^(?:_blank\b)/, /^(?:_parent\b)/, /^(?:_top\b)/, /^(?:(\r?\n)*\s*\n)/, /^(?:\s*LR\b)/, /^(?:\s*RL\b)/, /^(?:\s*TB\b)/, /^(?:\s*BT\b)/, /^(?:\s*TD\b)/, /^(?:\s*BR\b)/, /^(?:\s*<)/, /^(?:\s*>)/, /^(?:\s*\^)/, /^(?:\s*v\b)/, /^(?:.*direction\s+TB[^\n]*)/, /^(?:.*direction\s+BT[^\n]*)/, /^(?:.*direction\s+RL[^\n]*)/, /^(?:.*direction\s+LR[^\n]*)/, /^(?:[0-9]+)/, /^(?:#)/, /^(?::::)/, /^(?::)/, /^(?:&)/, /^(?:;)/, /^(?:,)/, /^(?:\*)/, /^(?:\s*[xo<]?--+[-xo>]\s*)/, /^(?:\s*[xo<]?==+[=xo>]\s*)/, /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/, /^(?:\s*~~[\~]+\s*)/, /^(?:\s*[xo<]?--\s*)/, /^(?:\s*[xo<]?==\s*)/, /^(?:\s*[xo<]?-\.\s*)/, /^(?:\(-)/, /^(?:-\))/, /^(?:\(\[)/, /^(?:\]\))/, /^(?:\[\[)/, /^(?:\]\])/, /^(?:\[\|)/, /^(?:\[\()/, /^(?:\)\])/, /^(?:\(\(\()/, /^(?:\)\)\))/, /^(?:-)/, /^(?:\.)/, /^(?:[\_])/, /^(?:\+)/, /^(?:%)/, /^(?:=)/, /^(?:=)/, /^(?:<)/, /^(?:>)/, /^(?:\^)/, /^(?:\\\|)/, /^(?:v\b)/, /^(?:[A-Za-z]+)/, /^(?:\\\])/, /^(?:\[\/)/, /^(?:\/\])/, /^(?:\[\\)/, /^(?:[!"#$%&'*+,-.`?\\_/])/, /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/, /^(?:\|)/, /^(?:\()/, /^(?:\))/, /^(?:\[)/, /^(?:\])/, /^(?:\{)/, /^(?:\})/, /^(?:")/, /^(?:(\r?\n)+)/, /^(?:\s)/, /^(?:$)/], conditions: { close_directive: { rules: [], inclusive: !1 }, arg_directive: { rules: [3, 4], inclusive: !1 }, type_directive: { rules: [2, 3], inclusive: !1 }, open_directive: { rules: [1], inclusive: !1 }, callbackargs: { rules: [31, 32], inclusive: !1 }, callbackname: { rules: [28, 29, 30], inclusive: !1 }, href: { rules: [25, 26], inclusive: !1 }, click: { rules: [34, 35], inclusive: !1 }, vertex: { rules: [], inclusive: !1 }, dir: { rules: [45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55], inclusive: !1 }, acc_descr_multiline: { rules: [10, 11], inclusive: !1 }, acc_descr: { rules: [8], inclusive: !1 }, acc_title: { rules: [6], inclusive: !1 }, md_string: { rules: [13, 14], inclusive: !1 }, string: { rules: [16, 17], inclusive: !1 }, INITIAL: { rules: [0, 5, 7, 9, 12, 15, 18, 19, 20, 21, 22, 23, 24, 27, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115], inclusive: !0 } }
            }; return dg
        }(); k3.lexer = bL; function um() { this.yy = {} } return um.prototype = k3, k3.Parser = um, new um
    }(); wdt.parser = wdt; const mdt = wdt, YLe = "flowchart-"; let BOt = 0, ydt = Oe(), Cl = {}, oE = [], YA = {}, E5 = [], PW = {}, xdt = {}, FW = 0, kdt = !0, Jb, BW, RW = []; const jW = i => yi.sanitizeText(i, ydt), ROt = function (i, a, f) { d1.parseDirective(this, i, a, f) }, QN = function (i) { const a = Object.keys(Cl); for (const f of a) if (Cl[f].id === i) return Cl[f].domId; return i }, jOt = function (i, a, f, p, v, m, b = {}) { let E, C = i; C !== void 0 && C.trim().length !== 0 && (Cl[C] === void 0 && (Cl[C] = { id: C, labelType: "text", domId: YLe + C + "-" + BOt, styles: [], classes: [] }), BOt++, a !== void 0 ? (ydt = Oe(), E = jW(a.text.trim()), Cl[C].labelType = a.type, E[0] === '"' && E[E.length - 1] === '"' && (E = E.substring(1, E.length - 1)), Cl[C].text = E) : Cl[C].text === void 0 && (Cl[C].text = i), f !== void 0 && (Cl[C].type = f), p != null && p.forEach(function (D) { Cl[C].styles.push(D) }), v != null && v.forEach(function (D) { Cl[C].classes.push(D) }), m !== void 0 && (Cl[C].dir = m), Cl[C].props === void 0 ? Cl[C].props = b : b !== void 0 && Object.assign(Cl[C].props, b)) }, $Ot = function (i, a, f) { const m = { start: i, end: a, type: void 0, text: "", labelType: "text" }; zt.info("abc78 Got edge...", m); const b = f.text; b !== void 0 && (m.text = jW(b.text.trim()), m.text[0] === '"' && m.text[m.text.length - 1] === '"' && (m.text = m.text.substring(1, m.text.length - 1)), m.labelType = b.type), f !== void 0 && (m.type = f.type, m.stroke = f.stroke, m.length = f.length), oE.push(m) }, zOt = function (i, a, f) { zt.info("addLink (abc78)", i, a, f); let p, v; for (p = 0; p < i.length; p++)for (v = 0; v < a.length; v++)$Ot(i[p], a[v], f) }, qOt = function (i, a) { i.forEach(function (f) { f === "default" ? oE.defaultInterpolate = a : oE[f].interpolate = a }) }, HOt = function (i, a) { i.forEach(function (f) { f === "default" ? oE.defaultStyle = a : (lo.isSubstringInArray("fill", a) === -1 && a.push("fill:none"), oE[f].style = a) }) }, VOt = function (i, a) { YA[i] === void 0 && (YA[i] = { id: i, styles: [], textStyles: [] }), a != null && a.forEach(function (f) { if (f.match("color")) { const v = f.replace("fill", "bgFill").replace("color", "fill"); YA[i].textStyles.push(v) } YA[i].styles.push(f) }) }, GOt = function (i) { Jb = i, Jb.match(/.*</) && (Jb = "RL"), Jb.match(/.*\^/) && (Jb = "BT"), Jb.match(/.*>/) && (Jb = "LR"), Jb.match(/.*v/) && (Jb = "TB"), Jb === "TD" && (Jb = "TB") }, $W = function (i, a) { i.split(",").forEach(function (f) { let p = f; Cl[p] !== void 0 && Cl[p].classes.push(a), PW[p] !== void 0 && PW[p].classes.push(a) }) }, XLe = function (i, a) { i.split(",").forEach(function (f) { a !== void 0 && (xdt[BW === "gen-1" ? QN(f) : f] = jW(a)) }) }, QLe = function (i, a, f) { let p = QN(i); if (Oe().securityLevel !== "loose" || a === void 0) return; let v = []; if (typeof f == "string") { v = f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/); for (let m = 0; m < v.length; m++) { let b = v[m].trim(); b.charAt(0) === '"' && b.charAt(b.length - 1) === '"' && (b = b.substr(1, b.length - 2)), v[m] = b } } v.length === 0 && v.push(i), Cl[i] !== void 0 && (Cl[i].haveCallback = !0, RW.push(function () { const m = document.querySelector(`[id="${p}"]`); m !== null && m.addEventListener("click", function () { lo.runFunc(a, ...v) }, !1) })) }, UOt = function (i, a, f) { i.split(",").forEach(function (p) { Cl[p] !== void 0 && (Cl[p].link = lo.formatUrl(a, ydt), Cl[p].linkTarget = f) }), $W(i, "clickable") }, WOt = function (i) { return xdt[i] }, KOt = function (i, a, f) { i.split(",").forEach(function (p) { QLe(p, a, f) }), $W(i, "clickable") }, YOt = function (i) { RW.forEach(function (a) { a(i) }) }, XOt = function () { return Jb.trim() }, QOt = function () { return Cl }, ZOt = function () { return oE }, JOt = function () { return YA }, tNt = function (i) { let a = Mr(".mermaidTooltip"); (a._groups || a)[0][0] === null && (a = Mr("body").append("div").attr("class", "mermaidTooltip").style("opacity", 0)), Mr(i).select("svg").selectAll("g.node").on("mouseover", function () { const v = Mr(this); if (v.attr("title") === null) return; const b = this.getBoundingClientRect(); a.transition().duration(200).style("opacity", ".9"), a.text(v.attr("title")).style("left", window.scrollX + b.left + (b.right - b.left) / 2 + "px").style("top", window.scrollY + b.top - 14 + document.body.scrollTop + "px"), a.html(a.html().replace(/&lt;br\/&gt;/g, "<br/>")), v.classed("hover", !0) }).on("mouseout", function () { a.transition().duration(500).style("opacity", 0), Mr(this).classed("hover", !1) }) }; RW.push(tNt); const eNt = function (i = "gen-1") { Cl = {}, YA = {}, oE = [], RW = [tNt], E5 = [], PW = {}, FW = 0, xdt = [], kdt = !0, BW = i, cg() }, nNt = i => { BW = i || "gen-2" }, rNt = function () { return "fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;" }, iNt = function (i, a, f) { let p = i.text.trim(), v = f.text; i === f && f.text.match(/\s/) && (p = void 0); function m(P) { const B = { boolean: {}, number: {}, string: {} }, j = []; let R; return { nodeList: P.filter(function (Y) { const it = typeof Y; return Y.stmt && Y.stmt === "dir" ? (R = Y.value, !1) : Y.trim() === "" ? !1 : it in B ? B[it].hasOwnProperty(Y) ? !1 : B[it][Y] = !0 : j.includes(Y) ? !1 : j.push(Y) }), dir: R } } let b = []; const { nodeList: E, dir: C } = m(b.concat.apply(b, a)); if (b = E, BW === "gen-1") for (let P = 0; P < b.length; P++)b[P] = QN(b[P]); p = p || "subGraph" + FW, v = v || "", v = jW(v), FW = FW + 1; const D = { id: p, nodes: b, title: v.trim(), classes: [], dir: C, labelType: f.type }; return zt.info("Adding", D.id, D.nodes, D.dir), D.nodes = dNt(D, E5).nodes, E5.push(D), PW[p] = D, p }, ZLe = function (i) { for (const [a, f] of E5.entries()) if (f.id === i) return a; return -1 }; let ZN = -1; const sNt = [], aNt = function (i, a) { const f = E5[a].nodes; if (ZN = ZN + 1, ZN > 2e3) return; if (sNt[ZN] = a, E5[a].id === i) return { result: !0, count: 0 }; let p = 0, v = 1; for (; p < f.length;) { const m = ZLe(f[p]); if (m >= 0) { const b = aNt(i, m); if (b.result) return { result: !0, count: v + b.count }; v = v + b.count } p = p + 1 } return { result: !1, count: v } }, oNt = function (i) { return sNt[i] }, cNt = function () { ZN = -1, E5.length > 0 && aNt("none", E5.length - 1) }, uNt = function () { return E5 }, lNt = () => kdt ? (kdt = !1, !0) : !1, JLe = i => { let a = i.trim(), f = "arrow_open"; switch (a[0]) { case "<": f = "arrow_point", a = a.slice(1); break; case "x": f = "arrow_cross", a = a.slice(1); break; case "o": f = "arrow_circle", a = a.slice(1); break }let p = "normal"; return a.includes("=") && (p = "thick"), a.includes(".") && (p = "dotted"), { type: f, stroke: p } }, tMe = (i, a) => { const f = a.length; let p = 0; for (let v = 0; v < f; ++v)a[v] === i && ++p; return p }, eMe = i => { const a = i.trim(); let f = a.slice(0, -1), p = "arrow_open"; switch (a.slice(-1)) { case "x": p = "arrow_cross", a[0] === "x" && (p = "double_" + p, f = f.slice(1)); break; case ">": p = "arrow_point", a[0] === "<" && (p = "double_" + p, f = f.slice(1)); break; case "o": p = "arrow_circle", a[0] === "o" && (p = "double_" + p, f = f.slice(1)); break }let v = "normal", m = f.length - 1; f[0] === "=" && (v = "thick"), f[0] === "~" && (v = "invisible"); let b = tMe(".", f); return b && (v = "dotted", m = b), { type: p, stroke: v, length: m } }, hNt = (i, a) => { const f = eMe(i); let p; if (a) { if (p = JLe(a), p.stroke !== f.stroke) return { type: "INVALID", stroke: "INVALID" }; if (p.type === "arrow_open") p.type = f.type; else { if (p.type !== f.type) return { type: "INVALID", stroke: "INVALID" }; p.type = "double_" + p.type } return p.type === "double_arrow" && (p.type = "double_arrow_point"), p.length = f.length, p } return f }, fNt = (i, a) => { let f = !1; return i.forEach(p => { p.nodes.indexOf(a) >= 0 && (f = !0) }), f }, dNt = (i, a) => { const f = []; return i.nodes.forEach((p, v) => { fNt(a, p) || f.push(i.nodes[v]) }), { nodes: f } }, gNt = { firstGraph: lNt }, ak = { parseDirective: ROt, defaultConfig: () => OA.flowchart, setAccTitle: ug, getAccTitle: op, getAccDescription: up, setAccDescription: cp, addVertex: jOt, lookUpDomId: QN, addLink: zOt, updateLinkInterpolate: qOt, updateLink: HOt, addClass: VOt, setDirection: GOt, setClass: $W, setTooltip: XLe, getTooltip: WOt, setClickEvent: KOt, setLink: UOt, bindFunctions: YOt, getDirection: XOt, getVertices: QOt, getEdges: ZOt, getClasses: JOt, clear: eNt, setGen: nNt, defaultStyle: rNt, addSubGraph: iNt, getDepthFirstPos: oNt, indexNodes: cNt, getSubGraphs: uNt, destructLink: hNt, lex: gNt, exists: fNt, makeUniq: dNt, setDiagramTitle: Kb, getDiagramTitle: O2 }, nMe = Object.freeze(Object.defineProperty({ __proto__: null, addClass: VOt, addLink: zOt, addSingleLink: $Ot, addSubGraph: iNt, addVertex: jOt, bindFunctions: YOt, clear: eNt, default: ak, defaultStyle: rNt, destructLink: hNt, firstGraph: lNt, getClasses: JOt, getDepthFirstPos: oNt, getDirection: XOt, getEdges: ZOt, getSubGraphs: uNt, getTooltip: WOt, getVertices: QOt, indexNodes: cNt, lex: gNt, lookUpDomId: QN, parseDirective: ROt, setClass: $W, setClickEvent: KOt, setDirection: GOt, setGen: nNt, setLink: UOt, updateLink: HOt, updateLinkInterpolate: qOt }, Symbol.toStringTag, { value: "Module" })); var rMe = "[object Symbol]"; function cE(i) { return typeof i == "symbol" || l3(i) && tE(i) == rMe } function XA(i, a) { for (var f = -1, p = i == null ? 0 : i.length, v = Array(p); ++f < p;)v[f] = a(i[f], f, i); return v } var iMe = 1 / 0, pNt = Yb ? Yb.prototype : void 0, bNt = pNt ? pNt.toString : void 0; function vNt(i) { if (typeof i == "string") return i; if (Bf(i)) return XA(i, vNt) + ""; if (cE(i)) return bNt ? bNt.call(i) : ""; var a = i + ""; return a == "0" && 1 / i == -iMe ? "-0" : a } var sMe = /\s/; function aMe(i) { for (var a = i.length; a-- && sMe.test(i.charAt(a));); return a } var oMe = /^\s+/; function cMe(i) { return i && i.slice(0, aMe(i) + 1).replace(oMe, "") } var wNt = 0 / 0, uMe = /^[-+]0x[0-9a-f]+$/i, lMe = /^0b[01]+$/i, hMe = /^0o[0-7]+$/i, fMe = parseInt; function dMe(i) { if (typeof i == "number") return i; if (cE(i)) return wNt; if (N2(i)) { var a = typeof i.valueOf == "function" ? i.valueOf() : i; i = N2(a) ? a + "" : a } if (typeof i != "string") return i === 0 ? i : +i; i = cMe(i); var f = lMe.test(i); return f || hMe.test(i) ? fMe(i.slice(2), f ? 2 : 8) : uMe.test(i) ? wNt : +i } var mNt = 1 / 0, gMe = 17976931348623157e292; function zW(i) { if (!i) return i === 0 ? i : 0; if (i = dMe(i), i === mNt || i === -mNt) { var a = i < 0 ? -1 : 1; return a * gMe } return i === i ? i : 0 } function pMe(i) { var a = zW(i), f = a % 1; return a === a ? f ? a - f : a : 0 } function uE(i) { return i } var yNt = Object.create, bMe = function () { function i() { } return function (a) { if (!N2(a)) return {}; if (yNt) return yNt(a); i.prototype = a; var f = new i; return i.prototype = void 0, f } }(); const vMe = bMe; function wMe(i, a, f) { switch (f.length) { case 0: return i.call(a); case 1: return i.call(a, f[0]); case 2: return i.call(a, f[0], f[1]); case 3: return i.call(a, f[0], f[1], f[2]) }return i.apply(a, f) } function mMe() { } function xNt(i, a) { var f = -1, p = i.length; for (a || (a = Array(p)); ++f < p;)a[f] = i[f]; return a } var yMe = 800, xMe = 16, kMe = Date.now; function EMe(i) { var a = 0, f = 0; return function () { var p = kMe(), v = xMe - (p - f); if (f = p, v > 0) { if (++a >= yMe) return arguments[0] } else a = 0; return i.apply(void 0, arguments) } } function QA(i) { return function () { return i } } var TMe = function () { try { var i = nE(Object, "defineProperty"); return i({}, "", {}), i } catch { } }(); const qW = TMe; var _Me = qW ? function (i, a) { return qW(i, "toString", { configurable: !0, enumerable: !1, value: QA(a), writable: !0 }) } : uE, CMe = EMe(_Me); const kNt = CMe; function ENt(i, a) { for (var f = -1, p = i == null ? 0 : i.length; ++f < p && a(i[f], f, i) !== !1;); return i } function TNt(i, a, f, p) { for (var v = i.length, m = f + (p ? 1 : -1); p ? m-- : ++m < v;)if (a(i[m], m, i)) return m; return -1 } function SMe(i) { return i !== i } function AMe(i, a, f) { for (var p = f - 1, v = i.length; ++p < v;)if (i[p] === a) return p; return -1 } function LMe(i, a, f) { return a === a ? AMe(i, a, f) : TNt(i, SMe, f) } function MMe(i, a) { var f = i == null ? 0 : i.length; return !!f && LMe(i, a, 0) > -1 } var DMe = 9007199254740991, IMe = /^(?:0|[1-9]\d*)$/; function HW(i, a) { var f = typeof i; return a = a ?? DMe, !!a && (f == "number" || f != "symbol" && IMe.test(i)) && i > -1 && i % 1 == 0 && i < a } function VW(i, a, f) { a == "__proto__" && qW ? qW(i, a, { configurable: !0, enumerable: !0, value: f, writable: !0 }) : i[a] = f } var OMe = Object.prototype, NMe = OMe.hasOwnProperty; function GW(i, a, f) { var p = i[a]; (!(NMe.call(i, a) && BA(p, f)) || f === void 0 && !(a in i)) && VW(i, a, f) } function JN(i, a, f, p) { var v = !f; f || (f = {}); for (var m = -1, b = a.length; ++m < b;) { var E = a[m], C = p ? p(f[E], i[E], E, f, i) : void 0; C === void 0 && (C = i[E]), v ? VW(f, E, C) : GW(f, E, C) } return f } var _Nt = Math.max; function CNt(i, a, f) { return a = _Nt(a === void 0 ? i.length - 1 : a, 0), function () { for (var p = arguments, v = -1, m = _Nt(p.length - a, 0), b = Array(m); ++v < m;)b[v] = p[a + v]; v = -1; for (var E = Array(a + 1); ++v < a;)E[v] = p[v]; return E[a] = f(b), wMe(i, this, E) } } function UW(i, a) { return kNt(CNt(i, a, uE), i + "") } function tP(i, a, f) { if (!N2(f)) return !1; var p = typeof a; return (p == "number" ? rk(f) && HW(a, f.length) : p == "string" && a in f) ? BA(f[a], i) : !1 } function PMe(i) { return UW(function (a, f) { var p = -1, v = f.length, m = v > 1 ? f[v - 1] : void 0, b = v > 2 ? f[2] : void 0; for (m = i.length > 3 && typeof m == "function" ? (v--, m) : void 0, b && tP(f[0], f[1], b) && (m = v < 3 ? void 0 : m, v = 1), a = Object(a); ++p < v;) { var E = f[p]; E && i(a, E, p, m) } return a }) } function FMe(i, a) { for (var f = -1, p = Array(i); ++f < i;)p[f] = a(f); return p } var BMe = Object.prototype, RMe = BMe.hasOwnProperty; function SNt(i, a) { var f = Bf(i), p = !f && GA(i), v = !f && !p && UA(i), m = !f && !p && !v && CW(i), b = f || p || v || m, E = b ? FMe(i.length, String) : [], C = E.length; for (var D in i) (a || RMe.call(i, D)) && !(b && (D == "length" || v && (D == "offset" || D == "parent") || m && (D == "buffer" || D == "byteLength" || D == "byteOffset") || HW(D, C))) && E.push(D); return E } function F2(i) { return rk(i) ? SNt(i) : rOt(i) } function jMe(i) { var a = []; if (i != null) for (var f in Object(i)) a.push(f); return a } var $Me = Object.prototype, zMe = $Me.hasOwnProperty; function qMe(i) { if (!N2(i)) return jMe(i); var a = TW(i), f = []; for (var p in i) p == "constructor" && (a || !zMe.call(i, p)) || f.push(p); return f } function lE(i) { return rk(i) ? SNt(i, !0) : qMe(i) } var HMe = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, VMe = /^\w*$/; function Edt(i, a) { if (Bf(i)) return !1; var f = typeof i; return f == "number" || f == "symbol" || f == "boolean" || i == null || cE(i) ? !0 : VMe.test(i) || !HMe.test(i) || a != null && i in Object(a) } var GMe = 500; function UMe(i) { var a = RA(i, function (p) { return f.size === GMe && f.clear(), p }), f = a.cache; return a } var WMe = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, KMe = /\\(\\)?/g, YMe = UMe(function (i) { var a = []; return i.charCodeAt(0) === 46 && a.push(""), i.replace(WMe, function (f, p, v, m) { a.push(v ? m.replace(KMe, "$1") : p || f) }), a }); const XMe = YMe; function ANt(i) { return i == null ? "" : vNt(i) } function WW(i, a) { return Bf(i) ? i : Edt(i, a) ? [i] : XMe(ANt(i)) } var QMe = 1 / 0; function eP(i) { if (typeof i == "string" || cE(i)) return i; var a = i + ""; return a == "0" && 1 / i == -QMe ? "-0" : a } function KW(i, a) { a = WW(a, i); for (var f = 0, p = a.length; i != null && f < p;)i = i[eP(a[f++])]; return f && f == p ? i : void 0 } function ZMe(i, a, f) { var p = i == null ? void 0 : KW(i, a); return p === void 0 ? f : p } function Tdt(i, a) { for (var f = -1, p = a.length, v = i.length; ++f < p;)i[v + f] = a[f]; return i } var LNt = Yb ? Yb.isConcatSpreadable : void 0; function JMe(i) { return Bf(i) || GA(i) || !!(LNt && i && i[LNt]) } function YW(i, a, f, p, v) { var m = -1, b = i.length; for (f || (f = JMe), v || (v = []); ++m < b;) { var E = i[m]; a > 0 && f(E) ? a > 1 ? YW(E, a - 1, f, p, v) : Tdt(v, E) : p || (v[v.length] = E) } return v } function ZA(i) { var a = i == null ? 0 : i.length; return a ? YW(i, 1) : [] } function tDe(i) { return kNt(CNt(i, void 0, ZA), i + "") } var eDe = nOt(Object.getPrototypeOf, Object); const _dt = eDe; var nDe = "[object Object]", rDe = Function.prototype, iDe = Object.prototype, MNt = rDe.toString, sDe = iDe.hasOwnProperty, aDe = MNt.call(Object); function DNt(i) { if (!l3(i) || tE(i) != nDe) return !1; var a = _dt(i); if (a === null) return !0; var f = sDe.call(a, "constructor") && a.constructor; return typeof f == "function" && f instanceof f && MNt.call(f) == aDe } function oDe(i, a, f, p) { var v = -1, m = i == null ? 0 : i.length; for (p && m && (f = i[++v]); ++v < m;)f = a(f, i[v], v, i); return f } function cDe() { this.__data__ = new y5, this.size = 0 } function uDe(i) { var a = this.__data__, f = a.delete(i); return this.size = a.size, f } function lDe(i) { return this.__data__.get(i) } function hDe(i) { return this.__data__.has(i) } var fDe = 200; function dDe(i, a) { var f = this.__data__; if (f instanceof y5) { var p = f.__data__; if (!VN || p.length < fDe - 1) return p.push([i, a]), this.size = ++f.size, this; f = this.__data__ = new x5(p) } return f.set(i, a), this.size = f.size, this } function nm(i) { var a = this.__data__ = new y5(i); this.size = a.size } nm.prototype.clear = cDe, nm.prototype.delete = uDe, nm.prototype.get = lDe, nm.prototype.has = hDe, nm.prototype.set = dDe; function gDe(i, a) { return i && JN(a, F2(a), i) } function pDe(i, a) { return i && JN(a, lE(a), i) } var INt = typeof exports == "object" && exports && !exports.nodeType && exports, ONt = INt && typeof module == "object" && module && !module.nodeType && module, bDe = ONt && ONt.exports === INt, NNt = bDe ? Xw.Buffer : void 0, PNt = NNt ? NNt.allocUnsafe : void 0; function FNt(i, a) { if (a) return i.slice(); var f = i.length, p = PNt ? PNt(f) : new i.constructor(f); return i.copy(p), p } function BNt(i, a) { for (var f = -1, p = i == null ? 0 : i.length, v = 0, m = []; ++f < p;) { var b = i[f]; a(b, f, i) && (m[v++] = b) } return m } function RNt() { return [] } var vDe = Object.prototype, wDe = vDe.propertyIsEnumerable, jNt = Object.getOwnPropertySymbols, mDe = jNt ? function (i) { return i == null ? [] : (i = Object(i), BNt(jNt(i), function (a) { return wDe.call(i, a) })) } : RNt; const Cdt = mDe; function yDe(i, a) { return JN(i, Cdt(i), a) } var xDe = Object.getOwnPropertySymbols, kDe = xDe ? function (i) { for (var a = []; i;)Tdt(a, Cdt(i)), i = _dt(i); return a } : RNt; const $Nt = kDe; function EDe(i, a) { return JN(i, $Nt(i), a) } function zNt(i, a, f) { var p = a(i); return Bf(i) ? p : Tdt(p, f(i)) } function Sdt(i) { return zNt(i, F2, Cdt) } function TDe(i) { return zNt(i, lE, $Nt) } var _De = Object.prototype, CDe = _De.hasOwnProperty; function SDe(i) { var a = i.length, f = new i.constructor(a); return a && typeof i[0] == "string" && CDe.call(i, "index") && (f.index = i.index, f.input = i.input), f } var ADe = Xw.Uint8Array; const XW = ADe; function Adt(i) { var a = new i.constructor(i.byteLength); return new XW(a).set(new XW(i)), a } function LDe(i, a) { var f = a ? Adt(i.buffer) : i.buffer; return new i.constructor(f, i.byteOffset, i.byteLength) } var MDe = /\w*$/; function DDe(i) { var a = new i.constructor(i.source, MDe.exec(i)); return a.lastIndex = i.lastIndex, a } var qNt = Yb ? Yb.prototype : void 0, HNt = qNt ? qNt.valueOf : void 0; function IDe(i) { return HNt ? Object(HNt.call(i)) : {} } function VNt(i, a) { var f = a ? Adt(i.buffer) : i.buffer; return new i.constructor(f, i.byteOffset, i.length) } var ODe = "[object Boolean]", NDe = "[object Date]", PDe = "[object Map]", FDe = "[object Number]", BDe = "[object RegExp]", RDe = "[object Set]", jDe = "[object String]", $De = "[object Symbol]", zDe = "[object ArrayBuffer]", qDe = "[object DataView]", HDe = "[object Float32Array]", VDe = "[object Float64Array]", GDe = "[object Int8Array]", UDe = "[object Int16Array]", WDe = "[object Int32Array]", KDe = "[object Uint8Array]", YDe = "[object Uint8ClampedArray]", XDe = "[object Uint16Array]", QDe = "[object Uint32Array]"; function ZDe(i, a, f) { var p = i.constructor; switch (a) { case zDe: return Adt(i); case ODe: case NDe: return new p(+i); case qDe: return LDe(i, f); case HDe: case VDe: case GDe: case UDe: case WDe: case KDe: case YDe: case XDe: case QDe: return VNt(i, f); case PDe: return new p; case FDe: case jDe: return new p(i); case BDe: return DDe(i); case RDe: return new p; case $De: return IDe(i) } } function GNt(i) { return typeof i.constructor == "function" && !TW(i) ? vMe(_dt(i)) : {} } var JDe = "[object Map]"; function tIe(i) { return l3(i) && VA(i) == JDe } var UNt = WA && WA.isMap, eIe = UNt ? _W(UNt) : tIe; const nIe = eIe; var rIe = "[object Set]"; function iIe(i) { return l3(i) && VA(i) == rIe } var WNt = WA && WA.isSet, sIe = WNt ? _W(WNt) : iIe; const aIe = sIe; var oIe = 1, cIe = 2, uIe = 4, KNt = "[object Arguments]", lIe = "[object Array]", hIe = "[object Boolean]", fIe = "[object Date]", dIe = "[object Error]", YNt = "[object Function]", gIe = "[object GeneratorFunction]", pIe = "[object Map]", bIe = "[object Number]", XNt = "[object Object]", vIe = "[object RegExp]", wIe = "[object Set]", mIe = "[object String]", yIe = "[object Symbol]", xIe = "[object WeakMap]", kIe = "[object ArrayBuffer]", EIe = "[object DataView]", TIe = "[object Float32Array]", _Ie = "[object Float64Array]", CIe = "[object Int8Array]", SIe = "[object Int16Array]", AIe = "[object Int32Array]", LIe = "[object Uint8Array]", MIe = "[object Uint8ClampedArray]", DIe = "[object Uint16Array]", IIe = "[object Uint32Array]", dl = {}; dl[KNt] = dl[lIe] = dl[kIe] = dl[EIe] = dl[hIe] = dl[fIe] = dl[TIe] = dl[_Ie] = dl[CIe] = dl[SIe] = dl[AIe] = dl[pIe] = dl[bIe] = dl[XNt] = dl[vIe] = dl[wIe] = dl[mIe] = dl[yIe] = dl[LIe] = dl[MIe] = dl[DIe] = dl[IIe] = !0, dl[dIe] = dl[YNt] = dl[xIe] = !1; function nP(i, a, f, p, v, m) { var b, E = a & oIe, C = a & cIe, D = a & uIe; if (f && (b = v ? f(i, p, v, m) : f(i)), b !== void 0) return b; if (!N2(i)) return i; var P = Bf(i); if (P) { if (b = SDe(i), !E) return xNt(i, b) } else { var B = VA(i), j = B == YNt || B == gIe; if (UA(i)) return FNt(i, E); if (B == XNt || B == KNt || j && !v) { if (b = C || j ? {} : GNt(i), !E) return C ? EDe(i, pDe(b, i)) : yDe(i, gDe(b, i)) } else { if (!dl[B]) return v ? i : {}; b = ZDe(i, B, E) } } m || (m = new nm); var R = m.get(i); if (R) return R; m.set(i, b), aIe(i) ? i.forEach(function (it) { b.add(nP(it, a, f, it, i, m)) }) : nIe(i) && i.forEach(function (it, nt) { b.set(nt, nP(it, a, f, nt, i, m)) }); var H = D ? C ? TDe : Sdt : C ? lE : F2, Y = P ? void 0 : H(i); return ENt(Y || i, function (it, nt) { Y && (nt = it, it = i[nt]), GW(b, nt, nP(it, a, f, nt, i, m)) }), b } var OIe = 4; function NIe(i) { return nP(i, OIe) } var PIe = 1, FIe = 4; function BIe(i) { return nP(i, PIe | FIe) } var RIe = "__lodash_hash_undefined__"; function jIe(i) { return this.__data__.set(i, RIe), this } function $Ie(i) { return this.__data__.has(i) } function rP(i) { var a = -1, f = i == null ? 0 : i.length; for (this.__data__ = new x5; ++a < f;)this.add(i[a]) } rP.prototype.add = rP.prototype.push = jIe, rP.prototype.has = $Ie; function zIe(i, a) { for (var f = -1, p = i == null ? 0 : i.length; ++f < p;)if (a(i[f], f, i)) return !0; return !1 } function QNt(i, a) { return i.has(a) } var qIe = 1, HIe = 2; function ZNt(i, a, f, p, v, m) { var b = f & qIe, E = i.length, C = a.length; if (E != C && !(b && C > E)) return !1; var D = m.get(i), P = m.get(a); if (D && P) return D == a && P == i; var B = -1, j = !0, R = f & HIe ? new rP : void 0; for (m.set(i, a), m.set(a, i); ++B < E;) { var H = i[B], Y = a[B]; if (p) var it = b ? p(Y, H, B, a, i, m) : p(H, Y, B, i, a, m); if (it !== void 0) { if (it) continue; j = !1; break } if (R) { if (!zIe(a, function (nt, st) { if (!QNt(R, st) && (H === nt || v(H, nt, f, p, m))) return R.push(st) })) { j = !1; break } } else if (!(H === Y || v(H, Y, f, p, m))) { j = !1; break } } return m.delete(i), m.delete(a), j } function VIe(i) { var a = -1, f = Array(i.size); return i.forEach(function (p, v) { f[++a] = [v, p] }), f } function Ldt(i) { var a = -1, f = Array(i.size); return i.forEach(function (p) { f[++a] = p }), f } var GIe = 1, UIe = 2, WIe = "[object Boolean]", KIe = "[object Date]", YIe = "[object Error]", XIe = "[object Map]", QIe = "[object Number]", ZIe = "[object RegExp]", JIe = "[object Set]", tOe = "[object String]", eOe = "[object Symbol]", nOe = "[object ArrayBuffer]", rOe = "[object DataView]", JNt = Yb ? Yb.prototype : void 0, Mdt = JNt ? JNt.valueOf : void 0; function iOe(i, a, f, p, v, m, b) { switch (f) { case rOe: if (i.byteLength != a.byteLength || i.byteOffset != a.byteOffset) return !1; i = i.buffer, a = a.buffer; case nOe: return !(i.byteLength != a.byteLength || !m(new XW(i), new XW(a))); case WIe: case KIe: case QIe: return BA(+i, +a); case YIe: return i.name == a.name && i.message == a.message; case ZIe: case tOe: return i == a + ""; case XIe: var E = VIe; case JIe: var C = p & GIe; if (E || (E = Ldt), i.size != a.size && !C) return !1; var D = b.get(i); if (D) return D == a; p |= UIe, b.set(i, a); var P = ZNt(E(i), E(a), p, v, m, b); return b.delete(i), P; case eOe: if (Mdt) return Mdt.call(i) == Mdt.call(a) }return !1 } var sOe = 1, aOe = Object.prototype, oOe = aOe.hasOwnProperty; function cOe(i, a, f, p, v, m) { var b = f & sOe, E = Sdt(i), C = E.length, D = Sdt(a), P = D.length; if (C != P && !b) return !1; for (var B = C; B--;) { var j = E[B]; if (!(b ? j in a : oOe.call(a, j))) return !1 } var R = m.get(i), H = m.get(a); if (R && H) return R == a && H == i; var Y = !0; m.set(i, a), m.set(a, i); for (var it = b; ++B < C;) { j = E[B]; var nt = i[j], st = a[j]; if (p) var pt = b ? p(st, nt, j, a, i, m) : p(nt, st, j, i, a, m); if (!(pt === void 0 ? nt === st || v(nt, st, f, p, m) : pt)) { Y = !1; break } it || (it = j == "constructor") } if (Y && !it) { var Tt = i.constructor, kt = a.constructor; Tt != kt && "constructor" in i && "constructor" in a && !(typeof Tt == "function" && Tt instanceof Tt && typeof kt == "function" && kt instanceof kt) && (Y = !1) } return m.delete(i), m.delete(a), Y } var uOe = 1, tPt = "[object Arguments]", ePt = "[object Array]", QW = "[object Object]", lOe = Object.prototype, nPt = lOe.hasOwnProperty; function hOe(i, a, f, p, v, m) { var b = Bf(i), E = Bf(a), C = b ? ePt : VA(i), D = E ? ePt : VA(a); C = C == tPt ? QW : C, D = D == tPt ? QW : D; var P = C == QW, B = D == QW, j = C == D; if (j && UA(i)) { if (!UA(a)) return !1; b = !0, P = !1 } if (j && !P) return m || (m = new nm), b || CW(i) ? ZNt(i, a, f, p, v, m) : iOe(i, a, C, f, p, v, m); if (!(f & uOe)) { var R = P && nPt.call(i, "__wrapped__"), H = B && nPt.call(a, "__wrapped__"); if (R || H) { var Y = R ? i.value() : i, it = H ? a.value() : a; return m || (m = new nm), v(Y, it, f, p, m) } } return j ? (m || (m = new nm), cOe(i, a, f, p, v, m)) : !1 } function Ddt(i, a, f, p, v) { return i === a ? !0 : i == null || a == null || !l3(i) && !l3(a) ? i !== i && a !== a : hOe(i, a, f, p, Ddt, v) } var fOe = 1, dOe = 2; function gOe(i, a, f, p) { var v = f.length, m = v, b = !p; if (i == null) return !m; for (i = Object(i); v--;) { var E = f[v]; if (b && E[2] ? E[1] !== i[E[0]] : !(E[0] in i)) return !1 } for (; ++v < m;) { E = f[v]; var C = E[0], D = i[C], P = E[1]; if (b && E[2]) { if (D === void 0 && !(C in i)) return !1 } else { var B = new nm; if (p) var j = p(D, P, C, i, a, B); if (!(j === void 0 ? Ddt(P, D, fOe | dOe, p, B) : j)) return !1 } } return !0 } function rPt(i) { return i === i && !N2(i) } function pOe(i) { for (var a = F2(i), f = a.length; f--;) { var p = a[f], v = i[p]; a[f] = [p, v, rPt(v)] } return a } function iPt(i, a) { return function (f) { return f == null ? !1 : f[i] === a && (a !== void 0 || i in Object(f)) } } function bOe(i) { var a = pOe(i); return a.length == 1 && a[0][2] ? iPt(a[0][0], a[0][1]) : function (f) { return f === i || gOe(f, i, a) } } function vOe(i, a) { return i != null && a in Object(i) } function sPt(i, a, f) { a = WW(a, i); for (var p = -1, v = a.length, m = !1; ++p < v;) { var b = eP(a[p]); if (!(m = i != null && f(i, b))) break; i = i[b] } return m || ++p != v ? m : (v = i == null ? 0 : i.length, !!v && udt(v) && HW(b, v) && (Bf(i) || GA(i))) } function aPt(i, a) { return i != null && sPt(i, a, vOe) } var wOe = 1, mOe = 2; function yOe(i, a) { return Edt(i) && rPt(a) ? iPt(eP(i), a) : function (f) { var p = ZMe(f, i); return p === void 0 && p === a ? aPt(f, i) : Ddt(a, p, wOe | mOe) } } function xOe(i) { return function (a) { return a == null ? void 0 : a[i] } } function kOe(i) { return function (a) { return KW(a, i) } } function EOe(i) { return Edt(i) ? xOe(eP(i)) : kOe(i) } function ok(i) { return typeof i == "function" ? i : i == null ? uE : typeof i == "object" ? Bf(i) ? yOe(i[0], i[1]) : bOe(i) : EOe(i) } function TOe(i) { return function (a, f, p) { for (var v = -1, m = Object(a), b = p(a), E = b.length; E--;) { var C = b[i ? E : ++v]; if (f(m[C], C, m) === !1) break } return a } } var _Oe = TOe(); const Idt = _Oe; function Odt(i, a) { return i && Idt(i, a, F2) } function COe(i, a) { return function (f, p) { if (f == null) return f; if (!rk(f)) return i(f, p); for (var v = f.length, m = a ? v : -1, b = Object(f); (a ? m-- : ++m < v) && p(b[m], m, b) !== !1;); return f } } var SOe = COe(Odt); const ZW = SOe; var AOe = function () { return Xw.Date.now() }; const oPt = AOe; var cPt = Object.prototype, LOe = cPt.hasOwnProperty, MOe = UW(function (i, a) { i = Object(i); var f = -1, p = a.length, v = p > 2 ? a[2] : void 0; for (v && tP(a[0], a[1], v) && (p = 1); ++f < p;)for (var m = a[f], b = lE(m), E = -1, C = b.length; ++E < C;) { var D = b[E], P = i[D]; (P === void 0 || BA(P, cPt[D]) && !LOe.call(i, D)) && (i[D] = m[D]) } return i }); const JA = MOe; function Ndt(i, a, f) { (f !== void 0 && !BA(i[a], f) || f === void 0 && !(a in i)) && VW(i, a, f) } function uPt(i) { return l3(i) && rk(i) } function Pdt(i, a) { if (!(a === "constructor" && typeof i[a] == "function") && a != "__proto__") return i[a] } function DOe(i) { return JN(i, lE(i)) } function IOe(i, a, f, p, v, m, b) { var E = Pdt(i, f), C = Pdt(a, f), D = b.get(C); if (D) { Ndt(i, f, D); return } var P = m ? m(E, C, f + "", i, a, b) : void 0, B = P === void 0; if (B) { var j = Bf(C), R = !j && UA(C), H = !j && !R && CW(C); P = C, j || R || H ? Bf(E) ? P = E : uPt(E) ? P = xNt(E) : R ? (B = !1, P = FNt(C, !0)) : H ? (B = !1, P = VNt(C, !0)) : P = [] : DNt(C) || GA(C) ? (P = E, GA(E) ? P = DOe(E) : (!N2(E) || FA(E)) && (P = GNt(C))) : B = !1 } B && (b.set(C, P), v(P, C, p, m, b), b.delete(C)), Ndt(i, f, P) } function lPt(i, a, f, p, v) { i !== a && Idt(a, function (m, b) { if (v || (v = new nm), N2(m)) IOe(i, a, b, f, lPt, p, v); else { var E = p ? p(Pdt(i, b), m, b + "", i, a, v) : void 0; E === void 0 && (E = m), Ndt(i, b, E) } }, lE) } function OOe(i, a, f) { for (var p = -1, v = i == null ? 0 : i.length; ++p < v;)if (f(a, i[p])) return !0; return !1 } function JW(i) { var a = i == null ? 0 : i.length; return a ? i[a - 1] : void 0 } function Fdt(i) { return typeof i == "function" ? i : uE } function vr(i, a) { var f = Bf(i) ? ENt : ZW; return f(i, Fdt(a)) } function NOe(i, a) { var f = []; return ZW(i, function (p, v, m) { a(p, v, m) && f.push(p) }), f } function T5(i, a) { var f = Bf(i) ? BNt : NOe; return f(i, ok(a)) } function POe(i) { return function (a, f, p) { var v = Object(a); if (!rk(a)) { var m = ok(f); a = F2(a), f = function (E) { return m(v[E], E, v) } } var b = i(a, f, p); return b > -1 ? v[m ? a[b] : b] : void 0 } } var FOe = Math.max; function BOe(i, a, f) { var p = i == null ? 0 : i.length; if (!p) return -1; var v = f == null ? 0 : pMe(f); return v < 0 && (v = FOe(p + v, 0)), TNt(i, ok(a), v) } var ROe = POe(BOe); const Bdt = ROe; function hPt(i, a) { var f = -1, p = rk(i) ? Array(i.length) : []; return ZW(i, function (v, m, b) { p[++f] = a(v, m, b) }), p } function Rf(i, a) { var f = Bf(i) ? XA : hPt; return f(i, ok(a)) } function jOe(i, a) { return i == null ? i : Idt(i, Fdt(a), lE) } function $Oe(i, a) { return i && Odt(i, Fdt(a)) } function zOe(i, a) { return i > a } var qOe = Object.prototype, HOe = qOe.hasOwnProperty; function VOe(i, a) { return i != null && HOe.call(i, a) } function eo(i, a) { return i != null && sPt(i, a, VOe) } function GOe(i, a) { return XA(a, function (f) { return i[f] }) } function _5(i) { return i == null ? [] : GOe(i, F2(i)) } function sf(i) { return i === void 0 } function fPt(i, a) { return i < a } function tK(i, a) { var f = {}; return a = ok(a), Odt(i, function (p, v, m) { VW(f, v, a(p, v, m)) }), f } function Rdt(i, a, f) { for (var p = -1, v = i.length; ++p < v;) { var m = i[p], b = a(m); if (b != null && (E === void 0 ? b === b && !cE(b) : f(b, E))) var E = b, C = m } return C } function hE(i) { return i && i.length ? Rdt(i, uE, zOe) : void 0 } var UOe = PMe(function (i, a, f) { lPt(i, a, f) }); const jdt = UOe; function iP(i) { return i && i.length ? Rdt(i, uE, fPt) : void 0 } function $dt(i, a) { return i && i.length ? Rdt(i, ok(a), fPt) : void 0 } function WOe(i, a, f, p) { if (!N2(i)) return i; a = WW(a, i); for (var v = -1, m = a.length, b = m - 1, E = i; E != null && ++v < m;) { var C = eP(a[v]), D = f; if (C === "__proto__" || C === "constructor" || C === "prototype") return i; if (v != b) { var P = E[C]; D = p ? p(P, C, E) : void 0, D === void 0 && (D = N2(P) ? P : HW(a[v + 1]) ? [] : {}) } GW(E, C, D), E = E[C] } return i } function KOe(i, a, f) { for (var p = -1, v = a.length, m = {}; ++p < v;) { var b = a[p], E = KW(i, b); f(E, b) && WOe(m, WW(b, i), E) } return m } function YOe(i, a) { var f = i.length; for (i.sort(a); f--;)i[f] = i[f].value; return i } function XOe(i, a) { if (i !== a) { var f = i !== void 0, p = i === null, v = i === i, m = cE(i), b = a !== void 0, E = a === null, C = a === a, D = cE(a); if (!E && !D && !m && i > a || m && b && C && !E && !D || p && b && C || !f && C || !v) return 1; if (!p && !m && !D && i < a || D && f && v && !p && !m || E && f && v || !b && v || !C) return -1 } return 0 } function QOe(i, a, f) { for (var p = -1, v = i.criteria, m = a.criteria, b = v.length, E = f.length; ++p < b;) { var C = XOe(v[p], m[p]); if (C) { if (p >= E) return C; var D = f[p]; return C * (D == "desc" ? -1 : 1) } } return i.index - a.index } function ZOe(i, a, f) { a.length ? a = XA(a, function (m) { return Bf(m) ? function (b) { return KW(b, m.length === 1 ? m[0] : m) } : m }) : a = [uE]; var p = -1; a = XA(a, _W(ok)); var v = hPt(i, function (m, b, E) { var C = XA(a, function (D) { return D(m) }); return { criteria: C, index: ++p, value: m } }); return YOe(v, function (m, b) { return QOe(m, b, f) }) } function JOe(i, a) { return KOe(i, a, function (f, p) { return aPt(i, p) }) } var tNe = tDe(function (i, a) { return i == null ? {} : JOe(i, a) }); const sP = tNe; var eNe = Math.ceil, nNe = Math.max; function rNe(i, a, f, p) { for (var v = -1, m = nNe(eNe((a - i) / (f || 1)), 0), b = Array(m); m--;)b[p ? m : ++v] = i, i += f; return b } function iNe(i) { return function (a, f, p) { return p && typeof p != "number" && tP(a, f, p) && (f = p = void 0), a = zW(a), f === void 0 ? (f = a, a = 0) : f = zW(f), p = p === void 0 ? a < f ? 1 : -1 : zW(p), rNe(a, f, p, i) } } var sNe = iNe(); const fE = sNe; function aNe(i, a, f, p, v) { return v(i, function (m, b, E) { f = p ? (p = !1, m) : a(f, m, b, E) }), f } function aP(i, a, f) { var p = Bf(i) ? oDe : aNe, v = arguments.length < 3; return p(i, ok(a), f, v, ZW) } var oNe = UW(function (i, a) { if (i == null) return []; var f = a.length; return f > 1 && tP(i, a[0], a[1]) ? a = [] : f > 2 && tP(a[0], a[1], a[2]) && (a = [a[0]]), ZOe(i, YW(a, 1), []) }); const oP = oNe; var cNe = 1 / 0, uNe = HA && 1 / Ldt(new HA([, -0]))[1] == cNe ? function (i) { return new HA(i) } : mMe; const lNe = uNe; var hNe = 200; function fNe(i, a, f) { var p = -1, v = MMe, m = i.length, b = !0, E = [], C = E; if (f) b = !1, v = OOe; else if (m >= hNe) { var D = a ? null : lNe(i); if (D) return Ldt(D); b = !1, v = QNt, C = new rP } else C = a ? [] : E; t: for (; ++p < m;) { var P = i[p], B = a ? a(P) : P; if (P = f || P !== 0 ? P : 0, b && B === B) { for (var j = C.length; j--;)if (C[j] === B) continue t; a && C.push(B), E.push(P) } else v(C, B, f) || (C !== E && C.push(B), E.push(P)) } return E } var dNe = UW(function (i) { return fNe(YW(i, 1, uPt, !0)) }); const gNe = dNe; var pNe = 0; function eK(i) { var a = ++pNe; return ANt(i) + a } function bNe(i, a, f) { for (var p = -1, v = i.length, m = a.length, b = {}; ++p < v;) { var E = p < m ? a[p] : void 0; f(b, i[p], E) } return b } function vNe(i, a) { return bNe(i || [], a || [], GW) } var wNe = "\0", dE = "\0", dPt = ""; class jf { constructor(a = {}) { this._isDirected = eo(a, "directed") ? a.directed : !0, this._isMultigraph = eo(a, "multigraph") ? a.multigraph : !1, this._isCompound = eo(a, "compound") ? a.compound : !1, this._label = void 0, this._defaultNodeLabelFn = QA(void 0), this._defaultEdgeLabelFn = QA(void 0), this._nodes = {}, this._isCompound && (this._parent = {}, this._children = {}, this._children[dE] = {}), this._in = {}, this._preds = {}, this._out = {}, this._sucs = {}, this._edgeObjs = {}, this._edgeLabels = {} } isDirected() { return this._isDirected } isMultigraph() { return this._isMultigraph } isCompound() { return this._isCompound } setGraph(a) { return this._label = a, this } graph() { return this._label } setDefaultNodeLabel(a) { return FA(a) || (a = QA(a)), this._defaultNodeLabelFn = a, this } nodeCount() { return this._nodeCount } nodes() { return F2(this._nodes) } sources() { var a = this; return T5(this.nodes(), function (f) { return KA(a._in[f]) }) } sinks() { var a = this; return T5(this.nodes(), function (f) { return KA(a._out[f]) }) } setNodes(a, f) { var p = arguments, v = this; return vr(a, function (m) { p.length > 1 ? v.setNode(m, f) : v.setNode(m) }), this } setNode(a, f) { return eo(this._nodes, a) ? (arguments.length > 1 && (this._nodes[a] = f), this) : (this._nodes[a] = arguments.length > 1 ? f : this._defaultNodeLabelFn(a), this._isCompound && (this._parent[a] = dE, this._children[a] = {}, this._children[dE][a] = !0), this._in[a] = {}, this._preds[a] = {}, this._out[a] = {}, this._sucs[a] = {}, ++this._nodeCount, this) } node(a) { return this._nodes[a] } hasNode(a) { return eo(this._nodes, a) } removeNode(a) { var f = this; if (eo(this._nodes, a)) { var p = function (v) { f.removeEdge(f._edgeObjs[v]) }; delete this._nodes[a], this._isCompound && (this._removeFromParentsChildList(a), delete this._parent[a], vr(this.children(a), function (v) { f.setParent(v) }), delete this._children[a]), vr(F2(this._in[a]), p), delete this._in[a], delete this._preds[a], vr(F2(this._out[a]), p), delete this._out[a], delete this._sucs[a], --this._nodeCount } return this } setParent(a, f) { if (!this._isCompound) throw new Error("Cannot set parent in a non-compound graph"); if (sf(f)) f = dE; else { f += ""; for (var p = f; !sf(p); p = this.parent(p))if (p === a) throw new Error("Setting " + f + " as parent of " + a + " would create a cycle"); this.setNode(f) } return this.setNode(a), this._removeFromParentsChildList(a), this._parent[a] = f, this._children[f][a] = !0, this } _removeFromParentsChildList(a) { delete this._children[this._parent[a]][a] } parent(a) { if (this._isCompound) { var f = this._parent[a]; if (f !== dE) return f } } children(a) { if (sf(a) && (a = dE), this._isCompound) { var f = this._children[a]; if (f) return F2(f) } else { if (a === dE) return this.nodes(); if (this.hasNode(a)) return [] } } predecessors(a) { var f = this._preds[a]; if (f) return F2(f) } successors(a) { var f = this._sucs[a]; if (f) return F2(f) } neighbors(a) { var f = this.predecessors(a); if (f) return gNe(f, this.successors(a)) } isLeaf(a) { var f; return this.isDirected() ? f = this.successors(a) : f = this.neighbors(a), f.length === 0 } filterNodes(a) { var f = new this.constructor({ directed: this._isDirected, multigraph: this._isMultigraph, compound: this._isCompound }); f.setGraph(this.graph()); var p = this; vr(this._nodes, function (b, E) { a(E) && f.setNode(E, b) }), vr(this._edgeObjs, function (b) { f.hasNode(b.v) && f.hasNode(b.w) && f.setEdge(b, p.edge(b)) }); var v = {}; function m(b) { var E = p.parent(b); return E === void 0 || f.hasNode(E) ? (v[b] = E, E) : E in v ? v[E] : m(E) } return this._isCompound && vr(f.nodes(), function (b) { f.setParent(b, m(b)) }), f } setDefaultEdgeLabel(a) { return FA(a) || (a = QA(a)), this._defaultEdgeLabelFn = a, this } edgeCount() { return this._edgeCount } edges() { return _5(this._edgeObjs) } setPath(a, f) { var p = this, v = arguments; return aP(a, function (m, b) { return v.length > 1 ? p.setEdge(m, b, f) : p.setEdge(m, b), b }), this } setEdge() { var a, f, p, v, m = !1, b = arguments[0]; typeof b == "object" && b !== null && "v" in b ? (a = b.v, f = b.w, p = b.name, arguments.length === 2 && (v = arguments[1], m = !0)) : (a = b, f = arguments[1], p = arguments[3], arguments.length > 2 && (v = arguments[2], m = !0)), a = "" + a, f = "" + f, sf(p) || (p = "" + p); var E = cP(this._isDirected, a, f, p); if (eo(this._edgeLabels, E)) return m && (this._edgeLabels[E] = v), this; if (!sf(p) && !this._isMultigraph) throw new Error("Cannot set a named edge when isMultigraph = false"); this.setNode(a), this.setNode(f), this._edgeLabels[E] = m ? v : this._defaultEdgeLabelFn(a, f, p); var C = mNe(this._isDirected, a, f, p); return a = C.v, f = C.w, Object.freeze(C), this._edgeObjs[E] = C, gPt(this._preds[f], a), gPt(this._sucs[a], f), this._in[f][E] = C, this._out[a][E] = C, this._edgeCount++, this } edge(a, f, p) { var v = arguments.length === 1 ? zdt(this._isDirected, arguments[0]) : cP(this._isDirected, a, f, p); return this._edgeLabels[v] } hasEdge(a, f, p) { var v = arguments.length === 1 ? zdt(this._isDirected, arguments[0]) : cP(this._isDirected, a, f, p); return eo(this._edgeLabels, v) } removeEdge(a, f, p) { var v = arguments.length === 1 ? zdt(this._isDirected, arguments[0]) : cP(this._isDirected, a, f, p), m = this._edgeObjs[v]; return m && (a = m.v, f = m.w, delete this._edgeLabels[v], delete this._edgeObjs[v], pPt(this._preds[f], a), pPt(this._sucs[a], f), delete this._in[f][v], delete this._out[a][v], this._edgeCount--), this } inEdges(a, f) { var p = this._in[a]; if (p) { var v = _5(p); return f ? T5(v, function (m) { return m.v === f }) : v } } outEdges(a, f) { var p = this._out[a]; if (p) { var v = _5(p); return f ? T5(v, function (m) { return m.w === f }) : v } } nodeEdges(a, f) { var p = this.inEdges(a, f); if (p) return p.concat(this.outEdges(a, f)) } } jf.prototype._nodeCount = 0, jf.prototype._edgeCount = 0; function gPt(i, a) { i[a] ? i[a]++ : i[a] = 1 } function pPt(i, a) { --i[a] || delete i[a] } function cP(i, a, f, p) { var v = "" + a, m = "" + f; if (!i && v > m) { var b = v; v = m, m = b } return v + dPt + m + dPt + (sf(p) ? wNe : p) } function mNe(i, a, f, p) { var v = "" + a, m = "" + f; if (!i && v > m) { var b = v; v = m, m = b } var E = { v, w: m }; return p && (E.name = p), E } function zdt(i, a) { return cP(i, a.v, a.w, a.name) } class yNe { constructor() { var a = {}; a._next = a._prev = a, this._sentinel = a } dequeue() { var a = this._sentinel, f = a._prev; if (f !== a) return bPt(f), f } enqueue(a) { var f = this._sentinel; a._prev && a._next && bPt(a), a._next = f._next, f._next._prev = a, f._next = a, a._prev = f } toString() { for (var a = [], f = this._sentinel, p = f._prev; p !== f;)a.push(JSON.stringify(p, xNe)), p = p._prev; return "[" + a.join(", ") + "]" } } function bPt(i) { i._prev._next = i._next, i._next._prev = i._prev, delete i._next, delete i._prev } function xNe(i, a) { if (i !== "_next" && i !== "_prev") return a } var kNe = QA(1); function ENe(i, a) { if (i.nodeCount() <= 1) return []; var f = _Ne(i, a || kNe), p = TNe(f.graph, f.buckets, f.zeroIdx); return ZA(Rf(p, function (v) { return i.outEdges(v.v, v.w) })) } function TNe(i, a, f) { for (var p = [], v = a[a.length - 1], m = a[0], b; i.nodeCount();) { for (; b = m.dequeue();)qdt(i, a, f, b); for (; b = v.dequeue();)qdt(i, a, f, b); if (i.nodeCount()) { for (var E = a.length - 2; E > 0; --E)if (b = a[E].dequeue(), b) { p = p.concat(qdt(i, a, f, b, !0)); break } } } return p } function qdt(i, a, f, p, v) { var m = v ? [] : void 0; return vr(i.inEdges(p.v), function (b) { var E = i.edge(b), C = i.node(b.v); v && m.push({ v: b.v, w: b.w }), C.out -= E, Hdt(a, f, C) }), vr(i.outEdges(p.v), function (b) { var E = i.edge(b), C = b.w, D = i.node(C); D.in -= E, Hdt(a, f, D) }), i.removeNode(p.v), m } function _Ne(i, a) { var f = new jf, p = 0, v = 0; vr(i.nodes(), function (E) { f.setNode(E, { v: E, in: 0, out: 0 }) }), vr(i.edges(), function (E) { var C = f.edge(E.v, E.w) || 0, D = a(E), P = C + D; f.setEdge(E.v, E.w, P), v = Math.max(v, f.node(E.v).out += D), p = Math.max(p, f.node(E.w).in += D) }); var m = fE(v + p + 3).map(function () { return new yNe }), b = p + 1; return vr(f.nodes(), function (E) { Hdt(m, b, f.node(E)) }), { graph: f, buckets: m, zeroIdx: b } } function Hdt(i, a, f) { f.out ? f.in ? i[f.out - f.in + a].enqueue(f) : i[i.length - 1].enqueue(f) : i[0].enqueue(f) } function CNe(i) { var a = i.graph().acyclicer === "greedy" ? ENe(i, f(i)) : SNe(i); vr(a, function (p) { var v = i.edge(p); i.removeEdge(p), v.forwardName = p.name, v.reversed = !0, i.setEdge(p.w, p.v, v, eK("rev")) }); function f(p) { return function (v) { return p.edge(v).weight } } } function SNe(i) { var a = [], f = {}, p = {}; function v(m) { eo(p, m) || (p[m] = !0, f[m] = !0, vr(i.outEdges(m), function (b) { eo(f, b.w) ? a.push(b) : v(b.w) }), delete f[m]) } return vr(i.nodes(), v), a } function ANe(i) { vr(i.edges(), function (a) { var f = i.edge(a); if (f.reversed) { i.removeEdge(a); var p = f.forwardName; delete f.reversed, delete f.forwardName, i.setEdge(a.w, a.v, f, p) } }) } function tL(i, a, f, p) { var v; do v = eK(p); while (i.hasNode(v)); return f.dummy = a, i.setNode(v, f), v } function LNe(i) { var a = new jf().setGraph(i.graph()); return vr(i.nodes(), function (f) { a.setNode(f, i.node(f)) }), vr(i.edges(), function (f) { var p = a.edge(f.v, f.w) || { weight: 0, minlen: 1 }, v = i.edge(f); a.setEdge(f.v, f.w, { weight: p.weight + v.weight, minlen: Math.max(p.minlen, v.minlen) }) }), a } function vPt(i) { var a = new jf({ multigraph: i.isMultigraph() }).setGraph(i.graph()); return vr(i.nodes(), function (f) { i.children(f).length || a.setNode(f, i.node(f)) }), vr(i.edges(), function (f) { a.setEdge(f, i.edge(f)) }), a } function wPt(i, a) { var f = i.x, p = i.y, v = a.x - f, m = a.y - p, b = i.width / 2, E = i.height / 2; if (!v && !m) throw new Error("Not possible to find intersection inside of the rectangle"); var C, D; return Math.abs(m) * b > Math.abs(v) * E ? (m < 0 && (E = -E), C = E * v / m, D = E) : (v < 0 && (b = -b), C = b, D = b * m / v), { x: f + C, y: p + D } } function nK(i) { var a = Rf(fE(yPt(i) + 1), function () { return [] }); return vr(i.nodes(), function (f) { var p = i.node(f), v = p.rank; sf(v) || (a[v][p.order] = f) }), a } function MNe(i) { var a = iP(Rf(i.nodes(), function (f) { return i.node(f).rank })); vr(i.nodes(), function (f) { var p = i.node(f); eo(p, "rank") && (p.rank -= a) }) } function DNe(i) { var a = iP(Rf(i.nodes(), function (m) { return i.node(m).rank })), f = []; vr(i.nodes(), function (m) { var b = i.node(m).rank - a; f[b] || (f[b] = []), f[b].push(m) }); var p = 0, v = i.graph().nodeRankFactor; vr(f, function (m, b) { sf(m) && b % v !== 0 ? --p : p && vr(m, function (E) { i.node(E).rank += p }) }) } function mPt(i, a, f, p) { var v = { width: 0, height: 0 }; return arguments.length >= 4 && (v.rank = f, v.order = p), tL(i, "border", v, a) } function yPt(i) { return hE(Rf(i.nodes(), function (a) { var f = i.node(a).rank; if (!sf(f)) return f })) } function INe(i, a) { var f = { lhs: [], rhs: [] }; return vr(i, function (p) { a(p) ? f.lhs.push(p) : f.rhs.push(p) }), f } function ONe(i, a) { var f = oPt(); try { return a() } finally {  if (p.length && vr(p, a), eo(v, "minRank")) { v.borderLeft = [], v.borderRight = []; for (var m = v.minRank, b = v.maxRank + 1; m < b; ++m)xPt(i, "borderLeft", "_bl", f, v, m), xPt(i, "borderRight", "_br", f, v, m) } } vr(i.children(), a) } function xPt(i, a, f, p, v, m) { var b = { width: 0, height: 0, rank: m, borderType: a }, E = v[a][m - 1], C = tL(i, "border", b, f); v[a][m] = C, i.setParent(C, p), E && i.setEdge(E, C, { weight: 1 }) } function FNe(i) { var a = i.graph().rankdir.toLowerCase(); (a === "lr" || a === "rl") && kPt(i) } function BNe(i) { var a = i.graph().rankdir.toLowerCase(); (a === "bt" || a === "rl") && RNe(i), (a === "lr" || a === "rl") && (jNe(i), kPt(i)) } function kPt(i) { vr(i.nodes(), function (a) { EPt(i.node(a)) }), vr(i.edges(), function (a) { EPt(i.edge(a)) }) } function EPt(i) { var a = i.width; i.width = i.height, i.height = a } function RNe(i) { vr(i.nodes(), function (a) { Vdt(i.node(a)) }), vr(i.edges(), function (a) { var f = i.edge(a); vr(f.points, Vdt), eo(f, "y") && Vdt(f) }) } function Vdt(i) { i.y = -i.y } function jNe(i) { vr(i.nodes(), function (a) { Gdt(i.node(a)) }), vr(i.edges(), function (a) { var f = i.edge(a); vr(f.points, Gdt), eo(f, "x") && Gdt(f) }) } function Gdt(i) { var a = i.x; i.x = i.y, i.y = a } function $Ne(i) { i.graph().dummyChains = [], vr(i.edges(), function (a) { zNe(i, a) }) } function zNe(i, a) { var f = a.v, p = i.node(f).rank, v = a.w, m = i.node(v).rank, b = a.name, E = i.edge(a), C = E.labelRank; if (m !== p + 1) { i.removeEdge(a); var D, P, B; for (B = 0, ++p; p < m; ++B, ++p)E.points = [], P = { width: 0, height: 0, edgeLabel: E, edgeObj: a, rank: p }, D = tL(i, "edge", P, "_d"), p === C && (P.width = E.width, P.height = E.height, P.dummy = "edge-label", P.labelpos = E.labelpos), i.setEdge(f, D, { weight: E.weight }, b), B === 0 && i.graph().dummyChains.push(D), f = D; i.setEdge(f, v, { weight: E.weight }, b) } } function qNe(i) { vr(i.graph().dummyChains, function (a) { var f = i.node(a), p = f.edgeLabel, v; for (i.setEdge(f.edgeObj, p); f.dummy;)v = i.successors(a)[0], i.removeNode(a), p.points.push({ x: f.x, y: f.y }), f.dummy === "edge-label" && (p.x = f.x, p.y = f.y, p.width = f.width, p.height = f.height), a = v, f = i.node(a) }) } function Udt(i) { var a = {}; function f(p) { var v = i.node(p); if (eo(a, p)) return v.rank; a[p] = !0; var m = iP(Rf(i.outEdges(p), function (b) { return f(b.w) - i.edge(b).minlen })); return (m === Number.POSITIVE_INFINITY || m === void 0 || m === null) && (m = 0), v.rank = m } vr(i.sources(), f) } function uP(i, a) { return i.node(a.w).rank - i.node(a.v).rank - i.edge(a).minlen } function TPt(i) { var a = new jf({ directed: !1 }), f = i.nodes()[0], p = i.nodeCount(); a.setNode(f, {}); for (var v, m; HNe(a, i) < p;)v = VNe(a, i), m = a.hasNode(v.v) ? uP(i, v) : -uP(i, v), GNe(a, i, m); return a } function HNe(i, a) { function f(p) { vr(a.nodeEdges(p), function (v) { var m = v.v, b = p === m ? v.w : m; !i.hasNode(b) && !uP(a, v) && (i.setNode(b, {}), i.setEdge(p, b, {}), f(b)) }) } return vr(i.nodes(), f), i.nodeCount() } function VNe(i, a) { return $dt(a.edges(), function (f) { if (i.hasNode(f.v) !== i.hasNode(f.w)) return uP(a, f) }) } function GNe(i, a, f) { vr(i.nodes(), function (p) { a.node(p).rank += f }) } function UNe() { } UNe.prototype = new Error; function _Pt(i, a, f) { Bf(a) || (a = [a]); var p = (i.isDirected() ? i.successors : i.neighbors).bind(i), v = [], m = {}; return vr(a, function (b) { if (!i.hasNode(b)) throw new Error("Graph does not have node: " + b); CPt(i, b, f === "post", m, p, v) }), v } function CPt(i, a, f, p, v, m) { eo(p, a) || (p[a] = !0, f || m.push(a), vr(v(a), function (b) { CPt(i, b, f, p, v, m) }), f && m.push(a)) } function WNe(i, a) { return _Pt(i, a, "post") } function KNe(i, a) { return _Pt(i, a, "pre") } gE.initLowLimValues = Kdt, gE.initCutValues = Wdt, gE.calcCutValue = SPt, gE.leaveEdge = LPt, gE.enterEdge = MPt, gE.exchangeEdges = DPt; function gE(i) { i = LNe(i), Udt(i); var a = TPt(i); Kdt(a), Wdt(a, i); for (var f, p; f = LPt(a);)p = MPt(a, i, f), DPt(a, i, f, p) } function Wdt(i, a) { var f = WNe(i, i.nodes()); f = f.slice(0, f.length - 1), vr(f, function (p) { YNe(i, a, p) }) } function YNe(i, a, f) { var p = i.node(f), v = p.parent; i.edge(f, v).cutvalue = SPt(i, a, f) } function SPt(i, a, f) { var p = i.node(f), v = p.parent, m = !0, b = a.edge(f, v), E = 0; return b || (m = !1, b = a.edge(v, f)), E = b.weight, vr(a.nodeEdges(f), function (C) { var D = C.v === f, P = D ? C.w : C.v; if (P !== v) { var B = D === m, j = a.edge(C).weight; if (E += B ? j : -j, QNe(i, f, P)) { var R = i.edge(f, P).cutvalue; E += B ? -R : R } } }), E } function Kdt(i, a) { arguments.length < 2 && (a = i.nodes()[0]), APt(i, {}, 1, a) } function APt(i, a, f, p, v) { var m = f, b = i.node(p); return a[p] = !0, vr(i.neighbors(p), function (E) { eo(a, E) || (f = APt(i, a, f, E, p)) }), b.low = m, b.lim = f++, v ? b.parent = v : delete b.parent, f } function LPt(i) { return Bdt(i.edges(), function (a) { return i.edge(a).cutvalue < 0 }) } function MPt(i, a, f) { var p = f.v, v = f.w; a.hasEdge(p, v) || (p = f.w, v = f.v); var m = i.node(p), b = i.node(v), E = m, C = !1; m.lim > b.lim && (E = b, C = !0); var D = T5(a.edges(), function (P) { return C === IPt(i, i.node(P.v), E) && C !== IPt(i, i.node(P.w), E) }); return $dt(D, function (P) { return uP(a, P) }) } function DPt(i, a, f, p) { var v = f.v, m = f.w; i.removeEdge(v, m), i.setEdge(p.v, p.w, {}), Kdt(i), Wdt(i, a), XNe(i, a) } function XNe(i, a) { var f = Bdt(i.nodes(), function (v) { return !a.node(v).parent }), p = KNe(i, f); p = p.slice(1), vr(p, function (v) { var m = i.node(v).parent, b = a.edge(v, m), E = !1; b || (b = a.edge(m, v), E = !0), a.node(v).rank = a.node(m).rank + (E ? b.minlen : -b.minlen) }) } function QNe(i, a, f) { return i.hasEdge(a, f) } function IPt(i, a, f) { return f.low <= a.lim && a.lim <= f.lim } function ZNe(i) { switch (i.graph().ranker) { case "network-simplex": OPt(i); break; case "tight-tree": tPe(i); break; case "longest-path": JNe(i); break; default: OPt(i) } } var JNe = Udt; function tPe(i) { Udt(i), TPt(i) } function OPt(i) { gE(i) } function ePe(i) { var a = tL(i, "root", {}, "_root"), f = nPe(i), p = hE(_5(f)) - 1, v = 2 * p + 1; i.graph().nestingRoot = a, vr(i.edges(), function (b) { i.edge(b).minlen *= v }); var m = rPe(i) + 1; vr(i.children(), function (b) { NPt(i, a, v, m, p, f, b) }), i.graph().nodeRankFactor = v } function NPt(i, a, f, p, v, m, b) { var E = i.children(b); if (!E.length) { b !== a && i.setEdge(a, b, { weight: 0, minlen: f }); return } var C = mPt(i, "_bt"), D = mPt(i, "_bb"), P = i.node(b); i.setParent(C, b), P.borderTop = C, i.setParent(D, b), P.borderBottom = D, vr(E, function (B) { NPt(i, a, f, p, v, m, B); var j = i.node(B), R = j.borderTop ? j.borderTop : B, H = j.borderBottom ? j.borderBottom : B, Y = j.borderTop ? p : 2 * p, it = R !== H ? 1 : v - m[b] + 1; i.setEdge(C, R, { weight: Y, minlen: it, nestingEdge: !0 }), i.setEdge(H, D, { weight: Y, minlen: it, nestingEdge: !0 }) }), i.parent(b) || i.setEdge(a, C, { weight: 0, minlen: v + m[b] }) } function nPe(i) { var a = {}; function f(p, v) { var m = i.children(p); m && m.length && vr(m, function (b) { f(b, v + 1) }), a[p] = v } return vr(i.children(), function (p) { f(p, 1) }), a } function rPe(i) { return aP(i.edges(), function (a, f) { return a + i.edge(f).weight }, 0) } function iPe(i) { var a = i.graph(); i.removeNode(a.nestingRoot), delete a.nestingRoot, vr(i.edges(), function (f) { var p = i.edge(f); p.nestingEdge && i.removeEdge(f) }) } function sPe(i, a, f) { var p = {}, v; vr(f, function (m) { for (var b = i.parent(m), E, C; b;) { if (E = i.parent(b), E ? (C = p[E], p[E] = b) : (C = v, v = b), C && C !== b) { a.setEdge(C, b); return } b = E } }) } function aPe(i, a, f) { var p = oPe(i), v = new jf({ compound: !0 }).setGraph({ root: p }).setDefaultNodeLabel(function (m) { return i.node(m) }); return vr(i.nodes(), function (m) { var b = i.node(m), E = i.parent(m); (b.rank === a || b.minRank <= a && a <= b.maxRank) && (v.setNode(m), v.setParent(m, E || p), vr(i[f](m), function (C) { var D = C.v === m ? C.w : C.v, P = v.edge(D, m), B = sf(P) ? 0 : P.weight; v.setEdge(D, m, { weight: i.edge(C).weight + B }) }), eo(b, "minRank") && v.setNode(m, { borderLeft: b.borderLeft[a], borderRight: b.borderRight[a] })) }), v } function oPe(i) { for (var a; i.hasNode(a = eK("_root"));); return a } function cPe(i, a) { for (var f = 0, p = 1; p < a.length; ++p)f += uPe(i, a[p - 1], a[p]); return f } function uPe(i, a, f) { for (var p = vNe(f, Rf(f, function (D, P) { return P })), v = ZA(Rf(a, function (D) { return oP(Rf(i.outEdges(D), function (P) { return { pos: p[P.w], weight: i.edge(P).weight } }), "pos") })), m = 1; m < f.length;)m <<= 1; var b = 2 * m - 1; m -= 1; var E = Rf(new Array(b), function () { return 0 }), C = 0; return vr(v.forEach(function (D) { var P = D.pos + m; E[P] += D.weight; for (var B = 0; P > 0;)P % 2 && (B += E[P + 1]), P = P - 1 >> 1, E[P] += D.weight; C += D.weight * B })), C } function lPe(i) { var a = {}, f = T5(i.nodes(), function (E) { return !i.children(E).length }), p = hE(Rf(f, function (E) { return i.node(E).rank })), v = Rf(fE(p + 1), function () { return [] }); function m(E) { if (!eo(a, E)) { a[E] = !0; var C = i.node(E); v[C.rank].push(E), vr(i.successors(E), m) } } var b = oP(f, function (E) { return i.node(E).rank }); return vr(b, m), v } function hPe(i, a) { return Rf(a, function (f) { var p = i.inEdges(f); if (p.length) { var v = aP(p, function (m, b) { var E = i.edge(b), C = i.node(b.v); return { sum: m.sum + E.weight * C.order, weight: m.weight + E.weight } }, { sum: 0, weight: 0 }); return { v: f, barycenter: v.sum / v.weight, weight: v.weight } } else return { v: f } }) } function fPe(i, a) { var f = {}; vr(i, function (v, m) { var b = f[v.v] = { indegree: 0, in: [], out: [], vs: [v.v], i: m }; sf(v.barycenter) || (b.barycenter = v.barycenter, b.weight = v.weight) }), vr(a.edges(), function (v) { var m = f[v.v], b = f[v.w]; !sf(m) && !sf(b) && (b.indegree++, m.out.push(f[v.w])) }); var p = T5(f, function (v) { return !v.indegree }); return dPe(p) } function dPe(i) { var a = []; function f(m) { return function (b) { b.merged || (sf(b.barycenter) || sf(m.barycenter) || b.barycenter >= m.barycenter) && gPe(m, b) } } function p(m) { return function (b) { b.in.push(m), --b.indegree === 0 && i.push(b) } } for (; i.length;) { var v = i.pop(); a.push(v), vr(v.in.reverse(), f(v)), vr(v.out, p(v)) } return Rf(T5(a, function (m) { return !m.merged }), function (m) { return sP(m, ["vs", "i", "barycenter", "weight"]) }) } function gPe(i, a) { var f = 0, p = 0; i.weight && (f += i.barycenter * i.weight, p += i.weight), a.weight && (f += a.barycenter * a.weight, p += a.weight), i.vs = a.vs.concat(i.vs), i.barycenter = f / p, i.weight = p, i.i = Math.min(a.i, i.i), a.merged = !0 } function pPe(i, a) { var f = INe(i, function (P) { return eo(P, "barycenter") }), p = f.lhs, v = oP(f.rhs, function (P) { return -P.i }), m = [], b = 0, E = 0, C = 0; p.sort(bPe(!!a)), C = PPt(m, v, C), vr(p, function (P) { C += P.vs.length, m.push(P.vs), b += P.barycenter * P.weight, E += P.weight, C = PPt(m, v, C) }); var D = { vs: ZA(m) }; return E && (D.barycenter = b / E, D.weight = E), D } function PPt(i, a, f) { for (var p; a.length && (p = JW(a)).i <= f;)a.pop(), i.push(p.vs), f++; return f } function bPe(i) { return function (a, f) { return a.barycenter < f.barycenter ? -1 : a.barycenter > f.barycenter ? 1 : i ? f.i - a.i : a.i - f.i } } function FPt(i, a, f, p) { var v = i.children(a), m = i.node(a), b = m ? m.borderLeft : void 0, E = m ? m.borderRight : void 0, C = {}; b && (v = T5(v, function (H) { return H !== b && H !== E })); var D = hPe(i, v); vr(D, function (H) { if (i.children(H.v).length) { var Y = FPt(i, H.v, f, p); C[H.v] = Y, eo(Y, "barycenter") && wPe(H, Y) } }); var P = fPe(D, f); vPe(P, C); var B = pPe(P, p); if (b && (B.vs = ZA([b, B.vs, E]), i.predecessors(b).length)) { var j = i.node(i.predecessors(b)[0]), R = i.node(i.predecessors(E)[0]); eo(B, "barycenter") || (B.barycenter = 0, B.weight = 0), B.barycenter = (B.barycenter * B.weight + j.order + R.order) / (B.weight + 2), B.weight += 2 } return B } function vPe(i, a) { vr(i, function (f) { f.vs = ZA(f.vs.map(function (p) { return a[p] ? a[p].vs : p })) }) } function wPe(i, a) { sf(i.barycenter) ? (i.barycenter = a.barycenter, i.weight = a.weight) : (i.barycenter = (i.barycenter * i.weight + a.barycenter * a.weight) / (i.weight + a.weight), i.weight += a.weight) } function mPe(i) { var a = yPt(i), f = BPt(i, fE(1, a + 1), "inEdges"), p = BPt(i, fE(a - 1, -1, -1), "outEdges"), v = lPe(i); RPt(i, v); for (var m = Number.POSITIVE_INFINITY, b, E = 0, C = 0; C < 4; ++E, ++C) { yPe(E % 2 ? f : p, E % 4 >= 2), v = nK(i); var D = cPe(i, v); D < m && (C = 0, b = BIe(v), m = D) } RPt(i, b) } function BPt(i, a, f) { return Rf(a, function (p) { return aPe(i, p, f) }) } function yPe(i, a) { var f = new jf; vr(i, function (p) { var v = p.graph().root, m = FPt(p, v, f, a); vr(m.vs, function (b, E) { p.node(b).order = E }), sPe(p, f, m.vs) }) } function RPt(i, a) { vr(a, function (f) { vr(f, function (p, v) { i.node(p).order = v }) }) } function xPe(i) { var a = EPe(i); vr(i.graph().dummyChains, function (f) { for (var p = i.node(f), v = p.edgeObj, m = kPe(i, a, v.v, v.w), b = m.path, E = m.lca, C = 0, D = b[C], P = !0; f !== v.w;) { if (p = i.node(f), P) { for (; (D = b[C]) !== E && i.node(D).maxRank < p.rank;)C++; D === E && (P = !1) } if (!P) { for (; C < b.length - 1 && i.node(D = b[C + 1]).minRank <= p.rank;)C++; D = b[C] } i.setParent(f, D), f = i.successors(f)[0] } }) } function kPe(i, a, f, p) { var v = [], m = [], b = Math.min(a[f].low, a[p].low), E = Math.max(a[f].lim, a[p].lim), C, D; C = f; do C = i.parent(C), v.push(C); while (C && (a[C].low > b || E > a[C].lim)); for (D = C, C = p; (C = i.parent(C)) !== D;)m.push(C); return { path: v.concat(m.reverse()), lca: D } } function EPe(i) { var a = {}, f = 0; function p(v) { var m = f; vr(i.children(v), p), a[v] = { low: m, lim: f++ } } return vr(i.children(), p), a } function TPe(i, a) { var f = {}; function p(v, m) { var b = 0, E = 0, C = v.length, D = JW(m); return vr(m, function (P, B) { var j = CPe(i, P), R = j ? i.node(j).order : C; (j || P === D) && (vr(m.slice(E, B + 1), function (H) { vr(i.predecessors(H), function (Y) { var it = i.node(Y), nt = it.order; (nt < b || R < nt) && !(it.dummy && i.node(H).dummy) && jPt(f, Y, H) }) }), E = B + 1, b = R) }), m } return aP(a, p), f } function _Pe(i, a) { var f = {}; function p(m, b, E, C, D) { var P; vr(fE(b, E), function (B) { P = m[B], i.node(P).dummy && vr(i.predecessors(P), function (j) { var R = i.node(j); R.dummy && (R.order < C || R.order > D) && jPt(f, j, P) }) }) } function v(m, b) { var E = -1, C, D = 0; return vr(b, function (P, B) { if (i.node(P).dummy === "border") { var j = i.predecessors(P); j.length && (C = i.node(j[0]).order, p(b, D, B, E, C), D = B, E = C) } p(b, D, b.length, C, m.length) }), b } return aP(a, v), f } function CPe(i, a) { if (i.node(a).dummy) return Bdt(i.predecessors(a), function (f) { return i.node(f).dummy }) } function jPt(i, a, f) { if (a > f) { var p = a; a = f, f = p } var v = i[a]; v || (i[a] = v = {}), v[f] = !0 } function SPe(i, a, f) { if (a > f) { var p = a; a = f, f = p } return eo(i[a], f) } function APe(i, a, f, p) { var v = {}, m = {}, b = {}; return vr(a, function (E) { vr(E, function (C, D) { v[C] = C, m[C] = C, b[C] = D }) }), vr(a, function (E) { var C = -1; vr(E, function (D) { var P = p(D); if (P.length) { P = oP(P, function (Y) { return b[Y] }); for (var B = (P.length - 1) / 2, j = Math.floor(B), R = Math.ceil(B); j <= R; ++j) { var H = P[j]; m[D] === D && C < b[H] && !SPe(f, D, H) && (m[H] = D, m[D] = v[D] = v[H], C = b[H]) } } }) }), { root: v, align: m } } function LPe(i, a, f, p, v) { var m = {}, b = MPe(i, a, f, v), E = v ? "borderLeft" : "borderRight"; function C(B, j) { for (var R = b.nodes(), H = R.pop(), Y = {}; H;)Y[H] ? B(H) : (Y[H] = !0, R.push(H), R = R.concat(j(H))), H = R.pop() } function D(B) { m[B] = b.inEdges(B).reduce(function (j, R) { return Math.max(j, m[R.v] + b.edge(R)) }, 0) } function P(B) { var j = b.outEdges(B).reduce(function (H, Y) { return Math.min(H, m[Y.w] - b.edge(Y)) }, Number.POSITIVE_INFINITY), R = i.node(B); j !== Number.POSITIVE_INFINITY && R.borderType !== E && (m[B] = Math.max(m[B], j)) } return C(D, b.predecessors.bind(b)), C(P, b.successors.bind(b)), vr(p, function (B) { m[B] = m[f[B]] }), m } function MPe(i, a, f, p) { var v = new jf, m = i.graph(), b = PPe(m.nodesep, m.edgesep, p); return vr(a, function (E) { var C; vr(E, function (D) { var P = f[D]; if (v.setNode(P), C) { var B = f[C], j = v.edge(B, P); v.setEdge(B, P, Math.max(b(i, D, C), j || 0)) } C = D }) }), v } function DPe(i, a) { return $dt(_5(a), function (f) { var p = Number.NEGATIVE_INFINITY, v = Number.POSITIVE_INFINITY; return jOe(f, function (m, b) { var E = FPe(i, b) / 2; p = Math.max(m + E, p), v = Math.min(m - E, v) }), p - v }) } function IPe(i, a) { var f = _5(a), p = iP(f), v = hE(f); vr(["u", "d"], function (m) { vr(["l", "r"], function (b) { var E = m + b, C = i[E], D; if (C !== a) { var P = _5(C); D = b === "l" ? p - iP(P) : v - hE(P), D && (i[E] = tK(C, function (B) { return B + D })) } }) }) } function OPe(i, a) { return tK(i.ul, function (f, p) { if (a) return i[a.toLowerCase()][p]; var v = oP(Rf(i, p)); return (v[1] + v[2]) / 2 }) } function NPe(i) { var a = nK(i), f = jdt(TPe(i, a), _Pe(i, a)), p = {}, v; vr(["u", "d"], function (b) { v = b === "u" ? a : _5(a).reverse(), vr(["l", "r"], function (E) { E === "r" && (v = Rf(v, function (B) { return _5(B).reverse() })); var C = (b === "u" ? i.predecessors : i.successors).bind(i), D = APe(i, v, f, C), P = LPe(i, v, D.root, D.align, E === "r"); E === "r" && (P = tK(P, function (B) { return -B })), p[b + E] = P }) }); var m = DPe(i, p); return IPe(p, m), OPe(p, i.graph().align) } function PPe(i, a, f) { return function (p, v, m) { var b = p.node(v), E = p.node(m), C = 0, D; if (C += b.width / 2, eo(b, "labelpos")) switch (b.labelpos.toLowerCase()) { case "l": D = -b.width / 2; break; case "r": D = b.width / 2; break }if (D && (C += f ? D : -D), D = 0, C += (b.dummy ? a : i) / 2, C += (E.dummy ? a : i) / 2, C += E.width / 2, eo(E, "labelpos")) switch (E.labelpos.toLowerCase()) { case "l": D = E.width / 2; break; case "r": D = -E.width / 2; break }return D && (C += f ? D : -D), D = 0, C } } function FPe(i, a) { return i.node(a).width } function BPe(i) { i = vPt(i), RPe(i), $Oe(NPe(i), function (a, f) { i.node(f).x = a }) } function RPe(i) { var a = nK(i), f = i.graph().ranksep, p = 0; vr(a, function (v) { var m = hE(Rf(v, function (b) { return i.node(b).height })); vr(v, function (b) { i.node(b).y = p + m / 2 }), p += m + f }) } function eL(i, a) { var f = a && a.debugTiming ? ONe : NNe; f("layout", function () { var p = f("  buildLayoutGraph", function () { return YPe(i) }); f("  runLayout", function () { jPe(p, f) }), f("  updateInputGraph", function () { $Pe(i, p) }) }) } function jPe(i, a) { a("    makeSpaceForEdgeLabels", function () { XPe(i) }), a("    removeSelfEdges", function () { sFe(i) }), a("    acyclic", function () { CNe(i) }), a("    nestingGraph.run", function () { ePe(i) }), a("    rank", function () { ZNe(vPt(i)) }), a("    injectEdgeLabelProxies", function () { QPe(i) }), a("    removeEmptyRanks", function () { DNe(i) }), a("    nestingGraph.cleanup", function () { iPe(i) }), a("    normalizeRanks", function () { MNe(i) }), a("    assignRankMinMax", function () { ZPe(i) }), a("    removeEdgeLabelProxies", function () { JPe(i) }), a("    normalize.run", function () { $Ne(i) }), a("    parentDummyChains", function () { xPe(i) }), a("    addBorderSegments", function () { PNe(i) }), a("    order", function () { mPe(i) }), a("    insertSelfEdges", function () { aFe(i) }), a("    adjustCoordinateSystem", function () { FNe(i) }), a("    position", function () { BPe(i) }), a("    positionSelfEdges", function () { oFe(i) }), a("    removeBorderNodes", function () { iFe(i) }), a("    normalize.undo", function () { qNe(i) }), a("    fixupEdgeLabelCoords", function () { nFe(i) }), a("    undoCoordinateSystem", function () { BNe(i) }), a("    translateGraph", function () { tFe(i) }), a("    assignNodeIntersects", function () { eFe(i) }), a("    reversePoints", function () { rFe(i) }), a("    acyclic.undo", function () { ANe(i) }) } function $Pe(i, a) { vr(i.nodes(), function (f) { var p = i.node(f), v = a.node(f); p && (p.x = v.x, p.y = v.y, a.children(f).length && (p.width = v.width, p.height = v.height)) }), vr(i.edges(), function (f) { var p = i.edge(f), v = a.edge(f); p.points = v.points, eo(v, "x") && (p.x = v.x, p.y = v.y) }), i.graph().width = a.graph().width, i.graph().height = a.graph().height } var zPe = ["nodesep", "edgesep", "ranksep", "marginx", "marginy"], qPe = { ranksep: 50, edgesep: 20, nodesep: 50, rankdir: "tb" }, HPe = ["acyclicer", "ranker", "rankdir", "align"], VPe = ["width", "height"], GPe = { width: 0, height: 0 }, UPe = ["minlen", "weight", "width", "height", "labeloffset"], WPe = { minlen: 1, weight: 1, width: 0, height: 0, labeloffset: 10, labelpos: "r" }, KPe = ["labelpos"]; function YPe(i) { var a = new jf({ multigraph: !0, compound: !0 }), f = Xdt(i.graph()); return a.setGraph(jdt({}, qPe, Ydt(f, zPe), sP(f, HPe))), vr(i.nodes(), function (p) { var v = Xdt(i.node(p)); a.setNode(p, JA(Ydt(v, VPe), GPe)), a.setParent(p, i.parent(p)) }), vr(i.edges(), function (p) { var v = Xdt(i.edge(p)); a.setEdge(p, jdt({}, WPe, Ydt(v, UPe), sP(v, KPe))) }), a } function XPe(i) { var a = i.graph(); a.ranksep /= 2, vr(i.edges(), function (f) { var p = i.edge(f); p.minlen *= 2, p.labelpos.toLowerCase() !== "c" && (a.rankdir === "TB" || a.rankdir === "BT" ? p.width += p.labeloffset : p.height += p.labeloffset) }) } function QPe(i) { vr(i.edges(), function (a) { var f = i.edge(a); if (f.width && f.height) { var p = i.node(a.v), v = i.node(a.w), m = { rank: (v.rank - p.rank) / 2 + p.rank, e: a }; tL(i, "edge-proxy", m, "_ep") } }) } function ZPe(i) { var a = 0; vr(i.nodes(), function (f) { var p = i.node(f); p.borderTop && (p.minRank = i.node(p.borderTop).rank, p.maxRank = i.node(p.borderBottom).rank, a = hE(a, p.maxRank)) }), i.graph().maxRank = a } function JPe(i) { vr(i.nodes(), function (a) { var f = i.node(a); f.dummy === "edge-proxy" && (i.edge(f.e).labelRank = f.rank, i.removeNode(a)) }) } function tFe(i) { var a = Number.POSITIVE_INFINITY, f = 0, p = Number.POSITIVE_INFINITY, v = 0, m = i.graph(), b = m.marginx || 0, E = m.marginy || 0; function C(D) { var P = D.x, B = D.y, j = D.width, R = D.height; a = Math.min(a, P - j / 2), f = Math.max(f, P + j / 2), p = Math.min(p, B - R / 2), v = Math.max(v, B + R / 2) } vr(i.nodes(), function (D) { C(i.node(D)) }), vr(i.edges(), function (D) { var P = i.edge(D); eo(P, "x") && C(P) }), a -= b, p -= E, vr(i.nodes(), function (D) { var P = i.node(D); P.x -= a, P.y -= p }), vr(i.edges(), function (D) { var P = i.edge(D); vr(P.points, function (B) { B.x -= a, B.y -= p }), eo(P, "x") && (P.x -= a), eo(P, "y") && (P.y -= p) }), m.width = f - a + b, m.height = v - p + E } function eFe(i) { vr(i.edges(), function (a) { var f = i.edge(a), p = i.node(a.v), v = i.node(a.w), m, b; f.points ? (m = f.points[0], b = f.points[f.points.length - 1]) : (f.points = [], m = v, b = p), f.points.unshift(wPt(p, m)), f.points.push(wPt(v, b)) }) } function nFe(i) { vr(i.edges(), function (a) { var f = i.edge(a); if (eo(f, "x")) switch ((f.labelpos === "l" || f.labelpos === "r") && (f.width -= f.labeloffset), f.labelpos) { case "l": f.x -= f.width / 2 + f.labeloffset; break; case "r": f.x += f.width / 2 + f.labeloffset; break } }) } function rFe(i) { vr(i.edges(), function (a) { var f = i.edge(a); f.reversed && f.points.reverse() }) } function iFe(i) { vr(i.nodes(), function (a) { if (i.children(a).length) { var f = i.node(a), p = i.node(f.borderTop), v = i.node(f.borderBottom), m = i.node(JW(f.borderLeft)), b = i.node(JW(f.borderRight)); f.width = Math.abs(b.x - m.x), f.height = Math.abs(v.y - p.y), f.x = m.x + f.width / 2, f.y = p.y + f.height / 2 } }), vr(i.nodes(), function (a) { i.node(a).dummy === "border" && i.removeNode(a) }) } function sFe(i) { vr(i.edges(), function (a) { if (a.v === a.w) { var f = i.node(a.v); f.selfEdges || (f.selfEdges = []), f.selfEdges.push({ e: a, label: i.edge(a) }), i.removeEdge(a) } }) } function aFe(i) { var a = nK(i); vr(a, function (f) { var p = 0; vr(f, function (v, m) { var b = i.node(v); b.order = m + p, vr(b.selfEdges, function (E) { tL(i, "selfedge", { width: E.label.width, height: E.label.height, rank: b.rank, order: m + ++p, e: E.e, label: E.label }, "_se") }), delete b.selfEdges }) }) } function oFe(i) { vr(i.nodes(), function (a) { var f = i.node(a); if (f.dummy === "selfedge") { var p = i.node(f.e.v), v = p.x + p.width / 2, m = p.y, b = f.x - v, E = p.height / 2; i.setEdge(f.e, f.label), i.removeNode(a), f.label.points = [{ x: v + 2 * b / 3, y: m - E }, { x: v + 5 * b / 6, y: m - E }, { x: v + b, y: m }, { x: v + 5 * b / 6, y: m + E }, { x: v + 2 * b / 3, y: m + E }], f.label.x = f.x, f.label.y = f.y } }) } function Ydt(i, a) { return tK(sP(i, a), Number) } function Xdt(i) { var a = {}; return vr(i, function (f, p) { a[p.toLowerCase()] = f }), a } function $Pt(i, a) { return !!i.children(a).length } function zPt(i) { return Qdt(i.v) + ":" + Qdt(i.w) + ":" + Qdt(i.name) } var cFe = /:/g; function Qdt(i) { return i ? String(i).replace(cFe, "\\:") : "" } function d3(i, a) { a && i.attr("style", a) } function qPt(i, a, f) { a && i.attr("class", a).attr("class", f + " " + i.attr("class")) } function rm(i, a) { var f = a.graph(); if (DNt(f)) { var p = f.transition; if (FA(p)) return p(i) } return i } var Zdt = { normal: lFe, vee: hFe, undirected: fFe }; function uFe(i) { Zdt = i } function lFe(i, a, f, p) { var v = i.append("marker").attr("id", a).attr("viewBox", "0 0 10 10").attr("refX", 9).attr("refY", 5).attr("markerUnits", "strokeWidth").attr("markerWidth", 8).attr("markerHeight", 6).attr("orient", "auto"), m = v.append("path").attr("d", "M 0 0 L 10 5 L 0 10 z").style("stroke-width", 1).style("stroke-dasharray", "1,0"); d3(m, f[p + "Style"]), f[p + "Class"] && m.attr("class", f[p + "Class"]) } function hFe(i, a, f, p) { var v = i.append("marker").attr("id", a).attr("viewBox", "0 0 10 10").attr("refX", 9).attr("refY", 5).attr("markerUnits", "strokeWidth").attr("markerWidth", 8).attr("markerHeight", 6).attr("orient", "auto"), m = v.append("path").attr("d", "M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width", 1).style("stroke-dasharray", "1,0"); d3(m, f[p + "Style"]), f[p + "Class"] && m.attr("class", f[p + "Class"]) } function fFe(i, a, f, p) { var v = i.append("marker").attr("id", a).attr("viewBox", "0 0 10 10").attr("refX", 9).attr("refY", 5).attr("markerUnits", "strokeWidth").attr("markerWidth", 8).attr("markerHeight", 6).attr("orient", "auto"), m = v.append("path").attr("d", "M 0 5 L 10 5").style("stroke-width", 1).style("stroke-dasharray", "1,0"); d3(m, f[p + "Style"]), f[p + "Class"] && m.attr("class", f[p + "Class"]) } function Jdt(i, a) { var f = i.append("foreignObject").attr("width", "100000"), p = f.append("xhtml:div"); p.attr("xmlns", "http://www.w3.org/1999/xhtml"); var v = a.label; switch (typeof v) { case "function": p.insert(v); break; case "object": p.insert(function () { return v }); break; default: p.html(v) }d3(p, a.labelStyle), p.style("display", "inline-block"), p.style("white-space", "nowrap"); var m = p.node().getBoundingClientRect(); return f.attr("width", m.width).attr("height", m.height), f } function dFe(i, a) { var f = i; return f.node().appendChild(a.label), d3(f, a.labelStyle), f } function gFe(i, a) {
        for (var f = i.append("text"), p = pFe(a.label).split(`
    `), v = 0; v < p.length; v++)f.append("tspan").attr("xml:space", "preserve").attr("dy", "1em").attr("x", "1").text(p[v]); return d3(f, a.labelStyle), f
    } function pFe(i) {
        for (var a = "", f = !1, p, v = 0; v < i.length; ++v)if (p = i[v], f) {
            switch (p) {
                case "n": a += `
    `; break; default: a += p
            }f = !1
        } else p === "\\" ? f = !0 : a += p; return a
    } function t0t(i, a, f) { var p = a.label, v = i.append("g"); a.labelType === "svg" ? dFe(v, a) : typeof p != "string" || a.labelType === "html" ? Jdt(v, a) : gFe(v, a); var m = v.node().getBBox(), b; switch (f) { case "top": b = -a.height / 2; break; case "bottom": b = a.height / 2 - m.height; break; default: b = -m.height / 2 }return v.attr("transform", "translate(" + -m.width / 2 + "," + b + ")"), v } var e0t = function (i, a) { var f = a.nodes().filter(function (m) { return $Pt(a, m) }), p = i.selectAll("g.cluster").data(f, function (m) { return m }); rm(p.exit(), a).style("opacity", 0).remove(); var v = p.enter().append("g").attr("class", "cluster").attr("id", function (m) { var b = a.node(m); return b.id }).style("opacity", 0).each(function (m) { var b = a.node(m), E = Mr(this); Mr(this).append("rect"); var C = E.append("g").attr("class", "label"); t0t(C, b, b.clusterLabelPos) }); return p = p.merge(v), p = rm(p, a).style("opacity", 1), p.selectAll("rect").each(function (m) { var b = a.node(m), E = Mr(this); d3(E, b.style) }), p }; function bFe(i) { e0t = i } let n0t = function (i, a) { var f = i.selectAll("g.edgeLabel").data(a.edges(), function (v) { return zPt(v) }).classed("update", !0); f.exit().remove(), f.enter().append("g").classed("edgeLabel", !0).style("opacity", 0), f = i.selectAll("g.edgeLabel"), f.each(function (v) { var m = Mr(this); m.select(".label").remove(); var b = a.edge(v), E = t0t(m, a.edge(v), 0).classed("label", !0), C = E.node().getBBox(); b.labelId && E.attr("id", b.labelId), eo(b, "width") || (b.width = C.width), eo(b, "height") || (b.height = C.height) }); var p; return f.exit ? p = f.exit() : p = f.selectAll(null), rm(p, a).style("opacity", 0).remove(), f }; function vFe(i) { n0t = i } function HPt(i, a) { return i.intersect(a) } var r0t = function (i, a, f) { var p = i.selectAll("g.edgePath").data(a.edges(), function (b) { return zPt(b) }).classed("update", !0), v = kFe(p, a); EFe(p, a); var m = p.merge !== void 0 ? p.merge(v) : p; return rm(m, a).style("opacity", 1), m.each(function (b) { var E = Mr(this), C = a.edge(b); C.elem = this, C.id && E.attr("id", C.id), qPt(E, C.class, (E.classed("update") ? "update " : "") + "edgePath") }), m.selectAll("path.path").each(function (b) { var E = a.edge(b); E.arrowheadId = eK("arrowhead"); var C = Mr(this).attr("marker-end", function () { return "url(" + mFe(location.href, E.arrowheadId) + ")" }).style("fill", "none"); rm(C, a).attr("d", function (D) { return yFe(a, D) }), d3(C, E.style) }), m.selectAll("defs *").remove(), m.selectAll("defs").each(function (b) { var E = a.edge(b), C = f[E.arrowhead]; C(Mr(this), E.arrowheadId, E, "arrowhead") }), m }; function wFe(i) { r0t = i } function mFe(i, a) { var f = i.split("#")[0]; return f + "#" + a } function yFe(i, a) { var f = i.edge(a), p = i.node(a.v), v = i.node(a.w), m = f.points.slice(1, f.points.length - 1); return m.unshift(HPt(p, m[0])), m.push(HPt(v, m[m.length - 1])), VPt(f, m) } function VPt(i, a) { var f = (Y9 || r8e.line)().x(function (p) { return p.x }).y(function (p) { return p.y }); return (f.curve || f.interpolate)(i.curve), f(a) } function xFe(i) { var a = i.getBBox(), f = i.ownerSVGElement.getScreenCTM().inverse().multiply(i.getScreenCTM()).translate(a.width / 2, a.height / 2); return { x: f.e, y: f.f } } function kFe(i, a) { var f = i.enter().append("g").attr("class", "edgePath").style("opacity", 0); return f.append("path").attr("class", "path").attr("d", function (p) { var v = a.edge(p), m = a.node(p.v).elem, b = fE(v.points.length).map(function () { return xFe(m) }); return VPt(v, b) }), f.append("defs"), f } function EFe(i, a) { var f = i.exit(); rm(f, a).style("opacity", 0).remove() } var i0t = function (i, a, f) { var p = a.nodes().filter(function (b) { return !$Pt(a, b) }), v = i.selectAll("g.node").data(p, function (b) { return b }).classed("update", !0); v.exit().remove(), v.enter().append("g").attr("class", "node").style("opacity", 0), v = i.selectAll("g.node"), v.each(function (b) { var E = a.node(b), C = Mr(this); qPt(C, E.class, (C.classed("update") ? "update " : "") + "node"), C.select("g.label").remove(); var D = C.append("g").attr("class", "label"), P = t0t(D, E), B = f[E.shape], j = sP(P.node().getBBox(), "width", "height"); E.elem = this, E.id && C.attr("id", E.id), E.labelId && D.attr("id", E.labelId), eo(E, "width") && (j.width = E.width), eo(E, "height") && (j.height = E.height), j.width += E.paddingLeft + E.paddingRight, j.height += E.paddingTop + E.paddingBottom, D.attr("transform", "translate(" + (E.paddingLeft - E.paddingRight) / 2 + "," + (E.paddingTop - E.paddingBottom) / 2 + ")"); var R = Mr(this); R.select(".label-container").remove(); var H = B(R, j, E).classed("label-container", !0); d3(H, E.style); var Y = H.node().getBBox(); E.width = Y.width, E.height = Y.height }); var m; return v.exit ? m = v.exit() : m = v.selectAll(null), rm(m, a).style("opacity", 0).remove(), v }; function TFe(i) { i0t = i } function _Fe(i, a) { var f = i.filter(function () { return !Mr(this).classed("update") }); function p(v) { var m = a.node(v); return "translate(" + m.x + "," + m.y + ")" } f.attr("transform", p), rm(i, a).style("opacity", 1).attr("transform", p), rm(f.selectAll("rect"), a).attr("width", function (v) { return a.node(v).width }).attr("height", function (v) { return a.node(v).height }).attr("x", function (v) { var m = a.node(v); return -m.width / 2 }).attr("y", function (v) { var m = a.node(v); return -m.height / 2 }) } function CFe(i, a) { var f = i.filter(function () { return !Mr(this).classed("update") }); function p(v) { var m = a.edge(v); return eo(m, "x") ? "translate(" + m.x + "," + m.y + ")" : "" } f.attr("transform", p), rm(i, a).style("opacity", 1).attr("transform", p) } function SFe(i, a) { var f = i.filter(function () { return !Mr(this).classed("update") }); function p(v) { var m = a.node(v); return "translate(" + m.x + "," + m.y + ")" } f.attr("transform", p), rm(i, a).style("opacity", 1).attr("transform", p) } function GPt(i, a, f, p) { var v = i.x, m = i.y, b = v - p.x, E = m - p.y, C = Math.sqrt(a * a * E * E + f * f * b * b), D = Math.abs(a * f * b / C); p.x < v && (D = -D); var P = Math.abs(a * f * E / C); return p.y < m && (P = -P), { x: v + D, y: m + P } } function AFe(i, a, f) { return GPt(i, a, a, f) } function LFe(i, a, f, p) { var v, m, b, E, C, D, P, B, j, R, H, Y, it, nt, st; if (v = a.y - i.y, b = i.x - a.x, C = a.x * i.y - i.x * a.y, j = v * f.x + b * f.y + C, R = v * p.x + b * p.y + C, !(j !== 0 && R !== 0 && UPt(j, R)) && (m = p.y - f.y, E = f.x - p.x, D = p.x * f.y - f.x * p.y, P = m * i.x + E * i.y + D, B = m * a.x + E * a.y + D, !(P !== 0 && B !== 0 && UPt(P, B)) && (H = v * E - m * b, H !== 0))) return Y = Math.abs(H / 2), it = b * D - E * C, nt = it < 0 ? (it - Y) / H : (it + Y) / H, it = m * C - v * D, st = it < 0 ? (it - Y) / H : (it + Y) / H, { x: nt, y: st } } function UPt(i, a) { return i * a > 0 } function g3(i, a, f) { var p = i.x, v = i.y, m = [], b = Number.POSITIVE_INFINITY, E = Number.POSITIVE_INFINITY; a.forEach(function (H) { b = Math.min(b, H.x), E = Math.min(E, H.y) }); for (var C = p - i.width / 2 - b, D = v - i.height / 2 - E, P = 0; P < a.length; P++) { var B = a[P], j = a[P < a.length - 1 ? P + 1 : 0], R = LFe(i, f, { x: C + B.x, y: D + B.y }, { x: C + j.x, y: D + j.y }); R && m.push(R) } return m.length ? (m.length > 1 && m.sort(function (H, Y) { var it = H.x - f.x, nt = H.y - f.y, st = Math.sqrt(it * it + nt * nt), pt = Y.x - f.x, Tt = Y.y - f.y, kt = Math.sqrt(pt * pt + Tt * Tt); return st < kt ? -1 : st === kt ? 0 : 1 }), m[0]) : ( { var f = i.x, p = i.y, v = a.x - f, m = a.y - p, b = i.width / 2, E = i.height / 2, C, D; return Math.abs(m) * b > Math.abs(v) * E ? (m < 0 && (E = -E), C = m === 0 ? 0 : E * v / m, D = E) : (v < 0 && (b = -b), C = b, D = v === 0 ? 0 : b * m / v), { x: f + C, y: p + D } } var a0t = { rect: DFe, ellipse: IFe, circle: OFe, diamond: NFe }; function MFe(i) { a0t = i } function DFe(i, a, f) { var p = i.insert("rect", ":first-child").attr("rx", f.rx).attr("ry", f.ry).attr("x", -a.width / 2).attr("y", -a.height / 2).attr("width", a.width).attr("height", a.height); return f.intersect = function (v) { return s0t(f, v) }, p } function IFe(i, a, f) { var p = a.width / 2, v = a.height / 2, m = i.insert("ellipse", ":first-child").attr("x", -a.width / 2).attr("y", -a.height / 2).attr("rx", p).attr("ry", v); return f.intersect = function (b) { return GPt(f, p, v, b) }, m } function OFe(i, a, f) { var p = Math.max(a.width, a.height) / 2, v = i.insert("circle", ":first-child").attr("x", -a.width / 2).attr("y", -a.height / 2).attr("r", p); return f.intersect = function (m) { return AFe(f, p, m) }, v } function NFe(i, a, f) { var p = a.width * Math.SQRT2 / 2, v = a.height * Math.SQRT2 / 2, m = [{ x: 0, y: -v }, { x: -p, y: 0 }, { x: 0, y: v }, { x: p, y: 0 }], b = i.insert("polygon", ":first-child").attr("points", m.map(function (E) { return E.x + "," + E.y }).join(" ")); return f.intersect = function (E) { return g3(f, m, E) }, b } function PFe() { var i = function (a, f) { RFe(f); var p = lP(a, "output"), v = lP(p, "clusters"), m = lP(p, "edgePaths"), b = n0t(lP(p, "edgeLabels"), f), E = i0t(lP(p, "nodes"), f, a0t); eL(f), SFe(E, f), CFe(b, f), r0t(m, f, Zdt); var C = e0t(v, f); _Fe(C, f), jFe(f) }; return i.createNodes = function (a) { return arguments.length ? (TFe(a), i) : i0t }, i.createClusters = function (a) { return arguments.length ? (bFe(a), i) : e0t }, i.createEdgeLabels = function (a) { return arguments.length ? (vFe(a), i) : n0t }, i.createEdgePaths = function (a) { return arguments.length ? (wFe(a), i) : r0t }, i.shapes = function (a) { return arguments.length ? (MFe(a), i) : a0t }, i.arrows = function (a) { return arguments.length ? (uFe(a), i) : Zdt }, i } var FFe = { paddingLeft: 10, paddingRight: 10, paddingTop: 10, paddingBottom: 10, rx: 0, ry: 0, shape: "rect" }, BFe = { arrowhead: "normal", curve: rg }; function RFe(i) { i.nodes().forEach(function (a) { var f = i.node(a); !eo(f, "label") && !i.children(a).length && (f.label = a), eo(f, "paddingX") && JA(f, { paddingLeft: f.paddingX, paddingRight: f.paddingX }), eo(f, "paddingY") && JA(f, { paddingTop: f.paddingY, paddingBottom: f.paddingY }), eo(f, "padding") && JA(f, { paddingLeft: f.padding, paddingRight: f.padding, paddingTop: f.padding, paddingBottom: f.padding }), JA(f, FFe), vr(["paddingLeft", "paddingRight", "paddingTop", "paddingBottom"], function (p) { f[p] = Number(f[p]) }), eo(f, "width") && (f._prevWidth = f.width), eo(f, "height") && (f._prevHeight = f.height) }), i.edges().forEach(function (a) { var f = i.edge(a); eo(f, "label") || (f.label = ""), JA(f, BFe) }) } function jFe(i) { vr(i.nodes(), function (a) { var f = i.node(a); eo(f, "_prevWidth") ? f.width = f._prevWidth : delete f.width, eo(f, "_prevHeight") ? f.height = f._prevHeight : delete f.height, delete f._prevWidth, delete f._prevHeight }) } function lP(i, a) { var f = i.select("g." + a); return f.empty() && (f = i.append("g").attr("class", a)), f } function WPt(i, a, f) { const p = a.width, v = a.height, m = (p + v) * .9, b = [{ x: m / 2, y: 0 }, { x: m, y: -m / 2 }, { x: m / 2, y: -m }, { x: 0, y: -m / 2 }], E = C5(i, m, m, b); return f.intersect = function (C) { return g3(f, b, C) }, E } function KPt(i, a, f) { const v = a.height, m = v / 4, b = a.width + 2 * m, E = [{ x: m, y: 0 }, { x: b - m, y: 0 }, { x: b, y: -v / 2 }, { x: b - m, y: -v }, { x: m, y: -v }, { x: 0, y: -v / 2 }], C = C5(i, b, v, E); return f.intersect = function (D) { return g3(f, E, D) }, C } function YPt(i, a, f) { const p = a.width, v = a.height, m = [{ x: -v / 2, y: 0 }, { x: p, y: 0 }, { x: p, y: -v }, { x: -v / 2, y: -v }, { x: 0, y: -v / 2 }], b = C5(i, p, v, m); return f.intersect = function (E) { return g3(f, m, E) }, b } function XPt(i, a, f) { const p = a.width, v = a.height, m = [{ x: -2 * v / 6, y: 0 }, { x: p - v / 6, y: 0 }, { x: p + 2 * v / 6, y: -v }, { x: v / 6, y: -v }], b = C5(i, p, v, m); return f.intersect = function (E) { return g3(f, m, E) }, b } function QPt(i, a, f) { const p = a.width, v = a.height, m = [{ x: 2 * v / 6, y: 0 }, { x: p + v / 6, y: 0 }, { x: p - 2 * v / 6, y: -v }, { x: -v / 6, y: -v }], b = C5(i, p, v, m); return f.intersect = function (E) { return g3(f, m, E) }, b } function ZPt(i, a, f) { const p = a.width, v = a.height, m = [{ x: -2 * v / 6, y: 0 }, { x: p + 2 * v / 6, y: 0 }, { x: p - v / 6, y: -v }, { x: v / 6, y: -v }], b = C5(i, p, v, m); return f.intersect = function (E) { return g3(f, m, E) }, b } function JPt(i, a, f) { const p = a.width, v = a.height, m = [{ x: v / 6, y: 0 }, { x: p - v / 6, y: 0 }, { x: p + 2 * v / 6, y: -v }, { x: -2 * v / 6, y: -v }], b = C5(i, p, v, m); return f.intersect = function (E) { return g3(f, m, E) }, b } function tFt(i, a, f) { const p = a.width, v = a.height, m = [{ x: 0, y: 0 }, { x: p + v / 2, y: 0 }, { x: p, y: -v / 2 }, { x: p + v / 2, y: -v }, { x: 0, y: -v }], b = C5(i, p, v, m); return f.intersect = function (E) { return g3(f, m, E) }, b } function eFt(i, a, f) { const p = a.height, v = a.width + p / 4, m = i.insert("rect", ":first-child").attr("rx", p / 2).attr("ry", p / 2).attr("x", -v / 2).attr("y", -p / 2).attr("width", v).attr("height", p); return f.intersect = function (b) { return s0t(f, b) }, m } function nFt(i, a, f) { const p = a.width, v = a.height, m = [{ x: 0, y: 0 }, { x: p, y: 0 }, { x: p, y: -v }, { x: 0, y: -v }, { x: 0, y: 0 }, { x: -8, y: 0 }, { x: p + 8, y: 0 }, { x: p + 8, y: -v }, { x: -8, y: -v }, { x: -8, y: 0 }], b = C5(i, p, v, m); return f.intersect = function (E) { return g3(f, m, E) }, b } function rFt(i, a, f) { const p = a.width, v = p / 2, m = v / (2.5 + p / 50), b = a.height + m, E = "M 0," + m + " a " + v + "," + m + " 0,0,0 " + p + " 0 a " + v + "," + m + " 0,0,0 " + -p + " 0 l 0," + b + " a " + v + "," + m + " 0,0,0 " + p + " 0 l 0," + -b, C = i.attr("label-offset-y", m).insert("path", ":first-child").attr("d", E).attr("transform", "translate(" + -p / 2 + "," + -(b / 2 + m) + ")"); return f.intersect = function (D) { const P = s0t(f, D), B = P.x - f.x; if (v != 0 && (Math.abs(B) < f.width / 2 || Math.abs(B) == f.width / 2 && Math.abs(P.y - f.y) > f.height / 2 - m)) { let j = m * m * (1 - B * B / (v * v)); j != 0 && (j = Math.sqrt(j)), j = m - j, D.y - f.y > 0 && (j = -j), P.y += j } return P }, C } function $Fe(i) { i.shapes().question = WPt, i.shapes().hexagon = KPt, i.shapes().stadium = eFt, i.shapes().subroutine = nFt, i.shapes().cylinder = rFt, i.shapes().rect_left_inv_arrow = YPt, i.shapes().lean_right = XPt, i.shapes().lean_left = QPt, i.shapes().trapezoid = ZPt, i.shapes().inv_trapezoid = JPt, i.shapes().rect_right_inv_arrow = tFt } function zFe(i) { i({ question: WPt }), i({ hexagon: KPt }), i({ stadium: eFt }), i({ subroutine: nFt }), i({ cylinder: rFt }), i({ rect_left_inv_arrow: YPt }), i({ lean_right: XPt }), i({ lean_left: QPt }), i({ trapezoid: ZPt }), i({ inv_trapezoid: JPt }), i({ rect_right_inv_arrow: tFt }) } function C5(i, a, f, p) { return i.insert("polygon", ":first-child").attr("points", p.map(function (v) { return v.x + "," + v.y }).join(" ")).attr("transform", "translate(" + -a / 2 + "," + f / 2 + ")") } const qFe = { addToRender: $Fe, addToRenderV2: zFe }, iFt = {}, HFe = function (i) { const a = Object.keys(i); for (const f of a) iFt[f] = i[f] }, sFt = function (i, a, f, p, v, m) { const b = p ? p.select(`[id="${f}"]`) : Mr(`[id="${f}"]`), E = v || document; Object.keys(i).forEach(function (D) { const P = i[D]; let B = "default"; P.classes.length > 0 && (B = P.classes.join(" ")); const j = Qw(P.styles); let R = P.text !== void 0 ? P.text : P.id, H; if (h1(Oe().flowchart.htmlLabels)) { const nt = { label: R.replace(/fa[blrs]?:fa-[\w-]+/g, st => `<i class='${st.replace(":", " ")}'></i>`) }; H = Jdt(b, nt).node(), H.parentNode.removeChild(H) } else { const nt = E.createElementNS("http://www.w3.org/2000/svg", "text"); nt.setAttribute("style", j.labelStyle.replace("color:", "fill:")); const st = R.split(yi.lineBreakRegex); for (const pt of st) { const Tt = E.createElementNS("http://www.w3.org/2000/svg", "tspan"); Tt.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve"), Tt.setAttribute("dy", "1em"), Tt.setAttribute("x", "1"), Tt.textContent = pt, nt.appendChild(Tt) } H = nt } let Y = 0, it = ""; switch (P.type) { case "round": Y = 5, it = "rect"; break; case "square": it = "rect"; break; case "diamond": it = "question"; break; case "hexagon": it = "hexagon"; break; case "odd": it = "rect_left_inv_arrow"; break; case "lean_right": it = "lean_right"; break; case "lean_left": it = "lean_left"; break; case "trapezoid": it = "trapezoid"; break; case "inv_trapezoid": it = "inv_trapezoid"; break; case "odd_right": it = "rect_left_inv_arrow"; break; case "circle": it = "circle"; break; case "ellipse": it = "ellipse"; break; case "stadium": it = "stadium"; break; case "subroutine": it = "subroutine"; break; case "cylinder": it = "cylinder"; break; case "group": it = "rect"; break; default: it = "rect" }zt.warn("Adding node", P.id, P.domId), a.setNode(m.db.lookUpDomId(P.id), { labelType: "svg", labelStyle: j.labelStyle, shape: it, label: H, rx: Y, ry: Y, class: B, style: j.style, id: m.db.lookUpDomId(P.id) }) }) }, aFt = function (i, a, f) {
        let p = 0, v, m; if (i.defaultStyle !== void 0) { const b = Qw(i.defaultStyle); v = b.style, m = b.labelStyle } i.forEach(function (b) {
            p++; const E = "L-" + b.start + "-" + b.end, C = "LS-" + b.start, D = "LE-" + b.end, P = {}; b.type === "arrow_open" ? P.arrowhead = "none" : P.arrowhead = "normal"; let B = "", j = ""; if (b.style !== void 0) { const R = Qw(b.style); B = R.style, j = R.labelStyle } else switch (b.stroke) { case "normal": B = "fill:none", v !== void 0 && (B = v), m !== void 0 && (j = m); break; case "dotted": B = "fill:none;stroke-width:2px;stroke-dasharray:3;"; break; case "thick": B = " stroke-width: 3.5px;fill:none"; break }P.style = B, P.labelStyle = j, b.interpolate !== void 0 ? P.curve = Xb(b.interpolate, rg) : i.defaultInterpolate !== void 0 ? P.curve = Xb(i.defaultInterpolate, rg) : P.curve = Xb(iFt.curve, rg), b.text === void 0 ? b.style !== void 0 && (P.arrowheadStyle = "fill: #333") : (P.arrowheadStyle = "fill: #333", P.labelpos = "c", h1(Oe().flowchart.htmlLabels) ? (P.labelType = "html", P.label = `<span id="L-${E}" class="edgeLabel L-${C}' L-${D}" style="${P.labelStyle}">${b.text.replace(/fa[blrs]?:fa-[\w-]+/g, R => `<i class='${R.replace(":", " ")}'></i>`)}</span>`) : (P.labelType = "text", P.label = b.text.replace(yi.lineBreakRegex, `
    `), b.style === void 0 && (P.style = P.style || "stroke: #333; stroke-width: 1.5px;fill:none"), P.labelStyle = P.labelStyle.replace("color:", "fill:"))), P.id = E, P.class = C + " " + D, P.minlen = b.length || 1, a.setEdge(f.db.lookUpDomId(b.start), f.db.lookUpDomId(b.end), P, p)
        })
    }, VFe = { setConf: HFe, addVertices: sFt, addEdges: aFt, getClasses: function (i, a) { zt.info("Extracting classes"), a.db.clear(); try { return a.parse(i), a.db.getClasses() } catch (f) { return zt.error(f), {} } }, draw: function (i, a, f, p) { zt.info("Drawing flowchart"), p.db.clear(); const { securityLevel: v, flowchart: m } = Oe(); let b; v === "sandbox" && (b = Mr("#i" + a)); const E = Mr(v === "sandbox" ? b.nodes()[0].contentDocument.body : "body"), C = v === "sandbox" ? b.nodes()[0].contentDocument : document; try { p.parser.parse(i) } catch { zt.debug("Parsing failed") } let D = p.db.getDirection(); D === void 0 && (D = "TD"); const P = m.nodeSpacing || 50, B = m.rankSpacing || 50, j = new jf({ multigraph: !0, compound: !0 }).setGraph({ rankdir: D, nodesep: P, ranksep: B, marginx: 8, marginy: 8 }).setDefaultEdgeLabel(function () { return {} }); let R; const H = p.db.getSubGraphs(); for (let yt = H.length - 1; yt >= 0; yt--)R = H[yt], p.db.addVertex(R.id, R.title, "group", void 0, R.classes); const Y = p.db.getVertices(); zt.warn("Get vertices", Y); const it = p.db.getEdges(); let nt = 0; for (nt = H.length - 1; nt >= 0; nt--) { R = H[nt], zft("cluster").append("text"); for (let yt = 0; yt < R.nodes.length; yt++)zt.warn("Setting subgraph", R.nodes[yt], p.db.lookUpDomId(R.nodes[yt]), p.db.lookUpDomId(R.id)), j.setParent(p.db.lookUpDomId(R.nodes[yt]), p.db.lookUpDomId(R.id)) } sFt(Y, j, a, E, C, p), aFt(it, j, p); const st = new PFe; qFe.addToRender(st), st.arrows().none = function (ht, mt, rt, wt) { const lt = ht.append("marker").attr("id", mt).attr("viewBox", "0 0 10 10").attr("refX", 9).attr("refY", 5).attr("markerUnits", "strokeWidth").attr("markerWidth", 8).attr("markerHeight", 6).attr("orient", "auto").append("path").attr("d", "M 0 0 L 0 0 L 0 0 z"); d3(lt, rt[wt + "Style"]) }, st.arrows().normal = function (ht, mt) { ht.append("marker").attr("id", mt).attr("viewBox", "0 0 10 10").attr("refX", 9).attr("refY", 5).attr("markerUnits", "strokeWidth").attr("markerWidth", 8).attr("markerHeight", 6).attr("orient", "auto").append("path").attr("d", "M 0 0 L 10 5 L 0 10 z").attr("class", "arrowheadPath").style("stroke-width", 1).style("stroke-dasharray", "1,0") }; const pt = E.select(`[id="${a}"]`), Tt = E.select("#" + a + " g"); for (st(Tt, j), Tt.selectAll("g.node").attr("title", function () { return p.db.getTooltip(this.id) }), p.db.indexNodes("subGraph" + nt), nt = 0; nt < H.length; nt++)if (R = H[nt], R.title !== "undefined") { const yt = C.querySelectorAll("#" + a + ' [id="' + p.db.lookUpDomId(R.id) + '"] rect'), ht = C.querySelectorAll("#" + a + ' [id="' + p.db.lookUpDomId(R.id) + '"]'), mt = yt[0].x.baseVal.value, rt = yt[0].y.baseVal.value, wt = yt[0].width.baseVal.value, lt = Mr(ht[0]).select(".label"); lt.attr("transform", `translate(${mt + wt / 2}, ${rt + 14})`), lt.attr("id", a + "Text"); for (let _t = 0; _t < R.classes.length; _t++)ht[0].classList.add(R.classes[_t]) } if (!m.htmlLabels) { const yt = C.querySelectorAll('[id="' + a + '"] .edgeLabel .label'); for (const ht of yt) { const mt = ht.getBBox(), rt = C.createElementNS("http://www.w3.org/2000/svg", "rect"); rt.setAttribute("rx", 0), rt.setAttribute("ry", 0), rt.setAttribute("width", mt.width), rt.setAttribute("height", mt.height), ht.insertBefore(rt, ht.firstChild) } } Z9(j, pt, m.diagramPadding, m.useMaxWidth), Object.keys(Y).forEach(function (yt) { const ht = Y[yt]; if (ht.link) { const mt = E.select("#" + a + ' [id="' + p.db.lookUpDomId(yt) + '"]'); if (mt) { const rt = C.createElementNS("http://www.w3.org/2000/svg", "a"); rt.setAttributeNS("http://www.w3.org/2000/svg", "class", ht.classes.join(" ")), rt.setAttributeNS("http://www.w3.org/2000/svg", "href", ht.link), rt.setAttributeNS("http://www.w3.org/2000/svg", "rel", "noopener"), v === "sandbox" ? rt.setAttributeNS("http://www.w3.org/2000/svg", "target", "_top") : ht.linkTarget && rt.setAttributeNS("http://www.w3.org/2000/svg", "target", ht.linkTarget); const wt = mt.insert(function () { return rt }, ":first-child"), gt = mt.select(".label-container"); gt && wt.append(function () { return gt.node() }); const lt = mt.select(".label"); lt && wt.append(function () { return lt.node() }) } } }) } }; function S5(i) { var a = { options: { directed: i.isDirected(), multigraph: i.isMultigraph(), compound: i.isCompound() }, nodes: GFe(i), edges: UFe(i) }; return sf(i.graph()) || (a.value = NIe(i.graph())), a } function GFe(i) { return Rf(i.nodes(), function (a) { var f = i.node(a), p = i.parent(a), v = { v: a }; return sf(f) || (v.value = f), sf(p) || (v.parent = p), v }) } function UFe(i) { return Rf(i.edges(), function (a) { var f = i.edge(a), p = { v: a.v, w: a.w }; return sf(a.name) || (p.name = a.name), sf(f) || (p.value = f), p }) } const WFe = (i, a, f, p) => { a.forEach(v => { KFe[v](i, f, p) }) }, KFe = { extension: (i, a, f) => { zt.trace("Making markers for ", f), i.append("defs").append("marker").attr("id", a + "-extensionStart").attr("class", "marker extension " + a).attr("refX", 0).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 1,7 L18,13 V 1 Z"), i.append("defs").append("marker").attr("id", a + "-extensionEnd").attr("class", "marker extension " + a).attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 1,1 V 13 L18,7 Z") }, composition: (i, a) => { i.append("defs").append("marker").attr("id", a + "-compositionStart").attr("class", "marker composition " + a).attr("refX", 0).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), i.append("defs").append("marker").attr("id", a + "-compositionEnd").attr("class", "marker composition " + a).attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z") }, aggregation: (i, a) => { i.append("defs").append("marker").attr("id", a + "-aggregationStart").attr("class", "marker aggregation " + a).attr("refX", 0).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), i.append("defs").append("marker").attr("id", a + "-aggregationEnd").attr("class", "marker aggregation " + a).attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z") }, dependency: (i, a) => { i.append("defs").append("marker").attr("id", a + "-dependencyStart").attr("class", "marker dependency " + a).attr("refX", 0).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 5,7 L9,13 L1,7 L9,1 Z"), i.append("defs").append("marker").attr("id", a + "-dependencyEnd").attr("class", "marker dependency " + a).attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L14,7 L9,1 Z") }, lollipop: (i, a) => { i.append("defs").append("marker").attr("id", a + "-lollipopStart").attr("class", "marker lollipop " + a).attr("refX", 0).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("circle").attr("stroke", "black").attr("fill", "white").attr("cx", 6).attr("cy", 7).attr("r", 6) }, point: (i, a) => { i.append("marker").attr("id", a + "-pointEnd").attr("class", "marker " + a).attr("viewBox", "0 0 10 10").attr("refX", 10).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto").append("path").attr("d", "M 0 0 L 10 5 L 0 10 z").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0"), i.append("marker").attr("id", a + "-pointStart").attr("class", "marker " + a).attr("viewBox", "0 0 10 10").attr("refX", 0).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto").append("path").attr("d", "M 0 5 L 10 10 L 10 0 z").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0") }, circle: (i, a) => { i.append("marker").attr("id", a + "-circleEnd").attr("class", "marker " + a).attr("viewBox", "0 0 10 10").attr("refX", 11).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("circle").attr("cx", "5").attr("cy", "5").attr("r", "5").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0"), i.append("marker").attr("id", a + "-circleStart").attr("class", "marker " + a).attr("viewBox", "0 0 10 10").attr("refX", -1).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("circle").attr("cx", "5").attr("cy", "5").attr("r", "5").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0") }, cross: (i, a) => { i.append("marker").attr("id", a + "-crossEnd").attr("class", "marker cross " + a).attr("viewBox", "0 0 11 11").attr("refX", 12).attr("refY", 5.2).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("path").attr("d", "M 1,1 l 9,9 M 10,1 l -9,9").attr("class", "arrowMarkerPath").style("stroke-width", 2).style("stroke-dasharray", "1,0"), i.append("marker").attr("id", a + "-crossStart").attr("class", "marker cross " + a).attr("viewBox", "0 0 11 11").attr("refX", -1).attr("refY", 5.2).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("path").attr("d", "M 1,1 l 9,9 M 10,1 l -9,9").attr("class", "arrowMarkerPath").style("stroke-width", 2).style("stroke-dasharray", "1,0") }, barb: (i, a) => { i.append("defs").append("marker").attr("id", a + "-barbEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 14).attr("markerUnits", "strokeWidth").attr("orient", "auto").append("path").attr("d", "M 19,7 L9,13 L14,7 L9,1 Z") } }, oFt = WFe; function YFe(i, a) { a && i.attr("style", a) } function XFe(i) { const a = Mr(document.createElementNS("http://www.w3.org/2000/svg", "foreignObject")), f = a.append("xhtml:div"), p = i.label, v = i.isNode ? "nodeLabel" : "edgeLabel"; return f.html('<span class="' + v + '" ' + (i.labelStyle ? 'style="' + i.labelStyle + '"' : "") + ">" + p + "</span>"), YFe(f, i.labelStyle), f.style("display", "inline-block"), f.style("white-space", "nowrap"), f.attr("xmlns", "http://www.w3.org/1999/xhtml"), a.node() } const lp = (i, a, f, p) => { let v = i || ""; if (typeof v == "object" && (v = v[0]), h1(Oe().flowchart.htmlLabels)) { v = v.replace(/\\n|\n/g, "<br />"), zt.info("vertexText" + v); const m = { isNode: p, label: KN(v).replace(/fa[blrs]?:fa-[\w-]+/g, E => `<i class='${E.replace(":", " ")}'></i>`), labelStyle: a.replace("fill:", "color:") }; return XFe(m) } else { const m = document.createElementNS("http://www.w3.org/2000/svg", "text"); m.setAttribute("style", a.replace("color:", "fill:")); let b = []; typeof v == "string" ? b = v.split(/\\n|\n|<br\s*\/?>/gi) : Array.isArray(v) ? b = v : b = []; for (const E of b) { const C = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); C.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve"), C.setAttribute("dy", "1em"), C.setAttribute("x", "0"), f ? C.setAttribute("class", "title-row") : C.setAttribute("class", "row"), C.textContent = E.trim(), m.appendChild(C) } return m } }; function QFe(i, a) { var { includeImageAlt: f = !0 } = a || {}; return cFt(i, f) } function cFt(i, a) { return i && typeof i == "object" && (i.value || (a ? i.alt : "") || "children" in i && uFt(i.children, a) || Array.isArray(i) && uFt(i, a)) || "" } function uFt(i, a) { for (var f = [], p = -1; ++p < i.length;)f[p] = cFt(i[p], a); return f.join("") } function p3(i, a, f, p) { const v = i.length; let m = 0, b; if (a < 0 ? a = -a > v ? 0 : v + a : a = a > v ? v : a, f = f > 0 ? f : 0, p.length < 1e4) b = Array.from(p), b.unshift(a, f), [].splice.apply(i, b); else for (f && [].splice.apply(i, [a, f]); m < p.length;)b = p.slice(m, m + 1e4), b.unshift(a, 0), [].splice.apply(i, b), m += 1e4, a += 1e4 } function tv(i, a) { return i.length > 0 ? (p3(i, i.length, 0, a), i) : a } const lFt = {}.hasOwnProperty; function ZFe(i) { const a = {}; let f = -1; for (; ++f < i.length;)JFe(a, i[f]); return a } function JFe(i, a) { let f; for (f in a) { const v = (lFt.call(i, f) ? i[f] : void 0) || (i[f] = {}), m = a[f]; let b; for (b in m) { lFt.call(v, b) || (v[b] = []); const E = m[b]; tBe(v[b], Array.isArray(E) ? E : E ? [E] : []) } } } function tBe(i, a) { let f = -1; const p = []; for (; ++f < a.length;)(a[f].add === "after" ? i : p).push(a[f]); p3(i, 0, 0, p) } const eBe = /[!-/:-@[-`{-~\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/, b3 = ck(/[A-Za-z]/), o0t = ck(/\d/), nBe = ck(/[\dA-Fa-f]/), im = ck(/[\dA-Za-z]/), rBe = ck(/[!-/:-@[-`{-~]/), hFt = ck(/[#-'*+\--9=?A-Z^-~]/); function c0t(i) { return i !== null && (i < 32 || i === 127) } function ev(i) { return i !== null && (i < 0 || i === 32) } function Ka(i) { return i !== null && i < -2 } function $f(i) { return i === -2 || i === -1 || i === 32 } const iBe = ck(/\s/), sBe = ck(eBe); function ck(i) { return a; function a(f) { return f !== null && i.test(String.fromCharCode(f)) } } function el(i, a, f, p) { const v = p ? p - 1 : Number.POSITIVE_INFINITY; let m = 0; return b; function b(C) { return $f(C) ? (i.enter(f), E(C)) : a(C) } function E(C) { return $f(C) && m++ < v ? (i.consume(C), E) : (i.exit(f), a(C)) } } const aBe = { tokenize: oBe }; function oBe(i) { const a = i.attempt(this.parser.constructs.contentInitial, p, v); let f; return a; function p(E) { if (E === null) { i.consume(E); return } return i.enter("lineEnding"), i.consume(E), i.exit("lineEnding"), el(i, a, "linePrefix") } function v(E) { return i.enter("paragraph"), m(E) } function m(E) { const C = i.enter("chunkText", { contentType: "text", previous: f }); return f && (f.next = C), f = C, b(E) } function b(E) { if (E === null) { i.exit("chunkText"), i.exit("paragraph"), i.consume(E); return } return Ka(E) ? (i.consume(E), i.exit("chunkText"), m) : (i.consume(E), b) } } const cBe = { tokenize: uBe }, fFt = { tokenize: lBe }; function uBe(i) { const a = this, f = []; let p = 0, v, m, b; return E; function E(pt) { if (p < f.length) { const Tt = f[p]; return a.containerState = Tt[1], i.attempt(Tt[0].continuation, C, D)(pt) } return D(pt) } function C(pt) { if (p++, a.containerState._closeFlow) { a.containerState._closeFlow = void 0, v && st(); const Tt = a.events.length; let kt = Tt, yt; for (; kt--;)if (a.events[kt][0] === "exit" && a.events[kt][1].type === "chunkFlow") { yt = a.events[kt][1].end; break } nt(p); let ht = Tt; for (; ht < a.events.length;)a.events[ht][1].end = Object.assign({}, yt), ht++; return p3(a.events, kt + 1, 0, a.events.slice(Tt)), a.events.length = ht, D(pt) } return E(pt) } function D(pt) { if (p === f.length) { if (!v) return j(pt); if (v.currentConstruct && v.currentConstruct.concrete) return H(pt); a.interrupt = !!(v.currentConstruct && !v._gfmTableDynamicInterruptHack) } return a.containerState = {}, i.check(fFt, P, B)(pt) } function P(pt) { return v && st(), nt(p), j(pt) } function B(pt) { return a.parser.lazy[a.now().line] = p !== f.length, b = a.now().offset, H(pt) } function j(pt) { return a.containerState = {}, i.attempt(fFt, R, H)(pt) } function R(pt) { return p++, f.push([a.currentConstruct, a.containerState]), j(pt) } function H(pt) { if (pt === null) { v && st(), nt(0), i.consume(pt); return } return v = v || a.parser.flow(a.now()), i.enter("chunkFlow", { contentType: "flow", previous: m, _tokenizer: v }), Y(pt) } function Y(pt) { if (pt === null) { it(i.exit("chunkFlow"), !0), nt(0), i.consume(pt); return } return Ka(pt) ? (i.consume(pt), it(i.exit("chunkFlow")), p = 0, a.interrupt = void 0, E) : (i.consume(pt), Y) } function it(pt, Tt) { const kt = a.sliceStream(pt); if (Tt && kt.push(null), pt.previous = m, m && (m.next = pt), m = pt, v.defineSkip(pt.start), v.write(kt), a.parser.lazy[pt.start.line]) { let yt = v.events.length; for (; yt--;)if (v.events[yt][1].start.offset < b && (!v.events[yt][1].end || v.events[yt][1].end.offset > b)) return; const ht = a.events.length; let mt = ht, rt, wt; for (; mt--;)if (a.events[mt][0] === "exit" && a.events[mt][1].type === "chunkFlow") { if (rt) { wt = a.events[mt][1].end; break } rt = !0 } for (nt(p), yt = ht; yt < a.events.length;)a.events[yt][1].end = Object.assign({}, wt), yt++; p3(a.events, mt + 1, 0, a.events.slice(ht)), a.events.length = yt } } function nt(pt) { let Tt = f.length; for (; Tt-- > pt;) { const kt = f[Tt]; a.containerState = kt[1], kt[0].exit.call(a, i) } f.length = pt } function st() { v.write([null]), m = void 0, v = void 0, a.containerState._closeFlow = void 0 } } function lBe(i, a, f) { return el(i, i.attempt(this.parser.constructs.document, a, f), "linePrefix", this.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4) } function dFt(i) { if (i === null || ev(i) || iBe(i)) return 1; if (sBe(i)) return 2 } function u0t(i, a, f) { const p = []; let v = -1; for (; ++v < i.length;) { const m = i[v].resolveAll; m && !p.includes(m) && (a = m(a, f), p.push(m)) } return a } const l0t = { name: "attention", tokenize: fBe, resolveAll: hBe }; function hBe(i, a) { let f = -1, p, v, m, b, E, C, D, P; for (; ++f < i.length;)if (i[f][0] === "enter" && i[f][1].type === "attentionSequence" && i[f][1]._close) { for (p = f; p--;)if (i[p][0] === "exit" && i[p][1].type === "attentionSequence" && i[p][1]._open && a.sliceSerialize(i[p][1]).charCodeAt(0) === a.sliceSerialize(i[f][1]).charCodeAt(0)) { if ((i[p][1]._close || i[f][1]._open) && (i[f][1].end.offset - i[f][1].start.offset) % 3 && !((i[p][1].end.offset - i[p][1].start.offset + i[f][1].end.offset - i[f][1].start.offset) % 3)) continue; C = i[p][1].end.offset - i[p][1].start.offset > 1 && i[f][1].end.offset - i[f][1].start.offset > 1 ? 2 : 1; const B = Object.assign({}, i[p][1].end), j = Object.assign({}, i[f][1].start); gFt(B, -C), gFt(j, C), b = { type: C > 1 ? "strongSequence" : "emphasisSequence", start: B, end: Object.assign({}, i[p][1].end) }, E = { type: C > 1 ? "strongSequence" : "emphasisSequence", start: Object.assign({}, i[f][1].start), end: j }, m = { type: C > 1 ? "strongText" : "emphasisText", start: Object.assign({}, i[p][1].end), end: Object.assign({}, i[f][1].start) }, v = { type: C > 1 ? "strong" : "emphasis", start: Object.assign({}, b.start), end: Object.assign({}, E.end) }, i[p][1].end = Object.assign({}, b.start), i[f][1].start = Object.assign({}, E.end), D = [], i[p][1].end.offset - i[p][1].start.offset && (D = tv(D, [["enter", i[p][1], a], ["exit", i[p][1], a]])), D = tv(D, [["enter", v, a], ["enter", b, a], ["exit", b, a], ["enter", m, a]]), D = tv(D, u0t(a.parser.constructs.insideSpan.null, i.slice(p + 1, f), a)), D = tv(D, [["exit", m, a], ["enter", E, a], ["exit", E, a], ["exit", v, a]]), i[f][1].end.offset - i[f][1].start.offset ? (P = 2, D = tv(D, [["enter", i[f][1], a], ["exit", i[f][1], a]])) : P = 0, p3(i, p - 1, f - p + 3, D), f = p + D.length - P - 2; break } } for (f = -1; ++f < i.length;)i[f][1].type === "attentionSequence" && (i[f][1].type = "data"); return i } function fBe(i, a) { const f = this.parser.constructs.attentionMarkers.null, p = this.previous, v = dFt(p); let m; return b; function b(C) { return i.enter("attentionSequence"), m = C, E(C) } function E(C) { if (C === m) return i.consume(C), E; const D = i.exit("attentionSequence"), P = dFt(C), B = !P || P === 2 && v || f.includes(C), j = !v || v === 2 && P || f.includes(p); return D._open = !!(m === 42 ? B : B && (v || !j)), D._close = !!(m === 42 ? j : j && (P || !B)), a(C) } } function gFt(i, a) { i.column += a, i.offset += a, i._bufferIndex += a } const dBe = { name: "autolink", tokenize: gBe }; function gBe(i, a, f) { let p = 1; return v; function v(H) { return i.enter("autolink"), i.enter("autolinkMarker"), i.consume(H), i.exit("autolinkMarker"), i.enter("autolinkProtocol"), m } function m(H) { return b3(H) ? (i.consume(H), b) : hFt(H) ? D(H) : f(H) } function b(H) { return H === 43 || H === 45 || H === 46 || im(H) ? E(H) : D(H) } function E(H) { return H === 58 ? (i.consume(H), C) : (H === 43 || H === 45 || H === 46 || im(H)) && p++ < 32 ? (i.consume(H), E) : D(H) } function C(H) { return H === 62 ? (i.exit("autolinkProtocol"), R(H)) : H === null || H === 32 || H === 60 || c0t(H) ? f(H) : (i.consume(H), C) } function D(H) { return H === 64 ? (i.consume(H), p = 0, P) : hFt(H) ? (i.consume(H), D) : f(H) } function P(H) { return im(H) ? B(H) : f(H) } function B(H) { return H === 46 ? (i.consume(H), p = 0, P) : H === 62 ? (i.exit("autolinkProtocol").type = "autolinkEmail", R(H)) : j(H) } function j(H) { return (H === 45 || im(H)) && p++ < 63 ? (i.consume(H), H === 45 ? j : B) : f(H) } function R(H) { return i.enter("autolinkMarker"), i.consume(H), i.exit("autolinkMarker"), i.exit("autolink"), a } } const rK = { tokenize: pBe, partial: !0 }; function pBe(i, a, f) { return el(i, p, "linePrefix"); function p(v) { return v === null || Ka(v) ? a(v) : f(v) } } const pFt = { name: "blockQuote", tokenize: bBe, continuation: { tokenize: vBe }, exit: wBe }; function bBe(i, a, f) { const p = this; return v; function v(b) { if (b === 62) { const E = p.containerState; return E.open || (i.enter("blockQuote", { _container: !0 }), E.open = !0), i.enter("blockQuotePrefix"), i.enter("blockQuoteMarker"), i.consume(b), i.exit("blockQuoteMarker"), m } return f(b) } function m(b) { return $f(b) ? (i.enter("blockQuotePrefixWhitespace"), i.consume(b), i.exit("blockQuotePrefixWhitespace"), i.exit("blockQuotePrefix"), a) : (i.exit("blockQuotePrefix"), a(b)) } } function vBe(i, a, f) { return el(i, i.attempt(pFt, a, f), "linePrefix", this.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4) } function wBe(i) { i.exit("blockQuote") } const bFt = { name: "characterEscape", tokenize: mBe }; function mBe(i, a, f) { return p; function p(m) { return i.enter("characterEscape"), i.enter("escapeMarker"), i.consume(m), i.exit("escapeMarker"), v } function v(m) { return rBe(m) ? (i.enter("characterEscapeValue"), i.consume(m), i.exit("characterEscapeValue"), i.exit("characterEscape"), a) : f(m) } } const vFt = document.createElement("i"); function h0t(i) { const a = "&" + i + ";"; vFt.innerHTML = a; const f = vFt.textContent; return f.charCodeAt(f.length - 1) === 59 && i !== "semi" || f === a ? !1 : f } const wFt = { name: "characterReference", tokenize: yBe }; function yBe(i, a, f) { const p = this; let v = 0, m, b; return E; function E(B) { return i.enter("characterReference"), i.enter("characterReferenceMarker"), i.consume(B), i.exit("characterReferenceMarker"), C } function C(B) { return B === 35 ? (i.enter("characterReferenceMarkerNumeric"), i.consume(B), i.exit("characterReferenceMarkerNumeric"), D) : (i.enter("characterReferenceValue"), m = 31, b = im, P(B)) } function D(B) { return B === 88 || B === 120 ? (i.enter("characterReferenceMarkerHexadecimal"), i.consume(B), i.exit("characterReferenceMarkerHexadecimal"), i.enter("characterReferenceValue"), m = 6, b = nBe, P) : (i.enter("characterReferenceValue"), m = 7, b = o0t, P(B)) } function P(B) { let j; return B === 59 && v ? (j = i.exit("characterReferenceValue"), b === im && !h0t(p.sliceSerialize(j)) ? f(B) : (i.enter("characterReferenceMarker"), i.consume(B), i.exit("characterReferenceMarker"), i.exit("characterReference"), a)) : b(B) && v++ < m ? (i.consume(B), P) : f(B) } } const mFt = { name: "codeFenced", tokenize: xBe, concrete: !0 }; function xBe(i, a, f) { const p = this, v = { tokenize: kt, partial: !0 }, m = { tokenize: Tt, partial: !0 }, b = this.events[this.events.length - 1], E = b && b[1].type === "linePrefix" ? b[2].sliceSerialize(b[1], !0).length : 0; let C = 0, D; return P; function P(yt) { return i.enter("codeFenced"), i.enter("codeFencedFence"), i.enter("codeFencedFenceSequence"), D = yt, B(yt) } function B(yt) { return yt === D ? (i.consume(yt), C++, B) : (i.exit("codeFencedFenceSequence"), C < 3 ? f(yt) : el(i, j, "whitespace")(yt)) } function j(yt) { return yt === null || Ka(yt) ? it(yt) : (i.enter("codeFencedFenceInfo"), i.enter("chunkString", { contentType: "string" }), R(yt)) } function R(yt) { return yt === null || ev(yt) ? (i.exit("chunkString"), i.exit("codeFencedFenceInfo"), el(i, H, "whitespace")(yt)) : yt === 96 && yt === D ? f(yt) : (i.consume(yt), R) } function H(yt) { return yt === null || Ka(yt) ? it(yt) : (i.enter("codeFencedFenceMeta"), i.enter("chunkString", { contentType: "string" }), Y(yt)) } function Y(yt) { return yt === null || Ka(yt) ? (i.exit("chunkString"), i.exit("codeFencedFenceMeta"), it(yt)) : yt === 96 && yt === D ? f(yt) : (i.consume(yt), Y) } function it(yt) { return i.exit("codeFencedFence"), p.interrupt ? a(yt) : nt(yt) } function nt(yt) { return yt === null ? pt(yt) : Ka(yt) ? i.attempt(m, i.attempt(v, pt, E ? el(i, nt, "linePrefix", E + 1) : nt), pt)(yt) : (i.enter("codeFlowValue"), st(yt)) } function st(yt) { return yt === null || Ka(yt) ? (i.exit("codeFlowValue"), nt(yt)) : (i.consume(yt), st) } function pt(yt) { return i.exit("codeFenced"), a(yt) } function Tt(yt, ht, mt) { const rt = this; return wt; function wt(lt) { return yt.enter("lineEnding"), yt.consume(lt), yt.exit("lineEnding"), gt } function gt(lt) { return rt.parser.lazy[rt.now().line] ? mt(lt) : ht(lt) } } function kt(yt, ht, mt) { let rt = 0; return el(yt, wt, "linePrefix", this.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4); function wt(_t) { return yt.enter("codeFencedFence"), yt.enter("codeFencedFenceSequence"), gt(_t) } function gt(_t) { return _t === D ? (yt.consume(_t), rt++, gt) : rt < C ? mt(_t) : (yt.exit("codeFencedFenceSequence"), el(yt, lt, "whitespace")(_t)) } function lt(_t) { return _t === null || Ka(_t) ? (yt.exit("codeFencedFence"), ht(_t)) : mt(_t) } } } const f0t = { name: "codeIndented", tokenize: EBe }, kBe = { tokenize: TBe, partial: !0 }; function EBe(i, a, f) { const p = this; return v; function v(D) { return i.enter("codeIndented"), el(i, m, "linePrefix", 4 + 1)(D) } function m(D) { const P = p.events[p.events.length - 1]; return P && P[1].type === "linePrefix" && P[2].sliceSerialize(P[1], !0).length >= 4 ? b(D) : f(D) } function b(D) { return D === null ? C(D) : Ka(D) ? i.attempt(kBe, b, C)(D) : (i.enter("codeFlowValue"), E(D)) } function E(D) { return D === null || Ka(D) ? (i.exit("codeFlowValue"), b(D)) : (i.consume(D), E) } function C(D) { return i.exit("codeIndented"), a(D) } } function TBe(i, a, f) { const p = this; return v; function v(b) { return p.parser.lazy[p.now().line] ? f(b) : Ka(b) ? (i.enter("lineEnding"), i.consume(b), i.exit("lineEnding"), v) : el(i, m, "linePrefix", 4 + 1)(b) } function m(b) { const E = p.events[p.events.length - 1]; return E && E[1].type === "linePrefix" && E[2].sliceSerialize(E[1], !0).length >= 4 ? a(b) : Ka(b) ? v(b) : f(b) } } const _Be = { name: "codeText", tokenize: ABe, resolve: CBe, previous: SBe }; function CBe(i) { let a = i.length - 4, f = 3, p, v; if ((i[f][1].type === "lineEnding" || i[f][1].type === "space") && (i[a][1].type === "lineEnding" || i[a][1].type === "space")) { for (p = f; ++p < a;)if (i[p][1].type === "codeTextData") { i[f][1].type = "codeTextPadding", i[a][1].type = "codeTextPadding", f += 2, a -= 2; break } } for (p = f - 1, a++; ++p <= a;)v === void 0 ? p !== a && i[p][1].type !== "lineEnding" && (v = p) : (p === a || i[p][1].type === "lineEnding") && (i[v][1].type = "codeTextData", p !== v + 2 && (i[v][1].end = i[p - 1][1].end, i.splice(v + 2, p - v - 2), a -= p - v - 2, p = v + 2), v = void 0); return i } function SBe(i) { return i !== 96 || this.events[this.events.length - 1][1].type === "characterEscape" } function ABe(i, a, f) { let p = 0, v, m; return b; function b(B) { return i.enter("codeText"), i.enter("codeTextSequence"), E(B) } function E(B) { return B === 96 ? (i.consume(B), p++, E) : (i.exit("codeTextSequence"), C(B)) } function C(B) { return B === null ? f(B) : B === 96 ? (m = i.enter("codeTextSequence"), v = 0, P(B)) : B === 32 ? (i.enter("space"), i.consume(B), i.exit("space"), C) : Ka(B) ? (i.enter("lineEnding"), i.consume(B), i.exit("lineEnding"), C) : (i.enter("codeTextData"), D(B)) } function D(B) { return B === null || B === 32 || B === 96 || Ka(B) ? (i.exit("codeTextData"), C(B)) : (i.consume(B), D) } function P(B) { return B === 96 ? (i.consume(B), v++, P) : v === p ? (i.exit("codeTextSequence"), i.exit("codeText"), a(B)) : (m.type = "codeTextData", D(B)) } } function yFt(i) { const a = {}; let f = -1, p, v, m, b, E, C, D; for (; ++f < i.length;) { for (; f in a;)f = a[f]; if (p = i[f], f && p[1].type === "chunkFlow" && i[f - 1][1].type === "listItemPrefix" && (C = p[1]._tokenizer.events, m = 0, m < C.length && C[m][1].type === "lineEndingBlank" && (m += 2), m < C.length && C[m][1].type === "content")) for (; ++m < C.length && C[m][1].type !== "content";)C[m][1].type === "chunkText" && (C[m][1]._isInFirstContentOfListItem = !0, m++); if (p[0] === "enter") p[1].contentType && (Object.assign(a, LBe(i, f)), f = a[f], D = !0); else if (p[1]._container) { for (m = f, v = void 0; m-- && (b = i[m], b[1].type === "lineEnding" || b[1].type === "lineEndingBlank");)b[0] === "enter" && (v && (i[v][1].type = "lineEndingBlank"), b[1].type = "lineEnding", v = m); v && (p[1].end = Object.assign({}, i[v][1].start), E = i.slice(v, f), E.unshift(p), p3(i, v, f - v + 1, E)) } } return !D } function LBe(i, a) { const f = i[a][1], p = i[a][2]; let v = a - 1; const m = [], b = f._tokenizer || p.parser[f.contentType](f.start), E = b.events, C = [], D = {}; let P, B, j = -1, R = f, H = 0, Y = 0; const it = [Y]; for (; R;) { for (; i[++v][1] !== R;); m.push(v), R._tokenizer || (P = p.sliceStream(R), R.next || P.push(null), B && b.defineSkip(R.start), R._isInFirstContentOfListItem && (b._gfmTasklistFirstContentOfListItem = !0), b.write(P), R._isInFirstContentOfListItem && (b._gfmTasklistFirstContentOfListItem = void 0)), B = R, R = R.next } for (R = f; ++j < E.length;)E[j][0] === "exit" && E[j - 1][0] === "enter" && E[j][1].type === E[j - 1][1].type && E[j][1].start.line !== E[j][1].end.line && (Y = j + 1, it.push(Y), R._tokenizer = void 0, R.previous = void 0, R = R.next); for (b.events = [], R ? (R._tokenizer = void 0, R.previous = void 0) : it.pop(), j = it.length; j--;) { const nt = E.slice(it[j], it[j + 1]), st = m.pop(); C.unshift([st, st + nt.length - 1]), p3(i, st, 2, nt) } for (j = -1; ++j < C.length;)D[H + C[j][0]] = H + C[j][1], H += C[j][1] - C[j][0] - 1; return D } const MBe = { tokenize: OBe, resolve: IBe }, DBe = { tokenize: NBe, partial: !0 }; function IBe(i) { return yFt(i), i } function OBe(i, a) { let f; return p; function p(E) { return i.enter("content"), f = i.enter("chunkContent", { contentType: "content" }), v(E) } function v(E) { return E === null ? m(E) : Ka(E) ? i.check(DBe, b, m)(E) : (i.consume(E), v) } function m(E) { return i.exit("chunkContent"), i.exit("content"), a(E) } function b(E) { return i.consume(E), i.exit("chunkContent"), f.next = i.enter("chunkContent", { contentType: "content", previous: f }), f = f.next, v } } function NBe(i, a, f) { const p = this; return v; function v(b) { return i.exit("chunkContent"), i.enter("lineEnding"), i.consume(b), i.exit("lineEnding"), el(i, m, "linePrefix") } function m(b) { if (b === null || Ka(b)) return f(b); const E = p.events[p.events.length - 1]; return !p.parser.constructs.disable.null.includes("codeIndented") && E && E[1].type === "linePrefix" && E[2].sliceSerialize(E[1], !0).length >= 4 ? a(b) : i.interrupt(p.parser.constructs.flow, f, a)(b) } } function xFt(i, a, f, p, v, m, b, E, C) { const D = C || Number.POSITIVE_INFINITY; let P = 0; return B; function B(nt) { return nt === 60 ? (i.enter(p), i.enter(v), i.enter(m), i.consume(nt), i.exit(m), j) : nt === null || nt === 41 || c0t(nt) ? f(nt) : (i.enter(p), i.enter(b), i.enter(E), i.enter("chunkString", { contentType: "string" }), Y(nt)) } function j(nt) { return nt === 62 ? (i.enter(m), i.consume(nt), i.exit(m), i.exit(v), i.exit(p), a) : (i.enter(E), i.enter("chunkString", { contentType: "string" }), R(nt)) } function R(nt) { return nt === 62 ? (i.exit("chunkString"), i.exit(E), j(nt)) : nt === null || nt === 60 || Ka(nt) ? f(nt) : (i.consume(nt), nt === 92 ? H : R) } function H(nt) { return nt === 60 || nt === 62 || nt === 92 ? (i.consume(nt), R) : R(nt) } function Y(nt) { return nt === 40 ? ++P > D ? f(nt) : (i.consume(nt), Y) : nt === 41 ? P-- ? (i.consume(nt), Y) : (i.exit("chunkString"), i.exit(E), i.exit(b), i.exit(p), a(nt)) : nt === null || ev(nt) ? P ? f(nt) : (i.exit("chunkString"), i.exit(E), i.exit(b), i.exit(p), a(nt)) : c0t(nt) ? f(nt) : (i.consume(nt), nt === 92 ? it : Y) } function it(nt) { return nt === 40 || nt === 41 || nt === 92 ? (i.consume(nt), Y) : Y(nt) } } function kFt(i, a, f, p, v, m) { const b = this; let E = 0, C; return D; function D(R) { return i.enter(p), i.enter(v), i.consume(R), i.exit(v), i.enter(m), P } function P(R) { return R === null || R === 91 || R === 93 && !C || R === 94 && !E && "_hiddenFootnoteSupport" in b.parser.constructs || E > 999 ? f(R) : R === 93 ? (i.exit(m), i.enter(v), i.consume(R), i.exit(v), i.exit(p), a) : Ka(R) ? (i.enter("lineEnding"), i.consume(R), i.exit("lineEnding"), P) : (i.enter("chunkString", { contentType: "string" }), B(R)) } function B(R) { return R === null || R === 91 || R === 93 || Ka(R) || E++ > 999 ? (i.exit("chunkString"), P(R)) : (i.consume(R), C = C || !$f(R), R === 92 ? j : B) } function j(R) { return R === 91 || R === 92 || R === 93 ? (i.consume(R), E++, B) : B(R) } } function EFt(i, a, f, p, v, m) { let b; return E; function E(j) { return i.enter(p), i.enter(v), i.consume(j), i.exit(v), b = j === 40 ? 41 : j, C } function C(j) { return j === b ? (i.enter(v), i.consume(j), i.exit(v), i.exit(p), a) : (i.enter(m), D(j)) } function D(j) { return j === b ? (i.exit(m), C(b)) : j === null ? f(j) : Ka(j) ? (i.enter("lineEnding"), i.consume(j), i.exit("lineEnding"), el(i, D, "linePrefix")) : (i.enter("chunkString", { contentType: "string" }), P(j)) } function P(j) { return j === b || j === null || Ka(j) ? (i.exit("chunkString"), D(j)) : (i.consume(j), j === 92 ? B : P) } function B(j) { return j === b || j === 92 ? (i.consume(j), P) : P(j) } } function hP(i, a) { let f; return p; function p(v) { return Ka(v) ? (i.enter("lineEnding"), i.consume(v), i.exit("lineEnding"), f = !0, p) : $f(v) ? el(i, p, f ? "linePrefix" : "lineSuffix")(v) : a(v) } } function nL(i) { return i.replace(/[\t\n\r ]+/g, " ").replace(/^ | $/g, "").toLowerCase().toUpperCase() } const PBe = { name: "definition", tokenize: BBe }, FBe = { tokenize: RBe, partial: !0 }; function BBe(i, a, f) { const p = this; let v; return m; function m(C) { return i.enter("definition"), kFt.call(p, i, b, f, "definitionLabel", "definitionLabelMarker", "definitionLabelString")(C) } function b(C) { return v = nL(p.sliceSerialize(p.events[p.events.length - 1][1]).slice(1, -1)), C === 58 ? (i.enter("definitionMarker"), i.consume(C), i.exit("definitionMarker"), hP(i, xFt(i, i.attempt(FBe, el(i, E, "whitespace"), el(i, E, "whitespace")), f, "definitionDestination", "definitionDestinationLiteral", "definitionDestinationLiteralMarker", "definitionDestinationRaw", "definitionDestinationString"))) : f(C) } function E(C) { return C === null || Ka(C) ? (i.exit("definition"), p.parser.defined.includes(v) || p.parser.defined.push(v), a(C)) : f(C) } } function RBe(i, a, f) { return p; function p(b) { return ev(b) ? hP(i, v)(b) : f(b) } function v(b) { return b === 34 || b === 39 || b === 40 ? EFt(i, el(i, m, "whitespace"), f, "definitionTitle", "definitionTitleMarker", "definitionTitleString")(b) : f(b) } function m(b) { return b === null || Ka(b) ? a(b) : f(b) } } const jBe = { name: "hardBreakEscape", tokenize: $Be }; function $Be(i, a, f) { return p; function p(m) { return i.enter("hardBreakEscape"), i.enter("escapeMarker"), i.consume(m), v } function v(m) { return Ka(m) ? (i.exit("escapeMarker"), i.exit("hardBreakEscape"), a(m)) : f(m) } } const zBe = { name: "headingAtx", tokenize: HBe, resolve: qBe }; function qBe(i, a) { let f = i.length - 2, p = 3, v, m; return i[p][1].type === "whitespace" && (p += 2), f - 2 > p && i[f][1].type === "whitespace" && (f -= 2), i[f][1].type === "atxHeadingSequence" && (p === f - 1 || f - 4 > p && i[f - 2][1].type === "whitespace") && (f -= p + 1 === f ? 2 : 4), f > p && (v = { type: "atxHeadingText", start: i[p][1].start, end: i[f][1].end }, m = { type: "chunkText", start: i[p][1].start, end: i[f][1].end, contentType: "text" }, p3(i, p, f - p + 1, [["enter", v, a], ["enter", m, a], ["exit", m, a], ["exit", v, a]])), i } function HBe(i, a, f) { const p = this; let v = 0; return m; function m(P) { return i.enter("atxHeading"), i.enter("atxHeadingSequence"), b(P) } function b(P) { return P === 35 && v++ < 6 ? (i.consume(P), b) : P === null || ev(P) ? (i.exit("atxHeadingSequence"), p.interrupt ? a(P) : E(P)) : f(P) } function E(P) { return P === 35 ? (i.enter("atxHeadingSequence"), C(P)) : P === null || Ka(P) ? (i.exit("atxHeading"), a(P)) : $f(P) ? el(i, E, "whitespace")(P) : (i.enter("atxHeadingText"), D(P)) } function C(P) { return P === 35 ? (i.consume(P), C) : (i.exit("atxHeadingSequence"), E(P)) } function D(P) { return P === null || P === 35 || ev(P) ? (i.exit("atxHeadingText"), E(P)) : (i.consume(P), D) } } const VBe = ["address", "article", "aside", "base", "basefont", "blockquote", "body", "caption", "center", "col", "colgroup", "dd", "details", "dialog", "dir", "div", "dl", "dt", "fieldset", "figcaption", "figure", "footer", "form", "frame", "frameset", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hr", "html", "iframe", "legend", "li", "link", "main", "menu", "menuitem", "nav", "noframes", "ol", "optgroup", "option", "p", "param", "section", "summary", "table", "tbody", "td", "tfoot", "th", "thead", "title", "tr", "track", "ul"], TFt = ["pre", "script", "style", "textarea"], GBe = { name: "htmlFlow", tokenize: KBe, resolveTo: WBe, concrete: !0 }, UBe = { tokenize: YBe, partial: !0 }; function WBe(i) { let a = i.length; for (; a-- && !(i[a][0] === "enter" && i[a][1].type === "htmlFlow");); return a > 1 && i[a - 2][1].type === "linePrefix" && (i[a][1].start = i[a - 2][1].start, i[a + 1][1].start = i[a - 2][1].start, i.splice(a - 2, 2)), i } function KBe(i, a, f) { const p = this; let v, m, b, E, C; return D; function D(Nt) { return i.enter("htmlFlow"), i.enter("htmlFlowData"), i.consume(Nt), P } function P(Nt) { return Nt === 33 ? (i.consume(Nt), B) : Nt === 47 ? (i.consume(Nt), H) : Nt === 63 ? (i.consume(Nt), v = 3, p.interrupt ? a : ae) : b3(Nt) ? (i.consume(Nt), b = String.fromCharCode(Nt), m = !0, Y) : f(Nt) } function B(Nt) { return Nt === 45 ? (i.consume(Nt), v = 2, j) : Nt === 91 ? (i.consume(Nt), v = 5, b = "CDATA[", E = 0, R) : b3(Nt) ? (i.consume(Nt), v = 4, p.interrupt ? a : ae) : f(Nt) } function j(Nt) { return Nt === 45 ? (i.consume(Nt), p.interrupt ? a : ae) : f(Nt) } function R(Nt) { return Nt === b.charCodeAt(E++) ? (i.consume(Nt), E === b.length ? p.interrupt ? a : gt : R) : f(Nt) } function H(Nt) { return b3(Nt) ? (i.consume(Nt), b = String.fromCharCode(Nt), Y) : f(Nt) } function Y(Nt) { return Nt === null || Nt === 47 || Nt === 62 || ev(Nt) ? Nt !== 47 && m && TFt.includes(b.toLowerCase()) ? (v = 1, p.interrupt ? a(Nt) : gt(Nt)) : VBe.includes(b.toLowerCase()) ? (v = 6, Nt === 47 ? (i.consume(Nt), it) : p.interrupt ? a(Nt) : gt(Nt)) : (v = 7, p.interrupt && !p.parser.lazy[p.now().line] ? f(Nt) : m ? st(Nt) : nt(Nt)) : Nt === 45 || im(Nt) ? (i.consume(Nt), b += String.fromCharCode(Nt), Y) : f(Nt) } function it(Nt) { return Nt === 62 ? (i.consume(Nt), p.interrupt ? a : gt) : f(Nt) } function nt(Nt) { return $f(Nt) ? (i.consume(Nt), nt) : rt(Nt) } function st(Nt) { return Nt === 47 ? (i.consume(Nt), rt) : Nt === 58 || Nt === 95 || b3(Nt) ? (i.consume(Nt), pt) : $f(Nt) ? (i.consume(Nt), st) : rt(Nt) } function pt(Nt) { return Nt === 45 || Nt === 46 || Nt === 58 || Nt === 95 || im(Nt) ? (i.consume(Nt), pt) : Tt(Nt) } function Tt(Nt) { return Nt === 61 ? (i.consume(Nt), kt) : $f(Nt) ? (i.consume(Nt), Tt) : st(Nt) } function kt(Nt) { return Nt === null || Nt === 60 || Nt === 61 || Nt === 62 || Nt === 96 ? f(Nt) : Nt === 34 || Nt === 39 ? (i.consume(Nt), C = Nt, yt) : $f(Nt) ? (i.consume(Nt), kt) : (C = null, ht(Nt)) } function yt(Nt) { return Nt === null || Ka(Nt) ? f(Nt) : Nt === C ? (i.consume(Nt), mt) : (i.consume(Nt), yt) } function ht(Nt) { return Nt === null || Nt === 34 || Nt === 39 || Nt === 60 || Nt === 61 || Nt === 62 || Nt === 96 || ev(Nt) ? Tt(Nt) : (i.consume(Nt), ht) } function mt(Nt) { return Nt === 47 || Nt === 62 || $f(Nt) ? st(Nt) : f(Nt) } function rt(Nt) { return Nt === 62 ? (i.consume(Nt), wt) : f(Nt) } function wt(Nt) { return $f(Nt) ? (i.consume(Nt), wt) : Nt === null || Ka(Nt) ? gt(Nt) : f(Nt) } function gt(Nt) { return Nt === 45 && v === 2 ? (i.consume(Nt), Rt) : Nt === 60 && v === 1 ? (i.consume(Nt), ft) : Nt === 62 && v === 4 ? (i.consume(Nt), Wt) : Nt === 63 && v === 3 ? (i.consume(Nt), ae) : Nt === 93 && v === 5 ? (i.consume(Nt), J) : Ka(Nt) && (v === 6 || v === 7) ? i.check(UBe, Wt, lt)(Nt) : Nt === null || Ka(Nt) ? lt(Nt) : (i.consume(Nt), gt) } function lt(Nt) { return i.exit("htmlFlowData"), _t(Nt) } function _t(Nt) { return Nt === null ? It(Nt) : Ka(Nt) ? i.attempt({ tokenize: X, partial: !0 }, _t, It)(Nt) : (i.enter("htmlFlowData"), gt(Nt)) } function X(Nt, me, Ue) { return _n; function _n(rr) { return Nt.enter("lineEnding"), Nt.consume(rr), Nt.exit("lineEnding"), _e } function _e(rr) { return p.parser.lazy[p.now().line] ? Ue(rr) : me(rr) } } function Rt(Nt) { return Nt === 45 ? (i.consume(Nt), ae) : gt(Nt) } function ft(Nt) { return Nt === 47 ? (i.consume(Nt), b = "", de) : gt(Nt) } function de(Nt) { return Nt === 62 && TFt.includes(b.toLowerCase()) ? (i.consume(Nt), Wt) : b3(Nt) && b.length < 8 ? (i.consume(Nt), b += String.fromCharCode(Nt), de) : gt(Nt) } function J(Nt) { return Nt === 93 ? (i.consume(Nt), ae) : gt(Nt) } function ae(Nt) { return Nt === 62 ? (i.consume(Nt), Wt) : Nt === 45 && v === 2 ? (i.consume(Nt), ae) : gt(Nt) } function Wt(Nt) { return Nt === null || Ka(Nt) ? (i.exit("htmlFlowData"), It(Nt)) : (i.consume(Nt), Wt) } function It(Nt) { return i.exit("htmlFlow"), a(Nt) } } function YBe(i, a, f) { return p; function p(v) { return i.exit("htmlFlowData"), i.enter("lineEndingBlank"), i.consume(v), i.exit("lineEndingBlank"), i.attempt(rK, a, f) } } const XBe = { name: "htmlText", tokenize: QBe }; function QBe(i, a, f) { const p = this; let v, m, b, E; return C; function C(It) { return i.enter("htmlText"), i.enter("htmlTextData"), i.consume(It), D } function D(It) { return It === 33 ? (i.consume(It), P) : It === 47 ? (i.consume(It), ht) : It === 63 ? (i.consume(It), kt) : b3(It) ? (i.consume(It), wt) : f(It) } function P(It) { return It === 45 ? (i.consume(It), B) : It === 91 ? (i.consume(It), m = "CDATA[", b = 0, it) : b3(It) ? (i.consume(It), Tt) : f(It) } function B(It) { return It === 45 ? (i.consume(It), j) : f(It) } function j(It) { return It === null || It === 62 ? f(It) : It === 45 ? (i.consume(It), R) : H(It) } function R(It) { return It === null || It === 62 ? f(It) : H(It) } function H(It) { return It === null ? f(It) : It === 45 ? (i.consume(It), Y) : Ka(It) ? (E = H, J(It)) : (i.consume(It), H) } function Y(It) { return It === 45 ? (i.consume(It), Wt) : H(It) } function it(It) { return It === m.charCodeAt(b++) ? (i.consume(It), b === m.length ? nt : it) : f(It) } function nt(It) { return It === null ? f(It) : It === 93 ? (i.consume(It), st) : Ka(It) ? (E = nt, J(It)) : (i.consume(It), nt) } function st(It) { return It === 93 ? (i.consume(It), pt) : nt(It) } function pt(It) { return It === 62 ? Wt(It) : It === 93 ? (i.consume(It), pt) : nt(It) } function Tt(It) { return It === null || It === 62 ? Wt(It) : Ka(It) ? (E = Tt, J(It)) : (i.consume(It), Tt) } function kt(It) { return It === null ? f(It) : It === 63 ? (i.consume(It), yt) : Ka(It) ? (E = kt, J(It)) : (i.consume(It), kt) } function yt(It) { return It === 62 ? Wt(It) : kt(It) } function ht(It) { return b3(It) ? (i.consume(It), mt) : f(It) } function mt(It) { return It === 45 || im(It) ? (i.consume(It), mt) : rt(It) } function rt(It) { return Ka(It) ? (E = rt, J(It)) : $f(It) ? (i.consume(It), rt) : Wt(It) } function wt(It) { return It === 45 || im(It) ? (i.consume(It), wt) : It === 47 || It === 62 || ev(It) ? gt(It) : f(It) } function gt(It) { return It === 47 ? (i.consume(It), Wt) : It === 58 || It === 95 || b3(It) ? (i.consume(It), lt) : Ka(It) ? (E = gt, J(It)) : $f(It) ? (i.consume(It), gt) : Wt(It) } function lt(It) { return It === 45 || It === 46 || It === 58 || It === 95 || im(It) ? (i.consume(It), lt) : _t(It) } function _t(It) { return It === 61 ? (i.consume(It), X) : Ka(It) ? (E = _t, J(It)) : $f(It) ? (i.consume(It), _t) : gt(It) } function X(It) { return It === null || It === 60 || It === 61 || It === 62 || It === 96 ? f(It) : It === 34 || It === 39 ? (i.consume(It), v = It, Rt) : Ka(It) ? (E = X, J(It)) : $f(It) ? (i.consume(It), X) : (i.consume(It), v = void 0, de) } function Rt(It) { return It === v ? (i.consume(It), ft) : It === null ? f(It) : Ka(It) ? (E = Rt, J(It)) : (i.consume(It), Rt) } function ft(It) { return It === 62 || It === 47 || ev(It) ? gt(It) : f(It) } function de(It) { return It === null || It === 34 || It === 39 || It === 60 || It === 61 || It === 96 ? f(It) : It === 62 || ev(It) ? gt(It) : (i.consume(It), de) } function J(It) { return i.exit("htmlTextData"), i.enter("lineEnding"), i.consume(It), i.exit("lineEnding"), el(i, ae, "linePrefix", p.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4) } function ae(It) { return i.enter("htmlTextData"), E(It) } function Wt(It) { return It === 62 ? (i.consume(It), i.exit("htmlTextData"), i.exit("htmlText"), a) : f(It) } } const d0t = { name: "labelEnd", tokenize: rRe, resolveTo: nRe, resolveAll: eRe }, ZBe = { tokenize: iRe }, JBe = { tokenize: sRe }, tRe = { tokenize: aRe }; function eRe(i) { let a = -1, f; for (; ++a < i.length;)f = i[a][1], (f.type === "labelImage" || f.type === "labelLink" || f.type === "labelEnd") && (i.splice(a + 1, f.type === "labelImage" ? 4 : 2), f.type = "data", a++); return i } function nRe(i, a) { let f = i.length, p = 0, v, m, b, E; for (; f--;)if (v = i[f][1], m) { if (v.type === "link" || v.type === "labelLink" && v._inactive) break; i[f][0] === "enter" && v.type === "labelLink" && (v._inactive = !0) } else if (b) { if (i[f][0] === "enter" && (v.type === "labelImage" || v.type === "labelLink") && !v._balanced && (m = f, v.type !== "labelLink")) { p = 2; break } } else v.type === "labelEnd" && (b = f); const C = { type: i[m][1].type === "labelLink" ? "link" : "image", start: Object.assign({}, i[m][1].start), end: Object.assign({}, i[i.length - 1][1].end) }, D = { type: "label", start: Object.assign({}, i[m][1].start), end: Object.assign({}, i[b][1].end) }, P = { type: "labelText", start: Object.assign({}, i[m + p + 2][1].end), end: Object.assign({}, i[b - 2][1].start) }; return E = [["enter", C, a], ["enter", D, a]], E = tv(E, i.slice(m + 1, m + p + 3)), E = tv(E, [["enter", P, a]]), E = tv(E, u0t(a.parser.constructs.insideSpan.null, i.slice(m + p + 4, b - 3), a)), E = tv(E, [["exit", P, a], i[b - 2], i[b - 1], ["exit", D, a]]), E = tv(E, i.slice(b + 1)), E = tv(E, [["exit", C, a]]), p3(i, m, i.length, E), i } function rRe(i, a, f) { const p = this; let v = p.events.length, m, b; for (; v--;)if ((p.events[v][1].type === "labelImage" || p.events[v][1].type === "labelLink") && !p.events[v][1]._balanced) { m = p.events[v][1]; break } return E; function E(P) { return m ? m._inactive ? D(P) : (b = p.parser.defined.includes(nL(p.sliceSerialize({ start: m.end, end: p.now() }))), i.enter("labelEnd"), i.enter("labelMarker"), i.consume(P), i.exit("labelMarker"), i.exit("labelEnd"), C) : f(P) } function C(P) { return P === 40 ? i.attempt(ZBe, a, b ? a : D)(P) : P === 91 ? i.attempt(JBe, a, b ? i.attempt(tRe, a, D) : D)(P) : b ? a(P) : D(P) } function D(P) { return m._balanced = !0, f(P) } } function iRe(i, a, f) { return p; function p(C) { return i.enter("resource"), i.enter("resourceMarker"), i.consume(C), i.exit("resourceMarker"), hP(i, v) } function v(C) { return C === 41 ? E(C) : xFt(i, m, f, "resourceDestination", "resourceDestinationLiteral", "resourceDestinationLiteralMarker", "resourceDestinationRaw", "resourceDestinationString", 32)(C) } function m(C) { return ev(C) ? hP(i, b)(C) : E(C) } function b(C) { return C === 34 || C === 39 || C === 40 ? EFt(i, hP(i, E), f, "resourceTitle", "resourceTitleMarker", "resourceTitleString")(C) : E(C) } function E(C) { return C === 41 ? (i.enter("resourceMarker"), i.consume(C), i.exit("resourceMarker"), i.exit("resource"), a) : f(C) } } function sRe(i, a, f) { const p = this; return v; function v(b) { return kFt.call(p, i, m, f, "reference", "referenceMarker", "referenceString")(b) } function m(b) { return p.parser.defined.includes(nL(p.sliceSerialize(p.events[p.events.length - 1][1]).slice(1, -1))) ? a(b) : f(b) } } function aRe(i, a, f) { return p; function p(m) { return i.enter("reference"), i.enter("referenceMarker"), i.consume(m), i.exit("referenceMarker"), v } function v(m) { return m === 93 ? (i.enter("referenceMarker"), i.consume(m), i.exit("referenceMarker"), i.exit("reference"), a) : f(m) } } const oRe = { name: "labelStartImage", tokenize: cRe, resolveAll: d0t.resolveAll }; function cRe(i, a, f) { const p = this; return v; function v(E) { return i.enter("labelImage"), i.enter("labelImageMarker"), i.consume(E), i.exit("labelImageMarker"), m } function m(E) { return E === 91 ? (i.enter("labelMarker"), i.consume(E), i.exit("labelMarker"), i.exit("labelImage"), b) : f(E) } function b(E) { return E === 94 && "_hiddenFootnoteSupport" in p.parser.constructs ? f(E) : a(E) } } const uRe = { name: "labelStartLink", tokenize: lRe, resolveAll: d0t.resolveAll }; function lRe(i, a, f) { const p = this; return v; function v(b) { return i.enter("labelLink"), i.enter("labelMarker"), i.consume(b), i.exit("labelMarker"), i.exit("labelLink"), m } function m(b) { return b === 94 && "_hiddenFootnoteSupport" in p.parser.constructs ? f(b) : a(b) } } const g0t = { name: "lineEnding", tokenize: hRe }; function hRe(i, a) { return f; function f(p) { return i.enter("lineEnding"), i.consume(p), i.exit("lineEnding"), el(i, a, "linePrefix") } } const iK = { name: "thematicBreak", tokenize: fRe }; function fRe(i, a, f) { let p = 0, v; return m; function m(C) { return i.enter("thematicBreak"), v = C, b(C) } function b(C) { return C === v ? (i.enter("thematicBreakSequence"), E(C)) : $f(C) ? el(i, b, "whitespace")(C) : p < 3 || C !== null && !Ka(C) ? f(C) : (i.exit("thematicBreak"), a(C)) } function E(C) { return C === v ? (i.consume(C), p++, E) : (i.exit("thematicBreakSequence"), b(C)) } } const hp = { name: "list", tokenize: pRe, continuation: { tokenize: bRe }, exit: wRe }, dRe = { tokenize: mRe, partial: !0 }, gRe = { tokenize: vRe, partial: !0 }; function pRe(i, a, f) { const p = this, v = p.events[p.events.length - 1]; let m = v && v[1].type === "linePrefix" ? v[2].sliceSerialize(v[1], !0).length : 0, b = 0; return E; function E(R) { const H = p.containerState.type || (R === 42 || R === 43 || R === 45 ? "listUnordered" : "listOrdered"); if (H === "listUnordered" ? !p.containerState.marker || R === p.containerState.marker : o0t(R)) { if (p.containerState.type || (p.containerState.type = H, i.enter(H, { _container: !0 })), H === "listUnordered") return i.enter("listItemPrefix"), R === 42 || R === 45 ? i.check(iK, f, D)(R) : D(R); if (!p.interrupt || R === 49) return i.enter("listItemPrefix"), i.enter("listItemValue"), C(R) } return f(R) } function C(R) { return o0t(R) && ++b < 10 ? (i.consume(R), C) : (!p.interrupt || b < 2) && (p.containerState.marker ? R === p.containerState.marker : R === 41 || R === 46) ? (i.exit("listItemValue"), D(R)) : f(R) } function D(R) { return i.enter("listItemMarker"), i.consume(R), i.exit("listItemMarker"), p.containerState.marker = p.containerState.marker || R, i.check(rK, p.interrupt ? f : P, i.attempt(dRe, j, B)) } function P(R) { return p.containerState.initialBlankLine = !0, m++, j(R) } function B(R) { return $f(R) ? (i.enter("listItemPrefixWhitespace"), i.consume(R), i.exit("listItemPrefixWhitespace"), j) : f(R) } function j(R) { return p.containerState.size = m + p.sliceSerialize(i.exit("listItemPrefix"), !0).length, a(R) } } function bRe(i, a, f) { const p = this; return p.containerState._closeFlow = void 0, i.check(rK, v, m); function v(E) { return p.containerState.furtherBlankLines = p.containerState.furtherBlankLines || p.containerState.initialBlankLine, el(i, a, "listItemIndent", p.containerState.size + 1)(E) } function m(E) { return p.containerState.furtherBlankLines || !$f(E) ? (p.containerState.furtherBlankLines = void 0, p.containerState.initialBlankLine = void 0, b(E)) : (p.containerState.furtherBlankLines = void 0, p.containerState.initialBlankLine = void 0, i.attempt(gRe, a, b)(E)) } function b(E) { return p.containerState._closeFlow = !0, p.interrupt = void 0, el(i, i.attempt(hp, a, f), "linePrefix", p.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4)(E) } } function vRe(i, a, f) { const p = this; return el(i, v, "listItemIndent", p.containerState.size + 1); function v(m) { const b = p.events[p.events.length - 1]; return b && b[1].type === "listItemIndent" && b[2].sliceSerialize(b[1], !0).length === p.containerState.size ? a(m) : f(m) } } function wRe(i) { i.exit(this.containerState.type) } function mRe(i, a, f) { const p = this; return el(i, v, "listItemPrefixWhitespace", p.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4 + 1); function v(m) { const b = p.events[p.events.length - 1]; return !$f(m) && b && b[1].type === "listItemPrefixWhitespace" ? a(m) : f(m) } } const _Ft = { name: "setextUnderline", tokenize: xRe, resolveTo: yRe }; function yRe(i, a) { let f = i.length, p, v, m; for (; f--;)if (i[f][0] === "enter") { if (i[f][1].type === "content") { p = f; break } i[f][1].type === "paragraph" && (v = f) } else i[f][1].type === "content" && i.splice(f, 1), !m && i[f][1].type === "definition" && (m = f); const b = { type: "setextHeading", start: Object.assign({}, i[v][1].start), end: Object.assign({}, i[i.length - 1][1].end) }; return i[v][1].type = "setextHeadingText", m ? (i.splice(v, 0, ["enter", b, a]), i.splice(m + 1, 0, ["exit", i[p][1], a]), i[p][1].end = Object.assign({}, i[m][1].end)) : i[p][1] = b, i.push(["exit", b, a]), i } function xRe(i, a, f) { const p = this; let v = p.events.length, m, b; for (; v--;)if (p.events[v][1].type !== "lineEnding" && p.events[v][1].type !== "linePrefix" && p.events[v][1].type !== "content") { b = p.events[v][1].type === "paragraph"; break } return E; function E(P) { return !p.parser.lazy[p.now().line] && (p.interrupt || b) ? (i.enter("setextHeadingLine"), i.enter("setextHeadingLineSequence"), m = P, C(P)) : f(P) } function C(P) { return P === m ? (i.consume(P), C) : (i.exit("setextHeadingLineSequence"), el(i, D, "lineSuffix")(P)) } function D(P) { return P === null || Ka(P) ? (i.exit("setextHeadingLine"), a(P)) : f(P) } } const kRe = { tokenize: ERe }; function ERe(i) { const a = this, f = i.attempt(rK, p, i.attempt(this.parser.constructs.flowInitial, v, el(i, i.attempt(this.parser.constructs.flow, v, i.attempt(MBe, v)), "linePrefix"))); return f; function p(m) { if (m === null) { i.consume(m); return } return i.enter("lineEndingBlank"), i.consume(m), i.exit("lineEndingBlank"), a.currentConstruct = void 0, f } function v(m) { if (m === null) { i.consume(m); return } return i.enter("lineEnding"), i.consume(m), i.exit("lineEnding"), a.currentConstruct = void 0, f } } const TRe = { resolveAll: SFt() }, _Re = CFt("string"), CRe = CFt("text"); function CFt(i) { return { tokenize: a, resolveAll: SFt(i === "text" ? SRe : void 0) }; function a(f) { const p = this, v = this.parser.constructs[i], m = f.attempt(v, b, E); return b; function b(P) { return D(P) ? m(P) : E(P) } function E(P) { if (P === null) { f.consume(P); return } return f.enter("data"), f.consume(P), C } function C(P) { return D(P) ? (f.exit("data"), m(P)) : (f.consume(P), C) } function D(P) { if (P === null) return !0; const B = v[P]; let j = -1; if (B) for (; ++j < B.length;) { const R = B[j]; if (!R.previous || R.previous.call(p, p.previous)) return !0 } return !1 } } } function SFt(i) { return a; function a(f, p) { let v = -1, m; for (; ++v <= f.length;)m === void 0 ? f[v] && f[v][1].type === "data" && (m = v, v++) : (!f[v] || f[v][1].type !== "data") && (v !== m + 2 && (f[m][1].end = f[v - 1][1].end, f.splice(m + 2, v - m - 2), v = m + 2), m = void 0); return i ? i(f, p) : f } } function SRe(i, a) { let f = 0; for (; ++f <= i.length;)if ((f === i.length || i[f][1].type === "lineEnding") && i[f - 1][1].type === "data") { const p = i[f - 1][1], v = a.sliceStream(p); let m = v.length, b = -1, E = 0, C; for (; m--;) { const D = v[m]; if (typeof D == "string") { for (b = D.length; D.charCodeAt(b - 1) === 32;)E++, b--; if (b) break; b = -1 } else if (D === -2) C = !0, E++; else if (D !== -1) { m++; break } } if (E) { const D = { type: f === i.length || C || E < 2 ? "lineSuffix" : "hardBreakTrailing", start: { line: p.end.line, column: p.end.column - E, offset: p.end.offset - E, _index: p.start._index + m, _bufferIndex: m ? b : p.start._bufferIndex + b }, end: Object.assign({}, p.end) }; p.end = Object.assign({}, D.start), p.start.offset === p.end.offset ? Object.assign(p, D) : (i.splice(f, 0, ["enter", D, a], ["exit", D, a]), f += 2) } f++ } return i } function ARe(i, a, f) { let p = Object.assign(f ? Object.assign({}, f) : { line: 1, column: 1, offset: 0 }, { _index: 0, _bufferIndex: -1 }); const v = {}, m = []; let b = [], E = []; const C = { consume: st, enter: pt, exit: Tt, attempt: ht(kt), check: ht(yt), interrupt: ht(yt, { interrupt: !0 }) }, D = { previous: null, code: null, containerState: {}, events: [], parser: i, sliceStream: R, sliceSerialize: j, now: H, defineSkip: Y, write: B }; let P = a.tokenize.call(D, C); return a.resolveAll && m.push(a), D; function B(gt) { return b = tv(b, gt), it(), b[b.length - 1] !== null ? [] : (mt(a, 0), D.events = u0t(m, D.events, D), D.events) } function j(gt, lt) { return MRe(R(gt), lt) } function R(gt) { return LRe(b, gt) } function H() { return Object.assign({}, p) } function Y(gt) { v[gt.line] = gt.column, wt() } function it() { let gt; for (; p._index < b.length;) { const lt = b[p._index]; if (typeof lt == "string") for (gt = p._index, p._bufferIndex < 0 && (p._bufferIndex = 0); p._index === gt && p._bufferIndex < lt.length;)nt(lt.charCodeAt(p._bufferIndex)); else nt(lt) } } function nt(gt) { P = P(gt) } function st(gt) { Ka(gt) ? (p.line++, p.column = 1, p.offset += gt === -3 ? 2 : 1, wt()) : gt !== -1 && (p.column++, p.offset++), p._bufferIndex < 0 ? p._index++ : (p._bufferIndex++, p._bufferIndex === b[p._index].length && (p._bufferIndex = -1, p._index++)), D.previous = gt } function pt(gt, lt) { const _t = lt || {}; return _t.type = gt, _t.start = H(), D.events.push(["enter", _t, D]), E.push(_t), _t } function Tt(gt) { const lt = E.pop(); return lt.end = H(), D.events.push(["exit", lt, D]), lt } function kt(gt, lt) { mt(gt, lt.from) } function yt(gt, lt) { lt.restore() } function ht(gt, lt) { return _t; function _t(X, Rt, ft) { let de, J, ae, Wt; return Array.isArray(X) ? Nt(X) : "tokenize" in X ? Nt([X]) : It(X); function It(_e) { return rr; function rr(Te) { const ne = Te !== null && _e[Te], Ee = Te !== null && _e.null, ye = [...Array.isArray(ne) ? ne : ne ? [ne] : [], ...Array.isArray(Ee) ? Ee : Ee ? [Ee] : []]; return Nt(ye)(Te) } } function Nt(_e) { return de = _e, J = 0, _e.length === 0 ? ft : me(_e[J]) } function me(_e) { return rr; function rr(Te) { return Wt = rt(), ae = _e, _e.partial || (D.currentConstruct = _e), _e.name && D.parser.constructs.disable.null.includes(_e.name) ? _n() : _e.tokenize.call(lt ? Object.assign(Object.create(D), lt) : D, C, Ue, _n)(Te) } } function Ue(_e) { return gt(ae, Wt), Rt } function _n(_e) { return Wt.restore(), ++J < de.length ? me(de[J]) : ft } } } function mt(gt, lt) { gt.resolveAll && !m.includes(gt) && m.push(gt), gt.resolve && p3(D.events, lt, D.events.length - lt, gt.resolve(D.events.slice(lt), D)), gt.resolveTo && (D.events = gt.resolveTo(D.events, D)) } function rt() { const gt = H(), lt = D.previous, _t = D.currentConstruct, X = D.events.length, Rt = Array.from(E); return { restore: ft, from: X }; function ft() { p = gt, D.previous = lt, D.currentConstruct = _t, D.events.length = X, E = Rt, wt() } } function wt() { p.line in v && p.column < 2 && (p.column = v[p.line], p.offset += v[p.line] - 1) } } function LRe(i, a) { const f = a.start._index, p = a.start._bufferIndex, v = a.end._index, m = a.end._bufferIndex; let b; return f === v ? b = [i[f].slice(p, m)] : (b = i.slice(f, v), p > -1 && (b[0] = b[0].slice(p)), m > 0 && b.push(i[v].slice(0, m))), b } function MRe(i, a) {
        let f = -1; const p = []; let v; for (; ++f < i.length;) {
            const m = i[f]; let b; if (typeof m == "string") b = m; else switch (m) {
                case -5: { b = "\r"; break } case -4: {
                    b = `
    `; break
                } case -3: {
                    b = `\r
    `; break
                } case -2: { b = a ? " " : "	"; break } case -1: { if (!a && v) continue; b = " "; break } default: b = String.fromCharCode(m)
            }v = m === -2, p.push(b)
        } return p.join("")
    } const DRe = { [42]: hp, [43]: hp, [45]: hp, [48]: hp, [49]: hp, [50]: hp, [51]: hp, [52]: hp, [53]: hp, [54]: hp, [55]: hp, [56]: hp, [57]: hp, [62]: pFt }, IRe = { [91]: PBe }, ORe = { [-2]: f0t, [-1]: f0t, [32]: f0t }, NRe = Object.freeze(Object.defineProperty({ __proto__: null, attentionMarkers: { null: [42, 95] }, contentInitial: IRe, disable: { null: [] }, document: DRe, flow: { [35]: zBe, [42]: iK, [45]: [_Ft, iK], [60]: GBe, [61]: _Ft, [95]: iK, [96]: mFt, [126]: mFt }, flowInitial: ORe, insideSpan: { null: [l0t, TRe] }, string: { [38]: wFt, [92]: bFt }, text: { [-5]: g0t, [-4]: g0t, [-3]: g0t, [33]: oRe, [38]: wFt, [42]: l0t, [60]: [dBe, XBe], [91]: uRe, [92]: [jBe, bFt], [93]: d0t, [95]: l0t, [96]: _Be } }, Symbol.toStringTag, { value: "Module" })); function PRe(i = {}) { const a = ZFe([NRe].concat(i.extensions || [])), f = { defined: [], lazy: {}, constructs: a, content: p(aBe), document: p(cBe), flow: p(kRe), string: p(_Re), text: p(CRe) }; return f; function p(v) { return m; function m(b) { return ARe(f, v, b) } } } const AFt = /[\0\t\n\r]/g; function FRe() { let i = 1, a = "", f = !0, p; return v; function v(m, b, E) { const C = []; let D, P, B, j, R; for (m = a + m.toString(b), B = 0, a = "", f && (m.charCodeAt(0) === 65279 && B++, f = void 0); B < m.length;) { if (AFt.lastIndex = B, D = AFt.exec(m), j = D && D.index !== void 0 ? D.index : m.length, R = m.charCodeAt(j), !D) { a = m.slice(B); break } if (R === 10 && B === j && p) C.push(-3), p = void 0; else switch (p && (C.push(-5), p = void 0), B < j && (C.push(m.slice(B, j)), i += j - B), R) { case 0: { C.push(65533), i++; break } case 9: { for (P = Math.ceil(i / 4) * 4, C.push(-2); i++ < P;)C.push(-1); break } case 10: { C.push(-4), i = 1; break } default: p = !0, i = 1 }B = j + 1 } return E && (p && C.push(-5), a && C.push(a), C.push(null)), C } } function BRe(i) { for (; !yFt(i);); return i } function LFt(i, a) { const f = Number.parseInt(i, a); return f < 9 || f === 11 || f > 13 && f < 32 || f > 126 && f < 160 || f > 55295 && f < 57344 || f > 64975 && f < 65008 || (f & 65535) === 65535 || (f & 65535) === 65534 || f > 1114111 ? "�" : String.fromCharCode(f) } const RRe = /\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi; function jRe(i) { return i.replace(RRe, $Re) } function $Re(i, a, f) { if (a) return a; if (f.charCodeAt(0) === 35) { const v = f.charCodeAt(1), m = v === 120 || v === 88; return LFt(f.slice(m ? 2 : 1), m ? 16 : 10) } return h0t(f) || i } function sK(i) { return !i || typeof i != "object" ? "" : "position" in i || "type" in i ? MFt(i.position) : "start" in i || "end" in i ? MFt(i) : "line" in i || "column" in i ? p0t(i) : "" } function p0t(i) { return DFt(i && i.line) + ":" + DFt(i && i.column) } function MFt(i) { return p0t(i && i.start) + "-" + p0t(i && i.end) } function DFt(i) { return i && typeof i == "number" ? i : 1 } const IFt = {}.hasOwnProperty, OFt = function (i, a, f) { return typeof a != "string" && (f = a, a = void 0), zRe(f)(BRe(PRe(f).document().write(FRe()(i, a, !0)))) }; function zRe(i) { const a = { transforms: [], canContainEols: ["emphasis", "fragment", "heading", "paragraph", "strong"], enter: { autolink: E(Le), autolinkProtocol: gt, autolinkEmail: gt, atxHeading: E(jt), blockQuote: E(ye), characterEscape: gt, characterReference: gt, codeFenced: E(Vt), codeFencedFenceInfo: C, codeFencedFenceMeta: C, codeIndented: E(Vt, C), codeText: E(Ae, C), codeTextData: gt, data: gt, codeFlowValue: gt, definition: E(Gt), definitionDestinationString: C, definitionLabelString: C, definitionTitleString: C, emphasis: E(un), hardBreakEscape: E(Ke), hardBreakTrailing: E(Ke), htmlFlow: E(oe, C), htmlFlowData: gt, htmlText: E(oe, C), htmlTextData: gt, image: E(Or), label: C, link: E(Le), listItem: E(fe), listItemValue: H, listOrdered: E(Nr, R), listUnordered: E(Nr), paragraph: E(sr), reference: _n, referenceString: C, resourceDestinationString: C, resourceTitleString: C, setextHeading: E(jt), strong: E(Yn), thematicBreak: E(ur) }, exit: { atxHeading: P(), atxHeadingSequence: ht, autolink: P(), autolinkEmail: Ee, autolinkProtocol: ne, blockQuote: P(), characterEscapeValue: lt, characterReferenceMarkerHexadecimal: rr, characterReferenceMarkerNumeric: rr, characterReferenceValue: Te, codeFenced: P(st), codeFencedFence: nt, codeFencedFenceInfo: Y, codeFencedFenceMeta: it, codeFlowValue: lt, codeIndented: P(pt), codeText: P(de), codeTextData: lt, data: lt, definition: P(), definitionDestinationString: yt, definitionLabelString: Tt, definitionTitleString: kt, emphasis: P(), hardBreakEscape: P(X), hardBreakTrailing: P(X), htmlFlow: P(Rt), htmlFlowData: lt, htmlText: P(ft), htmlTextData: lt, image: P(ae), label: It, labelText: Wt, lineEnding: _t, link: P(J), listItem: P(), listOrdered: P(), listUnordered: P(), paragraph: P(), referenceString: _e, resourceDestinationString: Nt, resourceTitleString: me, resource: Ue, setextHeading: P(wt), setextHeadingLineSequence: rt, setextHeadingText: mt, strong: P(), thematicBreak: P() } }; NFt(a, (i || {}).mdastExtensions || []); const f = {}; return p; function p(gn) { let En = { type: "root", children: [] }; const Dr = { stack: [En], tokenStack: [], config: a, enter: D, exit: B, buffer: C, resume: j, setData: m, getData: b }, hr = []; let Ki = -1; for (; ++Ki < gn.length;)if (gn[Ki][1].type === "listOrdered" || gn[Ki][1].type === "listUnordered") if (gn[Ki][0] === "enter") hr.push(Ki); else { const Is = hr.pop(); Ki = v(gn, Is, Ki) } for (Ki = -1; ++Ki < gn.length;) { const Is = a[gn[Ki][0]]; IFt.call(Is, gn[Ki][1].type) && Is[gn[Ki][1].type].call(Object.assign({ sliceSerialize: gn[Ki][2].sliceSerialize }, Dr), gn[Ki][1]) } if (Dr.tokenStack.length > 0) { const Is = Dr.tokenStack[Dr.tokenStack.length - 1]; (Is[1] || PFt).call(Dr, void 0, Is[0]) } for (En.position = { start: uk(gn.length > 0 ? gn[0][1].start : { line: 1, column: 1, offset: 0 }), end: uk(gn.length > 0 ? gn[gn.length - 2][1].end : { line: 1, column: 1, offset: 0 }) }, Ki = -1; ++Ki < a.transforms.length;)En = a.transforms[Ki](En) || En; return En } function v(gn, En, Dr) { let hr = En - 1, Ki = -1, Is = !1, Ha, hi, qi, zn; for (; ++hr <= Dr;) { const Zn = gn[hr]; if (Zn[1].type === "listUnordered" || Zn[1].type === "listOrdered" || Zn[1].type === "blockQuote" ? (Zn[0] === "enter" ? Ki++ : Ki--, zn = void 0) : Zn[1].type === "lineEndingBlank" ? Zn[0] === "enter" && (Ha && !zn && !Ki && !qi && (qi = hr), zn = void 0) : Zn[1].type === "linePrefix" || Zn[1].type === "listItemValue" || Zn[1].type === "listItemMarker" || Zn[1].type === "listItemPrefix" || Zn[1].type === "listItemPrefixWhitespace" || (zn = void 0), !Ki && Zn[0] === "enter" && Zn[1].type === "listItemPrefix" || Ki === -1 && Zn[0] === "exit" && (Zn[1].type === "listUnordered" || Zn[1].type === "listOrdered")) { if (Ha) { let Pr = hr; for (hi = void 0; Pr--;) { const On = gn[Pr]; if (On[1].type === "lineEnding" || On[1].type === "lineEndingBlank") { if (On[0] === "exit") continue; hi && (gn[hi][1].type = "lineEndingBlank", Is = !0), On[1].type = "lineEnding", hi = Pr } else if (!(On[1].type === "linePrefix" || On[1].type === "blockQuotePrefix" || On[1].type === "blockQuotePrefixWhitespace" || On[1].type === "blockQuoteMarker" || On[1].type === "listItemIndent")) break } qi && (!hi || qi < hi) && (Ha._spread = !0), Ha.end = Object.assign({}, hi ? gn[hi][1].start : Zn[1].end), gn.splice(hi || hr, 0, ["exit", Ha, Zn[2]]), hr++, Dr++ } Zn[1].type === "listItemPrefix" && (Ha = { type: "listItem", _spread: !1, start: Object.assign({}, Zn[1].start) }, gn.splice(hr, 0, ["enter", Ha, Zn[2]]), hr++, Dr++, qi = void 0, zn = !0) } } return gn[En][1]._spread = Is, Dr } function m(gn, En) { f[gn] = En } function b(gn) { return f[gn] } function E(gn, En) { return Dr; function Dr(hr) { D.call(this, gn(hr), hr), En && En.call(this, hr) } } function C() { this.stack.push({ type: "fragment", children: [] }) } function D(gn, En, Dr) { return this.stack[this.stack.length - 1].children.push(gn), this.stack.push(gn), this.tokenStack.push([En, Dr]), gn.position = { start: uk(En.start) }, gn } function P(gn) { return En; function En(Dr) { gn && gn.call(this, Dr), B.call(this, Dr) } } function B(gn, En) { const Dr = this.stack.pop(), hr = this.tokenStack.pop(); if (hr) hr[0].type !== gn.type && (En ? En.call(this, gn, hr[0]) : (hr[1] || PFt).call(this, gn, hr[0])); else throw new Error("Cannot close `" + gn.type + "` (" + sK({ start: gn.start, end: gn.end }) + "): it’s not open"); return Dr.position.end = uk(gn.end), Dr } function j() { return QFe(this.stack.pop()) } function R() { m("expectingFirstListItemValue", !0) } function H(gn) { if (b("expectingFirstListItemValue")) { const En = this.stack[this.stack.length - 2]; En.start = Number.parseInt(this.sliceSerialize(gn), 10), m("expectingFirstListItemValue") } } function Y() { const gn = this.resume(), En = this.stack[this.stack.length - 1]; En.lang = gn } function it() { const gn = this.resume(), En = this.stack[this.stack.length - 1]; En.meta = gn } function nt() { b("flowCodeInside") || (this.buffer(), m("flowCodeInside", !0)) } function st() { const gn = this.resume(), En = this.stack[this.stack.length - 1]; En.value = gn.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g, ""), m("flowCodeInside") } function pt() { const gn = this.resume(), En = this.stack[this.stack.length - 1]; En.value = gn.replace(/(\r?\n|\r)$/g, "") } function Tt(gn) { const En = this.resume(), Dr = this.stack[this.stack.length - 1]; Dr.label = En, Dr.identifier = nL(this.sliceSerialize(gn)).toLowerCase() } function kt() { const gn = this.resume(), En = this.stack[this.stack.length - 1]; En.title = gn } function yt() { const gn = this.resume(), En = this.stack[this.stack.length - 1]; En.url = gn } function ht(gn) { const En = this.stack[this.stack.length - 1]; if (!En.depth) { const Dr = this.sliceSerialize(gn).length; En.depth = Dr } } function mt() { m("setextHeadingSlurpLineEnding", !0) } function rt(gn) { const En = this.stack[this.stack.length - 1]; En.depth = this.sliceSerialize(gn).charCodeAt(0) === 61 ? 1 : 2 } function wt() { m("setextHeadingSlurpLineEnding") } function gt(gn) { const En = this.stack[this.stack.length - 1]; let Dr = En.children[En.children.length - 1]; (!Dr || Dr.type !== "text") && (Dr = tr(), Dr.position = { start: uk(gn.start) }, En.children.push(Dr)), this.stack.push(Dr) } function lt(gn) { const En = this.stack.pop(); En.value += this.sliceSerialize(gn), En.position.end = uk(gn.end) } function _t(gn) { const En = this.stack[this.stack.length - 1]; if (b("atHardBreak")) { const Dr = En.children[En.children.length - 1]; Dr.position.end = uk(gn.end), m("atHardBreak"); return } !b("setextHeadingSlurpLineEnding") && a.canContainEols.includes(En.type) && (gt.call(this, gn), lt.call(this, gn)) } function X() { m("atHardBreak", !0) } function Rt() { const gn = this.resume(), En = this.stack[this.stack.length - 1]; En.value = gn } function ft() { const gn = this.resume(), En = this.stack[this.stack.length - 1]; En.value = gn } function de() { const gn = this.resume(), En = this.stack[this.stack.length - 1]; En.value = gn } function J() { const gn = this.stack[this.stack.length - 1]; if (b("inReference")) { const En = b("referenceType") || "shortcut"; gn.type += "Reference", gn.referenceType = En, delete gn.url, delete gn.title } else delete gn.identifier, delete gn.label; m("referenceType") } function ae() { const gn = this.stack[this.stack.length - 1]; if (b("inReference")) { const En = b("referenceType") || "shortcut"; gn.type += "Reference", gn.referenceType = En, delete gn.url, delete gn.title } else delete gn.identifier, delete gn.label; m("referenceType") } function Wt(gn) { const En = this.sliceSerialize(gn), Dr = this.stack[this.stack.length - 2]; Dr.label = jRe(En), Dr.identifier = nL(En).toLowerCase() } function It() { const gn = this.stack[this.stack.length - 1], En = this.resume(), Dr = this.stack[this.stack.length - 1]; if (m("inReference", !0), Dr.type === "link") { const hr = gn.children; Dr.children = hr } else Dr.alt = En } function Nt() { const gn = this.resume(), En = this.stack[this.stack.length - 1]; En.url = gn } function me() { const gn = this.resume(), En = this.stack[this.stack.length - 1]; En.title = gn } function Ue() { m("inReference") } function _n() { m("referenceType", "collapsed") } function _e(gn) { const En = this.resume(), Dr = this.stack[this.stack.length - 1]; Dr.label = En, Dr.identifier = nL(this.sliceSerialize(gn)).toLowerCase(), m("referenceType", "full") } function rr(gn) { m("characterReferenceType", gn.type) } function Te(gn) { const En = this.sliceSerialize(gn), Dr = b("characterReferenceType"); let hr; Dr ? (hr = LFt(En, Dr === "characterReferenceMarkerNumeric" ? 10 : 16), m("characterReferenceType")) : hr = h0t(En); const Ki = this.stack.pop(); Ki.value += hr, Ki.position.end = uk(gn.end) } function ne(gn) { lt.call(this, gn); const En = this.stack[this.stack.length - 1]; En.url = this.sliceSerialize(gn) } function Ee(gn) { lt.call(this, gn); const En = this.stack[this.stack.length - 1]; En.url = "mailto:" + this.sliceSerialize(gn) } function ye() { return { type: "blockquote", children: [] } } function Vt() { return { type: "code", lang: null, meta: null, value: "" } } function Ae() { return { type: "inlineCode", value: "" } } function Gt() { return { type: "definition", identifier: "", label: null, title: null, url: "" } } function un() { return { type: "emphasis", children: [] } } function jt() { return { type: "heading", depth: void 0, children: [] } } function Ke() { return { type: "break" } } function oe() { return { type: "html", value: "" } } function Or() { return { type: "image", title: null, url: "", alt: null } } function Le() { return { type: "link", title: null, url: "", children: [] } } function Nr(gn) { return { type: "list", ordered: gn.type === "listOrdered", start: null, spread: gn._spread, children: [] } } function fe(gn) { return { type: "listItem", spread: gn._spread, checked: null, children: [] } } function sr() { return { type: "paragraph", children: [] } } function Yn() { return { type: "strong", children: [] } } function tr() { return { type: "text", value: "" } } function ur() { return { type: "thematicBreak" } } } function uk(i) { return { line: i.line, column: i.column, offset: i.offset } } function NFt(i, a) { let f = -1; for (; ++f < a.length;) { const p = a[f]; Array.isArray(p) ? NFt(i, p) : qRe(i, p) } } function qRe(i, a) { let f; for (f in a) if (IFt.call(a, f)) { if (f === "canContainEols") { const p = a[f]; p && i[f].push(...p) } else if (f === "transforms") { const p = a[f]; p && i[f].push(...p) } else if (f === "enter" || f === "exit") { const p = a[f]; p && Object.assign(i[f], p) } } } function PFt(i, a) { throw i ? new Error("Cannot close `" + i.type + "` (" + sK({ start: i.start, end: i.end }) + "): a different token (`" + a.type + "`, " + sK({ start: a.start, end: a.end }) + ") is open") : new Error("Cannot close document, a token (`" + a.type + "`, " + sK({ start: a.start, end: a.end }) + ") is still open") } function HRe(i) {
        const a = i.replace(/\n{2,}/g, `
    `); return fA(a)
    } function VRe(i) {
        const a = HRe(i), { children: f } = OFt(a), p = [[]]; let v = 0; function m(b, E = "normal") {
            b.type === "text" ? b.value.split(`
    `).forEach((D, P) => { P !== 0 && (v++, p.push([])), D.split(" ").forEach(B => { B && p[v].push({ content: B, type: E }) }) }) : (b.type === "strong" || b.type === "emphasis") && b.children.forEach(C => { m(C, b.type) })
        } return f.forEach(b => { b.type === "paragraph" && b.children.forEach(E => { m(E) }) }), p
    } function GRe(i) { const { children: a } = OFt(i); function f(p) { return p.type === "text" ? p.value.replace(/\n/g, "<br/>") : p.type === "strong" ? `<strong>${p.children.map(f).join("")}</strong>` : p.type === "emphasis" ? `<em>${p.children.map(f).join("")}</em>` : p.type === "paragraph" ? `<p>${p.children.map(f).join("")}</p>` : `Unsupported markdown: ${p.type}` } return a.map(f).join("") } function URe(i, a) { a && i.attr("style", a) } function WRe(i, a, f, p, v = !1) {
        const m = i.append("foreignObject"), b = m.append("xhtml:div"), E = a.label, C = a.isNode ? "nodeLabel" : "edgeLabel"; b.html(`
        <span class="${C} ${p}" ` + (a.labelStyle ? 'style="' + a.labelStyle + '"' : "") + ">" + E + "</span>"), URe(b, a.labelStyle), b.style("display", "table-cell"), b.style("white-space", "nowrap"), b.style("max-width", f + "px"), b.attr("xmlns", "http://www.w3.org/1999/xhtml"), v && b.attr("class", "labelBkg"); let D = b.node().getBoundingClientRect(); return D.width === f && (b.style("display", "table"), b.style("white-space", "break-spaces"), b.style("width", f + "px"), D = b.node().getBoundingClientRect()), m.style("width", D.width), m.style("height", D.height), m.node()
    } function FFt(i, a, f) { return i.append("tspan").attr("class", "text-outer-tspan").attr("x", 0).attr("y", a * f - .1 + "em").attr("dy", f + "em") } function BFt(i, a, f) { const p = i.append("text"), v = FFt(p, 1, a); RFt(v, [{ content: f, type: "normal" }]); const m = v.node().getComputedTextLength(); return p.remove(), m } function KRe(i, a, f, p = !1) { const m = a.append("g"); let b = m.insert("rect").attr("class", "background"); const E = m.append("text").attr("y", "-10.1"); let C = 0; if (f.forEach(D => { let P = D.map(Y => Y.content).join(" "), B = "", j = [], R = 0; if (BFt(m, 1.1, P) <= i) j.push(P); else { for (let Y = 0; Y <= P.length; Y++)if (B = P.slice(R, Y), zt.info(B, R, Y), BFt(m, 1.1, B) > i) { const nt = P.slice(R, Y).lastIndexOf(" "); nt > -1 && (Y = R + nt + 1), j.push(P.slice(R, Y).trim()), R = Y, B = null } B != null && j.push(B) } const H = j.map(Y => ({ content: Y, type: D.type })); for (const Y of H) { let it = FFt(E, C, 1.1); RFt(it, [Y]), C++ } }), p) { const D = E.node().getBBox(), P = 2; return b.attr("x", -P).attr("y", -P).attr("width", D.width + 2 * P).attr("height", D.height + 2 * P), m.node() } else return E.node() } function RFt(i, a) { i.text(""), a.forEach((f, p) => { const v = i.append("tspan").attr("font-style", f.type === "em" ? "italic" : "normal").attr("class", "text-inner-tspan").attr("font-weight", f.type === "strong" ? "bold" : "normal"); p === 0 ? v.text(f.content) : v.text(" " + f.content) }) } const aK = (i, a = "", { style: f = "", isTitle: p = !1, classes: v = "", useHtmlLabels: m = !0, isNode: b = !0, width: E, addSvgBackground: C = !1 } = {}) => { if (zt.info("createText", a, f, p, v, m, b, C), m) { const D = GRe(a), P = { isNode: b, label: KN(D).replace(/fa[blrs]?:fa-[\w-]+/g, j => `<i class='${j.replace(":", " ")}'></i>`), labelStyle: f.replace("fill:", "color:") }; return WRe(i, P, E, v, C) } else { const D = VRe(a); return KRe(E, i, D, C) } }, Rd = async (i, a, f, p) => { let v; const m = a.useHtmlLabels || h1(Oe().flowchart.htmlLabels); f ? v = f : v = "node default"; const b = i.insert("g").attr("class", v).attr("id", a.domId || a.id), E = b.insert("g").attr("class", "label").attr("style", a.labelStyle); let C; a.labelText === void 0 ? C = "" : C = typeof a.labelText == "string" ? a.labelText : a.labelText[0]; const D = E.node(); let P; a.labelType === "markdown" ? P = aK(E, sg(KN(C), Oe()), { useHtmlLabels: m, width: a.width || Oe().flowchart.wrappingWidth, classes: "markdown-node-label" }) : P = D.appendChild(lp(sg(KN(C), Oe()), a.labelStyle, !1, p)); let B = P.getBBox(); const j = a.padding / 2; if (h1(Oe().flowchart.htmlLabels)) { const R = P.children[0], H = Mr(P), Y = R.getElementsByTagName("img"); if (Y) { const it = C.replace(/<img[^>]*>/g, "").trim() === ""; await Promise.all([...Y].map(nt => new Promise(st => nt.addEventListener("load", function () { if (nt.style.display = "flex", nt.style.flexDirection = "column", it) { const pt = Oe().fontSize ? Oe().fontSize : window.getComputedStyle(document.body).fontSize, Tt = 5; nt.style.width = parseInt(pt, 10) * Tt + "px" } else nt.style.width = "100%"; st(nt) })))) } B = R.getBoundingClientRect(), H.attr("width", B.width), H.attr("height", B.height) } return m ? E.attr("transform", "translate(" + -B.width / 2 + ", " + -B.height / 2 + ")") : E.attr("transform", "translate(0, " + -B.height / 2 + ")"), a.centerLabel && E.attr("transform", "translate(" + -B.width / 2 + ", " + -B.height / 2 + ")"), E.insert("rect", ":first-child"), { shapeSvg: b, bbox: B, halfPadding: j, label: E } }, af = (i, a) => { const f = a.node().getBBox(); i.width = f.width, i.height = f.height }; function A5(i, a, f, p) { return i.insert("polygon", ":first-child").attr("points", p.map(function (v) { return v.x + "," + v.y }).join(" ")).attr("class", "label-container").attr("transform", "translate(" + -a / 2 + "," + f / 2 + ")") } let nc = {}, sm = {}, jFt = {}; const YRe = () => { sm = {}, jFt = {}, nc = {} }, oK = (i, a) => (zt.trace("In isDecendant", a, " ", i, " = ", sm[a].includes(i)), !!sm[a].includes(i)), XRe = (i, a) => (zt.info("Decendants of ", a, " is ", sm[a]), zt.info("Edge is ", i), i.v === a || i.w === a ? !1 : sm[a] ? sm[a].includes(i.v) || oK(i.v, a) || oK(i.w, a) || sm[a].includes(i.w) : (zt.debug("Tilt, ", a, ",not in decendants"), !1)), $Ft = (i, a, f, p) => { zt.warn("Copying children of ", i, "root", p, "data", a.node(i), p); const v = a.children(i) || []; i !== p && v.push(i), zt.warn("Copying (nodes) clusterId", i, "nodes", v), v.forEach(m => { if (a.children(m).length > 0) $Ft(m, a, f, p); else { const b = a.node(m); zt.info("cp ", m, " to ", p, " with parent ", i), f.setNode(m, b), p !== a.parent(m) && (zt.warn("Setting parent", m, a.parent(m)), f.setParent(m, a.parent(m))), i !== p && m !== i ? (zt.debug("Setting parent", m, i), f.setParent(m, i)) : (zt.info("In copy ", i, "root", p, "data", a.node(i), p), zt.debug("Not Setting parent for node=", m, "cluster!==rootId", i !== p, "node!==clusterId", m !== i)); const E = a.edges(m); zt.debug("Copying Edges", E), E.forEach(C => { zt.info("Edge", C); const D = a.edge(C.v, C.w, C.name); zt.info("Edge data", D, p); try { XRe(C, p) ? (zt.info("Copying as ", C.v, C.w, D, C.name), f.setEdge(C.v, C.w, D, C.name), zt.info("newGraph edges ", f.edges(), f.edge(f.edges()[0]))) : zt.info("Skipping copy of edge ", C.v, "-->", C.w, " rootId: ", p, " clusterId:", i) } catch (P) { zt.error(P) } }) } zt.debug("Removing node", m), a.removeNode(m) }) }, zFt = (i, a) => { const f = a.children(i); let p = [...f]; for (const v of f) jFt[v] = i, p = [...p, ...zFt(v, a)]; return p }, fP = (i, a) => { zt.trace("Searching", i); const f = a.children(i); if (zt.trace("Searching children of id ", i, f), f.length < 1) return zt.trace("This is a valid node", i), i; for (const p of f) { const v = fP(p, a); if (v) return zt.trace("Found replacement for", i, " => ", v), v } }, cK = i => !nc[i] || !nc[i].externalConnections ? i : nc[i] ? nc[i].id : i, QRe = (i, a) => { if (!i || a > 10) { zt.debug("Opting out, no graph "); return } else zt.debug("Opting in, graph "); i.nodes().forEach(function (f) { i.children(f).length > 0 && (zt.warn("Cluster identified", f, " Replacement id in edges: ", fP(f, i)), sm[f] = zFt(f, i), nc[f] = { id: fP(f, i), clusterData: i.node(f) }) }), i.nodes().forEach(function (f) { const p = i.children(f), v = i.edges(); p.length > 0 ? (zt.debug("Cluster identified", f, sm), v.forEach(m => { if (m.v !== f && m.w !== f) { const b = oK(m.v, f), E = oK(m.w, f); b ^ E && (zt.warn("Edge: ", m, " leaves cluster ", f), zt.warn("Decendants of XXX ", f, ": ", sm[f]), nc[f].externalConnections = !0) } })) : zt.debug("Not a cluster ", f, sm) }), i.edges().forEach(function (f) { const p = i.edge(f); zt.warn("Edge " + f.v + " -> " + f.w + ": " + JSON.stringify(f)), zt.warn("Edge " + f.v + " -> " + f.w + ": " + JSON.stringify(i.edge(f))); let v = f.v, m = f.w; if (zt.warn("Fix XXX", nc, "ids:", f.v, f.w, "Translating: ", nc[f.v], " --- ", nc[f.w]), nc[f.v] && nc[f.w] && nc[f.v] === nc[f.w]) { zt.warn("Fixing and trixing link to self - removing XXX", f.v, f.w, f.name), zt.warn("Fixing and trixing - removing XXX", f.v, f.w, f.name), v = cK(f.v), m = cK(f.w), i.removeEdge(f.v, f.w, f.name); const b = f.w + "---" + f.v; i.setNode(b, { domId: b, id: b, labelStyle: "", labelText: p.label, padding: 0, shape: "labelRect", style: "" }); const E = JSON.parse(JSON.stringify(p)), C = JSON.parse(JSON.stringify(p)); E.label = "", E.arrowTypeEnd = "none", C.label = "", E.fromCluster = f.v, C.toCluster = f.v, i.setEdge(v, b, E, f.name + "-cyclic-special"), i.setEdge(b, m, C, f.name + "-cyclic-special") } else (nc[f.v] || nc[f.w]) && (zt.warn("Fixing and trixing - removing XXX", f.v, f.w, f.name), v = cK(f.v), m = cK(f.w), i.removeEdge(f.v, f.w, f.name), v !== f.v && (p.fromCluster = f.v), m !== f.w && (p.toCluster = f.w), zt.warn("Fix Replacing with XXX", v, m, f.name), i.setEdge(v, m, p, f.name)) }), zt.warn("Adjusted Graph", S5(i)), qFt(i, 0), zt.trace(nc) }, qFt = (i, a) => { if (zt.warn("extractor - ", a, S5(i), i.children("D")), a > 10) { zt.error("Bailing out"); return } let f = i.nodes(), p = !1; for (const v of f) { const m = i.children(v); p = p || m.length > 0 } if (!p) { zt.debug("Done, no node has children", i.nodes()); return } zt.debug("Nodes = ", f, a); for (const v of f) if (zt.debug("Extracting node", v, nc, nc[v] && !nc[v].externalConnections, !i.parent(v), i.node(v), i.children("D"), " Depth ", a), !nc[v]) zt.debug("Not a cluster", v, a); else if (!nc[v].externalConnections && i.children(v) && i.children(v).length > 0) { zt.warn("Cluster without external connections, without a parent and with children", v, a); let b = i.graph().rankdir === "TB" ? "LR" : "TB"; nc[v] && nc[v].clusterData && nc[v].clusterData.dir && (b = nc[v].clusterData.dir, zt.warn("Fixing dir", nc[v].clusterData.dir, b)); const E = new jf({ multigraph: !0, compound: !0 }).setGraph({ rankdir: b, nodesep: 50, ranksep: 50, marginx: 8, marginy: 8 }).setDefaultEdgeLabel(function () { return {} }); zt.warn("Old graph before copy", S5(i)), $Ft(v, i, E, v), i.setNode(v, { clusterNode: !0, id: v, clusterData: nc[v].clusterData, labelText: nc[v].labelText, graph: E }), zt.warn("New graph after copy node: (", v, ")", S5(E)), zt.debug("Old graph after copy", S5(i)) } else zt.warn("Cluster ** ", v, " **not meeting the criteria !externalConnections:", !nc[v].externalConnections, " no parent: ", !i.parent(v), " children ", i.children(v) && i.children(v).length > 0, i.children("D"), a), zt.debug(nc); f = i.nodes(), zt.warn("New list of nodes", f); for (const v of f) { const m = i.node(v); zt.warn(" Now next level", v, m), m.clusterNode && qFt(m.graph, a + 1) } }, HFt = (i, a) => { if (a.length === 0) return []; let f = Object.assign(a); return a.forEach(p => { const v = i.children(p), m = HFt(i, v); f = [...f, ...m] }), f }, ZRe = i => HFt(i, i.children()); function JRe(i, a) { return i.intersect(a) } function VFt(i, a, f, p) { var v = i.x, m = i.y, b = v - p.x, E = m - p.y, C = Math.sqrt(a * a * E * E + f * f * b * b), D = Math.abs(a * f * b / C); p.x < v && (D = -D); var P = Math.abs(a * f * E / C); return p.y < m && (P = -P), { x: v + D, y: m + P } } function tje(i, a, f) { return VFt(i, a, a, f) } function eje(i, a, f, p) { var v, m, b, E, C, D, P, B, j, R, H, Y, it, nt, st; if (v = a.y - i.y, b = i.x - a.x, C = a.x * i.y - i.x * a.y, j = v * f.x + b * f.y + C, R = v * p.x + b * p.y + C, !(j !== 0 && R !== 0 && GFt(j, R)) && (m = p.y - f.y, E = f.x - p.x, D = p.x * f.y - f.x * p.y, P = m * i.x + E * i.y + D, B = m * a.x + E * a.y + D, !(P !== 0 && B !== 0 && GFt(P, B)) && (H = v * E - m * b, H !== 0))) return Y = Math.abs(H / 2), it = b * D - E * C, nt = it < 0 ? (it - Y) / H : (it + Y) / H, it = m * C - v * D, st = it < 0 ? (it - Y) / H : (it + Y) / H, { x: nt, y: st } } function GFt(i, a) { return i * a > 0 } function nje(i, a, f) { var p = i.x, v = i.y, m = [], b = Number.POSITIVE_INFINITY, E = Number.POSITIVE_INFINITY; typeof a.forEach == "function" ? a.forEach(function (H) { b = Math.min(b, H.x), E = Math.min(E, H.y) }) : (b = Math.min(b, a.x), E = Math.min(E, a.y)); for (var C = p - i.width / 2 - b, D = v - i.height / 2 - E, P = 0; P < a.length; P++) { var B = a[P], j = a[P < a.length - 1 ? P + 1 : 0], R = eje(i, f, { x: C + B.x, y: D + B.y }, { x: C + j.x, y: D + j.y }); R && m.push(R) } return m.length ? (m.length > 1 && m.sort(function (H, Y) { var it = H.x - f.x, nt = H.y - f.y, st = Math.sqrt(it * it + nt * nt), pt = Y.x - f.x, Tt = Y.y - f.y, kt = Math.sqrt(pt * pt + Tt * Tt); return st < kt ? -1 : st === kt ? 0 : 1 }), m[0]) : i } const dP = (i, a) => { var f = i.x, p = i.y, v = a.x - f, m = a.y - p, b = i.width / 2, E = i.height / 2, C, D; return Math.abs(m) * b > Math.abs(v) * E ? (m < 0 && (E = -E), C = m === 0 ? 0 : E * v / m, D = E) : (v < 0 && (b = -b), C = b, D = v === 0 ? 0 : b * m / v), { x: f + C, y: p + D } }, Ah = { node: JRe, circle: tje, ellipse: VFt, polygon: nje, rect: dP }, rje = async (i, a) => { a.useHtmlLabels || Oe().flowchart.htmlLabels || (a.centerLabel = !0); const { shapeSvg: p, bbox: v, halfPadding: m } = await Rd(i, a, "node " + a.classes, !0); zt.info("Classes = ", a.classes); const b = p.insert("rect", ":first-child"); return b.attr("rx", a.rx).attr("ry", a.ry).attr("x", -v.width / 2 - m).attr("y", -v.height / 2 - m).attr("width", v.width + a.padding).attr("height", v.height + a.padding), af(a, b), a.intersect = function (E) { return Ah.rect(a, E) }, p }; let UFt = 0; const ije = function (i, a, f, p, v) { const m = function (st) { switch (st) { case v.db.relationType.AGGREGATION: return "aggregation"; case v.db.relationType.EXTENSION: return "extension"; case v.db.relationType.COMPOSITION: return "composition"; case v.db.relationType.DEPENDENCY: return "dependency"; case v.db.relationType.LOLLIPOP: return "lollipop" } }; a.points = a.points.filter(st => !Number.isNaN(st.y)); const b = a.points, E = Y9().x(function (st) { return st.x }).y(function (st) { return st.y }).curve(CA), C = i.append("path").attr("d", E(b)).attr("id", "edge" + UFt).attr("class", "relation"); let D = ""; p.arrowMarkerAbsolute && (D = window.location.protocol + "//" + window.location.host + window.location.pathname + window.location.search, D = D.replace(/\(/g, "\\("), D = D.replace(/\)/g, "\\)")), f.relation.lineType == 1 && C.attr("class", "relation dashed-line"), f.relation.lineType == 10 && C.attr("class", "relation dotted-line"), f.relation.type1 !== "none" && C.attr("marker-start", "url(" + D + "#" + m(f.relation.type1) + "Start)"), f.relation.type2 !== "none" && C.attr("marker-end", "url(" + D + "#" + m(f.relation.type2) + "End)"); let P, B; const j = a.points.length; let R = lo.calcLabelPosition(a.points); P = R.x, B = R.y; let H, Y, it, nt; if (j % 2 !== 0 && j > 1) { let st = lo.calcCardinalityPosition(f.relation.type1 !== "none", a.points, a.points[0]), pt = lo.calcCardinalityPosition(f.relation.type2 !== "none", a.points, a.points[j - 1]); zt.debug("cardinality_1_point " + JSON.stringify(st)), zt.debug("cardinality_2_point " + JSON.stringify(pt)), H = st.x, Y = st.y, it = pt.x, nt = pt.y } if (f.title !== void 0) { const st = i.append("g").attr("class", "classLabel"), pt = st.append("text").attr("class", "label").attr("x", P).attr("y", B).attr("fill", "red").attr("text-anchor", "middle").text(f.title); window.label = pt; const Tt = pt.node().getBBox(); st.insert("rect", ":first-child").attr("class", "box").attr("x", Tt.x - p.padding / 2).attr("y", Tt.y - p.padding / 2).attr("width", Tt.width + p.padding).attr("height", Tt.height + p.padding) } zt.info("Rendering relation " + JSON.stringify(f)), f.relationTitle1 !== void 0 && f.relationTitle1 !== "none" && i.append("g").attr("class", "cardinality").append("text").attr("class", "type1").attr("x", H).attr("y", Y).attr("fill", "black").attr("font-size", "6").text(f.relationTitle1), f.relationTitle2 !== void 0 && f.relationTitle2 !== "none" && i.append("g").attr("class", "cardinality").append("text").attr("class", "type2").attr("x", it).attr("y", nt).attr("fill", "black").attr("font-size", "6").text(f.relationTitle2), UFt++ }, sje = function (i, a, f, p) { zt.debug("Rendering class ", a, f); const v = a.id, m = { id: v, label: a.id, width: 0, height: 0 }, b = i.append("g").attr("id", p.db.lookUpDomId(v)).attr("class", "classGroup"); let E; a.link ? E = b.append("svg:a").attr("xlink:href", a.link).attr("target", a.linkTarget).append("text").attr("y", f.textHeight + f.padding).attr("x", 0) : E = b.append("text").attr("y", f.textHeight + f.padding).attr("x", 0); let C = !0; a.annotations.forEach(function (kt) { const yt = E.append("tspan").text("«" + kt + "»"); C || yt.attr("dy", f.textHeight), C = !1 }); let D = WFt(a); const P = E.append("tspan").text(D).attr("class", "title"); C || P.attr("dy", f.textHeight); const B = E.node().getBBox().height, j = b.append("line").attr("x1", 0).attr("y1", f.padding + B + f.dividerMargin / 2).attr("y2", f.padding + B + f.dividerMargin / 2), R = b.append("text").attr("x", f.padding).attr("y", B + f.dividerMargin + f.textHeight).attr("fill", "white").attr("class", "classText"); C = !0, a.members.forEach(function (kt) { KFt(R, kt, C, f), C = !1 }); const H = R.node().getBBox(), Y = b.append("line").attr("x1", 0).attr("y1", f.padding + B + f.dividerMargin + H.height).attr("y2", f.padding + B + f.dividerMargin + H.height), it = b.append("text").attr("x", f.padding).attr("y", B + 2 * f.dividerMargin + H.height + f.textHeight).attr("fill", "white").attr("class", "classText"); C = !0, a.methods.forEach(function (kt) { KFt(it, kt, C, f), C = !1 }); const nt = b.node().getBBox(); var st = " "; a.cssClasses.length > 0 && (st = st + a.cssClasses.join(" ")); const Tt = b.insert("rect", ":first-child").attr("x", 0).attr("y", 0).attr("width", nt.width + 2 * f.padding).attr("height", nt.height + f.padding + .5 * f.dividerMargin).attr("class", st).node().getBBox().width; return E.node().childNodes.forEach(function (kt) { kt.setAttribute("x", (Tt - kt.getBBox().width) / 2) }), a.tooltip && E.insert("title").text(a.tooltip), j.attr("x2", Tt), Y.attr("x2", Tt), m.width = Tt, m.height = nt.height + f.padding + .5 * f.dividerMargin, m }, WFt = function (i) { let a = i.id; return i.type && (a += "<" + i.type + ">"), a }, aje = function (i, a, f, p) {
        zt.debug("Rendering note ", a, f); const v = a.id, m = { id: v, text: a.text, width: 0, height: 0 }, b = i.append("g").attr("id", v).attr("class", "classGroup"); let E = b.append("text").attr("y", f.textHeight + f.padding).attr("x", 0); const C = JSON.parse(`"${a.text}"`).split(`
    `); C.forEach(function (j) { zt.debug(`Adding line: ${j}`), E.append("tspan").text(j).attr("class", "title").attr("dy", f.textHeight) }); const D = b.node().getBBox(), B = b.insert("rect", ":first-child").attr("x", 0).attr("y", 0).attr("width", D.width + 2 * f.padding).attr("height", D.height + C.length * f.textHeight + f.padding + .5 * f.dividerMargin).node().getBBox().width; return E.node().childNodes.forEach(function (j) { j.setAttribute("x", (B - j.getBBox().width) / 2) }), m.width = B, m.height = D.height + C.length * f.textHeight + f.padding + .5 * f.dividerMargin, m
    }, uK = function (i) { let a = "", f = "", p = "", v = "", m = i.substring(0, 1), b = i.substring(i.length - 1, i.length); m.match(/[#+~-]/) && (v = m); let E = /[\s\w)~]/; b.match(E) || (f = YFt(b)); const C = v === "" ? 0 : 1; let D = f === "" ? i.length : i.length - 1; i = i.substring(C, D); const P = i.indexOf("("), B = i.indexOf(")"); if (P > 1 && B > P && B <= i.length) { let R = i.substring(0, P).trim(); const H = i.substring(P + 1, B); if (a = v + R + "(" + BN(H.trim()) + ")", B < i.length) { let Y = i.substring(B + 1, B + 2); f === "" && !Y.match(E) ? (f = YFt(Y), p = i.substring(B + 2).trim()) : p = i.substring(B + 1).trim(), p !== "" && (p.charAt(0) === ":" && (p = p.substring(1).trim()), p = " : " + BN(p), a += p) } } else a = v + BN(i); return { displayText: a, cssStyle: f } }, KFt = function (i, a, f, p) { let v = uK(a); const m = i.append("tspan").attr("x", p.padding).text(v.displayText); v.cssStyle !== "" && m.attr("style", v.cssStyle), f || m.attr("dy", p.textHeight) }, YFt = function (i) { switch (i) { case "*": return "font-style:italic;"; case "$": return "text-decoration:underline;"; default: return "" } }, b0t = { getClassTitleString: WFt, drawClass: sje, drawEdge: ije, drawNote: aje, parseMember: uK }, XFt = async (i, a) => { const { shapeSvg: f, bbox: p } = await Rd(i, a, void 0, !0), v = p.width + a.padding, m = p.height + a.padding, b = v + m, E = [{ x: b / 2, y: 0 }, { x: b, y: -b / 2 }, { x: b / 2, y: -b }, { x: 0, y: -b / 2 }]; zt.info("Question main (Circle)"); const C = A5(f, b, b, E); return C.attr("style", a.style), af(a, C), a.intersect = function (D) { return zt.warn("Intersect called"), Ah.polygon(a, E, D) }, f }, oje = (i, a) => { const f = i.insert("g").attr("class", "node default").attr("id", a.domId || a.id), p = 28, v = [{ x: 0, y: p / 2 }, { x: p / 2, y: 0 }, { x: 0, y: -p / 2 }, { x: -p / 2, y: 0 }]; return f.insert("polygon", ":first-child").attr("points", v.map(function (b) { return b.x + "," + b.y }).join(" ")).attr("class", "state-start").attr("r", 7).attr("width", 28).attr("height", 28), a.width = 28, a.height = 28, a.intersect = function (b) { return Ah.circle(a, 14, b) }, f }, cje = async (i, a) => { const { shapeSvg: f, bbox: p } = await Rd(i, a, void 0, !0), v = 4, m = p.height + a.padding, b = m / v, E = p.width + 2 * b + a.padding, C = [{ x: b, y: 0 }, { x: E - b, y: 0 }, { x: E, y: -m / 2 }, { x: E - b, y: -m }, { x: b, y: -m }, { x: 0, y: -m / 2 }], D = A5(f, E, m, C); return D.attr("style", a.style), af(a, D), a.intersect = function (P) { return Ah.polygon(a, C, P) }, f }, uje = async (i, a) => { const { shapeSvg: f, bbox: p } = await Rd(i, a, void 0, !0), v = p.width + a.padding, m = p.height + a.padding, b = [{ x: -m / 2, y: 0 }, { x: v, y: 0 }, { x: v, y: -m }, { x: -m / 2, y: -m }, { x: 0, y: -m / 2 }]; return A5(f, v, m, b).attr("style", a.style), a.width = v + m, a.height = m, a.intersect = function (C) { return Ah.polygon(a, b, C) }, f }, lje = async (i, a) => { const { shapeSvg: f, bbox: p } = await Rd(i, a, void 0, !0), v = p.width + a.padding, m = p.height + a.padding, b = [{ x: -2 * m / 6, y: 0 }, { x: v - m / 6, y: 0 }, { x: v + 2 * m / 6, y: -m }, { x: m / 6, y: -m }], E = A5(f, v, m, b); return E.attr("style", a.style), af(a, E), a.intersect = function (C) { return Ah.polygon(a, b, C) }, f }, hje = async (i, a) => { const { shapeSvg: f, bbox: p } = await Rd(i, a, void 0, !0), v = p.width + a.padding, m = p.height + a.padding, b = [{ x: 2 * m / 6, y: 0 }, { x: v + m / 6, y: 0 }, { x: v - 2 * m / 6, y: -m }, { x: -m / 6, y: -m }], E = A5(f, v, m, b); return E.attr("style", a.style), af(a, E), a.intersect = function (C) { return Ah.polygon(a, b, C) }, f }, fje = async (i, a) => { const { shapeSvg: f, bbox: p } = await Rd(i, a, void 0, !0), v = p.width + a.padding, m = p.height + a.padding, b = [{ x: -2 * m / 6, y: 0 }, { x: v + 2 * m / 6, y: 0 }, { x: v - m / 6, y: -m }, { x: m / 6, y: -m }], E = A5(f, v, m, b); return E.attr("style", a.style), af(a, E), a.intersect = function (C) { return Ah.polygon(a, b, C) }, f }, dje = async (i, a) => { const { shapeSvg: f, bbox: p } = await Rd(i, a, void 0, !0), v = p.width + a.padding, m = p.height + a.padding, b = [{ x: m / 6, y: 0 }, { x: v - m / 6, y: 0 }, { x: v + 2 * m / 6, y: -m }, { x: -2 * m / 6, y: -m }], E = A5(f, v, m, b); return E.attr("style", a.style), af(a, E), a.intersect = function (C) { return Ah.polygon(a, b, C) }, f }, gje = async (i, a) => { const { shapeSvg: f, bbox: p } = await Rd(i, a, void 0, !0), v = p.width + a.padding, m = p.height + a.padding, b = [{ x: 0, y: 0 }, { x: v + m / 2, y: 0 }, { x: v, y: -m / 2 }, { x: v + m / 2, y: -m }, { x: 0, y: -m }], E = A5(f, v, m, b); return E.attr("style", a.style), af(a, E), a.intersect = function (C) { return Ah.polygon(a, b, C) }, f }, pje = async (i, a) => { const { shapeSvg: f, bbox: p } = await Rd(i, a, void 0, !0), v = p.width + a.padding, m = v / 2, b = m / (2.5 + v / 50), E = p.height + b + a.padding, C = "M 0," + b + " a " + m + "," + b + " 0,0,0 " + v + " 0 a " + m + "," + b + " 0,0,0 " + -v + " 0 l 0," + E + " a " + m + "," + b + " 0,0,0 " + v + " 0 l 0," + -E, D = f.attr("label-offset-y", b).insert("path", ":first-child").attr("style", a.style).attr("d", C).attr("transform", "translate(" + -v / 2 + "," + -(E / 2 + b) + ")"); return af(a, D), a.intersect = function (P) { const B = Ah.rect(a, P), j = B.x - a.x; if (m != 0 && (Math.abs(j) < a.width / 2 || Math.abs(j) == a.width / 2 && Math.abs(B.y - a.y) > a.height / 2 - b)) { let R = b * b * (1 - j * j / (m * m)); R != 0 && (R = Math.sqrt(R)), R = b - R, P.y - a.y > 0 && (R = -R), B.y += R } return B }, f }, bje = async (i, a) => { const { shapeSvg: f, bbox: p, halfPadding: v } = await Rd(i, a, "node " + a.classes, !0), m = f.insert("rect", ":first-child"), b = p.width + a.padding, E = p.height + a.padding; if (m.attr("class", "basic label-container").attr("style", a.style).attr("rx", a.rx).attr("ry", a.ry).attr("x", -p.width / 2 - v).attr("y", -p.height / 2 - v).attr("width", b).attr("height", E), a.props) { const C = new Set(Object.keys(a.props)); a.props.borders && (QFt(m, a.props.borders, b, E), C.delete("borders")), C.forEach(D => { zt.warn(`Unknown node property ${D}`) }) } return af(a, m), a.intersect = function (C) { return Ah.rect(a, C) }, f }, vje = async (i, a) => { const { shapeSvg: f } = await Rd(i, a, "label", !0); zt.trace("Classes = ", a.classes); const p = f.insert("rect", ":first-child"), v = 0, m = 0; if (p.attr("width", v).attr("height", m), f.attr("class", "label edgeLabel"), a.props) { const b = new Set(Object.keys(a.props)); a.props.borders && (QFt(p, a.props.borders, v, m), b.delete("borders")), b.forEach(E => { zt.warn(`Unknown node property ${E}`) }) } return af(a, p), a.intersect = function (b) { return Ah.rect(a, b) }, f }; function QFt(i, a, f, p) { const v = [], m = E => { v.push(E, 0) }, b = E => { v.push(0, E) }; a.includes("t") ? (zt.debug("add top border"), m(f)) : b(f), a.includes("r") ? (zt.debug("add right border"), m(p)) : b(p), a.includes("b") ? (zt.debug("add bottom border"), m(f)) : b(f), a.includes("l") ? (zt.debug("add left border"), m(p)) : b(p), i.attr("stroke-dasharray", v.join(" ")) } const wje = (i, a) => { let f; a.classes ? f = "node " + a.classes : f = "node default"; const p = i.insert("g").attr("class", f).attr("id", a.domId || a.id), v = p.insert("rect", ":first-child"), m = p.insert("line"), b = p.insert("g").attr("class", "label"), E = a.labelText.flat ? a.labelText.flat() : a.labelText; let C = ""; typeof E == "object" ? C = E[0] : C = E, zt.info("Label text abc79", C, E, typeof E == "object"); const D = b.node().appendChild(lp(C, a.labelStyle, !0, !0)); let P = { width: 0, height: 0 }; if (h1(Oe().flowchart.htmlLabels)) { const Y = D.children[0], it = Mr(D); P = Y.getBoundingClientRect(), it.attr("width", P.width), it.attr("height", P.height) } zt.info("Text 2", E); const B = E.slice(1, E.length); let j = D.getBBox(); const R = b.node().appendChild(lp(B.join ? B.join("<br/>") : B, a.labelStyle, !0, !0)); if (h1(Oe().flowchart.htmlLabels)) { const Y = R.children[0], it = Mr(R); P = Y.getBoundingClientRect(), it.attr("width", P.width), it.attr("height", P.height) } const H = a.padding / 2; return Mr(R).attr("transform", "translate( " + (P.width > j.width ? 0 : (j.width - P.width) / 2) + ", " + (j.height + H + 5) + ")"), Mr(D).attr("transform", "translate( " + (P.width < j.width ? 0 : -(j.width - P.width) / 2) + ", 0)"), P = b.node().getBBox(), b.attr("transform", "translate(" + -P.width / 2 + ", " + (-P.height / 2 - H + 3) + ")"), v.attr("class", "outer title-state").attr("x", -P.width / 2 - H).attr("y", -P.height / 2 - H).attr("width", P.width + a.padding).attr("height", P.height + a.padding), m.attr("class", "divider").attr("x1", -P.width / 2 - H).attr("x2", P.width / 2 + H).attr("y1", -P.height / 2 - H + j.height + H).attr("y2", -P.height / 2 - H + j.height + H), af(a, v), a.intersect = function (Y) { return Ah.rect(a, Y) }, p }, mje = async (i, a) => { const { shapeSvg: f, bbox: p } = await Rd(i, a, void 0, !0), v = p.height + a.padding, m = p.width + v / 4 + a.padding, b = f.insert("rect", ":first-child").attr("style", a.style).attr("rx", v / 2).attr("ry", v / 2).attr("x", -m / 2).attr("y", -v / 2).attr("width", m).attr("height", v); return af(a, b), a.intersect = function (E) { return Ah.rect(a, E) }, f }, yje = async (i, a) => { const { shapeSvg: f, bbox: p, halfPadding: v } = await Rd(i, a, void 0, !0), m = f.insert("circle", ":first-child"); return m.attr("style", a.style).attr("rx", a.rx).attr("ry", a.ry).attr("r", p.width / 2 + v).attr("width", p.width + a.padding).attr("height", p.height + a.padding), zt.info("Circle main"), af(a, m), a.intersect = function (b) { return zt.info("Circle intersect", a, p.width / 2 + v, b), Ah.circle(a, p.width / 2 + v, b) }, f }, xje = async (i, a) => { const { shapeSvg: f, bbox: p, halfPadding: v } = await Rd(i, a, void 0, !0), m = 5, b = f.insert("g", ":first-child"), E = b.insert("circle"), C = b.insert("circle"); return E.attr("style", a.style).attr("rx", a.rx).attr("ry", a.ry).attr("r", p.width / 2 + v + m).attr("width", p.width + a.padding + m * 2).attr("height", p.height + a.padding + m * 2), C.attr("style", a.style).attr("rx", a.rx).attr("ry", a.ry).attr("r", p.width / 2 + v).attr("width", p.width + a.padding).attr("height", p.height + a.padding), zt.info("DoubleCircle main"), af(a, E), a.intersect = function (D) { return zt.info("DoubleCircle intersect", a, p.width / 2 + v + m, D), Ah.circle(a, p.width / 2 + v + m, D) }, f }, kje = async (i, a) => { const { shapeSvg: f, bbox: p } = await Rd(i, a, void 0, !0), v = p.width + a.padding, m = p.height + a.padding, b = [{ x: 0, y: 0 }, { x: v, y: 0 }, { x: v, y: -m }, { x: 0, y: -m }, { x: 0, y: 0 }, { x: -8, y: 0 }, { x: v + 8, y: 0 }, { x: v + 8, y: -m }, { x: -8, y: -m }, { x: -8, y: 0 }], E = A5(f, v, m, b); return E.attr("style", a.style), af(a, E), a.intersect = function (C) { return Ah.polygon(a, b, C) }, f }, Eje = (i, a) => { const f = i.insert("g").attr("class", "node default").attr("id", a.domId || a.id), p = f.insert("circle", ":first-child"); return p.attr("class", "state-start").attr("r", 7).attr("width", 14).attr("height", 14), af(a, p), a.intersect = function (v) { return Ah.circle(a, 7, v) }, f }, ZFt = (i, a, f) => { const p = i.insert("g").attr("class", "node default").attr("id", a.domId || a.id); let v = 70, m = 10; f === "LR" && (v = 10, m = 70); const b = p.append("rect").attr("x", -1 * v / 2).attr("y", -1 * m / 2).attr("width", v).attr("height", m).attr("class", "fork-join"); return af(a, b), a.height = a.height + a.padding / 2, a.width = a.width + a.padding / 2, a.intersect = function (E) { return Ah.rect(a, E) }, p }, JFt = { rhombus: XFt, question: XFt, rect: bje, labelRect: vje, rectWithTitle: wje, choice: oje, circle: yje, doublecircle: xje, stadium: mje, hexagon: cje, rect_left_inv_arrow: uje, lean_right: lje, lean_left: hje, trapezoid: fje, inv_trapezoid: dje, rect_right_inv_arrow: gje, cylinder: pje, start: Eje, end: (i, a) => { const f = i.insert("g").attr("class", "node default").attr("id", a.domId || a.id), p = f.insert("circle", ":first-child"), v = f.insert("circle", ":first-child"); return v.attr("class", "state-start").attr("r", 7).attr("width", 14).attr("height", 14), p.attr("class", "state-end").attr("r", 5).attr("width", 10).attr("height", 10), af(a, v), a.intersect = function (m) { return Ah.circle(a, 7, m) }, f }, note: rje, subroutine: kje, fork: ZFt, join: ZFt, class_box: (i, a) => { const f = a.padding / 2, p = 4, v = 8; let m; a.classes ? m = "node " + a.classes : m = "node default"; const b = i.insert("g").attr("class", m).attr("id", a.domId || a.id), E = b.insert("rect", ":first-child"), C = b.insert("line"), D = b.insert("line"); let P = 0, B = p; const j = b.insert("g").attr("class", "label"); let R = 0; const H = a.classData.annotations && a.classData.annotations[0], Y = a.classData.annotations[0] ? "«" + a.classData.annotations[0] + "»" : "", it = j.node().appendChild(lp(Y, a.labelStyle, !0, !0)); let nt = it.getBBox(); if (h1(Oe().flowchart.htmlLabels)) { const mt = it.children[0], rt = Mr(it); nt = mt.getBoundingClientRect(), rt.attr("width", nt.width), rt.attr("height", nt.height) } a.classData.annotations[0] && (B += nt.height + p, P += nt.width); let st = a.classData.label; a.classData.type !== void 0 && a.classData.type !== "" && (Oe().flowchart.htmlLabels ? st += "&lt;" + a.classData.type + "&gt;" : st += "<" + a.classData.type + ">"); const pt = j.node().appendChild(lp(st, a.labelStyle, !0, !0)); Mr(pt).attr("class", "classTitle"); let Tt = pt.getBBox(); if (h1(Oe().flowchart.htmlLabels)) { const mt = pt.children[0], rt = Mr(pt); Tt = mt.getBoundingClientRect(), rt.attr("width", Tt.width), rt.attr("height", Tt.height) } B += Tt.height + p, Tt.width > P && (P = Tt.width); const kt = []; a.classData.members.forEach(mt => { const rt = uK(mt); let wt = rt.displayText; Oe().flowchart.htmlLabels && (wt = wt.replace(/</g, "&lt;").replace(/>/g, "&gt;")); const gt = j.node().appendChild(lp(wt, rt.cssStyle ? rt.cssStyle : a.labelStyle, !0, !0)); let lt = gt.getBBox(); if (h1(Oe().flowchart.htmlLabels)) { const _t = gt.children[0], X = Mr(gt); lt = _t.getBoundingClientRect(), X.attr("width", lt.width), X.attr("height", lt.height) } lt.width > P && (P = lt.width), B += lt.height + p, kt.push(gt) }), B += v; const yt = []; if (a.classData.methods.forEach(mt => { const rt = uK(mt); let wt = rt.displayText; Oe().flowchart.htmlLabels && (wt = wt.replace(/</g, "&lt;").replace(/>/g, "&gt;")); const gt = j.node().appendChild(lp(wt, rt.cssStyle ? rt.cssStyle : a.labelStyle, !0, !0)); let lt = gt.getBBox(); if (h1(Oe().flowchart.htmlLabels)) { const _t = gt.children[0], X = Mr(gt); lt = _t.getBoundingClientRect(), X.attr("width", lt.width), X.attr("height", lt.height) } lt.width > P && (P = lt.width), B += lt.height + p, yt.push(gt) }), B += v, H) { let mt = (P - nt.width) / 2; Mr(it).attr("transform", "translate( " + (-1 * P / 2 + mt) + ", " + -1 * B / 2 + ")"), R = nt.height + p } let ht = (P - Tt.width) / 2; return Mr(pt).attr("transform", "translate( " + (-1 * P / 2 + ht) + ", " + (-1 * B / 2 + R) + ")"), R += Tt.height + p, C.attr("class", "divider").attr("x1", -P / 2 - f).attr("x2", P / 2 + f).attr("y1", -B / 2 - f + v + R).attr("y2", -B / 2 - f + v + R), R += v, kt.forEach(mt => { Mr(mt).attr("transform", "translate( " + -P / 2 + ", " + (-1 * B / 2 + R + v / 2) + ")"), R += Tt.height + p }), R += v, D.attr("class", "divider").attr("x1", -P / 2 - f).attr("x2", P / 2 + f).attr("y1", -B / 2 - f + v + R).attr("y2", -B / 2 - f + v + R), R += v, yt.forEach(mt => { Mr(mt).attr("transform", "translate( " + -P / 2 + ", " + (-1 * B / 2 + R) + ")"), R += Tt.height + p }), E.attr("class", "outer title-state").attr("x", -P / 2 - f).attr("y", -(B / 2) - f).attr("width", P + a.padding).attr("height", B + a.padding), af(a, E), a.intersect = function (mt) { return Ah.rect(a, mt) }, b } }; let rL = {}; const tBt = async (i, a, f) => { let p, v; if (a.link) { let m; Oe().securityLevel === "sandbox" ? m = "_top" : a.linkTarget && (m = a.linkTarget || "_blank"), p = i.insert("svg:a").attr("xlink:href", a.link).attr("target", m), v = await JFt[a.shape](p, a, f) } else v = await JFt[a.shape](i, a, f), p = v; return a.tooltip && v.attr("title", a.tooltip), a.class && v.attr("class", "node default " + a.class), rL[a.id] = p, a.haveCallback && rL[a.id].attr("class", rL[a.id].attr("class") + " clickable"), p }, Tje = (i, a) => { rL[a.id] = i }, _je = () => { rL = {} }, eBt = i => { const a = rL[i.id]; zt.trace("Transforming node", i.diff, i, "translate(" + (i.x - i.width / 2 - 5) + ", " + i.width / 2 + ")"); const f = 8, p = i.diff || 0; return i.clusterNode ? a.attr("transform", "translate(" + (i.x + p - i.width / 2) + ", " + (i.y - i.height / 2 - f) + ")") : a.attr("transform", "translate(" + i.x + ", " + i.y + ")"), p }, Cje = { rect: (i, a) => { zt.info("Creating subgraph rect for ", a.id, a); const f = i.insert("g").attr("class", "cluster" + (a.class ? " " + a.class : "")).attr("id", a.id), p = f.insert("rect", ":first-child"), v = h1(Oe().flowchart.htmlLabels), m = f.insert("g").attr("class", "cluster-label"), b = a.labelType === "markdown" ? aK(m, a.labelText, { style: a.labelStyle, useHtmlLabels: v }) : m.node().appendChild(lp(a.labelText, a.labelStyle, void 0, !0)); let E = b.getBBox(); if (h1(Oe().flowchart.htmlLabels)) { const j = b.children[0], R = Mr(b); E = j.getBoundingClientRect(), R.attr("width", E.width), R.attr("height", E.height) } const C = 0 * a.padding, D = C / 2, P = a.width <= E.width + C ? E.width + C : a.width; a.width <= E.width + C ? a.diff = (E.width - a.width) / 2 - a.padding / 2 : a.diff = -a.padding / 2, zt.trace("Data ", a, JSON.stringify(a)), p.attr("style", a.style).attr("rx", a.rx).attr("ry", a.ry).attr("x", a.x - P / 2).attr("y", a.y - a.height / 2 - D).attr("width", P).attr("height", a.height + C), v ? m.attr("transform", "translate(" + (a.x - E.width / 2) + ", " + (a.y - a.height / 2) + ")") : m.attr("transform", "translate(" + a.x + ", " + (a.y - a.height / 2) + ")"); const B = p.node().getBBox(); return a.width = B.width, a.height = B.height, a.intersect = function (j) { return dP(a, j) }, f }, roundedWithTitle: (i, a) => { const f = i.insert("g").attr("class", a.classes).attr("id", a.id), p = f.insert("rect", ":first-child"), v = f.insert("g").attr("class", "cluster-label"), m = f.append("rect"), b = v.node().appendChild(lp(a.labelText, a.labelStyle, void 0, !0)); let E = b.getBBox(); if (h1(Oe().flowchart.htmlLabels)) { const j = b.children[0], R = Mr(b); E = j.getBoundingClientRect(), R.attr("width", E.width), R.attr("height", E.height) } E = b.getBBox(); const C = 0 * a.padding, D = C / 2, P = a.width <= E.width + a.padding ? E.width + a.padding : a.width; a.width <= E.width + a.padding ? a.diff = (E.width + a.padding * 0 - a.width) / 2 : a.diff = -a.padding / 2, p.attr("class", "outer").attr("x", a.x - P / 2 - D).attr("y", a.y - a.height / 2 - D).attr("width", P + C).attr("height", a.height + C), m.attr("class", "inner").attr("x", a.x - P / 2 - D).attr("y", a.y - a.height / 2 - D + E.height - 1).attr("width", P + C).attr("height", a.height + C - E.height - 3), v.attr("transform", "translate(" + (a.x - E.width / 2) + ", " + (a.y - a.height / 2 - a.padding / 3 + (h1(Oe().flowchart.htmlLabels) ? 5 : 3)) + ")"); const B = p.node().getBBox(); return a.height = B.height, a.intersect = function (j) { return dP(a, j) }, f }, noteGroup: (i, a) => { const f = i.insert("g").attr("class", "note-cluster").attr("id", a.id), p = f.insert("rect", ":first-child"), v = 0 * a.padding, m = v / 2; p.attr("rx", a.rx).attr("ry", a.ry).attr("x", a.x - a.width / 2 - m).attr("y", a.y - a.height / 2 - m).attr("width", a.width + v).attr("height", a.height + v).attr("fill", "none"); const b = p.node().getBBox(); return a.width = b.width, a.height = b.height, a.intersect = function (E) { return dP(a, E) }, f }, divider: (i, a) => { const f = i.insert("g").attr("class", a.classes).attr("id", a.id), p = f.insert("rect", ":first-child"), v = 0 * a.padding, m = v / 2; p.attr("class", "divider").attr("x", a.x - a.width / 2 - m).attr("y", a.y - a.height / 2).attr("width", a.width + v).attr("height", a.height + v); const b = p.node().getBBox(); return a.width = b.width, a.height = b.height, a.diff = -a.padding / 2, a.intersect = function (E) { return dP(a, E) }, f } }; let nBt = {}; const Sje = (i, a) => { zt.trace("Inserting cluster"); const f = a.shape || "rect"; nBt[a.id] = Cje[f](i, a) }, Aje = () => { nBt = {} }; let lK = {}, jd = {}; const Lje = () => { lK = {}, jd = {} }, rBt = (i, a) => { const f = h1(Oe().flowchart.htmlLabels), p = a.labelType === "markdown" ? aK(i, a.label, { style: a.labelStyle, useHtmlLabels: f, addSvgBackground: !0 }) : lp(a.label, a.labelStyle); zt.info("abc82", a, a.labelType); const v = i.insert("g").attr("class", "edgeLabel"), m = v.insert("g").attr("class", "label"); m.node().appendChild(p); let b = p.getBBox(); if (f) { const C = p.children[0], D = Mr(p); b = C.getBoundingClientRect(), D.attr("width", b.width), D.attr("height", b.height) } m.attr("transform", "translate(" + -b.width / 2 + ", " + -b.height / 2 + ")"), lK[a.id] = v, a.width = b.width, a.height = b.height; let E; if (a.startLabelLeft) { const C = lp(a.startLabelLeft, a.labelStyle), D = i.insert("g").attr("class", "edgeTerminals"), P = D.insert("g").attr("class", "inner"); E = P.node().appendChild(C); const B = C.getBBox(); P.attr("transform", "translate(" + -B.width / 2 + ", " + -B.height / 2 + ")"), jd[a.id] || (jd[a.id] = {}), jd[a.id].startLeft = D, hK(E, a.startLabelLeft) } if (a.startLabelRight) { const C = lp(a.startLabelRight, a.labelStyle), D = i.insert("g").attr("class", "edgeTerminals"), P = D.insert("g").attr("class", "inner"); E = D.node().appendChild(C), P.node().appendChild(C); const B = C.getBBox(); P.attr("transform", "translate(" + -B.width / 2 + ", " + -B.height / 2 + ")"), jd[a.id] || (jd[a.id] = {}), jd[a.id].startRight = D, hK(E, a.startLabelRight) } if (a.endLabelLeft) { const C = lp(a.endLabelLeft, a.labelStyle), D = i.insert("g").attr("class", "edgeTerminals"), P = D.insert("g").attr("class", "inner"); E = P.node().appendChild(C); const B = C.getBBox(); P.attr("transform", "translate(" + -B.width / 2 + ", " + -B.height / 2 + ")"), D.node().appendChild(C), jd[a.id] || (jd[a.id] = {}), jd[a.id].endLeft = D, hK(E, a.endLabelLeft) } if (a.endLabelRight) { const C = lp(a.endLabelRight, a.labelStyle), D = i.insert("g").attr("class", "edgeTerminals"), P = D.insert("g").attr("class", "inner"); E = P.node().appendChild(C); const B = C.getBBox(); P.attr("transform", "translate(" + -B.width / 2 + ", " + -B.height / 2 + ")"), D.node().appendChild(C), jd[a.id] || (jd[a.id] = {}), jd[a.id].endRight = D, hK(E, a.endLabelRight) } return p }; function hK(i, a) { Oe().flowchart.htmlLabels && i && (i.style.width = a.length * 9 + "px", i.style.height = "12px") } const Mje = (i, a) => { zt.info("Moving label abc78 ", i.id, i.label, lK[i.id]); let f = a.updatedPath ? a.updatedPath : a.originalPath; if (i.label) { const p = lK[i.id]; let v = i.x, m = i.y; if (f) { const b = lo.calcLabelPosition(f); zt.info("Moving label " + i.label + " from (", v, ",", m, ") to (", b.x, ",", b.y, ") abc78"), a.updatedPath && (v = b.x, m = b.y) } p.attr("transform", "translate(" + v + ", " + m + ")") } if (i.startLabelLeft) { const p = jd[i.id].startLeft; let v = i.x, m = i.y; if (f) { const b = lo.calcTerminalLabelPosition(i.arrowTypeStart ? 10 : 0, "start_left", f); v = b.x, m = b.y } p.attr("transform", "translate(" + v + ", " + m + ")") } if (i.startLabelRight) { const p = jd[i.id].startRight; let v = i.x, m = i.y; if (f) { const b = lo.calcTerminalLabelPosition(i.arrowTypeStart ? 10 : 0, "start_right", f); v = b.x, m = b.y } p.attr("transform", "translate(" + v + ", " + m + ")") } if (i.endLabelLeft) { const p = jd[i.id].endLeft; let v = i.x, m = i.y; if (f) { const b = lo.calcTerminalLabelPosition(i.arrowTypeEnd ? 10 : 0, "end_left", f); v = b.x, m = b.y } p.attr("transform", "translate(" + v + ", " + m + ")") } if (i.endLabelRight) { const p = jd[i.id].endRight; let v = i.x, m = i.y; if (f) { const b = lo.calcTerminalLabelPosition(i.arrowTypeEnd ? 10 : 0, "end_right", f); v = b.x, m = b.y } p.attr("transform", "translate(" + v + ", " + m + ")") } }, Dje = (i, a) => { const f = i.x, p = i.y, v = Math.abs(a.x - f), m = Math.abs(a.y - p), b = i.width / 2, E = i.height / 2; return v >= b || m >= E }, Ije = (i, a, f) => {
        zt.warn(`intersection calc abc89:
      outsidePoint: ${JSON.stringify(a)}
      insidePoint : ${JSON.stringify(f)}
      node        : x:${i.x} y:${i.y} w:${i.width} h:${i.height}`); const p = i.x, v = i.y, m = Math.abs(p - f.x), b = i.width / 2; let E = f.x < a.x ? b - m : b + m; const C = i.height / 2, D = Math.abs(a.y - f.y), P = Math.abs(a.x - f.x); if (Math.abs(v - a.y) * b > Math.abs(p - a.x) * C) { let B = f.y < a.y ? a.y - C - v : v - C - a.y; E = P * B / D; const j = { x: f.x < a.x ? f.x + E : f.x - P + E, y: f.y < a.y ? f.y + D - B : f.y - D + B }; return E === 0 && (j.x = a.x, j.y = a.y), P === 0 && (j.x = a.x), D === 0 && (j.y = a.y), zt.warn(`abc89 topp/bott calc, Q ${D}, q ${B}, R ${P}, r ${E}`, j), j } else { f.x < a.x ? E = a.x - b - p : E = p - b - a.x; let B = D * E / P, j = f.x < a.x ? f.x + P - E : f.x - P + E, R = f.y < a.y ? f.y + B : f.y - B; return zt.warn(`sides calc abc89, Q ${D}, q ${B}, R ${P}, r ${E}`, { _x: j, _y: R }), E === 0 && (j = a.x, R = a.y), P === 0 && (j = a.x), D === 0 && (R = a.y), { x: j, y: R } }
    }, iBt = (i, a) => { zt.warn("abc88 cutPathAtIntersect", i, a); let f = [], p = i[0], v = !1; return i.forEach(m => { if (zt.info("abc88 checking point", m, a), !Dje(a, m) && !v) { const b = Ije(a, p, m); zt.warn("abc88 inside", m, p, b), zt.warn("abc88 intersection", b); let E = !1; f.forEach(C => { E = E || C.x === b.x && C.y === b.y }), f.some(C => C.x === b.x && C.y === b.y) ? zt.warn("abc88 no intersect", b, f) : f.push(b), v = !0 } else zt.warn("abc88 outside", m, p), p = m, v || f.push(m) }), zt.warn("abc88 returning points", f), f }, Oje = function (i, a, f, p, v, m) { let b = f.points, E = !1; const C = m.node(a.v); var D = m.node(a.w); zt.info("abc88 InsertEdge: ", f), D.intersect && C.intersect && (b = b.slice(1, f.points.length - 1), b.unshift(C.intersect(b[0])), zt.info("Last point", b[b.length - 1], D, D.intersect(b[b.length - 1])), b.push(D.intersect(b[b.length - 1]))), f.toCluster && (zt.info("to cluster abc88", p[f.toCluster]), b = iBt(f.points, p[f.toCluster].node), E = !0), f.fromCluster && (zt.info("from cluster abc88", p[f.fromCluster]), b = iBt(b.reverse(), p[f.fromCluster].node).reverse(), E = !0); const P = b.filter(nt => !Number.isNaN(nt.y)); let B; v === "graph" || v === "flowchart" ? B = f.curve || CA : B = CA; const j = Y9().x(function (nt) { return nt.x }).y(function (nt) { return nt.y }).curve(B); let R; switch (f.thickness) { case "normal": R = "edge-thickness-normal"; break; case "thick": R = "edge-thickness-thick"; break; case "invisible": R = "edge-thickness-thick"; break; default: R = "" }switch (f.pattern) { case "solid": R += " edge-pattern-solid"; break; case "dotted": R += " edge-pattern-dotted"; break; case "dashed": R += " edge-pattern-dashed"; break }const H = i.append("path").attr("d", j(P)).attr("id", f.id).attr("class", " " + R + (f.classes ? " " + f.classes : "")).attr("style", f.style); let Y = ""; switch ((Oe().flowchart.arrowMarkerAbsolute || Oe().state.arrowMarkerAbsolute) && (Y = window.location.protocol + "//" + window.location.host + window.location.pathname + window.location.search, Y = Y.replace(/\(/g, "\\("), Y = Y.replace(/\)/g, "\\)")), zt.info("arrowTypeStart", f.arrowTypeStart), zt.info("arrowTypeEnd", f.arrowTypeEnd), f.arrowTypeStart) { case "arrow_cross": H.attr("marker-start", "url(" + Y + "#" + v + "-crossStart)"); break; case "arrow_point": H.attr("marker-start", "url(" + Y + "#" + v + "-pointStart)"); break; case "arrow_barb": H.attr("marker-start", "url(" + Y + "#" + v + "-barbStart)"); break; case "arrow_circle": H.attr("marker-start", "url(" + Y + "#" + v + "-circleStart)"); break; case "aggregation": H.attr("marker-start", "url(" + Y + "#" + v + "-aggregationStart)"); break; case "extension": H.attr("marker-start", "url(" + Y + "#" + v + "-extensionStart)"); break; case "composition": H.attr("marker-start", "url(" + Y + "#" + v + "-compositionStart)"); break; case "dependency": H.attr("marker-start", "url(" + Y + "#" + v + "-dependencyStart)"); break; case "lollipop": H.attr("marker-start", "url(" + Y + "#" + v + "-lollipopStart)"); break }switch (f.arrowTypeEnd) { case "arrow_cross": H.attr("marker-end", "url(" + Y + "#" + v + "-crossEnd)"); break; case "arrow_point": H.attr("marker-end", "url(" + Y + "#" + v + "-pointEnd)"); break; case "arrow_barb": H.attr("marker-end", "url(" + Y + "#" + v + "-barbEnd)"); break; case "arrow_circle": H.attr("marker-end", "url(" + Y + "#" + v + "-circleEnd)"); break; case "aggregation": H.attr("marker-end", "url(" + Y + "#" + v + "-aggregationEnd)"); break; case "extension": H.attr("marker-end", "url(" + Y + "#" + v + "-extensionEnd)"); break; case "composition": H.attr("marker-end", "url(" + Y + "#" + v + "-compositionEnd)"); break; case "dependency": H.attr("marker-end", "url(" + Y + "#" + v + "-dependencyEnd)"); break; case "lollipop": H.attr("marker-end", "url(" + Y + "#" + v + "-lollipopEnd)"); break }let it = {}; return E && (it.updatedPath = b), it.originalPath = f.points, it }, sBt = async (i, a, f, p) => { zt.info("Graph in recursive render: XXX", S5(a), p); const v = a.graph().rankdir; zt.trace("Dir in recursive render - dir:", v); const m = i.insert("g").attr("class", "root"); a.nodes() ? zt.info("Recursive render XXX", a.nodes()) : zt.info("No nodes found for", a), a.edges().length > 0 && zt.trace("Recursive edges", a.edge(a.edges()[0])); const b = m.insert("g").attr("class", "clusters"), E = m.insert("g").attr("class", "edgePaths"), C = m.insert("g").attr("class", "edgeLabels"), D = m.insert("g").attr("class", "nodes"); await Promise.all(a.nodes().map(async function (B) { const j = a.node(B); if (p !== void 0) { const R = JSON.parse(JSON.stringify(p.clusterData)); zt.info("Setting data for cluster XXX (", B, ") ", R, p), a.setNode(p.id, R), a.parent(B) || (zt.trace("Setting parent", B, p.id), a.setParent(B, p.id, R)) } if (zt.info("(Insert) Node XXX" + B + ": " + JSON.stringify(a.node(B))), j && j.clusterNode) { zt.info("Cluster identified", B, j.width, a.node(B)); const R = await sBt(D, j.graph, f, a.node(B)), H = R.elem; af(j, H), j.diff = R.diff || 0, zt.info("Node bounds (abc123)", B, j, j.width, j.x, j.y), Tje(H, j), zt.warn("Recursive render complete ", H, j) } else a.children(B).length > 0 ? (zt.info("Cluster - the non recursive path XXX", B, j.id, j, a), zt.info(fP(j.id, a)), nc[j.id] = { id: fP(j.id, a), node: j }) : (zt.info("Node - the non recursive path", B, j.id, j), await tBt(D, a.node(B), v)) })), a.edges().forEach(function (B) { const j = a.edge(B.v, B.w, B.name); zt.info("Edge " + B.v + " -> " + B.w + ": " + JSON.stringify(B)), zt.info("Edge " + B.v + " -> " + B.w + ": ", B, " ", JSON.stringify(a.edge(B))), zt.info("Fix", nc, "ids:", B.v, B.w, "Translateing: ", nc[B.v], nc[B.w]), rBt(C, j) }), a.edges().forEach(function (B) { zt.info("Edge " + B.v + " -> " + B.w + ": " + JSON.stringify(B)) }), zt.info("#############################################"), zt.info("###                Layout                 ###"), zt.info("#############################################"), zt.info(a), eL(a), zt.info("Graph after layout:", S5(a)); let P = 0; return ZRe(a).forEach(function (B) { const j = a.node(B); zt.info("Position " + B + ": " + JSON.stringify(a.node(B))), zt.info("Position " + B + ": (" + j.x, "," + j.y, ") width: ", j.width, " height: ", j.height), j && j.clusterNode ? eBt(j) : a.children(B).length > 0 ? (Sje(b, j), nc[j.id].node = j) : eBt(j) }), a.edges().forEach(function (B) { const j = a.edge(B); zt.info("Edge " + B.v + " -> " + B.w + ": " + JSON.stringify(j), j); const R = Oje(E, B, j, nc, f, a); Mje(j, R) }), a.nodes().forEach(function (B) { const j = a.node(B); zt.info(B, j.type, j.diff), j.type === "group" && (P = j.diff) }), { elem: m, diff: P } }, v0t = async (i, a, f, p, v) => { oFt(i, f, p, v), _je(), Lje(), Aje(), YRe(), zt.warn("Graph at first:", S5(a)), QRe(a), zt.warn("Graph after:", S5(a)), await sBt(i, a, p) }, aBt = {}, Nje = function (i) { const a = Object.keys(i); for (const f of a) aBt[f] = i[f] }, oBt = function (i, a, f, p, v, m) { const b = p.select(`[id="${f}"]`); Object.keys(i).forEach(function (C) { const D = i[C]; let P = "default"; D.classes.length > 0 && (P = D.classes.join(" ")), P = P + " flowchart-label"; const B = Qw(D.styles); let j = D.text !== void 0 ? D.text : D.id, R; if (zt.info("vertex", D, D.labelType), D.labelType === "markdown") zt.info("vertex", D, D.labelType); else if (h1(Oe().flowchart.htmlLabels)) { const it = { label: j.replace(/fa[blrs]?:fa-[\w-]+/g, nt => `<i class='${nt.replace(":", " ")}'></i>`) }; R = Jdt(b, it).node(), R.parentNode.removeChild(R) } else { const it = v.createElementNS("http://www.w3.org/2000/svg", "text"); it.setAttribute("style", B.labelStyle.replace("color:", "fill:")); const nt = j.split(yi.lineBreakRegex); for (const st of nt) { const pt = v.createElementNS("http://www.w3.org/2000/svg", "tspan"); pt.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve"), pt.setAttribute("dy", "1em"), pt.setAttribute("x", "1"), pt.textContent = st, it.appendChild(pt) } R = it } let H = 0, Y = ""; switch (D.type) { case "round": H = 5, Y = "rect"; break; case "square": Y = "rect"; break; case "diamond": Y = "question"; break; case "hexagon": Y = "hexagon"; break; case "odd": Y = "rect_left_inv_arrow"; break; case "lean_right": Y = "lean_right"; break; case "lean_left": Y = "lean_left"; break; case "trapezoid": Y = "trapezoid"; break; case "inv_trapezoid": Y = "inv_trapezoid"; break; case "odd_right": Y = "rect_left_inv_arrow"; break; case "circle": Y = "circle"; break; case "ellipse": Y = "ellipse"; break; case "stadium": Y = "stadium"; break; case "subroutine": Y = "subroutine"; break; case "cylinder": Y = "cylinder"; break; case "group": Y = "rect"; break; case "doublecircle": Y = "doublecircle"; break; default: Y = "rect" }a.setNode(D.id, { labelStyle: B.labelStyle, shape: Y, labelText: j, labelType: D.labelType, rx: H, ry: H, class: P, style: B.style, id: D.id, link: D.link, linkTarget: D.linkTarget, tooltip: m.db.getTooltip(D.id) || "", domId: m.db.lookUpDomId(D.id), haveCallback: D.haveCallback, width: D.type === "group" ? 500 : void 0, dir: D.dir, type: D.type, props: D.props, padding: Oe().flowchart.padding }), zt.info("setNode", { labelStyle: B.labelStyle, labelType: D.labelType, shape: Y, labelText: j, rx: H, ry: H, class: P, style: B.style, id: D.id, domId: m.db.lookUpDomId(D.id), width: D.type === "group" ? 500 : void 0, type: D.type, dir: D.dir, props: D.props, padding: Oe().flowchart.padding }) }) }, cBt = function (i, a, f) {
        zt.info("abc78 edges = ", i); let p = 0, v = {}, m, b; if (i.defaultStyle !== void 0) { const E = Qw(i.defaultStyle); m = E.style, b = E.labelStyle } i.forEach(function (E) {
            p++; const C = "L-" + E.start + "-" + E.end; v[C] === void 0 ? (v[C] = 0, zt.info("abc78 new entry", C, v[C])) : (v[C]++, zt.info("abc78 new entry", C, v[C])); let D = C + "-" + v[C]; zt.info("abc78 new link id to be used is", C, D, v[C]); const P = "LS-" + E.start, B = "LE-" + E.end, j = { style: "", labelStyle: "" }; switch (j.minlen = E.length || 1, E.type === "arrow_open" ? j.arrowhead = "none" : j.arrowhead = "normal", j.arrowTypeStart = "arrow_open", j.arrowTypeEnd = "arrow_open", E.type) { case "double_arrow_cross": j.arrowTypeStart = "arrow_cross"; case "arrow_cross": j.arrowTypeEnd = "arrow_cross"; break; case "double_arrow_point": j.arrowTypeStart = "arrow_point"; case "arrow_point": j.arrowTypeEnd = "arrow_point"; break; case "double_arrow_circle": j.arrowTypeStart = "arrow_circle"; case "arrow_circle": j.arrowTypeEnd = "arrow_circle"; break }let R = "", H = ""; switch (E.stroke) { case "normal": R = "fill:none;", m !== void 0 && (R = m), b !== void 0 && (H = b), j.thickness = "normal", j.pattern = "solid"; break; case "dotted": j.thickness = "normal", j.pattern = "dotted", j.style = "fill:none;stroke-width:2px;stroke-dasharray:3;"; break; case "thick": j.thickness = "thick", j.pattern = "solid", j.style = "stroke-width: 3.5px;fill:none;"; break; case "invisible": j.thickness = "invisible", j.pattern = "solid", j.style = "stroke-width: 0;fill:none;"; break }if (E.style !== void 0) { const Y = Qw(E.style); R = Y.style, H = Y.labelStyle } j.style = j.style += R, j.labelStyle = j.labelStyle += H, E.interpolate !== void 0 ? j.curve = Xb(E.interpolate, rg) : i.defaultInterpolate !== void 0 ? j.curve = Xb(i.defaultInterpolate, rg) : j.curve = Xb(aBt.curve, rg), E.text === void 0 ? E.style !== void 0 && (j.arrowheadStyle = "fill: #333") : (j.arrowheadStyle = "fill: #333", j.labelpos = "c"), j.labelType = E.labelType, j.label = E.text.replace(yi.lineBreakRegex, `
    `), E.style === void 0 && (j.style = j.style || "stroke: #333; stroke-width: 1.5px;fill:none;"), j.labelStyle = j.labelStyle.replace("color:", "fill:"), j.id = D, j.classes = "flowchart-link " + P + " " + B, a.setEdge(E.start, E.end, j, p)
        })
    }, w0t = { setConf: Nje, addVertices: oBt, addEdges: cBt, getClasses: function (i, a) { zt.info("Extracting classes"), a.db.clear(); try { return a.parse(i), a.db.getClasses() } catch { return } }, draw: async function (i, a, f, p) { zt.info("Drawing flowchart"), p.db.clear(), ak.setGen("gen-2"), p.parser.parse(i); let v = p.db.getDirection(); v === void 0 && (v = "TD"); const { securityLevel: m, flowchart: b } = Oe(), E = b.nodeSpacing || 50, C = b.rankSpacing || 50; let D; m === "sandbox" && (D = Mr("#i" + a)); const P = Mr(m === "sandbox" ? D.nodes()[0].contentDocument.body : "body"), B = m === "sandbox" ? D.nodes()[0].contentDocument : document, j = new jf({ multigraph: !0, compound: !0 }).setGraph({ rankdir: v, nodesep: E, ranksep: C, marginx: 0, marginy: 0 }).setDefaultEdgeLabel(function () { return {} }); let R; const H = p.db.getSubGraphs(); zt.info("Subgraphs - ", H); for (let kt = H.length - 1; kt >= 0; kt--)R = H[kt], zt.info("Subgraph - ", R), p.db.addVertex(R.id, { text: R.title, type: R.labelType }, "group", void 0, R.classes, R.dir); const Y = p.db.getVertices(), it = p.db.getEdges(); zt.info("Edges", it); let nt = 0; for (nt = H.length - 1; nt >= 0; nt--) { R = H[nt], zft("cluster").append("text"); for (let kt = 0; kt < R.nodes.length; kt++)zt.info("Setting up subgraphs", R.nodes[kt], R.id), j.setParent(R.nodes[kt], R.id) } oBt(Y, j, a, P, B, p), cBt(it, j); const st = P.select(`[id="${a}"]`), pt = P.select("#" + a + " g"); if (await v0t(pt, j, ["point", "circle", "cross"], "flowchart", a), lo.insertTitle(st, "flowchartTitleText", b.titleTopMargin, p.db.getDiagramTitle()), Z9(j, st, b.diagramPadding, b.useMaxWidth), p.db.indexNodes("subGraph" + nt), !b.htmlLabels) { const kt = B.querySelectorAll('[id="' + a + '"] .edgeLabel .label'); for (const yt of kt) { const ht = yt.getBBox(), mt = B.createElementNS("http://www.w3.org/2000/svg", "rect"); mt.setAttribute("rx", 0), mt.setAttribute("ry", 0), mt.setAttribute("width", ht.width), mt.setAttribute("height", ht.height), yt.insertBefore(mt, yt.firstChild) } } Object.keys(Y).forEach(function (kt) { const yt = Y[kt]; if (yt.link) { const ht = Mr("#" + a + ' [id="' + kt + '"]'); if (ht) { const mt = B.createElementNS("http://www.w3.org/2000/svg", "a"); mt.setAttributeNS("http://www.w3.org/2000/svg", "class", yt.classes.join(" ")), mt.setAttributeNS("http://www.w3.org/2000/svg", "href", yt.link), mt.setAttributeNS("http://www.w3.org/2000/svg", "rel", "noopener"), m === "sandbox" ? mt.setAttributeNS("http://www.w3.org/2000/svg", "target", "_top") : yt.linkTarget && mt.setAttributeNS("http://www.w3.org/2000/svg", "target", yt.linkTarget); const rt = ht.insert(function () { return mt }, ":first-child"), wt = ht.select(".label-container"); wt && rt.append(function () { return wt.node() }); const gt = ht.select(".label"); gt && rt.append(function () { return gt.node() }) } } }) } }, Pje = (i, a) => { const f = Y9e, p = f(i, "r"), v = f(i, "g"), m = f(i, "b"); return AA(p, v, m, a) }, uBt = i => `.label {
        font-family: ${i.fontFamily};
        color: ${i.nodeTextColor || i.textColor};
      }
      .cluster-label text {
        fill: ${i.titleColor};
      }
      .cluster-label span,p {
        color: ${i.titleColor};
      }
    
      .label text,span,p {
        fill: ${i.nodeTextColor || i.textColor};
        color: ${i.nodeTextColor || i.textColor};
      }
    
      .node rect,
      .node circle,
      .node ellipse,
      .node polygon,
      .node path {
        fill: ${i.mainBkg};
        stroke: ${i.nodeBorder};
        stroke-width: 1px;
      }
      .flowchart-label text {
        text-anchor: middle;
      }
      // .flowchart-label .text-outer-tspan {
      //   text-anchor: middle;
      // }
      // .flowchart-label .text-inner-tspan {
      //   text-anchor: start;
      // }
    
      .node .label {
        text-align: center;
      }
      .node.clickable {
        cursor: pointer;
      }
    
      .arrowheadPath {
        fill: ${i.arrowheadColor};
      }
    
      .edgePath .path {
        stroke: ${i.lineColor};
        stroke-width: 2.0px;
      }
    
      .flowchart-link {
        stroke: ${i.lineColor};
        fill: none;
      }
    
      .edgeLabel {
        background-color: ${i.edgeLabelBackground};
        rect {
          opacity: 0.5;
          background-color: ${i.edgeLabelBackground};
          fill: ${i.edgeLabelBackground};
        }
        text-align: center;
      }
    
      /* For html labels only */
      .labelBkg {
        background-color: ${Pje(i.edgeLabelBackground, .5)};
        // background-color: 
      }
    
      .cluster rect {
        fill: ${i.clusterBkg};
        stroke: ${i.clusterBorder};
        stroke-width: 1px;
      }
    
      .cluster text {
        fill: ${i.titleColor};
      }
    
      .cluster span,p {
        color: ${i.titleColor};
      }
      /* .cluster div {
        color: ${i.titleColor};
      } */
    
      div.mermaidTooltip {
        position: absolute;
        text-align: center;
        max-width: 200px;
        padding: 2px;
        font-family: ${i.fontFamily};
        font-size: 12px;
        background: ${i.tertiaryColor};
        border: 1px solid ${i.border2};
        border-radius: 2px;
        pointer-events: none;
        z-index: 100;
      }
    
      .flowchartTitleText {
        text-anchor: middle;
        font-size: 18px;
        fill: ${i.textColor};
      }
    `, Fje = Object.freeze(Object.defineProperty({ __proto__: null, diagram: { parser: mdt, db: ak, renderer: w0t, styles: uBt, init: i => { i.flowchart || (i.flowchart = {}), i.flowchart.arrowMarkerAbsolute = i.arrowMarkerAbsolute, VFe.setConf(i.flowchart), ak.clear(), ak.setGen("gen-1") } } }, Symbol.toStringTag, { value: "Module" })), Bje = Object.freeze(Object.defineProperty({ __proto__: null, diagram: { parser: mdt, db: ak, renderer: w0t, styles: uBt, init: i => { i.flowchart || (i.flowchart = {}), i.flowchart.arrowMarkerAbsolute = i.arrowMarkerAbsolute, rIt({ flowchart: { arrowMarkerAbsolute: i.arrowMarkerAbsolute } }), w0t.setConf(i.flowchart), ak.clear(), ak.setGen("gen-2") } } }, Symbol.toStringTag, { value: "Module" })); var m0t = function () {
        var i = function (lt, _t, X, Rt) { for (X = X || {}, Rt = lt.length; Rt--; X[lt[Rt]] = _t); return X }, a = [1, 2], f = [1, 5], p = [6, 9, 11, 23, 25, 27, 29, 30, 31, 52], v = [1, 17], m = [1, 18], b = [1, 19], E = [1, 20], C = [1, 21], D = [1, 22], P = [1, 25], B = [1, 30], j = [1, 31], R = [1, 32], H = [1, 33], Y = [1, 34], it = [6, 9, 11, 15, 20, 23, 25, 27, 29, 30, 31, 44, 45, 46, 47, 48, 52], nt = [1, 46], st = [30, 31, 49, 50], pt = [4, 6, 9, 11, 23, 25, 27, 29, 30, 31, 52], Tt = [44, 45, 46, 47, 48], kt = [22, 37], yt = [1, 66], ht = [1, 65], mt = [22, 37, 39, 41], rt = {
            trace: function () { }, yy: {}, symbols_: { error: 2, start: 3, ER_DIAGRAM: 4, document: 5, EOF: 6, directive: 7, line: 8, SPACE: 9, statement: 10, NEWLINE: 11, openDirective: 12, typeDirective: 13, closeDirective: 14, ":": 15, argDirective: 16, entityName: 17, relSpec: 18, role: 19, BLOCK_START: 20, attributes: 21, BLOCK_STOP: 22, title: 23, title_value: 24, acc_title: 25, acc_title_value: 26, acc_descr: 27, acc_descr_value: 28, acc_descr_multiline_value: 29, ALPHANUM: 30, ENTITY_NAME: 31, attribute: 32, attributeType: 33, attributeName: 34, attributeKeyTypeList: 35, attributeComment: 36, ATTRIBUTE_WORD: 37, attributeKeyType: 38, COMMA: 39, ATTRIBUTE_KEY: 40, COMMENT: 41, cardinality: 42, relType: 43, ZERO_OR_ONE: 44, ZERO_OR_MORE: 45, ONE_OR_MORE: 46, ONLY_ONE: 47, MD_PARENT: 48, NON_IDENTIFYING: 49, IDENTIFYING: 50, WORD: 51, open_directive: 52, type_directive: 53, arg_directive: 54, close_directive: 55, $accept: 0, $end: 1 }, terminals_: { 2: "error", 4: "ER_DIAGRAM", 6: "EOF", 9: "SPACE", 11: "NEWLINE", 15: ":", 20: "BLOCK_START", 22: "BLOCK_STOP", 23: "title", 24: "title_value", 25: "acc_title", 26: "acc_title_value", 27: "acc_descr", 28: "acc_descr_value", 29: "acc_descr_multiline_value", 30: "ALPHANUM", 31: "ENTITY_NAME", 37: "ATTRIBUTE_WORD", 39: "COMMA", 40: "ATTRIBUTE_KEY", 41: "COMMENT", 44: "ZERO_OR_ONE", 45: "ZERO_OR_MORE", 46: "ONE_OR_MORE", 47: "ONLY_ONE", 48: "MD_PARENT", 49: "NON_IDENTIFYING", 50: "IDENTIFYING", 51: "WORD", 52: "open_directive", 53: "type_directive", 54: "arg_directive", 55: "close_directive" }, productions_: [0, [3, 3], [3, 2], [5, 0], [5, 2], [8, 2], [8, 1], [8, 1], [8, 1], [7, 4], [7, 6], [10, 1], [10, 5], [10, 4], [10, 3], [10, 1], [10, 2], [10, 2], [10, 2], [10, 1], [17, 1], [17, 1], [21, 1], [21, 2], [32, 2], [32, 3], [32, 3], [32, 4], [33, 1], [34, 1], [35, 1], [35, 3], [38, 1], [36, 1], [18, 3], [42, 1], [42, 1], [42, 1], [42, 1], [42, 1], [43, 1], [43, 1], [19, 1], [19, 1], [19, 1], [12, 1], [13, 1], [16, 1], [14, 1]], performAction: function (_t, X, Rt, ft, de, J, ae) { var Wt = J.length - 1; switch (de) { case 1: break; case 3: this.$ = []; break; case 4: J[Wt - 1].push(J[Wt]), this.$ = J[Wt - 1]; break; case 5: case 6: this.$ = J[Wt]; break; case 7: case 8: this.$ = []; break; case 12: ft.addEntity(J[Wt - 4]), ft.addEntity(J[Wt - 2]), ft.addRelationship(J[Wt - 4], J[Wt], J[Wt - 2], J[Wt - 3]); break; case 13: ft.addEntity(J[Wt - 3]), ft.addAttributes(J[Wt - 3], J[Wt - 1]); break; case 14: ft.addEntity(J[Wt - 2]); break; case 15: ft.addEntity(J[Wt]); break; case 16: case 17: this.$ = J[Wt].trim(), ft.setAccTitle(this.$); break; case 18: case 19: this.$ = J[Wt].trim(), ft.setAccDescription(this.$); break; case 20: case 44: this.$ = J[Wt]; break; case 21: case 42: case 43: this.$ = J[Wt].replace(/"/g, ""); break; case 22: case 30: this.$ = [J[Wt]]; break; case 23: J[Wt].push(J[Wt - 1]), this.$ = J[Wt]; break; case 24: this.$ = { attributeType: J[Wt - 1], attributeName: J[Wt] }; break; case 25: this.$ = { attributeType: J[Wt - 2], attributeName: J[Wt - 1], attributeKeyTypeList: J[Wt] }; break; case 26: this.$ = { attributeType: J[Wt - 2], attributeName: J[Wt - 1], attributeComment: J[Wt] }; break; case 27: this.$ = { attributeType: J[Wt - 3], attributeName: J[Wt - 2], attributeKeyTypeList: J[Wt - 1], attributeComment: J[Wt] }; break; case 28: case 29: case 32: this.$ = J[Wt]; break; case 31: J[Wt - 2].push(J[Wt]), this.$ = J[Wt - 2]; break; case 33: this.$ = J[Wt].replace(/"/g, ""); break; case 34: this.$ = { cardA: J[Wt], relType: J[Wt - 1], cardB: J[Wt - 2] }; break; case 35: this.$ = ft.Cardinality.ZERO_OR_ONE; break; case 36: this.$ = ft.Cardinality.ZERO_OR_MORE; break; case 37: this.$ = ft.Cardinality.ONE_OR_MORE; break; case 38: this.$ = ft.Cardinality.ONLY_ONE; break; case 39: this.$ = ft.Cardinality.MD_PARENT; break; case 40: this.$ = ft.Identification.NON_IDENTIFYING; break; case 41: this.$ = ft.Identification.IDENTIFYING; break; case 45: ft.parseDirective("%%{", "open_directive"); break; case 46: ft.parseDirective(J[Wt], "type_directive"); break; case 47: J[Wt] = J[Wt].trim().replace(/'/g, '"'), ft.parseDirective(J[Wt], "arg_directive"); break; case 48: ft.parseDirective("}%%", "close_directive", "er"); break } }, table: [{ 3: 1, 4: a, 7: 3, 12: 4, 52: f }, { 1: [3] }, i(p, [2, 3], { 5: 6 }), { 3: 7, 4: a, 7: 3, 12: 4, 52: f }, { 13: 8, 53: [1, 9] }, { 53: [2, 45] }, { 6: [1, 10], 7: 15, 8: 11, 9: [1, 12], 10: 13, 11: [1, 14], 12: 4, 17: 16, 23: v, 25: m, 27: b, 29: E, 30: C, 31: D, 52: f }, { 1: [2, 2] }, { 14: 23, 15: [1, 24], 55: P }, i([15, 55], [2, 46]), i(p, [2, 8], { 1: [2, 1] }), i(p, [2, 4]), { 7: 15, 10: 26, 12: 4, 17: 16, 23: v, 25: m, 27: b, 29: E, 30: C, 31: D, 52: f }, i(p, [2, 6]), i(p, [2, 7]), i(p, [2, 11]), i(p, [2, 15], { 18: 27, 42: 29, 20: [1, 28], 44: B, 45: j, 46: R, 47: H, 48: Y }), { 24: [1, 35] }, { 26: [1, 36] }, { 28: [1, 37] }, i(p, [2, 19]), i(it, [2, 20]), i(it, [2, 21]), { 11: [1, 38] }, { 16: 39, 54: [1, 40] }, { 11: [2, 48] }, i(p, [2, 5]), { 17: 41, 30: C, 31: D }, { 21: 42, 22: [1, 43], 32: 44, 33: 45, 37: nt }, { 43: 47, 49: [1, 48], 50: [1, 49] }, i(st, [2, 35]), i(st, [2, 36]), i(st, [2, 37]), i(st, [2, 38]), i(st, [2, 39]), i(p, [2, 16]), i(p, [2, 17]), i(p, [2, 18]), i(pt, [2, 9]), { 14: 50, 55: P }, { 55: [2, 47] }, { 15: [1, 51] }, { 22: [1, 52] }, i(p, [2, 14]), { 21: 53, 22: [2, 22], 32: 44, 33: 45, 37: nt }, { 34: 54, 37: [1, 55] }, { 37: [2, 28] }, { 42: 56, 44: B, 45: j, 46: R, 47: H, 48: Y }, i(Tt, [2, 40]), i(Tt, [2, 41]), { 11: [1, 57] }, { 19: 58, 30: [1, 61], 31: [1, 60], 51: [1, 59] }, i(p, [2, 13]), { 22: [2, 23] }, i(kt, [2, 24], { 35: 62, 36: 63, 38: 64, 40: yt, 41: ht }), i([22, 37, 40, 41], [2, 29]), i([30, 31], [2, 34]), i(pt, [2, 10]), i(p, [2, 12]), i(p, [2, 42]), i(p, [2, 43]), i(p, [2, 44]), i(kt, [2, 25], { 36: 67, 39: [1, 68], 41: ht }), i(kt, [2, 26]), i(mt, [2, 30]), i(kt, [2, 33]), i(mt, [2, 32]), i(kt, [2, 27]), { 38: 69, 40: yt }, i(mt, [2, 31])], defaultActions: { 5: [2, 45], 7: [2, 2], 25: [2, 48], 40: [2, 47], 46: [2, 28], 53: [2, 23] }, parseError: function (_t, X) { if (X.recoverable) this.trace(_t); else { var Rt = new Error(_t); throw Rt.hash = X, Rt } }, parse: function (_t) {
                var X = this, Rt = [0], ft = [], de = [null], J = [], ae = this.table, Wt = "", It = 0, Nt = 0, me = 2, Ue = 1, _n = J.slice.call(arguments, 1), _e = Object.create(this.lexer), rr = { yy: {} }; for (var Te in this.yy) Object.prototype.hasOwnProperty.call(this.yy, Te) && (rr.yy[Te] = this.yy[Te]); _e.setInput(_t, rr.yy), rr.yy.lexer = _e, rr.yy.parser = this, typeof _e.yylloc > "u" && (_e.yylloc = {}); var ne = _e.yylloc; J.push(ne); var Ee = _e.options && _e.options.ranges; typeof rr.yy.parseError == "function" ? this.parseError = rr.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; function ye() { var fe; return fe = ft.pop() || _e.lex() || Ue, typeof fe != "number" && (fe instanceof Array && (ft = fe, fe = ft.pop()), fe = X.symbols_[fe] || fe), fe } for (var Vt, Ae, Gt, un, jt = {}, Ke, oe, Or, Le; ;) {
                    if (Ae = Rt[Rt.length - 1], this.defaultActions[Ae] ? Gt = this.defaultActions[Ae] : ((Vt === null || typeof Vt > "u") && (Vt = ye()), Gt = ae[Ae] && ae[Ae][Vt]), typeof Gt > "u" || !Gt.length || !Gt[0]) {
                        var Nr = ""; Le = []; for (Ke in ae[Ae]) this.terminals_[Ke] && Ke > me && Le.push("'" + this.terminals_[Ke] + "'"); _e.showPosition ? Nr = "Parse error on line " + (It + 1) + `:
    `+ _e.showPosition() + `
    Expecting `+ Le.join(", ") + ", got '" + (this.terminals_[Vt] || Vt) + "'" : Nr = "Parse error on line " + (It + 1) + ": Unexpected " + (Vt == Ue ? "end of input" : "'" + (this.terminals_[Vt] || Vt) + "'"), this.parseError(Nr, { text: _e.match, token: this.terminals_[Vt] || Vt, line: _e.yylineno, loc: ne, expected: Le })
                    } if (Gt[0] instanceof Array && Gt.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + Ae + ", token: " + Vt); switch (Gt[0]) { case 1: Rt.push(Vt), de.push(_e.yytext), J.push(_e.yylloc), Rt.push(Gt[1]), Vt = null, Nt = _e.yyleng, Wt = _e.yytext, It = _e.yylineno, ne = _e.yylloc; break; case 2: if (oe = this.productions_[Gt[1]][1], jt.$ = de[de.length - oe], jt._$ = { first_line: J[J.length - (oe || 1)].first_line, last_line: J[J.length - 1].last_line, first_column: J[J.length - (oe || 1)].first_column, last_column: J[J.length - 1].last_column }, Ee && (jt._$.range = [J[J.length - (oe || 1)].range[0], J[J.length - 1].range[1]]), un = this.performAction.apply(jt, [Wt, Nt, It, rr.yy, Gt[1], de, J].concat(_n)), typeof un < "u") return un; oe && (Rt = Rt.slice(0, -1 * oe * 2), de = de.slice(0, -1 * oe), J = J.slice(0, -1 * oe)), Rt.push(this.productions_[Gt[1]][0]), de.push(jt.$), J.push(jt._$), Or = ae[Rt[Rt.length - 2]][Rt[Rt.length - 1]], Rt.push(Or); break; case 3: return !0 }
                } return !0
            }
        }, wt = function () {
            var lt = {
                EOF: 1, parseError: function (X, Rt) { if (this.yy.parser) this.yy.parser.parseError(X, Rt); else throw new Error(X) }, setInput: function (_t, X) { return this.yy = X || this.yy || {}, this._input = _t, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this }, input: function () { var _t = this._input[0]; this.yytext += _t, this.yyleng++, this.offset++, this.match += _t, this.matched += _t; var X = _t.match(/(?:\r\n?|\n).*/g); return X ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), _t }, unput: function (_t) { var X = _t.length, Rt = _t.split(/(?:\r\n?|\n)/g); this._input = _t + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - X), this.offset -= X; var ft = this.match.split(/(?:\r\n?|\n)/g); this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), Rt.length - 1 && (this.yylineno -= Rt.length - 1); var de = this.yylloc.range; return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: Rt ? (Rt.length === ft.length ? this.yylloc.first_column : 0) + ft[ft.length - Rt.length].length - Rt[0].length : this.yylloc.first_column - X }, this.options.ranges && (this.yylloc.range = [de[0], de[0] + this.yyleng - X]), this.yyleng = this.yytext.length, this }, more: function () { return this._more = !0, this }, reject: function () {
                    if (this.options.backtrack_lexer) this._backtrack = !0; else 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).
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno }); return this
                }, less: function (_t) { this.unput(this.match.slice(_t)) }, pastInput: function () { var _t = this.matched.substr(0, this.matched.length - this.match.length); return (_t.length > 20 ? "..." : "") + _t.substr(-20).replace(/\n/g, "") }, upcomingInput: function () { var _t = this.match; return _t.length < 20 && (_t += this._input.substr(0, 20 - _t.length)), (_t.substr(0, 20) + (_t.length > 20 ? "..." : "")).replace(/\n/g, "") }, showPosition: function () {
                    var _t = this.pastInput(), X = new Array(_t.length + 1).join("-"); return _t + this.upcomingInput() + `
    `+ X + "^"
                }, test_match: function (_t, X) { var Rt, ft, de; if (this.options.backtrack_lexer && (de = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (de.yylloc.range = this.yylloc.range.slice(0))), ft = _t[0].match(/(?:\r\n?|\n).*/g), ft && (this.yylineno += ft.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: ft ? ft[ft.length - 1].length - ft[ft.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + _t[0].length }, this.yytext += _t[0], this.match += _t[0], this.matches = _t, 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(_t[0].length), this.matched += _t[0], Rt = this.performAction.call(this, this.yy, this, X, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), Rt) return Rt; if (this._backtrack) { for (var J in de) this[J] = de[J]; return !1 } return !1 }, next: function () {
                    if (this.done) return this.EOF; this._input || (this.done = !0); var _t, X, Rt, ft; this._more || (this.yytext = "", this.match = ""); for (var de = this._currentRules(), J = 0; J < de.length; J++)if (Rt = this._input.match(this.rules[de[J]]), Rt && (!X || Rt[0].length > X[0].length)) { if (X = Rt, ft = J, this.options.backtrack_lexer) { if (_t = this.test_match(Rt, de[J]), _t !== !1) return _t; if (this._backtrack) { X = !1; continue } else return !1 } else if (!this.options.flex) break } return X ? (_t = this.test_match(X, de[ft]), _t !== !1 ? _t : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno })
                }, lex: function () { var X = this.next(); return X || this.lex() }, begin: function (X) { this.conditionStack.push(X) }, popState: function () { var X = this.conditionStack.length - 1; return X > 0 ? this.conditionStack.pop() : this.conditionStack[0] }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules }, topState: function (X) { return X = this.conditionStack.length - 1 - Math.abs(X || 0), X >= 0 ? this.conditionStack[X] : "INITIAL" }, pushState: function (X) { this.begin(X) }, stateStackSize: function () { return this.conditionStack.length }, options: { "case-insensitive": !0 }, performAction: function (X, Rt, ft, de) { switch (ft) { case 0: return this.begin("acc_title"), 25; case 1: return this.popState(), "acc_title_value"; case 2: return this.begin("acc_descr"), 27; case 3: return this.popState(), "acc_descr_value"; case 4: this.begin("acc_descr_multiline"); break; case 5: this.popState(); break; case 6: return "acc_descr_multiline_value"; case 7: return this.begin("open_directive"), 52; case 8: return this.begin("type_directive"), 53; case 9: return this.popState(), this.begin("arg_directive"), 15; case 10: return this.popState(), this.popState(), 55; case 11: return 54; case 12: return 11; case 13: break; case 14: return 9; case 15: return 31; case 16: return 51; case 17: return 4; case 18: return this.begin("block"), 20; case 19: return 39; case 20: break; case 21: return 40; case 22: return 37; case 23: return 37; case 24: return 41; case 25: break; case 26: return this.popState(), 22; case 27: return Rt.yytext[0]; case 28: return 44; case 29: return 46; case 30: return 46; case 31: return 46; case 32: return 44; case 33: return 44; case 34: return 45; case 35: return 45; case 36: return 45; case 37: return 45; case 38: return 45; case 39: return 46; case 40: return 45; case 41: return 46; case 42: return 47; case 43: return 47; case 44: return 47; case 45: return 47; case 46: return 44; case 47: return 45; case 48: return 46; case 49: return 48; case 50: return 49; case 51: return 50; case 52: return 50; case 53: return 49; case 54: return 49; case 55: return 49; case 56: return 30; case 57: return Rt.yytext[0]; case 58: return 6 } }, rules: [/^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:%%\{)/i, /^(?:((?:(?!\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\}%%)/i, /^(?:((?:(?!\}%%).|\n)*))/i, /^(?:[\n]+)/i, /^(?:\s+)/i, /^(?:[\s]+)/i, /^(?:"[^"%\r\n\v\b\\]+")/i, /^(?:"[^"]*")/i, /^(?:erDiagram\b)/i, /^(?:\{)/i, /^(?:,)/i, /^(?:\s+)/i, /^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i, /^(?:(.*?)[~](.*?)*[~])/i, /^(?:[A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i, /^(?:"[^"]*")/i, /^(?:[\n]+)/i, /^(?:\})/i, /^(?:.)/i, /^(?:one or zero\b)/i, /^(?:one or more\b)/i, /^(?:one or many\b)/i, /^(?:1\+)/i, /^(?:\|o\b)/i, /^(?:zero or one\b)/i, /^(?:zero or more\b)/i, /^(?:zero or many\b)/i, /^(?:0\+)/i, /^(?:\}o\b)/i, /^(?:many\(0\))/i, /^(?:many\(1\))/i, /^(?:many\b)/i, /^(?:\}\|)/i, /^(?:one\b)/i, /^(?:only one\b)/i, /^(?:1\b)/i, /^(?:\|\|)/i, /^(?:o\|)/i, /^(?:o\{)/i, /^(?:\|\{)/i, /^(?:\s*u\b)/i, /^(?:\.\.)/i, /^(?:--)/i, /^(?:to\b)/i, /^(?:optionally to\b)/i, /^(?:\.-)/i, /^(?:-\.)/i, /^(?:[A-Za-z][A-Za-z0-9\-_]*)/i, /^(?:.)/i, /^(?:$)/i], conditions: { acc_descr_multiline: { rules: [5, 6], inclusive: !1 }, acc_descr: { rules: [3], inclusive: !1 }, acc_title: { rules: [1], inclusive: !1 }, open_directive: { rules: [8], inclusive: !1 }, type_directive: { rules: [9, 10], inclusive: !1 }, arg_directive: { rules: [10, 11], inclusive: !1 }, block: { rules: [19, 20, 21, 22, 23, 24, 25, 26, 27], inclusive: !1 }, INITIAL: { rules: [0, 2, 4, 7, 12, 13, 14, 15, 16, 17, 18, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58], inclusive: !0 } }
            }; return lt
        }(); rt.lexer = wt; function gt() { this.yy = {} } return gt.prototype = rt, rt.Parser = gt, new gt
    }(); m0t.parser = m0t; const Rje = m0t; let gP = {}, y0t = []; const jje = { ZERO_OR_ONE: "ZERO_OR_ONE", ZERO_OR_MORE: "ZERO_OR_MORE", ONE_OR_MORE: "ONE_OR_MORE", ONLY_ONE: "ONLY_ONE", MD_PARENT: "MD_PARENT" }, $je = { NON_IDENTIFYING: "NON_IDENTIFYING", IDENTIFYING: "IDENTIFYING" }, zje = function (i, a, f) { d1.parseDirective(this, i, a, f) }, lBt = function (i) { return gP[i] === void 0 && (gP[i] = { attributes: [] }, zt.info("Added new entity :", i)), gP[i] }, qje = { Cardinality: jje, Identification: $je, parseDirective: zje, getConfig: () => Oe().er, addEntity: lBt, addAttributes: function (i, a) { let f = lBt(i), p; for (p = a.length - 1; p >= 0; p--)f.attributes.push(a[p]), zt.debug("Added attribute ", a[p].attributeName) }, getEntities: () => gP, addRelationship: function (i, a, f, p) { let v = { entityA: i, roleA: a, entityB: f, relSpec: p }; y0t.push(v), zt.debug("Added new relationship :", v) }, getRelationships: () => y0t, clear: function () { gP = {}, y0t = [], cg() }, setAccTitle: ug, getAccTitle: op, setAccDescription: cp, getAccDescription: up, setDiagramTitle: Kb, getDiagramTitle: O2 }, am = { ONLY_ONE_START: "ONLY_ONE_START", ONLY_ONE_END: "ONLY_ONE_END", ZERO_OR_ONE_START: "ZERO_OR_ONE_START", ZERO_OR_ONE_END: "ZERO_OR_ONE_END", ONE_OR_MORE_START: "ONE_OR_MORE_START", ONE_OR_MORE_END: "ONE_OR_MORE_END", ZERO_OR_MORE_START: "ZERO_OR_MORE_START", ZERO_OR_MORE_END: "ZERO_OR_MORE_END", MD_PARENT_END: "MD_PARENT_END", MD_PARENT_START: "MD_PARENT_START" }, om = { ERMarkers: am, insertMarkers: function (i, a) { let f; i.append("defs").append("marker").attr("id", am.MD_PARENT_START).attr("refX", 0).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), i.append("defs").append("marker").attr("id", am.MD_PARENT_END).attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), i.append("defs").append("marker").attr("id", am.ONLY_ONE_START).attr("refX", 0).attr("refY", 9).attr("markerWidth", 18).attr("markerHeight", 18).attr("orient", "auto").append("path").attr("stroke", a.stroke).attr("fill", "none").attr("d", "M9,0 L9,18 M15,0 L15,18"), i.append("defs").append("marker").attr("id", am.ONLY_ONE_END).attr("refX", 18).attr("refY", 9).attr("markerWidth", 18).attr("markerHeight", 18).attr("orient", "auto").append("path").attr("stroke", a.stroke).attr("fill", "none").attr("d", "M3,0 L3,18 M9,0 L9,18"), f = i.append("defs").append("marker").attr("id", am.ZERO_OR_ONE_START).attr("refX", 0).attr("refY", 9).attr("markerWidth", 30).attr("markerHeight", 18).attr("orient", "auto"), f.append("circle").attr("stroke", a.stroke).attr("fill", "white").attr("cx", 21).attr("cy", 9).attr("r", 6), f.append("path").attr("stroke", a.stroke).attr("fill", "none").attr("d", "M9,0 L9,18"), f = i.append("defs").append("marker").attr("id", am.ZERO_OR_ONE_END).attr("refX", 30).attr("refY", 9).attr("markerWidth", 30).attr("markerHeight", 18).attr("orient", "auto"), f.append("circle").attr("stroke", a.stroke).attr("fill", "white").attr("cx", 9).attr("cy", 9).attr("r", 6), f.append("path").attr("stroke", a.stroke).attr("fill", "none").attr("d", "M21,0 L21,18"), i.append("defs").append("marker").attr("id", am.ONE_OR_MORE_START).attr("refX", 18).attr("refY", 18).attr("markerWidth", 45).attr("markerHeight", 36).attr("orient", "auto").append("path").attr("stroke", a.stroke).attr("fill", "none").attr("d", "M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"), i.append("defs").append("marker").attr("id", am.ONE_OR_MORE_END).attr("refX", 27).attr("refY", 18).attr("markerWidth", 45).attr("markerHeight", 36).attr("orient", "auto").append("path").attr("stroke", a.stroke).attr("fill", "none").attr("d", "M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"), f = i.append("defs").append("marker").attr("id", am.ZERO_OR_MORE_START).attr("refX", 18).attr("refY", 18).attr("markerWidth", 57).attr("markerHeight", 36).attr("orient", "auto"), f.append("circle").attr("stroke", a.stroke).attr("fill", "white").attr("cx", 48).attr("cy", 18).attr("r", 6), f.append("path").attr("stroke", a.stroke).attr("fill", "none").attr("d", "M0,18 Q18,0 36,18 Q18,36 0,18"), f = i.append("defs").append("marker").attr("id", am.ZERO_OR_MORE_END).attr("refX", 39).attr("refY", 18).attr("markerWidth", 57).attr("markerHeight", 36).attr("orient", "auto"), f.append("circle").attr("stroke", a.stroke).attr("fill", "white").attr("cx", 9).attr("cy", 18).attr("r", 6), f.append("path").attr("stroke", a.stroke).attr("fill", "none").attr("d", "M21,18 Q39,0 57,18 Q39,36 21,18") } }, Hje = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; function Vje(i) { return typeof i == "string" && Hje.test(i) } const $d = []; for (let i = 0; i < 256; ++i)$d.push((i + 256).toString(16).slice(1)); function Gje(i, a = 0) { return ($d[i[a + 0]] + $d[i[a + 1]] + $d[i[a + 2]] + $d[i[a + 3]] + "-" + $d[i[a + 4]] + $d[i[a + 5]] + "-" + $d[i[a + 6]] + $d[i[a + 7]] + "-" + $d[i[a + 8]] + $d[i[a + 9]] + "-" + $d[i[a + 10]] + $d[i[a + 11]] + $d[i[a + 12]] + $d[i[a + 13]] + $d[i[a + 14]] + $d[i[a + 15]]).toLowerCase() } function Uje(i) { if (!Vje(i)) throw TypeError("Invalid UUID"); let a; const f = new Uint8Array(16); return f[0] = (a = parseInt(i.slice(0, 8), 16)) >>> 24, f[1] = a >>> 16 & 255, f[2] = a >>> 8 & 255, f[3] = a & 255, f[4] = (a = parseInt(i.slice(9, 13), 16)) >>> 8, f[5] = a & 255, f[6] = (a = parseInt(i.slice(14, 18), 16)) >>> 8, f[7] = a & 255, f[8] = (a = parseInt(i.slice(19, 23), 16)) >>> 8, f[9] = a & 255, f[10] = (a = parseInt(i.slice(24, 36), 16)) / 1099511627776 & 255, f[11] = a / 4294967296 & 255, f[12] = a >>> 24 & 255, f[13] = a >>> 16 & 255, f[14] = a >>> 8 & 255, f[15] = a & 255, f } function Wje(i) { i = unescape(encodeURIComponent(i)); const a = []; for (let f = 0; f < i.length; ++f)a.push(i.charCodeAt(f)); return a } const Kje = "6ba7b810-9dad-11d1-80b4-00c04fd430c8", Yje = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"; function Xje(i, a, f) { function p(v, m, b, E) { var C; if (typeof v == "string" && (v = Wje(v)), typeof m == "string" && (m = Uje(m)), ((C = m) === null || C === void 0 ? void 0 : C.length) !== 16) throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)"); let D = new Uint8Array(16 + v.length); if (D.set(m), D.set(v, m.length), D = f(D), D[6] = D[6] & 15 | a, D[8] = D[8] & 63 | 128, b) { E = E || 0; for (let P = 0; P < 16; ++P)b[E + P] = D[P]; return b } return Gje(D) } try { p.name = i } catch { } return p.DNS = Kje, p.URL = Yje, p } function Qje(i, a, f, p) { switch (i) { case 0: return a & f ^ ~a & p; case 1: return a ^ f ^ p; case 2: return a & f ^ a & p ^ f & p; case 3: return a ^ f ^ p } } function x0t(i, a) { return i << a | i >>> 32 - a } function Zje(i) { const a = [1518500249, 1859775393, 2400959708, 3395469782], f = [1732584193, 4023233417, 2562383102, 271733878, 3285377520]; if (typeof i == "string") { const b = unescape(encodeURIComponent(i)); i = []; for (let E = 0; E < b.length; ++E)i.push(b.charCodeAt(E)) } else Array.isArray(i) || (i = Array.prototype.slice.call(i)); i.push(128); const p = i.length / 4 + 2, v = Math.ceil(p / 16), m = new Array(v); for (let b = 0; b < v; ++b) { const E = new Uint32Array(16); for (let C = 0; C < 16; ++C)E[C] = i[b * 64 + C * 4] << 24 | i[b * 64 + C * 4 + 1] << 16 | i[b * 64 + C * 4 + 2] << 8 | i[b * 64 + C * 4 + 3]; m[b] = E } m[v - 1][14] = (i.length - 1) * 8 / Math.pow(2, 32), m[v - 1][14] = Math.floor(m[v - 1][14]), m[v - 1][15] = (i.length - 1) * 8 & 4294967295; for (let b = 0; b < v; ++b) { const E = new Uint32Array(80); for (let R = 0; R < 16; ++R)E[R] = m[b][R]; for (let R = 16; R < 80; ++R)E[R] = x0t(E[R - 3] ^ E[R - 8] ^ E[R - 14] ^ E[R - 16], 1); let C = f[0], D = f[1], P = f[2], B = f[3], j = f[4]; for (let R = 0; R < 80; ++R) { const H = Math.floor(R / 20), Y = x0t(C, 5) + Qje(H, D, P, B) + j + a[H] + E[R] >>> 0; j = B, B = P, P = x0t(D, 30) >>> 0, D = C, C = Y } f[0] = f[0] + C >>> 0, f[1] = f[1] + D >>> 0, f[2] = f[2] + P >>> 0, f[3] = f[3] + B >>> 0, f[4] = f[4] + j >>> 0 } return [f[0] >> 24 & 255, f[0] >> 16 & 255, f[0] >> 8 & 255, f[0] & 255, f[1] >> 24 & 255, f[1] >> 16 & 255, f[1] >> 8 & 255, f[1] & 255, f[2] >> 24 & 255, f[2] >> 16 & 255, f[2] >> 8 & 255, f[2] & 255, f[3] >> 24 & 255, f[3] >> 16 & 255, f[3] >> 8 & 255, f[3] & 255, f[4] >> 24 & 255, f[4] >> 16 & 255, f[4] >> 8 & 255, f[4] & 255] } const Jje = Xje("v5", 80, Zje), t$e = /[^\dA-Za-z](\W)*/g; let g1 = {}, pP = new Map; const e$e = function (i) { const a = Object.keys(i); for (const f of a) g1[f] = i[f] }, n$e = (i, a, f) => { const p = g1.entityPadding / 3, v = g1.entityPadding / 3, m = g1.fontSize * .85, b = a.node().getBBox(), E = []; let C = !1, D = !1, P = 0, B = 0, j = 0, R = 0, H = b.height + p * 2, Y = 1; f.forEach(pt => { pt.attributeKeyTypeList !== void 0 && pt.attributeKeyTypeList.length > 0 && (C = !0), pt.attributeComment !== void 0 && (D = !0) }), f.forEach(pt => { const Tt = `${a.node().id}-attr-${Y}`; let kt = 0; const yt = BN(pt.attributeType), ht = i.append("text").classed("er entityLabel", !0).attr("id", `${Tt}-type`).attr("x", 0).attr("y", 0).style("dominant-baseline", "middle").style("text-anchor", "left").style("font-family", Oe().fontFamily).style("font-size", m + "px").text(yt), mt = i.append("text").classed("er entityLabel", !0).attr("id", `${Tt}-name`).attr("x", 0).attr("y", 0).style("dominant-baseline", "middle").style("text-anchor", "left").style("font-family", Oe().fontFamily).style("font-size", m + "px").text(pt.attributeName), rt = {}; rt.tn = ht, rt.nn = mt; const wt = ht.node().getBBox(), gt = mt.node().getBBox(); if (P = Math.max(P, wt.width), B = Math.max(B, gt.width), kt = Math.max(wt.height, gt.height), C) { const lt = pt.attributeKeyTypeList !== void 0 ? pt.attributeKeyTypeList.join(",") : "", _t = i.append("text").classed("er entityLabel", !0).attr("id", `${Tt}-key`).attr("x", 0).attr("y", 0).style("dominant-baseline", "middle").style("text-anchor", "left").style("font-family", Oe().fontFamily).style("font-size", m + "px").text(lt); rt.kn = _t; const X = _t.node().getBBox(); j = Math.max(j, X.width), kt = Math.max(kt, X.height) } if (D) { const lt = i.append("text").classed("er entityLabel", !0).attr("id", `${Tt}-comment`).attr("x", 0).attr("y", 0).style("dominant-baseline", "middle").style("text-anchor", "left").style("font-family", Oe().fontFamily).style("font-size", m + "px").text(pt.attributeComment || ""); rt.cn = lt; const _t = lt.node().getBBox(); R = Math.max(R, _t.width), kt = Math.max(kt, _t.height) } rt.height = kt, E.push(rt), H += kt + p * 2, Y += 1 }); let it = 4; C && (it += 2), D && (it += 2); const nt = P + B + j + R, st = { width: Math.max(g1.minEntityWidth, Math.max(b.width + g1.entityPadding * 2, nt + v * it)), height: f.length > 0 ? H : Math.max(g1.minEntityHeight, b.height + g1.entityPadding * 2) }; if (f.length > 0) { const pt = Math.max(0, (st.width - nt - v * it) / (it / 2)); a.attr("transform", "translate(" + st.width / 2 + "," + (p + b.height / 2) + ")"); let Tt = b.height + p * 2, kt = "attributeBoxOdd"; E.forEach(yt => { const ht = Tt + p + yt.height / 2; yt.tn.attr("transform", "translate(" + v + "," + ht + ")"); const mt = i.insert("rect", "#" + yt.tn.node().id).classed(`er ${kt}`, !0).attr("x", 0).attr("y", Tt).attr("width", P + v * 2 + pt).attr("height", yt.height + p * 2), rt = parseFloat(mt.attr("x")) + parseFloat(mt.attr("width")); yt.nn.attr("transform", "translate(" + (rt + v) + "," + ht + ")"); const wt = i.insert("rect", "#" + yt.nn.node().id).classed(`er ${kt}`, !0).attr("x", rt).attr("y", Tt).attr("width", B + v * 2 + pt).attr("height", yt.height + p * 2); let gt = parseFloat(wt.attr("x")) + parseFloat(wt.attr("width")); if (C) { yt.kn.attr("transform", "translate(" + (gt + v) + "," + ht + ")"); const lt = i.insert("rect", "#" + yt.kn.node().id).classed(`er ${kt}`, !0).attr("x", gt).attr("y", Tt).attr("width", j + v * 2 + pt).attr("height", yt.height + p * 2); gt = parseFloat(lt.attr("x")) + parseFloat(lt.attr("width")) } D && (yt.cn.attr("transform", "translate(" + (gt + v) + "," + ht + ")"), i.insert("rect", "#" + yt.cn.node().id).classed(`er ${kt}`, "true").attr("x", gt).attr("y", Tt).attr("width", R + v * 2 + pt).attr("height", yt.height + p * 2)), Tt += yt.height + p * 2, kt = kt === "attributeBoxOdd" ? "attributeBoxEven" : "attributeBoxOdd" }) } else st.height = Math.max(g1.minEntityHeight, H), a.attr("transform", "translate(" + st.width / 2 + "," + st.height / 2 + ")"); return st }, r$e = function (i, a, f) { const p = Object.keys(a); let v; return p.forEach(function (m) { const b = u$e(m, "entity"); pP.set(m, b); const E = i.append("g").attr("id", b); v = v === void 0 ? b : v; const C = "text-" + b, D = E.append("text").classed("er entityLabel", !0).attr("id", C).attr("x", 0).attr("y", 0).style("dominant-baseline", "middle").style("text-anchor", "middle").style("font-family", Oe().fontFamily).style("font-size", g1.fontSize + "px").text(m), { width: P, height: B } = n$e(E, D, a[m].attributes), R = E.insert("rect", "#" + C).classed("er entityBox", !0).attr("x", 0).attr("y", 0).attr("width", P).attr("height", B).node().getBBox(); f.setNode(b, { width: R.width, height: R.height, shape: "rect", id: b }) }), v }, i$e = function (i, a) { a.nodes().forEach(function (f) { f !== void 0 && a.node(f) !== void 0 && i.select("#" + f).attr("transform", "translate(" + (a.node(f).x - a.node(f).width / 2) + "," + (a.node(f).y - a.node(f).height / 2) + " )") }) }, hBt = function (i) { return (i.entityA + i.roleA + i.entityB).replace(/\s/g, "") }, s$e = function (i, a) { return i.forEach(function (f) { a.setEdge(pP.get(f.entityA), pP.get(f.entityB), { relationship: f }, hBt(f)) }), i }; let fBt = 0; const a$e = function (i, a, f, p, v) { fBt++; const m = f.edge(pP.get(a.entityA), pP.get(a.entityB), hBt(a)), b = Y9().x(function (H) { return H.x }).y(function (H) { return H.y }).curve(CA), E = i.insert("path", "#" + p).classed("er relationshipLine", !0).attr("d", b(m.points)).style("stroke", g1.stroke).style("fill", "none"); a.relSpec.relType === v.db.Identification.NON_IDENTIFYING && E.attr("stroke-dasharray", "8,8"); let C = ""; switch (g1.arrowMarkerAbsolute && (C = window.location.protocol + "//" + window.location.host + window.location.pathname + window.location.search, C = C.replace(/\(/g, "\\("), C = C.replace(/\)/g, "\\)")), a.relSpec.cardA) { case v.db.Cardinality.ZERO_OR_ONE: E.attr("marker-end", "url(" + C + "#" + om.ERMarkers.ZERO_OR_ONE_END + ")"); break; case v.db.Cardinality.ZERO_OR_MORE: E.attr("marker-end", "url(" + C + "#" + om.ERMarkers.ZERO_OR_MORE_END + ")"); break; case v.db.Cardinality.ONE_OR_MORE: E.attr("marker-end", "url(" + C + "#" + om.ERMarkers.ONE_OR_MORE_END + ")"); break; case v.db.Cardinality.ONLY_ONE: E.attr("marker-end", "url(" + C + "#" + om.ERMarkers.ONLY_ONE_END + ")"); break; case v.db.Cardinality.MD_PARENT: E.attr("marker-end", "url(" + C + "#" + om.ERMarkers.MD_PARENT_END + ")"); break }switch (a.relSpec.cardB) { case v.db.Cardinality.ZERO_OR_ONE: E.attr("marker-start", "url(" + C + "#" + om.ERMarkers.ZERO_OR_ONE_START + ")"); break; case v.db.Cardinality.ZERO_OR_MORE: E.attr("marker-start", "url(" + C + "#" + om.ERMarkers.ZERO_OR_MORE_START + ")"); break; case v.db.Cardinality.ONE_OR_MORE: E.attr("marker-start", "url(" + C + "#" + om.ERMarkers.ONE_OR_MORE_START + ")"); break; case v.db.Cardinality.ONLY_ONE: E.attr("marker-start", "url(" + C + "#" + om.ERMarkers.ONLY_ONE_START + ")"); break; case v.db.Cardinality.MD_PARENT: E.attr("marker-start", "url(" + C + "#" + om.ERMarkers.MD_PARENT_START + ")"); break }const D = E.node().getTotalLength(), P = E.node().getPointAtLength(D * .5), B = "rel" + fBt, R = i.append("text").classed("er relationshipLabel", !0).attr("id", B).attr("x", P.x).attr("y", P.y).style("text-anchor", "middle").style("dominant-baseline", "middle").style("font-family", Oe().fontFamily).style("font-size", g1.fontSize + "px").text(a.roleA).node().getBBox(); i.insert("rect", "#" + B).classed("er relationshipLabelBox", !0).attr("x", P.x - R.width / 2).attr("y", P.y - R.height / 2).attr("width", R.width).attr("height", R.height) }, o$e = function (i, a, f, p) { g1 = Oe().er, zt.info("Drawing ER diagram"); const v = Oe().securityLevel; let m; v === "sandbox" && (m = Mr("#i" + a)); const E = Mr(v === "sandbox" ? m.nodes()[0].contentDocument.body : "body").select(`[id='${a}']`); om.insertMarkers(E, g1); let C; C = new jf({ multigraph: !0, directed: !0, compound: !1 }).setGraph({ rankdir: g1.layoutDirection, marginx: 20, marginy: 20, nodesep: 100, edgesep: 100, ranksep: 100 }).setDefaultEdgeLabel(function () { return {} }); const D = r$e(E, p.db.getEntities(), C), P = s$e(p.db.getRelationships(), C); eL(C), i$e(E, C), P.forEach(function (Y) { a$e(E, Y, C, D, p) }); const B = g1.diagramPadding; lo.insertTitle(E, "entityTitleText", g1.titleTopMargin, p.db.getDiagramTitle()); const j = E.node().getBBox(), R = j.width + B * 2, H = j.height + B * 2; Wb(E, H, R, g1.useMaxWidth), E.attr("viewBox", `${j.x - B} ${j.y - B} ${R} ${H}`) }, c$e = "28e9f9db-3c8d-5aa5-9faf-44286ae5937c"; function u$e(i = "", a = "") { const f = i.replace(t$e, ""); return `${dBt(a)}${dBt(f)}${Jje(i, c$e)}` } function dBt(i = "") { return i.length > 0 ? `${i}-` : "" } const l$e = Object.freeze(Object.defineProperty({
        __proto__: null, diagram: {
            parser: Rje, db: qje, renderer: { setConf: e$e, draw: o$e }, styles: i => `
      .entityBox {
        fill: ${i.mainBkg};
        stroke: ${i.nodeBorder};
      }
    
      .attributeBoxOdd {
        fill: ${i.attributeBackgroundColorOdd};
        stroke: ${i.nodeBorder};
      }
    
      .attributeBoxEven {
        fill:  ${i.attributeBackgroundColorEven};
        stroke: ${i.nodeBorder};
      }
    
      .relationshipLabelBox {
        fill: ${i.tertiaryColor};
        opacity: 0.7;
        background-color: ${i.tertiaryColor};
          rect {
            opacity: 0.5;
          }
      }
    
        .relationshipLine {
          stroke: ${i.lineColor};
        }
    
      .entityTitleText {
        text-anchor: middle;
        font-size: 18px;
        fill: ${i.textColor};
      }    
      #MD_PARENT_START {
        fill: #f5f5f5 !important;
        stroke: ${i.lineColor} !important;
        stroke-width: 1;
      }
      #MD_PARENT_END {
        fill: #f5f5f5 !important;
        stroke: ${i.lineColor} !important;
        stroke-width: 1;
      }
      
    `}
    }, Symbol.toStringTag, { value: "Module" })); var k0t = function () {
        var i = function (mt, rt, wt, gt) { for (wt = wt || {}, gt = mt.length; gt--; wt[mt[gt]] = rt); return wt }, a = [1, 4], f = [1, 7], p = [1, 5], v = [1, 9], m = [1, 6], b = [2, 6], E = [1, 16], C = [6, 8, 14, 20, 22, 24, 25, 27, 29, 32, 37, 40, 50, 55], D = [8, 14, 20, 22, 24, 25, 27, 29, 32, 37, 40], P = [8, 13, 14, 20, 22, 24, 25, 27, 29, 32, 37, 40], B = [1, 26], j = [6, 8, 14, 50, 55], R = [8, 14, 55], H = [1, 53], Y = [1, 52], it = [8, 14, 30, 33, 35, 38, 55], nt = [1, 67], st = [1, 68], pt = [1, 69], Tt = [8, 14, 33, 35, 42, 55], kt = {
            trace: function () { }, yy: {}, symbols_: { error: 2, start: 3, eol: 4, directive: 5, GG: 6, document: 7, EOF: 8, ":": 9, DIR: 10, options: 11, body: 12, OPT: 13, NL: 14, line: 15, statement: 16, commitStatement: 17, mergeStatement: 18, cherryPickStatement: 19, acc_title: 20, acc_title_value: 21, acc_descr: 22, acc_descr_value: 23, acc_descr_multiline_value: 24, section: 25, branchStatement: 26, CHECKOUT: 27, ref: 28, BRANCH: 29, ORDER: 30, NUM: 31, CHERRY_PICK: 32, COMMIT_ID: 33, STR: 34, COMMIT_TAG: 35, EMPTYSTR: 36, MERGE: 37, COMMIT_TYPE: 38, commitType: 39, COMMIT: 40, commit_arg: 41, COMMIT_MSG: 42, NORMAL: 43, REVERSE: 44, HIGHLIGHT: 45, openDirective: 46, typeDirective: 47, closeDirective: 48, argDirective: 49, open_directive: 50, type_directive: 51, arg_directive: 52, close_directive: 53, ID: 54, ";": 55, $accept: 0, $end: 1 }, terminals_: { 2: "error", 6: "GG", 8: "EOF", 9: ":", 10: "DIR", 13: "OPT", 14: "NL", 20: "acc_title", 21: "acc_title_value", 22: "acc_descr", 23: "acc_descr_value", 24: "acc_descr_multiline_value", 25: "section", 27: "CHECKOUT", 29: "BRANCH", 30: "ORDER", 31: "NUM", 32: "CHERRY_PICK", 33: "COMMIT_ID", 34: "STR", 35: "COMMIT_TAG", 36: "EMPTYSTR", 37: "MERGE", 38: "COMMIT_TYPE", 40: "COMMIT", 42: "COMMIT_MSG", 43: "NORMAL", 44: "REVERSE", 45: "HIGHLIGHT", 50: "open_directive", 51: "type_directive", 52: "arg_directive", 53: "close_directive", 54: "ID", 55: ";" }, productions_: [0, [3, 2], [3, 2], [3, 3], [3, 4], [3, 5], [7, 0], [7, 2], [11, 2], [11, 1], [12, 0], [12, 2], [15, 2], [15, 1], [16, 1], [16, 1], [16, 1], [16, 2], [16, 2], [16, 1], [16, 1], [16, 1], [16, 2], [26, 2], [26, 4], [19, 3], [19, 5], [19, 5], [19, 5], [19, 5], [18, 2], [18, 4], [18, 4], [18, 4], [18, 6], [18, 6], [18, 6], [18, 6], [18, 6], [18, 6], [18, 8], [18, 8], [18, 8], [18, 8], [18, 8], [18, 8], [17, 2], [17, 3], [17, 3], [17, 5], [17, 5], [17, 3], [17, 5], [17, 5], [17, 5], [17, 5], [17, 7], [17, 7], [17, 7], [17, 7], [17, 7], [17, 7], [17, 3], [17, 5], [17, 5], [17, 5], [17, 5], [17, 5], [17, 5], [17, 7], [17, 7], [17, 7], [17, 7], [17, 7], [17, 7], [17, 7], [17, 7], [17, 7], [17, 7], [17, 7], [17, 7], [17, 7], [17, 7], [17, 7], [17, 7], [17, 7], [17, 7], [17, 9], [17, 9], [17, 9], [17, 9], [17, 9], [17, 9], [17, 9], [17, 9], [17, 9], [17, 9], [17, 9], [17, 9], [17, 9], [17, 9], [17, 9], [17, 9], [17, 9], [17, 9], [17, 9], [17, 9], [17, 9], [17, 9], [17, 9], [17, 9], [41, 0], [41, 1], [39, 1], [39, 1], [39, 1], [5, 3], [5, 5], [46, 1], [47, 1], [49, 1], [48, 1], [28, 1], [28, 1], [4, 1], [4, 1], [4, 1]], performAction: function (rt, wt, gt, lt, _t, X, Rt) { var ft = X.length - 1; switch (_t) { case 3: return X[ft]; case 4: return X[ft - 1]; case 5: return lt.setDirection(X[ft - 3]), X[ft - 1]; case 7: lt.setOptions(X[ft - 1]), this.$ = X[ft]; break; case 8: X[ft - 1] += X[ft], this.$ = X[ft - 1]; break; case 10: this.$ = []; break; case 11: X[ft - 1].push(X[ft]), this.$ = X[ft - 1]; break; case 12: this.$ = X[ft - 1]; break; case 17: this.$ = X[ft].trim(), lt.setAccTitle(this.$); break; case 18: case 19: this.$ = X[ft].trim(), lt.setAccDescription(this.$); break; case 20: lt.addSection(X[ft].substr(8)), this.$ = X[ft].substr(8); break; case 22: lt.checkout(X[ft]); break; case 23: lt.branch(X[ft]); break; case 24: lt.branch(X[ft - 2], X[ft]); break; case 25: lt.cherryPick(X[ft], "", void 0); break; case 26: lt.cherryPick(X[ft - 2], "", X[ft]); break; case 27: case 29: lt.cherryPick(X[ft - 2], "", ""); break; case 28: lt.cherryPick(X[ft], "", X[ft - 2]); break; case 30: lt.merge(X[ft], "", "", ""); break; case 31: lt.merge(X[ft - 2], X[ft], "", ""); break; case 32: lt.merge(X[ft - 2], "", X[ft], ""); break; case 33: lt.merge(X[ft - 2], "", "", X[ft]); break; case 34: lt.merge(X[ft - 4], X[ft], "", X[ft - 2]); break; case 35: lt.merge(X[ft - 4], "", X[ft], X[ft - 2]); break; case 36: lt.merge(X[ft - 4], "", X[ft - 2], X[ft]); break; case 37: lt.merge(X[ft - 4], X[ft - 2], X[ft], ""); break; case 38: lt.merge(X[ft - 4], X[ft - 2], "", X[ft]); break; case 39: lt.merge(X[ft - 4], X[ft], X[ft - 2], ""); break; case 40: lt.merge(X[ft - 6], X[ft - 4], X[ft - 2], X[ft]); break; case 41: lt.merge(X[ft - 6], X[ft], X[ft - 4], X[ft - 2]); break; case 42: lt.merge(X[ft - 6], X[ft - 4], X[ft], X[ft - 2]); break; case 43: lt.merge(X[ft - 6], X[ft - 2], X[ft - 4], X[ft]); break; case 44: lt.merge(X[ft - 6], X[ft], X[ft - 2], X[ft - 4]); break; case 45: lt.merge(X[ft - 6], X[ft - 2], X[ft], X[ft - 4]); break; case 46: lt.commit(X[ft]); break; case 47: lt.commit("", "", lt.commitType.NORMAL, X[ft]); break; case 48: lt.commit("", "", X[ft], ""); break; case 49: lt.commit("", "", X[ft], X[ft - 2]); break; case 50: lt.commit("", "", X[ft - 2], X[ft]); break; case 51: lt.commit("", X[ft], lt.commitType.NORMAL, ""); break; case 52: lt.commit("", X[ft - 2], lt.commitType.NORMAL, X[ft]); break; case 53: lt.commit("", X[ft], lt.commitType.NORMAL, X[ft - 2]); break; case 54: lt.commit("", X[ft - 2], X[ft], ""); break; case 55: lt.commit("", X[ft], X[ft - 2], ""); break; case 56: lt.commit("", X[ft - 4], X[ft - 2], X[ft]); break; case 57: lt.commit("", X[ft - 4], X[ft], X[ft - 2]); break; case 58: lt.commit("", X[ft - 2], X[ft - 4], X[ft]); break; case 59: lt.commit("", X[ft], X[ft - 4], X[ft - 2]); break; case 60: lt.commit("", X[ft], X[ft - 2], X[ft - 4]); break; case 61: lt.commit("", X[ft - 2], X[ft], X[ft - 4]); break; case 62: lt.commit(X[ft], "", lt.commitType.NORMAL, ""); break; case 63: lt.commit(X[ft], "", lt.commitType.NORMAL, X[ft - 2]); break; case 64: lt.commit(X[ft - 2], "", lt.commitType.NORMAL, X[ft]); break; case 65: lt.commit(X[ft - 2], "", X[ft], ""); break; case 66: lt.commit(X[ft], "", X[ft - 2], ""); break; case 67: lt.commit(X[ft], X[ft - 2], lt.commitType.NORMAL, ""); break; case 68: lt.commit(X[ft - 2], X[ft], lt.commitType.NORMAL, ""); break; case 69: lt.commit(X[ft - 4], "", X[ft - 2], X[ft]); break; case 70: lt.commit(X[ft - 4], "", X[ft], X[ft - 2]); break; case 71: lt.commit(X[ft - 2], "", X[ft - 4], X[ft]); break; case 72: lt.commit(X[ft], "", X[ft - 4], X[ft - 2]); break; case 73: lt.commit(X[ft], "", X[ft - 2], X[ft - 4]); break; case 74: lt.commit(X[ft - 2], "", X[ft], X[ft - 4]); break; case 75: lt.commit(X[ft - 4], X[ft], X[ft - 2], ""); break; case 76: lt.commit(X[ft - 4], X[ft - 2], X[ft], ""); break; case 77: lt.commit(X[ft - 2], X[ft], X[ft - 4], ""); break; case 78: lt.commit(X[ft], X[ft - 2], X[ft - 4], ""); break; case 79: lt.commit(X[ft], X[ft - 4], X[ft - 2], ""); break; case 80: lt.commit(X[ft - 2], X[ft - 4], X[ft], ""); break; case 81: lt.commit(X[ft - 4], X[ft], lt.commitType.NORMAL, X[ft - 2]); break; case 82: lt.commit(X[ft - 4], X[ft - 2], lt.commitType.NORMAL, X[ft]); break; case 83: lt.commit(X[ft - 2], X[ft], lt.commitType.NORMAL, X[ft - 4]); break; case 84: lt.commit(X[ft], X[ft - 2], lt.commitType.NORMAL, X[ft - 4]); break; case 85: lt.commit(X[ft], X[ft - 4], lt.commitType.NORMAL, X[ft - 2]); break; case 86: lt.commit(X[ft - 2], X[ft - 4], lt.commitType.NORMAL, X[ft]); break; case 87: lt.commit(X[ft - 6], X[ft - 4], X[ft - 2], X[ft]); break; case 88: lt.commit(X[ft - 6], X[ft - 4], X[ft], X[ft - 2]); break; case 89: lt.commit(X[ft - 6], X[ft - 2], X[ft - 4], X[ft]); break; case 90: lt.commit(X[ft - 6], X[ft], X[ft - 4], X[ft - 2]); break; case 91: lt.commit(X[ft - 6], X[ft - 2], X[ft], X[ft - 4]); break; case 92: lt.commit(X[ft - 6], X[ft], X[ft - 2], X[ft - 4]); break; case 93: lt.commit(X[ft - 4], X[ft - 6], X[ft - 2], X[ft]); break; case 94: lt.commit(X[ft - 4], X[ft - 6], X[ft], X[ft - 2]); break; case 95: lt.commit(X[ft - 2], X[ft - 6], X[ft - 4], X[ft]); break; case 96: lt.commit(X[ft], X[ft - 6], X[ft - 4], X[ft - 2]); break; case 97: lt.commit(X[ft - 2], X[ft - 6], X[ft], X[ft - 4]); break; case 98: lt.commit(X[ft], X[ft - 6], X[ft - 2], X[ft - 4]); break; case 99: lt.commit(X[ft], X[ft - 4], X[ft - 2], X[ft - 6]); break; case 100: lt.commit(X[ft - 2], X[ft - 4], X[ft], X[ft - 6]); break; case 101: lt.commit(X[ft], X[ft - 2], X[ft - 4], X[ft - 6]); break; case 102: lt.commit(X[ft - 2], X[ft], X[ft - 4], X[ft - 6]); break; case 103: lt.commit(X[ft - 4], X[ft - 2], X[ft], X[ft - 6]); break; case 104: lt.commit(X[ft - 4], X[ft], X[ft - 2], X[ft - 6]); break; case 105: lt.commit(X[ft - 2], X[ft - 4], X[ft - 6], X[ft]); break; case 106: lt.commit(X[ft], X[ft - 4], X[ft - 6], X[ft - 2]); break; case 107: lt.commit(X[ft - 2], X[ft], X[ft - 6], X[ft - 4]); break; case 108: lt.commit(X[ft], X[ft - 2], X[ft - 6], X[ft - 4]); break; case 109: lt.commit(X[ft - 4], X[ft - 2], X[ft - 6], X[ft]); break; case 110: lt.commit(X[ft - 4], X[ft], X[ft - 6], X[ft - 2]); break; case 111: this.$ = ""; break; case 112: this.$ = X[ft]; break; case 113: this.$ = lt.commitType.NORMAL; break; case 114: this.$ = lt.commitType.REVERSE; break; case 115: this.$ = lt.commitType.HIGHLIGHT; break; case 118: lt.parseDirective("%%{", "open_directive"); break; case 119: lt.parseDirective(X[ft], "type_directive"); break; case 120: X[ft] = X[ft].trim().replace(/'/g, '"'), lt.parseDirective(X[ft], "arg_directive"); break; case 121: lt.parseDirective("}%%", "close_directive", "gitGraph"); break } }, table: [{ 3: 1, 4: 2, 5: 3, 6: a, 8: f, 14: p, 46: 8, 50: v, 55: m }, { 1: [3] }, { 3: 10, 4: 2, 5: 3, 6: a, 8: f, 14: p, 46: 8, 50: v, 55: m }, { 3: 11, 4: 2, 5: 3, 6: a, 8: f, 14: p, 46: 8, 50: v, 55: m }, { 7: 12, 8: b, 9: [1, 13], 10: [1, 14], 11: 15, 14: E }, i(C, [2, 124]), i(C, [2, 125]), i(C, [2, 126]), { 47: 17, 51: [1, 18] }, { 51: [2, 118] }, { 1: [2, 1] }, { 1: [2, 2] }, { 8: [1, 19] }, { 7: 20, 8: b, 11: 15, 14: E }, { 9: [1, 21] }, i(D, [2, 10], { 12: 22, 13: [1, 23] }), i(P, [2, 9]), { 9: [1, 25], 48: 24, 53: B }, i([9, 53], [2, 119]), { 1: [2, 3] }, { 8: [1, 27] }, { 7: 28, 8: b, 11: 15, 14: E }, { 8: [2, 7], 14: [1, 31], 15: 29, 16: 30, 17: 32, 18: 33, 19: 34, 20: [1, 35], 22: [1, 36], 24: [1, 37], 25: [1, 38], 26: 39, 27: [1, 40], 29: [1, 44], 32: [1, 43], 37: [1, 42], 40: [1, 41] }, i(P, [2, 8]), i(j, [2, 116]), { 49: 45, 52: [1, 46] }, i(j, [2, 121]), { 1: [2, 4] }, { 8: [1, 47] }, i(D, [2, 11]), { 4: 48, 8: f, 14: p, 55: m }, i(D, [2, 13]), i(R, [2, 14]), i(R, [2, 15]), i(R, [2, 16]), { 21: [1, 49] }, { 23: [1, 50] }, i(R, [2, 19]), i(R, [2, 20]), i(R, [2, 21]), { 28: 51, 34: H, 54: Y }, i(R, [2, 111], { 41: 54, 33: [1, 57], 34: [1, 59], 35: [1, 55], 38: [1, 56], 42: [1, 58] }), { 28: 60, 34: H, 54: Y }, { 33: [1, 61], 35: [1, 62] }, { 28: 63, 34: H, 54: Y }, { 48: 64, 53: B }, { 53: [2, 120] }, { 1: [2, 5] }, i(D, [2, 12]), i(R, [2, 17]), i(R, [2, 18]), i(R, [2, 22]), i(it, [2, 122]), i(it, [2, 123]), i(R, [2, 46]), { 34: [1, 65] }, { 39: 66, 43: nt, 44: st, 45: pt }, { 34: [1, 70] }, { 34: [1, 71] }, i(R, [2, 112]), i(R, [2, 30], { 33: [1, 72], 35: [1, 74], 38: [1, 73] }), { 34: [1, 75] }, { 34: [1, 76], 36: [1, 77] }, i(R, [2, 23], { 30: [1, 78] }), i(j, [2, 117]), i(R, [2, 47], { 33: [1, 80], 38: [1, 79], 42: [1, 81] }), i(R, [2, 48], { 33: [1, 83], 35: [1, 82], 42: [1, 84] }), i(Tt, [2, 113]), i(Tt, [2, 114]), i(Tt, [2, 115]), i(R, [2, 51], { 35: [1, 85], 38: [1, 86], 42: [1, 87] }), i(R, [2, 62], { 33: [1, 90], 35: [1, 88], 38: [1, 89] }), { 34: [1, 91] }, { 39: 92, 43: nt, 44: st, 45: pt }, { 34: [1, 93] }, i(R, [2, 25], { 35: [1, 94] }), { 33: [1, 95] }, { 33: [1, 96] }, { 31: [1, 97] }, { 39: 98, 43: nt, 44: st, 45: pt }, { 34: [1, 99] }, { 34: [1, 100] }, { 34: [1, 101] }, { 34: [1, 102] }, { 34: [1, 103] }, { 34: [1, 104] }, { 39: 105, 43: nt, 44: st, 45: pt }, { 34: [1, 106] }, { 34: [1, 107] }, { 39: 108, 43: nt, 44: st, 45: pt }, { 34: [1, 109] }, i(R, [2, 31], { 35: [1, 111], 38: [1, 110] }), i(R, [2, 32], { 33: [1, 113], 35: [1, 112] }), i(R, [2, 33], { 33: [1, 114], 38: [1, 115] }), { 34: [1, 116], 36: [1, 117] }, { 34: [1, 118] }, { 34: [1, 119] }, i(R, [2, 24]), i(R, [2, 49], { 33: [1, 120], 42: [1, 121] }), i(R, [2, 53], { 38: [1, 122], 42: [1, 123] }), i(R, [2, 63], { 33: [1, 125], 38: [1, 124] }), i(R, [2, 50], { 33: [1, 126], 42: [1, 127] }), i(R, [2, 55], { 35: [1, 128], 42: [1, 129] }), i(R, [2, 66], { 33: [1, 131], 35: [1, 130] }), i(R, [2, 52], { 38: [1, 132], 42: [1, 133] }), i(R, [2, 54], { 35: [1, 134], 42: [1, 135] }), i(R, [2, 67], { 35: [1, 137], 38: [1, 136] }), i(R, [2, 64], { 33: [1, 139], 38: [1, 138] }), i(R, [2, 65], { 33: [1, 141], 35: [1, 140] }), i(R, [2, 68], { 35: [1, 143], 38: [1, 142] }), { 39: 144, 43: nt, 44: st, 45: pt }, { 34: [1, 145] }, { 34: [1, 146] }, { 34: [1, 147] }, { 34: [1, 148] }, { 39: 149, 43: nt, 44: st, 45: pt }, i(R, [2, 26]), i(R, [2, 27]), i(R, [2, 28]), i(R, [2, 29]), { 34: [1, 150] }, { 34: [1, 151] }, { 39: 152, 43: nt, 44: st, 45: pt }, { 34: [1, 153] }, { 39: 154, 43: nt, 44: st, 45: pt }, { 34: [1, 155] }, { 34: [1, 156] }, { 34: [1, 157] }, { 34: [1, 158] }, { 34: [1, 159] }, { 34: [1, 160] }, { 34: [1, 161] }, { 39: 162, 43: nt, 44: st, 45: pt }, { 34: [1, 163] }, { 34: [1, 164] }, { 34: [1, 165] }, { 39: 166, 43: nt, 44: st, 45: pt }, { 34: [1, 167] }, { 39: 168, 43: nt, 44: st, 45: pt }, { 34: [1, 169] }, { 34: [1, 170] }, { 34: [1, 171] }, { 39: 172, 43: nt, 44: st, 45: pt }, { 34: [1, 173] }, i(R, [2, 37], { 35: [1, 174] }), i(R, [2, 38], { 38: [1, 175] }), i(R, [2, 36], { 33: [1, 176] }), i(R, [2, 39], { 35: [1, 177] }), i(R, [2, 34], { 38: [1, 178] }), i(R, [2, 35], { 33: [1, 179] }), i(R, [2, 60], { 42: [1, 180] }), i(R, [2, 73], { 33: [1, 181] }), i(R, [2, 61], { 42: [1, 182] }), i(R, [2, 84], { 38: [1, 183] }), i(R, [2, 74], { 33: [1, 184] }), i(R, [2, 83], { 38: [1, 185] }), i(R, [2, 59], { 42: [1, 186] }), i(R, [2, 72], { 33: [1, 187] }), i(R, [2, 58], { 42: [1, 188] }), i(R, [2, 78], { 35: [1, 189] }), i(R, [2, 71], { 33: [1, 190] }), i(R, [2, 77], { 35: [1, 191] }), i(R, [2, 57], { 42: [1, 192] }), i(R, [2, 85], { 38: [1, 193] }), i(R, [2, 56], { 42: [1, 194] }), i(R, [2, 79], { 35: [1, 195] }), i(R, [2, 80], { 35: [1, 196] }), i(R, [2, 86], { 38: [1, 197] }), i(R, [2, 70], { 33: [1, 198] }), i(R, [2, 81], { 38: [1, 199] }), i(R, [2, 69], { 33: [1, 200] }), i(R, [2, 75], { 35: [1, 201] }), i(R, [2, 76], { 35: [1, 202] }), i(R, [2, 82], { 38: [1, 203] }), { 34: [1, 204] }, { 39: 205, 43: nt, 44: st, 45: pt }, { 34: [1, 206] }, { 34: [1, 207] }, { 39: 208, 43: nt, 44: st, 45: pt }, { 34: [1, 209] }, { 34: [1, 210] }, { 34: [1, 211] }, { 34: [1, 212] }, { 39: 213, 43: nt, 44: st, 45: pt }, { 34: [1, 214] }, { 39: 215, 43: nt, 44: st, 45: pt }, { 34: [1, 216] }, { 34: [1, 217] }, { 34: [1, 218] }, { 34: [1, 219] }, { 34: [1, 220] }, { 34: [1, 221] }, { 34: [1, 222] }, { 39: 223, 43: nt, 44: st, 45: pt }, { 34: [1, 224] }, { 34: [1, 225] }, { 34: [1, 226] }, { 39: 227, 43: nt, 44: st, 45: pt }, { 34: [1, 228] }, { 39: 229, 43: nt, 44: st, 45: pt }, { 34: [1, 230] }, { 34: [1, 231] }, { 34: [1, 232] }, { 39: 233, 43: nt, 44: st, 45: pt }, i(R, [2, 40]), i(R, [2, 42]), i(R, [2, 41]), i(R, [2, 43]), i(R, [2, 45]), i(R, [2, 44]), i(R, [2, 101]), i(R, [2, 102]), i(R, [2, 99]), i(R, [2, 100]), i(R, [2, 104]), i(R, [2, 103]), i(R, [2, 108]), i(R, [2, 107]), i(R, [2, 106]), i(R, [2, 105]), i(R, [2, 110]), i(R, [2, 109]), i(R, [2, 98]), i(R, [2, 97]), i(R, [2, 96]), i(R, [2, 95]), i(R, [2, 93]), i(R, [2, 94]), i(R, [2, 92]), i(R, [2, 91]), i(R, [2, 90]), i(R, [2, 89]), i(R, [2, 87]), i(R, [2, 88])], defaultActions: { 9: [2, 118], 10: [2, 1], 11: [2, 2], 19: [2, 3], 27: [2, 4], 46: [2, 120], 47: [2, 5] }, parseError: function (rt, wt) { if (wt.recoverable) this.trace(rt); else { var gt = new Error(rt); throw gt.hash = wt, gt } }, parse: function (rt) {
                var wt = this, gt = [0], lt = [], _t = [null], X = [], Rt = this.table, ft = "", de = 0, J = 0, ae = 2, Wt = 1, It = X.slice.call(arguments, 1), Nt = Object.create(this.lexer), me = { yy: {} }; for (var Ue in this.yy) Object.prototype.hasOwnProperty.call(this.yy, Ue) && (me.yy[Ue] = this.yy[Ue]); Nt.setInput(rt, me.yy), me.yy.lexer = Nt, me.yy.parser = this, typeof Nt.yylloc > "u" && (Nt.yylloc = {}); var _n = Nt.yylloc; X.push(_n); var _e = Nt.options && Nt.options.ranges; typeof me.yy.parseError == "function" ? this.parseError = me.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; function rr() { var oe; return oe = lt.pop() || Nt.lex() || Wt, typeof oe != "number" && (oe instanceof Array && (lt = oe, oe = lt.pop()), oe = wt.symbols_[oe] || oe), oe } for (var Te, ne, Ee, ye, Vt = {}, Ae, Gt, un, jt; ;) {
                    if (ne = gt[gt.length - 1], this.defaultActions[ne] ? Ee = this.defaultActions[ne] : ((Te === null || typeof Te > "u") && (Te = rr()), Ee = Rt[ne] && Rt[ne][Te]), typeof Ee > "u" || !Ee.length || !Ee[0]) {
                        var Ke = ""; jt = []; for (Ae in Rt[ne]) this.terminals_[Ae] && Ae > ae && jt.push("'" + this.terminals_[Ae] + "'"); Nt.showPosition ? Ke = "Parse error on line " + (de + 1) + `:
    `+ Nt.showPosition() + `
    Expecting `+ jt.join(", ") + ", got '" + (this.terminals_[Te] || Te) + "'" : Ke = "Parse error on line " + (de + 1) + ": Unexpected " + (Te == Wt ? "end of input" : "'" + (this.terminals_[Te] || Te) + "'"), this.parseError(Ke, { text: Nt.match, token: this.terminals_[Te] || Te, line: Nt.yylineno, loc: _n, expected: jt })
                    } if (Ee[0] instanceof Array && Ee.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + ne + ", token: " + Te); switch (Ee[0]) { case 1: gt.push(Te), _t.push(Nt.yytext), X.push(Nt.yylloc), gt.push(Ee[1]), Te = null, J = Nt.yyleng, ft = Nt.yytext, de = Nt.yylineno, _n = Nt.yylloc; break; case 2: if (Gt = this.productions_[Ee[1]][1], Vt.$ = _t[_t.length - Gt], Vt._$ = { first_line: X[X.length - (Gt || 1)].first_line, last_line: X[X.length - 1].last_line, first_column: X[X.length - (Gt || 1)].first_column, last_column: X[X.length - 1].last_column }, _e && (Vt._$.range = [X[X.length - (Gt || 1)].range[0], X[X.length - 1].range[1]]), ye = this.performAction.apply(Vt, [ft, J, de, me.yy, Ee[1], _t, X].concat(It)), typeof ye < "u") return ye; Gt && (gt = gt.slice(0, -1 * Gt * 2), _t = _t.slice(0, -1 * Gt), X = X.slice(0, -1 * Gt)), gt.push(this.productions_[Ee[1]][0]), _t.push(Vt.$), X.push(Vt._$), un = Rt[gt[gt.length - 2]][gt[gt.length - 1]], gt.push(un); break; case 3: return !0 }
                } return !0
            }
        }, yt = function () {
            var mt = {
                EOF: 1, parseError: function (wt, gt) { if (this.yy.parser) this.yy.parser.parseError(wt, gt); else throw new Error(wt) }, setInput: function (rt, wt) { return this.yy = wt || this.yy || {}, this._input = rt, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this }, input: function () { var rt = this._input[0]; this.yytext += rt, this.yyleng++, this.offset++, this.match += rt, this.matched += rt; var wt = rt.match(/(?:\r\n?|\n).*/g); return wt ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), rt }, unput: function (rt) { var wt = rt.length, gt = rt.split(/(?:\r\n?|\n)/g); this._input = rt + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - wt), this.offset -= wt; var lt = this.match.split(/(?:\r\n?|\n)/g); this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), gt.length - 1 && (this.yylineno -= gt.length - 1); var _t = this.yylloc.range; return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: gt ? (gt.length === lt.length ? this.yylloc.first_column : 0) + lt[lt.length - gt.length].length - gt[0].length : this.yylloc.first_column - wt }, this.options.ranges && (this.yylloc.range = [_t[0], _t[0] + this.yyleng - wt]), this.yyleng = this.yytext.length, this }, more: function () { return this._more = !0, this }, reject: function () {
                    if (this.options.backtrack_lexer) this._backtrack = !0; else 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).
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno }); return this
                }, less: function (rt) { this.unput(this.match.slice(rt)) }, pastInput: function () { var rt = this.matched.substr(0, this.matched.length - this.match.length); return (rt.length > 20 ? "..." : "") + rt.substr(-20).replace(/\n/g, "") }, upcomingInput: function () { var rt = this.match; return rt.length < 20 && (rt += this._input.substr(0, 20 - rt.length)), (rt.substr(0, 20) + (rt.length > 20 ? "..." : "")).replace(/\n/g, "") }, showPosition: function () {
                    var rt = this.pastInput(), wt = new Array(rt.length + 1).join("-"); return rt + this.upcomingInput() + `
    `+ wt + "^"
                }, test_match: function (rt, wt) { var gt, lt, _t; if (this.options.backtrack_lexer && (_t = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (_t.yylloc.range = this.yylloc.range.slice(0))), lt = rt[0].match(/(?:\r\n?|\n).*/g), lt && (this.yylineno += lt.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: lt ? lt[lt.length - 1].length - lt[lt.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + rt[0].length }, this.yytext += rt[0], this.match += rt[0], this.matches = rt, 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(rt[0].length), this.matched += rt[0], gt = this.performAction.call(this, this.yy, this, wt, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), gt) return gt; if (this._backtrack) { for (var X in _t) this[X] = _t[X]; return !1 } return !1 }, next: function () {
                    if (this.done) return this.EOF; this._input || (this.done = !0); var rt, wt, gt, lt; this._more || (this.yytext = "", this.match = ""); for (var _t = this._currentRules(), X = 0; X < _t.length; X++)if (gt = this._input.match(this.rules[_t[X]]), gt && (!wt || gt[0].length > wt[0].length)) { if (wt = gt, lt = X, this.options.backtrack_lexer) { if (rt = this.test_match(gt, _t[X]), rt !== !1) return rt; if (this._backtrack) { wt = !1; continue } else return !1 } else if (!this.options.flex) break } return wt ? (rt = this.test_match(wt, _t[lt]), rt !== !1 ? rt : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno })
                }, lex: function () { var wt = this.next(); return wt || this.lex() }, begin: function (wt) { this.conditionStack.push(wt) }, popState: function () { var wt = this.conditionStack.length - 1; return wt > 0 ? this.conditionStack.pop() : this.conditionStack[0] }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules }, topState: function (wt) { return wt = this.conditionStack.length - 1 - Math.abs(wt || 0), wt >= 0 ? this.conditionStack[wt] : "INITIAL" }, pushState: function (wt) { this.begin(wt) }, stateStackSize: function () { return this.conditionStack.length }, options: { "case-insensitive": !0 }, performAction: function (wt, gt, lt, _t) { switch (lt) { case 0: return this.begin("open_directive"), 50; case 1: return this.begin("type_directive"), 51; case 2: return this.popState(), this.begin("arg_directive"), 9; case 3: return this.popState(), this.popState(), 53; case 4: return 52; case 5: return this.begin("acc_title"), 20; case 6: return this.popState(), "acc_title_value"; case 7: return this.begin("acc_descr"), 22; case 8: return this.popState(), "acc_descr_value"; case 9: this.begin("acc_descr_multiline"); break; case 10: this.popState(); break; case 11: return "acc_descr_multiline_value"; case 12: return 14; case 13: break; case 14: break; case 15: return 6; case 16: return 40; case 17: return 33; case 18: return 38; case 19: return 42; case 20: return 43; case 21: return 44; case 22: return 45; case 23: return 35; case 24: return 29; case 25: return 30; case 26: return 37; case 27: return 32; case 28: return 27; case 29: return 10; case 30: return 10; case 31: return 9; case 32: return "CARET"; case 33: this.begin("options"); break; case 34: this.popState(); break; case 35: return 13; case 36: return 36; case 37: this.begin("string"); break; case 38: this.popState(); break; case 39: return 34; case 40: return 31; case 41: return 54; case 42: return 8 } }, rules: [/^(?:%%\{)/i, /^(?:((?:(?!\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\}%%)/i, /^(?:((?:(?!\}%%).|\n)*))/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:(\r?\n)+)/i, /^(?:#[^\n]*)/i, /^(?:%[^\n]*)/i, /^(?:gitGraph\b)/i, /^(?:commit(?=\s|$))/i, /^(?:id:)/i, /^(?:type:)/i, /^(?:msg:)/i, /^(?:NORMAL\b)/i, /^(?:REVERSE\b)/i, /^(?:HIGHLIGHT\b)/i, /^(?:tag:)/i, /^(?:branch(?=\s|$))/i, /^(?:order:)/i, /^(?:merge(?=\s|$))/i, /^(?:cherry-pick(?=\s|$))/i, /^(?:checkout(?=\s|$))/i, /^(?:LR\b)/i, /^(?:BT\b)/i, /^(?::)/i, /^(?:\^)/i, /^(?:options\r?\n)/i, /^(?:[ \r\n\t]+end\b)/i, /^(?:[\s\S]+(?=[ \r\n\t]+end))/i, /^(?:["]["])/i, /^(?:["])/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:[0-9]+(?=\s|$))/i, /^(?:\w([-\./\w]*[-\w])?)/i, /^(?:$)/i, /^(?:\s+)/i], conditions: { acc_descr_multiline: { rules: [10, 11], inclusive: !1 }, acc_descr: { rules: [8], inclusive: !1 }, acc_title: { rules: [6], inclusive: !1 }, close_directive: { rules: [], inclusive: !1 }, arg_directive: { rules: [3, 4], inclusive: !1 }, type_directive: { rules: [2, 3], inclusive: !1 }, open_directive: { rules: [1], inclusive: !1 }, options: { rules: [34, 35], inclusive: !1 }, string: { rules: [38, 39], inclusive: !1 }, INITIAL: { rules: [0, 5, 7, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 40, 41, 42, 43], inclusive: !0 } }
            }; return mt
        }(); kt.lexer = yt; function ht() { this.yy = {} } return ht.prototype = kt, kt.Parser = ht, new ht
    }(); k0t.parser = k0t; const h$e = k0t; let fK = Oe().gitGraph.mainBranchName, f$e = Oe().gitGraph.mainBranchOrder, p1 = {}, hg = null, bP = {}; bP[fK] = { name: fK, order: f$e }; let zf = {}; zf[fK] = hg; let id = fK, gBt = "LR", pE = 0; function E0t() { return kIt({ length: 7 }) } const d$e = function (i, a, f) { d1.parseDirective(this, i, a, f) }; function g$e(i, a) { const f = Object.create(null); return i.reduce((p, v) => { const m = a(v); return f[m] || (f[m] = !0, p.push(v)), p }, []) } const p$e = function (i) { gBt = i }; let pBt = {}; const b$e = function (i) { zt.debug("options str", i), i = i && i.trim(), i = i || "{}"; try { pBt = JSON.parse(i) } catch (a) { zt.error("error while parsing gitGraph options", a.message) } }, v$e = function () { return pBt }, w$e = function (i, a, f, p) { zt.debug("Entering commit:", i, a, f, p), a = yi.sanitizeText(a, Oe()), i = yi.sanitizeText(i, Oe()), p = yi.sanitizeText(p, Oe()); const v = { id: a || pE + "-" + E0t(), message: i, seq: pE++, type: f || vP.NORMAL, tag: p || "", parents: hg == null ? [] : [hg.id], branch: id }; hg = v, p1[v.id] = v, zf[id] = v.id, zt.debug("in pushCommit " + v.id) }, m$e = function (i, a) { if (i = yi.sanitizeText(i, Oe()), zf[i] === void 0) zf[i] = hg != null ? hg.id : null, bP[i] = { name: i, order: a ? parseInt(a, 10) : null }, bBt(i), zt.debug("in createBranch"); else { let f = new Error('Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ' + i + '")'); throw f.hash = { text: "branch " + i, token: "branch " + i, line: "1", loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 }, expected: ['"checkout ' + i + '"'] }, f } }, y$e = function (i, a, f, p) { i = yi.sanitizeText(i, Oe()), a = yi.sanitizeText(a, Oe()); const v = p1[zf[id]], m = p1[zf[i]]; if (id === i) { let E = new Error('Incorrect usage of "merge". Cannot merge a branch to itself'); throw E.hash = { text: "merge " + i, token: "merge " + i, line: "1", loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 }, expected: ["branch abc"] }, E } else if (v === void 0 || !v) { let E = new Error('Incorrect usage of "merge". Current branch (' + id + ")has no commits"); throw E.hash = { text: "merge " + i, token: "merge " + i, line: "1", loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 }, expected: ["commit"] }, E } else if (zf[i] === void 0) { let E = new Error('Incorrect usage of "merge". Branch to be merged (' + i + ") does not exist"); throw E.hash = { text: "merge " + i, token: "merge " + i, line: "1", loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 }, expected: ["branch " + i] }, E } else if (m === void 0 || !m) { let E = new Error('Incorrect usage of "merge". Branch to be merged (' + i + ") has no commits"); throw E.hash = { text: "merge " + i, token: "merge " + i, line: "1", loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 }, expected: ['"commit"'] }, E } else if (v === m) { let E = new Error('Incorrect usage of "merge". Both branches have same head'); throw E.hash = { text: "merge " + i, token: "merge " + i, line: "1", loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 }, expected: ["branch abc"] }, E } else if (a && p1[a] !== void 0) { let E = new Error('Incorrect usage of "merge". Commit with id:' + a + " already exists, use different custom Id"); throw E.hash = { text: "merge " + i + a + f + p, token: "merge " + i + a + f + p, line: "1", loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 }, expected: ["merge " + i + " " + a + "_UNIQUE " + f + " " + p] }, E } const b = { id: a || pE + "-" + E0t(), message: "merged branch " + i + " into " + id, seq: pE++, parents: [hg == null ? null : hg.id, zf[i]], branch: id, type: vP.MERGE, customType: f, customId: !!a, tag: p || "" }; hg = b, p1[b.id] = b, zf[id] = b.id, zt.debug(zf), zt.debug("in mergeBranch") }, x$e = function (i, a, f) { if (zt.debug("Entering cherryPick:", i, a, f), i = yi.sanitizeText(i, Oe()), a = yi.sanitizeText(a, Oe()), f = yi.sanitizeText(f, Oe()), !i || p1[i] === void 0) { let m = new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided'); throw m.hash = { text: "cherryPick " + i + " " + a, token: "cherryPick " + i + " " + a, line: "1", loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 }, expected: ["cherry-pick abc"] }, m } let p = p1[i], v = p.branch; if (p.type === vP.MERGE) { let m = new Error('Incorrect usage of "cherryPick". Source commit should not be a merge commit'); throw m.hash = { text: "cherryPick " + i + " " + a, token: "cherryPick " + i + " " + a, line: "1", loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 }, expected: ["cherry-pick abc"] }, m } if (!a || p1[a] === void 0) { if (v === id) { let E = new Error('Incorrect usage of "cherryPick". Source commit is already on current branch'); throw E.hash = { text: "cherryPick " + i + " " + a, token: "cherryPick " + i + " " + a, line: "1", loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 }, expected: ["cherry-pick abc"] }, E } const m = p1[zf[id]]; if (m === void 0 || !m) { let E = new Error('Incorrect usage of "cherry-pick". Current branch (' + id + ")has no commits"); throw E.hash = { text: "cherryPick " + i + " " + a, token: "cherryPick " + i + " " + a, line: "1", loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 }, expected: ["cherry-pick abc"] }, E } const b = { id: pE + "-" + E0t(), message: "cherry-picked " + p + " into " + id, seq: pE++, parents: [hg == null ? null : hg.id, p.id], branch: id, type: vP.CHERRY_PICK, tag: f ?? "cherry-pick:" + p.id }; hg = b, p1[b.id] = b, zf[id] = b.id, zt.debug(zf), zt.debug("in cherryPick") } }, bBt = function (i) { if (i = yi.sanitizeText(i, Oe()), zf[i] === void 0) { let a = new Error('Trying to checkout branch which is not yet created. (Help try using "branch ' + i + '")'); throw a.hash = { text: "checkout " + i, token: "checkout " + i, line: "1", loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 }, expected: ['"branch ' + i + '"'] }, a } else { id = i; const a = zf[id]; hg = p1[a] } }; function vBt(i, a, f) { const p = i.indexOf(a); p === -1 ? i.push(f) : i.splice(p, 1, f) } function wBt(i) { const a = i.reduce((v, m) => v.seq > m.seq ? v : m, i[0]); let f = ""; i.forEach(function (v) { v === a ? f += "	*" : f += "	|" }); const p = [f, a.id, a.seq]; for (let v in zf) zf[v] === a.id && p.push(v); if (zt.debug(p.join(" ")), a.parents && a.parents.length == 2) { const v = p1[a.parents[0]]; vBt(i, a, v), i.push(p1[a.parents[1]]) } else { if (a.parents.length == 0) return; { const v = p1[a.parents]; vBt(i, a, v) } } i = g$e(i, v => v.id), wBt(i) } const k$e = function () { zt.debug(p1); const i = mBt()[0]; wBt([i]) }, E$e = function () { p1 = {}, hg = null; let i = Oe().gitGraph.mainBranchName, a = Oe().gitGraph.mainBranchOrder; zf = {}, zf[i] = null, bP = {}, bP[i] = { name: i, order: a }, id = i, pE = 0, cg() }, T$e = function () { return Object.values(bP).map((a, f) => a.order !== null ? a : { ...a, order: parseFloat(`0.${f}`, 10) }).sort((a, f) => a.order - f.order).map(({ name: a }) => ({ name: a })) }, _$e = function () { return zf }, C$e = function () { return p1 }, mBt = function () { const i = Object.keys(p1).map(function (a) { return p1[a] }); return i.forEach(function (a) { zt.debug(a.id) }), i.sort((a, f) => a.seq - f.seq), i }, S$e = function () { return id }, A$e = function () { return gBt }, L$e = function () { return hg }, vP = { NORMAL: 0, REVERSE: 1, HIGHLIGHT: 2, MERGE: 3, CHERRY_PICK: 4 }, M$e = { parseDirective: d$e, getConfig: () => Oe().gitGraph, setDirection: p$e, setOptions: b$e, getOptions: v$e, commit: w$e, branch: m$e, merge: y$e, cherryPick: x$e, checkout: bBt, prettyPrint: k$e, clear: E$e, getBranchesAsObjArray: T$e, getBranches: _$e, getCommits: C$e, getCommitsArray: mBt, getCurrentBranch: S$e, getDirection: A$e, getHead: L$e, setAccTitle: ug, getAccTitle: op, getAccDescription: up, setAccDescription: cp, setDiagramTitle: Kb, getDiagramTitle: O2, commitType: vP }; let wP = {}; const B2 = { NORMAL: 0, REVERSE: 1, HIGHLIGHT: 2, MERGE: 3, CHERRY_PICK: 4 }, bE = 8; let fp = {}, dK = {}, gK = [], pK = 0; const D$e = () => { fp = {}, dK = {}, wP = {}, pK = 0, gK = [] }, I$e = i => { const a = document.createElementNS("http://www.w3.org/2000/svg", "text"); let f = []; typeof i == "string" ? f = i.split(/\\n|\n|<br\s*\/?>/gi) : Array.isArray(i) ? f = i : f = []; for (const p of f) { const v = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); v.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve"), v.setAttribute("dy", "1em"), v.setAttribute("x", "0"), v.setAttribute("class", "row"), v.textContent = p.trim(), a.appendChild(v) } return a }, yBt = (i, a, f) => {
        const p = zN().gitGraph, v = i.append("g").attr("class", "commit-bullets"), m = i.append("g").attr("class", "commit-labels"); let b = 0; Object.keys(a).sort((D, P) => a[D].seq - a[P].seq).forEach(D => {
            const P = a[D], B = fp[P.branch].pos, j = b + 10; if (f) { let R, H = P.customType !== void 0 && P.customType !== "" ? P.customType : P.type; switch (H) { case B2.NORMAL: R = "commit-normal"; break; case B2.REVERSE: R = "commit-reverse"; break; case B2.HIGHLIGHT: R = "commit-highlight"; break; case B2.MERGE: R = "commit-merge"; break; case B2.CHERRY_PICK: R = "commit-cherry-pick"; break; default: R = "commit-normal" }if (H === B2.HIGHLIGHT) { const Y = v.append("rect"); Y.attr("x", j - 10), Y.attr("y", B - 10), Y.attr("height", 20), Y.attr("width", 20), Y.attr("class", `commit ${P.id} commit-highlight${fp[P.branch].index % bE} ${R}-outer`), v.append("rect").attr("x", j - 6).attr("y", B - 6).attr("height", 12).attr("width", 12).attr("class", `commit ${P.id} commit${fp[P.branch].index % bE} ${R}-inner`) } else if (H === B2.CHERRY_PICK) v.append("circle").attr("cx", j).attr("cy", B).attr("r", 10).attr("class", `commit ${P.id} ${R}`), v.append("circle").attr("cx", j - 3).attr("cy", B + 2).attr("r", 2.75).attr("fill", "#fff").attr("class", `commit ${P.id} ${R}`), v.append("circle").attr("cx", j + 3).attr("cy", B + 2).attr("r", 2.75).attr("fill", "#fff").attr("class", `commit ${P.id} ${R}`), v.append("line").attr("x1", j + 3).attr("y1", B + 1).attr("x2", j).attr("y2", B - 5).attr("stroke", "#fff").attr("class", `commit ${P.id} ${R}`), v.append("line").attr("x1", j - 3).attr("y1", B + 1).attr("x2", j).attr("y2", B - 5).attr("stroke", "#fff").attr("class", `commit ${P.id} ${R}`); else { const Y = v.append("circle"); if (Y.attr("cx", j), Y.attr("cy", B), Y.attr("r", P.type === B2.MERGE ? 9 : 10), Y.attr("class", `commit ${P.id} commit${fp[P.branch].index % bE}`), H === B2.MERGE) { const it = v.append("circle"); it.attr("cx", j), it.attr("cy", B), it.attr("r", 6), it.attr("class", `commit ${R} ${P.id} commit${fp[P.branch].index % bE}`) } H === B2.REVERSE && v.append("path").attr("d", `M ${j - 5},${B - 5}L${j + 5},${B + 5}M${j - 5},${B + 5}L${j + 5},${B - 5}`).attr("class", `commit ${R} ${P.id} commit${fp[P.branch].index % bE}`) } } if (dK[P.id] = { x: b + 10, y: B }, f) {
                if (P.type !== B2.CHERRY_PICK && (P.customId && P.type === B2.MERGE || P.type !== B2.MERGE) && p.showCommitLabel) { const Y = m.append("g"), it = Y.insert("rect").attr("class", "commit-label-bkg"), nt = Y.append("text").attr("x", b).attr("y", B + 25).attr("class", "commit-label").text(P.id); let st = nt.node().getBBox(); if (it.attr("x", b + 10 - st.width / 2 - 2).attr("y", B + 13.5).attr("width", st.width + 2 * 2).attr("height", st.height + 2 * 2), nt.attr("x", b + 10 - st.width / 2), p.rotateCommitLabel) { let pt = -7.5 - (st.width + 10) / 25 * 9.5, Tt = 10 + st.width / 25 * 8.5; Y.attr("transform", "translate(" + pt + ", " + Tt + ") rotate(-45, " + b + ", " + B + ")") } } if (P.tag) {
                    const Y = m.insert("polygon"), it = m.append("circle"), nt = m.append("text").attr("y", B - 16).attr("class", "tag-label").text(P.tag); let st = nt.node().getBBox(); nt.attr("x", b + 10 - st.width / 2); const pt = st.height / 2, Tt = B - 19.2; Y.attr("class", "tag-label-bkg").attr("points", `
              ${b - st.width / 2 - 4 / 2},${Tt + 2}
              ${b - st.width / 2 - 4 / 2},${Tt - 2}
              ${b + 10 - st.width / 2 - 4},${Tt - pt - 2}
              ${b + 10 + st.width / 2 + 4},${Tt - pt - 2}
              ${b + 10 + st.width / 2 + 4},${Tt + pt + 2}
              ${b + 10 - st.width / 2 - 4},${Tt + pt + 2}`), it.attr("cx", b - st.width / 2 + 4 / 2).attr("cy", Tt).attr("r", 1.5).attr("class", "tag-hole")
                }
            } b += 50, b > pK && (pK = b)
        })
    }, O$e = (i, a, f) => Object.keys(f).filter(m => f[m].branch === a.branch && f[m].seq > i.seq && f[m].seq < a.seq).length > 0, T0t = (i, a, f = 0) => { const p = i + Math.abs(i - a) / 2; if (f > 5) return p; if (gK.every(b => Math.abs(b - p) >= 10)) return gK.push(p), p; const m = Math.abs(i - a); return T0t(i, a - m / 5, f + 1) }, N$e = (i, a, f, p) => { const v = dK[a.id], m = dK[f.id], b = O$e(a, f, p); let E = "", C = "", D = 0, P = 0, B = fp[f.branch].index, j; if (b) { E = "A 10 10, 0, 0, 0,", C = "A 10 10, 0, 0, 1,", D = 10, P = 10, B = fp[f.branch].index; const R = v.y < m.y ? T0t(v.y, m.y) : T0t(m.y, v.y); v.y < m.y ? j = `M ${v.x} ${v.y} L ${v.x} ${R - D} ${E} ${v.x + P} ${R} L ${m.x - D} ${R} ${C} ${m.x} ${R + P} L ${m.x} ${m.y}` : j = `M ${v.x} ${v.y} L ${v.x} ${R + D} ${C} ${v.x + P} ${R} L ${m.x - D} ${R} ${E} ${m.x} ${R - P} L ${m.x} ${m.y}` } else v.y < m.y && (E = "A 20 20, 0, 0, 0,", D = 20, P = 20, B = fp[f.branch].index, j = `M ${v.x} ${v.y} L ${v.x} ${m.y - D} ${E} ${v.x + P} ${m.y} L ${m.x} ${m.y}`), v.y > m.y && (E = "A 20 20, 0, 0, 0,", D = 20, P = 20, B = fp[a.branch].index, j = `M ${v.x} ${v.y} L ${m.x - D} ${v.y} ${E} ${m.x} ${v.y - P} L ${m.x} ${m.y}`), v.y === m.y && (B = fp[a.branch].index, j = `M ${v.x} ${v.y} L ${v.x} ${m.y - D} ${E} ${v.x + P} ${m.y} L ${m.x} ${m.y}`); i.append("path").attr("d", j).attr("class", "arrow arrow" + B % bE) }, P$e = (i, a) => { const f = i.append("g").attr("class", "commit-arrows"); Object.keys(a).forEach(p => { const v = a[p]; v.parents && v.parents.length > 0 && v.parents.forEach(m => { N$e(f, a[m], v, a) }) }) }, F$e = (i, a) => { const f = zN().gitGraph, p = i.append("g"); a.forEach((v, m) => { const b = m % bE, E = fp[v.name].pos, C = p.append("line"); C.attr("x1", 0), C.attr("y1", E), C.attr("x2", pK), C.attr("y2", E), C.attr("class", "branch branch" + b), gK.push(E); let D = v.name; const P = I$e(D), B = p.insert("rect"), R = p.insert("g").attr("class", "branchLabel").insert("g").attr("class", "label branch-label" + b); R.node().appendChild(P); let H = P.getBBox(); B.attr("class", "branchLabelBkg label" + b).attr("rx", 4).attr("ry", 4).attr("x", -H.width - 4 - (f.rotateCommitLabel === !0 ? 30 : 0)).attr("y", -H.height / 2 + 8).attr("width", H.width + 18).attr("height", H.height + 4), R.attr("transform", "translate(" + (-H.width - 14 - (f.rotateCommitLabel === !0 ? 30 : 0)) + ", " + (E - H.height / 2 - 1) + ")"), B.attr("transform", "translate(-19, " + (E - H.height / 2) + ")") }) }, B$e = Object.freeze(Object.defineProperty({
        __proto__: null, diagram: {
            parser: h$e, db: M$e, renderer: {
                draw: function (i, a, f, p) {
                    D$e(); const v = zN(), m = v.gitGraph; zt.debug("in gitgraph renderer", i + `
    `, "id:", a, f), wP = p.db.getCommits(); const b = p.db.getBranchesAsObjArray(); let E = 0; b.forEach((D, P) => { fp[D.name] = { pos: E, index: P }, E += 50 + (m.rotateCommitLabel ? 40 : 0) }); const C = Mr(`[id="${a}"]`); yBt(C, wP, !1), m.showBranches && F$e(C, b), P$e(C, wP), yBt(C, wP, !0), lo.insertTitle(C, "gitTitleText", m.titleTopMargin, p.db.getDiagramTitle()), lIt(void 0, C, m.diagramPadding, m.useMaxWidth ?? v.useMaxWidth)
                }
            }, styles: i => `
      .commit-id,
      .commit-msg,
      .branch-label {
        fill: lightgrey;
        color: lightgrey;
        font-family: 'trebuchet ms', verdana, arial, sans-serif;
        font-family: var(--mermaid-font-family);
      }
      ${[0, 1, 2, 3, 4, 5, 6, 7].map(a => `
            .branch-label${a} { fill: ${i["gitBranchLabel" + a]}; }
            .commit${a} { stroke: ${i["git" + a]}; fill: ${i["git" + a]}; }
            .commit-highlight${a} { stroke: ${i["gitInv" + a]}; fill: ${i["gitInv" + a]}; }
            .label${a}  { fill: ${i["git" + a]}; }
            .arrow${a} { stroke: ${i["git" + a]}; }
            `).join(`
    `)}
    
      .branch {
        stroke-width: 1;
        stroke: ${i.lineColor};
        stroke-dasharray: 2;
      }
      .commit-label { font-size: ${i.commitLabelFontSize}; fill: ${i.commitLabelColor};}
      .commit-label-bkg { font-size: ${i.commitLabelFontSize}; fill: ${i.commitLabelBackground}; opacity: 0.5; }
      .tag-label { font-size: ${i.tagLabelFontSize}; fill: ${i.tagLabelColor};}
      .tag-label-bkg { fill: ${i.tagLabelBackground}; stroke: ${i.tagLabelBorder}; }
      .tag-hole { fill: ${i.textColor}; }
    
      .commit-merge {
        stroke: ${i.primaryColor};
        fill: ${i.primaryColor};
      }
      .commit-reverse {
        stroke: ${i.primaryColor};
        fill: ${i.primaryColor};
        stroke-width: 3;
      }
      .commit-highlight-outer {
      }
      .commit-highlight-inner {
        stroke: ${i.primaryColor};
        fill: ${i.primaryColor};
      }
    
      .arrow { stroke-width: 8; stroke-linecap: round; fill: none}
      .gitTitleText {
        text-anchor: middle;
        font-size: 18px;
        fill: ${i.textColor};
      }
    `}
    }, Symbol.toStringTag, { value: "Module" })); var _0t = function () {
        var i = function (mt, rt, wt, gt) { for (wt = wt || {}, gt = mt.length; gt--; wt[mt[gt]] = rt); return wt }, a = [1, 3], f = [1, 5], p = [7, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 28, 35, 40], v = [1, 15], m = [1, 16], b = [1, 17], E = [1, 18], C = [1, 19], D = [1, 20], P = [1, 21], B = [1, 22], j = [1, 23], R = [1, 24], H = [1, 25], Y = [1, 26], it = [1, 27], nt = [1, 29], st = [1, 31], pt = [1, 34], Tt = [5, 7, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 28, 35, 40], kt = {
            trace: function () { }, yy: {}, symbols_: { error: 2, start: 3, directive: 4, gantt: 5, document: 6, EOF: 7, line: 8, SPACE: 9, statement: 10, NL: 11, dateFormat: 12, inclusiveEndDates: 13, topAxis: 14, axisFormat: 15, tickInterval: 16, excludes: 17, includes: 18, todayMarker: 19, title: 20, acc_title: 21, acc_title_value: 22, acc_descr: 23, acc_descr_value: 24, acc_descr_multiline_value: 25, section: 26, clickStatement: 27, taskTxt: 28, taskData: 29, openDirective: 30, typeDirective: 31, closeDirective: 32, ":": 33, argDirective: 34, click: 35, callbackname: 36, callbackargs: 37, href: 38, clickStatementDebug: 39, open_directive: 40, type_directive: 41, arg_directive: 42, close_directive: 43, $accept: 0, $end: 1 }, terminals_: { 2: "error", 5: "gantt", 7: "EOF", 9: "SPACE", 11: "NL", 12: "dateFormat", 13: "inclusiveEndDates", 14: "topAxis", 15: "axisFormat", 16: "tickInterval", 17: "excludes", 18: "includes", 19: "todayMarker", 20: "title", 21: "acc_title", 22: "acc_title_value", 23: "acc_descr", 24: "acc_descr_value", 25: "acc_descr_multiline_value", 26: "section", 28: "taskTxt", 29: "taskData", 33: ":", 35: "click", 36: "callbackname", 37: "callbackargs", 38: "href", 40: "open_directive", 41: "type_directive", 42: "arg_directive", 43: "close_directive" }, productions_: [0, [3, 2], [3, 3], [6, 0], [6, 2], [8, 2], [8, 1], [8, 1], [8, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 2], [10, 2], [10, 1], [10, 1], [10, 1], [10, 2], [10, 1], [4, 4], [4, 6], [27, 2], [27, 3], [27, 3], [27, 4], [27, 3], [27, 4], [27, 2], [39, 2], [39, 3], [39, 3], [39, 4], [39, 3], [39, 4], [39, 2], [30, 1], [31, 1], [34, 1], [32, 1]], performAction: function (rt, wt, gt, lt, _t, X, Rt) { var ft = X.length - 1; switch (_t) { case 2: return X[ft - 1]; case 3: this.$ = []; break; case 4: X[ft - 1].push(X[ft]), this.$ = X[ft - 1]; break; case 5: case 6: this.$ = X[ft]; break; case 7: case 8: this.$ = []; break; case 9: lt.setDateFormat(X[ft].substr(11)), this.$ = X[ft].substr(11); break; case 10: lt.enableInclusiveEndDates(), this.$ = X[ft].substr(18); break; case 11: lt.TopAxis(), this.$ = X[ft].substr(8); break; case 12: lt.setAxisFormat(X[ft].substr(11)), this.$ = X[ft].substr(11); break; case 13: lt.setTickInterval(X[ft].substr(13)), this.$ = X[ft].substr(13); break; case 14: lt.setExcludes(X[ft].substr(9)), this.$ = X[ft].substr(9); break; case 15: lt.setIncludes(X[ft].substr(9)), this.$ = X[ft].substr(9); break; case 16: lt.setTodayMarker(X[ft].substr(12)), this.$ = X[ft].substr(12); break; case 17: lt.setDiagramTitle(X[ft].substr(6)), this.$ = X[ft].substr(6); break; case 18: this.$ = X[ft].trim(), lt.setAccTitle(this.$); break; case 19: case 20: this.$ = X[ft].trim(), lt.setAccDescription(this.$); break; case 21: lt.addSection(X[ft].substr(8)), this.$ = X[ft].substr(8); break; case 23: lt.addTask(X[ft - 1], X[ft]), this.$ = "task"; break; case 27: this.$ = X[ft - 1], lt.setClickEvent(X[ft - 1], X[ft], null); break; case 28: this.$ = X[ft - 2], lt.setClickEvent(X[ft - 2], X[ft - 1], X[ft]); break; case 29: this.$ = X[ft - 2], lt.setClickEvent(X[ft - 2], X[ft - 1], null), lt.setLink(X[ft - 2], X[ft]); break; case 30: this.$ = X[ft - 3], lt.setClickEvent(X[ft - 3], X[ft - 2], X[ft - 1]), lt.setLink(X[ft - 3], X[ft]); break; case 31: this.$ = X[ft - 2], lt.setClickEvent(X[ft - 2], X[ft], null), lt.setLink(X[ft - 2], X[ft - 1]); break; case 32: this.$ = X[ft - 3], lt.setClickEvent(X[ft - 3], X[ft - 1], X[ft]), lt.setLink(X[ft - 3], X[ft - 2]); break; case 33: this.$ = X[ft - 1], lt.setLink(X[ft - 1], X[ft]); break; case 34: case 40: this.$ = X[ft - 1] + " " + X[ft]; break; case 35: case 36: case 38: this.$ = X[ft - 2] + " " + X[ft - 1] + " " + X[ft]; break; case 37: case 39: this.$ = X[ft - 3] + " " + X[ft - 2] + " " + X[ft - 1] + " " + X[ft]; break; case 41: lt.parseDirective("%%{", "open_directive"); break; case 42: lt.parseDirective(X[ft], "type_directive"); break; case 43: X[ft] = X[ft].trim().replace(/'/g, '"'), lt.parseDirective(X[ft], "arg_directive"); break; case 44: lt.parseDirective("}%%", "close_directive", "gantt"); break } }, table: [{ 3: 1, 4: 2, 5: a, 30: 4, 40: f }, { 1: [3] }, { 3: 6, 4: 2, 5: a, 30: 4, 40: f }, i(p, [2, 3], { 6: 7 }), { 31: 8, 41: [1, 9] }, { 41: [2, 41] }, { 1: [2, 1] }, { 4: 30, 7: [1, 10], 8: 11, 9: [1, 12], 10: 13, 11: [1, 14], 12: v, 13: m, 14: b, 15: E, 16: C, 17: D, 18: P, 19: B, 20: j, 21: R, 23: H, 25: Y, 26: it, 27: 28, 28: nt, 30: 4, 35: st, 40: f }, { 32: 32, 33: [1, 33], 43: pt }, i([33, 43], [2, 42]), i(p, [2, 8], { 1: [2, 2] }), i(p, [2, 4]), { 4: 30, 10: 35, 12: v, 13: m, 14: b, 15: E, 16: C, 17: D, 18: P, 19: B, 20: j, 21: R, 23: H, 25: Y, 26: it, 27: 28, 28: nt, 30: 4, 35: st, 40: f }, i(p, [2, 6]), i(p, [2, 7]), i(p, [2, 9]), i(p, [2, 10]), i(p, [2, 11]), i(p, [2, 12]), i(p, [2, 13]), i(p, [2, 14]), i(p, [2, 15]), i(p, [2, 16]), i(p, [2, 17]), { 22: [1, 36] }, { 24: [1, 37] }, i(p, [2, 20]), i(p, [2, 21]), i(p, [2, 22]), { 29: [1, 38] }, i(p, [2, 24]), { 36: [1, 39], 38: [1, 40] }, { 11: [1, 41] }, { 34: 42, 42: [1, 43] }, { 11: [2, 44] }, i(p, [2, 5]), i(p, [2, 18]), i(p, [2, 19]), i(p, [2, 23]), i(p, [2, 27], { 37: [1, 44], 38: [1, 45] }), i(p, [2, 33], { 36: [1, 46] }), i(Tt, [2, 25]), { 32: 47, 43: pt }, { 43: [2, 43] }, i(p, [2, 28], { 38: [1, 48] }), i(p, [2, 29]), i(p, [2, 31], { 37: [1, 49] }), { 11: [1, 50] }, i(p, [2, 30]), i(p, [2, 32]), i(Tt, [2, 26])], defaultActions: { 5: [2, 41], 6: [2, 1], 34: [2, 44], 43: [2, 43] }, parseError: function (rt, wt) { if (wt.recoverable) this.trace(rt); else { var gt = new Error(rt); throw gt.hash = wt, gt } }, parse: function (rt) {
                var wt = this, gt = [0], lt = [], _t = [null], X = [], Rt = this.table, ft = "", de = 0, J = 0, ae = 2, Wt = 1, It = X.slice.call(arguments, 1), Nt = Object.create(this.lexer), me = { yy: {} }; for (var Ue in this.yy) Object.prototype.hasOwnProperty.call(this.yy, Ue) && (me.yy[Ue] = this.yy[Ue]); Nt.setInput(rt, me.yy), me.yy.lexer = Nt, me.yy.parser = this, typeof Nt.yylloc > "u" && (Nt.yylloc = {}); var _n = Nt.yylloc; X.push(_n); var _e = Nt.options && Nt.options.ranges; typeof me.yy.parseError == "function" ? this.parseError = me.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; function rr() { var oe; return oe = lt.pop() || Nt.lex() || Wt, typeof oe != "number" && (oe instanceof Array && (lt = oe, oe = lt.pop()), oe = wt.symbols_[oe] || oe), oe } for (var Te, ne, Ee, ye, Vt = {}, Ae, Gt, un, jt; ;) {
                    if (ne = gt[gt.length - 1], this.defaultActions[ne] ? Ee = this.defaultActions[ne] : ((Te === null || typeof Te > "u") && (Te = rr()), Ee = Rt[ne] && Rt[ne][Te]), typeof Ee > "u" || !Ee.length || !Ee[0]) {
                        var Ke = ""; jt = []; for (Ae in Rt[ne]) this.terminals_[Ae] && Ae > ae && jt.push("'" + this.terminals_[Ae] + "'"); Nt.showPosition ? Ke = "Parse error on line " + (de + 1) + `:
    `+ Nt.showPosition() + `
    Expecting `+ jt.join(", ") + ", got '" + (this.terminals_[Te] || Te) + "'" : Ke = "Parse error on line " + (de + 1) + ": Unexpected " + (Te == Wt ? "end of input" : "'" + (this.terminals_[Te] || Te) + "'"), this.parseError(Ke, { text: Nt.match, token: this.terminals_[Te] || Te, line: Nt.yylineno, loc: _n, expected: jt })
                    } if (Ee[0] instanceof Array && Ee.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + ne + ", token: " + Te); switch (Ee[0]) { case 1: gt.push(Te), _t.push(Nt.yytext), X.push(Nt.yylloc), gt.push(Ee[1]), Te = null, J = Nt.yyleng, ft = Nt.yytext, de = Nt.yylineno, _n = Nt.yylloc; break; case 2: if (Gt = this.productions_[Ee[1]][1], Vt.$ = _t[_t.length - Gt], Vt._$ = { first_line: X[X.length - (Gt || 1)].first_line, last_line: X[X.length - 1].last_line, first_column: X[X.length - (Gt || 1)].first_column, last_column: X[X.length - 1].last_column }, _e && (Vt._$.range = [X[X.length - (Gt || 1)].range[0], X[X.length - 1].range[1]]), ye = this.performAction.apply(Vt, [ft, J, de, me.yy, Ee[1], _t, X].concat(It)), typeof ye < "u") return ye; Gt && (gt = gt.slice(0, -1 * Gt * 2), _t = _t.slice(0, -1 * Gt), X = X.slice(0, -1 * Gt)), gt.push(this.productions_[Ee[1]][0]), _t.push(Vt.$), X.push(Vt._$), un = Rt[gt[gt.length - 2]][gt[gt.length - 1]], gt.push(un); break; case 3: return !0 }
                } return !0
            }
        }, yt = function () {
            var mt = {
                EOF: 1, parseError: function (wt, gt) { if (this.yy.parser) this.yy.parser.parseError(wt, gt); else throw new Error(wt) }, setInput: function (rt, wt) { return this.yy = wt || this.yy || {}, this._input = rt, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this }, input: function () { var rt = this._input[0]; this.yytext += rt, this.yyleng++, this.offset++, this.match += rt, this.matched += rt; var wt = rt.match(/(?:\r\n?|\n).*/g); return wt ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), rt }, unput: function (rt) { var wt = rt.length, gt = rt.split(/(?:\r\n?|\n)/g); this._input = rt + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - wt), this.offset -= wt; var lt = this.match.split(/(?:\r\n?|\n)/g); this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), gt.length - 1 && (this.yylineno -= gt.length - 1); var _t = this.yylloc.range; return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: gt ? (gt.length === lt.length ? this.yylloc.first_column : 0) + lt[lt.length - gt.length].length - gt[0].length : this.yylloc.first_column - wt }, this.options.ranges && (this.yylloc.range = [_t[0], _t[0] + this.yyleng - wt]), this.yyleng = this.yytext.length, this }, more: function () { return this._more = !0, this }, reject: function () {
                    if (this.options.backtrack_lexer) this._backtrack = !0; else 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).
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno }); return this
                }, less: function (rt) { this.unput(this.match.slice(rt)) }, pastInput: function () { var rt = this.matched.substr(0, this.matched.length - this.match.length); return (rt.length > 20 ? "..." : "") + rt.substr(-20).replace(/\n/g, "") }, upcomingInput: function () { var rt = this.match; return rt.length < 20 && (rt += this._input.substr(0, 20 - rt.length)), (rt.substr(0, 20) + (rt.length > 20 ? "..." : "")).replace(/\n/g, "") }, showPosition: function () {
                    var rt = this.pastInput(), wt = new Array(rt.length + 1).join("-"); return rt + this.upcomingInput() + `
    `+ wt + "^"
                }, test_match: function (rt, wt) { var gt, lt, _t; if (this.options.backtrack_lexer && (_t = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (_t.yylloc.range = this.yylloc.range.slice(0))), lt = rt[0].match(/(?:\r\n?|\n).*/g), lt && (this.yylineno += lt.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: lt ? lt[lt.length - 1].length - lt[lt.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + rt[0].length }, this.yytext += rt[0], this.match += rt[0], this.matches = rt, 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(rt[0].length), this.matched += rt[0], gt = this.performAction.call(this, this.yy, this, wt, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), gt) return gt; if (this._backtrack) { for (var X in _t) this[X] = _t[X]; return !1 } return !1 }, next: function () {
                    if (this.done) return this.EOF; this._input || (this.done = !0); var rt, wt, gt, lt; this._more || (this.yytext = "", this.match = ""); for (var _t = this._currentRules(), X = 0; X < _t.length; X++)if (gt = this._input.match(this.rules[_t[X]]), gt && (!wt || gt[0].length > wt[0].length)) { if (wt = gt, lt = X, this.options.backtrack_lexer) { if (rt = this.test_match(gt, _t[X]), rt !== !1) return rt; if (this._backtrack) { wt = !1; continue } else return !1 } else if (!this.options.flex) break } return wt ? (rt = this.test_match(wt, _t[lt]), rt !== !1 ? rt : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno })
                }, lex: function () { var wt = this.next(); return wt || this.lex() }, begin: function (wt) { this.conditionStack.push(wt) }, popState: function () { var wt = this.conditionStack.length - 1; return wt > 0 ? this.conditionStack.pop() : this.conditionStack[0] }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules }, topState: function (wt) { return wt = this.conditionStack.length - 1 - Math.abs(wt || 0), wt >= 0 ? this.conditionStack[wt] : "INITIAL" }, pushState: function (wt) { this.begin(wt) }, stateStackSize: function () { return this.conditionStack.length }, options: { "case-insensitive": !0 }, performAction: function (wt, gt, lt, _t) { switch (lt) { case 0: return this.begin("open_directive"), 40; case 1: return this.begin("type_directive"), 41; case 2: return this.popState(), this.begin("arg_directive"), 33; case 3: return this.popState(), this.popState(), 43; case 4: return 42; case 5: return this.begin("acc_title"), 21; case 6: return this.popState(), "acc_title_value"; case 7: return this.begin("acc_descr"), 23; case 8: return this.popState(), "acc_descr_value"; case 9: this.begin("acc_descr_multiline"); break; case 10: this.popState(); break; case 11: return "acc_descr_multiline_value"; case 12: break; case 13: break; case 14: break; case 15: return 11; case 16: break; case 17: break; case 18: break; case 19: this.begin("href"); break; case 20: this.popState(); break; case 21: return 38; case 22: this.begin("callbackname"); break; case 23: this.popState(); break; case 24: this.popState(), this.begin("callbackargs"); break; case 25: return 36; case 26: this.popState(); break; case 27: return 37; case 28: this.begin("click"); break; case 29: this.popState(); break; case 30: return 35; case 31: return 5; case 32: return 12; case 33: return 13; case 34: return 14; case 35: return 15; case 36: return 16; case 37: return 18; case 38: return 17; case 39: return 19; case 40: return "date"; case 41: return 20; case 42: return "accDescription"; case 43: return 26; case 44: return 28; case 45: return 29; case 46: return 33; case 47: return 7; case 48: return "INVALID" } }, rules: [/^(?:%%\{)/i, /^(?:((?:(?!\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\}%%)/i, /^(?:((?:(?!\}%%).|\n)*))/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, /^(?:%[^\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, /^(?:\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], conditions: { acc_descr_multiline: { rules: [10, 11], inclusive: !1 }, acc_descr: { rules: [8], inclusive: !1 }, acc_title: { rules: [6], inclusive: !1 }, close_directive: { rules: [], inclusive: !1 }, arg_directive: { rules: [3, 4], inclusive: !1 }, type_directive: { rules: [2, 3], inclusive: !1 }, open_directive: { rules: [1], inclusive: !1 }, callbackargs: { rules: [26, 27], inclusive: !1 }, callbackname: { rules: [23, 24, 25], inclusive: !1 }, href: { rules: [20, 21], inclusive: !1 }, click: { rules: [29, 30], inclusive: !1 }, INITIAL: { rules: [0, 5, 7, 9, 12, 13, 14, 15, 16, 17, 18, 19, 22, 28, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48], inclusive: !0 } }
            }; return mt
        }(); kt.lexer = yt; function ht() { this.yy = {} } return ht.prototype = kt, kt.Parser = ht, new ht
    }(); _0t.parser = _0t; const R$e = _0t; var C0t = {}, j$e = { get exports() { return C0t }, set exports(i) { C0t = i } }; (function (i, a) { (function (f, p) { i.exports = p() })(b0, function () { var f = "day"; return function (p, v, m) { var b = function (D) { return D.add(4 - D.isoWeekday(), f) }, E = v.prototype; E.isoWeekYear = function () { return b(this).year() }, E.isoWeek = function (D) { if (!this.$utils().u(D)) return this.add(7 * (D - this.isoWeek()), f); var P, B, j, R, H = b(this), Y = (P = this.isoWeekYear(), B = this.$u, j = (B ? m.utc : m)().year(P).startOf("year"), R = 4 - j.isoWeekday(), j.isoWeekday() > 4 && (R += 7), j.add(R, f)); return H.diff(Y, "week") + 1 }, E.isoWeekday = function (D) { return this.$utils().u(D) ? this.day() || 7 : this.day(this.day() % 7 ? D : D - 7) }; var C = E.startOf; E.startOf = function (D, P) { var B = this.$utils(), j = !!B.u(P) || P; return B.p(D) === "isoweek" ? j ? this.date(this.date() - (this.isoWeekday() - 1)).startOf("day") : this.date(this.date() - 1 - (this.isoWeekday() - 1) + 7).endOf("day") : C.bind(this)(D, P) } } }) })(j$e); const $$e = C0t; var S0t = {}, z$e = { get exports() { return S0t }, set exports(i) { S0t = i } }; (function (i, a) { (function (f, p) { i.exports = p() })(b0, function () { var f = { 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" }, p = /(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g, v = /\d\d/, m = /\d\d?/, b = /\d*[^-_:/,()\s\d]+/, E = {}, C = function (Y) { return (Y = +Y) + (Y > 68 ? 1900 : 2e3) }, D = function (Y) { return function (it) { this[Y] = +it } }, P = [/[+-]\d\d:?(\d\d)?|Z/, function (Y) { (this.zone || (this.zone = {})).offset = function (it) { if (!it || it === "Z") return 0; var nt = it.match(/([+-]|\d\d)/g), st = 60 * nt[1] + (+nt[2] || 0); return st === 0 ? 0 : nt[0] === "+" ? -st : st }(Y) }], B = function (Y) { var it = E[Y]; return it && (it.indexOf ? it : it.s.concat(it.f)) }, j = function (Y, it) { var nt, st = E.meridiem; if (st) { for (var pt = 1; pt <= 24; pt += 1)if (Y.indexOf(st(pt, 0, it)) > -1) { nt = pt > 12; break } } else nt = Y === (it ? "pm" : "PM"); return nt }, R = { A: [b, function (Y) { this.afternoon = j(Y, !1) }], a: [b, function (Y) { this.afternoon = j(Y, !0) }], S: [/\d/, function (Y) { this.milliseconds = 100 * +Y }], SS: [v, function (Y) { this.milliseconds = 10 * +Y }], SSS: [/\d{3}/, function (Y) { this.milliseconds = +Y }], s: [m, D("seconds")], ss: [m, D("seconds")], m: [m, D("minutes")], mm: [m, D("minutes")], H: [m, D("hours")], h: [m, D("hours")], HH: [m, D("hours")], hh: [m, D("hours")], D: [m, D("day")], DD: [v, D("day")], Do: [b, function (Y) { var it = E.ordinal, nt = Y.match(/\d+/); if (this.day = nt[0], it) for (var st = 1; st <= 31; st += 1)it(st).replace(/\[|\]/g, "") === Y && (this.day = st) }], M: [m, D("month")], MM: [v, D("month")], MMM: [b, function (Y) { var it = B("months"), nt = (B("monthsShort") || it.map(function (st) { return st.slice(0, 3) })).indexOf(Y) + 1; if (nt < 1) throw new Error; this.month = nt % 12 || nt }], MMMM: [b, function (Y) { var it = B("months").indexOf(Y) + 1; if (it < 1) throw new Error; this.month = it % 12 || it }], Y: [/[+-]?\d+/, D("year")], YY: [v, function (Y) { this.year = C(Y) }], YYYY: [/\d{4}/, D("year")], Z: P, ZZ: P }; function H(Y) { var it, nt; it = Y, nt = E && E.formats; for (var st = (Y = it.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, function (rt, wt, gt) { var lt = gt && gt.toUpperCase(); return wt || nt[gt] || f[gt] || nt[lt].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function (_t, X, Rt) { return X || Rt.slice(1) }) })).match(p), pt = st.length, Tt = 0; Tt < pt; Tt += 1) { var kt = st[Tt], yt = R[kt], ht = yt && yt[0], mt = yt && yt[1]; st[Tt] = mt ? { regex: ht, parser: mt } : kt.replace(/^\[|\]$/g, "") } return function (rt) { for (var wt = {}, gt = 0, lt = 0; gt < pt; gt += 1) { var _t = st[gt]; if (typeof _t == "string") lt += _t.length; else { var X = _t.regex, Rt = _t.parser, ft = rt.slice(lt), de = X.exec(ft)[0]; Rt.call(wt, de), rt = rt.replace(de, "") } } return function (J) { var ae = J.afternoon; if (ae !== void 0) { var Wt = J.hours; ae ? Wt < 12 && (J.hours += 12) : Wt === 12 && (J.hours = 0), delete J.afternoon } }(wt), wt } } return function (Y, it, nt) { nt.p.customParseFormat = !0, Y && Y.parseTwoDigitYear && (C = Y.parseTwoDigitYear); var st = it.prototype, pt = st.parse; st.parse = function (Tt) { var kt = Tt.date, yt = Tt.utc, ht = Tt.args; this.$u = yt; var mt = ht[1]; if (typeof mt == "string") { var rt = ht[2] === !0, wt = ht[3] === !0, gt = rt || wt, lt = ht[2]; wt && (lt = ht[2]), E = this.$locale(), !rt && lt && (E = nt.Ls[lt]), this.$d = function (ft, de, J) { try { if (["x", "X"].indexOf(de) > -1) return new Date((de === "X" ? 1e3 : 1) * ft); var ae = H(de)(ft), Wt = ae.year, It = ae.month, Nt = ae.day, me = ae.hours, Ue = ae.minutes, _n = ae.seconds, _e = ae.milliseconds, rr = ae.zone, Te = new Date, ne = Nt || (Wt || It ? 1 : Te.getDate()), Ee = Wt || Te.getFullYear(), ye = 0; Wt && !It || (ye = It > 0 ? It - 1 : Te.getMonth()); var Vt = me || 0, Ae = Ue || 0, Gt = _n || 0, un = _e || 0; return rr ? new Date(Date.UTC(Ee, ye, ne, Vt, Ae, Gt, un + 60 * rr.offset * 1e3)) : J ? new Date(Date.UTC(Ee, ye, ne, Vt, Ae, Gt, un)) : new Date(Ee, ye, ne, Vt, Ae, Gt, un) } catch { return new Date("") } }(kt, mt, yt), this.init(), lt && lt !== !0 && (this.$L = this.locale(lt).$L), gt && kt != this.format(mt) && (this.$d = new Date("")), E = {} } else if (mt instanceof Array) for (var _t = mt.length, X = 1; X <= _t; X += 1) { ht[1] = mt[X - 1]; var Rt = nt.apply(this, ht); if (Rt.isValid()) { this.$d = Rt.$d, this.$L = Rt.$L, this.init(); break } X === _t && (this.$d = new Date("")) } else pt.call(this, Tt) } } }) })(z$e); const q$e = S0t; var A0t = {}, H$e = { get exports() { return A0t }, set exports(i) { A0t = i } }; (function (i, a) { (function (f, p) { i.exports = p() })(b0, function () { return function (f, p) { var v = p.prototype, m = v.format; v.format = function (b) { var E = this, C = this.$locale(); if (!this.isValid()) return m.bind(this)(b); var D = this.$utils(), P = (b || "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 (B) { switch (B) { case "Q": return Math.ceil((E.$M + 1) / 3); case "Do": return C.ordinal(E.$D); case "gggg": return E.weekYear(); case "GGGG": return E.isoWeekYear(); case "wo": return C.ordinal(E.week(), "W"); case "w": case "ww": return D.s(E.week(), B === "w" ? 1 : 2, "0"); case "W": case "WW": return D.s(E.isoWeek(), B === "W" ? 1 : 2, "0"); case "k": case "kk": return D.s(String(E.$H === 0 ? 24 : E.$H), B === "k" ? 1 : 2, "0"); case "X": return Math.floor(E.$d.getTime() / 1e3); case "x": return E.$d.getTime(); case "z": return "[" + E.offsetName() + "]"; case "zzz": return "[" + E.offsetName("long") + "]"; default: return B } }); return m.bind(this)(P) } } }) })(H$e); const V$e = A0t; ip.extend($$e), ip.extend(q$e), ip.extend(V$e); let v3 = "", L0t = "", M0t, D0t = "", mP = [], yP = [], I0t = {}, O0t = [], bK = [], iL = "", N0t = ""; const xBt = ["active", "done", "crit", "milestone"]; let P0t = [], xP = !1, F0t = !1, B0t = 0; const G$e = function (i, a, f) { d1.parseDirective(this, i, a, f) }, U$e = function () { O0t = [], bK = [], iL = "", P0t = [], vK = 0, j0t = void 0, wK = void 0, b1 = [], v3 = "", L0t = "", N0t = "", M0t = void 0, D0t = "", mP = [], yP = [], xP = !1, F0t = !1, B0t = 0, I0t = {}, cg() }, W$e = function (i) { L0t = i }, K$e = function () { return L0t }, Y$e = function (i) { M0t = i }, X$e = function () { return M0t }, Q$e = function (i) { D0t = i }, Z$e = function () { return D0t }, J$e = function (i) { v3 = i }, tze = function () { xP = !0 }, eze = function () { return xP }, nze = function () { F0t = !0 }, rze = function () { return F0t }, ize = function (i) { N0t = i }, sze = function () { return N0t }, aze = function () { return v3 }, oze = function (i) { mP = i.toLowerCase().split(/[\s,]+/) }, cze = function () { return mP }, uze = function (i) { yP = i.toLowerCase().split(/[\s,]+/) }, lze = function () { return yP }, hze = function () { return I0t }, fze = function (i) { iL = i, O0t.push(i) }, dze = function () { return O0t }, gze = function () { let i = SBt(); const a = 10; let f = 0; for (; !i && f < a;)i = SBt(), f++; return bK = b1, bK }, kBt = function (i, a, f, p) { return p.includes(i.format(a.trim())) ? !1 : i.isoWeekday() >= 6 && f.includes("weekends") || f.includes(i.format("dddd").toLowerCase()) ? !0 : f.includes(i.format(a.trim())) }, EBt = function (i, a, f, p) { if (!f.length || i.manualEndTime) return; let v; i.startTime instanceof Date ? v = ip(i.startTime) : v = ip(i.startTime, a, !0), v = v.add(1, "d"); let m; i.endTime instanceof Date ? m = ip(i.endTime) : m = ip(i.endTime, a, !0); const [b, E] = pze(v, m, a, f, p); i.endTime = b.toDate(), i.renderEndTime = E }, pze = function (i, a, f, p, v) { let m = !1, b = null; for (; i <= a;)m || (b = a.toDate()), m = kBt(i, f, p, v), m && (a = a.add(1, "d")), i = i.add(1, "d"); return [a, b] }, R0t = function (i, a, f) { f = f.trim(); const v = /^after\s+([\d\w- ]+)/.exec(f.trim()); if (v !== null) { let b = null; if (v[1].split(" ").forEach(function (E) { let C = aL(E); C !== void 0 && (b ? C.endTime > b.endTime && (b = C) : b = C) }), b) return b.endTime; { const E = new Date; return E.setHours(0, 0, 0, 0), E } } let m = ip(f, a.trim(), !0); if (m.isValid()) return m.toDate(); { zt.debug("Invalid date:" + f), zt.debug("With date format:" + a.trim()); const b = new Date(f); if (b === void 0 || isNaN(b.getTime()) || b.getFullYear() < -1e4 || b.getFullYear() > 1e4) throw new Error("Invalid date:" + f); return b } }, TBt = function (i) { const a = /^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(i.trim()); return a !== null ? [Number.parseFloat(a[1]), a[2]] : [NaN, "ms"] }, _Bt = function (i, a, f, p = !1) { f = f.trim(); let v = ip(f, a.trim(), !0); if (v.isValid()) return p && (v = v.add(1, "d")), v.toDate(); let m = ip(i); const [b, E] = TBt(f); if (!Number.isNaN(b)) { const C = m.add(b, E); C.isValid() && (m = C) } return m.toDate() }; let vK = 0; const sL = function (i) { return i === void 0 ? (vK = vK + 1, "task" + vK) : i }, bze = function (i, a) { let f; a.substr(0, 1) === ":" ? f = a.substr(1, a.length) : f = a; const p = f.split(","), v = {}; MBt(p, v, xBt); for (let b = 0; b < p.length; b++)p[b] = p[b].trim(); let m = ""; switch (p.length) { case 1: v.id = sL(), v.startTime = i.endTime, m = p[0]; break; case 2: v.id = sL(), v.startTime = R0t(void 0, v3, p[0]), m = p[1]; break; case 3: v.id = sL(p[0]), v.startTime = R0t(void 0, v3, p[1]), m = p[2]; break }return m && (v.endTime = _Bt(v.startTime, v3, m, xP), v.manualEndTime = ip(m, "YYYY-MM-DD", !0).isValid(), EBt(v, v3, yP, mP)), v }, vze = function (i, a) { let f; a.substr(0, 1) === ":" ? f = a.substr(1, a.length) : f = a; const p = f.split(","), v = {}; MBt(p, v, xBt); for (let m = 0; m < p.length; m++)p[m] = p[m].trim(); switch (p.length) { case 1: v.id = sL(), v.startTime = { type: "prevTaskEnd", id: i }, v.endTime = { data: p[0] }; break; case 2: v.id = sL(), v.startTime = { type: "getStartDate", startData: p[0] }, v.endTime = { data: p[1] }; break; case 3: v.id = sL(p[0]), v.startTime = { type: "getStartDate", startData: p[1] }, v.endTime = { data: p[2] }; break }return v }; let j0t, wK, b1 = []; const CBt = {}, wze = function (i, a) { const f = { section: iL, type: iL, processed: !1, manualEndTime: !1, renderEndTime: null, raw: { data: a }, task: i, classes: [] }, p = vze(wK, a); f.raw.startTime = p.startTime, f.raw.endTime = p.endTime, f.id = p.id, f.prevTaskId = wK, f.active = p.active, f.done = p.done, f.crit = p.crit, f.milestone = p.milestone, f.order = B0t, B0t++; const v = b1.push(f); wK = f.id, CBt[f.id] = v - 1 }, aL = function (i) { const a = CBt[i]; return b1[a] }, mze = function (i, a) { const f = { section: iL, type: iL, description: i, task: i, classes: [] }, p = bze(j0t, a); f.startTime = p.startTime, f.endTime = p.endTime, f.id = p.id, f.active = p.active, f.done = p.done, f.crit = p.crit, f.milestone = p.milestone, j0t = f, bK.push(f) }, SBt = function () { const i = function (f) { const p = b1[f]; let v = ""; switch (b1[f].raw.startTime.type) { case "prevTaskEnd": { const m = aL(p.prevTaskId); p.startTime = m.endTime; break } case "getStartDate": v = R0t(void 0, v3, b1[f].raw.startTime.startData), v && (b1[f].startTime = v); break }return b1[f].startTime && (b1[f].endTime = _Bt(b1[f].startTime, v3, b1[f].raw.endTime.data, xP), b1[f].endTime && (b1[f].processed = !0, b1[f].manualEndTime = ip(b1[f].raw.endTime.data, "YYYY-MM-DD", !0).isValid(), EBt(b1[f], v3, yP, mP))), b1[f].processed }; let a = !0; for (const [f, p] of b1.entries()) i(f), a = a && p.processed; return a }, yze = function (i, a) { let f = a; Oe().securityLevel !== "loose" && (f = Xx(a)), i.split(",").forEach(function (p) { aL(p) !== void 0 && (LBt(p, () => { window.open(f, "_self") }), I0t[p] = f) }), ABt(i, "clickable") }, ABt = function (i, a) { i.split(",").forEach(function (f) { let p = aL(f); p !== void 0 && p.classes.push(a) }) }, xze = function (i, a, f) { if (Oe().securityLevel !== "loose" || a === void 0) return; let p = []; if (typeof f == "string") { p = f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/); for (let m = 0; m < p.length; m++) { let b = p[m].trim(); b.charAt(0) === '"' && b.charAt(b.length - 1) === '"' && (b = b.substr(1, b.length - 2)), p[m] = b } } p.length === 0 && p.push(i), aL(i) !== void 0 && LBt(i, () => { lo.runFunc(a, ...p) }) }, LBt = function (i, a) { P0t.push(function () { const f = document.querySelector(`[id="${i}"]`); f !== null && f.addEventListener("click", function () { a() }) }, function () { const f = document.querySelector(`[id="${i}-text"]`); f !== null && f.addEventListener("click", function () { a() }) }) }, kze = { parseDirective: G$e, getConfig: () => Oe().gantt, clear: U$e, setDateFormat: J$e, getDateFormat: aze, enableInclusiveEndDates: tze, endDatesAreInclusive: eze, enableTopAxis: nze, topAxisEnabled: rze, setAxisFormat: W$e, getAxisFormat: K$e, setTickInterval: Y$e, getTickInterval: X$e, setTodayMarker: Q$e, getTodayMarker: Z$e, setAccTitle: ug, getAccTitle: op, setDiagramTitle: Kb, getDiagramTitle: O2, setDisplayMode: ize, getDisplayMode: sze, setAccDescription: cp, getAccDescription: up, addSection: fze, getSections: dze, getTasks: gze, addTask: wze, findTaskById: aL, addTaskOrg: mze, setIncludes: oze, getIncludes: cze, setExcludes: uze, getExcludes: lze, setClickEvent: function (i, a, f) { i.split(",").forEach(function (p) { xze(p, a, f) }), ABt(i, "clickable") }, setLink: yze, getLinks: hze, bindFunctions: function (i) { P0t.forEach(function (a) { a(i) }) }, parseDuration: TBt, isInvalidDate: kBt }; function MBt(i, a, f) { let p = !0; for (; p;)p = !1, f.forEach(function (v) { const m = "^\\s*" + v + "\\s*$", b = new RegExp(m); i[0].match(b) && (a[v] = !0, i.shift(1), p = !0) }) } const Eze = function () { zt.debug("Something is calling, setConf, remove the call") }, Tze = (i, a) => { let f = [...i].map(() => -1 / 0), p = [...i].sort((m, b) => m.startTime - b.startTime || m.order - b.order), v = 0; for (const m of p) for (let b = 0; b < f.length; b++)if (m.startTime >= f[b]) { f[b] = m.endTime, m.order = b + a, b > v && (v = b); break } return v }; let L5; const _ze = Object.freeze(Object.defineProperty({
        __proto__: null, diagram: {
            parser: R$e, db: kze, renderer: { setConf: Eze, draw: function (i, a, f, p) { const v = Oe().gantt, m = Oe().securityLevel; let b; m === "sandbox" && (b = Mr("#i" + a)); const E = Mr(m === "sandbox" ? b.nodes()[0].contentDocument.body : "body"), C = m === "sandbox" ? b.nodes()[0].contentDocument : document, D = C.getElementById(a); L5 = D.parentElement.offsetWidth, L5 === void 0 && (L5 = 1200), v.useWidth !== void 0 && (L5 = v.useWidth); const P = p.db.getTasks(); let B = []; for (const mt of P) B.push(mt.type); B = ht(B); const j = {}; let R = 2 * v.topPadding; if (p.db.getDisplayMode() === "compact" || v.displayMode === "compact") { const mt = {}; for (const wt of P) mt[wt.section] === void 0 ? mt[wt.section] = [wt] : mt[wt.section].push(wt); let rt = 0; for (const wt of Object.keys(mt)) { const gt = Tze(mt[wt], rt) + 1; rt += gt, R += gt * (v.barHeight + v.barGap), j[wt] = gt } } else { R += P.length * (v.barHeight + v.barGap); for (const mt of B) j[mt] = P.filter(rt => rt.type === mt).length } D.setAttribute("viewBox", "0 0 " + L5 + " " + R); const H = E.select(`[id="${a}"]`), Y = j7e().domain([m5e(P, function (mt) { return mt.startTime }), w5e(P, function (mt) { return mt.endTime })]).rangeRound([0, L5 - v.leftPadding - v.rightPadding]); function it(mt, rt) { const wt = mt.startTime, gt = rt.startTime; let lt = 0; return wt > gt ? lt = 1 : wt < gt && (lt = -1), lt } P.sort(it), nt(P, L5, R), Wb(H, R, L5, v.useMaxWidth), H.append("text").text(p.db.getDiagramTitle()).attr("x", L5 / 2).attr("y", v.titleTopMargin).attr("class", "titleText"); function nt(mt, rt, wt) { const gt = v.barHeight, lt = gt + v.barGap, _t = v.topPadding, X = v.leftPadding, Rt = AU().domain([0, B.length]).range(["#00B9FA", "#F95002"]).interpolate($xe); pt(lt, _t, X, rt, wt, mt, p.db.getExcludes(), p.db.getIncludes()), Tt(X, _t, rt, wt), st(mt, lt, _t, X, gt, Rt, rt), kt(lt, _t), yt(X, _t, rt, wt) } function st(mt, rt, wt, gt, lt, _t, X) { const ft = [...new Set(mt.map(Wt => Wt.order))].map(Wt => mt.find(It => It.order === Wt)); H.append("g").selectAll("rect").data(ft).enter().append("rect").attr("x", 0).attr("y", function (Wt, It) { return It = Wt.order, It * rt + wt - 2 }).attr("width", function () { return X - v.rightPadding / 2 }).attr("height", rt).attr("class", function (Wt) { for (const [It, Nt] of B.entries()) if (Wt.type === Nt) return "section section" + It % v.numberSectionStyles; return "section section0" }); const de = H.append("g").selectAll("rect").data(mt).enter(), J = p.db.getLinks(); if (de.append("rect").attr("id", function (Wt) { return Wt.id }).attr("rx", 3).attr("ry", 3).attr("x", function (Wt) { return Wt.milestone ? Y(Wt.startTime) + gt + .5 * (Y(Wt.endTime) - Y(Wt.startTime)) - .5 * lt : Y(Wt.startTime) + gt }).attr("y", function (Wt, It) { return It = Wt.order, It * rt + wt }).attr("width", function (Wt) { return Wt.milestone ? lt : Y(Wt.renderEndTime || Wt.endTime) - Y(Wt.startTime) }).attr("height", lt).attr("transform-origin", function (Wt, It) { return It = Wt.order, (Y(Wt.startTime) + gt + .5 * (Y(Wt.endTime) - Y(Wt.startTime))).toString() + "px " + (It * rt + wt + .5 * lt).toString() + "px" }).attr("class", function (Wt) { const It = "task"; let Nt = ""; Wt.classes.length > 0 && (Nt = Wt.classes.join(" ")); let me = 0; for (const [_n, _e] of B.entries()) Wt.type === _e && (me = _n % v.numberSectionStyles); let Ue = ""; return Wt.active ? Wt.crit ? Ue += " activeCrit" : Ue = " active" : Wt.done ? Wt.crit ? Ue = " doneCrit" : Ue = " done" : Wt.crit && (Ue += " crit"), Ue.length === 0 && (Ue = " task"), Wt.milestone && (Ue = " milestone " + Ue), Ue += me, Ue += " " + Nt, It + Ue }), de.append("text").attr("id", function (Wt) { return Wt.id + "-text" }).text(function (Wt) { return Wt.task }).attr("font-size", v.fontSize).attr("x", function (Wt) { let It = Y(Wt.startTime), Nt = Y(Wt.renderEndTime || Wt.endTime); Wt.milestone && (It += .5 * (Y(Wt.endTime) - Y(Wt.startTime)) - .5 * lt), Wt.milestone && (Nt = It + lt); const me = this.getBBox().width; return me > Nt - It ? Nt + me + 1.5 * v.leftPadding > X ? It + gt - 5 : Nt + gt + 5 : (Nt - It) / 2 + It + gt }).attr("y", function (Wt, It) { return It = Wt.order, It * rt + v.barHeight / 2 + (v.fontSize / 2 - 2) + wt }).attr("text-height", lt).attr("class", function (Wt) { const It = Y(Wt.startTime); let Nt = Y(Wt.endTime); Wt.milestone && (Nt = It + lt); const me = this.getBBox().width; let Ue = ""; Wt.classes.length > 0 && (Ue = Wt.classes.join(" ")); let _n = 0; for (const [rr, Te] of B.entries()) Wt.type === Te && (_n = rr % v.numberSectionStyles); let _e = ""; return Wt.active && (Wt.crit ? _e = "activeCritText" + _n : _e = "activeText" + _n), Wt.done ? Wt.crit ? _e = _e + " doneCritText" + _n : _e = _e + " doneText" + _n : Wt.crit && (_e = _e + " critText" + _n), Wt.milestone && (_e += " milestoneText"), me > Nt - It ? Nt + me + 1.5 * v.leftPadding > X ? Ue + " taskTextOutsideLeft taskTextOutside" + _n + " " + _e : Ue + " taskTextOutsideRight taskTextOutside" + _n + " " + _e + " width-" + me : Ue + " taskText taskText" + _n + " " + _e + " width-" + me }), Oe().securityLevel === "sandbox") { let Wt; Wt = Mr("#i" + a); const It = Wt.nodes()[0].contentDocument; de.filter(function (Nt) { return J[Nt.id] !== void 0 }).each(function (Nt) { var me = It.querySelector("#" + Nt.id), Ue = It.querySelector("#" + Nt.id + "-text"); const _n = me.parentNode; var _e = It.createElement("a"); _e.setAttribute("xlink:href", J[Nt.id]), _e.setAttribute("target", "_top"), _n.appendChild(_e), _e.appendChild(me), _e.appendChild(Ue) }) } } function pt(mt, rt, wt, gt, lt, _t, X, Rt) { const ft = _t.reduce((me, { startTime: Ue }) => me ? Math.min(me, Ue) : Ue, 0), de = _t.reduce((me, { endTime: Ue }) => me ? Math.max(me, Ue) : Ue, 0), J = p.db.getDateFormat(); if (!ft || !de) return; const ae = []; let Wt = null, It = ip(ft); for (; It.valueOf() <= de;)p.db.isInvalidDate(It, J, X, Rt) ? Wt ? Wt.end = It : Wt = { start: It, end: It } : Wt && (ae.push(Wt), Wt = null), It = It.add(1, "d"); H.append("g").selectAll("rect").data(ae).enter().append("rect").attr("id", function (me) { return "exclude-" + me.start.format("YYYY-MM-DD") }).attr("x", function (me) { return Y(me.start) + wt }).attr("y", v.gridLineStartPadding).attr("width", function (me) { const Ue = me.end.add(1, "day"); return Y(Ue) - Y(me.start) }).attr("height", lt - rt - v.gridLineStartPadding).attr("transform-origin", function (me, Ue) { return (Y(me.start) + wt + .5 * (Y(me.end) - Y(me.start))).toString() + "px " + (Ue * mt + .5 * lt).toString() + "px" }).attr("class", "exclude-range") } function Tt(mt, rt, wt, gt) { let lt = S5e(Y).tickSize(-gt + rt + v.gridLineStartPadding).tickFormat(PU(p.db.getAxisFormat() || v.axisFormat || "%Y-%m-%d")); const X = /^([1-9]\d*)(minute|hour|day|week|month)$/.exec(p.db.getTickInterval() || v.tickInterval); if (X !== null) { const Rt = X[1]; switch (X[2]) { case "minute": lt.ticks(MU.every(Rt)); break; case "hour": lt.ticks(DU.every(Rt)); break; case "day": lt.ticks(mA.every(Rt)); break; case "week": lt.ticks(yA.every(Rt)); break; case "month": lt.ticks(OU.every(Rt)); break } } if (H.append("g").attr("class", "grid").attr("transform", "translate(" + mt + ", " + (gt - 50) + ")").call(lt).selectAll("text").style("text-anchor", "middle").attr("fill", "#000").attr("stroke", "none").attr("font-size", 10).attr("dy", "1em"), p.db.topAxisEnabled() || v.topAxis) { let Rt = C5e(Y).tickSize(-gt + rt + v.gridLineStartPadding).tickFormat(PU(p.db.getAxisFormat() || v.axisFormat || "%Y-%m-%d")); if (X !== null) { const ft = X[1]; switch (X[2]) { case "minute": Rt.ticks(MU.every(ft)); break; case "hour": Rt.ticks(DU.every(ft)); break; case "day": Rt.ticks(mA.every(ft)); break; case "week": Rt.ticks(yA.every(ft)); break; case "month": Rt.ticks(OU.every(ft)); break } } H.append("g").attr("class", "grid").attr("transform", "translate(" + mt + ", " + rt + ")").call(Rt).selectAll("text").style("text-anchor", "middle").attr("fill", "#000").attr("stroke", "none").attr("font-size", 10) } } function kt(mt, rt) { let wt = 0; const gt = Object.keys(j).map(lt => [lt, j[lt]]); H.append("g").selectAll("text").data(gt).enter().append(function (lt) { const _t = lt[0].split(yi.lineBreakRegex), X = -(_t.length - 1) / 2, Rt = C.createElementNS("http://www.w3.org/2000/svg", "text"); Rt.setAttribute("dy", X + "em"); for (const [ft, de] of _t.entries()) { const J = C.createElementNS("http://www.w3.org/2000/svg", "tspan"); J.setAttribute("alignment-baseline", "central"), J.setAttribute("x", "10"), ft > 0 && J.setAttribute("dy", "1em"), J.textContent = de, Rt.appendChild(J) } return Rt }).attr("x", 10).attr("y", function (lt, _t) { if (_t > 0) for (let X = 0; X < _t; X++)return wt += gt[_t - 1][1], lt[1] * mt / 2 + wt * mt + rt; else return lt[1] * mt / 2 + rt }).attr("font-size", v.sectionFontSize).attr("class", function (lt) { for (const [_t, X] of B.entries()) if (lt[0] === X) return "sectionTitle sectionTitle" + _t % v.numberSectionStyles; return "sectionTitle" }) } function yt(mt, rt, wt, gt) { const lt = p.db.getTodayMarker(); if (lt === "off") return; const _t = H.append("g").attr("class", "today"), X = new Date, Rt = _t.append("line"); Rt.attr("x1", Y(X) + mt).attr("x2", Y(X) + mt).attr("y1", v.titleTopMargin).attr("y2", gt - v.titleTopMargin).attr("class", "today"), lt !== "" && Rt.attr("style", lt.replace(/,/g, ";")) } function ht(mt) { const rt = {}, wt = []; for (let gt = 0, lt = mt.length; gt < lt; ++gt)Object.prototype.hasOwnProperty.call(rt, mt[gt]) || (rt[mt[gt]] = !0, wt.push(mt[gt])); return wt } } }, styles: i => `
      .mermaid-main-font {
        font-family: "trebuchet ms", verdana, arial, sans-serif;
        font-family: var(--mermaid-font-family);
      }
      .exclude-range {
        fill: ${i.excludeBkgColor};
      }
    
      .section {
        stroke: none;
        opacity: 0.2;
      }
    
      .section0 {
        fill: ${i.sectionBkgColor};
      }
    
      .section2 {
        fill: ${i.sectionBkgColor2};
      }
    
      .section1,
      .section3 {
        fill: ${i.altSectionBkgColor};
        opacity: 0.2;
      }
    
      .sectionTitle0 {
        fill: ${i.titleColor};
      }
    
      .sectionTitle1 {
        fill: ${i.titleColor};
      }
    
      .sectionTitle2 {
        fill: ${i.titleColor};
      }
    
      .sectionTitle3 {
        fill: ${i.titleColor};
      }
    
      .sectionTitle {
        text-anchor: start;
        // font-size: ${i.ganttFontSize};
        // text-height: 14px;
        font-family: 'trebuchet ms', verdana, arial, sans-serif;
        font-family: var(--mermaid-font-family);
    
      }
    
    
      /* Grid and axis */
    
      .grid .tick {
        stroke: ${i.gridColor};
        opacity: 0.8;
        shape-rendering: crispEdges;
        text {
          font-family: ${i.fontFamily};
          fill: ${i.textColor};
        }
      }
    
      .grid path {
        stroke-width: 0;
      }
    
    
      /* Today line */
    
      .today {
        fill: none;
        stroke: ${i.todayLineColor};
        stroke-width: 2px;
      }
    
    
      /* Task styling */
    
      /* Default task */
    
      .task {
        stroke-width: 2;
      }
    
      .taskText {
        text-anchor: middle;
        font-family: 'trebuchet ms', verdana, arial, sans-serif;
        font-family: var(--mermaid-font-family);
      }
    
      // .taskText:not([font-size]) {
      //   font-size: ${i.ganttFontSize};
      // }
    
      .taskTextOutsideRight {
        fill: ${i.taskTextDarkColor};
        text-anchor: start;
        // font-size: ${i.ganttFontSize};
        font-family: 'trebuchet ms', verdana, arial, sans-serif;
        font-family: var(--mermaid-font-family);
    
      }
    
      .taskTextOutsideLeft {
        fill: ${i.taskTextDarkColor};
        text-anchor: end;
        // font-size: ${i.ganttFontSize};
      }
    
      /* Special case clickable */
      .task.clickable {
        cursor: pointer;
      }
      .taskText.clickable {
        cursor: pointer;
        fill: ${i.taskTextClickableColor} !important;
        font-weight: bold;
      }
    
      .taskTextOutsideLeft.clickable {
        cursor: pointer;
        fill: ${i.taskTextClickableColor} !important;
        font-weight: bold;
      }
    
      .taskTextOutsideRight.clickable {
        cursor: pointer;
        fill: ${i.taskTextClickableColor} !important;
        font-weight: bold;
      }
    
      /* Specific task settings for the sections*/
    
      .taskText0,
      .taskText1,
      .taskText2,
      .taskText3 {
        fill: ${i.taskTextColor};
      }
    
      .task0,
      .task1,
      .task2,
      .task3 {
        fill: ${i.taskBkgColor};
        stroke: ${i.taskBorderColor};
      }
    
      .taskTextOutside0,
      .taskTextOutside2
      {
        fill: ${i.taskTextOutsideColor};
      }
    
      .taskTextOutside1,
      .taskTextOutside3 {
        fill: ${i.taskTextOutsideColor};
      }
    
    
      /* Active task */
    
      .active0,
      .active1,
      .active2,
      .active3 {
        fill: ${i.activeTaskBkgColor};
        stroke: ${i.activeTaskBorderColor};
      }
    
      .activeText0,
      .activeText1,
      .activeText2,
      .activeText3 {
        fill: ${i.taskTextDarkColor} !important;
      }
    
    
      /* Completed task */
    
      .done0,
      .done1,
      .done2,
      .done3 {
        stroke: ${i.doneTaskBorderColor};
        fill: ${i.doneTaskBkgColor};
        stroke-width: 2;
      }
    
      .doneText0,
      .doneText1,
      .doneText2,
      .doneText3 {
        fill: ${i.taskTextDarkColor} !important;
      }
    
    
      /* Tasks on the critical line */
    
      .crit0,
      .crit1,
      .crit2,
      .crit3 {
        stroke: ${i.critBorderColor};
        fill: ${i.critBkgColor};
        stroke-width: 2;
      }
    
      .activeCrit0,
      .activeCrit1,
      .activeCrit2,
      .activeCrit3 {
        stroke: ${i.critBorderColor};
        fill: ${i.activeTaskBkgColor};
        stroke-width: 2;
      }
    
      .doneCrit0,
      .doneCrit1,
      .doneCrit2,
      .doneCrit3 {
        stroke: ${i.critBorderColor};
        fill: ${i.doneTaskBkgColor};
        stroke-width: 2;
        cursor: pointer;
        shape-rendering: crispEdges;
      }
    
      .milestone {
        transform: rotate(45deg) scale(0.8,0.8);
      }
    
      .milestoneText {
        font-style: italic;
      }
      .doneCritText0,
      .doneCritText1,
      .doneCritText2,
      .doneCritText3 {
        fill: ${i.taskTextDarkColor} !important;
      }
    
      .activeCritText0,
      .activeCritText1,
      .activeCritText2,
      .activeCritText3 {
        fill: ${i.taskTextDarkColor} !important;
      }
    
      .titleText {
        text-anchor: middle;
        font-size: 18px;
        fill: ${i.textColor}    ;
        font-family: 'trebuchet ms', verdana, arial, sans-serif;
        font-family: var(--mermaid-font-family);
      }
    `}
    }, Symbol.toStringTag, { value: "Module" })); var $0t = function () {
        var i = function (m, b, E, C) { for (E = E || {}, C = m.length; C--; E[m[C]] = b); return E }, a = [6, 9, 10], f = {
            trace: function () { }, yy: {}, symbols_: { error: 2, start: 3, info: 4, document: 5, EOF: 6, line: 7, statement: 8, NL: 9, showInfo: 10, $accept: 0, $end: 1 }, terminals_: { 2: "error", 4: "info", 6: "EOF", 9: "NL", 10: "showInfo" }, productions_: [0, [3, 3], [5, 0], [5, 2], [7, 1], [7, 1], [8, 1]], performAction: function (b, E, C, D, P, B, j) { switch (B.length - 1, P) { case 1: return D; case 4: break; case 6: D.setInfo(!0); break } }, table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, i(a, [2, 2], { 5: 3 }), { 6: [1, 4], 7: 5, 8: 6, 9: [1, 7], 10: [1, 8] }, { 1: [2, 1] }, i(a, [2, 3]), i(a, [2, 4]), i(a, [2, 5]), i(a, [2, 6])], defaultActions: { 4: [2, 1] }, parseError: function (b, E) { if (E.recoverable) this.trace(b); else { var C = new Error(b); throw C.hash = E, C } }, parse: function (b) {
                var E = this, C = [0], D = [], P = [null], B = [], j = this.table, R = "", H = 0, Y = 0, it = 2, nt = 1, st = B.slice.call(arguments, 1), pt = Object.create(this.lexer), Tt = { yy: {} }; for (var kt in this.yy) Object.prototype.hasOwnProperty.call(this.yy, kt) && (Tt.yy[kt] = this.yy[kt]); pt.setInput(b, Tt.yy), Tt.yy.lexer = pt, Tt.yy.parser = this, typeof pt.yylloc > "u" && (pt.yylloc = {}); var yt = pt.yylloc; B.push(yt); var ht = pt.options && pt.options.ranges; typeof Tt.yy.parseError == "function" ? this.parseError = Tt.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; function mt() { var ae; return ae = D.pop() || pt.lex() || nt, typeof ae != "number" && (ae instanceof Array && (D = ae, ae = D.pop()), ae = E.symbols_[ae] || ae), ae } for (var rt, wt, gt, lt, _t = {}, X, Rt, ft, de; ;) {
                    if (wt = C[C.length - 1], this.defaultActions[wt] ? gt = this.defaultActions[wt] : ((rt === null || typeof rt > "u") && (rt = mt()), gt = j[wt] && j[wt][rt]), typeof gt > "u" || !gt.length || !gt[0]) {
                        var J = ""; de = []; for (X in j[wt]) this.terminals_[X] && X > it && de.push("'" + this.terminals_[X] + "'"); pt.showPosition ? J = "Parse error on line " + (H + 1) + `:
    `+ pt.showPosition() + `
    Expecting `+ de.join(", ") + ", got '" + (this.terminals_[rt] || rt) + "'" : J = "Parse error on line " + (H + 1) + ": Unexpected " + (rt == nt ? "end of input" : "'" + (this.terminals_[rt] || rt) + "'"), this.parseError(J, { text: pt.match, token: this.terminals_[rt] || rt, line: pt.yylineno, loc: yt, expected: de })
                    } if (gt[0] instanceof Array && gt.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + wt + ", token: " + rt); switch (gt[0]) { case 1: C.push(rt), P.push(pt.yytext), B.push(pt.yylloc), C.push(gt[1]), rt = null, Y = pt.yyleng, R = pt.yytext, H = pt.yylineno, yt = pt.yylloc; break; case 2: if (Rt = this.productions_[gt[1]][1], _t.$ = P[P.length - Rt], _t._$ = { first_line: B[B.length - (Rt || 1)].first_line, last_line: B[B.length - 1].last_line, first_column: B[B.length - (Rt || 1)].first_column, last_column: B[B.length - 1].last_column }, ht && (_t._$.range = [B[B.length - (Rt || 1)].range[0], B[B.length - 1].range[1]]), lt = this.performAction.apply(_t, [R, Y, H, Tt.yy, gt[1], P, B].concat(st)), typeof lt < "u") return lt; Rt && (C = C.slice(0, -1 * Rt * 2), P = P.slice(0, -1 * Rt), B = B.slice(0, -1 * Rt)), C.push(this.productions_[gt[1]][0]), P.push(_t.$), B.push(_t._$), ft = j[C[C.length - 2]][C[C.length - 1]], C.push(ft); break; case 3: return !0 }
                } return !0
            }
        }, p = function () {
            var m = {
                EOF: 1, parseError: function (E, C) { if (this.yy.parser) this.yy.parser.parseError(E, C); else throw new Error(E) }, setInput: function (b, E) { return this.yy = E || this.yy || {}, this._input = b, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this }, input: function () { var b = this._input[0]; this.yytext += b, this.yyleng++, this.offset++, this.match += b, this.matched += b; var E = b.match(/(?:\r\n?|\n).*/g); return E ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), b }, unput: function (b) { var E = b.length, C = b.split(/(?:\r\n?|\n)/g); this._input = b + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - E), this.offset -= E; var D = this.match.split(/(?:\r\n?|\n)/g); this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), C.length - 1 && (this.yylineno -= C.length - 1); var P = this.yylloc.range; return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: C ? (C.length === D.length ? this.yylloc.first_column : 0) + D[D.length - C.length].length - C[0].length : this.yylloc.first_column - E }, this.options.ranges && (this.yylloc.range = [P[0], P[0] + this.yyleng - E]), this.yyleng = this.yytext.length, this }, more: function () { return this._more = !0, this }, reject: function () {
                    if (this.options.backtrack_lexer) this._backtrack = !0; else 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).
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno }); return this
                }, less: function (b) { this.unput(this.match.slice(b)) }, pastInput: function () { var b = this.matched.substr(0, this.matched.length - this.match.length); return (b.length > 20 ? "..." : "") + b.substr(-20).replace(/\n/g, "") }, upcomingInput: function () { var b = this.match; return b.length < 20 && (b += this._input.substr(0, 20 - b.length)), (b.substr(0, 20) + (b.length > 20 ? "..." : "")).replace(/\n/g, "") }, showPosition: function () {
                    var b = this.pastInput(), E = new Array(b.length + 1).join("-"); return b + this.upcomingInput() + `
    `+ E + "^"
                }, test_match: function (b, E) { var C, D, P; if (this.options.backtrack_lexer && (P = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (P.yylloc.range = this.yylloc.range.slice(0))), D = b[0].match(/(?:\r\n?|\n).*/g), D && (this.yylineno += D.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: D ? D[D.length - 1].length - D[D.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + b[0].length }, this.yytext += b[0], this.match += b[0], this.matches = b, 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(b[0].length), this.matched += b[0], C = this.performAction.call(this, this.yy, this, E, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), C) return C; if (this._backtrack) { for (var B in P) this[B] = P[B]; return !1 } return !1 }, next: function () {
                    if (this.done) return this.EOF; this._input || (this.done = !0); var b, E, C, D; this._more || (this.yytext = "", this.match = ""); for (var P = this._currentRules(), B = 0; B < P.length; B++)if (C = this._input.match(this.rules[P[B]]), C && (!E || C[0].length > E[0].length)) { if (E = C, D = B, this.options.backtrack_lexer) { if (b = this.test_match(C, P[B]), b !== !1) return b; if (this._backtrack) { E = !1; continue } else return !1 } else if (!this.options.flex) break } return E ? (b = this.test_match(E, P[D]), b !== !1 ? b : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno })
                }, lex: function () { var E = this.next(); return E || this.lex() }, begin: function (E) { this.conditionStack.push(E) }, popState: function () { var E = this.conditionStack.length - 1; return E > 0 ? this.conditionStack.pop() : this.conditionStack[0] }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules }, topState: function (E) { return E = this.conditionStack.length - 1 - Math.abs(E || 0), E >= 0 ? this.conditionStack[E] : "INITIAL" }, pushState: function (E) { this.begin(E) }, stateStackSize: function () { return this.conditionStack.length }, options: { "case-insensitive": !0 }, performAction: function (E, C, D, P) { switch (D) { case 0: return 4; case 1: return 9; case 2: return "space"; case 3: return 10; case 4: return 6; case 5: return "TXT" } }, rules: [/^(?:info\b)/i, /^(?:[\s\n\r]+)/i, /^(?:[\s]+)/i, /^(?:showInfo\b)/i, /^(?:$)/i, /^(?:.)/i], conditions: { INITIAL: { rules: [0, 1, 2, 3, 4, 5], inclusive: !0 } }
            }; return m
        }(); f.lexer = p; function v() { this.yy = {} } return v.prototype = f, f.Parser = v, new v
    }(); $0t.parser = $0t; const Cze = $0t; var DBt = "", IBt = !1; const Sze = Object.freeze(Object.defineProperty({
        __proto__: null, diagram: {
            parser: Cze, db: { setMessage: i => { zt.debug("Setting message to: " + i), DBt = i }, getMessage: () => DBt, setInfo: i => { IBt = i }, getInfo: () => IBt, clear: cg }, renderer: {
                draw: (i, a, f) => {
                    try {
                        zt.debug(`Rendering info diagram
    `+ i); const p = Oe().securityLevel; let v; p === "sandbox" && (v = Mr("#i" + a)); const b = Mr(p === "sandbox" ? v.nodes()[0].contentDocument.body : "body").select("#" + a); b.append("g").append("text").attr("x", 100).attr("y", 40).attr("class", "version").attr("font-size", "32px").style("text-anchor", "middle").text("v " + f), b.attr("height", 100), b.attr("width", 400)
                    } catch (p) { zt.error("Error while rendering info diagram"), zt.error(p.message) }
                }
            }, styles: () => ""
        }
    }, Symbol.toStringTag, { value: "Module" })); var z0t = function () {
        var i = function (yt, ht, mt, rt) { for (mt = mt || {}, rt = yt.length; rt--; mt[yt[rt]] = ht); return mt }, a = [1, 4], f = [1, 5], p = [1, 6], v = [1, 7], m = [1, 9], b = [1, 11, 13, 15, 17, 19, 20, 26, 27, 28, 29], E = [2, 5], C = [1, 6, 11, 13, 15, 17, 19, 20, 26, 27, 28, 29], D = [26, 27, 28], P = [2, 8], B = [1, 18], j = [1, 19], R = [1, 20], H = [1, 21], Y = [1, 22], it = [1, 23], nt = [1, 28], st = [6, 26, 27, 28, 29], pt = {
            trace: function () { }, yy: {}, symbols_: { error: 2, start: 3, eol: 4, directive: 5, PIE: 6, document: 7, showData: 8, line: 9, statement: 10, txt: 11, value: 12, title: 13, title_value: 14, acc_title: 15, acc_title_value: 16, acc_descr: 17, acc_descr_value: 18, acc_descr_multiline_value: 19, section: 20, openDirective: 21, typeDirective: 22, closeDirective: 23, ":": 24, argDirective: 25, NEWLINE: 26, ";": 27, EOF: 28, open_directive: 29, type_directive: 30, arg_directive: 31, close_directive: 32, $accept: 0, $end: 1 }, terminals_: { 2: "error", 6: "PIE", 8: "showData", 11: "txt", 12: "value", 13: "title", 14: "title_value", 15: "acc_title", 16: "acc_title_value", 17: "acc_descr", 18: "acc_descr_value", 19: "acc_descr_multiline_value", 20: "section", 24: ":", 26: "NEWLINE", 27: ";", 28: "EOF", 29: "open_directive", 30: "type_directive", 31: "arg_directive", 32: "close_directive" }, productions_: [0, [3, 2], [3, 2], [3, 2], [3, 3], [7, 0], [7, 2], [9, 2], [10, 0], [10, 2], [10, 2], [10, 2], [10, 2], [10, 1], [10, 1], [10, 1], [5, 3], [5, 5], [4, 1], [4, 1], [4, 1], [21, 1], [22, 1], [25, 1], [23, 1]], performAction: function (ht, mt, rt, wt, gt, lt, _t) { var X = lt.length - 1; switch (gt) { case 4: wt.setShowData(!0); break; case 7: this.$ = lt[X - 1]; break; case 9: wt.addSection(lt[X - 1], wt.cleanupValue(lt[X])); break; case 10: this.$ = lt[X].trim(), wt.setDiagramTitle(this.$); break; case 11: this.$ = lt[X].trim(), wt.setAccTitle(this.$); break; case 12: case 13: this.$ = lt[X].trim(), wt.setAccDescription(this.$); break; case 14: wt.addSection(lt[X].substr(8)), this.$ = lt[X].substr(8); break; case 21: wt.parseDirective("%%{", "open_directive"); break; case 22: wt.parseDirective(lt[X], "type_directive"); break; case 23: lt[X] = lt[X].trim().replace(/'/g, '"'), wt.parseDirective(lt[X], "arg_directive"); break; case 24: wt.parseDirective("}%%", "close_directive", "pie"); break } }, table: [{ 3: 1, 4: 2, 5: 3, 6: a, 21: 8, 26: f, 27: p, 28: v, 29: m }, { 1: [3] }, { 3: 10, 4: 2, 5: 3, 6: a, 21: 8, 26: f, 27: p, 28: v, 29: m }, { 3: 11, 4: 2, 5: 3, 6: a, 21: 8, 26: f, 27: p, 28: v, 29: m }, i(b, E, { 7: 12, 8: [1, 13] }), i(C, [2, 18]), i(C, [2, 19]), i(C, [2, 20]), { 22: 14, 30: [1, 15] }, { 30: [2, 21] }, { 1: [2, 1] }, { 1: [2, 2] }, i(D, P, { 21: 8, 9: 16, 10: 17, 5: 24, 1: [2, 3], 11: B, 13: j, 15: R, 17: H, 19: Y, 20: it, 29: m }), i(b, E, { 7: 25 }), { 23: 26, 24: [1, 27], 32: nt }, i([24, 32], [2, 22]), i(b, [2, 6]), { 4: 29, 26: f, 27: p, 28: v }, { 12: [1, 30] }, { 14: [1, 31] }, { 16: [1, 32] }, { 18: [1, 33] }, i(D, [2, 13]), i(D, [2, 14]), i(D, [2, 15]), i(D, P, { 21: 8, 9: 16, 10: 17, 5: 24, 1: [2, 4], 11: B, 13: j, 15: R, 17: H, 19: Y, 20: it, 29: m }), i(st, [2, 16]), { 25: 34, 31: [1, 35] }, i(st, [2, 24]), i(b, [2, 7]), i(D, [2, 9]), i(D, [2, 10]), i(D, [2, 11]), i(D, [2, 12]), { 23: 36, 32: nt }, { 32: [2, 23] }, i(st, [2, 17])], defaultActions: { 9: [2, 21], 10: [2, 1], 11: [2, 2], 35: [2, 23] }, parseError: function (ht, mt) { if (mt.recoverable) this.trace(ht); else { var rt = new Error(ht); throw rt.hash = mt, rt } }, parse: function (ht) {
                var mt = this, rt = [0], wt = [], gt = [null], lt = [], _t = this.table, X = "", Rt = 0, ft = 0, de = 2, J = 1, ae = lt.slice.call(arguments, 1), Wt = Object.create(this.lexer), It = { yy: {} }; for (var Nt in this.yy) Object.prototype.hasOwnProperty.call(this.yy, Nt) && (It.yy[Nt] = this.yy[Nt]); Wt.setInput(ht, It.yy), It.yy.lexer = Wt, It.yy.parser = this, typeof Wt.yylloc > "u" && (Wt.yylloc = {}); var me = Wt.yylloc; lt.push(me); var Ue = Wt.options && Wt.options.ranges; typeof It.yy.parseError == "function" ? this.parseError = It.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; function _n() { var jt; return jt = wt.pop() || Wt.lex() || J, typeof jt != "number" && (jt instanceof Array && (wt = jt, jt = wt.pop()), jt = mt.symbols_[jt] || jt), jt } for (var _e, rr, Te, ne, Ee = {}, ye, Vt, Ae, Gt; ;) {
                    if (rr = rt[rt.length - 1], this.defaultActions[rr] ? Te = this.defaultActions[rr] : ((_e === null || typeof _e > "u") && (_e = _n()), Te = _t[rr] && _t[rr][_e]), typeof Te > "u" || !Te.length || !Te[0]) {
                        var un = ""; Gt = []; for (ye in _t[rr]) this.terminals_[ye] && ye > de && Gt.push("'" + this.terminals_[ye] + "'"); Wt.showPosition ? un = "Parse error on line " + (Rt + 1) + `:
    `+ Wt.showPosition() + `
    Expecting `+ Gt.join(", ") + ", got '" + (this.terminals_[_e] || _e) + "'" : un = "Parse error on line " + (Rt + 1) + ": Unexpected " + (_e == J ? "end of input" : "'" + (this.terminals_[_e] || _e) + "'"), this.parseError(un, { text: Wt.match, token: this.terminals_[_e] || _e, line: Wt.yylineno, loc: me, expected: Gt })
                    } if (Te[0] instanceof Array && Te.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + rr + ", token: " + _e); switch (Te[0]) { case 1: rt.push(_e), gt.push(Wt.yytext), lt.push(Wt.yylloc), rt.push(Te[1]), _e = null, ft = Wt.yyleng, X = Wt.yytext, Rt = Wt.yylineno, me = Wt.yylloc; break; case 2: if (Vt = this.productions_[Te[1]][1], Ee.$ = gt[gt.length - Vt], Ee._$ = { first_line: lt[lt.length - (Vt || 1)].first_line, last_line: lt[lt.length - 1].last_line, first_column: lt[lt.length - (Vt || 1)].first_column, last_column: lt[lt.length - 1].last_column }, Ue && (Ee._$.range = [lt[lt.length - (Vt || 1)].range[0], lt[lt.length - 1].range[1]]), ne = this.performAction.apply(Ee, [X, ft, Rt, It.yy, Te[1], gt, lt].concat(ae)), typeof ne < "u") return ne; Vt && (rt = rt.slice(0, -1 * Vt * 2), gt = gt.slice(0, -1 * Vt), lt = lt.slice(0, -1 * Vt)), rt.push(this.productions_[Te[1]][0]), gt.push(Ee.$), lt.push(Ee._$), Ae = _t[rt[rt.length - 2]][rt[rt.length - 1]], rt.push(Ae); break; case 3: return !0 }
                } return !0
            }
        }, Tt = function () {
            var yt = {
                EOF: 1, parseError: function (mt, rt) { if (this.yy.parser) this.yy.parser.parseError(mt, rt); else throw new Error(mt) }, setInput: function (ht, mt) { return this.yy = mt || this.yy || {}, this._input = ht, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this }, input: function () { var ht = this._input[0]; this.yytext += ht, this.yyleng++, this.offset++, this.match += ht, this.matched += ht; var mt = ht.match(/(?:\r\n?|\n).*/g); return mt ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), ht }, unput: function (ht) { var mt = ht.length, rt = ht.split(/(?:\r\n?|\n)/g); this._input = ht + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - mt), this.offset -= mt; var wt = this.match.split(/(?:\r\n?|\n)/g); this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), rt.length - 1 && (this.yylineno -= rt.length - 1); var gt = this.yylloc.range; return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: rt ? (rt.length === wt.length ? this.yylloc.first_column : 0) + wt[wt.length - rt.length].length - rt[0].length : this.yylloc.first_column - mt }, this.options.ranges && (this.yylloc.range = [gt[0], gt[0] + this.yyleng - mt]), this.yyleng = this.yytext.length, this }, more: function () { return this._more = !0, this }, reject: function () {
                    if (this.options.backtrack_lexer) this._backtrack = !0; else 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).
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno }); return this
                }, less: function (ht) { this.unput(this.match.slice(ht)) }, pastInput: function () { var ht = this.matched.substr(0, this.matched.length - this.match.length); return (ht.length > 20 ? "..." : "") + ht.substr(-20).replace(/\n/g, "") }, upcomingInput: function () { var ht = this.match; return ht.length < 20 && (ht += this._input.substr(0, 20 - ht.length)), (ht.substr(0, 20) + (ht.length > 20 ? "..." : "")).replace(/\n/g, "") }, showPosition: function () {
                    var ht = this.pastInput(), mt = new Array(ht.length + 1).join("-"); return ht + this.upcomingInput() + `
    `+ mt + "^"
                }, test_match: function (ht, mt) { var rt, wt, gt; if (this.options.backtrack_lexer && (gt = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (gt.yylloc.range = this.yylloc.range.slice(0))), wt = ht[0].match(/(?:\r\n?|\n).*/g), wt && (this.yylineno += wt.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: wt ? wt[wt.length - 1].length - wt[wt.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + ht[0].length }, this.yytext += ht[0], this.match += ht[0], this.matches = ht, 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(ht[0].length), this.matched += ht[0], rt = this.performAction.call(this, this.yy, this, mt, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), rt) return rt; if (this._backtrack) { for (var lt in gt) this[lt] = gt[lt]; return !1 } return !1 }, next: function () {
                    if (this.done) return this.EOF; this._input || (this.done = !0); var ht, mt, rt, wt; this._more || (this.yytext = "", this.match = ""); for (var gt = this._currentRules(), lt = 0; lt < gt.length; lt++)if (rt = this._input.match(this.rules[gt[lt]]), rt && (!mt || rt[0].length > mt[0].length)) { if (mt = rt, wt = lt, this.options.backtrack_lexer) { if (ht = this.test_match(rt, gt[lt]), ht !== !1) return ht; if (this._backtrack) { mt = !1; continue } else return !1 } else if (!this.options.flex) break } return mt ? (ht = this.test_match(mt, gt[wt]), ht !== !1 ? ht : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno })
                }, lex: function () { var mt = this.next(); return mt || this.lex() }, begin: function (mt) { this.conditionStack.push(mt) }, popState: function () { var mt = this.conditionStack.length - 1; return mt > 0 ? this.conditionStack.pop() : this.conditionStack[0] }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules }, topState: function (mt) { return mt = this.conditionStack.length - 1 - Math.abs(mt || 0), mt >= 0 ? this.conditionStack[mt] : "INITIAL" }, pushState: function (mt) { this.begin(mt) }, stateStackSize: function () { return this.conditionStack.length }, options: { "case-insensitive": !0 }, performAction: function (mt, rt, wt, gt) { switch (wt) { case 0: return this.begin("open_directive"), 29; case 1: return this.begin("type_directive"), 30; case 2: return this.popState(), this.begin("arg_directive"), 24; case 3: return this.popState(), this.popState(), 32; case 4: return 31; case 5: break; case 6: break; case 7: return 26; case 8: break; case 9: break; case 10: return this.begin("title"), 13; case 11: return this.popState(), "title_value"; case 12: return this.begin("acc_title"), 15; case 13: return this.popState(), "acc_title_value"; case 14: return this.begin("acc_descr"), 17; case 15: return this.popState(), "acc_descr_value"; case 16: this.begin("acc_descr_multiline"); break; case 17: this.popState(); break; case 18: return "acc_descr_multiline_value"; case 19: this.begin("string"); break; case 20: this.popState(); break; case 21: return "txt"; case 22: return 6; case 23: return 8; case 24: return "value"; case 25: return 28 } }, rules: [/^(?:%%\{)/i, /^(?:((?:(?!\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\}%%)/i, /^(?:((?:(?!\}%%).|\n)*))/i, /^(?:%%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[\n\r]+)/i, /^(?:%%[^\n]*)/i, /^(?:[\s]+)/i, /^(?:title\b)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:["])/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:pie\b)/i, /^(?:showData\b)/i, /^(?::[\s]*[\d]+(?:\.[\d]+)?)/i, /^(?:$)/i], conditions: { acc_descr_multiline: { rules: [17, 18], inclusive: !1 }, acc_descr: { rules: [15], inclusive: !1 }, acc_title: { rules: [13], inclusive: !1 }, close_directive: { rules: [], inclusive: !1 }, arg_directive: { rules: [3, 4], inclusive: !1 }, type_directive: { rules: [2, 3], inclusive: !1 }, open_directive: { rules: [1], inclusive: !1 }, title: { rules: [11], inclusive: !1 }, string: { rules: [20, 21], inclusive: !1 }, INITIAL: { rules: [0, 5, 6, 7, 8, 9, 10, 12, 14, 16, 19, 22, 23, 24, 25], inclusive: !0 } }
            }; return yt
        }(); pt.lexer = Tt; function kt() { this.yy = {} } return kt.prototype = pt, pt.Parser = kt, new kt
    }(); z0t.parser = z0t; const Aze = z0t; let mK = {}, q0t = !1; const Lze = { parseDirective: function (i, a, f) { d1.parseDirective(this, i, a, f) }, getConfig: () => Oe().pie, addSection: function (i, a) { i = yi.sanitizeText(i, Oe()), mK[i] === void 0 && (mK[i] = a, zt.debug("Added new section :", i)) }, getSections: () => mK, cleanupValue: function (i) { return i.substring(0, 1) === ":" && (i = i.substring(1).trim()), Number(i.trim()) }, clear: function () { mK = {}, q0t = !1, cg() }, setAccTitle: ug, getAccTitle: op, setDiagramTitle: Kb, getDiagramTitle: O2, setShowData: function (i) { q0t = i }, getShowData: function () { return q0t }, getAccDescription: up, setAccDescription: cp }, Mze = i => `
      .pieCircle{
        stroke: ${i.pieStrokeColor};
        stroke-width : ${i.pieStrokeWidth};
        opacity : ${i.pieOpacity};
      }
      .pieOuterCircle{
        stroke: ${i.pieOuterStrokeColor};
        stroke-width: ${i.pieOuterStrokeWidth};
        fill: none;
      }
      .pieTitleText {
        text-anchor: middle;
        font-size: ${i.pieTitleTextSize};
        fill: ${i.pieTitleTextColor};
        font-family: ${i.fontFamily};
      }
      .slice {
        font-family: ${i.fontFamily};
        fill: ${i.pieSectionTextColor};
        font-size:${i.pieSectionTextSize};
        // fill: white;
      }
      .legend text {
        fill: ${i.pieLegendTextColor};
        font-family: ${i.fontFamily};
        font-size: ${i.pieLegendTextSize};
      }
    `; let w3 = Oe(), M5; const kP = 450, Dze = Object.freeze(Object.defineProperty({
        __proto__: null, diagram: {
            parser: Aze, db: Lze, renderer: {
                draw: (i, a, f, p) => {
                    var pt; try {
                        w3 = Oe(), zt.debug(`Rendering info diagram
    `+ i); const Tt = Oe().securityLevel; let kt; Tt === "sandbox" && (kt = Mr("#i" + a)); const yt = Mr(Tt === "sandbox" ? kt.nodes()[0].contentDocument.body : "body"), ht = Tt === "sandbox" ? kt.nodes()[0].contentDocument : document; p.db.clear(), p.parser.parse(i), zt.debug("Parsed info diagram"); const mt = ht.getElementById(a); M5 = mt.parentElement.offsetWidth, M5 === void 0 && (M5 = 1200), w3.useWidth !== void 0 && (M5 = w3.useWidth), w3.pie.useWidth !== void 0 && (M5 = w3.pie.useWidth); const rt = yt.select("#" + a); Wb(rt, kP, M5, w3.pie.useMaxWidth), mt.setAttribute("viewBox", "0 0 " + M5 + " " + kP); var v = 40, m = 18, b = 4, E = Math.min(M5, kP) / 2 - v, C = rt.append("g").attr("transform", "translate(" + M5 / 2 + "," + kP / 2 + ")"), D = p.db.getSections(), P = 0; Object.keys(D).forEach(function (_t) { P += D[_t] }); const wt = w3.themeVariables; var B = [wt.pie1, wt.pie2, wt.pie3, wt.pie4, wt.pie5, wt.pie6, wt.pie7, wt.pie8, wt.pie9, wt.pie10, wt.pie11, wt.pie12]; const gt = ((pt = w3.pie) == null ? void 0 : pt.textPosition) ?? .75; let [lt] = $A(wt.pieOuterStrokeWidth); lt ?? (lt = 2); var j = yMt().range(B), R = Object.entries(D).map(function (_t, X) { return { order: X, name: _t[0], value: _t[1] } }), H = Z7e().value(function (_t) { return _t.value }).sort(function (_t, X) { return _t.order - X.order }), Y = H(R), it = _A().innerRadius(0).outerRadius(E), nt = _A().innerRadius(E * gt).outerRadius(E * gt); C.append("circle").attr("cx", 0).attr("cy", 0).attr("r", E + lt / 2).attr("class", "pieOuterCircle"), C.selectAll("mySlices").data(Y).enter().append("path").attr("d", it).attr("fill", function (_t) { return j(_t.data.name) }).attr("class", "pieCircle"), C.selectAll("mySlices").data(Y).enter().append("text").text(function (_t) { return (_t.data.value / P * 100).toFixed(0) + "%" }).attr("transform", function (_t) { return "translate(" + nt.centroid(_t) + ")" }).style("text-anchor", "middle").attr("class", "slice"), C.append("text").text(p.db.getDiagramTitle()).attr("x", 0).attr("y", -(kP - 50) / 2).attr("class", "pieTitleText"); var st = C.selectAll(".legend").data(j.domain()).enter().append("g").attr("class", "legend").attr("transform", function (_t, X) { const Rt = m + b, ft = Rt * j.domain().length / 2, de = 12 * m, J = X * Rt - ft; return "translate(" + de + "," + J + ")" }); st.append("rect").attr("width", m).attr("height", m).style("fill", j).style("stroke", j), st.data(Y).append("text").attr("x", m + b).attr("y", m - b).text(function (_t) { return p.db.getShowData() || w3.showData || w3.pie.showData ? _t.data.name + " [" + _t.data.value + "]" : _t.data.name })
                    } catch (Tt) { zt.error("Error while rendering info diagram"), zt.error(Tt) }
                }
            }, styles: Mze
        }
    }, Symbol.toStringTag, { value: "Module" })); var H0t = function () {
        var i = function (Te, ne, Ee, ye) { for (Ee = Ee || {}, ye = Te.length; ye--; Ee[Te[ye]] = ne); return Ee }, a = [1, 3], f = [1, 5], p = [1, 6], v = [1, 7], m = [1, 8], b = [1, 10], E = [1, 5, 14, 16, 18, 20, 21, 26, 28, 29, 30, 31, 32, 38, 39, 40, 41, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60], C = [1, 5, 7, 14, 16, 18, 20, 21, 26, 28, 29, 30, 31, 32, 38, 39, 40, 41, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60], D = [38, 39, 40], P = [2, 8], B = [1, 19], j = [1, 23], R = [1, 24], H = [1, 25], Y = [1, 26], it = [1, 27], nt = [1, 29], st = [1, 30], pt = [1, 31], Tt = [1, 32], kt = [1, 33], yt = [1, 34], ht = [1, 37], mt = [1, 38], rt = [1, 39], wt = [1, 40], gt = [1, 41], lt = [1, 42], _t = [1, 43], X = [1, 44], Rt = [1, 45], ft = [1, 46], de = [1, 47], J = [1, 48], ae = [1, 49], Wt = [1, 52], It = [1, 67], Nt = [1, 68], me = [5, 23, 27, 38, 39, 40, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61], Ue = [5, 7, 38, 39, 40, 41], _n = {
            trace: function () { }, yy: {}, symbols_: { error: 2, start: 3, eol: 4, SPACE: 5, directive: 6, QUADRANT: 7, document: 8, line: 9, statement: 10, axisDetails: 11, quadrantDetails: 12, points: 13, title: 14, title_value: 15, acc_title: 16, acc_title_value: 17, acc_descr: 18, acc_descr_value: 19, acc_descr_multiline_value: 20, section: 21, text: 22, point_start: 23, point_x: 24, point_y: 25, "X-AXIS": 26, "AXIS-TEXT-DELIMITER": 27, "Y-AXIS": 28, QUADRANT_1: 29, QUADRANT_2: 30, QUADRANT_3: 31, QUADRANT_4: 32, openDirective: 33, typeDirective: 34, closeDirective: 35, ":": 36, argDirective: 37, NEWLINE: 38, SEMI: 39, EOF: 40, open_directive: 41, type_directive: 42, arg_directive: 43, close_directive: 44, alphaNumToken: 45, textNoTagsToken: 46, STR: 47, MD_STR: 48, alphaNum: 49, PUNCTUATION: 50, AMP: 51, NUM: 52, ALPHA: 53, COMMA: 54, PLUS: 55, EQUALS: 56, MULT: 57, DOT: 58, BRKT: 59, UNDERSCORE: 60, MINUS: 61, $accept: 0, $end: 1 }, terminals_: { 2: "error", 5: "SPACE", 7: "QUADRANT", 14: "title", 15: "title_value", 16: "acc_title", 17: "acc_title_value", 18: "acc_descr", 19: "acc_descr_value", 20: "acc_descr_multiline_value", 21: "section", 23: "point_start", 24: "point_x", 25: "point_y", 26: "X-AXIS", 27: "AXIS-TEXT-DELIMITER", 28: "Y-AXIS", 29: "QUADRANT_1", 30: "QUADRANT_2", 31: "QUADRANT_3", 32: "QUADRANT_4", 36: ":", 38: "NEWLINE", 39: "SEMI", 40: "EOF", 41: "open_directive", 42: "type_directive", 43: "arg_directive", 44: "close_directive", 47: "STR", 48: "MD_STR", 50: "PUNCTUATION", 51: "AMP", 52: "NUM", 53: "ALPHA", 54: "COMMA", 55: "PLUS", 56: "EQUALS", 57: "MULT", 58: "DOT", 59: "BRKT", 60: "UNDERSCORE", 61: "MINUS" }, productions_: [0, [3, 2], [3, 2], [3, 2], [3, 2], [8, 0], [8, 2], [9, 2], [10, 0], [10, 2], [10, 1], [10, 1], [10, 1], [10, 2], [10, 2], [10, 2], [10, 1], [10, 1], [10, 1], [13, 4], [11, 4], [11, 3], [11, 2], [11, 4], [11, 3], [11, 2], [12, 2], [12, 2], [12, 2], [12, 2], [6, 3], [6, 5], [4, 1], [4, 1], [4, 1], [33, 1], [34, 1], [37, 1], [35, 1], [22, 1], [22, 2], [22, 1], [22, 1], [49, 1], [49, 2], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [46, 1], [46, 1], [46, 1]], performAction: function (ne, Ee, ye, Vt, Ae, Gt, un) { var jt = Gt.length - 1; switch (Ae) { case 13: this.$ = Gt[jt].trim(), Vt.setDiagramTitle(this.$); break; case 14: this.$ = Gt[jt].trim(), Vt.setAccTitle(this.$); break; case 15: case 16: this.$ = Gt[jt].trim(), Vt.setAccDescription(this.$); break; case 17: Vt.addSection(Gt[jt].substr(8)), this.$ = Gt[jt].substr(8); break; case 19: Vt.addPoint(Gt[jt - 3], Gt[jt - 1], Gt[jt]); break; case 20: Vt.setXAxisLeftText(Gt[jt - 2]), Vt.setXAxisRightText(Gt[jt]); break; case 21: Gt[jt - 1].text += " ⟶ ", Vt.setXAxisLeftText(Gt[jt - 1]); break; case 22: Vt.setXAxisLeftText(Gt[jt]); break; case 23: Vt.setYAxisBottomText(Gt[jt - 2]), Vt.setYAxisTopText(Gt[jt]); break; case 24: Gt[jt - 1].text += " ⟶ ", Vt.setYAxisBottomText(Gt[jt - 1]); break; case 25: Vt.setYAxisBottomText(Gt[jt]); break; case 26: Vt.setQuadrant1Text(Gt[jt]); break; case 27: Vt.setQuadrant2Text(Gt[jt]); break; case 28: Vt.setQuadrant3Text(Gt[jt]); break; case 29: Vt.setQuadrant4Text(Gt[jt]); break; case 35: Vt.parseDirective("%%{", "open_directive"); break; case 36: Vt.parseDirective(Gt[jt], "type_directive"); break; case 37: Gt[jt] = Gt[jt].trim().replace(/'/g, '"'), Vt.parseDirective(Gt[jt], "arg_directive"); break; case 38: Vt.parseDirective("}%%", "close_directive", "quadrantChart"); break; case 39: this.$ = { text: Gt[jt], type: "text" }; break; case 40: this.$ = { text: Gt[jt - 1].text + "" + Gt[jt], type: Gt[jt - 1].type }; break; case 41: this.$ = { text: Gt[jt], type: "text" }; break; case 42: this.$ = { text: Gt[jt], type: "markdown" }; break; case 43: this.$ = Gt[jt]; break; case 44: this.$ = Gt[jt - 1] + "" + Gt[jt]; break } }, table: [{ 3: 1, 4: 2, 5: a, 6: 4, 7: f, 33: 9, 38: p, 39: v, 40: m, 41: b }, { 1: [3] }, { 3: 11, 4: 2, 5: a, 6: 4, 7: f, 33: 9, 38: p, 39: v, 40: m, 41: b }, { 3: 12, 4: 2, 5: a, 6: 4, 7: f, 33: 9, 38: p, 39: v, 40: m, 41: b }, { 3: 13, 4: 2, 5: a, 6: 4, 7: f, 33: 9, 38: p, 39: v, 40: m, 41: b }, i(E, [2, 5], { 8: 14 }), i(C, [2, 32]), i(C, [2, 33]), i(C, [2, 34]), { 34: 15, 42: [1, 16] }, { 42: [2, 35] }, { 1: [2, 1] }, { 1: [2, 2] }, { 1: [2, 3] }, i(D, P, { 33: 9, 9: 17, 10: 18, 11: 20, 12: 21, 13: 22, 6: 28, 22: 35, 45: 36, 1: [2, 4], 5: B, 14: j, 16: R, 18: H, 20: Y, 21: it, 26: nt, 28: st, 29: pt, 30: Tt, 31: kt, 32: yt, 41: b, 47: ht, 48: mt, 50: rt, 51: wt, 52: gt, 53: lt, 54: _t, 55: X, 56: Rt, 57: ft, 58: de, 59: J, 60: ae }), { 35: 50, 36: [1, 51], 44: Wt }, i([36, 44], [2, 36]), i(E, [2, 6]), { 4: 53, 38: p, 39: v, 40: m }, i(D, P, { 33: 9, 11: 20, 12: 21, 13: 22, 6: 28, 22: 35, 45: 36, 10: 54, 5: B, 14: j, 16: R, 18: H, 20: Y, 21: it, 26: nt, 28: st, 29: pt, 30: Tt, 31: kt, 32: yt, 41: b, 47: ht, 48: mt, 50: rt, 51: wt, 52: gt, 53: lt, 54: _t, 55: X, 56: Rt, 57: ft, 58: de, 59: J, 60: ae }), i(D, [2, 10]), i(D, [2, 11]), i(D, [2, 12]), { 15: [1, 55] }, { 17: [1, 56] }, { 19: [1, 57] }, i(D, [2, 16]), i(D, [2, 17]), i(D, [2, 18]), { 22: 58, 45: 36, 47: ht, 48: mt, 50: rt, 51: wt, 52: gt, 53: lt, 54: _t, 55: X, 56: Rt, 57: ft, 58: de, 59: J, 60: ae }, { 22: 59, 45: 36, 47: ht, 48: mt, 50: rt, 51: wt, 52: gt, 53: lt, 54: _t, 55: X, 56: Rt, 57: ft, 58: de, 59: J, 60: ae }, { 22: 60, 45: 36, 47: ht, 48: mt, 50: rt, 51: wt, 52: gt, 53: lt, 54: _t, 55: X, 56: Rt, 57: ft, 58: de, 59: J, 60: ae }, { 22: 61, 45: 36, 47: ht, 48: mt, 50: rt, 51: wt, 52: gt, 53: lt, 54: _t, 55: X, 56: Rt, 57: ft, 58: de, 59: J, 60: ae }, { 22: 62, 45: 36, 47: ht, 48: mt, 50: rt, 51: wt, 52: gt, 53: lt, 54: _t, 55: X, 56: Rt, 57: ft, 58: de, 59: J, 60: ae }, { 22: 63, 45: 36, 47: ht, 48: mt, 50: rt, 51: wt, 52: gt, 53: lt, 54: _t, 55: X, 56: Rt, 57: ft, 58: de, 59: J, 60: ae }, { 5: It, 23: [1, 64], 45: 66, 46: 65, 50: rt, 51: wt, 52: gt, 53: lt, 54: _t, 55: X, 56: Rt, 57: ft, 58: de, 59: J, 60: ae, 61: Nt }, i(me, [2, 39]), i(me, [2, 41]), i(me, [2, 42]), i(me, [2, 45]), i(me, [2, 46]), i(me, [2, 47]), i(me, [2, 48]), i(me, [2, 49]), i(me, [2, 50]), i(me, [2, 51]), i(me, [2, 52]), i(me, [2, 53]), i(me, [2, 54]), i(me, [2, 55]), i(Ue, [2, 30]), { 37: 69, 43: [1, 70] }, i(Ue, [2, 38]), i(E, [2, 7]), i(D, [2, 9]), i(D, [2, 13]), i(D, [2, 14]), i(D, [2, 15]), i(D, [2, 22], { 46: 65, 45: 66, 5: It, 27: [1, 71], 50: rt, 51: wt, 52: gt, 53: lt, 54: _t, 55: X, 56: Rt, 57: ft, 58: de, 59: J, 60: ae, 61: Nt }), i(D, [2, 25], { 46: 65, 45: 66, 5: It, 27: [1, 72], 50: rt, 51: wt, 52: gt, 53: lt, 54: _t, 55: X, 56: Rt, 57: ft, 58: de, 59: J, 60: ae, 61: Nt }), i(D, [2, 26], { 46: 65, 45: 66, 5: It, 50: rt, 51: wt, 52: gt, 53: lt, 54: _t, 55: X, 56: Rt, 57: ft, 58: de, 59: J, 60: ae, 61: Nt }), i(D, [2, 27], { 46: 65, 45: 66, 5: It, 50: rt, 51: wt, 52: gt, 53: lt, 54: _t, 55: X, 56: Rt, 57: ft, 58: de, 59: J, 60: ae, 61: Nt }), i(D, [2, 28], { 46: 65, 45: 66, 5: It, 50: rt, 51: wt, 52: gt, 53: lt, 54: _t, 55: X, 56: Rt, 57: ft, 58: de, 59: J, 60: ae, 61: Nt }), i(D, [2, 29], { 46: 65, 45: 66, 5: It, 50: rt, 51: wt, 52: gt, 53: lt, 54: _t, 55: X, 56: Rt, 57: ft, 58: de, 59: J, 60: ae, 61: Nt }), { 24: [1, 73] }, i(me, [2, 40]), i(me, [2, 56]), i(me, [2, 57]), i(me, [2, 58]), { 35: 74, 44: Wt }, { 44: [2, 37] }, i(D, [2, 21], { 45: 36, 22: 75, 47: ht, 48: mt, 50: rt, 51: wt, 52: gt, 53: lt, 54: _t, 55: X, 56: Rt, 57: ft, 58: de, 59: J, 60: ae }), i(D, [2, 24], { 45: 36, 22: 76, 47: ht, 48: mt, 50: rt, 51: wt, 52: gt, 53: lt, 54: _t, 55: X, 56: Rt, 57: ft, 58: de, 59: J, 60: ae }), { 25: [1, 77] }, i(Ue, [2, 31]), i(D, [2, 20], { 46: 65, 45: 66, 5: It, 50: rt, 51: wt, 52: gt, 53: lt, 54: _t, 55: X, 56: Rt, 57: ft, 58: de, 59: J, 60: ae, 61: Nt }), i(D, [2, 23], { 46: 65, 45: 66, 5: It, 50: rt, 51: wt, 52: gt, 53: lt, 54: _t, 55: X, 56: Rt, 57: ft, 58: de, 59: J, 60: ae, 61: Nt }), i(D, [2, 19])], defaultActions: { 10: [2, 35], 11: [2, 1], 12: [2, 2], 13: [2, 3], 70: [2, 37] }, parseError: function (ne, Ee) { if (Ee.recoverable) this.trace(ne); else { var ye = new Error(ne); throw ye.hash = Ee, ye } }, parse: function (ne) {
                var Ee = this, ye = [0], Vt = [], Ae = [null], Gt = [], un = this.table, jt = "", Ke = 0, oe = 0, Or = 2, Le = 1, Nr = Gt.slice.call(arguments, 1), fe = Object.create(this.lexer), sr = { yy: {} }; for (var Yn in this.yy) Object.prototype.hasOwnProperty.call(this.yy, Yn) && (sr.yy[Yn] = this.yy[Yn]); fe.setInput(ne, sr.yy), sr.yy.lexer = fe, sr.yy.parser = this, typeof fe.yylloc > "u" && (fe.yylloc = {}); var tr = fe.yylloc; Gt.push(tr); var ur = fe.options && fe.options.ranges; typeof sr.yy.parseError == "function" ? this.parseError = sr.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; function gn() { var Pr; return Pr = Vt.pop() || fe.lex() || Le, typeof Pr != "number" && (Pr instanceof Array && (Vt = Pr, Pr = Vt.pop()), Pr = Ee.symbols_[Pr] || Pr), Pr } for (var En, Dr, hr, Ki, Is = {}, Ha, hi, qi, zn; ;) {
                    if (Dr = ye[ye.length - 1], this.defaultActions[Dr] ? hr = this.defaultActions[Dr] : ((En === null || typeof En > "u") && (En = gn()), hr = un[Dr] && un[Dr][En]), typeof hr > "u" || !hr.length || !hr[0]) {
                        var Zn = ""; zn = []; for (Ha in un[Dr]) this.terminals_[Ha] && Ha > Or && zn.push("'" + this.terminals_[Ha] + "'"); fe.showPosition ? Zn = "Parse error on line " + (Ke + 1) + `:
    `+ fe.showPosition() + `
    Expecting `+ zn.join(", ") + ", got '" + (this.terminals_[En] || En) + "'" : Zn = "Parse error on line " + (Ke + 1) + ": Unexpected " + (En == Le ? "end of input" : "'" + (this.terminals_[En] || En) + "'"), this.parseError(Zn, { text: fe.match, token: this.terminals_[En] || En, line: fe.yylineno, loc: tr, expected: zn })
                    } if (hr[0] instanceof Array && hr.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + Dr + ", token: " + En); switch (hr[0]) { case 1: ye.push(En), Ae.push(fe.yytext), Gt.push(fe.yylloc), ye.push(hr[1]), En = null, oe = fe.yyleng, jt = fe.yytext, Ke = fe.yylineno, tr = fe.yylloc; break; case 2: if (hi = this.productions_[hr[1]][1], Is.$ = Ae[Ae.length - hi], Is._$ = { first_line: Gt[Gt.length - (hi || 1)].first_line, last_line: Gt[Gt.length - 1].last_line, first_column: Gt[Gt.length - (hi || 1)].first_column, last_column: Gt[Gt.length - 1].last_column }, ur && (Is._$.range = [Gt[Gt.length - (hi || 1)].range[0], Gt[Gt.length - 1].range[1]]), Ki = this.performAction.apply(Is, [jt, oe, Ke, sr.yy, hr[1], Ae, Gt].concat(Nr)), typeof Ki < "u") return Ki; hi && (ye = ye.slice(0, -1 * hi * 2), Ae = Ae.slice(0, -1 * hi), Gt = Gt.slice(0, -1 * hi)), ye.push(this.productions_[hr[1]][0]), Ae.push(Is.$), Gt.push(Is._$), qi = un[ye[ye.length - 2]][ye[ye.length - 1]], ye.push(qi); break; case 3: return !0 }
                } return !0
            }
        }, _e = function () {
            var Te = {
                EOF: 1, parseError: function (Ee, ye) { if (this.yy.parser) this.yy.parser.parseError(Ee, ye); else throw new Error(Ee) }, setInput: function (ne, Ee) { return this.yy = Ee || this.yy || {}, this._input = ne, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this }, input: function () { var ne = this._input[0]; this.yytext += ne, this.yyleng++, this.offset++, this.match += ne, this.matched += ne; var Ee = ne.match(/(?:\r\n?|\n).*/g); return Ee ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), ne }, unput: function (ne) { var Ee = ne.length, ye = ne.split(/(?:\r\n?|\n)/g); this._input = ne + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - Ee), this.offset -= Ee; var Vt = this.match.split(/(?:\r\n?|\n)/g); this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), ye.length - 1 && (this.yylineno -= ye.length - 1); var Ae = this.yylloc.range; return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: ye ? (ye.length === Vt.length ? this.yylloc.first_column : 0) + Vt[Vt.length - ye.length].length - ye[0].length : this.yylloc.first_column - Ee }, this.options.ranges && (this.yylloc.range = [Ae[0], Ae[0] + this.yyleng - Ee]), this.yyleng = this.yytext.length, this }, more: function () { return this._more = !0, this }, reject: function () {
                    if (this.options.backtrack_lexer) this._backtrack = !0; else 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).
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno }); return this
                }, less: function (ne) { this.unput(this.match.slice(ne)) }, pastInput: function () { var ne = this.matched.substr(0, this.matched.length - this.match.length); return (ne.length > 20 ? "..." : "") + ne.substr(-20).replace(/\n/g, "") }, upcomingInput: function () { var ne = this.match; return ne.length < 20 && (ne += this._input.substr(0, 20 - ne.length)), (ne.substr(0, 20) + (ne.length > 20 ? "..." : "")).replace(/\n/g, "") }, showPosition: function () {
                    var ne = this.pastInput(), Ee = new Array(ne.length + 1).join("-"); return ne + this.upcomingInput() + `
    `+ Ee + "^"
                }, test_match: function (ne, Ee) { var ye, Vt, Ae; if (this.options.backtrack_lexer && (Ae = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (Ae.yylloc.range = this.yylloc.range.slice(0))), Vt = ne[0].match(/(?:\r\n?|\n).*/g), Vt && (this.yylineno += Vt.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: Vt ? Vt[Vt.length - 1].length - Vt[Vt.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + ne[0].length }, this.yytext += ne[0], this.match += ne[0], this.matches = ne, 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(ne[0].length), this.matched += ne[0], ye = this.performAction.call(this, this.yy, this, Ee, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), ye) return ye; if (this._backtrack) { for (var Gt in Ae) this[Gt] = Ae[Gt]; return !1 } return !1 }, next: function () {
                    if (this.done) return this.EOF; this._input || (this.done = !0); var ne, Ee, ye, Vt; this._more || (this.yytext = "", this.match = ""); for (var Ae = this._currentRules(), Gt = 0; Gt < Ae.length; Gt++)if (ye = this._input.match(this.rules[Ae[Gt]]), ye && (!Ee || ye[0].length > Ee[0].length)) { if (Ee = ye, Vt = Gt, this.options.backtrack_lexer) { if (ne = this.test_match(ye, Ae[Gt]), ne !== !1) return ne; if (this._backtrack) { Ee = !1; continue } else return !1 } else if (!this.options.flex) break } return Ee ? (ne = this.test_match(Ee, Ae[Vt]), ne !== !1 ? ne : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno })
                }, lex: function () { var Ee = this.next(); return Ee || this.lex() }, begin: function (Ee) { this.conditionStack.push(Ee) }, popState: function () { var Ee = this.conditionStack.length - 1; return Ee > 0 ? this.conditionStack.pop() : this.conditionStack[0] }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules }, topState: function (Ee) { return Ee = this.conditionStack.length - 1 - Math.abs(Ee || 0), Ee >= 0 ? this.conditionStack[Ee] : "INITIAL" }, pushState: function (Ee) { this.begin(Ee) }, stateStackSize: function () { return this.conditionStack.length }, options: { "case-insensitive": !0 }, performAction: function (Ee, ye, Vt, Ae) { switch (Vt) { case 0: return this.begin("open_directive"), 41; case 1: return this.begin("type_directive"), 42; case 2: return this.popState(), this.begin("arg_directive"), 36; case 3: return this.popState(), this.popState(), 44; case 4: return 43; case 5: break; case 6: break; case 7: return 38; case 8: break; case 9: return this.begin("title"), 14; case 10: return this.popState(), "title_value"; case 11: return this.begin("acc_title"), 16; case 12: return this.popState(), "acc_title_value"; case 13: return this.begin("acc_descr"), 18; case 14: return this.popState(), "acc_descr_value"; case 15: this.begin("acc_descr_multiline"); break; case 16: this.popState(); break; case 17: return "acc_descr_multiline_value"; case 18: return 26; case 19: return 28; case 20: return 27; case 21: return 29; case 22: return 30; case 23: return 31; case 24: return 32; case 25: this.begin("md_string"); break; case 26: return "MD_STR"; case 27: this.popState(); break; case 28: this.begin("string"); break; case 29: this.popState(); break; case 30: return "STR"; case 31: return this.begin("point_start"), 23; case 32: return this.begin("point_x"), 24; case 33: this.popState(); break; case 34: this.popState(), this.begin("point_y"); break; case 35: return this.popState(), 25; case 36: return 7; case 37: return 53; case 38: return "COLON"; case 39: return 55; case 40: return 54; case 41: return 56; case 42: return 56; case 43: return 57; case 44: return 59; case 45: return 60; case 46: return 58; case 47: return 51; case 48: return 61; case 49: return 52; case 50: return 5; case 51: return 39; case 52: return 50; case 53: return 40 } }, rules: [/^(?:%%\{)/i, /^(?:((?:(?!\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\}%%)/i, /^(?:((?:(?!\}%%).|\n)*))/i, /^(?:%%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[\n\r]+)/i, /^(?:%%[^\n]*)/i, /^(?:title\b)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?: *x-axis *)/i, /^(?: *y-axis *)/i, /^(?: *--+> *)/i, /^(?: *quadrant-1 *)/i, /^(?: *quadrant-2 *)/i, /^(?: *quadrant-3 *)/i, /^(?: *quadrant-4 *)/i, /^(?:["][`])/i, /^(?:[^`"]+)/i, /^(?:[`]["])/i, /^(?:["])/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:\s*:\s*\[\s*)/i, /^(?:(1)|(0(.\d+)?))/i, /^(?:\s*\] *)/i, /^(?:\s*,\s*)/i, /^(?:(1)|(0(.\d+)?))/i, /^(?: *quadrantChart *)/i, /^(?:[A-Za-z]+)/i, /^(?::)/i, /^(?:\+)/i, /^(?:,)/i, /^(?:=)/i, /^(?:=)/i, /^(?:\*)/i, /^(?:#)/i, /^(?:[\_])/i, /^(?:\.)/i, /^(?:&)/i, /^(?:-)/i, /^(?:[0-9]+)/i, /^(?:\s)/i, /^(?:;)/i, /^(?:[!"#$%&'*+,-.`?\\_/])/i, /^(?:$)/i], conditions: { point_y: { rules: [35], inclusive: !1 }, point_x: { rules: [34], inclusive: !1 }, point_start: { rules: [32, 33], inclusive: !1 }, acc_descr_multiline: { rules: [16, 17], inclusive: !1 }, acc_descr: { rules: [14], inclusive: !1 }, acc_title: { rules: [12], inclusive: !1 }, close_directive: { rules: [], inclusive: !1 }, arg_directive: { rules: [3, 4], inclusive: !1 }, type_directive: { rules: [2, 3], inclusive: !1 }, open_directive: { rules: [1], inclusive: !1 }, title: { rules: [10], inclusive: !1 }, md_string: { rules: [26, 27], inclusive: !1 }, string: { rules: [29, 30], inclusive: !1 }, INITIAL: { rules: [0, 5, 6, 7, 8, 9, 11, 13, 15, 18, 19, 20, 21, 22, 23, 24, 25, 28, 31, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53], inclusive: !0 } }
            }; return Te
        }(); _n.lexer = _e; function rr() { this.yy = {} } return rr.prototype = _n, _n.Parser = rr, new rr
    }(); H0t.parser = H0t; const Ize = H0t, fg = IDt(); class Oze { constructor() { this.config = this.getDefaultConfig(), this.themeConfig = this.getDefaultThemeConfig(), this.data = this.getDefaultData() } getDefaultData() { return { titleText: "", quadrant1Text: "", quadrant2Text: "", quadrant3Text: "", quadrant4Text: "", xAxisLeftText: "", xAxisRightText: "", yAxisBottomText: "", yAxisTopText: "", points: [] } } getDefaultConfig() { var a, f, p, v, m, b, E, C, D, P, B, j, R, H, Y, it, nt, st; return { showXAxis: !0, showYAxis: !0, showTitle: !0, chartHeight: ((a = f1.quadrantChart) == null ? void 0 : a.chartWidth) || 500, chartWidth: ((f = f1.quadrantChart) == null ? void 0 : f.chartHeight) || 500, titlePadding: ((p = f1.quadrantChart) == null ? void 0 : p.titlePadding) || 10, titleFontSize: ((v = f1.quadrantChart) == null ? void 0 : v.titleFontSize) || 20, quadrantPadding: ((m = f1.quadrantChart) == null ? void 0 : m.quadrantPadding) || 5, xAxisLabelPadding: ((b = f1.quadrantChart) == null ? void 0 : b.xAxisLabelPadding) || 5, yAxisLabelPadding: ((E = f1.quadrantChart) == null ? void 0 : E.yAxisLabelPadding) || 5, xAxisLabelFontSize: ((C = f1.quadrantChart) == null ? void 0 : C.xAxisLabelFontSize) || 16, yAxisLabelFontSize: ((D = f1.quadrantChart) == null ? void 0 : D.yAxisLabelFontSize) || 16, quadrantLabelFontSize: ((P = f1.quadrantChart) == null ? void 0 : P.quadrantLabelFontSize) || 16, quadrantTextTopPadding: ((B = f1.quadrantChart) == null ? void 0 : B.quadrantTextTopPadding) || 5, pointTextPadding: ((j = f1.quadrantChart) == null ? void 0 : j.pointTextPadding) || 5, pointLabelFontSize: ((R = f1.quadrantChart) == null ? void 0 : R.pointLabelFontSize) || 12, pointRadius: ((H = f1.quadrantChart) == null ? void 0 : H.pointRadius) || 5, xAxisPosition: ((Y = f1.quadrantChart) == null ? void 0 : Y.xAxisPosition) || "top", yAxisPosition: ((it = f1.quadrantChart) == null ? void 0 : it.yAxisPosition) || "left", quadrantInternalBorderStrokeWidth: ((nt = f1.quadrantChart) == null ? void 0 : nt.quadrantInternalBorderStrokeWidth) || 1, quadrantExternalBorderStrokeWidth: ((st = f1.quadrantChart) == null ? void 0 : st.quadrantExternalBorderStrokeWidth) || 2 } } getDefaultThemeConfig() { return { quadrant1Fill: fg.quadrant1Fill, quadrant2Fill: fg.quadrant2Fill, quadrant3Fill: fg.quadrant3Fill, quadrant4Fill: fg.quadrant4Fill, quadrant1TextFill: fg.quadrant1TextFill, quadrant2TextFill: fg.quadrant2TextFill, quadrant3TextFill: fg.quadrant3TextFill, quadrant4TextFill: fg.quadrant4TextFill, quadrantPointFill: fg.quadrantPointFill, quadrantPointTextFill: fg.quadrantPointTextFill, quadrantXAxisTextFill: fg.quadrantXAxisTextFill, quadrantYAxisTextFill: fg.quadrantYAxisTextFill, quadrantTitleFill: fg.quadrantTitleFill, quadrantInternalBorderStrokeFill: fg.quadrantInternalBorderStrokeFill, quadrantExternalBorderStrokeFill: fg.quadrantExternalBorderStrokeFill } } clear() { this.config = this.getDefaultConfig(), this.themeConfig = this.getDefaultThemeConfig(), this.data = this.getDefaultData(), zt.info("clear called") } setData(a) { this.data = { ...this.data, ...a } } addPoints(a) { this.data.points = [...a, ...this.data.points] } setConfig(a) { zt.trace("setConfig called with: ", a), this.config = { ...this.config, ...a } } setThemeConfig(a) { zt.trace("setThemeConfig called with: ", a), this.themeConfig = { ...this.themeConfig, ...a } } calculateSpace(a, f, p, v) { const m = this.config.xAxisLabelPadding * 2 + this.config.xAxisLabelFontSize, b = { top: a === "top" && f ? m : 0, bottom: a === "bottom" && f ? m : 0 }, E = this.config.yAxisLabelPadding * 2 + this.config.yAxisLabelFontSize, C = { left: this.config.yAxisPosition === "left" && p ? E : 0, right: this.config.yAxisPosition === "right" && p ? E : 0 }, D = this.config.titleFontSize + this.config.titlePadding * 2, P = { top: v ? D : 0 }, B = this.config.quadrantPadding + C.left, j = this.config.quadrantPadding + b.top + P.top, R = this.config.chartWidth - this.config.quadrantPadding * 2 - C.left - C.right, H = this.config.chartHeight - this.config.quadrantPadding * 2 - b.top - b.bottom - P.top, Y = R / 2, it = H / 2; return { xAxisSpace: b, yAxisSpace: C, titleSpace: P, quadrantSpace: { quadrantLeft: B, quadrantTop: j, quadrantWidth: R, quadrantHalfWidth: Y, quadrantHeight: H, quadrantHalfHeight: it } } } getAxisLabels(a, f, p, v) { const { quadrantSpace: m, titleSpace: b } = v, { quadrantHalfHeight: E, quadrantHeight: C, quadrantLeft: D, quadrantHalfWidth: P, quadrantTop: B, quadrantWidth: j } = m, R = this.data.points.length === 0, H = []; return this.data.xAxisLeftText && f && H.push({ text: this.data.xAxisLeftText, fill: this.themeConfig.quadrantXAxisTextFill, x: D + (R ? P / 2 : 0), y: a === "top" ? this.config.xAxisLabelPadding + b.top : this.config.xAxisLabelPadding + B + C + this.config.quadrantPadding, fontSize: this.config.xAxisLabelFontSize, verticalPos: R ? "center" : "left", horizontalPos: "top", rotation: 0 }), this.data.xAxisRightText && f && H.push({ text: this.data.xAxisRightText, fill: this.themeConfig.quadrantXAxisTextFill, x: D + P + (R ? P / 2 : 0), y: a === "top" ? this.config.xAxisLabelPadding + b.top : this.config.xAxisLabelPadding + B + C + this.config.quadrantPadding, fontSize: this.config.xAxisLabelFontSize, verticalPos: R ? "center" : "left", horizontalPos: "top", rotation: 0 }), this.data.yAxisBottomText && p && H.push({ text: this.data.yAxisBottomText, fill: this.themeConfig.quadrantYAxisTextFill, x: this.config.yAxisPosition === "left" ? this.config.yAxisLabelPadding : this.config.yAxisLabelPadding + D + j + this.config.quadrantPadding, y: B + C - (R ? E / 2 : 0), fontSize: this.config.yAxisLabelFontSize, verticalPos: R ? "center" : "left", horizontalPos: "top", rotation: -90 }), this.data.yAxisTopText && p && H.push({ text: this.data.yAxisTopText, fill: this.themeConfig.quadrantYAxisTextFill, x: this.config.yAxisPosition === "left" ? this.config.yAxisLabelPadding : this.config.yAxisLabelPadding + D + j + this.config.quadrantPadding, y: B + E - (R ? E / 2 : 0), fontSize: this.config.yAxisLabelFontSize, verticalPos: R ? "center" : "left", horizontalPos: "top", rotation: -90 }), H } getQuadrants(a) { const { quadrantSpace: f } = a, { quadrantHalfHeight: p, quadrantLeft: v, quadrantHalfWidth: m, quadrantTop: b } = f, E = [{ text: { text: this.data.quadrant1Text, fill: this.themeConfig.quadrant1TextFill, x: 0, y: 0, fontSize: this.config.quadrantLabelFontSize, verticalPos: "center", horizontalPos: "middle", rotation: 0 }, x: v + m, y: b, width: m, height: p, fill: this.themeConfig.quadrant1Fill }, { text: { text: this.data.quadrant2Text, fill: this.themeConfig.quadrant2TextFill, x: 0, y: 0, fontSize: this.config.quadrantLabelFontSize, verticalPos: "center", horizontalPos: "middle", rotation: 0 }, x: v, y: b, width: m, height: p, fill: this.themeConfig.quadrant2Fill }, { text: { text: this.data.quadrant3Text, fill: this.themeConfig.quadrant3TextFill, x: 0, y: 0, fontSize: this.config.quadrantLabelFontSize, verticalPos: "center", horizontalPos: "middle", rotation: 0 }, x: v, y: b + p, width: m, height: p, fill: this.themeConfig.quadrant3Fill }, { text: { text: this.data.quadrant4Text, fill: this.themeConfig.quadrant4TextFill, x: 0, y: 0, fontSize: this.config.quadrantLabelFontSize, verticalPos: "center", horizontalPos: "middle", rotation: 0 }, x: v + m, y: b + p, width: m, height: p, fill: this.themeConfig.quadrant4Fill }]; for (const C of E) C.text.x = C.x + C.width / 2, this.data.points.length === 0 ? (C.text.y = C.y + C.height / 2, C.text.horizontalPos = "middle") : (C.text.y = C.y + this.config.quadrantTextTopPadding, C.text.horizontalPos = "top"); return E } getQuadrantPoints(a) { const { quadrantSpace: f } = a, { quadrantHeight: p, quadrantLeft: v, quadrantTop: m, quadrantWidth: b } = f, E = AU().domain([0, 1]).range([v, b + v]), C = AU().domain([0, 1]).range([p + m, m]); return this.data.points.map(P => ({ x: E(P.x), y: C(P.y), fill: this.themeConfig.quadrantPointFill, radius: this.config.pointRadius, text: { text: P.text, fill: this.themeConfig.quadrantPointTextFill, x: E(P.x), y: C(P.y) + this.config.pointTextPadding, verticalPos: "center", horizontalPos: "top", fontSize: this.config.pointLabelFontSize, rotation: 0 } })) } getBorders(a) { const f = this.config.quadrantExternalBorderStrokeWidth / 2, { quadrantSpace: p } = a, { quadrantHalfHeight: v, quadrantHeight: m, quadrantLeft: b, quadrantHalfWidth: E, quadrantTop: C, quadrantWidth: D } = p; return [{ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill, strokeWidth: this.config.quadrantExternalBorderStrokeWidth, x1: b - f, y1: C, x2: b + D + f, y2: C }, { strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill, strokeWidth: this.config.quadrantExternalBorderStrokeWidth, x1: b + D, y1: C + f, x2: b + D, y2: C + m - f }, { strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill, strokeWidth: this.config.quadrantExternalBorderStrokeWidth, x1: b - f, y1: C + m, x2: b + D + f, y2: C + m }, { strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill, strokeWidth: this.config.quadrantExternalBorderStrokeWidth, x1: b, y1: C + f, x2: b, y2: C + m - f }, { strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill, strokeWidth: this.config.quadrantInternalBorderStrokeWidth, x1: b + E, y1: C + f, x2: b + E, y2: C + m - f }, { strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill, strokeWidth: this.config.quadrantInternalBorderStrokeWidth, x1: b + f, y1: C + v, x2: b + D - f, y2: C + v }] } getTitle(a) { if (a) return { text: this.data.titleText, fill: this.themeConfig.quadrantTitleFill, fontSize: this.config.titleFontSize, horizontalPos: "top", verticalPos: "center", rotation: 0, y: this.config.titlePadding, x: this.config.chartWidth / 2 } } build() { const a = this.config.showXAxis && !!(this.data.xAxisLeftText || this.data.xAxisRightText), f = this.config.showYAxis && !!(this.data.yAxisTopText || this.data.yAxisBottomText), p = this.config.showTitle && !!this.data.titleText, v = this.data.points.length > 0 ? "bottom" : this.config.xAxisPosition, m = this.calculateSpace(v, a, f, p); return { points: this.getQuadrantPoints(m), quadrants: this.getQuadrants(m), axisLabels: this.getAxisLabels(v, a, f, m), borderLines: this.getBorders(m), title: this.getTitle(p) } } } const Nze = Oe(); function D5(i) { return sg(i.trim(), Nze) } const k0 = new Oze; function Pze(i) { k0.setData({ quadrant1Text: D5(i.text) }) } function Fze(i) { k0.setData({ quadrant2Text: D5(i.text) }) } function Bze(i) { k0.setData({ quadrant3Text: D5(i.text) }) } function Rze(i) { k0.setData({ quadrant4Text: D5(i.text) }) } function jze(i) { k0.setData({ xAxisLeftText: D5(i.text) }) } function $ze(i) { k0.setData({ xAxisRightText: D5(i.text) }) } function zze(i) { k0.setData({ yAxisTopText: D5(i.text) }) } function qze(i) { k0.setData({ yAxisBottomText: D5(i.text) }) } function Hze(i, a, f) { k0.addPoints([{ x: a, y: f, text: D5(i.text) }]) } function Vze(i) { k0.setConfig({ chartWidth: i }) } function Gze(i) { k0.setConfig({ chartHeight: i }) } function Uze() { const i = Oe(), { themeVariables: a, quadrantChart: f } = i; return f && k0.setConfig(f), k0.setThemeConfig({ quadrant1Fill: a.quadrant1Fill, quadrant2Fill: a.quadrant2Fill, quadrant3Fill: a.quadrant3Fill, quadrant4Fill: a.quadrant4Fill, quadrant1TextFill: a.quadrant1TextFill, quadrant2TextFill: a.quadrant2TextFill, quadrant3TextFill: a.quadrant3TextFill, quadrant4TextFill: a.quadrant4TextFill, quadrantPointFill: a.quadrantPointFill, quadrantPointTextFill: a.quadrantPointTextFill, quadrantXAxisTextFill: a.quadrantXAxisTextFill, quadrantYAxisTextFill: a.quadrantYAxisTextFill, quadrantExternalBorderStrokeFill: a.quadrantExternalBorderStrokeFill, quadrantInternalBorderStrokeFill: a.quadrantInternalBorderStrokeFill, quadrantTitleFill: a.quadrantTitleFill }), k0.setData({ titleText: O2() }), k0.build() } const Wze = Object.freeze(Object.defineProperty({
        __proto__: null, diagram: {
            parser: Ize, db: { setWidth: Vze, setHeight: Gze, setQuadrant1Text: Pze, setQuadrant2Text: Fze, setQuadrant3Text: Bze, setQuadrant4Text: Rze, setXAxisLeftText: jze, setXAxisRightText: $ze, setYAxisTopText: zze, setYAxisBottomText: qze, addPoint: Hze, getQuadrantData: Uze, parseDirective: function (i, a, f) { d1.parseDirective(this, i, a, f) }, clear: function () { k0.clear(), cg() }, setAccTitle: ug, getAccTitle: op, setDiagramTitle: Kb, getDiagramTitle: O2, getAccDescription: up, setAccDescription: cp }, renderer: {
                draw: (i, a, f, p) => {
                    var mt, rt, wt; function v(gt) { return gt === "top" ? "hanging" : "middle" } function m(gt) { return gt === "left" ? "start" : "middle" } function b(gt) { return `translate(${gt.x}, ${gt.y}) rotate(${gt.rotation || 0})` } const E = Oe(); zt.debug(`Rendering quadrant chart
    `+ i); const C = E.securityLevel; let D; C === "sandbox" && (D = Mr("#i" + a)); const B = Mr(C === "sandbox" ? D.nodes()[0].contentDocument.body : "body").select(`[id="${a}"]`), j = B.append("g").attr("class", "main"), R = ((mt = E.quadrantChart) == null ? void 0 : mt.chartWidth) || 500, H = ((rt = E.quadrantChart) == null ? void 0 : rt.chartHeight) || 500; Wb(B, H, R, ((wt = E.quadrantChart) == null ? void 0 : wt.useMaxWidth) || !0), B.attr("viewBox", "0 0 " + R + " " + H), p.db.setHeight(H), p.db.setWidth(R); const Y = p.db.getQuadrantData(), it = j.append("g").attr("class", "quadrants"), nt = j.append("g").attr("class", "border"), st = j.append("g").attr("class", "data-points"), pt = j.append("g").attr("class", "labels"), Tt = j.append("g").attr("class", "title"); Y.title && Tt.append("text").attr("x", 0).attr("y", 0).attr("fill", Y.title.fill).attr("font-size", Y.title.fontSize).attr("dominant-baseline", v(Y.title.horizontalPos)).attr("text-anchor", m(Y.title.verticalPos)).attr("transform", b(Y.title)).text(Y.title.text), Y.borderLines && nt.selectAll("line").data(Y.borderLines).enter().append("line").attr("x1", gt => gt.x1).attr("y1", gt => gt.y1).attr("x2", gt => gt.x2).attr("y2", gt => gt.y2).style("stroke", gt => gt.strokeFill).style("stroke-width", gt => gt.strokeWidth); const kt = it.selectAll("g.quadrant").data(Y.quadrants).enter().append("g").attr("class", "quadrant"); kt.append("rect").attr("x", gt => gt.x).attr("y", gt => gt.y).attr("width", gt => gt.width).attr("height", gt => gt.height).attr("fill", gt => gt.fill), kt.append("text").attr("x", 0).attr("y", 0).attr("fill", gt => gt.text.fill).attr("font-size", gt => gt.text.fontSize).attr("dominant-baseline", gt => v(gt.text.horizontalPos)).attr("text-anchor", gt => m(gt.text.verticalPos)).attr("transform", gt => b(gt.text)).text(gt => gt.text.text), pt.selectAll("g.label").data(Y.axisLabels).enter().append("g").attr("class", "label").append("text").attr("x", 0).attr("y", 0).text(gt => gt.text).attr("fill", gt => gt.fill).attr("font-size", gt => gt.fontSize).attr("dominant-baseline", gt => v(gt.horizontalPos)).attr("text-anchor", gt => m(gt.verticalPos)).attr("transform", gt => b(gt)); const ht = st.selectAll("g.data-point").data(Y.points).enter().append("g").attr("class", "data-point"); ht.append("circle").attr("cx", gt => gt.x).attr("cy", gt => gt.y).attr("r", gt => gt.radius).attr("fill", gt => gt.fill), ht.append("text").attr("x", 0).attr("y", 0).text(gt => gt.text.text).attr("fill", gt => gt.text.fill).attr("font-size", gt => gt.text.fontSize).attr("dominant-baseline", gt => v(gt.text.horizontalPos)).attr("text-anchor", gt => m(gt.text.verticalPos)).attr("transform", gt => b(gt.text))
                }
            }, styles: () => ""
        }
    }, Symbol.toStringTag, { value: "Module" })); var V0t = function () {
        var i = function (rr, Te, ne, Ee) { for (ne = ne || {}, Ee = rr.length; Ee--; ne[rr[Ee]] = Te); return ne }, a = [1, 3], f = [1, 5], p = [1, 6], v = [1, 7], m = [1, 8], b = [5, 6, 8, 14, 16, 18, 19, 40, 41, 42, 43, 44, 45, 53, 71, 72], E = [1, 22], C = [2, 13], D = [1, 26], P = [1, 27], B = [1, 28], j = [1, 29], R = [1, 30], H = [1, 31], Y = [1, 24], it = [1, 32], nt = [1, 33], st = [1, 36], pt = [71, 72], Tt = [5, 8, 14, 16, 18, 19, 40, 41, 42, 43, 44, 45, 53, 60, 62, 71, 72], kt = [1, 56], yt = [1, 57], ht = [1, 58], mt = [1, 59], rt = [1, 60], wt = [1, 61], gt = [1, 62], lt = [62, 63], _t = [1, 74], X = [1, 70], Rt = [1, 71], ft = [1, 72], de = [1, 73], J = [1, 75], ae = [1, 79], Wt = [1, 80], It = [1, 77], Nt = [1, 78], me = [5, 8, 14, 16, 18, 19, 40, 41, 42, 43, 44, 45, 53, 71, 72], Ue = {
            trace: function () { }, yy: {}, symbols_: { error: 2, start: 3, directive: 4, NEWLINE: 5, RD: 6, diagram: 7, EOF: 8, openDirective: 9, typeDirective: 10, closeDirective: 11, ":": 12, argDirective: 13, acc_title: 14, acc_title_value: 15, acc_descr: 16, acc_descr_value: 17, acc_descr_multiline_value: 18, open_directive: 19, type_directive: 20, arg_directive: 21, close_directive: 22, requirementDef: 23, elementDef: 24, relationshipDef: 25, requirementType: 26, requirementName: 27, STRUCT_START: 28, requirementBody: 29, ID: 30, COLONSEP: 31, id: 32, TEXT: 33, text: 34, RISK: 35, riskLevel: 36, VERIFYMTHD: 37, verifyType: 38, STRUCT_STOP: 39, REQUIREMENT: 40, FUNCTIONAL_REQUIREMENT: 41, INTERFACE_REQUIREMENT: 42, PERFORMANCE_REQUIREMENT: 43, PHYSICAL_REQUIREMENT: 44, DESIGN_CONSTRAINT: 45, LOW_RISK: 46, MED_RISK: 47, HIGH_RISK: 48, VERIFY_ANALYSIS: 49, VERIFY_DEMONSTRATION: 50, VERIFY_INSPECTION: 51, VERIFY_TEST: 52, ELEMENT: 53, elementName: 54, elementBody: 55, TYPE: 56, type: 57, DOCREF: 58, ref: 59, END_ARROW_L: 60, relationship: 61, LINE: 62, END_ARROW_R: 63, CONTAINS: 64, COPIES: 65, DERIVES: 66, SATISFIES: 67, VERIFIES: 68, REFINES: 69, TRACES: 70, unqString: 71, qString: 72, $accept: 0, $end: 1 }, terminals_: { 2: "error", 5: "NEWLINE", 6: "RD", 8: "EOF", 12: ":", 14: "acc_title", 15: "acc_title_value", 16: "acc_descr", 17: "acc_descr_value", 18: "acc_descr_multiline_value", 19: "open_directive", 20: "type_directive", 21: "arg_directive", 22: "close_directive", 28: "STRUCT_START", 30: "ID", 31: "COLONSEP", 33: "TEXT", 35: "RISK", 37: "VERIFYMTHD", 39: "STRUCT_STOP", 40: "REQUIREMENT", 41: "FUNCTIONAL_REQUIREMENT", 42: "INTERFACE_REQUIREMENT", 43: "PERFORMANCE_REQUIREMENT", 44: "PHYSICAL_REQUIREMENT", 45: "DESIGN_CONSTRAINT", 46: "LOW_RISK", 47: "MED_RISK", 48: "HIGH_RISK", 49: "VERIFY_ANALYSIS", 50: "VERIFY_DEMONSTRATION", 51: "VERIFY_INSPECTION", 52: "VERIFY_TEST", 53: "ELEMENT", 56: "TYPE", 58: "DOCREF", 60: "END_ARROW_L", 62: "LINE", 63: "END_ARROW_R", 64: "CONTAINS", 65: "COPIES", 66: "DERIVES", 67: "SATISFIES", 68: "VERIFIES", 69: "REFINES", 70: "TRACES", 71: "unqString", 72: "qString" }, productions_: [0, [3, 3], [3, 2], [3, 4], [4, 3], [4, 5], [4, 2], [4, 2], [4, 1], [9, 1], [10, 1], [13, 1], [11, 1], [7, 0], [7, 2], [7, 2], [7, 2], [7, 2], [7, 2], [23, 5], [29, 5], [29, 5], [29, 5], [29, 5], [29, 2], [29, 1], [26, 1], [26, 1], [26, 1], [26, 1], [26, 1], [26, 1], [36, 1], [36, 1], [36, 1], [38, 1], [38, 1], [38, 1], [38, 1], [24, 5], [55, 5], [55, 5], [55, 2], [55, 1], [25, 5], [25, 5], [61, 1], [61, 1], [61, 1], [61, 1], [61, 1], [61, 1], [61, 1], [27, 1], [27, 1], [32, 1], [32, 1], [34, 1], [34, 1], [54, 1], [54, 1], [57, 1], [57, 1], [59, 1], [59, 1]], performAction: function (Te, ne, Ee, ye, Vt, Ae, Gt) { var un = Ae.length - 1; switch (Vt) { case 6: this.$ = Ae[un].trim(), ye.setAccTitle(this.$); break; case 7: case 8: this.$ = Ae[un].trim(), ye.setAccDescription(this.$); break; case 9: ye.parseDirective("%%{", "open_directive"); break; case 10: ye.parseDirective(Ae[un], "type_directive"); break; case 11: Ae[un] = Ae[un].trim().replace(/'/g, '"'), ye.parseDirective(Ae[un], "arg_directive"); break; case 12: ye.parseDirective("}%%", "close_directive", "pie"); break; case 13: this.$ = []; break; case 19: ye.addRequirement(Ae[un - 3], Ae[un - 4]); break; case 20: ye.setNewReqId(Ae[un - 2]); break; case 21: ye.setNewReqText(Ae[un - 2]); break; case 22: ye.setNewReqRisk(Ae[un - 2]); break; case 23: ye.setNewReqVerifyMethod(Ae[un - 2]); break; case 26: this.$ = ye.RequirementType.REQUIREMENT; break; case 27: this.$ = ye.RequirementType.FUNCTIONAL_REQUIREMENT; break; case 28: this.$ = ye.RequirementType.INTERFACE_REQUIREMENT; break; case 29: this.$ = ye.RequirementType.PERFORMANCE_REQUIREMENT; break; case 30: this.$ = ye.RequirementType.PHYSICAL_REQUIREMENT; break; case 31: this.$ = ye.RequirementType.DESIGN_CONSTRAINT; break; case 32: this.$ = ye.RiskLevel.LOW_RISK; break; case 33: this.$ = ye.RiskLevel.MED_RISK; break; case 34: this.$ = ye.RiskLevel.HIGH_RISK; break; case 35: this.$ = ye.VerifyType.VERIFY_ANALYSIS; break; case 36: this.$ = ye.VerifyType.VERIFY_DEMONSTRATION; break; case 37: this.$ = ye.VerifyType.VERIFY_INSPECTION; break; case 38: this.$ = ye.VerifyType.VERIFY_TEST; break; case 39: ye.addElement(Ae[un - 3]); break; case 40: ye.setNewElementType(Ae[un - 2]); break; case 41: ye.setNewElementDocRef(Ae[un - 2]); break; case 44: ye.addRelationship(Ae[un - 2], Ae[un], Ae[un - 4]); break; case 45: ye.addRelationship(Ae[un - 2], Ae[un - 4], Ae[un]); break; case 46: this.$ = ye.Relationships.CONTAINS; break; case 47: this.$ = ye.Relationships.COPIES; break; case 48: this.$ = ye.Relationships.DERIVES; break; case 49: this.$ = ye.Relationships.SATISFIES; break; case 50: this.$ = ye.Relationships.VERIFIES; break; case 51: this.$ = ye.Relationships.REFINES; break; case 52: this.$ = ye.Relationships.TRACES; break } }, table: [{ 3: 1, 4: 2, 6: a, 9: 4, 14: f, 16: p, 18: v, 19: m }, { 1: [3] }, { 3: 10, 4: 2, 5: [1, 9], 6: a, 9: 4, 14: f, 16: p, 18: v, 19: m }, { 5: [1, 11] }, { 10: 12, 20: [1, 13] }, { 15: [1, 14] }, { 17: [1, 15] }, i(b, [2, 8]), { 20: [2, 9] }, { 3: 16, 4: 2, 6: a, 9: 4, 14: f, 16: p, 18: v, 19: m }, { 1: [2, 2] }, { 4: 21, 5: E, 7: 17, 8: C, 9: 4, 14: f, 16: p, 18: v, 19: m, 23: 18, 24: 19, 25: 20, 26: 23, 32: 25, 40: D, 41: P, 42: B, 43: j, 44: R, 45: H, 53: Y, 71: it, 72: nt }, { 11: 34, 12: [1, 35], 22: st }, i([12, 22], [2, 10]), i(b, [2, 6]), i(b, [2, 7]), { 1: [2, 1] }, { 8: [1, 37] }, { 4: 21, 5: E, 7: 38, 8: C, 9: 4, 14: f, 16: p, 18: v, 19: m, 23: 18, 24: 19, 25: 20, 26: 23, 32: 25, 40: D, 41: P, 42: B, 43: j, 44: R, 45: H, 53: Y, 71: it, 72: nt }, { 4: 21, 5: E, 7: 39, 8: C, 9: 4, 14: f, 16: p, 18: v, 19: m, 23: 18, 24: 19, 25: 20, 26: 23, 32: 25, 40: D, 41: P, 42: B, 43: j, 44: R, 45: H, 53: Y, 71: it, 72: nt }, { 4: 21, 5: E, 7: 40, 8: C, 9: 4, 14: f, 16: p, 18: v, 19: m, 23: 18, 24: 19, 25: 20, 26: 23, 32: 25, 40: D, 41: P, 42: B, 43: j, 44: R, 45: H, 53: Y, 71: it, 72: nt }, { 4: 21, 5: E, 7: 41, 8: C, 9: 4, 14: f, 16: p, 18: v, 19: m, 23: 18, 24: 19, 25: 20, 26: 23, 32: 25, 40: D, 41: P, 42: B, 43: j, 44: R, 45: H, 53: Y, 71: it, 72: nt }, { 4: 21, 5: E, 7: 42, 8: C, 9: 4, 14: f, 16: p, 18: v, 19: m, 23: 18, 24: 19, 25: 20, 26: 23, 32: 25, 40: D, 41: P, 42: B, 43: j, 44: R, 45: H, 53: Y, 71: it, 72: nt }, { 27: 43, 71: [1, 44], 72: [1, 45] }, { 54: 46, 71: [1, 47], 72: [1, 48] }, { 60: [1, 49], 62: [1, 50] }, i(pt, [2, 26]), i(pt, [2, 27]), i(pt, [2, 28]), i(pt, [2, 29]), i(pt, [2, 30]), i(pt, [2, 31]), i(Tt, [2, 55]), i(Tt, [2, 56]), i(b, [2, 4]), { 13: 51, 21: [1, 52] }, i(b, [2, 12]), { 1: [2, 3] }, { 8: [2, 14] }, { 8: [2, 15] }, { 8: [2, 16] }, { 8: [2, 17] }, { 8: [2, 18] }, { 28: [1, 53] }, { 28: [2, 53] }, { 28: [2, 54] }, { 28: [1, 54] }, { 28: [2, 59] }, { 28: [2, 60] }, { 61: 55, 64: kt, 65: yt, 66: ht, 67: mt, 68: rt, 69: wt, 70: gt }, { 61: 63, 64: kt, 65: yt, 66: ht, 67: mt, 68: rt, 69: wt, 70: gt }, { 11: 64, 22: st }, { 22: [2, 11] }, { 5: [1, 65] }, { 5: [1, 66] }, { 62: [1, 67] }, i(lt, [2, 46]), i(lt, [2, 47]), i(lt, [2, 48]), i(lt, [2, 49]), i(lt, [2, 50]), i(lt, [2, 51]), i(lt, [2, 52]), { 63: [1, 68] }, i(b, [2, 5]), { 5: _t, 29: 69, 30: X, 33: Rt, 35: ft, 37: de, 39: J }, { 5: ae, 39: Wt, 55: 76, 56: It, 58: Nt }, { 32: 81, 71: it, 72: nt }, { 32: 82, 71: it, 72: nt }, i(me, [2, 19]), { 31: [1, 83] }, { 31: [1, 84] }, { 31: [1, 85] }, { 31: [1, 86] }, { 5: _t, 29: 87, 30: X, 33: Rt, 35: ft, 37: de, 39: J }, i(me, [2, 25]), i(me, [2, 39]), { 31: [1, 88] }, { 31: [1, 89] }, { 5: ae, 39: Wt, 55: 90, 56: It, 58: Nt }, i(me, [2, 43]), i(me, [2, 44]), i(me, [2, 45]), { 32: 91, 71: it, 72: nt }, { 34: 92, 71: [1, 93], 72: [1, 94] }, { 36: 95, 46: [1, 96], 47: [1, 97], 48: [1, 98] }, { 38: 99, 49: [1, 100], 50: [1, 101], 51: [1, 102], 52: [1, 103] }, i(me, [2, 24]), { 57: 104, 71: [1, 105], 72: [1, 106] }, { 59: 107, 71: [1, 108], 72: [1, 109] }, i(me, [2, 42]), { 5: [1, 110] }, { 5: [1, 111] }, { 5: [2, 57] }, { 5: [2, 58] }, { 5: [1, 112] }, { 5: [2, 32] }, { 5: [2, 33] }, { 5: [2, 34] }, { 5: [1, 113] }, { 5: [2, 35] }, { 5: [2, 36] }, { 5: [2, 37] }, { 5: [2, 38] }, { 5: [1, 114] }, { 5: [2, 61] }, { 5: [2, 62] }, { 5: [1, 115] }, { 5: [2, 63] }, { 5: [2, 64] }, { 5: _t, 29: 116, 30: X, 33: Rt, 35: ft, 37: de, 39: J }, { 5: _t, 29: 117, 30: X, 33: Rt, 35: ft, 37: de, 39: J }, { 5: _t, 29: 118, 30: X, 33: Rt, 35: ft, 37: de, 39: J }, { 5: _t, 29: 119, 30: X, 33: Rt, 35: ft, 37: de, 39: J }, { 5: ae, 39: Wt, 55: 120, 56: It, 58: Nt }, { 5: ae, 39: Wt, 55: 121, 56: It, 58: Nt }, i(me, [2, 20]), i(me, [2, 21]), i(me, [2, 22]), i(me, [2, 23]), i(me, [2, 40]), i(me, [2, 41])], defaultActions: { 8: [2, 9], 10: [2, 2], 16: [2, 1], 37: [2, 3], 38: [2, 14], 39: [2, 15], 40: [2, 16], 41: [2, 17], 42: [2, 18], 44: [2, 53], 45: [2, 54], 47: [2, 59], 48: [2, 60], 52: [2, 11], 93: [2, 57], 94: [2, 58], 96: [2, 32], 97: [2, 33], 98: [2, 34], 100: [2, 35], 101: [2, 36], 102: [2, 37], 103: [2, 38], 105: [2, 61], 106: [2, 62], 108: [2, 63], 109: [2, 64] }, parseError: function (Te, ne) { if (ne.recoverable) this.trace(Te); else { var Ee = new Error(Te); throw Ee.hash = ne, Ee } }, parse: function (Te) {
                var ne = this, Ee = [0], ye = [], Vt = [null], Ae = [], Gt = this.table, un = "", jt = 0, Ke = 0, oe = 2, Or = 1, Le = Ae.slice.call(arguments, 1), Nr = Object.create(this.lexer), fe = { yy: {} }; for (var sr in this.yy) Object.prototype.hasOwnProperty.call(this.yy, sr) && (fe.yy[sr] = this.yy[sr]); Nr.setInput(Te, fe.yy), fe.yy.lexer = Nr, fe.yy.parser = this, typeof Nr.yylloc > "u" && (Nr.yylloc = {}); var Yn = Nr.yylloc; Ae.push(Yn); var tr = Nr.options && Nr.options.ranges; typeof fe.yy.parseError == "function" ? this.parseError = fe.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; function ur() { var Zn; return Zn = ye.pop() || Nr.lex() || Or, typeof Zn != "number" && (Zn instanceof Array && (ye = Zn, Zn = ye.pop()), Zn = ne.symbols_[Zn] || Zn), Zn } for (var gn, En, Dr, hr, Ki = {}, Is, Ha, hi, qi; ;) {
                    if (En = Ee[Ee.length - 1], this.defaultActions[En] ? Dr = this.defaultActions[En] : ((gn === null || typeof gn > "u") && (gn = ur()), Dr = Gt[En] && Gt[En][gn]), typeof Dr > "u" || !Dr.length || !Dr[0]) {
                        var zn = ""; qi = []; for (Is in Gt[En]) this.terminals_[Is] && Is > oe && qi.push("'" + this.terminals_[Is] + "'"); Nr.showPosition ? zn = "Parse error on line " + (jt + 1) + `:
    `+ Nr.showPosition() + `
    Expecting `+ qi.join(", ") + ", got '" + (this.terminals_[gn] || gn) + "'" : zn = "Parse error on line " + (jt + 1) + ": Unexpected " + (gn == Or ? "end of input" : "'" + (this.terminals_[gn] || gn) + "'"), this.parseError(zn, { text: Nr.match, token: this.terminals_[gn] || gn, line: Nr.yylineno, loc: Yn, expected: qi })
                    } if (Dr[0] instanceof Array && Dr.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + En + ", token: " + gn); switch (Dr[0]) { case 1: Ee.push(gn), Vt.push(Nr.yytext), Ae.push(Nr.yylloc), Ee.push(Dr[1]), gn = null, Ke = Nr.yyleng, un = Nr.yytext, jt = Nr.yylineno, Yn = Nr.yylloc; break; case 2: if (Ha = this.productions_[Dr[1]][1], Ki.$ = Vt[Vt.length - Ha], Ki._$ = { first_line: Ae[Ae.length - (Ha || 1)].first_line, last_line: Ae[Ae.length - 1].last_line, first_column: Ae[Ae.length - (Ha || 1)].first_column, last_column: Ae[Ae.length - 1].last_column }, tr && (Ki._$.range = [Ae[Ae.length - (Ha || 1)].range[0], Ae[Ae.length - 1].range[1]]), hr = this.performAction.apply(Ki, [un, Ke, jt, fe.yy, Dr[1], Vt, Ae].concat(Le)), typeof hr < "u") return hr; Ha && (Ee = Ee.slice(0, -1 * Ha * 2), Vt = Vt.slice(0, -1 * Ha), Ae = Ae.slice(0, -1 * Ha)), Ee.push(this.productions_[Dr[1]][0]), Vt.push(Ki.$), Ae.push(Ki._$), hi = Gt[Ee[Ee.length - 2]][Ee[Ee.length - 1]], Ee.push(hi); break; case 3: return !0 }
                } return !0
            }
        }, _n = function () {
            var rr = {
                EOF: 1, parseError: function (ne, Ee) { if (this.yy.parser) this.yy.parser.parseError(ne, Ee); else throw new Error(ne) }, setInput: function (Te, ne) { return this.yy = ne || this.yy || {}, this._input = Te, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this }, input: function () { var Te = this._input[0]; this.yytext += Te, this.yyleng++, this.offset++, this.match += Te, this.matched += Te; var ne = Te.match(/(?:\r\n?|\n).*/g); return ne ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), Te }, unput: function (Te) { var ne = Te.length, Ee = Te.split(/(?:\r\n?|\n)/g); this._input = Te + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - ne), this.offset -= ne; var ye = this.match.split(/(?:\r\n?|\n)/g); this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), Ee.length - 1 && (this.yylineno -= Ee.length - 1); var Vt = this.yylloc.range; return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: Ee ? (Ee.length === ye.length ? this.yylloc.first_column : 0) + ye[ye.length - Ee.length].length - Ee[0].length : this.yylloc.first_column - ne }, this.options.ranges && (this.yylloc.range = [Vt[0], Vt[0] + this.yyleng - ne]), this.yyleng = this.yytext.length, this }, more: function () { return this._more = !0, this }, reject: function () {
                    if (this.options.backtrack_lexer) this._backtrack = !0; else 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).
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno }); return this
                }, less: function (Te) { this.unput(this.match.slice(Te)) }, pastInput: function () { var Te = this.matched.substr(0, this.matched.length - this.match.length); return (Te.length > 20 ? "..." : "") + Te.substr(-20).replace(/\n/g, "") }, upcomingInput: function () { var Te = this.match; return Te.length < 20 && (Te += this._input.substr(0, 20 - Te.length)), (Te.substr(0, 20) + (Te.length > 20 ? "..." : "")).replace(/\n/g, "") }, showPosition: function () {
                    var Te = this.pastInput(), ne = new Array(Te.length + 1).join("-"); return Te + this.upcomingInput() + `
    `+ ne + "^"
                }, test_match: function (Te, ne) { var Ee, ye, Vt; if (this.options.backtrack_lexer && (Vt = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (Vt.yylloc.range = this.yylloc.range.slice(0))), ye = Te[0].match(/(?:\r\n?|\n).*/g), ye && (this.yylineno += ye.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: ye ? ye[ye.length - 1].length - ye[ye.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + Te[0].length }, this.yytext += Te[0], this.match += Te[0], this.matches = Te, 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(Te[0].length), this.matched += Te[0], Ee = this.performAction.call(this, this.yy, this, ne, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), Ee) return Ee; if (this._backtrack) { for (var Ae in Vt) this[Ae] = Vt[Ae]; return !1 } return !1 }, next: function () {
                    if (this.done) return this.EOF; this._input || (this.done = !0); var Te, ne, Ee, ye; this._more || (this.yytext = "", this.match = ""); for (var Vt = this._currentRules(), Ae = 0; Ae < Vt.length; Ae++)if (Ee = this._input.match(this.rules[Vt[Ae]]), Ee && (!ne || Ee[0].length > ne[0].length)) { if (ne = Ee, ye = Ae, this.options.backtrack_lexer) { if (Te = this.test_match(Ee, Vt[Ae]), Te !== !1) return Te; if (this._backtrack) { ne = !1; continue } else return !1 } else if (!this.options.flex) break } return ne ? (Te = this.test_match(ne, Vt[ye]), Te !== !1 ? Te : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno })
                }, lex: function () { var ne = this.next(); return ne || this.lex() }, begin: function (ne) { this.conditionStack.push(ne) }, popState: function () { var ne = this.conditionStack.length - 1; return ne > 0 ? this.conditionStack.pop() : this.conditionStack[0] }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules }, topState: function (ne) { return ne = this.conditionStack.length - 1 - Math.abs(ne || 0), ne >= 0 ? this.conditionStack[ne] : "INITIAL" }, pushState: function (ne) { this.begin(ne) }, stateStackSize: function () { return this.conditionStack.length }, options: { "case-insensitive": !0 }, performAction: function (ne, Ee, ye, Vt) { switch (ye) { case 0: return this.begin("open_directive"), 19; case 1: return this.begin("type_directive"), 20; case 2: return this.popState(), this.begin("arg_directive"), 12; case 3: return this.popState(), this.popState(), 22; case 4: return 21; case 5: return "title"; case 6: return this.begin("acc_title"), 14; case 7: return this.popState(), "acc_title_value"; case 8: return this.begin("acc_descr"), 16; case 9: return this.popState(), "acc_descr_value"; case 10: this.begin("acc_descr_multiline"); break; case 11: this.popState(); break; case 12: return "acc_descr_multiline_value"; case 13: return 5; case 14: break; case 15: break; case 16: break; case 17: return 8; case 18: return 6; case 19: return 28; case 20: return 39; case 21: return 31; case 22: return 30; case 23: return 33; case 24: return 35; case 25: return 37; case 26: return 40; case 27: return 41; case 28: return 42; case 29: return 43; case 30: return 44; case 31: return 45; case 32: return 46; case 33: return 47; case 34: return 48; case 35: return 49; case 36: return 50; case 37: return 51; case 38: return 52; case 39: return 53; case 40: return 64; case 41: return 65; case 42: return 66; case 43: return 67; case 44: return 68; case 45: return 69; case 46: return 70; case 47: return 56; case 48: return 58; case 49: return 60; case 50: return 63; case 51: return 62; case 52: this.begin("string"); break; case 53: this.popState(); break; case 54: return "qString"; case 55: return Ee.yytext = Ee.yytext.trim(), 71 } }, rules: [/^(?:%%\{)/i, /^(?:((?:(?!\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\}%%)/i, /^(?:((?:(?!\}%%).|\n)*))/i, /^(?:title\s[^#\n;]+)/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:(\r?\n)+)/i, /^(?:\s+)/i, /^(?:#[^\n]*)/i, /^(?:%[^\n]*)/i, /^(?:$)/i, /^(?:requirementDiagram\b)/i, /^(?:\{)/i, /^(?:\})/i, /^(?::)/i, /^(?:id\b)/i, /^(?:text\b)/i, /^(?:risk\b)/i, /^(?:verifyMethod\b)/i, /^(?:requirement\b)/i, /^(?:functionalRequirement\b)/i, /^(?:interfaceRequirement\b)/i, /^(?:performanceRequirement\b)/i, /^(?:physicalRequirement\b)/i, /^(?:designConstraint\b)/i, /^(?:low\b)/i, /^(?:medium\b)/i, /^(?:high\b)/i, /^(?:analysis\b)/i, /^(?:demonstration\b)/i, /^(?:inspection\b)/i, /^(?:test\b)/i, /^(?:element\b)/i, /^(?:contains\b)/i, /^(?:copies\b)/i, /^(?:derives\b)/i, /^(?:satisfies\b)/i, /^(?:verifies\b)/i, /^(?:refines\b)/i, /^(?:traces\b)/i, /^(?:type\b)/i, /^(?:docref\b)/i, /^(?:<-)/i, /^(?:->)/i, /^(?:-)/i, /^(?:["])/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:[\w][^\r\n\{\<\>\-\=]*)/i], conditions: { acc_descr_multiline: { rules: [11, 12], inclusive: !1 }, acc_descr: { rules: [9], inclusive: !1 }, acc_title: { rules: [7], inclusive: !1 }, close_directive: { rules: [], inclusive: !1 }, arg_directive: { rules: [3, 4], inclusive: !1 }, type_directive: { rules: [2, 3], inclusive: !1 }, open_directive: { rules: [1], inclusive: !1 }, unqString: { rules: [], inclusive: !1 }, token: { rules: [], inclusive: !1 }, string: { rules: [53, 54], inclusive: !1 }, INITIAL: { rules: [0, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 55], inclusive: !0 } }
            }; return rr
        }(); Ue.lexer = _n; function _e() { this.yy = {} } return _e.prototype = Ue, Ue.Parser = _e, new _e
    }(); V0t.parser = V0t; const Kze = V0t; let G0t = [], dp = {}, EP = {}, lk = {}, TP = {}; const Yze = { RequirementType: { REQUIREMENT: "Requirement", FUNCTIONAL_REQUIREMENT: "Functional Requirement", INTERFACE_REQUIREMENT: "Interface Requirement", PERFORMANCE_REQUIREMENT: "Performance Requirement", PHYSICAL_REQUIREMENT: "Physical Requirement", DESIGN_CONSTRAINT: "Design Constraint" }, RiskLevel: { LOW_RISK: "Low", MED_RISK: "Medium", HIGH_RISK: "High" }, VerifyType: { VERIFY_ANALYSIS: "Analysis", VERIFY_DEMONSTRATION: "Demonstration", VERIFY_INSPECTION: "Inspection", VERIFY_TEST: "Test" }, Relationships: { CONTAINS: "contains", COPIES: "copies", DERIVES: "derives", SATISFIES: "satisfies", VERIFIES: "verifies", REFINES: "refines", TRACES: "traces" }, parseDirective: function (i, a, f) { d1.parseDirective(this, i, a, f) }, getConfig: () => Oe().req, addRequirement: (i, a) => (EP[i] === void 0 && (EP[i] = { name: i, type: a, id: dp.id, text: dp.text, risk: dp.risk, verifyMethod: dp.verifyMethod }), dp = {}, EP[i]), getRequirements: () => EP, setNewReqId: i => { dp !== void 0 && (dp.id = i) }, setNewReqText: i => { dp !== void 0 && (dp.text = i) }, setNewReqRisk: i => { dp !== void 0 && (dp.risk = i) }, setNewReqVerifyMethod: i => { dp !== void 0 && (dp.verifyMethod = i) }, setAccTitle: ug, getAccTitle: op, setAccDescription: cp, getAccDescription: up, addElement: i => (TP[i] === void 0 && (TP[i] = { name: i, type: lk.type, docRef: lk.docRef }, zt.info("Added new requirement: ", i)), lk = {}, TP[i]), getElements: () => TP, setNewElementType: i => { lk !== void 0 && (lk.type = i) }, setNewElementDocRef: i => { lk !== void 0 && (lk.docRef = i) }, addRelationship: (i, a, f) => { G0t.push({ type: i, src: a, dst: f }) }, getRelationships: () => G0t, clear: () => { G0t = [], dp = {}, EP = {}, lk = {}, TP = {}, cg() } }, Xze = i => `
    
      marker {
        fill: ${i.relationColor};
        stroke: ${i.relationColor};
      }
    
      marker.cross {
        stroke: ${i.lineColor};
      }
    
      svg {
        font-family: ${i.fontFamily};
        font-size: ${i.fontSize};
      }
    
      .reqBox {
        fill: ${i.requirementBackground};
        fill-opacity: 1.0;
        stroke: ${i.requirementBorderColor};
        stroke-width: ${i.requirementBorderSize};
      }
      
      .reqTitle, .reqLabel{
        fill:  ${i.requirementTextColor};
      }
      .reqLabelBox {
        fill: ${i.relationLabelBackground};
        fill-opacity: 1.0;
      }
    
      .req-title-line {
        stroke: ${i.requirementBorderColor};
        stroke-width: ${i.requirementBorderSize};
      }
      .relationshipLine {
        stroke: ${i.relationColor};
        stroke-width: 1;
      }
      .relationshipLabel {
        fill: ${i.relationLabelColor};
      }
    
    `, U0t = { CONTAINS: "contains", ARROW: "arrow" }, OBt = {
            ReqMarkers: U0t, insertLineEndings: (i, a) => {
                let f = i.append("defs").append("marker").attr("id", U0t.CONTAINS + "_line_ending").attr("refX", 0).attr("refY", a.line_height / 2).attr("markerWidth", a.line_height).attr("markerHeight", a.line_height).attr("orient", "auto").append("g"); f.append("circle").attr("cx", a.line_height / 2).attr("cy", a.line_height / 2).attr("r", a.line_height / 2).attr("fill", "none"), f.append("line").attr("x1", 0).attr("x2", a.line_height).attr("y1", a.line_height / 2).attr("y2", a.line_height / 2).attr("stroke-width", 1), f.append("line").attr("y1", 0).attr("y2", a.line_height).attr("x1", a.line_height / 2).attr("x2", a.line_height / 2).attr("stroke-width", 1), i.append("defs").append("marker").attr("id", U0t.ARROW + "_line_ending").attr("refX", a.line_height).attr("refY", .5 * a.line_height).attr("markerWidth", a.line_height).attr("markerHeight", a.line_height).attr("orient", "auto").append("path").attr("d", `M0,0
          L${a.line_height},${a.line_height / 2}
          M${a.line_height},${a.line_height / 2}
          L0,${a.line_height}`).attr("stroke-width", 1)
            }
        }; let Lh = {}, NBt = 0; const PBt = (i, a) => i.insert("rect", "#" + a).attr("class", "req reqBox").attr("x", 0).attr("y", 0).attr("width", Lh.rect_min_width + "px").attr("height", Lh.rect_min_height + "px"), FBt = (i, a, f) => { let p = Lh.rect_min_width / 2, v = i.append("text").attr("class", "req reqLabel reqTitle").attr("id", a).attr("x", p).attr("y", Lh.rect_padding).attr("dominant-baseline", "hanging"), m = 0; f.forEach(D => { m == 0 ? v.append("tspan").attr("text-anchor", "middle").attr("x", Lh.rect_min_width / 2).attr("dy", 0).text(D) : v.append("tspan").attr("text-anchor", "middle").attr("x", Lh.rect_min_width / 2).attr("dy", Lh.line_height * .75).text(D), m++ }); let b = 1.5 * Lh.rect_padding, E = m * Lh.line_height * .75, C = b + E; return i.append("line").attr("class", "req-title-line").attr("x1", "0").attr("x2", Lh.rect_min_width).attr("y1", C).attr("y2", C), { titleNode: v, y: C } }, BBt = (i, a, f, p) => { let v = i.append("text").attr("class", "req reqLabel").attr("id", a).attr("x", Lh.rect_padding).attr("y", p).attr("dominant-baseline", "hanging"), m = 0; const b = 30; let E = []; return f.forEach(C => { let D = C.length; for (; D > b && m < 3;) { let P = C.substring(0, b); C = C.substring(b, C.length), D = C.length, E[E.length] = P, m++ } if (m == 3) { let P = E[E.length - 1]; E[E.length - 1] = P.substring(0, P.length - 4) + "..." } else E[E.length] = C; m = 0 }), E.forEach(C => { v.append("tspan").attr("x", Lh.rect_padding).attr("dy", Lh.line_height).text(C) }), v }, Qze = (i, a, f, p) => { const v = a.node().getTotalLength(), m = a.node().getPointAtLength(v * .5), b = "rel" + NBt; NBt++; const C = i.append("text").attr("class", "req relationshipLabel").attr("id", b).attr("x", m.x).attr("y", m.y).attr("text-anchor", "middle").attr("dominant-baseline", "middle").text(p).node().getBBox(); i.insert("rect", "#" + b).attr("class", "req reqLabelBox").attr("x", m.x - C.width / 2).attr("y", m.y - C.height / 2).attr("width", C.width).attr("height", C.height).attr("fill", "white").attr("fill-opacity", "85%") }, Zze = function (i, a, f, p, v) { const m = f.edge(oL(a.src), oL(a.dst)), b = Y9().x(function (C) { return C.x }).y(function (C) { return C.y }), E = i.insert("path", "#" + p).attr("class", "er relationshipLine").attr("d", b(m.points)).attr("fill", "none"); a.type == v.db.Relationships.CONTAINS ? E.attr("marker-start", "url(" + yi.getUrl(Lh.arrowMarkerAbsolute) + "#" + a.type + "_line_ending)") : (E.attr("stroke-dasharray", "10,7"), E.attr("marker-end", "url(" + yi.getUrl(Lh.arrowMarkerAbsolute) + "#" + OBt.ReqMarkers.ARROW + "_line_ending)")), Qze(i, E, Lh, `<<${a.type}>>`) }, Jze = (i, a, f) => { Object.keys(i).forEach(p => { let v = i[p]; p = oL(p), zt.info("Added new requirement: ", p); const m = f.append("g").attr("id", p), b = "req-" + p, E = PBt(m, b); let C = FBt(m, p + "_title", [`<<${v.type}>>`, `${v.name}`]); BBt(m, p + "_body", [`Id: ${v.id}`, `Text: ${v.text}`, `Risk: ${v.risk}`, `Verification: ${v.verifyMethod}`], C.y); const D = E.node().getBBox(); a.setNode(p, { width: D.width, height: D.height, shape: "rect", id: p }) }) }, tqe = (i, a, f) => { Object.keys(i).forEach(p => { let v = i[p]; const m = oL(p), b = f.append("g").attr("id", m), E = "element-" + m, C = PBt(b, E); let D = FBt(b, E + "_title", ["<<Element>>", `${p}`]); BBt(b, E + "_body", [`Type: ${v.type || "Not Specified"}`, `Doc Ref: ${v.docRef || "None"}`], D.y); const P = C.node().getBBox(); a.setNode(m, { width: P.width, height: P.height, shape: "rect", id: m }) }) }, eqe = (i, a) => (i.forEach(function (f) { let p = oL(f.src), v = oL(f.dst); a.setEdge(p, v, { relationship: f }) }), i), nqe = function (i, a) { a.nodes().forEach(function (f) { f !== void 0 && a.node(f) !== void 0 && (i.select("#" + f), i.select("#" + f).attr("transform", "translate(" + (a.node(f).x - a.node(f).width / 2) + "," + (a.node(f).y - a.node(f).height / 2) + " )")) }) }, oL = i => i.replace(/\s/g, "").replace(/\./g, "_"), rqe = Object.freeze(Object.defineProperty({ __proto__: null, diagram: { parser: Kze, db: Yze, renderer: { draw: (i, a, f, p) => { Lh = Oe().requirement, p.db.clear(), p.parser.parse(i); const v = Lh.securityLevel; let m; v === "sandbox" && (m = Mr("#i" + a)); const E = Mr(v === "sandbox" ? m.nodes()[0].contentDocument.body : "body").select(`[id='${a}']`); OBt.insertLineEndings(E, Lh); const C = new jf({ multigraph: !1, compound: !1, directed: !0 }).setGraph({ rankdir: Lh.layoutDirection, marginx: 20, marginy: 20, nodesep: 100, edgesep: 100, ranksep: 100 }).setDefaultEdgeLabel(function () { return {} }); let D = p.db.getRequirements(), P = p.db.getElements(), B = p.db.getRelationships(); Jze(D, C, E), tqe(P, C, E), eqe(B, C), eL(C), nqe(E, C), B.forEach(function (it) { Zze(E, it, C, a, p) }); const j = Lh.rect_padding, R = E.node().getBBox(), H = R.width + j * 2, Y = R.height + j * 2; Wb(E, Y, H, Lh.useMaxWidth), E.attr("viewBox", `${R.x - j} ${R.y - j} ${H} ${Y}`) } }, styles: Xze } }, Symbol.toStringTag, { value: "Module" })); var W0t = function () {
            var i = function (Ee, ye, Vt, Ae) { for (Vt = Vt || {}, Ae = Ee.length; Ae--; Vt[Ee[Ae]] = ye); return Vt }, a = [1, 2], f = [1, 3], p = [1, 5], v = [1, 7], m = [2, 5], b = [1, 15], E = [1, 17], C = [1, 19], D = [1, 21], P = [1, 22], B = [1, 23], j = [1, 29], R = [1, 30], H = [1, 31], Y = [1, 32], it = [1, 33], nt = [1, 34], st = [1, 35], pt = [1, 36], Tt = [1, 37], kt = [1, 38], yt = [1, 39], ht = [1, 40], mt = [1, 41], rt = [1, 43], wt = [1, 44], gt = [1, 46], lt = [1, 47], _t = [1, 48], X = [1, 49], Rt = [1, 50], ft = [1, 51], de = [1, 54], J = [1, 4, 5, 19, 21, 23, 26, 28, 34, 35, 36, 38, 40, 41, 42, 43, 44, 46, 48, 49, 51, 52, 53, 54, 55, 57, 58, 63, 64, 65, 66, 74, 84], ae = [4, 5, 21, 55, 57], Wt = [4, 5, 19, 21, 23, 26, 28, 34, 35, 36, 38, 40, 41, 42, 43, 44, 46, 48, 49, 51, 55, 57, 58, 63, 64, 65, 66, 74, 84], It = [4, 5, 19, 21, 23, 26, 28, 34, 35, 36, 38, 40, 41, 42, 43, 44, 46, 48, 49, 51, 54, 55, 57, 58, 63, 64, 65, 66, 74, 84], Nt = [4, 5, 19, 21, 23, 26, 28, 34, 35, 36, 38, 40, 41, 42, 43, 44, 46, 48, 49, 51, 53, 55, 57, 58, 63, 64, 65, 66, 74, 84], me = [4, 5, 19, 21, 23, 26, 28, 34, 35, 36, 38, 40, 41, 42, 43, 44, 46, 48, 49, 51, 52, 55, 57, 58, 63, 64, 65, 66, 74, 84], Ue = [72, 73, 74], _n = [1, 128], _e = [1, 4, 5, 7, 19, 21, 23, 26, 28, 34, 35, 36, 38, 40, 41, 42, 43, 44, 46, 48, 49, 51, 52, 53, 54, 55, 57, 58, 63, 64, 65, 66, 74, 84], rr = {
                trace: function () { }, yy: {}, symbols_: { error: 2, start: 3, SPACE: 4, NEWLINE: 5, directive: 6, SD: 7, document: 8, line: 9, statement: 10, box_section: 11, box_line: 12, participant_statement: 13, openDirective: 14, typeDirective: 15, closeDirective: 16, ":": 17, argDirective: 18, box: 19, restOfLine: 20, end: 21, signal: 22, autonumber: 23, NUM: 24, off: 25, activate: 26, actor: 27, deactivate: 28, note_statement: 29, links_statement: 30, link_statement: 31, properties_statement: 32, details_statement: 33, title: 34, legacy_title: 35, acc_title: 36, acc_title_value: 37, acc_descr: 38, acc_descr_value: 39, acc_descr_multiline_value: 40, loop: 41, rect: 42, opt: 43, alt: 44, else_sections: 45, par: 46, par_sections: 47, par_over: 48, critical: 49, option_sections: 50, break: 51, option: 52, and: 53, else: 54, participant: 55, AS: 56, participant_actor: 57, note: 58, placement: 59, text2: 60, over: 61, actor_pair: 62, links: 63, link: 64, properties: 65, details: 66, spaceList: 67, ",": 68, left_of: 69, right_of: 70, signaltype: 71, "+": 72, "-": 73, ACTOR: 74, SOLID_OPEN_ARROW: 75, DOTTED_OPEN_ARROW: 76, SOLID_ARROW: 77, DOTTED_ARROW: 78, SOLID_CROSS: 79, DOTTED_CROSS: 80, SOLID_POINT: 81, DOTTED_POINT: 82, TXT: 83, open_directive: 84, type_directive: 85, arg_directive: 86, close_directive: 87, $accept: 0, $end: 1 }, terminals_: { 2: "error", 4: "SPACE", 5: "NEWLINE", 7: "SD", 17: ":", 19: "box", 20: "restOfLine", 21: "end", 23: "autonumber", 24: "NUM", 25: "off", 26: "activate", 28: "deactivate", 34: "title", 35: "legacy_title", 36: "acc_title", 37: "acc_title_value", 38: "acc_descr", 39: "acc_descr_value", 40: "acc_descr_multiline_value", 41: "loop", 42: "rect", 43: "opt", 44: "alt", 46: "par", 48: "par_over", 49: "critical", 51: "break", 52: "option", 53: "and", 54: "else", 55: "participant", 56: "AS", 57: "participant_actor", 58: "note", 61: "over", 63: "links", 64: "link", 65: "properties", 66: "details", 68: ",", 69: "left_of", 70: "right_of", 72: "+", 73: "-", 74: "ACTOR", 75: "SOLID_OPEN_ARROW", 76: "DOTTED_OPEN_ARROW", 77: "SOLID_ARROW", 78: "DOTTED_ARROW", 79: "SOLID_CROSS", 80: "DOTTED_CROSS", 81: "SOLID_POINT", 82: "DOTTED_POINT", 83: "TXT", 84: "open_directive", 85: "type_directive", 86: "arg_directive", 87: "close_directive" }, productions_: [0, [3, 2], [3, 2], [3, 2], [3, 2], [8, 0], [8, 2], [9, 2], [9, 1], [9, 1], [11, 0], [11, 2], [12, 2], [12, 1], [12, 1], [6, 4], [6, 6], [10, 1], [10, 4], [10, 2], [10, 4], [10, 3], [10, 3], [10, 2], [10, 3], [10, 3], [10, 2], [10, 2], [10, 2], [10, 2], [10, 2], [10, 1], [10, 1], [10, 2], [10, 2], [10, 1], [10, 4], [10, 4], [10, 4], [10, 4], [10, 4], [10, 4], [10, 4], [10, 4], [10, 1], [50, 1], [50, 4], [47, 1], [47, 4], [45, 1], [45, 4], [13, 5], [13, 3], [13, 5], [13, 3], [29, 4], [29, 4], [30, 3], [31, 3], [32, 3], [33, 3], [67, 2], [67, 1], [62, 3], [62, 1], [59, 1], [59, 1], [22, 5], [22, 5], [22, 4], [27, 1], [71, 1], [71, 1], [71, 1], [71, 1], [71, 1], [71, 1], [71, 1], [71, 1], [60, 1], [14, 1], [15, 1], [18, 1], [16, 1]], performAction: function (ye, Vt, Ae, Gt, un, jt, Ke) { var oe = jt.length - 1; switch (un) { case 4: return Gt.apply(jt[oe]), jt[oe]; case 5: case 10: this.$ = []; break; case 6: case 11: jt[oe - 1].push(jt[oe]), this.$ = jt[oe - 1]; break; case 7: case 8: case 12: case 13: this.$ = jt[oe]; break; case 9: case 14: this.$ = []; break; case 18: jt[oe - 1].unshift({ type: "boxStart", boxData: Gt.parseBoxData(jt[oe - 2]) }), jt[oe - 1].push({ type: "boxEnd", boxText: jt[oe - 2] }), this.$ = jt[oe - 1]; break; case 20: this.$ = { type: "sequenceIndex", sequenceIndex: Number(jt[oe - 2]), sequenceIndexStep: Number(jt[oe - 1]), sequenceVisible: !0, signalType: Gt.LINETYPE.AUTONUMBER }; break; case 21: this.$ = { type: "sequenceIndex", sequenceIndex: Number(jt[oe - 1]), sequenceIndexStep: 1, sequenceVisible: !0, signalType: Gt.LINETYPE.AUTONUMBER }; break; case 22: this.$ = { type: "sequenceIndex", sequenceVisible: !1, signalType: Gt.LINETYPE.AUTONUMBER }; break; case 23: this.$ = { type: "sequenceIndex", sequenceVisible: !0, signalType: Gt.LINETYPE.AUTONUMBER }; break; case 24: this.$ = { type: "activeStart", signalType: Gt.LINETYPE.ACTIVE_START, actor: jt[oe - 1] }; break; case 25: this.$ = { type: "activeEnd", signalType: Gt.LINETYPE.ACTIVE_END, actor: jt[oe - 1] }; break; case 31: Gt.setDiagramTitle(jt[oe].substring(6)), this.$ = jt[oe].substring(6); break; case 32: Gt.setDiagramTitle(jt[oe].substring(7)), this.$ = jt[oe].substring(7); break; case 33: this.$ = jt[oe].trim(), Gt.setAccTitle(this.$); break; case 34: case 35: this.$ = jt[oe].trim(), Gt.setAccDescription(this.$); break; case 36: jt[oe - 1].unshift({ type: "loopStart", loopText: Gt.parseMessage(jt[oe - 2]), signalType: Gt.LINETYPE.LOOP_START }), jt[oe - 1].push({ type: "loopEnd", loopText: jt[oe - 2], signalType: Gt.LINETYPE.LOOP_END }), this.$ = jt[oe - 1]; break; case 37: jt[oe - 1].unshift({ type: "rectStart", color: Gt.parseMessage(jt[oe - 2]), signalType: Gt.LINETYPE.RECT_START }), jt[oe - 1].push({ type: "rectEnd", color: Gt.parseMessage(jt[oe - 2]), signalType: Gt.LINETYPE.RECT_END }), this.$ = jt[oe - 1]; break; case 38: jt[oe - 1].unshift({ type: "optStart", optText: Gt.parseMessage(jt[oe - 2]), signalType: Gt.LINETYPE.OPT_START }), jt[oe - 1].push({ type: "optEnd", optText: Gt.parseMessage(jt[oe - 2]), signalType: Gt.LINETYPE.OPT_END }), this.$ = jt[oe - 1]; break; case 39: jt[oe - 1].unshift({ type: "altStart", altText: Gt.parseMessage(jt[oe - 2]), signalType: Gt.LINETYPE.ALT_START }), jt[oe - 1].push({ type: "altEnd", signalType: Gt.LINETYPE.ALT_END }), this.$ = jt[oe - 1]; break; case 40: jt[oe - 1].unshift({ type: "parStart", parText: Gt.parseMessage(jt[oe - 2]), signalType: Gt.LINETYPE.PAR_START }), jt[oe - 1].push({ type: "parEnd", signalType: Gt.LINETYPE.PAR_END }), this.$ = jt[oe - 1]; break; case 41: jt[oe - 1].unshift({ type: "parStart", parText: Gt.parseMessage(jt[oe - 2]), signalType: Gt.LINETYPE.PAR_OVER_START }), jt[oe - 1].push({ type: "parEnd", signalType: Gt.LINETYPE.PAR_END }), this.$ = jt[oe - 1]; break; case 42: jt[oe - 1].unshift({ type: "criticalStart", criticalText: Gt.parseMessage(jt[oe - 2]), signalType: Gt.LINETYPE.CRITICAL_START }), jt[oe - 1].push({ type: "criticalEnd", signalType: Gt.LINETYPE.CRITICAL_END }), this.$ = jt[oe - 1]; break; case 43: jt[oe - 1].unshift({ type: "breakStart", breakText: Gt.parseMessage(jt[oe - 2]), signalType: Gt.LINETYPE.BREAK_START }), jt[oe - 1].push({ type: "breakEnd", optText: Gt.parseMessage(jt[oe - 2]), signalType: Gt.LINETYPE.BREAK_END }), this.$ = jt[oe - 1]; break; case 46: this.$ = jt[oe - 3].concat([{ type: "option", optionText: Gt.parseMessage(jt[oe - 1]), signalType: Gt.LINETYPE.CRITICAL_OPTION }, jt[oe]]); break; case 48: this.$ = jt[oe - 3].concat([{ type: "and", parText: Gt.parseMessage(jt[oe - 1]), signalType: Gt.LINETYPE.PAR_AND }, jt[oe]]); break; case 50: this.$ = jt[oe - 3].concat([{ type: "else", altText: Gt.parseMessage(jt[oe - 1]), signalType: Gt.LINETYPE.ALT_ELSE }, jt[oe]]); break; case 51: jt[oe - 3].type = "addParticipant", jt[oe - 3].description = Gt.parseMessage(jt[oe - 1]), this.$ = jt[oe - 3]; break; case 52: jt[oe - 1].type = "addParticipant", this.$ = jt[oe - 1]; break; case 53: jt[oe - 3].type = "addActor", jt[oe - 3].description = Gt.parseMessage(jt[oe - 1]), this.$ = jt[oe - 3]; break; case 54: jt[oe - 1].type = "addActor", this.$ = jt[oe - 1]; break; case 55: this.$ = [jt[oe - 1], { type: "addNote", placement: jt[oe - 2], actor: jt[oe - 1].actor, text: jt[oe] }]; break; case 56: jt[oe - 2] = [].concat(jt[oe - 1], jt[oe - 1]).slice(0, 2), jt[oe - 2][0] = jt[oe - 2][0].actor, jt[oe - 2][1] = jt[oe - 2][1].actor, this.$ = [jt[oe - 1], { type: "addNote", placement: Gt.PLACEMENT.OVER, actor: jt[oe - 2].slice(0, 2), text: jt[oe] }]; break; case 57: this.$ = [jt[oe - 1], { type: "addLinks", actor: jt[oe - 1].actor, text: jt[oe] }]; break; case 58: this.$ = [jt[oe - 1], { type: "addALink", actor: jt[oe - 1].actor, text: jt[oe] }]; break; case 59: this.$ = [jt[oe - 1], { type: "addProperties", actor: jt[oe - 1].actor, text: jt[oe] }]; break; case 60: this.$ = [jt[oe - 1], { type: "addDetails", actor: jt[oe - 1].actor, text: jt[oe] }]; break; case 63: this.$ = [jt[oe - 2], jt[oe]]; break; case 64: this.$ = jt[oe]; break; case 65: this.$ = Gt.PLACEMENT.LEFTOF; break; case 66: this.$ = Gt.PLACEMENT.RIGHTOF; break; case 67: this.$ = [jt[oe - 4], jt[oe - 1], { type: "addMessage", from: jt[oe - 4].actor, to: jt[oe - 1].actor, signalType: jt[oe - 3], msg: jt[oe] }, { type: "activeStart", signalType: Gt.LINETYPE.ACTIVE_START, actor: jt[oe - 1] }]; break; case 68: this.$ = [jt[oe - 4], jt[oe - 1], { type: "addMessage", from: jt[oe - 4].actor, to: jt[oe - 1].actor, signalType: jt[oe - 3], msg: jt[oe] }, { type: "activeEnd", signalType: Gt.LINETYPE.ACTIVE_END, actor: jt[oe - 4] }]; break; case 69: this.$ = [jt[oe - 3], jt[oe - 1], { type: "addMessage", from: jt[oe - 3].actor, to: jt[oe - 1].actor, signalType: jt[oe - 2], msg: jt[oe] }]; break; case 70: this.$ = { type: "addParticipant", actor: jt[oe] }; break; case 71: this.$ = Gt.LINETYPE.SOLID_OPEN; break; case 72: this.$ = Gt.LINETYPE.DOTTED_OPEN; break; case 73: this.$ = Gt.LINETYPE.SOLID; break; case 74: this.$ = Gt.LINETYPE.DOTTED; break; case 75: this.$ = Gt.LINETYPE.SOLID_CROSS; break; case 76: this.$ = Gt.LINETYPE.DOTTED_CROSS; break; case 77: this.$ = Gt.LINETYPE.SOLID_POINT; break; case 78: this.$ = Gt.LINETYPE.DOTTED_POINT; break; case 79: this.$ = Gt.parseMessage(jt[oe].trim().substring(1)); break; case 80: Gt.parseDirective("%%{", "open_directive"); break; case 81: Gt.parseDirective(jt[oe], "type_directive"); break; case 82: jt[oe] = jt[oe].trim().replace(/'/g, '"'), Gt.parseDirective(jt[oe], "arg_directive"); break; case 83: Gt.parseDirective("}%%", "close_directive", "sequence"); break } }, table: [{ 3: 1, 4: a, 5: f, 6: 4, 7: p, 14: 6, 84: v }, { 1: [3] }, { 3: 8, 4: a, 5: f, 6: 4, 7: p, 14: 6, 84: v }, { 3: 9, 4: a, 5: f, 6: 4, 7: p, 14: 6, 84: v }, { 3: 10, 4: a, 5: f, 6: 4, 7: p, 14: 6, 84: v }, i([1, 4, 5, 19, 23, 26, 28, 34, 35, 36, 38, 40, 41, 42, 43, 44, 46, 48, 49, 51, 55, 57, 58, 63, 64, 65, 66, 74, 84], m, { 8: 11 }), { 15: 12, 85: [1, 13] }, { 85: [2, 80] }, { 1: [2, 1] }, { 1: [2, 2] }, { 1: [2, 3] }, { 1: [2, 4], 4: b, 5: E, 6: 42, 9: 14, 10: 16, 13: 18, 14: 6, 19: C, 22: 20, 23: D, 26: P, 27: 45, 28: B, 29: 24, 30: 25, 31: 26, 32: 27, 33: 28, 34: j, 35: R, 36: H, 38: Y, 40: it, 41: nt, 42: st, 43: pt, 44: Tt, 46: kt, 48: yt, 49: ht, 51: mt, 55: rt, 57: wt, 58: gt, 63: lt, 64: _t, 65: X, 66: Rt, 74: ft, 84: v }, { 16: 52, 17: [1, 53], 87: de }, i([17, 87], [2, 81]), i(J, [2, 6]), { 6: 42, 10: 55, 13: 18, 14: 6, 19: C, 22: 20, 23: D, 26: P, 27: 45, 28: B, 29: 24, 30: 25, 31: 26, 32: 27, 33: 28, 34: j, 35: R, 36: H, 38: Y, 40: it, 41: nt, 42: st, 43: pt, 44: Tt, 46: kt, 48: yt, 49: ht, 51: mt, 55: rt, 57: wt, 58: gt, 63: lt, 64: _t, 65: X, 66: Rt, 74: ft, 84: v }, i(J, [2, 8]), i(J, [2, 9]), i(J, [2, 17]), { 20: [1, 56] }, { 5: [1, 57] }, { 5: [1, 60], 24: [1, 58], 25: [1, 59] }, { 27: 61, 74: ft }, { 27: 62, 74: ft }, { 5: [1, 63] }, { 5: [1, 64] }, { 5: [1, 65] }, { 5: [1, 66] }, { 5: [1, 67] }, i(J, [2, 31]), i(J, [2, 32]), { 37: [1, 68] }, { 39: [1, 69] }, i(J, [2, 35]), { 20: [1, 70] }, { 20: [1, 71] }, { 20: [1, 72] }, { 20: [1, 73] }, { 20: [1, 74] }, { 20: [1, 75] }, { 20: [1, 76] }, { 20: [1, 77] }, i(J, [2, 44]), { 27: 78, 74: ft }, { 27: 79, 74: ft }, { 71: 80, 75: [1, 81], 76: [1, 82], 77: [1, 83], 78: [1, 84], 79: [1, 85], 80: [1, 86], 81: [1, 87], 82: [1, 88] }, { 59: 89, 61: [1, 90], 69: [1, 91], 70: [1, 92] }, { 27: 93, 74: ft }, { 27: 94, 74: ft }, { 27: 95, 74: ft }, { 27: 96, 74: ft }, i([5, 56, 68, 75, 76, 77, 78, 79, 80, 81, 82, 83], [2, 70]), { 5: [1, 97] }, { 18: 98, 86: [1, 99] }, { 5: [2, 83] }, i(J, [2, 7]), i(ae, [2, 10], { 11: 100 }), i(J, [2, 19]), { 5: [1, 102], 24: [1, 101] }, { 5: [1, 103] }, i(J, [2, 23]), { 5: [1, 104] }, { 5: [1, 105] }, i(J, [2, 26]), i(J, [2, 27]), i(J, [2, 28]), i(J, [2, 29]), i(J, [2, 30]), i(J, [2, 33]), i(J, [2, 34]), i(Wt, m, { 8: 106 }), i(Wt, m, { 8: 107 }), i(Wt, m, { 8: 108 }), i(It, m, { 45: 109, 8: 110 }), i(Nt, m, { 47: 111, 8: 112 }), i(Nt, m, { 8: 112, 47: 113 }), i(me, m, { 50: 114, 8: 115 }), i(Wt, m, { 8: 116 }), { 5: [1, 118], 56: [1, 117] }, { 5: [1, 120], 56: [1, 119] }, { 27: 123, 72: [1, 121], 73: [1, 122], 74: ft }, i(Ue, [2, 71]), i(Ue, [2, 72]), i(Ue, [2, 73]), i(Ue, [2, 74]), i(Ue, [2, 75]), i(Ue, [2, 76]), i(Ue, [2, 77]), i(Ue, [2, 78]), { 27: 124, 74: ft }, { 27: 126, 62: 125, 74: ft }, { 74: [2, 65] }, { 74: [2, 66] }, { 60: 127, 83: _n }, { 60: 129, 83: _n }, { 60: 130, 83: _n }, { 60: 131, 83: _n }, i(_e, [2, 15]), { 16: 132, 87: de }, { 87: [2, 82] }, { 4: [1, 135], 5: [1, 137], 12: 134, 13: 136, 21: [1, 133], 55: rt, 57: wt }, { 5: [1, 138] }, i(J, [2, 21]), i(J, [2, 22]), i(J, [2, 24]), i(J, [2, 25]), { 4: b, 5: E, 6: 42, 9: 14, 10: 16, 13: 18, 14: 6, 19: C, 21: [1, 139], 22: 20, 23: D, 26: P, 27: 45, 28: B, 29: 24, 30: 25, 31: 26, 32: 27, 33: 28, 34: j, 35: R, 36: H, 38: Y, 40: it, 41: nt, 42: st, 43: pt, 44: Tt, 46: kt, 48: yt, 49: ht, 51: mt, 55: rt, 57: wt, 58: gt, 63: lt, 64: _t, 65: X, 66: Rt, 74: ft, 84: v }, { 4: b, 5: E, 6: 42, 9: 14, 10: 16, 13: 18, 14: 6, 19: C, 21: [1, 140], 22: 20, 23: D, 26: P, 27: 45, 28: B, 29: 24, 30: 25, 31: 26, 32: 27, 33: 28, 34: j, 35: R, 36: H, 38: Y, 40: it, 41: nt, 42: st, 43: pt, 44: Tt, 46: kt, 48: yt, 49: ht, 51: mt, 55: rt, 57: wt, 58: gt, 63: lt, 64: _t, 65: X, 66: Rt, 74: ft, 84: v }, { 4: b, 5: E, 6: 42, 9: 14, 10: 16, 13: 18, 14: 6, 19: C, 21: [1, 141], 22: 20, 23: D, 26: P, 27: 45, 28: B, 29: 24, 30: 25, 31: 26, 32: 27, 33: 28, 34: j, 35: R, 36: H, 38: Y, 40: it, 41: nt, 42: st, 43: pt, 44: Tt, 46: kt, 48: yt, 49: ht, 51: mt, 55: rt, 57: wt, 58: gt, 63: lt, 64: _t, 65: X, 66: Rt, 74: ft, 84: v }, { 21: [1, 142] }, { 4: b, 5: E, 6: 42, 9: 14, 10: 16, 13: 18, 14: 6, 19: C, 21: [2, 49], 22: 20, 23: D, 26: P, 27: 45, 28: B, 29: 24, 30: 25, 31: 26, 32: 27, 33: 28, 34: j, 35: R, 36: H, 38: Y, 40: it, 41: nt, 42: st, 43: pt, 44: Tt, 46: kt, 48: yt, 49: ht, 51: mt, 54: [1, 143], 55: rt, 57: wt, 58: gt, 63: lt, 64: _t, 65: X, 66: Rt, 74: ft, 84: v }, { 21: [1, 144] }, { 4: b, 5: E, 6: 42, 9: 14, 10: 16, 13: 18, 14: 6, 19: C, 21: [2, 47], 22: 20, 23: D, 26: P, 27: 45, 28: B, 29: 24, 30: 25, 31: 26, 32: 27, 33: 28, 34: j, 35: R, 36: H, 38: Y, 40: it, 41: nt, 42: st, 43: pt, 44: Tt, 46: kt, 48: yt, 49: ht, 51: mt, 53: [1, 145], 55: rt, 57: wt, 58: gt, 63: lt, 64: _t, 65: X, 66: Rt, 74: ft, 84: v }, { 21: [1, 146] }, { 21: [1, 147] }, { 4: b, 5: E, 6: 42, 9: 14, 10: 16, 13: 18, 14: 6, 19: C, 21: [2, 45], 22: 20, 23: D, 26: P, 27: 45, 28: B, 29: 24, 30: 25, 31: 26, 32: 27, 33: 28, 34: j, 35: R, 36: H, 38: Y, 40: it, 41: nt, 42: st, 43: pt, 44: Tt, 46: kt, 48: yt, 49: ht, 51: mt, 52: [1, 148], 55: rt, 57: wt, 58: gt, 63: lt, 64: _t, 65: X, 66: Rt, 74: ft, 84: v }, { 4: b, 5: E, 6: 42, 9: 14, 10: 16, 13: 18, 14: 6, 19: C, 21: [1, 149], 22: 20, 23: D, 26: P, 27: 45, 28: B, 29: 24, 30: 25, 31: 26, 32: 27, 33: 28, 34: j, 35: R, 36: H, 38: Y, 40: it, 41: nt, 42: st, 43: pt, 44: Tt, 46: kt, 48: yt, 49: ht, 51: mt, 55: rt, 57: wt, 58: gt, 63: lt, 64: _t, 65: X, 66: Rt, 74: ft, 84: v }, { 20: [1, 150] }, i(J, [2, 52]), { 20: [1, 151] }, i(J, [2, 54]), { 27: 152, 74: ft }, { 27: 153, 74: ft }, { 60: 154, 83: _n }, { 60: 155, 83: _n }, { 60: 156, 83: _n }, { 68: [1, 157], 83: [2, 64] }, { 5: [2, 57] }, { 5: [2, 79] }, { 5: [2, 58] }, { 5: [2, 59] }, { 5: [2, 60] }, { 5: [1, 158] }, i(J, [2, 18]), i(ae, [2, 11]), { 13: 159, 55: rt, 57: wt }, i(ae, [2, 13]), i(ae, [2, 14]), i(J, [2, 20]), i(J, [2, 36]), i(J, [2, 37]), i(J, [2, 38]), i(J, [2, 39]), { 20: [1, 160] }, i(J, [2, 40]), { 20: [1, 161] }, i(J, [2, 41]), i(J, [2, 42]), { 20: [1, 162] }, i(J, [2, 43]), { 5: [1, 163] }, { 5: [1, 164] }, { 60: 165, 83: _n }, { 60: 166, 83: _n }, { 5: [2, 69] }, { 5: [2, 55] }, { 5: [2, 56] }, { 27: 167, 74: ft }, i(_e, [2, 16]), i(ae, [2, 12]), i(It, m, { 8: 110, 45: 168 }), i(Nt, m, { 8: 112, 47: 169 }), i(me, m, { 8: 115, 50: 170 }), i(J, [2, 51]), i(J, [2, 53]), { 5: [2, 67] }, { 5: [2, 68] }, { 83: [2, 63] }, { 21: [2, 50] }, { 21: [2, 48] }, { 21: [2, 46] }], defaultActions: { 7: [2, 80], 8: [2, 1], 9: [2, 2], 10: [2, 3], 54: [2, 83], 91: [2, 65], 92: [2, 66], 99: [2, 82], 127: [2, 57], 128: [2, 79], 129: [2, 58], 130: [2, 59], 131: [2, 60], 154: [2, 69], 155: [2, 55], 156: [2, 56], 165: [2, 67], 166: [2, 68], 167: [2, 63], 168: [2, 50], 169: [2, 48], 170: [2, 46] }, parseError: function (ye, Vt) { if (Vt.recoverable) this.trace(ye); else { var Ae = new Error(ye); throw Ae.hash = Vt, Ae } }, parse: function (ye) {
                    var Vt = this, Ae = [0], Gt = [], un = [null], jt = [], Ke = this.table, oe = "", Or = 0, Le = 0, Nr = 2, fe = 1, sr = jt.slice.call(arguments, 1), Yn = Object.create(this.lexer), tr = { yy: {} }; for (var ur in this.yy) Object.prototype.hasOwnProperty.call(this.yy, ur) && (tr.yy[ur] = this.yy[ur]); Yn.setInput(ye, tr.yy), tr.yy.lexer = Yn, tr.yy.parser = this, typeof Yn.yylloc > "u" && (Yn.yylloc = {}); var gn = Yn.yylloc; jt.push(gn); var En = Yn.options && Yn.options.ranges; typeof tr.yy.parseError == "function" ? this.parseError = tr.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; function Dr() { var xi; return xi = Gt.pop() || Yn.lex() || fe, typeof xi != "number" && (xi instanceof Array && (Gt = xi, xi = Gt.pop()), xi = Vt.symbols_[xi] || xi), xi } for (var hr, Ki, Is, Ha, hi = {}, qi, zn, Zn, Pr; ;) {
                        if (Ki = Ae[Ae.length - 1], this.defaultActions[Ki] ? Is = this.defaultActions[Ki] : ((hr === null || typeof hr > "u") && (hr = Dr()), Is = Ke[Ki] && Ke[Ki][hr]), typeof Is > "u" || !Is.length || !Is[0]) {
                            var On = ""; Pr = []; for (qi in Ke[Ki]) this.terminals_[qi] && qi > Nr && Pr.push("'" + this.terminals_[qi] + "'"); Yn.showPosition ? On = "Parse error on line " + (Or + 1) + `:
    `+ Yn.showPosition() + `
    Expecting `+ Pr.join(", ") + ", got '" + (this.terminals_[hr] || hr) + "'" : On = "Parse error on line " + (Or + 1) + ": Unexpected " + (hr == fe ? "end of input" : "'" + (this.terminals_[hr] || hr) + "'"), this.parseError(On, { text: Yn.match, token: this.terminals_[hr] || hr, line: Yn.yylineno, loc: gn, expected: Pr })
                        } if (Is[0] instanceof Array && Is.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + Ki + ", token: " + hr); switch (Is[0]) { case 1: Ae.push(hr), un.push(Yn.yytext), jt.push(Yn.yylloc), Ae.push(Is[1]), hr = null, Le = Yn.yyleng, oe = Yn.yytext, Or = Yn.yylineno, gn = Yn.yylloc; break; case 2: if (zn = this.productions_[Is[1]][1], hi.$ = un[un.length - zn], hi._$ = { first_line: jt[jt.length - (zn || 1)].first_line, last_line: jt[jt.length - 1].last_line, first_column: jt[jt.length - (zn || 1)].first_column, last_column: jt[jt.length - 1].last_column }, En && (hi._$.range = [jt[jt.length - (zn || 1)].range[0], jt[jt.length - 1].range[1]]), Ha = this.performAction.apply(hi, [oe, Le, Or, tr.yy, Is[1], un, jt].concat(sr)), typeof Ha < "u") return Ha; zn && (Ae = Ae.slice(0, -1 * zn * 2), un = un.slice(0, -1 * zn), jt = jt.slice(0, -1 * zn)), Ae.push(this.productions_[Is[1]][0]), un.push(hi.$), jt.push(hi._$), Zn = Ke[Ae[Ae.length - 2]][Ae[Ae.length - 1]], Ae.push(Zn); break; case 3: return !0 }
                    } return !0
                }
            }, Te = function () {
                var Ee = {
                    EOF: 1, parseError: function (Vt, Ae) { if (this.yy.parser) this.yy.parser.parseError(Vt, Ae); else throw new Error(Vt) }, setInput: function (ye, Vt) { return this.yy = Vt || this.yy || {}, this._input = ye, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this }, input: function () { var ye = this._input[0]; this.yytext += ye, this.yyleng++, this.offset++, this.match += ye, this.matched += ye; var Vt = ye.match(/(?:\r\n?|\n).*/g); return Vt ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), ye }, unput: function (ye) { var Vt = ye.length, Ae = ye.split(/(?:\r\n?|\n)/g); this._input = ye + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - Vt), this.offset -= Vt; var Gt = this.match.split(/(?:\r\n?|\n)/g); this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), Ae.length - 1 && (this.yylineno -= Ae.length - 1); var un = this.yylloc.range; return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: Ae ? (Ae.length === Gt.length ? this.yylloc.first_column : 0) + Gt[Gt.length - Ae.length].length - Ae[0].length : this.yylloc.first_column - Vt }, this.options.ranges && (this.yylloc.range = [un[0], un[0] + this.yyleng - Vt]), this.yyleng = this.yytext.length, this }, more: function () { return this._more = !0, this }, reject: function () {
                        if (this.options.backtrack_lexer) this._backtrack = !0; else 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).
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno }); return this
                    }, less: function (ye) { this.unput(this.match.slice(ye)) }, pastInput: function () { var ye = this.matched.substr(0, this.matched.length - this.match.length); return (ye.length > 20 ? "..." : "") + ye.substr(-20).replace(/\n/g, "") }, upcomingInput: function () { var ye = this.match; return ye.length < 20 && (ye += this._input.substr(0, 20 - ye.length)), (ye.substr(0, 20) + (ye.length > 20 ? "..." : "")).replace(/\n/g, "") }, showPosition: function () {
                        var ye = this.pastInput(), Vt = new Array(ye.length + 1).join("-"); return ye + this.upcomingInput() + `
    `+ Vt + "^"
                    }, test_match: function (ye, Vt) { var Ae, Gt, un; if (this.options.backtrack_lexer && (un = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (un.yylloc.range = this.yylloc.range.slice(0))), Gt = ye[0].match(/(?:\r\n?|\n).*/g), Gt && (this.yylineno += Gt.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: Gt ? Gt[Gt.length - 1].length - Gt[Gt.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + ye[0].length }, this.yytext += ye[0], this.match += ye[0], this.matches = ye, 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(ye[0].length), this.matched += ye[0], Ae = this.performAction.call(this, this.yy, this, Vt, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), Ae) return Ae; if (this._backtrack) { for (var jt in un) this[jt] = un[jt]; return !1 } return !1 }, next: function () {
                        if (this.done) return this.EOF; this._input || (this.done = !0); var ye, Vt, Ae, Gt; this._more || (this.yytext = "", this.match = ""); for (var un = this._currentRules(), jt = 0; jt < un.length; jt++)if (Ae = this._input.match(this.rules[un[jt]]), Ae && (!Vt || Ae[0].length > Vt[0].length)) { if (Vt = Ae, Gt = jt, this.options.backtrack_lexer) { if (ye = this.test_match(Ae, un[jt]), ye !== !1) return ye; if (this._backtrack) { Vt = !1; continue } else return !1 } else if (!this.options.flex) break } return Vt ? (ye = this.test_match(Vt, un[Gt]), ye !== !1 ? ye : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno })
                    }, lex: function () { var Vt = this.next(); return Vt || this.lex() }, begin: function (Vt) { this.conditionStack.push(Vt) }, popState: function () { var Vt = this.conditionStack.length - 1; return Vt > 0 ? this.conditionStack.pop() : this.conditionStack[0] }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules }, topState: function (Vt) { return Vt = this.conditionStack.length - 1 - Math.abs(Vt || 0), Vt >= 0 ? this.conditionStack[Vt] : "INITIAL" }, pushState: function (Vt) { this.begin(Vt) }, stateStackSize: function () { return this.conditionStack.length }, options: { "case-insensitive": !0 }, performAction: function (Vt, Ae, Gt, un) { switch (Gt) { case 0: return this.begin("open_directive"), 84; case 1: return this.begin("type_directive"), 85; case 2: return this.popState(), this.begin("arg_directive"), 17; case 3: return this.popState(), this.popState(), 87; case 4: return 86; case 5: return 5; case 6: break; case 7: break; case 8: break; case 9: break; case 10: break; case 11: return 24; case 12: return this.begin("LINE"), 19; case 13: return this.begin("ID"), 55; case 14: return this.begin("ID"), 57; case 15: return Ae.yytext = Ae.yytext.trim(), this.begin("ALIAS"), 74; case 16: return this.popState(), this.popState(), this.begin("LINE"), 56; case 17: return this.popState(), this.popState(), 5; case 18: return this.begin("LINE"), 41; case 19: return this.begin("LINE"), 42; case 20: return this.begin("LINE"), 43; case 21: return this.begin("LINE"), 44; case 22: return this.begin("LINE"), 54; case 23: return this.begin("LINE"), 46; case 24: return this.begin("LINE"), 48; case 25: return this.begin("LINE"), 53; case 26: return this.begin("LINE"), 49; case 27: return this.begin("LINE"), 52; case 28: return this.begin("LINE"), 51; case 29: return this.popState(), 20; case 30: return 21; case 31: return 69; case 32: return 70; case 33: return 63; case 34: return 64; case 35: return 65; case 36: return 66; case 37: return 61; case 38: return 58; case 39: return this.begin("ID"), 26; case 40: return this.begin("ID"), 28; case 41: return 34; case 42: return 35; case 43: return this.begin("acc_title"), 36; case 44: return this.popState(), "acc_title_value"; case 45: return this.begin("acc_descr"), 38; case 46: return this.popState(), "acc_descr_value"; case 47: this.begin("acc_descr_multiline"); break; case 48: this.popState(); break; case 49: return "acc_descr_multiline_value"; case 50: return 7; case 51: return 23; case 52: return 25; case 53: return 68; case 54: return 5; case 55: return Ae.yytext = Ae.yytext.trim(), 74; case 56: return 77; case 57: return 78; case 58: return 75; case 59: return 76; case 60: return 79; case 61: return 80; case 62: return 81; case 63: return 82; case 64: return 83; case 65: return 72; case 66: return 73; case 67: return 5; case 68: return "INVALID" } }, rules: [/^(?:%%\{)/i, /^(?:((?:(?!\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\}%%)/i, /^(?:((?:(?!\}%%).|\n)*))/i, /^(?:[\n]+)/i, /^(?:\s+)/i, /^(?:((?!\n)\s)+)/i, /^(?:#[^\n]*)/i, /^(?:%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[0-9]+(?=[ \n]+))/i, /^(?:box\b)/i, /^(?:participant\b)/i, /^(?:actor\b)/i, /^(?:[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i, /^(?:as\b)/i, /^(?:(?:))/i, /^(?:loop\b)/i, /^(?:rect\b)/i, /^(?:opt\b)/i, /^(?:alt\b)/i, /^(?:else\b)/i, /^(?:par\b)/i, /^(?:par_over\b)/i, /^(?:and\b)/i, /^(?:critical\b)/i, /^(?:option\b)/i, /^(?:break\b)/i, /^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i, /^(?:end\b)/i, /^(?:left of\b)/i, /^(?:right of\b)/i, /^(?:links\b)/i, /^(?:link\b)/i, /^(?:properties\b)/i, /^(?:details\b)/i, /^(?:over\b)/i, /^(?:note\b)/i, /^(?:activate\b)/i, /^(?:deactivate\b)/i, /^(?:title\s[^#\n;]+)/i, /^(?:title:\s[^#\n;]+)/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:sequenceDiagram\b)/i, /^(?:autonumber\b)/i, /^(?:off\b)/i, /^(?:,)/i, /^(?:;)/i, /^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i, /^(?:->>)/i, /^(?:-->>)/i, /^(?:->)/i, /^(?:-->)/i, /^(?:-[x])/i, /^(?:--[x])/i, /^(?:-[\)])/i, /^(?:--[\)])/i, /^(?::(?:(?:no)?wrap)?[^#\n;]+)/i, /^(?:\+)/i, /^(?:-)/i, /^(?:$)/i, /^(?:.)/i], conditions: { acc_descr_multiline: { rules: [48, 49], inclusive: !1 }, acc_descr: { rules: [46], inclusive: !1 }, acc_title: { rules: [44], inclusive: !1 }, open_directive: { rules: [1, 8], inclusive: !1 }, type_directive: { rules: [2, 3, 8], inclusive: !1 }, arg_directive: { rules: [3, 4, 8], inclusive: !1 }, ID: { rules: [7, 8, 15], inclusive: !1 }, ALIAS: { rules: [7, 8, 16, 17], inclusive: !1 }, LINE: { rules: [7, 8, 29], inclusive: !1 }, INITIAL: { rules: [0, 5, 6, 8, 9, 10, 11, 12, 13, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 47, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], inclusive: !0 } }
                }; return Ee
            }(); rr.lexer = Te; function ne() { this.yy = {} } return ne.prototype = rr, rr.Parser = ne, new ne
        }(); W0t.parser = W0t; const iqe = W0t; let _P, hk = {}, cL = [], cm = [], yK = !1, K0t, I5; const sqe = function (i, a, f) { d1.parseDirective(this, i, a, f) }, aqe = function (i) { cL.push({ name: i.text, wrap: i.wrap === void 0 && vE() || !!i.wrap, fill: i.color, actorKeys: [] }), I5 = cL.slice(-1)[0] }, Y0t = function (i, a, f, p) { let v = I5; const m = hk[i]; if (m) { if (I5 && m.box && I5 !== m.box) throw new Error("A same participant should only be defined in one Box: " + m.name + " can't be in '" + m.box.name + "' and in '" + I5.name + "' at the same time."); if (v = m.box ? m.box : I5, m.box = v, m && a === m.name && f == null) return } (f == null || f.text == null) && (f = { text: a, wrap: null, type: p }), (p == null || f.text == null) && (f = { text: a, wrap: null, type: p }), hk[i] = { box: v, name: a, description: f.text, wrap: f.wrap === void 0 && vE() || !!f.wrap, prevActor: _P, links: {}, properties: {}, actorCnt: null, rectData: null, type: p || "participant" }, _P && hk[_P] && (hk[_P].nextActor = i), I5 && I5.actorKeys.push(i), _P = i }, oqe = i => { let a, f = 0; for (a = 0; a < cm.length; a++)cm[a].type === SP.ACTIVE_START && cm[a].from.actor === i && f++, cm[a].type === SP.ACTIVE_END && cm[a].from.actor === i && f--; return f }, cqe = function (i, a, f, p) { cm.push({ from: i, to: a, message: f.text, wrap: f.wrap === void 0 && vE() || !!f.wrap, answer: p }) }, of = function (i, a, f = { text: void 0, wrap: void 0 }, p) { if (p === SP.ACTIVE_END && oqe(i.actor) < 1) { let m = new Error("Trying to inactivate an inactive participant (" + i.actor + ")"); throw m.hash = { text: "->>-", token: "->>-", line: "1", loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 }, expected: ["'ACTIVE_PARTICIPANT'"] }, m } return cm.push({ from: i, to: a, message: f.text, wrap: f.wrap === void 0 && vE() || !!f.wrap, type: p }), !0 }, uqe = function () { return cL.length > 0 }, lqe = function () { return cL.some(i => i.name) }, hqe = function () { return cm }, fqe = function () { return cL }, dqe = function () { return hk }, CP = function (i) { return hk[i] }, gqe = function () { return Object.keys(hk) }, pqe = function () { yK = !0 }, bqe = function () { yK = !1 }, vqe = () => yK, wqe = function (i) { K0t = i }, vE = () => K0t !== void 0 ? K0t : Oe().sequence.wrap, mqe = function () { hk = {}, cL = [], cm = [], yK = !1, cg() }, yqe = function (i) { const a = i.trim(), f = { text: a.replace(/^:?(?:no)?wrap:/, "").trim(), wrap: a.match(/^:?wrap:/) !== null ? !0 : a.match(/^:?nowrap:/) !== null ? !1 : void 0 }; return zt.debug("parseMessage:", f), f }, xqe = function (i) { const a = i.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/); let f = a != null && a[1] ? a[1].trim() : "transparent", p = a != null && a[2] ? a[2].trim() : void 0; if (window && window.CSS) window.CSS.supports("color", f) || (f = "transparent", p = i.trim()); else { const m = new Option().style; m.color = f, m.color !== f && (f = "transparent", p = i.trim()) } return { color: f, text: p !== void 0 ? sg(p.replace(/^:?(?:no)?wrap:/, ""), Oe()) : void 0, wrap: p !== void 0 ? p.match(/^:?wrap:/) !== null ? !0 : p.match(/^:?nowrap:/) !== null ? !1 : void 0 : void 0 } }, SP = { SOLID: 0, DOTTED: 1, NOTE: 2, SOLID_CROSS: 3, DOTTED_CROSS: 4, SOLID_OPEN: 5, DOTTED_OPEN: 6, LOOP_START: 10, LOOP_END: 11, ALT_START: 12, ALT_ELSE: 13, ALT_END: 14, OPT_START: 15, OPT_END: 16, ACTIVE_START: 17, ACTIVE_END: 18, PAR_START: 19, PAR_AND: 20, PAR_END: 21, RECT_START: 22, RECT_END: 23, SOLID_POINT: 24, DOTTED_POINT: 25, AUTONUMBER: 26, CRITICAL_START: 27, CRITICAL_OPTION: 28, CRITICAL_END: 29, BREAK_START: 30, BREAK_END: 31, PAR_OVER_START: 32 }, kqe = { FILLED: 0, OPEN: 1 }, Eqe = { LEFTOF: 0, RIGHTOF: 1, OVER: 2 }, RBt = function (i, a, f) { f.text, f.wrap === void 0 && vE() || f.wrap; const p = [].concat(i, i); cm.push({ from: p[0], to: p[1], message: f.text, wrap: f.wrap === void 0 && vE() || !!f.wrap, type: SP.NOTE, placement: a }) }, jBt = function (i, a) { const f = CP(i); try { let p = sg(a.text, Oe()); p = p.replace(/&amp;/g, "&"), p = p.replace(/&equals;/g, "="); const v = JSON.parse(p); X0t(f, v) } catch (p) { zt.error("error while parsing actor link text", p) } }, Tqe = function (i, a) { const f = CP(i); try { const b = {}; let E = sg(a.text, Oe()); var p = E.indexOf("@"); E = E.replace(/&amp;/g, "&"), E = E.replace(/&equals;/g, "="); var v = E.slice(0, p - 1).trim(), m = E.slice(p + 1).trim(); b[v] = m, X0t(f, b) } catch (b) { zt.error("error while parsing actor link text", b) } }; function X0t(i, a) { if (i.links == null) i.links = a; else for (let f in a) i.links[f] = a[f] } const $Bt = function (i, a) { const f = CP(i); try { let p = sg(a.text, Oe()); const v = JSON.parse(p); zBt(f, v) } catch (p) { zt.error("error while parsing actor properties text", p) } }; function zBt(i, a) { if (i.properties == null) i.properties = a; else for (let f in a) i.properties[f] = a[f] } function _qe() { I5 = void 0 } const qBt = function (i, a) { const f = CP(i), p = document.getElementById(a.text); try { const v = p.innerHTML, m = JSON.parse(v); m.properties && zBt(f, m.properties), m.links && X0t(f, m.links) } catch (v) { zt.error("error while parsing actor details text", v) } }, Cqe = function (i, a) { if (i !== void 0 && i.properties !== void 0) return i.properties[a] }, HBt = function (i) { if (Array.isArray(i)) i.forEach(function (a) { HBt(a) }); else switch (i.type) { case "sequenceIndex": cm.push({ from: void 0, to: void 0, message: { start: i.sequenceIndex, step: i.sequenceIndexStep, visible: i.sequenceVisible }, wrap: !1, type: i.signalType }); break; case "addParticipant": Y0t(i.actor, i.actor, i.description, "participant"); break; case "addActor": Y0t(i.actor, i.actor, i.description, "actor"); break; case "activeStart": of(i.actor, void 0, void 0, i.signalType); break; case "activeEnd": of(i.actor, void 0, void 0, i.signalType); break; case "addNote": RBt(i.actor, i.placement, i.text); break; case "addLinks": jBt(i.actor, i.text); break; case "addALink": Tqe(i.actor, i.text); break; case "addProperties": $Bt(i.actor, i.text); break; case "addDetails": qBt(i.actor, i.text); break; case "addMessage": of(i.from, i.to, i.msg, i.signalType); break; case "boxStart": aqe(i.boxData); break; case "boxEnd": _qe(); break; case "loopStart": of(void 0, void 0, i.loopText, i.signalType); break; case "loopEnd": of(void 0, void 0, void 0, i.signalType); break; case "rectStart": of(void 0, void 0, i.color, i.signalType); break; case "rectEnd": of(void 0, void 0, void 0, i.signalType); break; case "optStart": of(void 0, void 0, i.optText, i.signalType); break; case "optEnd": of(void 0, void 0, void 0, i.signalType); break; case "altStart": of(void 0, void 0, i.altText, i.signalType); break; case "else": of(void 0, void 0, i.altText, i.signalType); break; case "altEnd": of(void 0, void 0, void 0, i.signalType); break; case "setAccTitle": ug(i.text); break; case "parStart": of(void 0, void 0, i.parText, i.signalType); break; case "and": of(void 0, void 0, i.parText, i.signalType); break; case "parEnd": of(void 0, void 0, void 0, i.signalType); break; case "criticalStart": of(void 0, void 0, i.criticalText, i.signalType); break; case "option": of(void 0, void 0, i.optionText, i.signalType); break; case "criticalEnd": of(void 0, void 0, void 0, i.signalType); break; case "breakStart": of(void 0, void 0, i.breakText, i.signalType); break; case "breakEnd": of(void 0, void 0, void 0, i.signalType); break } }, Sqe = { addActor: Y0t, addMessage: cqe, addSignal: of, addLinks: jBt, addDetails: qBt, addProperties: $Bt, autoWrap: vE, setWrap: wqe, enableSequenceNumbers: pqe, disableSequenceNumbers: bqe, showSequenceNumbers: vqe, getMessages: hqe, getActors: dqe, getActor: CP, getActorKeys: gqe, getActorProperty: Cqe, getAccTitle: op, getBoxes: fqe, getDiagramTitle: O2, setDiagramTitle: Kb, parseDirective: sqe, getConfig: () => Oe().sequence, clear: mqe, parseMessage: yqe, parseBoxData: xqe, LINETYPE: SP, ARROWTYPE: kqe, PLACEMENT: Eqe, addNote: RBt, setAccTitle: ug, apply: HBt, setAccDescription: cp, getAccDescription: up, hasAtLeastOneBox: uqe, hasAtLeastOneBoxWithTitle: lqe }, Aqe = i => `.actor {
        stroke: ${i.actorBorder};
        fill: ${i.actorBkg};
      }
    
      text.actor > tspan {
        fill: ${i.actorTextColor};
        stroke: none;
      }
    
      .actor-line {
        stroke: ${i.actorLineColor};
      }
    
      .messageLine0 {
        stroke-width: 1.5;
        stroke-dasharray: none;
        stroke: ${i.signalColor};
      }
    
      .messageLine1 {
        stroke-width: 1.5;
        stroke-dasharray: 2, 2;
        stroke: ${i.signalColor};
      }
    
      #arrowhead path {
        fill: ${i.signalColor};
        stroke: ${i.signalColor};
      }
    
      .sequenceNumber {
        fill: ${i.sequenceNumberColor};
      }
    
      #sequencenumber {
        fill: ${i.signalColor};
      }
    
      #crosshead path {
        fill: ${i.signalColor};
        stroke: ${i.signalColor};
      }
    
      .messageText {
        fill: ${i.signalTextColor};
        stroke: none;
      }
    
      .labelBox {
        stroke: ${i.labelBoxBorderColor};
        fill: ${i.labelBoxBkgColor};
      }
    
      .labelText, .labelText > tspan {
        fill: ${i.labelTextColor};
        stroke: none;
      }
    
      .loopText, .loopText > tspan {
        fill: ${i.loopTextColor};
        stroke: none;
      }
    
      .loopLine {
        stroke-width: 2px;
        stroke-dasharray: 2, 2;
        stroke: ${i.labelBoxBorderColor};
        fill: ${i.labelBoxBorderColor};
      }
    
      .note {
        //stroke: #decc93;
        stroke: ${i.noteBorderColor};
        fill: ${i.noteBkgColor};
      }
    
      .noteText, .noteText > tspan {
        fill: ${i.noteTextColor};
        stroke: none;
      }
    
      .activation0 {
        fill: ${i.activationBkgColor};
        stroke: ${i.activationBorderColor};
      }
    
      .activation1 {
        fill: ${i.activationBkgColor};
        stroke: ${i.activationBorderColor};
      }
    
      .activation2 {
        fill: ${i.activationBkgColor};
        stroke: ${i.activationBorderColor};
      }
    
      .actorPopupMenu {
        position: absolute;
      }
    
      .actorPopupMenuPanel {
        position: absolute;
        fill: ${i.actorBkg};
        box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
        filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));
    }
      .actor-man line {
        stroke: ${i.actorBorder};
        fill: ${i.actorBkg};
      }
      .actor-man circle, line {
        stroke: ${i.actorBorder};
        fill: ${i.actorBkg};
        stroke-width: 2px;
      }
    `, Q0t = function (i, a) { return DW(i, a) }, VBt = (i, a) => { ySe(() => { const f = document.querySelectorAll(i); f.length !== 0 && (f[0].addEventListener("mouseover", function () { Iqe("actor" + a + "_popup") }), f[0].addEventListener("mouseout", function () { Oqe("actor" + a + "_popup") })) }) }, Lqe = function (i, a, f, p, v) { if (a.links === void 0 || a.links === null || Object.keys(a.links).length === 0) return { height: 0, width: 0 }; const m = a.links, b = a.actorCnt, E = a.rectData; var C = "none"; v && (C = "block !important"); const D = i.append("g"); D.attr("id", "actor" + b + "_popup"), D.attr("class", "actorPopupMenu"), D.attr("display", C), VBt("#actor" + b + "_popup", b); var P = ""; E.class !== void 0 && (P = " " + E.class); let B = E.width > f ? E.width : f; const j = D.append("rect"); if (j.attr("class", "actorPopupMenuPanel" + P), j.attr("x", E.x), j.attr("y", E.height), j.attr("fill", E.fill), j.attr("stroke", E.stroke), j.attr("width", B), j.attr("height", E.height), j.attr("rx", E.rx), j.attr("ry", E.ry), m != null) { var R = 20; for (let it in m) { var H = D.append("a"), Y = Xx(m[it]); H.attr("xlink:href", Y), H.attr("target", "_blank"), Yqe(p)(it, H, E.x + 10, E.height + R, B, 20, { class: "actor" }, p), R += 30 } } return j.attr("height", R), { height: E.height + R, width: B } }, Mqe = function (i) { return "var pu = document.getElementById('" + i + "'); if (pu != null) { pu.style.display = 'block'; }" }, Dqe = function (i) { return "var pu = document.getElementById('" + i + "'); if (pu != null) { pu.style.display = 'none'; }" }, Iqe = function (i) { var a = document.getElementById(i); a != null && (a.style.display = "block") }, Oqe = function (i) { var a = document.getElementById(i); a != null && (a.style.display = "none") }, uL = function (i, a) { let f = 0, p = 0; const v = a.text.split(yi.lineBreakRegex), [m, b] = $A(a.fontSize); let E = [], C = 0, D = () => a.y; if (a.valign !== void 0 && a.textMargin !== void 0 && a.textMargin > 0) switch (a.valign) { case "top": case "start": D = () => Math.round(a.y + a.textMargin); break; case "middle": case "center": D = () => Math.round(a.y + (f + p + a.textMargin) / 2); break; case "bottom": case "end": D = () => Math.round(a.y + (f + p + 2 * a.textMargin) - a.textMargin); break }if (a.anchor !== void 0 && a.textMargin !== void 0 && a.width !== void 0) switch (a.anchor) { case "left": case "start": a.x = Math.round(a.x + a.textMargin), a.anchor = "start", a.dominantBaseline = "middle", a.alignmentBaseline = "middle"; break; case "middle": case "center": a.x = Math.round(a.x + a.width / 2), a.anchor = "middle", a.dominantBaseline = "middle", a.alignmentBaseline = "middle"; break; case "right": case "end": a.x = Math.round(a.x + a.width - a.textMargin), a.anchor = "end", a.dominantBaseline = "middle", a.alignmentBaseline = "middle"; break }for (let [P, B] of v.entries()) { a.textMargin !== void 0 && a.textMargin === 0 && m !== void 0 && (C = P * m); const j = i.append("text"); j.attr("x", a.x), j.attr("y", D()), a.anchor !== void 0 && j.attr("text-anchor", a.anchor).attr("dominant-baseline", a.dominantBaseline).attr("alignment-baseline", a.alignmentBaseline), a.fontFamily !== void 0 && j.style("font-family", a.fontFamily), b !== void 0 && j.style("font-size", b), a.fontWeight !== void 0 && j.style("font-weight", a.fontWeight), a.fill !== void 0 && j.attr("fill", a.fill), a.class !== void 0 && j.attr("class", a.class), a.dy !== void 0 ? j.attr("dy", a.dy) : C !== 0 && j.attr("dy", C); const R = B || wIt; if (a.tspan) { const H = j.append("tspan"); H.attr("x", a.x), a.fill !== void 0 && H.attr("fill", a.fill), H.text(R) } else j.text(R); a.valign !== void 0 && a.textMargin !== void 0 && a.textMargin > 0 && (p += (j._groups || j)[0][0].getBBox().height, f = p), E.push(j) } return E }, GBt = function (i, a) { function f(v, m, b, E, C) { return v + "," + m + " " + (v + b) + "," + m + " " + (v + b) + "," + (m + E - C) + " " + (v + b - C * 1.2) + "," + (m + E) + " " + v + "," + (m + E) } const p = i.append("polygon"); return p.attr("points", f(a.x, a.y, a.width, a.height, 7)), p.attr("class", "labelBox"), a.y = a.y + a.height / 2, uL(i, a), p }; let m3 = -1; const UBt = (i, a) => { i.selectAll && i.selectAll(".actor-line").attr("class", "200").attr("y2", a - 55) }, Nqe = function (i, a, f, p) { const v = a.x + a.width / 2, m = a.y + 5, b = i.append("g"); var E = b; p || (m3++, E.append("line").attr("id", "actor" + m3).attr("x1", v).attr("y1", m).attr("x2", v).attr("y2", 2e3).attr("class", "actor-line").attr("stroke-width", "0.5px").attr("stroke", "#999"), E = b.append("g"), a.actorCnt = m3, a.links != null && (E.attr("id", "root-" + m3), VBt("#root-" + m3, m3))); const C = aE(); var D = "actor"; a.properties != null && a.properties.class ? D = a.properties.class : C.fill = "#eaeaea", C.x = a.x, C.y = a.y, C.width = a.width, C.height = a.height, C.class = D, C.rx = 3, C.ry = 3; const P = Q0t(E, C); if (a.rectData = C, a.properties != null && a.properties.icon) { const j = a.properties.icon.trim(); j.charAt(0) === "@" ? ILe(E, C.x + C.width - 20, C.y + 10, j.substr(1)) : DLe(E, C.x + C.width - 20, C.y + 10, j) } Z0t(f)(a.description, E, C.x, C.y, C.width, C.height, { class: "actor" }, f); let B = a.height; if (P.node) { const j = P.node().getBBox(); a.height = j.height, B = j.height } return B }, Pqe = function (i, a, f, p) { const v = a.x + a.width / 2, m = a.y + 80; p || (m3++, i.append("line").attr("id", "actor" + m3).attr("x1", v).attr("y1", m).attr("x2", v).attr("y2", 2e3).attr("class", "actor-line").attr("stroke-width", "0.5px").attr("stroke", "#999")); const b = i.append("g"); b.attr("class", "actor-man"); const E = aE(); E.x = a.x, E.y = a.y, E.fill = "#eaeaea", E.width = a.width, E.height = a.height, E.class = "actor", E.rx = 3, E.ry = 3, b.append("line").attr("id", "actor-man-torso" + m3).attr("x1", v).attr("y1", a.y + 25).attr("x2", v).attr("y2", a.y + 45), b.append("line").attr("id", "actor-man-arms" + m3).attr("x1", v - 18).attr("y1", a.y + 33).attr("x2", v + 18).attr("y2", a.y + 33), b.append("line").attr("x1", v - 18).attr("y1", a.y + 60).attr("x2", v).attr("y2", a.y + 45), b.append("line").attr("x1", v).attr("y1", a.y + 45).attr("x2", v + 16).attr("y2", a.y + 60); const C = b.append("circle"); C.attr("cx", a.x + a.width / 2), C.attr("cy", a.y + 10), C.attr("r", 15), C.attr("width", a.width), C.attr("height", a.height); const D = b.node().getBBox(); return a.height = D.height, Z0t(f)(a.description, b, E.x, E.y + 35, E.width, E.height, { class: "actor" }, f), a.height }, Fqe = function (i, a, f, p) { switch (a.type) { case "actor": return Pqe(i, a, f, p); case "participant": return Nqe(i, a, f, p) } }, Bqe = function (i, a, f) { const v = i.append("g"); WBt(v, a), a.name && Z0t(f)(a.name, v, a.x, a.y + (a.textMaxHeight || 0) / 2, a.width, 0, { class: "text" }, f), v.lower() }, Rqe = function (i) { return i.append("g") }, jqe = function (i, a, f, p, v) { const m = aE(), b = a.anchored; m.x = a.startx, m.y = a.starty, m.class = "activation" + v % 3, m.width = a.stopx - a.startx, m.height = f - a.starty, Q0t(b, m) }, $qe = function (i, a, f, p) { const { boxMargin: v, boxTextMargin: m, labelBoxHeight: b, labelBoxWidth: E, messageFontFamily: C, messageFontSize: D, messageFontWeight: P } = p, B = i.append("g"), j = function (Y, it, nt, st) { return B.append("line").attr("x1", Y).attr("y1", it).attr("x2", nt).attr("y2", st).attr("class", "loopLine") }; j(a.startx, a.starty, a.stopx, a.starty), j(a.stopx, a.starty, a.stopx, a.stopy), j(a.startx, a.stopy, a.stopx, a.stopy), j(a.startx, a.starty, a.startx, a.stopy), a.sections !== void 0 && a.sections.forEach(function (Y) { j(a.startx, Y.y, a.stopx, Y.y).style("stroke-dasharray", "3, 3") }); let R = gdt(); R.text = f, R.x = a.startx, R.y = a.starty, R.fontFamily = C, R.fontSize = D, R.fontWeight = P, R.anchor = "middle", R.valign = "middle", R.tspan = !1, R.width = E || 50, R.height = b || 20, R.textMargin = m, R.class = "labelText", GBt(B, R), R = KBt(), R.text = a.title, R.x = a.startx + E / 2 + (a.stopx - a.startx) / 2, R.y = a.starty + v + m, R.anchor = "middle", R.valign = "middle", R.textMargin = m, R.class = "loopText", R.fontFamily = C, R.fontSize = D, R.fontWeight = P, R.wrap = !0; let H = uL(B, R); return a.sectionTitles !== void 0 && a.sectionTitles.forEach(function (Y, it) { if (Y.message) { R.text = Y.message, R.x = a.startx + (a.stopx - a.startx) / 2, R.y = a.sections[it].y + v + m, R.class = "loopText", R.anchor = "middle", R.valign = "middle", R.tspan = !1, R.fontFamily = C, R.fontSize = D, R.fontWeight = P, R.wrap = a.wrap, H = uL(B, R); let nt = Math.round(H.map(st => (st._groups || st)[0][0].getBBox().height).reduce((st, pt) => st + pt)); a.sections[it].height += nt - (v + m) } }), a.height = Math.round(a.stopy - a.starty), B }, WBt = function (i, a) { AOt(i, a) }, zqe = function (i) { i.append("defs").append("symbol").attr("id", "database").attr("fill-rule", "evenodd").attr("clip-rule", "evenodd").append("path").attr("transform", "scale(.5)").attr("d", "M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z") }, qqe = function (i) { i.append("defs").append("symbol").attr("id", "computer").attr("width", "24").attr("height", "24").append("path").attr("transform", "scale(.5)").attr("d", "M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z") }, Hqe = function (i) { i.append("defs").append("symbol").attr("id", "clock").attr("width", "24").attr("height", "24").append("path").attr("transform", "scale(.5)").attr("d", "M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z") }, Vqe = function (i) { i.append("defs").append("marker").attr("id", "arrowhead").attr("refX", 9).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto").append("path").attr("d", "M 0 0 L 10 5 L 0 10 z") }, Gqe = function (i) { i.append("defs").append("marker").attr("id", "filled-head").attr("refX", 18).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L14,7 L9,1 Z") }, Uqe = function (i) { i.append("defs").append("marker").attr("id", "sequencenumber").attr("refX", 15).attr("refY", 15).attr("markerWidth", 60).attr("markerHeight", 40).attr("orient", "auto").append("circle").attr("cx", 15).attr("cy", 15).attr("r", 6) }, Wqe = function (i) { i.append("defs").append("marker").attr("id", "crosshead").attr("markerWidth", 15).attr("markerHeight", 8).attr("orient", "auto").attr("refX", 4).attr("refY", 5).append("path").attr("fill", "none").attr("stroke", "#000000").style("stroke-dasharray", "0, 0").attr("stroke-width", "1pt").attr("d", "M 1,2 L 6,7 M 6,2 L 1,7") }, KBt = function () { return { x: 0, y: 0, fill: void 0, anchor: void 0, style: "#666", width: void 0, height: void 0, textMargin: 0, rx: 0, ry: 0, tspan: !0, valign: void 0 } }, Kqe = function () { return { x: 0, y: 0, fill: "#EDF2AE", stroke: "#666", width: 100, anchor: "start", height: 100, rx: 0, ry: 0 } }, Z0t = function () { function i(v, m, b, E, C, D, P) { const B = m.append("text").attr("x", b + C / 2).attr("y", E + D / 2 + 5).style("text-anchor", "middle").text(v); p(B, P) } function a(v, m, b, E, C, D, P, B) { const { actorFontSize: j, actorFontFamily: R, actorFontWeight: H } = B, [Y, it] = $A(j), nt = v.split(yi.lineBreakRegex); for (let st = 0; st < nt.length; st++) { const pt = st * Y - Y * (nt.length - 1) / 2, Tt = m.append("text").attr("x", b + C / 2).attr("y", E).style("text-anchor", "middle").style("font-size", it).style("font-weight", H).style("font-family", R); Tt.append("tspan").attr("x", b + C / 2).attr("dy", pt).text(nt[st]), Tt.attr("y", E + D / 2).attr("dominant-baseline", "central").attr("alignment-baseline", "central"), p(Tt, P) } } function f(v, m, b, E, C, D, P, B) { const j = m.append("switch"), H = j.append("foreignObject").attr("x", b).attr("y", E).attr("width", C).attr("height", D).append("xhtml:div").style("display", "table").style("height", "100%").style("width", "100%"); H.append("div").style("display", "table-cell").style("text-align", "center").style("vertical-align", "middle").text(v), a(v, j, b, E, C, D, P, B), p(H, P) } function p(v, m) { for (const b in m) m.hasOwnProperty(b) && v.attr(b, m[b]) } return function (v) { return v.textPlacement === "fo" ? f : v.textPlacement === "old" ? i : a } }(), Yqe = function () { function i(v, m, b, E, C, D, P) { const B = m.append("text").attr("x", b).attr("y", E).style("text-anchor", "start").text(v); p(B, P) } function a(v, m, b, E, C, D, P, B) { const { actorFontSize: j, actorFontFamily: R, actorFontWeight: H } = B, Y = v.split(yi.lineBreakRegex); for (let it = 0; it < Y.length; it++) { const nt = it * j - j * (Y.length - 1) / 2, st = m.append("text").attr("x", b).attr("y", E).style("text-anchor", "start").style("font-size", j).style("font-weight", H).style("font-family", R); st.append("tspan").attr("x", b).attr("dy", nt).text(Y[it]), st.attr("y", E + D / 2).attr("dominant-baseline", "central").attr("alignment-baseline", "central"), p(st, P) } } function f(v, m, b, E, C, D, P, B) { const j = m.append("switch"), H = j.append("foreignObject").attr("x", b).attr("y", E).attr("width", C).attr("height", D).append("xhtml:div").style("display", "table").style("height", "100%").style("width", "100%"); H.append("div").style("display", "table-cell").style("text-align", "center").style("vertical-align", "middle").text(v), a(v, j, b, E, C, D, P, B), p(H, P) } function p(v, m) { for (const b in m) m.hasOwnProperty(b) && v.attr(b, m[b]) } return function (v) { return v.textPlacement === "fo" ? f : v.textPlacement === "old" ? i : a } }(), qf = { drawRect: Q0t, drawText: uL, drawLabel: GBt, drawActor: Fqe, drawBox: Bqe, drawPopup: Lqe, anchorElement: Rqe, drawActivation: jqe, drawLoop: $qe, drawBackgroundRect: WBt, insertArrowHead: Vqe, insertArrowFilledHead: Gqe, insertSequenceNumber: Uqe, insertArrowCrossHead: Wqe, insertDatabaseIcon: zqe, insertComputerIcon: qqe, insertClockIcon: Hqe, getTextObj: KBt, getNoteRect: Kqe, popupMenu: Mqe, popdownMenu: Dqe, fixLifeLineHeights: UBt, sanitizeUrl: Xx }; let dn = {}; const ai = { data: { startx: void 0, stopx: void 0, starty: void 0, stopy: void 0 }, verticalPos: 0, sequenceItems: [], activations: [], models: { getHeight: function () { return Math.max.apply(null, this.actors.length === 0 ? [0] : this.actors.map(i => i.height || 0)) + (this.loops.length === 0 ? 0 : this.loops.map(i => i.height || 0).reduce((i, a) => i + a)) + (this.messages.length === 0 ? 0 : this.messages.map(i => i.height || 0).reduce((i, a) => i + a)) + (this.notes.length === 0 ? 0 : this.notes.map(i => i.height || 0).reduce((i, a) => i + a)) }, clear: function () { this.actors = [], this.boxes = [], this.loops = [], this.messages = [], this.notes = [] }, addBox: function (i) { this.boxes.push(i) }, addActor: function (i) { this.actors.push(i) }, addLoop: function (i) { this.loops.push(i) }, addMessage: function (i) { this.messages.push(i) }, addNote: function (i) { this.notes.push(i) }, lastActor: function () { return this.actors[this.actors.length - 1] }, lastLoop: function () { return this.loops[this.loops.length - 1] }, lastMessage: function () { return this.messages[this.messages.length - 1] }, lastNote: function () { return this.notes[this.notes.length - 1] }, actors: [], boxes: [], loops: [], messages: [], notes: [] }, init: function () { this.sequenceItems = [], this.activations = [], this.models.clear(), this.data = { startx: void 0, stopx: void 0, starty: void 0, stopy: void 0 }, this.verticalPos = 0, XBt(Oe()) }, updateVal: function (i, a, f, p) { i[a] === void 0 ? i[a] = f : i[a] = p(f, i[a]) }, updateBounds: function (i, a, f, p) { const v = this; let m = 0; function b(E) { return function (D) { m++; const P = v.sequenceItems.length - m + 1; v.updateVal(D, "starty", a - P * dn.boxMargin, Math.min), v.updateVal(D, "stopy", p + P * dn.boxMargin, Math.max), v.updateVal(ai.data, "startx", i - P * dn.boxMargin, Math.min), v.updateVal(ai.data, "stopx", f + P * dn.boxMargin, Math.max), E !== "activation" && (v.updateVal(D, "startx", i - P * dn.boxMargin, Math.min), v.updateVal(D, "stopx", f + P * dn.boxMargin, Math.max), v.updateVal(ai.data, "starty", a - P * dn.boxMargin, Math.min), v.updateVal(ai.data, "stopy", p + P * dn.boxMargin, Math.max)) } } this.sequenceItems.forEach(b()), this.activations.forEach(b("activation")) }, insert: function (i, a, f, p) { const v = yi.getMin(i, f), m = yi.getMax(i, f), b = yi.getMin(a, p), E = yi.getMax(a, p); this.updateVal(ai.data, "startx", v, Math.min), this.updateVal(ai.data, "starty", b, Math.min), this.updateVal(ai.data, "stopx", m, Math.max), this.updateVal(ai.data, "stopy", E, Math.max), this.updateBounds(v, b, m, E) }, newActivation: function (i, a, f) { const p = f[i.from.actor], v = xK(i.from.actor).length || 0, m = p.x + p.width / 2 + (v - 1) * dn.activationWidth / 2; this.activations.push({ startx: m, starty: this.verticalPos + 2, stopx: m + dn.activationWidth, stopy: void 0, actor: i.from.actor, anchored: qf.anchorElement(a) }) }, endActivation: function (i) { const a = this.activations.map(function (f) { return f.actor }).lastIndexOf(i.from.actor); return this.activations.splice(a, 1)[0] }, createLoop: function (i = { message: void 0, wrap: !1, width: void 0 }, a) { return { startx: void 0, starty: this.verticalPos, stopx: void 0, stopy: void 0, title: i.message, wrap: i.wrap, width: i.width, height: 0, fill: a } }, newLoop: function (i = { message: void 0, wrap: !1, width: void 0 }, a) { this.sequenceItems.push(this.createLoop(i, a)) }, endLoop: function () { return this.sequenceItems.pop() }, isLoopOverlap: function () { return this.sequenceItems.length ? this.sequenceItems[this.sequenceItems.length - 1].overlap : !1 }, addSectionToLoop: function (i) { const a = this.sequenceItems.pop(); a.sections = a.sections || [], a.sectionTitles = a.sectionTitles || [], a.sections.push({ y: ai.getVerticalPos(), height: 0 }), a.sectionTitles.push(i), this.sequenceItems.push(a) }, saveVerticalPos: function () { this.isLoopOverlap() && (this.savedVerticalPos = this.verticalPos) }, resetVerticalPos: function () { this.isLoopOverlap() && (this.verticalPos = this.savedVerticalPos) }, bumpVerticalPos: function (i) { this.verticalPos = this.verticalPos + i, this.data.stopy = yi.getMax(this.data.stopy, this.verticalPos) }, getVerticalPos: function () { return this.verticalPos }, getBounds: function () { return { bounds: this.data, models: this.models } } }, Xqe = function (i, a) { ai.bumpVerticalPos(dn.boxMargin), a.height = dn.boxMargin, a.starty = ai.getVerticalPos(); const f = aE(); f.x = a.startx, f.y = a.starty, f.width = a.width || dn.width, f.class = "note"; const p = i.append("g"), v = qf.drawRect(p, f), m = gdt(); m.x = a.startx, m.y = a.starty, m.width = f.width, m.dy = "1em", m.text = a.message, m.class = "noteText", m.fontFamily = dn.noteFontFamily, m.fontSize = dn.noteFontSize, m.fontWeight = dn.noteFontWeight, m.anchor = dn.noteAlign, m.textMargin = dn.noteMargin, m.valign = "center"; const b = uL(p, m), E = Math.round(b.map(C => (C._groups || C)[0][0].getBBox().height).reduce((C, D) => C + D)); v.attr("height", E + 2 * dn.noteMargin), a.height += E + 2 * dn.noteMargin, ai.bumpVerticalPos(E + 2 * dn.noteMargin), a.stopy = a.starty + E + 2 * dn.noteMargin, a.stopx = a.startx + f.width, ai.insert(a.startx, a.starty, a.stopx, a.stopy), ai.models.addNote(a) }, wE = i => ({ fontFamily: i.messageFontFamily, fontSize: i.messageFontSize, fontWeight: i.messageFontWeight }), lL = i => ({ fontFamily: i.noteFontFamily, fontSize: i.noteFontSize, fontWeight: i.noteFontWeight }), J0t = i => ({ fontFamily: i.actorFontFamily, fontSize: i.actorFontSize, fontWeight: i.actorFontWeight }); function Qqe(i, a) { ai.bumpVerticalPos(10); const { startx: f, stopx: p, message: v } = a, m = yi.splitBreaks(v).length, b = lo.calculateTextDimensions(v, wE(dn)), E = b.height / m; a.height += E, ai.bumpVerticalPos(E); let C, D = b.height - 10; const P = b.width; if (f === p) { C = ai.getVerticalPos() + D, dn.rightAngles || (D += dn.boxMargin, C = ai.getVerticalPos() + D), D += 30; const B = yi.getMax(P / 2, dn.width / 2); ai.insert(f - B, ai.getVerticalPos() - 10 + D, p + B, ai.getVerticalPos() + 30 + D) } else D += dn.boxMargin, C = ai.getVerticalPos() + D, ai.insert(f, C - 10, p, C); return ai.bumpVerticalPos(D), a.height += D, a.stopy = a.starty + a.height, ai.insert(a.fromBounds, a.starty, a.toBounds, a.stopy), C } const Zqe = function (i, a, f, p) { const { startx: v, stopx: m, starty: b, message: E, type: C, sequenceIndex: D, sequenceVisible: P } = a, B = lo.calculateTextDimensions(E, wE(dn)), j = gdt(); j.x = v, j.y = b + 10, j.width = m - v, j.class = "messageText", j.dy = "1em", j.text = E, j.fontFamily = dn.messageFontFamily, j.fontSize = dn.messageFontSize, j.fontWeight = dn.messageFontWeight, j.anchor = dn.messageAlign, j.valign = "center", j.textMargin = dn.wrapPadding, j.tspan = !1, uL(i, j); const R = B.width; let H; v === m ? dn.rightAngles ? H = i.append("path").attr("d", `M  ${v},${f} H ${v + yi.getMax(dn.width / 2, R / 2)} V ${f + 25} H ${v}`) : H = i.append("path").attr("d", "M " + v + "," + f + " C " + (v + 60) + "," + (f - 10) + " " + (v + 60) + "," + (f + 30) + " " + v + "," + (f + 20)) : (H = i.append("line"), H.attr("x1", v), H.attr("y1", f), H.attr("x2", m), H.attr("y2", f)), C === p.db.LINETYPE.DOTTED || C === p.db.LINETYPE.DOTTED_CROSS || C === p.db.LINETYPE.DOTTED_POINT || C === p.db.LINETYPE.DOTTED_OPEN ? (H.style("stroke-dasharray", "3, 3"), H.attr("class", "messageLine1")) : H.attr("class", "messageLine0"); let Y = ""; dn.arrowMarkerAbsolute && (Y = window.location.protocol + "//" + window.location.host + window.location.pathname + window.location.search, Y = Y.replace(/\(/g, "\\("), Y = Y.replace(/\)/g, "\\)")), H.attr("stroke-width", 2), H.attr("stroke", "none"), H.style("fill", "none"), (C === p.db.LINETYPE.SOLID || C === p.db.LINETYPE.DOTTED) && H.attr("marker-end", "url(" + Y + "#arrowhead)"), (C === p.db.LINETYPE.SOLID_POINT || C === p.db.LINETYPE.DOTTED_POINT) && H.attr("marker-end", "url(" + Y + "#filled-head)"), (C === p.db.LINETYPE.SOLID_CROSS || C === p.db.LINETYPE.DOTTED_CROSS) && H.attr("marker-end", "url(" + Y + "#crosshead)"), (P || dn.showSequenceNumbers) && (H.attr("marker-start", "url(" + Y + "#sequencenumber)"), i.append("text").attr("x", v).attr("y", f + 4).attr("font-family", "sans-serif").attr("font-size", "12px").attr("text-anchor", "middle").attr("class", "sequenceNumber").text(D)) }, tgt = function (i, a, f, p, v, m, b) { if (v.hideUnusedParticipants === !0) { const B = new Set; m.forEach(j => { B.add(j.from), B.add(j.to) }), f = f.filter(j => B.has(j)) } let E = 0, C = 0, D = 0, P; for (const B of f) { const j = a[B], R = j.box; P && P != R && (b || ai.models.addBox(P), C += dn.boxMargin + P.margin), R && R != P && (b || (R.x = E + C, R.y = p), C += R.margin), j.width = j.width || dn.width, j.height = yi.getMax(j.height || dn.height, dn.height), j.margin = j.margin || dn.actorMargin, j.x = E + C, j.y = ai.getVerticalPos(); const H = qf.drawActor(i, j, dn, b); D = yi.getMax(D, H), ai.insert(j.x, p, j.x + j.width, j.height), E += j.width + C, j.box && (j.box.width = E + R.margin - j.box.x), C = j.margin, P = j.box, ai.models.addActor(j) } P && !b && ai.models.addBox(P), ai.bumpVerticalPos(D) }, YBt = function (i, a, f, p) { let v = 0, m = 0; for (const b of f) { const E = a[b], C = eHe(E), D = qf.drawPopup(i, E, C, dn, dn.forceMenus, p); D.height > v && (v = D.height), D.width + E.x > m && (m = D.width + E.x) } return { maxHeight: v, maxWidth: m } }, XBt = function (i) { rd(dn, i), i.fontFamily && (dn.actorFontFamily = dn.noteFontFamily = dn.messageFontFamily = i.fontFamily), i.fontSize && (dn.actorFontSize = dn.noteFontSize = dn.messageFontSize = i.fontSize), i.fontWeight && (dn.actorFontWeight = dn.noteFontWeight = dn.messageFontWeight = i.fontWeight) }, xK = function (i) { return ai.activations.filter(function (a) { return a.actor === i }) }, QBt = function (i, a) { const f = a[i], p = xK(i), v = p.reduce(function (b, E) { return yi.getMin(b, E.startx) }, f.x + f.width / 2), m = p.reduce(function (b, E) { return yi.getMax(b, E.stopx) }, f.x + f.width / 2); return [v, m] }; function y3(i, a, f, p, v) { ai.bumpVerticalPos(f); let m = p; if (a.id && a.message && i[a.id]) { const b = i[a.id].width, E = wE(dn); a.message = lo.wrapLabel(`[${a.message}]`, b - 2 * dn.wrapPadding, E), a.width = b, a.wrap = !0; const C = lo.calculateTextDimensions(a.message, E), D = yi.getMax(C.height, dn.labelBoxHeight); m = p + D, zt.debug(`${D} - ${a.message}`) } v(a), ai.bumpVerticalPos(m) } const Jqe = function (i, a, f, p) { const { securityLevel: v, sequence: m } = Oe(); dn = m, p.db.clear(), p.parser.parse(i); let b; v === "sandbox" && (b = Mr("#i" + a)); const E = Mr(v === "sandbox" ? b.nodes()[0].contentDocument.body : "body"), C = v === "sandbox" ? b.nodes()[0].contentDocument : document; ai.init(), zt.debug(p.db); const D = v === "sandbox" ? E.select(`[id="${a}"]`) : Mr(`[id="${a}"]`), P = p.db.getActors(), B = p.db.getBoxes(), j = p.db.getActorKeys(), R = p.db.getMessages(), H = p.db.getDiagramTitle(), Y = p.db.hasAtLeastOneBox(), it = p.db.hasAtLeastOneBoxWithTitle(), nt = tHe(P, R, p); dn.height = nHe(P, nt, B), qf.insertComputerIcon(D), qf.insertDatabaseIcon(D), qf.insertClockIcon(D), Y && (ai.bumpVerticalPos(dn.boxMargin), it && ai.bumpVerticalPos(B[0].textMaxHeight)), tgt(D, P, j, 0, dn, R, !1); const st = sHe(R, P, nt, p); qf.insertArrowHead(D), qf.insertArrowCrossHead(D), qf.insertArrowFilledHead(D), qf.insertSequenceNumber(D); function pt(Rt, ft) { const de = ai.endActivation(Rt); de.starty + 18 > ft && (de.starty = ft - 6, ft += 12), qf.drawActivation(D, de, ft, dn, xK(Rt.from.actor).length), ai.insert(de.startx, ft - 10, de.stopx, ft) } let Tt = 1, kt = 1; const yt = []; R.forEach(function (Rt) { let ft, de, J; switch (Rt.type) { case p.db.LINETYPE.NOTE: ai.resetVerticalPos(), de = Rt.noteModel, Xqe(D, de); break; case p.db.LINETYPE.ACTIVE_START: ai.newActivation(Rt, D, P); break; case p.db.LINETYPE.ACTIVE_END: pt(Rt, ai.getVerticalPos()); break; case p.db.LINETYPE.LOOP_START: y3(st, Rt, dn.boxMargin, dn.boxMargin + dn.boxTextMargin, ae => ai.newLoop(ae)); break; case p.db.LINETYPE.LOOP_END: ft = ai.endLoop(), qf.drawLoop(D, ft, "loop", dn), ai.bumpVerticalPos(ft.stopy - ai.getVerticalPos()), ai.models.addLoop(ft); break; case p.db.LINETYPE.RECT_START: y3(st, Rt, dn.boxMargin, dn.boxMargin, ae => ai.newLoop(void 0, ae.message)); break; case p.db.LINETYPE.RECT_END: ft = ai.endLoop(), qf.drawBackgroundRect(D, ft), ai.models.addLoop(ft), ai.bumpVerticalPos(ft.stopy - ai.getVerticalPos()); break; case p.db.LINETYPE.OPT_START: y3(st, Rt, dn.boxMargin, dn.boxMargin + dn.boxTextMargin, ae => ai.newLoop(ae)); break; case p.db.LINETYPE.OPT_END: ft = ai.endLoop(), qf.drawLoop(D, ft, "opt", dn), ai.bumpVerticalPos(ft.stopy - ai.getVerticalPos()), ai.models.addLoop(ft); break; case p.db.LINETYPE.ALT_START: y3(st, Rt, dn.boxMargin, dn.boxMargin + dn.boxTextMargin, ae => ai.newLoop(ae)); break; case p.db.LINETYPE.ALT_ELSE: y3(st, Rt, dn.boxMargin + dn.boxTextMargin, dn.boxMargin, ae => ai.addSectionToLoop(ae)); break; case p.db.LINETYPE.ALT_END: ft = ai.endLoop(), qf.drawLoop(D, ft, "alt", dn), ai.bumpVerticalPos(ft.stopy - ai.getVerticalPos()), ai.models.addLoop(ft); break; case p.db.LINETYPE.PAR_START: case p.db.LINETYPE.PAR_OVER_START: y3(st, Rt, dn.boxMargin, dn.boxMargin + dn.boxTextMargin, ae => ai.newLoop(ae)), ai.saveVerticalPos(); break; case p.db.LINETYPE.PAR_AND: y3(st, Rt, dn.boxMargin + dn.boxTextMargin, dn.boxMargin, ae => ai.addSectionToLoop(ae)); break; case p.db.LINETYPE.PAR_END: ft = ai.endLoop(), qf.drawLoop(D, ft, "par", dn), ai.bumpVerticalPos(ft.stopy - ai.getVerticalPos()), ai.models.addLoop(ft); break; case p.db.LINETYPE.AUTONUMBER: Tt = Rt.message.start || Tt, kt = Rt.message.step || kt, Rt.message.visible ? p.db.enableSequenceNumbers() : p.db.disableSequenceNumbers(); break; case p.db.LINETYPE.CRITICAL_START: y3(st, Rt, dn.boxMargin, dn.boxMargin + dn.boxTextMargin, ae => ai.newLoop(ae)); break; case p.db.LINETYPE.CRITICAL_OPTION: y3(st, Rt, dn.boxMargin + dn.boxTextMargin, dn.boxMargin, ae => ai.addSectionToLoop(ae)); break; case p.db.LINETYPE.CRITICAL_END: ft = ai.endLoop(), qf.drawLoop(D, ft, "critical", dn), ai.bumpVerticalPos(ft.stopy - ai.getVerticalPos()), ai.models.addLoop(ft); break; case p.db.LINETYPE.BREAK_START: y3(st, Rt, dn.boxMargin, dn.boxMargin + dn.boxTextMargin, ae => ai.newLoop(ae)); break; case p.db.LINETYPE.BREAK_END: ft = ai.endLoop(), qf.drawLoop(D, ft, "break", dn), ai.bumpVerticalPos(ft.stopy - ai.getVerticalPos()), ai.models.addLoop(ft); break; default: try { ai.resetVerticalPos(), J = Rt.msgModel, J.starty = ai.getVerticalPos(), J.sequenceIndex = Tt, J.sequenceVisible = p.db.showSequenceNumbers(); const ae = Qqe(D, J); yt.push({ messageModel: J, lineStartY: ae }), ai.models.addMessage(J) } catch (ae) { zt.error("error while drawing message", ae) } }[p.db.LINETYPE.SOLID_OPEN, p.db.LINETYPE.DOTTED_OPEN, p.db.LINETYPE.SOLID, p.db.LINETYPE.DOTTED, p.db.LINETYPE.SOLID_CROSS, p.db.LINETYPE.DOTTED_CROSS, p.db.LINETYPE.SOLID_POINT, p.db.LINETYPE.DOTTED_POINT].includes(Rt.type) && (Tt = Tt + kt) }), yt.forEach(Rt => Zqe(D, Rt.messageModel, Rt.lineStartY, p)), dn.mirrorActors && (ai.bumpVerticalPos(dn.boxMargin * 2), tgt(D, P, j, ai.getVerticalPos(), dn, R, !0), ai.bumpVerticalPos(dn.boxMargin), UBt(D, ai.getVerticalPos())), ai.models.boxes.forEach(function (Rt) { Rt.height = ai.getVerticalPos() - Rt.y, ai.insert(Rt.x, Rt.y, Rt.x + Rt.width, Rt.height), Rt.startx = Rt.x, Rt.starty = Rt.y, Rt.stopx = Rt.startx + Rt.width, Rt.stopy = Rt.starty + Rt.height, Rt.stroke = "rgb(0,0,0, 0.5)", qf.drawBox(D, Rt, dn) }), Y && ai.bumpVerticalPos(dn.boxMargin); const ht = YBt(D, P, j, C), { bounds: mt } = ai.getBounds(); zt.debug("For line height fix Querying: #" + a + " .actor-line"), zft("#" + a + " .actor-line").attr("y2", mt.stopy); let wt = mt.stopy - mt.starty; wt < ht.maxHeight && (wt = ht.maxHeight); let gt = wt + 2 * dn.diagramMarginY; dn.mirrorActors && (gt = gt - dn.boxMargin + dn.bottomMarginAdj); let lt = mt.stopx - mt.startx; lt < ht.maxWidth && (lt = ht.maxWidth); const _t = lt + 2 * dn.diagramMarginX; H && D.append("text").text(H).attr("x", (mt.stopx - mt.startx) / 2 - 2 * dn.diagramMarginX).attr("y", -25), Wb(D, gt, _t, dn.useMaxWidth); const X = H ? 40 : 0; D.attr("viewBox", mt.startx - dn.diagramMarginX + " -" + (dn.diagramMarginY + X) + " " + _t + " " + (gt + X)), zt.debug("models:", ai.models) }; function tHe(i, a, f) { const p = {}; return a.forEach(function (v) { if (i[v.to] && i[v.from]) { const m = i[v.to]; if (v.placement === f.db.PLACEMENT.LEFTOF && !m.prevActor || v.placement === f.db.PLACEMENT.RIGHTOF && !m.nextActor) return; const b = v.placement !== void 0, E = !b, C = b ? lL(dn) : wE(dn), D = v.wrap ? lo.wrapLabel(v.message, dn.width - 2 * dn.wrapPadding, C) : v.message, B = lo.calculateTextDimensions(D, C).width + 2 * dn.wrapPadding; E && v.from === m.nextActor ? p[v.to] = yi.getMax(p[v.to] || 0, B) : E && v.from === m.prevActor ? p[v.from] = yi.getMax(p[v.from] || 0, B) : E && v.from === v.to ? (p[v.from] = yi.getMax(p[v.from] || 0, B / 2), p[v.to] = yi.getMax(p[v.to] || 0, B / 2)) : v.placement === f.db.PLACEMENT.RIGHTOF ? p[v.from] = yi.getMax(p[v.from] || 0, B) : v.placement === f.db.PLACEMENT.LEFTOF ? p[m.prevActor] = yi.getMax(p[m.prevActor] || 0, B) : v.placement === f.db.PLACEMENT.OVER && (m.prevActor && (p[m.prevActor] = yi.getMax(p[m.prevActor] || 0, B / 2)), m.nextActor && (p[v.from] = yi.getMax(p[v.from] || 0, B / 2))) } }), zt.debug("maxMessageWidthPerActor:", p), p } const eHe = function (i) { let a = 0; const f = J0t(dn); for (const p in i.links) { const m = lo.calculateTextDimensions(p, f).width + 2 * dn.wrapPadding + 2 * dn.boxMargin; a < m && (a = m) } return a }; function nHe(i, a, f) { let p = 0; Object.keys(i).forEach(m => { const b = i[m]; b.wrap && (b.description = lo.wrapLabel(b.description, dn.width - 2 * dn.wrapPadding, J0t(dn))); const E = lo.calculateTextDimensions(b.description, J0t(dn)); b.width = b.wrap ? dn.width : yi.getMax(dn.width, E.width + 2 * dn.wrapPadding), b.height = b.wrap ? yi.getMax(E.height, dn.height) : dn.height, p = yi.getMax(p, b.height) }); for (const m in a) { const b = i[m]; if (!b) continue; const E = i[b.nextActor]; if (!E) { const B = a[m] + dn.actorMargin - b.width / 2; b.margin = yi.getMax(B, dn.actorMargin); continue } const D = a[m] + dn.actorMargin - b.width / 2 - E.width / 2; b.margin = yi.getMax(D, dn.actorMargin) } let v = 0; return f.forEach(m => { const b = wE(dn); let E = m.actorKeys.reduce((P, B) => P += i[B].width + (i[B].margin || 0), 0); E -= 2 * dn.boxTextMargin, m.wrap && (m.name = lo.wrapLabel(m.name, E - 2 * dn.wrapPadding, b)); const C = lo.calculateTextDimensions(m.name, b); v = yi.getMax(C.height, v); const D = yi.getMax(E, C.width + 2 * dn.wrapPadding); if (m.margin = dn.boxTextMargin, E < D) { const P = (D - E) / 2; m.margin += P } }), f.forEach(m => m.textMaxHeight = v), yi.getMax(p, dn.height) } const rHe = function (i, a, f) { const p = a[i.from].x, v = a[i.to].x, m = i.wrap && i.message; let b = lo.calculateTextDimensions(m ? lo.wrapLabel(i.message, dn.width, lL(dn)) : i.message, lL(dn)); const E = { width: m ? dn.width : yi.getMax(dn.width, b.width + 2 * dn.noteMargin), height: 0, startx: a[i.from].x, stopx: 0, starty: 0, stopy: 0, message: i.message }; return i.placement === f.db.PLACEMENT.RIGHTOF ? (E.width = m ? yi.getMax(dn.width, b.width) : yi.getMax(a[i.from].width / 2 + a[i.to].width / 2, b.width + 2 * dn.noteMargin), E.startx = p + (a[i.from].width + dn.actorMargin) / 2) : i.placement === f.db.PLACEMENT.LEFTOF ? (E.width = m ? yi.getMax(dn.width, b.width + 2 * dn.noteMargin) : yi.getMax(a[i.from].width / 2 + a[i.to].width / 2, b.width + 2 * dn.noteMargin), E.startx = p - E.width + (a[i.from].width - dn.actorMargin) / 2) : i.to === i.from ? (b = lo.calculateTextDimensions(m ? lo.wrapLabel(i.message, yi.getMax(dn.width, a[i.from].width), lL(dn)) : i.message, lL(dn)), E.width = m ? yi.getMax(dn.width, a[i.from].width) : yi.getMax(a[i.from].width, dn.width, b.width + 2 * dn.noteMargin), E.startx = p + (a[i.from].width - E.width) / 2) : (E.width = Math.abs(p + a[i.from].width / 2 - (v + a[i.to].width / 2)) + dn.actorMargin, E.startx = p < v ? p + a[i.from].width / 2 - dn.actorMargin / 2 : v + a[i.to].width / 2 - dn.actorMargin / 2), m && (E.message = lo.wrapLabel(i.message, E.width - 2 * dn.wrapPadding, lL(dn))), zt.debug(`NM:[${E.startx},${E.stopx},${E.starty},${E.stopy}:${E.width},${E.height}=${i.message}]`), E }, iHe = function (i, a, f) { let p = !1; if ([f.db.LINETYPE.SOLID_OPEN, f.db.LINETYPE.DOTTED_OPEN, f.db.LINETYPE.SOLID, f.db.LINETYPE.DOTTED, f.db.LINETYPE.SOLID_CROSS, f.db.LINETYPE.DOTTED_CROSS, f.db.LINETYPE.SOLID_POINT, f.db.LINETYPE.DOTTED_POINT].includes(i.type) && (p = !0), !p) return {}; const v = QBt(i.from, a), m = QBt(i.to, a), b = v[0] <= m[0] ? 1 : 0, E = v[0] < m[0] ? 0 : 1, C = [...v, ...m], D = Math.abs(m[E] - v[b]); i.wrap && i.message && (i.message = lo.wrapLabel(i.message, yi.getMax(D + 2 * dn.wrapPadding, dn.width), wE(dn))); const P = lo.calculateTextDimensions(i.message, wE(dn)); return { width: yi.getMax(i.wrap ? 0 : P.width + 2 * dn.wrapPadding, D + 2 * dn.wrapPadding, dn.width), height: 0, startx: v[b], stopx: m[E], starty: 0, stopy: 0, message: i.message, type: i.type, wrap: i.wrap, fromBounds: Math.min.apply(null, C), toBounds: Math.max.apply(null, C) } }, sHe = function (i, a, f, p) { const v = {}, m = []; let b, E, C; return i.forEach(function (D) { switch (D.id = lo.random({ length: 10 }), D.type) { case p.db.LINETYPE.LOOP_START: case p.db.LINETYPE.ALT_START: case p.db.LINETYPE.OPT_START: case p.db.LINETYPE.PAR_START: case p.db.LINETYPE.PAR_OVER_START: case p.db.LINETYPE.CRITICAL_START: case p.db.LINETYPE.BREAK_START: m.push({ id: D.id, msg: D.message, from: Number.MAX_SAFE_INTEGER, to: Number.MIN_SAFE_INTEGER, width: 0 }); break; case p.db.LINETYPE.ALT_ELSE: case p.db.LINETYPE.PAR_AND: case p.db.LINETYPE.CRITICAL_OPTION: D.message && (b = m.pop(), v[b.id] = b, v[D.id] = b, m.push(b)); break; case p.db.LINETYPE.LOOP_END: case p.db.LINETYPE.ALT_END: case p.db.LINETYPE.OPT_END: case p.db.LINETYPE.PAR_END: case p.db.LINETYPE.CRITICAL_END: case p.db.LINETYPE.BREAK_END: b = m.pop(), v[b.id] = b; break; case p.db.LINETYPE.ACTIVE_START: { const B = a[D.from ? D.from.actor : D.to.actor], j = xK(D.from ? D.from.actor : D.to.actor).length, R = B.x + B.width / 2 + (j - 1) * dn.activationWidth / 2, H = { startx: R, stopx: R + dn.activationWidth, actor: D.from.actor, enabled: !0 }; ai.activations.push(H) } break; case p.db.LINETYPE.ACTIVE_END: { const B = ai.activations.map(j => j.actor).lastIndexOf(D.from.actor); delete ai.activations.splice(B, 1)[0] } break }D.placement !== void 0 ? (E = rHe(D, a, p), D.noteModel = E, m.forEach(B => { b = B, b.from = yi.getMin(b.from, E.startx), b.to = yi.getMax(b.to, E.startx + E.width), b.width = yi.getMax(b.width, Math.abs(b.from - b.to)) - dn.labelBoxWidth })) : (C = iHe(D, a, p), D.msgModel = C, C.startx && C.stopx && m.length > 0 && m.forEach(B => { if (b = B, C.startx === C.stopx) { const j = a[D.from], R = a[D.to]; b.from = yi.getMin(j.x - C.width / 2, j.x - j.width / 2, b.from), b.to = yi.getMax(R.x + C.width / 2, R.x + j.width / 2, b.to), b.width = yi.getMax(b.width, Math.abs(b.to - b.from)) - dn.labelBoxWidth } else b.from = yi.getMin(C.startx, b.from), b.to = yi.getMax(C.stopx, b.to), b.width = yi.getMax(b.width, C.width) - dn.labelBoxWidth })) }), ai.activations = [], zt.debug("Loop type widths:", v), v }, aHe = Object.freeze(Object.defineProperty({ __proto__: null, diagram: { parser: iqe, db: Sqe, renderer: { bounds: ai, drawActors: tgt, drawActorsPopup: YBt, setConf: XBt, draw: Jqe }, styles: Aqe } }, Symbol.toStringTag, { value: "Module" })); var egt = function () {
        var i = function (Gt, un, jt, Ke) { for (jt = jt || {}, Ke = Gt.length; Ke--; jt[Gt[Ke]] = un); return jt }, a = [1, 34], f = [1, 35], p = [1, 36], v = [1, 37], m = [1, 9], b = [1, 8], E = [1, 19], C = [1, 20], D = [1, 21], P = [1, 40], B = [1, 41], j = [1, 27], R = [1, 25], H = [1, 26], Y = [1, 32], it = [1, 33], nt = [1, 28], st = [1, 29], pt = [1, 30], Tt = [1, 31], kt = [1, 45], yt = [1, 42], ht = [1, 43], mt = [1, 44], rt = [1, 46], wt = [1, 24], gt = [1, 16, 24], lt = [1, 60], _t = [1, 61], X = [1, 62], Rt = [1, 63], ft = [1, 64], de = [1, 65], J = [1, 66], ae = [1, 16, 24, 52], Wt = [1, 77], It = [1, 16, 24, 27, 28, 36, 50, 52, 55, 68, 69, 70, 71, 72, 73, 74, 79, 81], Nt = [1, 16, 24, 27, 28, 34, 36, 50, 52, 55, 59, 68, 69, 70, 71, 72, 73, 74, 79, 81, 94, 96, 97, 98, 99], me = [1, 86], Ue = [28, 94, 96, 97, 98, 99], _n = [28, 73, 74, 94, 96, 97, 98, 99], _e = [28, 68, 69, 70, 71, 72, 94, 96, 97, 98, 99], rr = [1, 99], Te = [1, 16, 24, 50, 52, 55], ne = [1, 16, 24, 36], Ee = [8, 9, 10, 11, 19, 23, 44, 46, 48, 53, 57, 58, 60, 61, 63, 65, 75, 76, 78, 82, 94, 96, 97, 98, 99], ye = {
            trace: function () { }, yy: {}, symbols_: { error: 2, start: 3, mermaidDoc: 4, directive: 5, statements: 6, direction: 7, direction_tb: 8, direction_bt: 9, direction_rl: 10, direction_lr: 11, graphConfig: 12, openDirective: 13, typeDirective: 14, closeDirective: 15, NEWLINE: 16, ":": 17, argDirective: 18, open_directive: 19, type_directive: 20, arg_directive: 21, close_directive: 22, CLASS_DIAGRAM: 23, EOF: 24, statement: 25, classLabel: 26, SQS: 27, STR: 28, SQE: 29, namespaceName: 30, alphaNumToken: 31, className: 32, classLiteralName: 33, GENERICTYPE: 34, relationStatement: 35, LABEL: 36, namespaceStatement: 37, classStatement: 38, methodStatement: 39, annotationStatement: 40, clickStatement: 41, cssClassStatement: 42, noteStatement: 43, acc_title: 44, acc_title_value: 45, acc_descr: 46, acc_descr_value: 47, acc_descr_multiline_value: 48, namespaceIdentifier: 49, STRUCT_START: 50, classStatements: 51, STRUCT_STOP: 52, NAMESPACE: 53, classIdentifier: 54, STYLE_SEPARATOR: 55, members: 56, CLASS: 57, ANNOTATION_START: 58, ANNOTATION_END: 59, MEMBER: 60, SEPARATOR: 61, relation: 62, NOTE_FOR: 63, noteText: 64, NOTE: 65, relationType: 66, lineType: 67, AGGREGATION: 68, EXTENSION: 69, COMPOSITION: 70, DEPENDENCY: 71, LOLLIPOP: 72, LINE: 73, DOTTED_LINE: 74, CALLBACK: 75, LINK: 76, LINK_TARGET: 77, CLICK: 78, CALLBACK_NAME: 79, CALLBACK_ARGS: 80, HREF: 81, CSSCLASS: 82, commentToken: 83, textToken: 84, graphCodeTokens: 85, textNoTagsToken: 86, TAGSTART: 87, TAGEND: 88, "==": 89, "--": 90, PCT: 91, DEFAULT: 92, SPACE: 93, MINUS: 94, keywords: 95, UNICODE_TEXT: 96, NUM: 97, ALPHA: 98, BQUOTE_STR: 99, $accept: 0, $end: 1 }, terminals_: { 2: "error", 8: "direction_tb", 9: "direction_bt", 10: "direction_rl", 11: "direction_lr", 16: "NEWLINE", 17: ":", 19: "open_directive", 20: "type_directive", 21: "arg_directive", 22: "close_directive", 23: "CLASS_DIAGRAM", 24: "EOF", 27: "SQS", 28: "STR", 29: "SQE", 34: "GENERICTYPE", 36: "LABEL", 44: "acc_title", 45: "acc_title_value", 46: "acc_descr", 47: "acc_descr_value", 48: "acc_descr_multiline_value", 50: "STRUCT_START", 52: "STRUCT_STOP", 53: "NAMESPACE", 55: "STYLE_SEPARATOR", 57: "CLASS", 58: "ANNOTATION_START", 59: "ANNOTATION_END", 60: "MEMBER", 61: "SEPARATOR", 63: "NOTE_FOR", 65: "NOTE", 68: "AGGREGATION", 69: "EXTENSION", 70: "COMPOSITION", 71: "DEPENDENCY", 72: "LOLLIPOP", 73: "LINE", 74: "DOTTED_LINE", 75: "CALLBACK", 76: "LINK", 77: "LINK_TARGET", 78: "CLICK", 79: "CALLBACK_NAME", 80: "CALLBACK_ARGS", 81: "HREF", 82: "CSSCLASS", 85: "graphCodeTokens", 87: "TAGSTART", 88: "TAGEND", 89: "==", 90: "--", 91: "PCT", 92: "DEFAULT", 93: "SPACE", 94: "MINUS", 95: "keywords", 96: "UNICODE_TEXT", 97: "NUM", 98: "ALPHA", 99: "BQUOTE_STR" }, productions_: [0, [3, 1], [3, 2], [3, 1], [7, 1], [7, 1], [7, 1], [7, 1], [4, 1], [5, 4], [5, 6], [13, 1], [14, 1], [18, 1], [15, 1], [12, 4], [6, 1], [6, 2], [6, 3], [26, 3], [30, 1], [30, 2], [32, 1], [32, 1], [32, 2], [32, 2], [32, 2], [25, 1], [25, 2], [25, 1], [25, 1], [25, 1], [25, 1], [25, 1], [25, 1], [25, 1], [25, 1], [25, 2], [25, 2], [25, 1], [37, 4], [37, 5], [49, 2], [51, 1], [51, 2], [51, 3], [38, 1], [38, 3], [38, 4], [38, 6], [54, 2], [54, 3], [40, 4], [56, 1], [56, 2], [39, 1], [39, 2], [39, 1], [39, 1], [35, 3], [35, 4], [35, 4], [35, 5], [43, 3], [43, 2], [62, 3], [62, 2], [62, 2], [62, 1], [66, 1], [66, 1], [66, 1], [66, 1], [66, 1], [67, 1], [67, 1], [41, 3], [41, 4], [41, 3], [41, 4], [41, 4], [41, 5], [41, 3], [41, 4], [41, 4], [41, 5], [41, 3], [41, 4], [41, 4], [41, 5], [42, 3], [83, 1], [83, 1], [84, 1], [84, 1], [84, 1], [84, 1], [84, 1], [84, 1], [84, 1], [86, 1], [86, 1], [86, 1], [86, 1], [31, 1], [31, 1], [31, 1], [31, 1], [33, 1], [64, 1]], performAction: function (un, jt, Ke, oe, Or, Le, Nr) { var fe = Le.length - 1; switch (Or) { case 4: oe.setDirection("TB"); break; case 5: oe.setDirection("BT"); break; case 6: oe.setDirection("RL"); break; case 7: oe.setDirection("LR"); break; case 11: oe.parseDirective("%%{", "open_directive"); break; case 12: oe.parseDirective(Le[fe], "type_directive"); break; case 13: Le[fe] = Le[fe].trim().replace(/'/g, '"'), oe.parseDirective(Le[fe], "arg_directive"); break; case 14: oe.parseDirective("}%%", "close_directive", "class"); break; case 19: this.$ = Le[fe - 1]; break; case 20: case 22: case 23: this.$ = Le[fe]; break; case 21: case 24: this.$ = Le[fe - 1] + Le[fe]; break; case 25: case 26: this.$ = Le[fe - 1] + "~" + Le[fe] + "~"; break; case 27: oe.addRelation(Le[fe]); break; case 28: Le[fe - 1].title = oe.cleanupLabel(Le[fe]), oe.addRelation(Le[fe - 1]); break; case 37: this.$ = Le[fe].trim(), oe.setAccTitle(this.$); break; case 38: case 39: this.$ = Le[fe].trim(), oe.setAccDescription(this.$); break; case 40: oe.addClassesToNamespace(Le[fe - 3], Le[fe - 1]); break; case 41: oe.addClassesToNamespace(Le[fe - 4], Le[fe - 1]); break; case 42: this.$ = Le[fe], oe.addNamespace(Le[fe]); break; case 43: this.$ = [Le[fe]]; break; case 44: this.$ = [Le[fe - 1]]; break; case 45: Le[fe].unshift(Le[fe - 2]), this.$ = Le[fe]; break; case 47: oe.setCssClass(Le[fe - 2], Le[fe]); break; case 48: oe.addMembers(Le[fe - 3], Le[fe - 1]); break; case 49: oe.setCssClass(Le[fe - 5], Le[fe - 3]), oe.addMembers(Le[fe - 5], Le[fe - 1]); break; case 50: this.$ = Le[fe], oe.addClass(Le[fe]); break; case 51: this.$ = Le[fe - 1], oe.addClass(Le[fe - 1]), oe.setClassLabel(Le[fe - 1], Le[fe]); break; case 52: oe.addAnnotation(Le[fe], Le[fe - 2]); break; case 53: this.$ = [Le[fe]]; break; case 54: Le[fe].push(Le[fe - 1]), this.$ = Le[fe]; break; case 55: break; case 56: oe.addMember(Le[fe - 1], oe.cleanupLabel(Le[fe])); break; case 57: break; case 58: break; case 59: this.$ = { id1: Le[fe - 2], id2: Le[fe], relation: Le[fe - 1], relationTitle1: "none", relationTitle2: "none" }; break; case 60: this.$ = { id1: Le[fe - 3], id2: Le[fe], relation: Le[fe - 1], relationTitle1: Le[fe - 2], relationTitle2: "none" }; break; case 61: this.$ = { id1: Le[fe - 3], id2: Le[fe], relation: Le[fe - 2], relationTitle1: "none", relationTitle2: Le[fe - 1] }; break; case 62: this.$ = { id1: Le[fe - 4], id2: Le[fe], relation: Le[fe - 2], relationTitle1: Le[fe - 3], relationTitle2: Le[fe - 1] }; break; case 63: oe.addNote(Le[fe], Le[fe - 1]); break; case 64: oe.addNote(Le[fe]); break; case 65: this.$ = { type1: Le[fe - 2], type2: Le[fe], lineType: Le[fe - 1] }; break; case 66: this.$ = { type1: "none", type2: Le[fe], lineType: Le[fe - 1] }; break; case 67: this.$ = { type1: Le[fe - 1], type2: "none", lineType: Le[fe] }; break; case 68: this.$ = { type1: "none", type2: "none", lineType: Le[fe] }; break; case 69: this.$ = oe.relationType.AGGREGATION; break; case 70: this.$ = oe.relationType.EXTENSION; break; case 71: this.$ = oe.relationType.COMPOSITION; break; case 72: this.$ = oe.relationType.DEPENDENCY; break; case 73: this.$ = oe.relationType.LOLLIPOP; break; case 74: this.$ = oe.lineType.LINE; break; case 75: this.$ = oe.lineType.DOTTED_LINE; break; case 76: case 82: this.$ = Le[fe - 2], oe.setClickEvent(Le[fe - 1], Le[fe]); break; case 77: case 83: this.$ = Le[fe - 3], oe.setClickEvent(Le[fe - 2], Le[fe - 1]), oe.setTooltip(Le[fe - 2], Le[fe]); break; case 78: case 86: this.$ = Le[fe - 2], oe.setLink(Le[fe - 1], Le[fe]); break; case 79: this.$ = Le[fe - 3], oe.setLink(Le[fe - 2], Le[fe - 1], Le[fe]); break; case 80: case 88: this.$ = Le[fe - 3], oe.setLink(Le[fe - 2], Le[fe - 1]), oe.setTooltip(Le[fe - 2], Le[fe]); break; case 81: case 89: this.$ = Le[fe - 4], oe.setLink(Le[fe - 3], Le[fe - 2], Le[fe]), oe.setTooltip(Le[fe - 3], Le[fe - 1]); break; case 84: this.$ = Le[fe - 3], oe.setClickEvent(Le[fe - 2], Le[fe - 1], Le[fe]); break; case 85: this.$ = Le[fe - 4], oe.setClickEvent(Le[fe - 3], Le[fe - 2], Le[fe - 1]), oe.setTooltip(Le[fe - 3], Le[fe]); break; case 87: this.$ = Le[fe - 3], oe.setLink(Le[fe - 2], Le[fe - 1], Le[fe]); break; case 90: oe.setCssClass(Le[fe - 1], Le[fe]); break } }, table: [{ 3: 1, 4: 2, 5: 3, 6: 4, 7: 18, 8: a, 9: f, 10: p, 11: v, 12: 5, 13: 6, 19: m, 23: b, 25: 7, 31: 38, 32: 22, 33: 39, 35: 10, 37: 11, 38: 12, 39: 13, 40: 14, 41: 15, 42: 16, 43: 17, 44: E, 46: C, 48: D, 49: 23, 53: P, 54: 24, 57: B, 58: j, 60: R, 61: H, 63: Y, 65: it, 75: nt, 76: st, 78: pt, 82: Tt, 94: kt, 96: yt, 97: ht, 98: mt, 99: rt }, { 1: [3] }, { 1: [2, 1] }, { 3: 47, 4: 2, 5: 3, 6: 4, 7: 18, 8: a, 9: f, 10: p, 11: v, 12: 5, 13: 6, 19: m, 23: b, 25: 7, 31: 38, 32: 22, 33: 39, 35: 10, 37: 11, 38: 12, 39: 13, 40: 14, 41: 15, 42: 16, 43: 17, 44: E, 46: C, 48: D, 49: 23, 53: P, 54: 24, 57: B, 58: j, 60: R, 61: H, 63: Y, 65: it, 75: nt, 76: st, 78: pt, 82: Tt, 94: kt, 96: yt, 97: ht, 98: mt, 99: rt }, { 1: [2, 3] }, { 1: [2, 8] }, { 14: 48, 20: [1, 49] }, i(wt, [2, 16], { 16: [1, 50] }), { 16: [1, 51] }, { 20: [2, 11] }, i(gt, [2, 27], { 36: [1, 52] }), i(gt, [2, 29]), i(gt, [2, 30]), i(gt, [2, 31]), i(gt, [2, 32]), i(gt, [2, 33]), i(gt, [2, 34]), i(gt, [2, 35]), i(gt, [2, 36]), { 45: [1, 53] }, { 47: [1, 54] }, i(gt, [2, 39]), i(gt, [2, 55], { 62: 55, 66: 58, 67: 59, 28: [1, 56], 36: [1, 57], 68: lt, 69: _t, 70: X, 71: Rt, 72: ft, 73: de, 74: J }), { 50: [1, 67] }, i(ae, [2, 46], { 50: [1, 69], 55: [1, 68] }), i(gt, [2, 57]), i(gt, [2, 58]), { 31: 70, 94: kt, 96: yt, 97: ht, 98: mt }, { 31: 38, 32: 71, 33: 39, 94: kt, 96: yt, 97: ht, 98: mt, 99: rt }, { 31: 38, 32: 72, 33: 39, 94: kt, 96: yt, 97: ht, 98: mt, 99: rt }, { 31: 38, 32: 73, 33: 39, 94: kt, 96: yt, 97: ht, 98: mt, 99: rt }, { 28: [1, 74] }, { 31: 38, 32: 75, 33: 39, 94: kt, 96: yt, 97: ht, 98: mt, 99: rt }, { 28: Wt, 64: 76 }, i(gt, [2, 4]), i(gt, [2, 5]), i(gt, [2, 6]), i(gt, [2, 7]), i(It, [2, 22], { 31: 38, 33: 39, 32: 78, 34: [1, 79], 94: kt, 96: yt, 97: ht, 98: mt, 99: rt }), i(It, [2, 23], { 34: [1, 80] }), { 30: 81, 31: 82, 94: kt, 96: yt, 97: ht, 98: mt }, { 31: 38, 32: 83, 33: 39, 94: kt, 96: yt, 97: ht, 98: mt, 99: rt }, i(Nt, [2, 104]), i(Nt, [2, 105]), i(Nt, [2, 106]), i(Nt, [2, 107]), i([1, 16, 24, 27, 28, 34, 36, 50, 52, 55, 68, 69, 70, 71, 72, 73, 74, 79, 81], [2, 108]), { 1: [2, 2] }, { 15: 84, 17: [1, 85], 22: me }, i([17, 22], [2, 12]), i(wt, [2, 17], { 25: 7, 35: 10, 37: 11, 38: 12, 39: 13, 40: 14, 41: 15, 42: 16, 43: 17, 7: 18, 32: 22, 49: 23, 54: 24, 31: 38, 33: 39, 6: 87, 8: a, 9: f, 10: p, 11: v, 44: E, 46: C, 48: D, 53: P, 57: B, 58: j, 60: R, 61: H, 63: Y, 65: it, 75: nt, 76: st, 78: pt, 82: Tt, 94: kt, 96: yt, 97: ht, 98: mt, 99: rt }), { 6: 88, 7: 18, 8: a, 9: f, 10: p, 11: v, 25: 7, 31: 38, 32: 22, 33: 39, 35: 10, 37: 11, 38: 12, 39: 13, 40: 14, 41: 15, 42: 16, 43: 17, 44: E, 46: C, 48: D, 49: 23, 53: P, 54: 24, 57: B, 58: j, 60: R, 61: H, 63: Y, 65: it, 75: nt, 76: st, 78: pt, 82: Tt, 94: kt, 96: yt, 97: ht, 98: mt, 99: rt }, i(gt, [2, 28]), i(gt, [2, 37]), i(gt, [2, 38]), { 28: [1, 90], 31: 38, 32: 89, 33: 39, 94: kt, 96: yt, 97: ht, 98: mt, 99: rt }, { 62: 91, 66: 58, 67: 59, 68: lt, 69: _t, 70: X, 71: Rt, 72: ft, 73: de, 74: J }, i(gt, [2, 56]), { 67: 92, 73: de, 74: J }, i(Ue, [2, 68], { 66: 93, 68: lt, 69: _t, 70: X, 71: Rt, 72: ft }), i(_n, [2, 69]), i(_n, [2, 70]), i(_n, [2, 71]), i(_n, [2, 72]), i(_n, [2, 73]), i(_e, [2, 74]), i(_e, [2, 75]), { 16: [1, 95], 38: 96, 51: 94, 54: 24, 57: B }, { 31: 97, 94: kt, 96: yt, 97: ht, 98: mt }, { 56: 98, 60: rr }, { 59: [1, 100] }, { 28: [1, 101] }, { 28: [1, 102] }, { 79: [1, 103], 81: [1, 104] }, { 31: 105, 94: kt, 96: yt, 97: ht, 98: mt }, { 28: Wt, 64: 106 }, i(gt, [2, 64]), i(gt, [2, 109]), i(It, [2, 24]), i(It, [2, 25]), i(It, [2, 26]), { 50: [2, 42] }, { 30: 107, 31: 82, 50: [2, 20], 94: kt, 96: yt, 97: ht, 98: mt }, i(Te, [2, 50], { 26: 108, 27: [1, 109] }), { 16: [1, 110] }, { 18: 111, 21: [1, 112] }, { 16: [2, 14] }, i(wt, [2, 18]), { 24: [1, 113] }, i(ne, [2, 59]), { 31: 38, 32: 114, 33: 39, 94: kt, 96: yt, 97: ht, 98: mt, 99: rt }, { 28: [1, 116], 31: 38, 32: 115, 33: 39, 94: kt, 96: yt, 97: ht, 98: mt, 99: rt }, i(Ue, [2, 67], { 66: 117, 68: lt, 69: _t, 70: X, 71: Rt, 72: ft }), i(Ue, [2, 66]), { 52: [1, 118] }, { 38: 96, 51: 119, 54: 24, 57: B }, { 16: [1, 120], 52: [2, 43] }, i(ae, [2, 47], { 50: [1, 121] }), { 52: [1, 122] }, { 52: [2, 53], 56: 123, 60: rr }, { 31: 38, 32: 124, 33: 39, 94: kt, 96: yt, 97: ht, 98: mt, 99: rt }, i(gt, [2, 76], { 28: [1, 125] }), i(gt, [2, 78], { 28: [1, 127], 77: [1, 126] }), i(gt, [2, 82], { 28: [1, 128], 80: [1, 129] }), i(gt, [2, 86], { 28: [1, 131], 77: [1, 130] }), i(gt, [2, 90]), i(gt, [2, 63]), { 50: [2, 21] }, i(Te, [2, 51]), { 28: [1, 132] }, i(Ee, [2, 9]), { 15: 133, 22: me }, { 22: [2, 13] }, { 1: [2, 15] }, i(ne, [2, 61]), i(ne, [2, 60]), { 31: 38, 32: 134, 33: 39, 94: kt, 96: yt, 97: ht, 98: mt, 99: rt }, i(Ue, [2, 65]), i(gt, [2, 40]), { 52: [1, 135] }, { 38: 96, 51: 136, 52: [2, 44], 54: 24, 57: B }, { 56: 137, 60: rr }, i(ae, [2, 48]), { 52: [2, 54] }, i(gt, [2, 52]), i(gt, [2, 77]), i(gt, [2, 79]), i(gt, [2, 80], { 77: [1, 138] }), i(gt, [2, 83]), i(gt, [2, 84], { 28: [1, 139] }), i(gt, [2, 87]), i(gt, [2, 88], { 77: [1, 140] }), { 29: [1, 141] }, { 16: [1, 142] }, i(ne, [2, 62]), i(gt, [2, 41]), { 52: [2, 45] }, { 52: [1, 143] }, i(gt, [2, 81]), i(gt, [2, 85]), i(gt, [2, 89]), i(Te, [2, 19]), i(Ee, [2, 10]), i(ae, [2, 49])], defaultActions: { 2: [2, 1], 4: [2, 3], 5: [2, 8], 9: [2, 11], 47: [2, 2], 81: [2, 42], 86: [2, 14], 107: [2, 21], 112: [2, 13], 113: [2, 15], 123: [2, 54], 136: [2, 45] }, parseError: function (un, jt) { if (jt.recoverable) this.trace(un); else { var Ke = new Error(un); throw Ke.hash = jt, Ke } }, parse: function (un) {
                var jt = this, Ke = [0], oe = [], Or = [null], Le = [], Nr = this.table, fe = "", sr = 0, Yn = 0, tr = 2, ur = 1, gn = Le.slice.call(arguments, 1), En = Object.create(this.lexer), Dr = { yy: {} }; for (var hr in this.yy) Object.prototype.hasOwnProperty.call(this.yy, hr) && (Dr.yy[hr] = this.yy[hr]); En.setInput(un, Dr.yy), Dr.yy.lexer = En, Dr.yy.parser = this, typeof En.yylloc > "u" && (En.yylloc = {}); var Ki = En.yylloc; Le.push(Ki); var Is = En.options && En.options.ranges; typeof Dr.yy.parseError == "function" ? this.parseError = Dr.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; function Ha() { var ss; return ss = oe.pop() || En.lex() || ur, typeof ss != "number" && (ss instanceof Array && (oe = ss, ss = oe.pop()), ss = jt.symbols_[ss] || ss), ss } for (var hi, qi, zn, Zn, Pr = {}, On, xi, In, rc; ;) {
                    if (qi = Ke[Ke.length - 1], this.defaultActions[qi] ? zn = this.defaultActions[qi] : ((hi === null || typeof hi > "u") && (hi = Ha()), zn = Nr[qi] && Nr[qi][hi]), typeof zn > "u" || !zn.length || !zn[0]) {
                        var qn = ""; rc = []; for (On in Nr[qi]) this.terminals_[On] && On > tr && rc.push("'" + this.terminals_[On] + "'"); En.showPosition ? qn = "Parse error on line " + (sr + 1) + `:
    `+ En.showPosition() + `
    Expecting `+ rc.join(", ") + ", got '" + (this.terminals_[hi] || hi) + "'" : qn = "Parse error on line " + (sr + 1) + ": Unexpected " + (hi == ur ? "end of input" : "'" + (this.terminals_[hi] || hi) + "'"), this.parseError(qn, { text: En.match, token: this.terminals_[hi] || hi, line: En.yylineno, loc: Ki, expected: rc })
                    } if (zn[0] instanceof Array && zn.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + qi + ", token: " + hi); switch (zn[0]) { case 1: Ke.push(hi), Or.push(En.yytext), Le.push(En.yylloc), Ke.push(zn[1]), hi = null, Yn = En.yyleng, fe = En.yytext, sr = En.yylineno, Ki = En.yylloc; break; case 2: if (xi = this.productions_[zn[1]][1], Pr.$ = Or[Or.length - xi], Pr._$ = { first_line: Le[Le.length - (xi || 1)].first_line, last_line: Le[Le.length - 1].last_line, first_column: Le[Le.length - (xi || 1)].first_column, last_column: Le[Le.length - 1].last_column }, Is && (Pr._$.range = [Le[Le.length - (xi || 1)].range[0], Le[Le.length - 1].range[1]]), Zn = this.performAction.apply(Pr, [fe, Yn, sr, Dr.yy, zn[1], Or, Le].concat(gn)), typeof Zn < "u") return Zn; xi && (Ke = Ke.slice(0, -1 * xi * 2), Or = Or.slice(0, -1 * xi), Le = Le.slice(0, -1 * xi)), Ke.push(this.productions_[zn[1]][0]), Or.push(Pr.$), Le.push(Pr._$), In = Nr[Ke[Ke.length - 2]][Ke[Ke.length - 1]], Ke.push(In); break; case 3: return !0 }
                } return !0
            }
        }, Vt = function () {
            var Gt = {
                EOF: 1, parseError: function (jt, Ke) { if (this.yy.parser) this.yy.parser.parseError(jt, Ke); else throw new Error(jt) }, setInput: function (un, jt) { return this.yy = jt || this.yy || {}, this._input = un, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this }, input: function () { var un = this._input[0]; this.yytext += un, this.yyleng++, this.offset++, this.match += un, this.matched += un; var jt = un.match(/(?:\r\n?|\n).*/g); return jt ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), un }, unput: function (un) { var jt = un.length, Ke = un.split(/(?:\r\n?|\n)/g); this._input = un + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - jt), this.offset -= jt; var oe = this.match.split(/(?:\r\n?|\n)/g); this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), Ke.length - 1 && (this.yylineno -= Ke.length - 1); var Or = this.yylloc.range; return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: Ke ? (Ke.length === oe.length ? this.yylloc.first_column : 0) + oe[oe.length - Ke.length].length - Ke[0].length : this.yylloc.first_column - jt }, this.options.ranges && (this.yylloc.range = [Or[0], Or[0] + this.yyleng - jt]), this.yyleng = this.yytext.length, this }, more: function () { return this._more = !0, this }, reject: function () {
                    if (this.options.backtrack_lexer) this._backtrack = !0; else 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).
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno }); return this
                }, less: function (un) { this.unput(this.match.slice(un)) }, pastInput: function () { var un = this.matched.substr(0, this.matched.length - this.match.length); return (un.length > 20 ? "..." : "") + un.substr(-20).replace(/\n/g, "") }, upcomingInput: function () { var un = this.match; return un.length < 20 && (un += this._input.substr(0, 20 - un.length)), (un.substr(0, 20) + (un.length > 20 ? "..." : "")).replace(/\n/g, "") }, showPosition: function () {
                    var un = this.pastInput(), jt = new Array(un.length + 1).join("-"); return un + this.upcomingInput() + `
    `+ jt + "^"
                }, test_match: function (un, jt) { var Ke, oe, Or; if (this.options.backtrack_lexer && (Or = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (Or.yylloc.range = this.yylloc.range.slice(0))), oe = un[0].match(/(?:\r\n?|\n).*/g), oe && (this.yylineno += oe.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: oe ? oe[oe.length - 1].length - oe[oe.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + un[0].length }, this.yytext += un[0], this.match += un[0], this.matches = un, 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(un[0].length), this.matched += un[0], Ke = this.performAction.call(this, this.yy, this, jt, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), Ke) return Ke; if (this._backtrack) { for (var Le in Or) this[Le] = Or[Le]; return !1 } return !1 }, next: function () {
                    if (this.done) return this.EOF; this._input || (this.done = !0); var un, jt, Ke, oe; this._more || (this.yytext = "", this.match = ""); for (var Or = this._currentRules(), Le = 0; Le < Or.length; Le++)if (Ke = this._input.match(this.rules[Or[Le]]), Ke && (!jt || Ke[0].length > jt[0].length)) { if (jt = Ke, oe = Le, this.options.backtrack_lexer) { if (un = this.test_match(Ke, Or[Le]), un !== !1) return un; if (this._backtrack) { jt = !1; continue } else return !1 } else if (!this.options.flex) break } return jt ? (un = this.test_match(jt, Or[oe]), un !== !1 ? un : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno })
                }, lex: function () { var jt = this.next(); return jt || this.lex() }, begin: function (jt) { this.conditionStack.push(jt) }, popState: function () { var jt = this.conditionStack.length - 1; return jt > 0 ? this.conditionStack.pop() : this.conditionStack[0] }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules }, topState: function (jt) { return jt = this.conditionStack.length - 1 - Math.abs(jt || 0), jt >= 0 ? this.conditionStack[jt] : "INITIAL" }, pushState: function (jt) { this.begin(jt) }, stateStackSize: function () { return this.conditionStack.length }, options: {}, performAction: function (jt, Ke, oe, Or) { switch (oe) { case 0: return this.begin("open_directive"), 19; case 1: return 8; case 2: return 9; case 3: return 10; case 4: return 11; case 5: return this.begin("type_directive"), 20; case 6: return this.popState(), this.begin("arg_directive"), 17; case 7: return this.popState(), this.popState(), 22; case 8: return 21; case 9: break; case 10: break; case 11: return this.begin("acc_title"), 44; case 12: return this.popState(), "acc_title_value"; case 13: return this.begin("acc_descr"), 46; case 14: return this.popState(), "acc_descr_value"; case 15: this.begin("acc_descr_multiline"); break; case 16: this.popState(); break; case 17: return "acc_descr_multiline_value"; case 18: return 16; case 19: break; case 20: return 23; case 21: return 23; case 22: return "EDGE_STATE"; case 23: return this.begin("namespace"), 53; case 24: return this.popState(), 16; case 25: break; case 26: return this.begin("namespace-body"), 50; case 27: return this.popState(), 52; case 28: return "EOF_IN_STRUCT"; case 29: return 16; case 30: break; case 31: return "EDGE_STATE"; case 32: return this.begin("class"), 57; case 33: return this.popState(), 16; case 34: break; case 35: return this.popState(), this.popState(), 52; case 36: return this.begin("class-body"), 50; case 37: return this.popState(), 52; case 38: return "EOF_IN_STRUCT"; case 39: return "EDGE_STATE"; case 40: return "OPEN_IN_STRUCT"; case 41: break; case 42: return "MEMBER"; case 43: return 82; case 44: return 75; case 45: return 76; case 46: return 78; case 47: return 63; case 48: return 65; case 49: return 58; case 50: return 59; case 51: this.begin("href"); break; case 52: this.popState(); break; case 53: return 81; case 54: this.begin("callback_name"); break; case 55: this.popState(); break; case 56: this.popState(), this.begin("callback_args"); break; case 57: return 79; case 58: this.popState(); break; case 59: return 80; case 60: this.popState(); break; case 61: return "GENERICTYPE"; case 62: this.begin("generic"); break; case 63: this.popState(); break; case 64: return "STR"; case 65: this.begin("string"); break; case 66: this.popState(); break; case 67: return "BQUOTE_STR"; case 68: this.begin("bqstring"); break; case 69: return 77; case 70: return 77; case 71: return 77; case 72: return 77; case 73: return 69; case 74: return 69; case 75: return 71; case 76: return 71; case 77: return 70; case 78: return 68; case 79: return 72; case 80: return 73; case 81: return 74; case 82: return 36; case 83: return 55; case 84: return 94; case 85: return "DOT"; case 86: return "PLUS"; case 87: return 91; case 88: return "EQUALS"; case 89: return "EQUALS"; case 90: return 98; case 91: return 27; case 92: return 29; case 93: return "PUNCTUATION"; case 94: return 97; case 95: return 96; case 96: return 93; case 97: return 24 } }, rules: [/^(?:%%\{)/, /^(?:.*direction\s+TB[^\n]*)/, /^(?:.*direction\s+BT[^\n]*)/, /^(?:.*direction\s+RL[^\n]*)/, /^(?:.*direction\s+LR[^\n]*)/, /^(?:((?:(?!\}%%)[^:.])*))/, /^(?::)/, /^(?:\}%%)/, /^(?:((?:(?!\}%%).|\n)*))/, /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/, /^(?:%%[^\n]*(\r?\n)*)/, /^(?:accTitle\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*\{\s*)/, /^(?:[\}])/, /^(?:[^\}]*)/, /^(?:\s*(\r?\n)+)/, /^(?:\s+)/, /^(?:classDiagram-v2\b)/, /^(?:classDiagram\b)/, /^(?:\[\*\])/, /^(?:namespace\b)/, /^(?:\s*(\r?\n)+)/, /^(?:\s+)/, /^(?:[{])/, /^(?:[}])/, /^(?:$)/, /^(?:\s*(\r?\n)+)/, /^(?:\s+)/, /^(?:\[\*\])/, /^(?:class\b)/, /^(?:\s*(\r?\n)+)/, /^(?:\s+)/, /^(?:[}])/, /^(?:[{])/, /^(?:[}])/, /^(?:$)/, /^(?:\[\*\])/, /^(?:[{])/, /^(?:[\n])/, /^(?:[^{}\n]*)/, /^(?:cssClass\b)/, /^(?:callback\b)/, /^(?:link\b)/, /^(?:click\b)/, /^(?:note for\b)/, /^(?:note\b)/, /^(?:<<)/, /^(?:>>)/, /^(?:href[\s]+["])/, /^(?:["])/, /^(?:[^"]*)/, /^(?:call[\s]+)/, /^(?:\([\s]*\))/, /^(?:\()/, /^(?:[^(]*)/, /^(?:\))/, /^(?:[^)]*)/, /^(?:[~])/, /^(?:[^~]*)/, /^(?:[~])/, /^(?:["])/, /^(?:[^"]*)/, /^(?:["])/, /^(?:[`])/, /^(?:[^`]+)/, /^(?:[`])/, /^(?:_self\b)/, /^(?:_blank\b)/, /^(?:_parent\b)/, /^(?:_top\b)/, /^(?:\s*<\|)/, /^(?:\s*\|>)/, /^(?:\s*>)/, /^(?:\s*<)/, /^(?:\s*\*)/, /^(?:\s*o\b)/, /^(?:\s*\(\))/, /^(?:--)/, /^(?:\.\.)/, /^(?::{1}[^:\n;]+)/, /^(?::{3})/, /^(?:-)/, /^(?:\.)/, /^(?:\+)/, /^(?:%)/, /^(?:=)/, /^(?:=)/, /^(?:\w+)/, /^(?:\[)/, /^(?:\])/, /^(?:[!"#$%&'*+,-.`?\\/])/, /^(?:[0-9]+)/, /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/, /^(?:\s)/, /^(?:$)/], conditions: { "namespace-body": { rules: [27, 28, 29, 30, 31, 32, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], inclusive: !1 }, namespace: { rules: [23, 24, 25, 26, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], inclusive: !1 }, "class-body": { rules: [37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], inclusive: !1 }, class: { rules: [33, 34, 35, 36, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], inclusive: !1 }, acc_descr_multiline: { rules: [16, 17, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], inclusive: !1 }, acc_descr: { rules: [14, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], inclusive: !1 }, acc_title: { rules: [12, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], inclusive: !1 }, arg_directive: { rules: [7, 8, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], inclusive: !1 }, type_directive: { rules: [6, 7, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], inclusive: !1 }, open_directive: { rules: [5, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], inclusive: !1 }, callback_args: { rules: [43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 58, 59, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], inclusive: !1 }, callback_name: { rules: [43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 55, 56, 57, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], inclusive: !1 }, href: { rules: [43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], inclusive: !1 }, struct: { rules: [43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], inclusive: !1 }, generic: { rules: [43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 60, 61, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], inclusive: !1 }, bqstring: { rules: [43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], inclusive: !1 }, string: { rules: [43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 63, 64, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], inclusive: !1 }, INITIAL: { rules: [0, 1, 2, 3, 4, 9, 10, 11, 13, 15, 18, 19, 20, 21, 22, 23, 32, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], inclusive: !0 } }
            }; return Gt
        }(); ye.lexer = Vt; function Ae() { this.yy = {} } return Ae.prototype = ye, ye.Parser = Ae, new Ae
    }(); egt.parser = egt; const ZBt = egt, kK = "classId-"; let ngt = [], sh = {}, EK = [], rgt = 0, fk = {}, igt = 0, AP = []; const O5 = i => yi.sanitizeText(i, Oe()), oHe = function (i, a, f) { d1.parseDirective(this, i, a, f) }, hL = function (i) { let a = "", f = i; if (i.indexOf("~") > 0) { const p = i.split("~"); f = O5(p[0]), a = O5(p[1]) } return { className: f, type: a } }, cHe = function (i, a) { a && (a = O5(a)); const { className: f } = hL(i); sh[f].label = a }, sgt = function (i) { const a = hL(i); sh[a.className] === void 0 && (sh[a.className] = { id: a.className, type: a.type, label: a.className, cssClasses: [], methods: [], members: [], annotations: [], domId: kK + a.className + "-" + rgt }, rgt++) }, JBt = function (i) { if (i in sh) return sh[i].domId; throw new Error("Class not found: " + i) }, uHe = function () { ngt = [], sh = {}, EK = [], AP = [], AP.push(eRt), fk = {}, igt = 0, cg() }, lHe = function (i) { return sh[i] }, hHe = function () { return sh }, fHe = function () { return ngt }, dHe = function () { return EK }, gHe = function (i) { zt.debug("Adding relation: " + JSON.stringify(i)), sgt(i.id1), sgt(i.id2), i.id1 = hL(i.id1).className, i.id2 = hL(i.id2).className, i.relationTitle1 = yi.sanitizeText(i.relationTitle1.trim(), Oe()), i.relationTitle2 = yi.sanitizeText(i.relationTitle2.trim(), Oe()), ngt.push(i) }, pHe = function (i, a) { const f = hL(i).className; sh[f].annotations.push(a) }, tRt = function (i, a) { const f = hL(i).className, p = sh[f]; if (typeof a == "string") { const v = a.trim(); v.startsWith("<<") && v.endsWith(">>") ? p.annotations.push(O5(v.substring(2, v.length - 2))) : v.indexOf(")") > 0 ? p.methods.push(O5(v)) : v && p.members.push(O5(v)) } }, bHe = function (i, a) { Array.isArray(a) && (a.reverse(), a.forEach(f => tRt(i, f))) }, vHe = function (i, a) { const f = { id: `note${EK.length}`, class: a, text: i }; EK.push(f) }, wHe = function (i) { return i.startsWith(":") && (i = i.substring(1)), O5(i.trim()) }, agt = function (i, a) { i.split(",").forEach(function (f) { let p = f; f[0].match(/\d/) && (p = kK + p), sh[p] !== void 0 && sh[p].cssClasses.push(a) }) }, mHe = function (i, a) { i.split(",").forEach(function (f) { a !== void 0 && (sh[f].tooltip = O5(a)) }) }, yHe = function (i, a) { return a ? fk[a].classes[i].tooltip : sh[i].tooltip }, xHe = function (i, a, f) { const p = Oe(); i.split(",").forEach(function (v) { let m = v; v[0].match(/\d/) && (m = kK + m), sh[m] !== void 0 && (sh[m].link = lo.formatUrl(a, p), p.securityLevel === "sandbox" ? sh[m].linkTarget = "_top" : typeof f == "string" ? sh[m].linkTarget = O5(f) : sh[m].linkTarget = "_blank") }), agt(i, "clickable") }, kHe = function (i, a, f) { i.split(",").forEach(function (p) { EHe(p, a, f), sh[p].haveCallback = !0 }), agt(i, "clickable") }, EHe = function (i, a, f) { if (Oe().securityLevel !== "loose" || a === void 0) return; const v = i; if (sh[v] !== void 0) { const m = JBt(v); let b = []; if (typeof f == "string") { b = f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/); for (let E = 0; E < b.length; E++) { let C = b[E].trim(); C.charAt(0) === '"' && C.charAt(C.length - 1) === '"' && (C = C.substr(1, C.length - 2)), b[E] = C } } b.length === 0 && b.push(m), AP.push(function () { const E = document.querySelector(`[id="${m}"]`); E !== null && E.addEventListener("click", function () { lo.runFunc(a, ...b) }, !1) }) } }, THe = function (i) { AP.forEach(function (a) { a(i) }) }, _He = { LINE: 0, DOTTED_LINE: 1 }, CHe = { AGGREGATION: 0, EXTENSION: 1, COMPOSITION: 2, DEPENDENCY: 3, LOLLIPOP: 4 }, eRt = function (i) { let a = Mr(".mermaidTooltip"); (a._groups || a)[0][0] === null && (a = Mr("body").append("div").attr("class", "mermaidTooltip").style("opacity", 0)), Mr(i).select("svg").selectAll("g.node").on("mouseover", function () { const v = Mr(this); if (v.attr("title") === null) return; const b = this.getBoundingClientRect(); a.transition().duration(200).style("opacity", ".9"), a.text(v.attr("title")).style("left", window.scrollX + b.left + (b.right - b.left) / 2 + "px").style("top", window.scrollY + b.top - 14 + document.body.scrollTop + "px"), a.html(a.html().replace(/&lt;br\/&gt;/g, "<br/>")), v.classed("hover", !0) }).on("mouseout", function () { a.transition().duration(500).style("opacity", 0), Mr(this).classed("hover", !1) }) }; AP.push(eRt); let nRt = "TB"; const TK = { parseDirective: oHe, setAccTitle: ug, getAccTitle: op, getAccDescription: up, setAccDescription: cp, getConfig: () => Oe().class, addClass: sgt, bindFunctions: THe, clear: uHe, getClass: lHe, getClasses: hHe, getNotes: dHe, addAnnotation: pHe, addNote: vHe, getRelations: fHe, addRelation: gHe, getDirection: () => nRt, setDirection: i => { nRt = i }, addMember: tRt, addMembers: bHe, cleanupLabel: wHe, lineType: _He, relationType: CHe, setClickEvent: kHe, setCssClass: agt, setLink: xHe, getTooltip: yHe, setTooltip: mHe, lookUpDomId: JBt, setDiagramTitle: Kb, getDiagramTitle: O2, setClassLabel: cHe, addNamespace: function (i) { fk[i] === void 0 && (fk[i] = { id: i, classes: {}, children: {}, domId: kK + i + "-" + igt }, igt++) }, addClassesToNamespace: function (i, a) { fk[i] !== void 0 && a.map(f => { fk[i].classes[f] = sh[f], delete sh[f], rgt-- }) }, getNamespace: function (i) { return fk[i] }, getNamespaces: function () { return fk } }, rRt = i => `g.classGroup text {
      fill: ${i.nodeBorder};
      fill: ${i.classText};
      stroke: none;
      font-family: ${i.fontFamily};
      font-size: 10px;
    
      .title {
        font-weight: bolder;
      }
    
    }
    
    .nodeLabel, .edgeLabel {
      color: ${i.classText};
    }
    .edgeLabel .label rect {
      fill: ${i.mainBkg};
    }
    .label text {
      fill: ${i.classText};
    }
    .edgeLabel .label span {
      background: ${i.mainBkg};
    }
    
    .classTitle {
      font-weight: bolder;
    }
    .node rect,
      .node circle,
      .node ellipse,
      .node polygon,
      .node path {
        fill: ${i.mainBkg};
        stroke: ${i.nodeBorder};
        stroke-width: 1px;
      }
    
    
    .divider {
      stroke: ${i.nodeBorder};
      stroke-width: 1;
    }
    
    g.clickable {
      cursor: pointer;
    }
    
    g.classGroup rect {
      fill: ${i.mainBkg};
      stroke: ${i.nodeBorder};
    }
    
    g.classGroup line {
      stroke: ${i.nodeBorder};
      stroke-width: 1;
    }
    
    .classLabel .box {
      stroke: none;
      stroke-width: 0;
      fill: ${i.mainBkg};
      opacity: 0.5;
    }
    
    .classLabel .label {
      fill: ${i.nodeBorder};
      font-size: 10px;
    }
    
    .relation {
      stroke: ${i.lineColor};
      stroke-width: 1;
      fill: none;
    }
    
    .dashed-line{
      stroke-dasharray: 3;
    }
    
    .dotted-line{
      stroke-dasharray: 1 2;
    }
    
    #compositionStart, .composition {
      fill: ${i.lineColor} !important;
      stroke: ${i.lineColor} !important;
      stroke-width: 1;
    }
    
    #compositionEnd, .composition {
      fill: ${i.lineColor} !important;
      stroke: ${i.lineColor} !important;
      stroke-width: 1;
    }
    
    #dependencyStart, .dependency {
      fill: ${i.lineColor} !important;
      stroke: ${i.lineColor} !important;
      stroke-width: 1;
    }
    
    #dependencyStart, .dependency {
      fill: ${i.lineColor} !important;
      stroke: ${i.lineColor} !important;
      stroke-width: 1;
    }
    
    #extensionStart, .extension {
      fill: ${i.mainBkg} !important;
      stroke: ${i.lineColor} !important;
      stroke-width: 1;
    }
    
    #extensionEnd, .extension {
      fill: ${i.mainBkg} !important;
      stroke: ${i.lineColor} !important;
      stroke-width: 1;
    }
    
    #aggregationStart, .aggregation {
      fill: ${i.mainBkg} !important;
      stroke: ${i.lineColor} !important;
      stroke-width: 1;
    }
    
    #aggregationEnd, .aggregation {
      fill: ${i.mainBkg} !important;
      stroke: ${i.lineColor} !important;
      stroke-width: 1;
    }
    
    #lollipopStart, .lollipop {
      fill: ${i.mainBkg} !important;
      stroke: ${i.lineColor} !important;
      stroke-width: 1;
    }
    
    #lollipopEnd, .lollipop {
      fill: ${i.mainBkg} !important;
      stroke: ${i.lineColor} !important;
      stroke-width: 1;
    }
    
    .edgeTerminals {
      font-size: 11px;
    }
    
    .classTitleText {
      text-anchor: middle;
      font-size: 18px;
      fill: ${i.textColor};
    }
    `; let _K = {}; const CK = 20, LP = function (i) { const a = Object.entries(_K).find(f => f[1].label === i); if (a) return a[0] }, SHe = function (i) { i.append("defs").append("marker").attr("id", "extensionStart").attr("class", "extension").attr("refX", 0).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 1,7 L18,13 V 1 Z"), i.append("defs").append("marker").attr("id", "extensionEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 1,1 V 13 L18,7 Z"), i.append("defs").append("marker").attr("id", "compositionStart").attr("class", "extension").attr("refX", 0).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), i.append("defs").append("marker").attr("id", "compositionEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), i.append("defs").append("marker").attr("id", "aggregationStart").attr("class", "extension").attr("refX", 0).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), i.append("defs").append("marker").attr("id", "aggregationEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), i.append("defs").append("marker").attr("id", "dependencyStart").attr("class", "extension").attr("refX", 0).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 5,7 L9,13 L1,7 L9,1 Z"), i.append("defs").append("marker").attr("id", "dependencyEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L14,7 L9,1 Z") }, AHe = Object.freeze(Object.defineProperty({ __proto__: null, diagram: { parser: ZBt, db: TK, renderer: { draw: function (i, a, f, p) { const v = Oe().class; _K = {}, zt.info("Rendering diagram " + i); const m = Oe().securityLevel; let b; m === "sandbox" && (b = Mr("#i" + a)); const E = Mr(m === "sandbox" ? b.nodes()[0].contentDocument.body : "body"), C = E.select(`[id='${a}']`); SHe(C); const D = new jf({ multigraph: !0 }); D.setGraph({ isMultiGraph: !0 }), D.setDefaultEdgeLabel(function () { return {} }); const P = p.db.getClasses(), B = Object.keys(P); for (const st of B) { const pt = P[st], Tt = b0t.drawClass(C, pt, v, p); _K[Tt.id] = Tt, D.setNode(Tt.id, Tt), zt.info("Org height: " + Tt.height) } p.db.getRelations().forEach(function (st) { zt.info("tjoho" + LP(st.id1) + LP(st.id2) + JSON.stringify(st)), D.setEdge(LP(st.id1), LP(st.id2), { relation: st }, st.title || "DEFAULT") }), p.db.getNotes().forEach(function (st) { zt.debug(`Adding note: ${JSON.stringify(st)}`); const pt = b0t.drawNote(C, st, v, p); _K[pt.id] = pt, D.setNode(pt.id, pt), st.class && st.class in P && D.setEdge(st.id, LP(st.class), { relation: { id1: st.id, id2: st.class, relation: { type1: "none", type2: "none", lineType: 10 } } }, "DEFAULT") }), eL(D), D.nodes().forEach(function (st) { st !== void 0 && D.node(st) !== void 0 && (zt.debug("Node " + st + ": " + JSON.stringify(D.node(st))), E.select("#" + (p.db.lookUpDomId(st) || st)).attr("transform", "translate(" + (D.node(st).x - D.node(st).width / 2) + "," + (D.node(st).y - D.node(st).height / 2) + " )")) }), D.edges().forEach(function (st) { st !== void 0 && D.edge(st) !== void 0 && (zt.debug("Edge " + st.v + " -> " + st.w + ": " + JSON.stringify(D.edge(st))), b0t.drawEdge(C, D.edge(st), D.edge(st).relation, v, p)) }); const H = C.node().getBBox(), Y = H.width + CK * 2, it = H.height + CK * 2; Wb(C, it, Y, v.useMaxWidth); const nt = `${H.x - CK} ${H.y - CK} ${Y} ${it}`; zt.debug(`viewBox ${nt}`), C.attr("viewBox", nt) } }, styles: rRt, init: i => { i.class || (i.class = {}), i.class.arrowMarkerAbsolute = i.arrowMarkerAbsolute, TK.clear() } } }, Symbol.toStringTag, { value: "Module" })), ogt = i => yi.sanitizeText(i, Oe()); let cgt = { dividerMargin: 10, padding: 5, textHeight: 10, curve: void 0 }; const LHe = function (i, a, f, p) { const v = Object.keys(i); zt.info("keys:", v), zt.info(i), v.forEach(function (m) { var D, P; const b = i[m], C = { shape: "rect", id: b.id, domId: b.domId, labelText: ogt(b.id), labelStyle: "", style: "fill: none; stroke: black", padding: ((D = Oe().flowchart) == null ? void 0 : D.padding) ?? ((P = Oe().class) == null ? void 0 : P.padding) }; a.setNode(b.id, C), iRt(b.classes, a, f, p, b.id), zt.info("setNode", C) }) }, iRt = function (i, a, f, p, v) { const m = Object.keys(i); zt.info("keys:", m), zt.info(i), m.forEach(function (b) { var H, Y; const E = i[b]; let C = ""; E.cssClasses.length > 0 && (C = C + " " + E.cssClasses.join(" ")); const D = { labelStyle: "", style: "" }, P = E.label ?? E.id, B = 0, j = "class_box", R = { labelStyle: D.labelStyle, shape: j, labelText: ogt(P), classData: E, rx: B, ry: B, class: C, style: D.style, id: E.id, domId: E.domId, tooltip: p.db.getTooltip(E.id, v) || "", haveCallback: E.haveCallback, link: E.link, width: E.type === "group" ? 500 : void 0, type: E.type, padding: ((H = Oe().flowchart) == null ? void 0 : H.padding) ?? ((Y = Oe().class) == null ? void 0 : Y.padding) }; a.setNode(E.id, R), v && a.setParent(E.id, v), zt.info("setNode", R) }) }, MHe = function (i, a, f, p) { zt.info(i), i.forEach(function (v, m) { var Y, it; const b = v, E = "", C = { labelStyle: "", style: "" }, D = b.text, P = 0, B = "note", j = { labelStyle: C.labelStyle, shape: B, labelText: ogt(D), noteData: b, rx: P, ry: P, class: E, style: C.style, id: b.id, domId: b.id, tooltip: "", type: "note", padding: ((Y = Oe().flowchart) == null ? void 0 : Y.padding) ?? ((it = Oe().class) == null ? void 0 : it.padding) }; if (a.setNode(b.id, j), zt.info("setNode", j), !b.class || !(b.class in p)) return; const R = f + m, H = { id: `edgeNote${R}`, classes: "relation", pattern: "dotted", arrowhead: "none", startLabelRight: "", endLabelLeft: "", arrowTypeStart: "none", arrowTypeEnd: "none", style: "fill:none", labelStyle: "", curve: Xb(cgt.curve, rg) }; a.setEdge(b.id, b.class, H, R) }) }, DHe = function (i, a) {
        const f = Oe().flowchart; let p = 0; i.forEach(function (v) {
            var b; p++; const m = { classes: "relation", pattern: v.relation.lineType == 1 ? "dashed" : "solid", id: "id" + p, arrowhead: v.type === "arrow_open" ? "none" : "normal", startLabelRight: v.relationTitle1 === "none" ? "" : v.relationTitle1, endLabelLeft: v.relationTitle2 === "none" ? "" : v.relationTitle2, arrowTypeStart: sRt(v.relation.type1), arrowTypeEnd: sRt(v.relation.type2), style: "fill:none", labelStyle: "", curve: Xb(f == null ? void 0 : f.curve, rg) }; if (zt.info(m, v), v.style !== void 0) { const E = Qw(v.style); m.style = E.style, m.labelStyle = E.labelStyle } v.text = v.title, v.text === void 0 ? v.style !== void 0 && (m.arrowheadStyle = "fill: #333") : (m.arrowheadStyle = "fill: #333", m.labelpos = "c", ((b = Oe().flowchart) == null ? void 0 : b.htmlLabels) ?? Oe().htmlLabels ? (m.labelType = "html", m.label = '<span class="edgeLabel">' + v.text + "</span>") : (m.labelType = "text", m.label = v.text.replace(yi.lineBreakRegex, `
    `), v.style === void 0 && (m.style = m.style || "stroke: #333; stroke-width: 1.5px;fill:none"), m.labelStyle = m.labelStyle.replace("color:", "fill:"))), a.setEdge(v.id1, v.id2, m, p)
        })
    }, IHe = function (i) { cgt = { ...cgt, ...i } }, OHe = async function (i, a, f, p) { zt.info("Drawing class - ", a); const v = Oe().flowchart ?? Oe().class, m = Oe().securityLevel; zt.info("config:", v); const b = (v == null ? void 0 : v.nodeSpacing) ?? 50, E = (v == null ? void 0 : v.rankSpacing) ?? 50, C = new jf({ multigraph: !0, compound: !0 }).setGraph({ rankdir: p.db.getDirection(), nodesep: b, ranksep: E, marginx: 8, marginy: 8 }).setDefaultEdgeLabel(function () { return {} }), D = p.db.getNamespaces(), P = p.db.getClasses(), B = p.db.getRelations(), j = p.db.getNotes(); zt.info(B), LHe(D, C, a, p), iRt(P, C, a, p), DHe(B, C), MHe(j, C, B.length + 1, P); let R; m === "sandbox" && (R = Mr("#i" + a)); const H = Mr(m === "sandbox" ? R.nodes()[0].contentDocument.body : "body"), Y = H.select(`[id="${a}"]`), it = H.select("#" + a + " g"); if (await v0t(it, C, ["aggregation", "extension", "composition", "dependency", "lollipop"], "classDiagram", a), lo.insertTitle(Y, "classTitleText", (v == null ? void 0 : v.titleTopMargin) ?? 5, p.db.getDiagramTitle()), Z9(C, Y, v == null ? void 0 : v.diagramPadding, v == null ? void 0 : v.useMaxWidth), !(v != null && v.htmlLabels)) { const nt = m === "sandbox" ? R.nodes()[0].contentDocument : document, st = nt.querySelectorAll('[id="' + a + '"] .edgeLabel .label'); for (const pt of st) { const Tt = pt.getBBox(), kt = nt.createElementNS("http://www.w3.org/2000/svg", "rect"); kt.setAttribute("rx", 0), kt.setAttribute("ry", 0), kt.setAttribute("width", Tt.width), kt.setAttribute("height", Tt.height), pt.insertBefore(kt, pt.firstChild) } } }; function sRt(i) { let a; switch (i) { case 0: a = "aggregation"; break; case 1: a = "extension"; break; case 2: a = "composition"; break; case 3: a = "dependency"; break; case 4: a = "lollipop"; break; default: a = "none" }return a } const NHe = Object.freeze(Object.defineProperty({ __proto__: null, diagram: { parser: ZBt, db: TK, renderer: { setConf: IHe, draw: OHe }, styles: rRt, init: i => { i.class || (i.class = {}), i.class.arrowMarkerAbsolute = i.arrowMarkerAbsolute, TK.clear() } } }, Symbol.toStringTag, { value: "Module" })); var ugt = function () {
        var i = function (Wt, It, Nt, me) { for (Nt = Nt || {}, me = Wt.length; me--; Nt[Wt[me]] = It); return Nt }, a = [1, 2], f = [1, 3], p = [1, 5], v = [1, 7], m = [2, 5], b = [1, 15], E = [1, 17], C = [1, 21], D = [1, 22], P = [1, 23], B = [1, 24], j = [1, 37], R = [1, 25], H = [1, 26], Y = [1, 27], it = [1, 28], nt = [1, 29], st = [1, 32], pt = [1, 33], Tt = [1, 34], kt = [1, 35], yt = [1, 36], ht = [1, 39], mt = [1, 40], rt = [1, 41], wt = [1, 42], gt = [1, 38], lt = [1, 45], _t = [1, 4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 50, 51, 52, 53, 56, 60], X = [1, 4, 5, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 50, 51, 52, 53, 56, 60], Rt = [1, 4, 5, 7, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 50, 51, 52, 53, 56, 60], ft = [4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 50, 51, 52, 53, 56, 60], de = {
            trace: function () { }, yy: {}, symbols_: { error: 2, start: 3, SPACE: 4, NL: 5, directive: 6, SD: 7, document: 8, line: 9, statement: 10, classDefStatement: 11, cssClassStatement: 12, idStatement: 13, DESCR: 14, "-->": 15, HIDE_EMPTY: 16, scale: 17, WIDTH: 18, COMPOSIT_STATE: 19, STRUCT_START: 20, STRUCT_STOP: 21, STATE_DESCR: 22, AS: 23, ID: 24, FORK: 25, JOIN: 26, CHOICE: 27, CONCURRENT: 28, note: 29, notePosition: 30, NOTE_TEXT: 31, direction: 32, acc_title: 33, acc_title_value: 34, acc_descr: 35, acc_descr_value: 36, acc_descr_multiline_value: 37, classDef: 38, CLASSDEF_ID: 39, CLASSDEF_STYLEOPTS: 40, DEFAULT: 41, class: 42, CLASSENTITY_IDS: 43, STYLECLASS: 44, openDirective: 45, typeDirective: 46, closeDirective: 47, ":": 48, argDirective: 49, direction_tb: 50, direction_bt: 51, direction_rl: 52, direction_lr: 53, eol: 54, ";": 55, EDGE_STATE: 56, STYLE_SEPARATOR: 57, left_of: 58, right_of: 59, open_directive: 60, type_directive: 61, arg_directive: 62, close_directive: 63, $accept: 0, $end: 1 }, terminals_: { 2: "error", 4: "SPACE", 5: "NL", 7: "SD", 14: "DESCR", 15: "-->", 16: "HIDE_EMPTY", 17: "scale", 18: "WIDTH", 19: "COMPOSIT_STATE", 20: "STRUCT_START", 21: "STRUCT_STOP", 22: "STATE_DESCR", 23: "AS", 24: "ID", 25: "FORK", 26: "JOIN", 27: "CHOICE", 28: "CONCURRENT", 29: "note", 31: "NOTE_TEXT", 33: "acc_title", 34: "acc_title_value", 35: "acc_descr", 36: "acc_descr_value", 37: "acc_descr_multiline_value", 38: "classDef", 39: "CLASSDEF_ID", 40: "CLASSDEF_STYLEOPTS", 41: "DEFAULT", 42: "class", 43: "CLASSENTITY_IDS", 44: "STYLECLASS", 48: ":", 50: "direction_tb", 51: "direction_bt", 52: "direction_rl", 53: "direction_lr", 55: ";", 56: "EDGE_STATE", 57: "STYLE_SEPARATOR", 58: "left_of", 59: "right_of", 60: "open_directive", 61: "type_directive", 62: "arg_directive", 63: "close_directive" }, productions_: [0, [3, 2], [3, 2], [3, 2], [3, 2], [8, 0], [8, 2], [9, 2], [9, 1], [9, 1], [10, 1], [10, 1], [10, 1], [10, 2], [10, 3], [10, 4], [10, 1], [10, 2], [10, 1], [10, 4], [10, 3], [10, 6], [10, 1], [10, 1], [10, 1], [10, 1], [10, 4], [10, 4], [10, 1], [10, 1], [10, 2], [10, 2], [10, 1], [11, 3], [11, 3], [12, 3], [6, 3], [6, 5], [32, 1], [32, 1], [32, 1], [32, 1], [54, 1], [54, 1], [13, 1], [13, 1], [13, 3], [13, 3], [30, 1], [30, 1], [45, 1], [46, 1], [49, 1], [47, 1]], performAction: function (It, Nt, me, Ue, _n, _e, rr) { var Te = _e.length - 1; switch (_n) { case 4: return Ue.setRootDoc(_e[Te]), _e[Te]; case 5: this.$ = []; break; case 6: _e[Te] != "nl" && (_e[Te - 1].push(_e[Te]), this.$ = _e[Te - 1]); break; case 7: case 8: this.$ = _e[Te]; break; case 9: this.$ = "nl"; break; case 12: this.$ = _e[Te]; break; case 13: const Vt = _e[Te - 1]; Vt.description = Ue.trimColon(_e[Te]), this.$ = Vt; break; case 14: this.$ = { stmt: "relation", state1: _e[Te - 2], state2: _e[Te] }; break; case 15: const Ae = Ue.trimColon(_e[Te]); this.$ = { stmt: "relation", state1: _e[Te - 3], state2: _e[Te - 1], description: Ae }; break; case 19: this.$ = { stmt: "state", id: _e[Te - 3], type: "default", description: "", doc: _e[Te - 1] }; break; case 20: var ne = _e[Te], Ee = _e[Te - 2].trim(); if (_e[Te].match(":")) { var ye = _e[Te].split(":"); ne = ye[0], Ee = [Ee, ye[1]] } this.$ = { stmt: "state", id: ne, type: "default", description: Ee }; break; case 21: this.$ = { stmt: "state", id: _e[Te - 3], type: "default", description: _e[Te - 5], doc: _e[Te - 1] }; break; case 22: this.$ = { stmt: "state", id: _e[Te], type: "fork" }; break; case 23: this.$ = { stmt: "state", id: _e[Te], type: "join" }; break; case 24: this.$ = { stmt: "state", id: _e[Te], type: "choice" }; break; case 25: this.$ = { stmt: "state", id: Ue.getDividerId(), type: "divider" }; break; case 26: this.$ = { stmt: "state", id: _e[Te - 1].trim(), note: { position: _e[Te - 2].trim(), text: _e[Te].trim() } }; break; case 30: this.$ = _e[Te].trim(), Ue.setAccTitle(this.$); break; case 31: case 32: this.$ = _e[Te].trim(), Ue.setAccDescription(this.$); break; case 33: case 34: this.$ = { stmt: "classDef", id: _e[Te - 1].trim(), classes: _e[Te].trim() }; break; case 35: this.$ = { stmt: "applyClass", id: _e[Te - 1].trim(), styleClass: _e[Te].trim() }; break; case 38: Ue.setDirection("TB"), this.$ = { stmt: "dir", value: "TB" }; break; case 39: Ue.setDirection("BT"), this.$ = { stmt: "dir", value: "BT" }; break; case 40: Ue.setDirection("RL"), this.$ = { stmt: "dir", value: "RL" }; break; case 41: Ue.setDirection("LR"), this.$ = { stmt: "dir", value: "LR" }; break; case 44: case 45: this.$ = { stmt: "state", id: _e[Te].trim(), type: "default", description: "" }; break; case 46: this.$ = { stmt: "state", id: _e[Te - 2].trim(), classes: [_e[Te].trim()], type: "default", description: "" }; break; case 47: this.$ = { stmt: "state", id: _e[Te - 2].trim(), classes: [_e[Te].trim()], type: "default", description: "" }; break; case 50: Ue.parseDirective("%%{", "open_directive"); break; case 51: Ue.parseDirective(_e[Te], "type_directive"); break; case 52: _e[Te] = _e[Te].trim().replace(/'/g, '"'), Ue.parseDirective(_e[Te], "arg_directive"); break; case 53: Ue.parseDirective("}%%", "close_directive", "state"); break } }, table: [{ 3: 1, 4: a, 5: f, 6: 4, 7: p, 45: 6, 60: v }, { 1: [3] }, { 3: 8, 4: a, 5: f, 6: 4, 7: p, 45: 6, 60: v }, { 3: 9, 4: a, 5: f, 6: 4, 7: p, 45: 6, 60: v }, { 3: 10, 4: a, 5: f, 6: 4, 7: p, 45: 6, 60: v }, i([1, 4, 5, 16, 17, 19, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 50, 51, 52, 53, 56, 60], m, { 8: 11 }), { 46: 12, 61: [1, 13] }, { 61: [2, 50] }, { 1: [2, 1] }, { 1: [2, 2] }, { 1: [2, 3] }, { 1: [2, 4], 4: b, 5: E, 6: 30, 9: 14, 10: 16, 11: 18, 12: 19, 13: 20, 16: C, 17: D, 19: P, 22: B, 24: j, 25: R, 26: H, 27: Y, 28: it, 29: nt, 32: 31, 33: st, 35: pt, 37: Tt, 38: kt, 42: yt, 45: 6, 50: ht, 51: mt, 52: rt, 53: wt, 56: gt, 60: v }, { 47: 43, 48: [1, 44], 63: lt }, i([48, 63], [2, 51]), i(_t, [2, 6]), { 6: 30, 10: 46, 11: 18, 12: 19, 13: 20, 16: C, 17: D, 19: P, 22: B, 24: j, 25: R, 26: H, 27: Y, 28: it, 29: nt, 32: 31, 33: st, 35: pt, 37: Tt, 38: kt, 42: yt, 45: 6, 50: ht, 51: mt, 52: rt, 53: wt, 56: gt, 60: v }, i(_t, [2, 8]), i(_t, [2, 9]), i(_t, [2, 10]), i(_t, [2, 11]), i(_t, [2, 12], { 14: [1, 47], 15: [1, 48] }), i(_t, [2, 16]), { 18: [1, 49] }, i(_t, [2, 18], { 20: [1, 50] }), { 23: [1, 51] }, i(_t, [2, 22]), i(_t, [2, 23]), i(_t, [2, 24]), i(_t, [2, 25]), { 30: 52, 31: [1, 53], 58: [1, 54], 59: [1, 55] }, i(_t, [2, 28]), i(_t, [2, 29]), { 34: [1, 56] }, { 36: [1, 57] }, i(_t, [2, 32]), { 39: [1, 58], 41: [1, 59] }, { 43: [1, 60] }, i(X, [2, 44], { 57: [1, 61] }), i(X, [2, 45], { 57: [1, 62] }), i(_t, [2, 38]), i(_t, [2, 39]), i(_t, [2, 40]), i(_t, [2, 41]), i(Rt, [2, 36]), { 49: 63, 62: [1, 64] }, i(Rt, [2, 53]), i(_t, [2, 7]), i(_t, [2, 13]), { 13: 65, 24: j, 56: gt }, i(_t, [2, 17]), i(ft, m, { 8: 66 }), { 24: [1, 67] }, { 24: [1, 68] }, { 23: [1, 69] }, { 24: [2, 48] }, { 24: [2, 49] }, i(_t, [2, 30]), i(_t, [2, 31]), { 40: [1, 70] }, { 40: [1, 71] }, { 44: [1, 72] }, { 24: [1, 73] }, { 24: [1, 74] }, { 47: 75, 63: lt }, { 63: [2, 52] }, i(_t, [2, 14], { 14: [1, 76] }), { 4: b, 5: E, 6: 30, 9: 14, 10: 16, 11: 18, 12: 19, 13: 20, 16: C, 17: D, 19: P, 21: [1, 77], 22: B, 24: j, 25: R, 26: H, 27: Y, 28: it, 29: nt, 32: 31, 33: st, 35: pt, 37: Tt, 38: kt, 42: yt, 45: 6, 50: ht, 51: mt, 52: rt, 53: wt, 56: gt, 60: v }, i(_t, [2, 20], { 20: [1, 78] }), { 31: [1, 79] }, { 24: [1, 80] }, i(_t, [2, 33]), i(_t, [2, 34]), i(_t, [2, 35]), i(X, [2, 46]), i(X, [2, 47]), i(Rt, [2, 37]), i(_t, [2, 15]), i(_t, [2, 19]), i(ft, m, { 8: 81 }), i(_t, [2, 26]), i(_t, [2, 27]), { 4: b, 5: E, 6: 30, 9: 14, 10: 16, 11: 18, 12: 19, 13: 20, 16: C, 17: D, 19: P, 21: [1, 82], 22: B, 24: j, 25: R, 26: H, 27: Y, 28: it, 29: nt, 32: 31, 33: st, 35: pt, 37: Tt, 38: kt, 42: yt, 45: 6, 50: ht, 51: mt, 52: rt, 53: wt, 56: gt, 60: v }, i(_t, [2, 21])], defaultActions: { 7: [2, 50], 8: [2, 1], 9: [2, 2], 10: [2, 3], 54: [2, 48], 55: [2, 49], 64: [2, 52] }, parseError: function (It, Nt) { if (Nt.recoverable) this.trace(It); else { var me = new Error(It); throw me.hash = Nt, me } }, parse: function (It) {
                var Nt = this, me = [0], Ue = [], _n = [null], _e = [], rr = this.table, Te = "", ne = 0, Ee = 0, ye = 2, Vt = 1, Ae = _e.slice.call(arguments, 1), Gt = Object.create(this.lexer), un = { yy: {} }; for (var jt in this.yy) Object.prototype.hasOwnProperty.call(this.yy, jt) && (un.yy[jt] = this.yy[jt]); Gt.setInput(It, un.yy), un.yy.lexer = Gt, un.yy.parser = this, typeof Gt.yylloc > "u" && (Gt.yylloc = {}); var Ke = Gt.yylloc; _e.push(Ke); var oe = Gt.options && Gt.options.ranges; typeof un.yy.parseError == "function" ? this.parseError = un.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; function Or() { var hr; return hr = Ue.pop() || Gt.lex() || Vt, typeof hr != "number" && (hr instanceof Array && (Ue = hr, hr = Ue.pop()), hr = Nt.symbols_[hr] || hr), hr } for (var Le, Nr, fe, sr, Yn = {}, tr, ur, gn, En; ;) {
                    if (Nr = me[me.length - 1], this.defaultActions[Nr] ? fe = this.defaultActions[Nr] : ((Le === null || typeof Le > "u") && (Le = Or()), fe = rr[Nr] && rr[Nr][Le]), typeof fe > "u" || !fe.length || !fe[0]) {
                        var Dr = ""; En = []; for (tr in rr[Nr]) this.terminals_[tr] && tr > ye && En.push("'" + this.terminals_[tr] + "'"); Gt.showPosition ? Dr = "Parse error on line " + (ne + 1) + `:
    `+ Gt.showPosition() + `
    Expecting `+ En.join(", ") + ", got '" + (this.terminals_[Le] || Le) + "'" : Dr = "Parse error on line " + (ne + 1) + ": Unexpected " + (Le == Vt ? "end of input" : "'" + (this.terminals_[Le] || Le) + "'"), this.parseError(Dr, { text: Gt.match, token: this.terminals_[Le] || Le, line: Gt.yylineno, loc: Ke, expected: En })
                    } if (fe[0] instanceof Array && fe.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + Nr + ", token: " + Le); switch (fe[0]) { case 1: me.push(Le), _n.push(Gt.yytext), _e.push(Gt.yylloc), me.push(fe[1]), Le = null, Ee = Gt.yyleng, Te = Gt.yytext, ne = Gt.yylineno, Ke = Gt.yylloc; break; case 2: if (ur = this.productions_[fe[1]][1], Yn.$ = _n[_n.length - ur], Yn._$ = { first_line: _e[_e.length - (ur || 1)].first_line, last_line: _e[_e.length - 1].last_line, first_column: _e[_e.length - (ur || 1)].first_column, last_column: _e[_e.length - 1].last_column }, oe && (Yn._$.range = [_e[_e.length - (ur || 1)].range[0], _e[_e.length - 1].range[1]]), sr = this.performAction.apply(Yn, [Te, Ee, ne, un.yy, fe[1], _n, _e].concat(Ae)), typeof sr < "u") return sr; ur && (me = me.slice(0, -1 * ur * 2), _n = _n.slice(0, -1 * ur), _e = _e.slice(0, -1 * ur)), me.push(this.productions_[fe[1]][0]), _n.push(Yn.$), _e.push(Yn._$), gn = rr[me[me.length - 2]][me[me.length - 1]], me.push(gn); break; case 3: return !0 }
                } return !0
            }
        }, J = function () {
            var Wt = {
                EOF: 1, parseError: function (Nt, me) { if (this.yy.parser) this.yy.parser.parseError(Nt, me); else throw new Error(Nt) }, setInput: function (It, Nt) { return this.yy = Nt || this.yy || {}, this._input = It, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this }, input: function () { var It = this._input[0]; this.yytext += It, this.yyleng++, this.offset++, this.match += It, this.matched += It; var Nt = It.match(/(?:\r\n?|\n).*/g); return Nt ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), It }, unput: function (It) { var Nt = It.length, me = It.split(/(?:\r\n?|\n)/g); this._input = It + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - Nt), this.offset -= Nt; var Ue = this.match.split(/(?:\r\n?|\n)/g); this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), me.length - 1 && (this.yylineno -= me.length - 1); var _n = this.yylloc.range; return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: me ? (me.length === Ue.length ? this.yylloc.first_column : 0) + Ue[Ue.length - me.length].length - me[0].length : this.yylloc.first_column - Nt }, this.options.ranges && (this.yylloc.range = [_n[0], _n[0] + this.yyleng - Nt]), this.yyleng = this.yytext.length, this }, more: function () { return this._more = !0, this }, reject: function () {
                    if (this.options.backtrack_lexer) this._backtrack = !0; else 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).
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno }); return this
                }, less: function (It) { this.unput(this.match.slice(It)) }, pastInput: function () { var It = this.matched.substr(0, this.matched.length - this.match.length); return (It.length > 20 ? "..." : "") + It.substr(-20).replace(/\n/g, "") }, upcomingInput: function () { var It = this.match; return It.length < 20 && (It += this._input.substr(0, 20 - It.length)), (It.substr(0, 20) + (It.length > 20 ? "..." : "")).replace(/\n/g, "") }, showPosition: function () {
                    var It = this.pastInput(), Nt = new Array(It.length + 1).join("-"); return It + this.upcomingInput() + `
    `+ Nt + "^"
                }, test_match: function (It, Nt) { var me, Ue, _n; if (this.options.backtrack_lexer && (_n = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (_n.yylloc.range = this.yylloc.range.slice(0))), Ue = It[0].match(/(?:\r\n?|\n).*/g), Ue && (this.yylineno += Ue.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: Ue ? Ue[Ue.length - 1].length - Ue[Ue.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + It[0].length }, this.yytext += It[0], this.match += It[0], this.matches = It, 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(It[0].length), this.matched += It[0], me = this.performAction.call(this, this.yy, this, Nt, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), me) return me; if (this._backtrack) { for (var _e in _n) this[_e] = _n[_e]; return !1 } return !1 }, next: function () {
                    if (this.done) return this.EOF; this._input || (this.done = !0); var It, Nt, me, Ue; this._more || (this.yytext = "", this.match = ""); for (var _n = this._currentRules(), _e = 0; _e < _n.length; _e++)if (me = this._input.match(this.rules[_n[_e]]), me && (!Nt || me[0].length > Nt[0].length)) { if (Nt = me, Ue = _e, this.options.backtrack_lexer) { if (It = this.test_match(me, _n[_e]), It !== !1) return It; if (this._backtrack) { Nt = !1; continue } else return !1 } else if (!this.options.flex) break } return Nt ? (It = this.test_match(Nt, _n[Ue]), It !== !1 ? It : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno })
                }, lex: function () { var Nt = this.next(); return Nt || this.lex() }, begin: function (Nt) { this.conditionStack.push(Nt) }, popState: function () { var Nt = this.conditionStack.length - 1; return Nt > 0 ? this.conditionStack.pop() : this.conditionStack[0] }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules }, topState: function (Nt) { return Nt = this.conditionStack.length - 1 - Math.abs(Nt || 0), Nt >= 0 ? this.conditionStack[Nt] : "INITIAL" }, pushState: function (Nt) { this.begin(Nt) }, stateStackSize: function () { return this.conditionStack.length }, options: { "case-insensitive": !0 }, performAction: function (Nt, me, Ue, _n) { switch (Ue) { case 0: return 41; case 1: return 50; case 2: return 51; case 3: return 52; case 4: return 53; case 5: return this.begin("open_directive"), 60; case 6: return this.begin("type_directive"), 61; case 7: return this.popState(), this.begin("arg_directive"), 48; case 8: return this.popState(), this.popState(), 63; case 9: return 62; case 10: break; case 11: break; case 12: return 5; case 13: break; case 14: break; case 15: break; case 16: break; case 17: return this.pushState("SCALE"), 17; case 18: return 18; case 19: this.popState(); break; case 20: return this.begin("acc_title"), 33; case 21: return this.popState(), "acc_title_value"; case 22: return this.begin("acc_descr"), 35; case 23: return this.popState(), "acc_descr_value"; case 24: this.begin("acc_descr_multiline"); break; case 25: this.popState(); break; case 26: return "acc_descr_multiline_value"; case 27: return this.pushState("CLASSDEF"), 38; case 28: return this.popState(), this.pushState("CLASSDEFID"), "DEFAULT_CLASSDEF_ID"; case 29: return this.popState(), this.pushState("CLASSDEFID"), 39; case 30: return this.popState(), 40; case 31: return this.pushState("CLASS"), 42; case 32: return this.popState(), this.pushState("CLASS_STYLE"), 43; case 33: return this.popState(), 44; case 34: return this.pushState("SCALE"), 17; case 35: return 18; case 36: this.popState(); break; case 37: this.pushState("STATE"); break; case 38: return this.popState(), me.yytext = me.yytext.slice(0, -8).trim(), 25; case 39: return this.popState(), me.yytext = me.yytext.slice(0, -8).trim(), 26; case 40: return this.popState(), me.yytext = me.yytext.slice(0, -10).trim(), 27; case 41: return this.popState(), me.yytext = me.yytext.slice(0, -8).trim(), 25; case 42: return this.popState(), me.yytext = me.yytext.slice(0, -8).trim(), 26; case 43: return this.popState(), me.yytext = me.yytext.slice(0, -10).trim(), 27; case 44: return 50; case 45: return 51; case 46: return 52; case 47: return 53; case 48: this.pushState("STATE_STRING"); break; case 49: return this.pushState("STATE_ID"), "AS"; case 50: return this.popState(), "ID"; case 51: this.popState(); break; case 52: return "STATE_DESCR"; case 53: return 19; case 54: this.popState(); break; case 55: return this.popState(), this.pushState("struct"), 20; case 56: break; case 57: return this.popState(), 21; case 58: break; case 59: return this.begin("NOTE"), 29; case 60: return this.popState(), this.pushState("NOTE_ID"), 58; case 61: return this.popState(), this.pushState("NOTE_ID"), 59; case 62: this.popState(), this.pushState("FLOATING_NOTE"); break; case 63: return this.popState(), this.pushState("FLOATING_NOTE_ID"), "AS"; case 64: break; case 65: return "NOTE_TEXT"; case 66: return this.popState(), "ID"; case 67: return this.popState(), this.pushState("NOTE_TEXT"), 24; case 68: return this.popState(), me.yytext = me.yytext.substr(2).trim(), 31; case 69: return this.popState(), me.yytext = me.yytext.slice(0, -8).trim(), 31; case 70: return 7; case 71: return 7; case 72: return 16; case 73: return 56; case 74: return 24; case 75: return me.yytext = me.yytext.trim(), 14; case 76: return 15; case 77: return 28; case 78: return 57; case 79: return 5; case 80: return "INVALID" } }, rules: [/^(?:default\b)/i, /^(?:.*direction\s+TB[^\n]*)/i, /^(?:.*direction\s+BT[^\n]*)/i, /^(?:.*direction\s+RL[^\n]*)/i, /^(?:.*direction\s+LR[^\n]*)/i, /^(?:%%\{)/i, /^(?:((?:(?!\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\}%%)/i, /^(?:((?:(?!\}%%).|\n)*))/i, /^(?:%%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[\n]+)/i, /^(?:[\s]+)/i, /^(?:((?!\n)\s)+)/i, /^(?:#[^\n]*)/i, /^(?:%[^\n]*)/i, /^(?:scale\s+)/i, /^(?:\d+)/i, /^(?:\s+width\b)/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:classDef\s+)/i, /^(?:DEFAULT\s+)/i, /^(?:\w+\s+)/i, /^(?:[^\n]*)/i, /^(?:class\s+)/i, /^(?:(\w+)+((,\s*\w+)*))/i, /^(?:[^\n]*)/i, /^(?:scale\s+)/i, /^(?:\d+)/i, /^(?:\s+width\b)/i, /^(?:state\s+)/i, /^(?:.*<<fork>>)/i, /^(?:.*<<join>>)/i, /^(?:.*<<choice>>)/i, /^(?:.*\[\[fork\]\])/i, /^(?:.*\[\[join\]\])/i, /^(?:.*\[\[choice\]\])/i, /^(?:.*direction\s+TB[^\n]*)/i, /^(?:.*direction\s+BT[^\n]*)/i, /^(?:.*direction\s+RL[^\n]*)/i, /^(?:.*direction\s+LR[^\n]*)/i, /^(?:["])/i, /^(?:\s*as\s+)/i, /^(?:[^\n\{]*)/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:[^\n\s\{]+)/i, /^(?:\n)/i, /^(?:\{)/i, /^(?:%%(?!\{)[^\n]*)/i, /^(?:\})/i, /^(?:[\n])/i, /^(?:note\s+)/i, /^(?:left of\b)/i, /^(?:right of\b)/i, /^(?:")/i, /^(?:\s*as\s*)/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:[^\n]*)/i, /^(?:\s*[^:\n\s\-]+)/i, /^(?:\s*:[^:\n;]+)/i, /^(?:[\s\S]*?end note\b)/i, /^(?:stateDiagram\s+)/i, /^(?:stateDiagram-v2\s+)/i, /^(?:hide empty description\b)/i, /^(?:\[\*\])/i, /^(?:[^:\n\s\-\{]+)/i, /^(?:\s*:[^:\n;]+)/i, /^(?:-->)/i, /^(?:--)/i, /^(?::::)/i, /^(?:$)/i, /^(?:.)/i], conditions: { LINE: { rules: [14, 15], inclusive: !1 }, close_directive: { rules: [14, 15], inclusive: !1 }, arg_directive: { rules: [8, 9, 14, 15], inclusive: !1 }, type_directive: { rules: [7, 8, 14, 15], inclusive: !1 }, open_directive: { rules: [6, 14, 15], inclusive: !1 }, struct: { rules: [14, 15, 27, 31, 37, 44, 45, 46, 47, 56, 57, 58, 59, 73, 74, 75, 76, 77], inclusive: !1 }, FLOATING_NOTE_ID: { rules: [66], inclusive: !1 }, FLOATING_NOTE: { rules: [63, 64, 65], inclusive: !1 }, NOTE_TEXT: { rules: [68, 69], inclusive: !1 }, NOTE_ID: { rules: [67], inclusive: !1 }, NOTE: { rules: [60, 61, 62], inclusive: !1 }, CLASS_STYLE: { rules: [33], inclusive: !1 }, CLASS: { rules: [32], inclusive: !1 }, CLASSDEFID: { rules: [30], inclusive: !1 }, CLASSDEF: { rules: [28, 29], inclusive: !1 }, acc_descr_multiline: { rules: [25, 26], inclusive: !1 }, acc_descr: { rules: [23], inclusive: !1 }, acc_title: { rules: [21], inclusive: !1 }, SCALE: { rules: [18, 19, 35, 36], inclusive: !1 }, ALIAS: { rules: [], inclusive: !1 }, STATE_ID: { rules: [50], inclusive: !1 }, STATE_STRING: { rules: [51, 52], inclusive: !1 }, FORK_STATE: { rules: [], inclusive: !1 }, STATE: { rules: [14, 15, 38, 39, 40, 41, 42, 43, 48, 49, 53, 54, 55], inclusive: !1 }, ID: { rules: [14, 15], inclusive: !1 }, INITIAL: { rules: [0, 1, 2, 3, 4, 5, 10, 11, 12, 13, 15, 16, 17, 20, 22, 24, 27, 31, 34, 37, 55, 59, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80], inclusive: !0 } }
            }; return Wt
        }(); de.lexer = J; function ae() { this.yy = {} } return ae.prototype = de, de.Parser = ae, new ae
    }(); ugt.parser = ugt; const aRt = ugt, PHe = "LR", FHe = "TB", SK = "state", lgt = "relation", BHe = "classDef", RHe = "applyClass", MP = "default", oRt = "divider", hgt = "[*]", cRt = "start", uRt = hgt, lRt = "end", hRt = "color", fRt = "fill", jHe = "bgFill", $He = ","; function dRt() { return {} } let gRt = PHe, AK = [], DP = dRt(); const pRt = () => ({ relations: [], states: {}, documents: {} }); let LK = { root: pRt() }, E0 = LK.root, IP = 0, bRt = 0; const zHe = { LINE: 0, DOTTED_LINE: 1 }, qHe = { AGGREGATION: 0, EXTENSION: 1, COMPOSITION: 2, DEPENDENCY: 3 }, MK = i => JSON.parse(JSON.stringify(i)), HHe = function (i, a, f) { d1.parseDirective(this, i, a, f) }, VHe = i => { zt.info("Setting root doc", i), AK = i }, GHe = () => AK, DK = (i, a, f) => { if (a.stmt === lgt) DK(i, a.state1, !0), DK(i, a.state2, !1); else if (a.stmt === SK && (a.id === "[*]" ? (a.id = f ? i.id + "_start" : i.id + "_end", a.start = f) : a.id = a.id.trim()), a.doc) { const p = []; let v = [], m; for (m = 0; m < a.doc.length; m++)if (a.doc[m].type === oRt) { const b = MK(a.doc[m]); b.doc = MK(v), p.push(b), v = [] } else v.push(a.doc[m]); if (p.length > 0 && v.length > 0) { const b = { stmt: SK, id: xIt(), type: "divider", doc: MK(v) }; p.push(MK(b)), a.doc = p } a.doc.forEach(b => DK(a, b, !0)) } }, UHe = () => (DK({ id: "root" }, { id: "root", doc: AK }, !0), { id: "root", doc: AK }), WHe = i => { let a; i.doc ? a = i.doc : a = i, zt.info(a), vRt(!0), zt.info("Extract", a), a.forEach(f => { switch (f.stmt) { case SK: mE(f.id.trim(), f.type, f.doc, f.description, f.note, f.classes, f.styles, f.textStyles); break; case lgt: wRt(f.state1, f.state2, f.description); break; case BHe: mRt(f.id.trim(), f.classes); break; case RHe: pgt(f.id.trim(), f.styleClass); break } }) }, mE = function (i, a = MP, f = null, p = null, v = null, m = null, b = null, E = null) { const C = i == null ? void 0 : i.trim(); E0.states[C] === void 0 ? (zt.info("Adding state ", C, p), E0.states[C] = { id: C, descriptions: [], type: a, doc: f, note: v, classes: [], styles: [], textStyles: [] }) : (E0.states[C].doc || (E0.states[C].doc = f), E0.states[C].type || (E0.states[C].type = a)), p && (zt.info("Setting state description", C, p), typeof p == "string" && ggt(C, p.trim()), typeof p == "object" && p.forEach(D => ggt(C, D.trim()))), v && (E0.states[C].note = v, E0.states[C].note.text = yi.sanitizeText(E0.states[C].note.text, Oe())), m && (zt.info("Setting state classes", C, m), (typeof m == "string" ? [m] : m).forEach(P => pgt(C, P.trim()))), b && (zt.info("Setting state styles", C, b), (typeof b == "string" ? [b] : b).forEach(P => rVe(C, P.trim()))), E && (zt.info("Setting state styles", C, b), (typeof E == "string" ? [E] : E).forEach(P => iVe(C, P.trim()))) }, vRt = function (i) { LK = { root: pRt() }, E0 = LK.root, IP = 0, DP = dRt(), i || cg() }, OP = function (i) { return E0.states[i] }, KHe = function () { return E0.states }, YHe = function () { zt.info("Documents = ", LK) }, XHe = function () { return E0.relations }; function fgt(i = "") { let a = i; return i === hgt && (IP++, a = `${cRt}${IP}`), a } function dgt(i = "", a = MP) { return i === hgt ? cRt : a } function QHe(i = "") { let a = i; return i === uRt && (IP++, a = `${lRt}${IP}`), a } function ZHe(i = "", a = MP) { return i === uRt ? lRt : a } function JHe(i, a, f) { let p = fgt(i.id.trim()), v = dgt(i.id.trim(), i.type), m = fgt(a.id.trim()), b = dgt(a.id.trim(), a.type); mE(p, v, i.doc, i.description, i.note, i.classes, i.styles, i.textStyles), mE(m, b, a.doc, a.description, a.note, a.classes, a.styles, a.textStyles), E0.relations.push({ id1: p, id2: m, relationTitle: yi.sanitizeText(f, Oe()) }) } const wRt = function (i, a, f) { if (typeof i == "object") JHe(i, a, f); else { const p = fgt(i.trim()), v = dgt(i), m = QHe(a.trim()), b = ZHe(a); mE(p, v), mE(m, b), E0.relations.push({ id1: p, id2: m, title: yi.sanitizeText(f, Oe()) }) } }, ggt = function (i, a) { const f = E0.states[i], p = a.startsWith(":") ? a.replace(":", "").trim() : a; f.descriptions.push(yi.sanitizeText(p, Oe())) }, tVe = function (i) { return i.substring(0, 1) === ":" ? i.substr(2).trim() : i.trim() }, eVe = () => (bRt++, "divider-id-" + bRt), mRt = function (i, a = "") { DP[i] === void 0 && (DP[i] = { id: i, styles: [], textStyles: [] }); const f = DP[i]; a != null && a.split($He).forEach(p => { const v = p.replace(/([^;]*);/, "$1").trim(); if (p.match(hRt)) { const b = v.replace(fRt, jHe).replace(hRt, fRt); f.textStyles.push(b) } f.styles.push(v) }) }, nVe = function () { return DP }, pgt = function (i, a) { i.split(",").forEach(function (f) { let p = OP(f); if (p === void 0) { const v = f.trim(); mE(v), p = OP(v) } p.classes.push(a) }) }, rVe = function (i, a) { const f = OP(i); f !== void 0 && f.textStyles.push(a) }, iVe = function (i, a) { const f = OP(i); f !== void 0 && f.textStyles.push(a) }, N5 = { parseDirective: HHe, getConfig: () => Oe().state, addState: mE, clear: vRt, getState: OP, getStates: KHe, getRelations: XHe, getClasses: nVe, getDirection: () => gRt, addRelation: wRt, getDividerId: eVe, setDirection: i => { gRt = i }, cleanupLabel: tVe, lineType: zHe, relationType: qHe, logDocuments: YHe, getRootDoc: GHe, setRootDoc: VHe, getRootDocV2: UHe, extract: WHe, trimColon: i => i && i[0] === ":" ? i.substr(1).trim() : i.trim(), getAccTitle: op, setAccTitle: ug, getAccDescription: up, setAccDescription: cp, addStyleClass: mRt, setCssClass: pgt, addDescription: ggt, setDiagramTitle: Kb, getDiagramTitle: O2 }, yRt = i => `
    defs #statediagram-barbEnd {
        fill: ${i.transitionColor};
        stroke: ${i.transitionColor};
      }
    g.stateGroup text {
      fill: ${i.nodeBorder};
      stroke: none;
      font-size: 10px;
    }
    g.stateGroup text {
      fill: ${i.textColor};
      stroke: none;
      font-size: 10px;
    
    }
    g.stateGroup .state-title {
      font-weight: bolder;
      fill: ${i.stateLabelColor};
    }
    
    g.stateGroup rect {
      fill: ${i.mainBkg};
      stroke: ${i.nodeBorder};
    }
    
    g.stateGroup line {
      stroke: ${i.lineColor};
      stroke-width: 1;
    }
    
    .transition {
      stroke: ${i.transitionColor};
      stroke-width: 1;
      fill: none;
    }
    
    .stateGroup .composit {
      fill: ${i.background};
      border-bottom: 1px
    }
    
    .stateGroup .alt-composit {
      fill: #e0e0e0;
      border-bottom: 1px
    }
    
    .state-note {
      stroke: ${i.noteBorderColor};
      fill: ${i.noteBkgColor};
    
      text {
        fill: ${i.noteTextColor};
        stroke: none;
        font-size: 10px;
      }
    }
    
    .stateLabel .box {
      stroke: none;
      stroke-width: 0;
      fill: ${i.mainBkg};
      opacity: 0.5;
    }
    
    .edgeLabel .label rect {
      fill: ${i.labelBackgroundColor};
      opacity: 0.5;
    }
    .edgeLabel .label text {
      fill: ${i.transitionLabelColor || i.tertiaryTextColor};
    }
    .label div .edgeLabel {
      color: ${i.transitionLabelColor || i.tertiaryTextColor};
    }
    
    .stateLabel text {
      fill: ${i.stateLabelColor};
      font-size: 10px;
      font-weight: bold;
    }
    
    .node circle.state-start {
      fill: ${i.specialStateColor};
      stroke: ${i.specialStateColor};
    }
    
    .node .fork-join {
      fill: ${i.specialStateColor};
      stroke: ${i.specialStateColor};
    }
    
    .node circle.state-end {
      fill: ${i.innerEndBackground};
      stroke: ${i.background};
      stroke-width: 1.5
    }
    .end-state-inner {
      fill: ${i.compositeBackground || i.background};
      // stroke: ${i.background};
      stroke-width: 1.5
    }
    
    .node rect {
      fill: ${i.stateBkg || i.mainBkg};
      stroke: ${i.stateBorder || i.nodeBorder};
      stroke-width: 1px;
    }
    .node polygon {
      fill: ${i.mainBkg};
      stroke: ${i.stateBorder || i.nodeBorder};;
      stroke-width: 1px;
    }
    #statediagram-barbEnd {
      fill: ${i.lineColor};
    }
    
    .statediagram-cluster rect {
      fill: ${i.compositeTitleBackground};
      stroke: ${i.stateBorder || i.nodeBorder};
      stroke-width: 1px;
    }
    
    .cluster-label, .nodeLabel {
      color: ${i.stateLabelColor};
    }
    
    .statediagram-cluster rect.outer {
      rx: 5px;
      ry: 5px;
    }
    .statediagram-state .divider {
      stroke: ${i.stateBorder || i.nodeBorder};
    }
    
    .statediagram-state .title-state {
      rx: 5px;
      ry: 5px;
    }
    .statediagram-cluster.statediagram-cluster .inner {
      fill: ${i.compositeBackground || i.background};
    }
    .statediagram-cluster.statediagram-cluster-alt .inner {
      fill: ${i.altBackground ? i.altBackground : "#efefef"};
    }
    
    .statediagram-cluster .inner {
      rx:0;
      ry:0;
    }
    
    .statediagram-state rect.basic {
      rx: 5px;
      ry: 5px;
    }
    .statediagram-state rect.divider {
      stroke-dasharray: 10,10;
      fill: ${i.altBackground ? i.altBackground : "#efefef"};
    }
    
    .note-edge {
      stroke-dasharray: 5;
    }
    
    .statediagram-note rect {
      fill: ${i.noteBkgColor};
      stroke: ${i.noteBorderColor};
      stroke-width: 1px;
      rx: 0;
      ry: 0;
    }
    .statediagram-note rect {
      fill: ${i.noteBkgColor};
      stroke: ${i.noteBorderColor};
      stroke-width: 1px;
      rx: 0;
      ry: 0;
    }
    
    .statediagram-note text {
      fill: ${i.noteTextColor};
    }
    
    .statediagram-note .nodeLabel {
      color: ${i.noteTextColor};
    }
    .statediagram .edgeLabel {
      color: red; // ${i.noteTextColor};
    }
    
    #dependencyStart, #dependencyEnd {
      fill: ${i.lineColor};
      stroke: ${i.lineColor};
      stroke-width: 1;
    }
    
    .statediagramTitleText {
      text-anchor: middle;
      font-size: 18px;
      fill: ${i.textColor};
    }
    `, bgt = {}, sVe = (i, a) => { bgt[i] = a }, aVe = i => bgt[i], xRt = () => Object.keys(bgt), oVe = { get: aVe, set: sVe, keys: xRt, size: () => xRt().length }, cVe = i => i.append("circle").attr("class", "start-state").attr("r", Oe().state.sizeUnit).attr("cx", Oe().state.padding + Oe().state.sizeUnit).attr("cy", Oe().state.padding + Oe().state.sizeUnit), uVe = i => i.append("line").style("stroke", "grey").style("stroke-dasharray", "3").attr("x1", Oe().state.textHeight).attr("class", "divider").attr("x2", Oe().state.textHeight * 2).attr("y1", 0).attr("y2", 0), lVe = (i, a) => { const f = i.append("text").attr("x", 2 * Oe().state.padding).attr("y", Oe().state.textHeight + 2 * Oe().state.padding).attr("font-size", Oe().state.fontSize).attr("class", "state-title").text(a.id), p = f.node().getBBox(); return i.insert("rect", ":first-child").attr("x", Oe().state.padding).attr("y", Oe().state.padding).attr("width", p.width + 2 * Oe().state.padding).attr("height", p.height + 2 * Oe().state.padding).attr("rx", Oe().state.radius), f }, hVe = (i, a) => { const f = function (j, R, H) { const Y = j.append("tspan").attr("x", 2 * Oe().state.padding).text(R); H || Y.attr("dy", Oe().state.textHeight) }, v = i.append("text").attr("x", 2 * Oe().state.padding).attr("y", Oe().state.textHeight + 1.3 * Oe().state.padding).attr("font-size", Oe().state.fontSize).attr("class", "state-title").text(a.descriptions[0]).node().getBBox(), m = v.height, b = i.append("text").attr("x", Oe().state.padding).attr("y", m + Oe().state.padding * .4 + Oe().state.dividerMargin + Oe().state.textHeight).attr("class", "state-description"); let E = !0, C = !0; a.descriptions.forEach(function (j) { E || (f(b, j, C), C = !1), E = !1 }); const D = i.append("line").attr("x1", Oe().state.padding).attr("y1", Oe().state.padding + m + Oe().state.dividerMargin / 2).attr("y2", Oe().state.padding + m + Oe().state.dividerMargin / 2).attr("class", "descr-divider"), P = b.node().getBBox(), B = Math.max(P.width, v.width); return D.attr("x2", B + 3 * Oe().state.padding), i.insert("rect", ":first-child").attr("x", Oe().state.padding).attr("y", Oe().state.padding).attr("width", B + 2 * Oe().state.padding).attr("height", P.height + m + 2 * Oe().state.padding).attr("rx", Oe().state.radius), i }, fVe = (i, a, f) => { const p = Oe().state.padding, v = 2 * Oe().state.padding, m = i.node().getBBox(), b = m.width, E = m.x, C = i.append("text").attr("x", 0).attr("y", Oe().state.titleShift).attr("font-size", Oe().state.fontSize).attr("class", "state-title").text(a.id), P = C.node().getBBox().width + v; let B = Math.max(P, b); B === b && (B = B + v); let j; const R = i.node().getBBox(); a.doc, j = E - p, P > b && (j = (b - B) / 2 + p), Math.abs(E - R.x) < p && P > b && (j = E - (P - b) / 2); const H = 1 - Oe().state.textHeight; return i.insert("rect", ":first-child").attr("x", j).attr("y", H).attr("class", f ? "alt-composit" : "composit").attr("width", B).attr("height", R.height + Oe().state.textHeight + Oe().state.titleShift + 1).attr("rx", "0"), C.attr("x", j + p), P <= b && C.attr("x", E + (B - v) / 2 - P / 2 + p), i.insert("rect", ":first-child").attr("x", j).attr("y", Oe().state.titleShift - Oe().state.textHeight - Oe().state.padding).attr("width", B).attr("height", Oe().state.textHeight * 3).attr("rx", Oe().state.radius), i.insert("rect", ":first-child").attr("x", j).attr("y", Oe().state.titleShift - Oe().state.textHeight - Oe().state.padding).attr("width", B).attr("height", R.height + 3 + 2 * Oe().state.textHeight).attr("rx", Oe().state.radius), i }, dVe = i => (i.append("circle").attr("class", "end-state-outer").attr("r", Oe().state.sizeUnit + Oe().state.miniPadding).attr("cx", Oe().state.padding + Oe().state.sizeUnit + Oe().state.miniPadding).attr("cy", Oe().state.padding + Oe().state.sizeUnit + Oe().state.miniPadding), i.append("circle").attr("class", "end-state-inner").attr("r", Oe().state.sizeUnit).attr("cx", Oe().state.padding + Oe().state.sizeUnit + 2).attr("cy", Oe().state.padding + Oe().state.sizeUnit + 2)), gVe = (i, a) => { let f = Oe().state.forkWidth, p = Oe().state.forkHeight; if (a.parentId) { let v = f; f = p, p = v } return i.append("rect").style("stroke", "black").style("fill", "black").attr("width", f).attr("height", p).attr("x", Oe().state.padding).attr("y", Oe().state.padding) }, pVe = (i, a, f, p) => { let v = 0; const m = p.append("text"); m.style("text-anchor", "start"), m.attr("class", "noteText"); let b = i.replace(/\r\n/g, "<br/>"); b = b.replace(/\n/g, "<br/>"); const E = b.split(yi.lineBreakRegex); let C = 1.25 * Oe().state.noteMargin; for (const D of E) { const P = D.trim(); if (P.length > 0) { const B = m.append("tspan"); if (B.text(P), C === 0) { const j = B.node().getBBox(); C += j.height } v += C, B.attr("x", a + Oe().state.noteMargin), B.attr("y", f + v + 1.25 * Oe().state.noteMargin) } } return { textWidth: m.node().getBBox().width, textHeight: v } }, bVe = (i, a) => { a.attr("class", "state-note"); const f = a.append("rect").attr("x", 0).attr("y", Oe().state.padding), p = a.append("g"), { textWidth: v, textHeight: m } = pVe(i, 0, 0, p); return f.attr("height", m + 2 * Oe().state.noteMargin), f.attr("width", v + Oe().state.noteMargin * 2), f }, kRt = function (i, a) { const f = a.id, p = { id: f, label: a.id, width: 0, height: 0 }, v = i.append("g").attr("id", f).attr("class", "stateGroup"); a.type === "start" && cVe(v), a.type === "end" && dVe(v), (a.type === "fork" || a.type === "join") && gVe(v, a), a.type === "note" && bVe(a.note.text, v), a.type === "divider" && uVe(v), a.type === "default" && a.descriptions.length === 0 && lVe(v, a), a.type === "default" && a.descriptions.length > 0 && hVe(v, a); const m = v.node().getBBox(); return p.width = m.width + 2 * Oe().state.padding, p.height = m.height + 2 * Oe().state.padding, oVe.set(f, p), p }; let ERt = 0; const vVe = function (i, a, f) { const p = function (C) { switch (C) { case N5.relationType.AGGREGATION: return "aggregation"; case N5.relationType.EXTENSION: return "extension"; case N5.relationType.COMPOSITION: return "composition"; case N5.relationType.DEPENDENCY: return "dependency" } }; a.points = a.points.filter(C => !Number.isNaN(C.y)); const v = a.points, m = Y9().x(function (C) { return C.x }).y(function (C) { return C.y }).curve(CA), b = i.append("path").attr("d", m(v)).attr("id", "edge" + ERt).attr("class", "transition"); let E = ""; if (Oe().state.arrowMarkerAbsolute && (E = window.location.protocol + "//" + window.location.host + window.location.pathname + window.location.search, E = E.replace(/\(/g, "\\("), E = E.replace(/\)/g, "\\)")), b.attr("marker-end", "url(" + E + "#" + p(N5.relationType.DEPENDENCY) + "End)"), f.title !== void 0) { const C = i.append("g").attr("class", "stateLabel"), { x: D, y: P } = lo.calcLabelPosition(a.points), B = yi.getRows(f.title); let j = 0; const R = []; let H = 0, Y = 0; for (let st = 0; st <= B.length; st++) { const pt = C.append("text").attr("text-anchor", "middle").text(B[st]).attr("x", D).attr("y", P + j), Tt = pt.node().getBBox(); H = Math.max(H, Tt.width), Y = Math.min(Y, Tt.x), zt.info(Tt.x, D, P + j), j === 0 && (j = pt.node().getBBox().height, zt.info("Title height", j, P)), R.push(pt) } let it = j * B.length; if (B.length > 1) { const st = (B.length - 1) * j * .5; R.forEach((pt, Tt) => pt.attr("y", P + Tt * j - st)), it = j * B.length } const nt = C.node().getBBox(); C.insert("rect", ":first-child").attr("class", "box").attr("x", D - H / 2 - Oe().state.padding / 2).attr("y", P - it / 2 - Oe().state.padding / 2 - 3.5).attr("width", H + Oe().state.padding).attr("height", it + Oe().state.padding), zt.info(nt) } ERt++ }; let R2; const vgt = {}, wVe = function () { }, mVe = function (i) { i.append("defs").append("marker").attr("id", "dependencyEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 19,7 L9,13 L14,7 L9,1 Z") }, yVe = function (i, a, f, p) { R2 = Oe().state; const v = Oe().securityLevel; let m; v === "sandbox" && (m = Mr("#i" + a)); const b = Mr(v === "sandbox" ? m.nodes()[0].contentDocument.body : "body"), E = v === "sandbox" ? m.nodes()[0].contentDocument : document; zt.debug("Rendering diagram " + i); const C = b.select(`[id='${a}']`); mVe(C), new jf({ multigraph: !0, compound: !0, rankdir: "RL" }).setDefaultEdgeLabel(function () { return {} }); const P = p.db.getRootDoc(); TRt(P, C, void 0, !1, b, E, p); const B = R2.padding, j = C.node().getBBox(), R = j.width + B * 2, H = j.height + B * 2, Y = R * 1.75; Wb(C, H, Y, R2.useMaxWidth), C.attr("viewBox", `${j.x - R2.padding}  ${j.y - R2.padding} ` + R + " " + H) }, xVe = i => i ? i.length * R2.fontSizeFactor : 1, TRt = (i, a, f, p, v, m, b) => { const E = new jf({ compound: !0, multigraph: !0 }); let C, D = !0; for (C = 0; C < i.length; C++)if (i[C].stmt === "relation") { D = !1; break } f ? E.setGraph({ rankdir: "LR", multigraph: !0, compound: !0, ranker: "tight-tree", ranksep: D ? 1 : R2.edgeLengthFactor, nodeSep: D ? 1 : 50, isMultiGraph: !0 }) : E.setGraph({ rankdir: "TB", multigraph: !0, compound: !0, ranksep: D ? 1 : R2.edgeLengthFactor, nodeSep: D ? 1 : 50, ranker: "tight-tree", isMultiGraph: !0 }), E.setDefaultEdgeLabel(function () { return {} }), b.db.extract(i); const P = b.db.getStates(), B = b.db.getRelations(), j = Object.keys(P); for (const nt of j) { const st = P[nt]; f && (st.parentId = f); let pt; if (st.doc) { let Tt = a.append("g").attr("id", st.id).attr("class", "stateGroup"); pt = TRt(st.doc, Tt, st.id, !p, v, m, b); { Tt = fVe(Tt, st, p); let kt = Tt.node().getBBox(); pt.width = kt.width, pt.height = kt.height + R2.padding / 2, vgt[st.id] = { y: R2.compositTitleSize } } } else pt = kRt(a, st); if (st.note) { const Tt = { descriptions: [], id: st.id + "-note", note: st.note, type: "note" }, kt = kRt(a, Tt); st.note.position === "left of" ? (E.setNode(pt.id + "-note", kt), E.setNode(pt.id, pt)) : (E.setNode(pt.id, pt), E.setNode(pt.id + "-note", kt)), E.setParent(pt.id, pt.id + "-group"), E.setParent(pt.id + "-note", pt.id + "-group") } else E.setNode(pt.id, pt) } zt.debug("Count=", E.nodeCount(), E); let R = 0; B.forEach(function (nt) { R++, zt.debug("Setting edge", nt), E.setEdge(nt.id1, nt.id2, { relation: nt, width: xVe(nt.title), height: R2.labelHeight * yi.getRows(nt.title).length, labelpos: "c" }, "id" + R) }), eL(E), zt.debug("Graph after layout", E.nodes()); const H = a.node(); E.nodes().forEach(function (nt) { nt !== void 0 && E.node(nt) !== void 0 ? (zt.warn("Node " + nt + ": " + JSON.stringify(E.node(nt))), v.select("#" + H.id + " #" + nt).attr("transform", "translate(" + (E.node(nt).x - E.node(nt).width / 2) + "," + (E.node(nt).y + (vgt[nt] ? vgt[nt].y : 0) - E.node(nt).height / 2) + " )"), v.select("#" + H.id + " #" + nt).attr("data-x-shift", E.node(nt).x - E.node(nt).width / 2), m.querySelectorAll("#" + H.id + " #" + nt + " .divider").forEach(pt => { const Tt = pt.parentElement; let kt = 0, yt = 0; Tt && (Tt.parentElement && (kt = Tt.parentElement.getBBox().width), yt = parseInt(Tt.getAttribute("data-x-shift"), 10), Number.isNaN(yt) && (yt = 0)), pt.setAttribute("x1", 0 - yt + 8), pt.setAttribute("x2", kt - yt - 8) })) : zt.debug("No Node " + nt + ": " + JSON.stringify(E.node(nt))) }); let Y = H.getBBox(); E.edges().forEach(function (nt) { nt !== void 0 && E.edge(nt) !== void 0 && (zt.debug("Edge " + nt.v + " -> " + nt.w + ": " + JSON.stringify(E.edge(nt))), vVe(a, E.edge(nt), E.edge(nt).relation)) }), Y = H.getBBox(); const it = { id: f || "root", label: f || "root", width: 0, height: 0 }; return it.width = Y.width + 2 * R2.padding, it.height = Y.height + 2 * R2.padding, zt.debug("Doc rendered", it, E), it }, kVe = Object.freeze(Object.defineProperty({ __proto__: null, diagram: { parser: aRt, db: N5, renderer: { setConf: wVe, draw: yVe }, styles: yRt, init: i => { i.state || (i.state = {}), i.state.arrowMarkerAbsolute = i.arrowMarkerAbsolute, N5.clear() } } }, Symbol.toStringTag, { value: "Module" })), IK = "rect", wgt = "rectWithTitle", EVe = "start", TVe = "end", _Ve = "divider", CVe = "roundedWithTitle", SVe = "note", AVe = "noteGroup", fL = "statediagram", LVe = `${fL}-state`, _Rt = "transition", MVe = "note", DVe = `${_Rt} note-edge`, IVe = `${fL}-${MVe}`, OVe = `${fL}-cluster`, NVe = `${fL}-cluster-alt`, CRt = "parent", SRt = "note", PVe = "state", mgt = "----", FVe = `${mgt}${SRt}`, ARt = `${mgt}${CRt}`, LRt = "fill:none", MRt = "fill: #333", DRt = "c", IRt = "text", ORt = "normal"; let OK = {}, dk = 0; const BVe = function (i) { const a = Object.keys(i); for (const f of a) i[f] }, RVe = function (i, a) { zt.trace("Extracting classes"), a.db.clear(); try { return a.parser.parse(i), a.db.extract(a.db.getRootDocV2()), a.db.getClasses() } catch (f) { return f } }; function jVe(i) { return i == null ? "" : i.classes ? i.classes.join(" ") : "" } function ygt(i = "", a = 0, f = "", p = mgt) { const v = f !== null && f.length > 0 ? `${p}${f}` : ""; return `${PVe}-${i}${v}-${a}` } const NP = (i, a, f, p, v, m) => { const b = f.id, E = jVe(p[b]); if (b !== "root") { let C = IK; f.start === !0 && (C = EVe), f.start === !1 && (C = TVe), f.type !== MP && (C = f.type), OK[b] || (OK[b] = { id: b, shape: C, description: yi.sanitizeText(b, Oe()), classes: `${E} ${LVe}` }); const D = OK[b]; f.description && (Array.isArray(D.description) ? (D.shape = wgt, D.description.push(f.description)) : D.description.length > 0 ? (D.shape = wgt, D.description === b ? D.description = [f.description] : D.description = [D.description, f.description]) : (D.shape = IK, D.description = f.description), D.description = yi.sanitizeTextOrArray(D.description, Oe())), D.description.length === 1 && D.shape === wgt && (D.shape = IK), !D.type && f.doc && (zt.info("Setting cluster for ", b, xgt(f)), D.type = "group", D.dir = xgt(f), D.shape = f.type === oRt ? _Ve : CVe, D.classes = D.classes + " " + OVe + " " + (m ? NVe : "")); const P = { labelStyle: "", shape: D.shape, labelText: D.description, classes: D.classes, style: "", id: b, dir: D.dir, domId: ygt(b, dk), type: D.type, padding: 15 }; if (P.centerLabel = !0, f.note) { const B = { labelStyle: "", shape: SVe, labelText: f.note.text, classes: IVe, style: "", id: b + FVe + "-" + dk, domId: ygt(b, dk, SRt), type: D.type, padding: 15 }, j = { labelStyle: "", shape: AVe, labelText: f.note.text, classes: D.classes, style: "", id: b + ARt, domId: ygt(b, dk, CRt), type: "group", padding: 0 }; dk++; const R = b + ARt; i.setNode(R, j), i.setNode(B.id, B), i.setNode(b, P), i.setParent(b, R), i.setParent(B.id, R); let H = b, Y = B.id; f.note.position === "left of" && (H = B.id, Y = b), i.setEdge(H, Y, { arrowhead: "none", arrowType: "", style: LRt, labelStyle: "", classes: DVe, arrowheadStyle: MRt, labelpos: DRt, labelType: IRt, thickness: ORt }) } else i.setNode(b, P) } a && a.id !== "root" && (zt.trace("Setting node ", b, " to be child of its parent ", a.id), i.setParent(b, a.id)), f.doc && (zt.trace("Adding nodes children "), $Ve(i, f, f.doc, p, v, !m)) }, $Ve = (i, a, f, p, v, m) => { zt.trace("items", f), f.forEach(b => { switch (b.stmt) { case SK: NP(i, a, b, p, v, m); break; case MP: NP(i, a, b, p, v, m); break; case lgt: { NP(i, a, b.state1, p, v, m), NP(i, a, b.state2, p, v, m); const E = { id: "edge" + dk, arrowhead: "normal", arrowTypeEnd: "arrow_barb", style: LRt, labelStyle: "", label: yi.sanitizeText(b.description, Oe()), arrowheadStyle: MRt, labelpos: DRt, labelType: IRt, thickness: ORt, classes: _Rt }; i.setEdge(b.state1.id, b.state2.id, E, dk), dk++ } break } }) }, xgt = (i, a = FHe) => { let f = a; if (i.doc) for (let p = 0; p < i.doc.length; p++) { const v = i.doc[p]; v.stmt === "dir" && (f = v.value) } return f }, zVe = Object.freeze(Object.defineProperty({ __proto__: null, diagram: { parser: aRt, db: N5, renderer: { setConf: BVe, getClasses: RVe, draw: async function (i, a, f, p) { zt.info("Drawing state diagram (v2)", a), OK = {}, p.db.getDirection(); const { securityLevel: v, state: m } = Oe(), b = m.nodeSpacing || 50, E = m.rankSpacing || 50; zt.info(p.db.getRootDocV2()), p.db.extract(p.db.getRootDocV2()), zt.info(p.db.getRootDocV2()); const C = p.db.getStates(), D = new jf({ multigraph: !0, compound: !0 }).setGraph({ rankdir: xgt(p.db.getRootDocV2()), nodesep: b, ranksep: E, marginx: 8, marginy: 8 }).setDefaultEdgeLabel(function () { return {} }); NP(D, void 0, p.db.getRootDocV2(), C, p.db, !0); let P; v === "sandbox" && (P = Mr("#i" + a)); const B = Mr(v === "sandbox" ? P.nodes()[0].contentDocument.body : "body"), j = B.select(`[id="${a}"]`), R = B.select("#" + a + " g"); await v0t(R, D, ["barb"], fL, a); const H = 8; lo.insertTitle(j, "statediagramTitleText", m.titleTopMargin, p.db.getDiagramTitle()); const Y = j.node().getBBox(), it = Y.width + H * 2, nt = Y.height + H * 2; j.attr("class", fL); const st = j.node().getBBox(); Wb(j, nt, it, m.useMaxWidth); const pt = `${st.x - H} ${st.y - H} ${it} ${nt}`; zt.debug(`viewBox ${pt}`), j.attr("viewBox", pt); const Tt = document.querySelectorAll('[id="' + a + '"] .edgeLabel .label'); for (const kt of Tt) { const yt = kt.getBBox(), ht = document.createElementNS("http://www.w3.org/2000/svg", IK); ht.setAttribute("rx", 0), ht.setAttribute("ry", 0), ht.setAttribute("width", yt.width), ht.setAttribute("height", yt.height), kt.insertBefore(ht, kt.firstChild) } } }, styles: yRt, init: i => { i.state || (i.state = {}), i.state.arrowMarkerAbsolute = i.arrowMarkerAbsolute, N5.clear() } } }, Symbol.toStringTag, { value: "Module" })); var kgt = function () {
        var i = function (Y, it, nt, st) { for (nt = nt || {}, st = Y.length; st--; nt[Y[st]] = it); return nt }, a = [1, 2], f = [1, 5], p = [6, 9, 11, 17, 18, 20, 22, 23, 24, 26], v = [1, 15], m = [1, 16], b = [1, 17], E = [1, 18], C = [1, 19], D = [1, 20], P = [1, 24], B = [4, 6, 9, 11, 17, 18, 20, 22, 23, 24, 26], j = {
            trace: function () { }, yy: {}, symbols_: { error: 2, start: 3, journey: 4, document: 5, EOF: 6, directive: 7, line: 8, SPACE: 9, statement: 10, NEWLINE: 11, openDirective: 12, typeDirective: 13, closeDirective: 14, ":": 15, argDirective: 16, title: 17, acc_title: 18, acc_title_value: 19, acc_descr: 20, acc_descr_value: 21, acc_descr_multiline_value: 22, section: 23, taskName: 24, taskData: 25, open_directive: 26, type_directive: 27, arg_directive: 28, close_directive: 29, $accept: 0, $end: 1 }, terminals_: { 2: "error", 4: "journey", 6: "EOF", 9: "SPACE", 11: "NEWLINE", 15: ":", 17: "title", 18: "acc_title", 19: "acc_title_value", 20: "acc_descr", 21: "acc_descr_value", 22: "acc_descr_multiline_value", 23: "section", 24: "taskName", 25: "taskData", 26: "open_directive", 27: "type_directive", 28: "arg_directive", 29: "close_directive" }, productions_: [0, [3, 3], [3, 2], [5, 0], [5, 2], [8, 2], [8, 1], [8, 1], [8, 1], [7, 4], [7, 6], [10, 1], [10, 2], [10, 2], [10, 1], [10, 1], [10, 2], [10, 1], [12, 1], [13, 1], [16, 1], [14, 1]], performAction: function (it, nt, st, pt, Tt, kt, yt) { var ht = kt.length - 1; switch (Tt) { case 1: return kt[ht - 1]; case 3: this.$ = []; break; case 4: kt[ht - 1].push(kt[ht]), this.$ = kt[ht - 1]; break; case 5: case 6: this.$ = kt[ht]; break; case 7: case 8: this.$ = []; break; case 11: pt.setDiagramTitle(kt[ht].substr(6)), this.$ = kt[ht].substr(6); break; case 12: this.$ = kt[ht].trim(), pt.setAccTitle(this.$); break; case 13: case 14: this.$ = kt[ht].trim(), pt.setAccDescription(this.$); break; case 15: pt.addSection(kt[ht].substr(8)), this.$ = kt[ht].substr(8); break; case 16: pt.addTask(kt[ht - 1], kt[ht]), this.$ = "task"; break; case 18: pt.parseDirective("%%{", "open_directive"); break; case 19: pt.parseDirective(kt[ht], "type_directive"); break; case 20: kt[ht] = kt[ht].trim().replace(/'/g, '"'), pt.parseDirective(kt[ht], "arg_directive"); break; case 21: pt.parseDirective("}%%", "close_directive", "journey"); break } }, table: [{ 3: 1, 4: a, 7: 3, 12: 4, 26: f }, { 1: [3] }, i(p, [2, 3], { 5: 6 }), { 3: 7, 4: a, 7: 3, 12: 4, 26: f }, { 13: 8, 27: [1, 9] }, { 27: [2, 18] }, { 6: [1, 10], 7: 21, 8: 11, 9: [1, 12], 10: 13, 11: [1, 14], 12: 4, 17: v, 18: m, 20: b, 22: E, 23: C, 24: D, 26: f }, { 1: [2, 2] }, { 14: 22, 15: [1, 23], 29: P }, i([15, 29], [2, 19]), i(p, [2, 8], { 1: [2, 1] }), i(p, [2, 4]), { 7: 21, 10: 25, 12: 4, 17: v, 18: m, 20: b, 22: E, 23: C, 24: D, 26: f }, i(p, [2, 6]), i(p, [2, 7]), i(p, [2, 11]), { 19: [1, 26] }, { 21: [1, 27] }, i(p, [2, 14]), i(p, [2, 15]), { 25: [1, 28] }, i(p, [2, 17]), { 11: [1, 29] }, { 16: 30, 28: [1, 31] }, { 11: [2, 21] }, i(p, [2, 5]), i(p, [2, 12]), i(p, [2, 13]), i(p, [2, 16]), i(B, [2, 9]), { 14: 32, 29: P }, { 29: [2, 20] }, { 11: [1, 33] }, i(B, [2, 10])], defaultActions: { 5: [2, 18], 7: [2, 2], 24: [2, 21], 31: [2, 20] }, parseError: function (it, nt) { if (nt.recoverable) this.trace(it); else { var st = new Error(it); throw st.hash = nt, st } }, parse: function (it) {
                var nt = this, st = [0], pt = [], Tt = [null], kt = [], yt = this.table, ht = "", mt = 0, rt = 0, wt = 2, gt = 1, lt = kt.slice.call(arguments, 1), _t = Object.create(this.lexer), X = { yy: {} }; for (var Rt in this.yy) Object.prototype.hasOwnProperty.call(this.yy, Rt) && (X.yy[Rt] = this.yy[Rt]); _t.setInput(it, X.yy), X.yy.lexer = _t, X.yy.parser = this, typeof _t.yylloc > "u" && (_t.yylloc = {}); var ft = _t.yylloc; kt.push(ft); var de = _t.options && _t.options.ranges; typeof X.yy.parseError == "function" ? this.parseError = X.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; function J() { var ne; return ne = pt.pop() || _t.lex() || gt, typeof ne != "number" && (ne instanceof Array && (pt = ne, ne = pt.pop()), ne = nt.symbols_[ne] || ne), ne } for (var ae, Wt, It, Nt, me = {}, Ue, _n, _e, rr; ;) {
                    if (Wt = st[st.length - 1], this.defaultActions[Wt] ? It = this.defaultActions[Wt] : ((ae === null || typeof ae > "u") && (ae = J()), It = yt[Wt] && yt[Wt][ae]), typeof It > "u" || !It.length || !It[0]) {
                        var Te = ""; rr = []; for (Ue in yt[Wt]) this.terminals_[Ue] && Ue > wt && rr.push("'" + this.terminals_[Ue] + "'"); _t.showPosition ? Te = "Parse error on line " + (mt + 1) + `:
    `+ _t.showPosition() + `
    Expecting `+ rr.join(", ") + ", got '" + (this.terminals_[ae] || ae) + "'" : Te = "Parse error on line " + (mt + 1) + ": Unexpected " + (ae == gt ? "end of input" : "'" + (this.terminals_[ae] || ae) + "'"), this.parseError(Te, { text: _t.match, token: this.terminals_[ae] || ae, line: _t.yylineno, loc: ft, expected: rr })
                    } if (It[0] instanceof Array && It.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + Wt + ", token: " + ae); switch (It[0]) { case 1: st.push(ae), Tt.push(_t.yytext), kt.push(_t.yylloc), st.push(It[1]), ae = null, rt = _t.yyleng, ht = _t.yytext, mt = _t.yylineno, ft = _t.yylloc; break; case 2: if (_n = this.productions_[It[1]][1], me.$ = Tt[Tt.length - _n], me._$ = { first_line: kt[kt.length - (_n || 1)].first_line, last_line: kt[kt.length - 1].last_line, first_column: kt[kt.length - (_n || 1)].first_column, last_column: kt[kt.length - 1].last_column }, de && (me._$.range = [kt[kt.length - (_n || 1)].range[0], kt[kt.length - 1].range[1]]), Nt = this.performAction.apply(me, [ht, rt, mt, X.yy, It[1], Tt, kt].concat(lt)), typeof Nt < "u") return Nt; _n && (st = st.slice(0, -1 * _n * 2), Tt = Tt.slice(0, -1 * _n), kt = kt.slice(0, -1 * _n)), st.push(this.productions_[It[1]][0]), Tt.push(me.$), kt.push(me._$), _e = yt[st[st.length - 2]][st[st.length - 1]], st.push(_e); break; case 3: return !0 }
                } return !0
            }
        }, R = function () {
            var Y = {
                EOF: 1, parseError: function (nt, st) { if (this.yy.parser) this.yy.parser.parseError(nt, st); else throw new Error(nt) }, setInput: function (it, nt) { return this.yy = nt || this.yy || {}, this._input = it, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this }, input: function () { var it = this._input[0]; this.yytext += it, this.yyleng++, this.offset++, this.match += it, this.matched += it; var nt = it.match(/(?:\r\n?|\n).*/g); return nt ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), it }, unput: function (it) { var nt = it.length, st = it.split(/(?:\r\n?|\n)/g); this._input = it + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - nt), this.offset -= nt; var pt = this.match.split(/(?:\r\n?|\n)/g); this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), st.length - 1 && (this.yylineno -= st.length - 1); var Tt = this.yylloc.range; return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: st ? (st.length === pt.length ? this.yylloc.first_column : 0) + pt[pt.length - st.length].length - st[0].length : this.yylloc.first_column - nt }, this.options.ranges && (this.yylloc.range = [Tt[0], Tt[0] + this.yyleng - nt]), this.yyleng = this.yytext.length, this }, more: function () { return this._more = !0, this }, reject: function () {
                    if (this.options.backtrack_lexer) this._backtrack = !0; else 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).
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno }); return this
                }, less: function (it) { this.unput(this.match.slice(it)) }, pastInput: function () { var it = this.matched.substr(0, this.matched.length - this.match.length); return (it.length > 20 ? "..." : "") + it.substr(-20).replace(/\n/g, "") }, upcomingInput: function () { var it = this.match; return it.length < 20 && (it += this._input.substr(0, 20 - it.length)), (it.substr(0, 20) + (it.length > 20 ? "..." : "")).replace(/\n/g, "") }, showPosition: function () {
                    var it = this.pastInput(), nt = new Array(it.length + 1).join("-"); return it + this.upcomingInput() + `
    `+ nt + "^"
                }, test_match: function (it, nt) { var st, pt, Tt; if (this.options.backtrack_lexer && (Tt = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (Tt.yylloc.range = this.yylloc.range.slice(0))), pt = it[0].match(/(?:\r\n?|\n).*/g), pt && (this.yylineno += pt.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: pt ? pt[pt.length - 1].length - pt[pt.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + it[0].length }, this.yytext += it[0], this.match += it[0], this.matches = it, 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(it[0].length), this.matched += it[0], st = this.performAction.call(this, this.yy, this, nt, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), st) return st; if (this._backtrack) { for (var kt in Tt) this[kt] = Tt[kt]; return !1 } return !1 }, next: function () {
                    if (this.done) return this.EOF; this._input || (this.done = !0); var it, nt, st, pt; this._more || (this.yytext = "", this.match = ""); for (var Tt = this._currentRules(), kt = 0; kt < Tt.length; kt++)if (st = this._input.match(this.rules[Tt[kt]]), st && (!nt || st[0].length > nt[0].length)) { if (nt = st, pt = kt, this.options.backtrack_lexer) { if (it = this.test_match(st, Tt[kt]), it !== !1) return it; if (this._backtrack) { nt = !1; continue } else return !1 } else if (!this.options.flex) break } return nt ? (it = this.test_match(nt, Tt[pt]), it !== !1 ? it : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno })
                }, lex: function () { var nt = this.next(); return nt || this.lex() }, begin: function (nt) { this.conditionStack.push(nt) }, popState: function () { var nt = this.conditionStack.length - 1; return nt > 0 ? this.conditionStack.pop() : this.conditionStack[0] }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules }, topState: function (nt) { return nt = this.conditionStack.length - 1 - Math.abs(nt || 0), nt >= 0 ? this.conditionStack[nt] : "INITIAL" }, pushState: function (nt) { this.begin(nt) }, stateStackSize: function () { return this.conditionStack.length }, options: { "case-insensitive": !0 }, performAction: function (nt, st, pt, Tt) { switch (pt) { case 0: return this.begin("open_directive"), 26; case 1: return this.begin("type_directive"), 27; case 2: return this.popState(), this.begin("arg_directive"), 15; case 3: return this.popState(), this.popState(), 29; case 4: return 28; case 5: break; case 6: break; case 7: return 11; case 8: break; case 9: break; case 10: return 4; case 11: return 17; case 12: return this.begin("acc_title"), 18; case 13: return this.popState(), "acc_title_value"; case 14: return this.begin("acc_descr"), 20; case 15: return this.popState(), "acc_descr_value"; case 16: this.begin("acc_descr_multiline"); break; case 17: this.popState(); break; case 18: return "acc_descr_multiline_value"; case 19: return 23; case 20: return 24; case 21: return 25; case 22: return 15; case 23: return 6; case 24: return "INVALID" } }, rules: [/^(?:%%\{)/i, /^(?:((?:(?!\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\}%%)/i, /^(?:((?:(?!\}%%).|\n)*))/i, /^(?:%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[\n]+)/i, /^(?:\s+)/i, /^(?:#[^\n]*)/i, /^(?:journey\b)/i, /^(?:title\s[^#\n;]+)/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:section\s[^#:\n;]+)/i, /^(?:[^#:\n;]+)/i, /^(?::[^#\n;]+)/i, /^(?::)/i, /^(?:$)/i, /^(?:.)/i], conditions: { open_directive: { rules: [1], inclusive: !1 }, type_directive: { rules: [2, 3], inclusive: !1 }, arg_directive: { rules: [3, 4], inclusive: !1 }, acc_descr_multiline: { rules: [17, 18], inclusive: !1 }, acc_descr: { rules: [15], inclusive: !1 }, acc_title: { rules: [13], inclusive: !1 }, INITIAL: { rules: [0, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 19, 20, 21, 22, 23, 24], inclusive: !0 } }
            }; return Y
        }(); j.lexer = R; function H() { this.yy = {} } return H.prototype = j, j.Parser = H, new H
    }(); kgt.parser = kgt; const qVe = kgt; let dL = ""; const Egt = [], PP = [], FP = [], HVe = function (i, a, f) { d1.parseDirective(this, i, a, f) }, VVe = function () { Egt.length = 0, PP.length = 0, dL = "", FP.length = 0, cg() }, GVe = function (i) { dL = i, Egt.push(i) }, UVe = function () { return Egt }, WVe = function () { let i = NRt(); const a = 100; let f = 0; for (; !i && f < a;)i = NRt(), f++; return PP.push(...FP), PP }, KVe = function () { const i = []; return PP.forEach(f => { f.people && i.push(...f.people) }), [...new Set(i)].sort() }, YVe = function (i, a) { const f = a.substr(1).split(":"); let p = 0, v = []; f.length === 1 ? (p = Number(f[0]), v = []) : (p = Number(f[0]), v = f[1].split(",")); const m = v.map(E => E.trim()), b = { section: dL, type: dL, people: m, task: i, score: p }; FP.push(b) }, XVe = function (i) { const a = { section: dL, type: dL, description: i, task: i, classes: [] }; PP.push(a) }, NRt = function () { const i = function (f) { return FP[f].processed }; let a = !0; for (const [f, p] of FP.entries()) i(f), a = a && p.processed; return a }, PRt = { parseDirective: HVe, getConfig: () => Oe().journey, clear: VVe, setDiagramTitle: Kb, getDiagramTitle: O2, setAccTitle: ug, getAccTitle: op, setAccDescription: cp, getAccDescription: up, addSection: GVe, getSections: UVe, getTasks: WVe, addTask: YVe, addTaskOrg: XVe, getActors: function () { return KVe() } }, QVe = i => `.label {
        font-family: 'trebuchet ms', verdana, arial, sans-serif;
        font-family: var(--mermaid-font-family);
        color: ${i.textColor};
      }
      .mouth {
        stroke: #666;
      }
    
      line {
        stroke: ${i.textColor}
      }
    
      .legend {
        fill: ${i.textColor};
      }
    
      .label text {
        fill: #333;
      }
      .label {
        color: ${i.textColor}
      }
    
      .face {
        ${i.faceColor ? `fill: ${i.faceColor}` : "fill: #FFF8DC"};
        stroke: #999;
      }
    
      .node rect,
      .node circle,
      .node ellipse,
      .node polygon,
      .node path {
        fill: ${i.mainBkg};
        stroke: ${i.nodeBorder};
        stroke-width: 1px;
      }
    
      .node .label {
        text-align: center;
      }
      .node.clickable {
        cursor: pointer;
      }
    
      .arrowheadPath {
        fill: ${i.arrowheadColor};
      }
    
      .edgePath .path {
        stroke: ${i.lineColor};
        stroke-width: 1.5px;
      }
    
      .flowchart-link {
        stroke: ${i.lineColor};
        fill: none;
      }
    
      .edgeLabel {
        background-color: ${i.edgeLabelBackground};
        rect {
          opacity: 0.5;
        }
        text-align: center;
      }
    
      .cluster rect {
      }
    
      .cluster text {
        fill: ${i.titleColor};
      }
    
      div.mermaidTooltip {
        position: absolute;
        text-align: center;
        max-width: 200px;
        padding: 2px;
        font-family: 'trebuchet ms', verdana, arial, sans-serif;
        font-family: var(--mermaid-font-family);
        font-size: 12px;
        background: ${i.tertiaryColor};
        border: 1px solid ${i.border2};
        border-radius: 2px;
        pointer-events: none;
        z-index: 100;
      }
    
      .task-type-0, .section-type-0  {
        ${i.fillType0 ? `fill: ${i.fillType0}` : ""};
      }
      .task-type-1, .section-type-1  {
        ${i.fillType0 ? `fill: ${i.fillType1}` : ""};
      }
      .task-type-2, .section-type-2  {
        ${i.fillType0 ? `fill: ${i.fillType2}` : ""};
      }
      .task-type-3, .section-type-3  {
        ${i.fillType0 ? `fill: ${i.fillType3}` : ""};
      }
      .task-type-4, .section-type-4  {
        ${i.fillType0 ? `fill: ${i.fillType4}` : ""};
      }
      .task-type-5, .section-type-5  {
        ${i.fillType0 ? `fill: ${i.fillType5}` : ""};
      }
      .task-type-6, .section-type-6  {
        ${i.fillType0 ? `fill: ${i.fillType6}` : ""};
      }
      .task-type-7, .section-type-7  {
        ${i.fillType0 ? `fill: ${i.fillType7}` : ""};
      }
    
      .actor-0 {
        ${i.actor0 ? `fill: ${i.actor0}` : ""};
      }
      .actor-1 {
        ${i.actor1 ? `fill: ${i.actor1}` : ""};
      }
      .actor-2 {
        ${i.actor2 ? `fill: ${i.actor2}` : ""};
      }
      .actor-3 {
        ${i.actor3 ? `fill: ${i.actor3}` : ""};
      }
      .actor-4 {
        ${i.actor4 ? `fill: ${i.actor4}` : ""};
      }
      .actor-5 {
        ${i.actor5 ? `fill: ${i.actor5}` : ""};
      }
    `, Tgt = function (i, a) { return DW(i, a) }, ZVe = function (i, a) { const p = i.append("circle").attr("cx", a.cx).attr("cy", a.cy).attr("class", "face").attr("r", 15).attr("stroke-width", 2).attr("overflow", "visible"), v = i.append("g"); v.append("circle").attr("cx", a.cx - 15 / 3).attr("cy", a.cy - 15 / 3).attr("r", 1.5).attr("stroke-width", 2).attr("fill", "#666").attr("stroke", "#666"), v.append("circle").attr("cx", a.cx + 15 / 3).attr("cy", a.cy - 15 / 3).attr("r", 1.5).attr("stroke-width", 2).attr("fill", "#666").attr("stroke", "#666"); function m(C) { const D = _A().startAngle(Math.PI / 2).endAngle(3 * (Math.PI / 2)).innerRadius(7.5).outerRadius(6.8181818181818175); C.append("path").attr("class", "mouth").attr("d", D).attr("transform", "translate(" + a.cx + "," + (a.cy + 2) + ")") } function b(C) { const D = _A().startAngle(3 * Math.PI / 2).endAngle(5 * (Math.PI / 2)).innerRadius(7.5).outerRadius(6.8181818181818175); C.append("path").attr("class", "mouth").attr("d", D).attr("transform", "translate(" + a.cx + "," + (a.cy + 7) + ")") } function E(C) { C.append("line").attr("class", "mouth").attr("stroke", 2).attr("x1", a.cx - 5).attr("y1", a.cy + 7).attr("x2", a.cx + 5).attr("y2", a.cy + 7).attr("class", "mouth").attr("stroke-width", "1px").attr("stroke", "#666") } return a.score > 3 ? m(v) : a.score < 3 ? b(v) : E(v), p }, FRt = function (i, a) { const f = i.append("circle"); return f.attr("cx", a.cx), f.attr("cy", a.cy), f.attr("class", "actor-" + a.pos), f.attr("fill", a.fill), f.attr("stroke", a.stroke), f.attr("r", a.r), f.class !== void 0 && f.attr("class", f.class), a.title !== void 0 && f.append("title").text(a.title), f }, BRt = function (i, a) { return MLe(i, a) }, JVe = function (i, a) { function f(v, m, b, E, C) { return v + "," + m + " " + (v + b) + "," + m + " " + (v + b) + "," + (m + E - C) + " " + (v + b - C * 1.2) + "," + (m + E) + " " + v + "," + (m + E) } const p = i.append("polygon"); p.attr("points", f(a.x, a.y, 50, 20, 7)), p.attr("class", "labelBox"), a.y = a.y + a.labelMargin, a.x = a.x + .5 * a.labelMargin, BRt(i, a) }, tGe = function (i, a, f) { const p = i.append("g"), v = aE(); v.x = a.x, v.y = a.y, v.fill = a.fill, v.width = f.width * a.taskCount + f.diagramMarginX * (a.taskCount - 1), v.height = f.height, v.class = "journey-section section-type-" + a.num, v.rx = 3, v.ry = 3, Tgt(p, v), jRt(f)(a.text, p, v.x, v.y, v.width, v.height, { class: "journey-section section-type-" + a.num }, f, a.colour) }; let RRt = -1; const eGe = function (i, a, f) { const p = a.x + f.width / 2, v = i.append("g"); RRt++; const m = 300 + 5 * 30; v.append("line").attr("id", "task" + RRt).attr("x1", p).attr("y1", a.y).attr("x2", p).attr("y2", m).attr("class", "task-line").attr("stroke-width", "1px").attr("stroke-dasharray", "4 2").attr("stroke", "#666"), ZVe(v, { cx: p, cy: 300 + (5 - a.score) * 30, score: a.score }); const b = aE(); b.x = a.x, b.y = a.y, b.fill = a.fill, b.width = f.width, b.height = f.height, b.class = "task task-type-" + a.num, b.rx = 3, b.ry = 3, Tgt(v, b); let E = a.x + 14; a.people.forEach(C => { const D = a.actors[C].color, P = { cx: E, cy: a.y, r: 7, fill: D, stroke: "#000", title: C, pos: a.actors[C].position }; FRt(v, P), E += 10 }), jRt(f)(a.task, v, b.x, b.y, b.width, b.height, { class: "task" }, f, a.colour) }, nGe = function (i, a) { AOt(i, a) }, jRt = function () { function i(v, m, b, E, C, D, P, B) { const j = m.append("text").attr("x", b + C / 2).attr("y", E + D / 2 + 5).style("font-color", B).style("text-anchor", "middle").text(v); p(j, P) } function a(v, m, b, E, C, D, P, B, j) { const { taskFontSize: R, taskFontFamily: H } = B, Y = v.split(/<br\s*\/?>/gi); for (let it = 0; it < Y.length; it++) { const nt = it * R - R * (Y.length - 1) / 2, st = m.append("text").attr("x", b + C / 2).attr("y", E).attr("fill", j).style("text-anchor", "middle").style("font-size", R).style("font-family", H); st.append("tspan").attr("x", b + C / 2).attr("dy", nt).text(Y[it]), st.attr("y", E + D / 2).attr("dominant-baseline", "central").attr("alignment-baseline", "central"), p(st, P) } } function f(v, m, b, E, C, D, P, B) { const j = m.append("switch"), H = j.append("foreignObject").attr("x", b).attr("y", E).attr("width", C).attr("height", D).attr("position", "fixed").append("xhtml:div").style("display", "table").style("height", "100%").style("width", "100%"); H.append("div").attr("class", "label").style("display", "table-cell").style("text-align", "center").style("vertical-align", "middle").text(v), a(v, j, b, E, C, D, P, B), p(H, P) } function p(v, m) { for (const b in m) b in m && v.attr(b, m[b]) } return function (v) { return v.textPlacement === "fo" ? f : v.textPlacement === "old" ? i : a } }(), BP = { drawRect: Tgt, drawCircle: FRt, drawSection: tGe, drawText: BRt, drawLabel: JVe, drawTask: eGe, drawBackgroundRect: nGe, initGraphics: function (i) { i.append("defs").append("marker").attr("id", "arrowhead").attr("refX", 5).attr("refY", 2).attr("markerWidth", 6).attr("markerHeight", 4).attr("orient", "auto").append("path").attr("d", "M 0,0 V 4 L6,2 Z") } }, rGe = function (i) { Object.keys(i).forEach(function (f) { NK[f] = i[f] }) }, P5 = {}; function iGe(i) { const a = Oe().journey; let f = 60; Object.keys(P5).forEach(p => { const v = P5[p].color, m = { cx: 20, cy: f, r: 7, fill: v, stroke: "#000", pos: P5[p].position }; BP.drawCircle(i, m); const b = { x: 40, y: f + 7, fill: "#666", text: p, textMargin: a.boxTextMargin | 5 }; BP.drawText(i, b), f += 20 }) } const NK = Oe().journey, yE = NK.leftMargin, sGe = function (i, a, f, p) {
        const v = Oe().journey; p.db.clear(), p.parser.parse(i + `
    `); const m = Oe().securityLevel; let b; m === "sandbox" && (b = Mr("#i" + a)); const E = Mr(m === "sandbox" ? b.nodes()[0].contentDocument.body : "body"); nv.init(); const C = E.select("#" + a); BP.initGraphics(C); const D = p.db.getTasks(), P = p.db.getDiagramTitle(), B = p.db.getActors(); for (const nt in P5) delete P5[nt]; let j = 0; B.forEach(nt => { P5[nt] = { color: v.actorColours[j % v.actorColours.length], position: j }, j++ }), iGe(C), nv.insert(0, 0, yE, Object.keys(P5).length * 50), aGe(C, D, 0); const R = nv.getBounds(); P && C.append("text").text(P).attr("x", yE).attr("font-size", "4ex").attr("font-weight", "bold").attr("y", 25); const H = R.stopy - R.starty + 2 * v.diagramMarginY, Y = yE + R.stopx + 2 * v.diagramMarginX; Wb(C, H, Y, v.useMaxWidth), C.append("line").attr("x1", yE).attr("y1", v.height * 4).attr("x2", Y - yE - 4).attr("y2", v.height * 4).attr("stroke-width", 4).attr("stroke", "black").attr("marker-end", "url(#arrowhead)"); const it = P ? 70 : 0; C.attr("viewBox", `${R.startx} -25 ${Y} ${H + it}`), C.attr("preserveAspectRatio", "xMinYMin meet"), C.attr("height", H + it + 25)
    }, nv = { data: { startx: void 0, stopx: void 0, starty: void 0, stopy: void 0 }, verticalPos: 0, sequenceItems: [], init: function () { this.sequenceItems = [], this.data = { startx: void 0, stopx: void 0, starty: void 0, stopy: void 0 }, this.verticalPos = 0 }, updateVal: function (i, a, f, p) { i[a] === void 0 ? i[a] = f : i[a] = p(f, i[a]) }, updateBounds: function (i, a, f, p) { const v = Oe().journey, m = this; let b = 0; function E(C) { return function (P) { b++; const B = m.sequenceItems.length - b + 1; m.updateVal(P, "starty", a - B * v.boxMargin, Math.min), m.updateVal(P, "stopy", p + B * v.boxMargin, Math.max), m.updateVal(nv.data, "startx", i - B * v.boxMargin, Math.min), m.updateVal(nv.data, "stopx", f + B * v.boxMargin, Math.max), C !== "activation" && (m.updateVal(P, "startx", i - B * v.boxMargin, Math.min), m.updateVal(P, "stopx", f + B * v.boxMargin, Math.max), m.updateVal(nv.data, "starty", a - B * v.boxMargin, Math.min), m.updateVal(nv.data, "stopy", p + B * v.boxMargin, Math.max)) } } this.sequenceItems.forEach(E()) }, insert: function (i, a, f, p) { const v = Math.min(i, f), m = Math.max(i, f), b = Math.min(a, p), E = Math.max(a, p); this.updateVal(nv.data, "startx", v, Math.min), this.updateVal(nv.data, "starty", b, Math.min), this.updateVal(nv.data, "stopx", m, Math.max), this.updateVal(nv.data, "stopy", E, Math.max), this.updateBounds(v, b, m, E) }, bumpVerticalPos: function (i) { this.verticalPos = this.verticalPos + i, this.data.stopy = this.verticalPos }, getVerticalPos: function () { return this.verticalPos }, getBounds: function () { return this.data } }, _gt = NK.sectionFills, $Rt = NK.sectionColours, aGe = function (i, a, f) { const p = Oe().journey; let v = ""; const m = p.height * 2 + p.diagramMarginY, b = f + m; let E = 0, C = "#CCC", D = "black", P = 0; for (const [B, j] of a.entries()) { if (v !== j.section) { C = _gt[E % _gt.length], P = E % _gt.length, D = $Rt[E % $Rt.length]; let H = 0; const Y = j.section; for (let nt = B; nt < a.length && a[nt].section == Y; nt++)H = H + 1; const it = { x: B * p.taskMargin + B * p.width + yE, y: 50, text: j.section, fill: C, num: P, colour: D, taskCount: H }; BP.drawSection(i, it, p), v = j.section, E++ } const R = j.people.reduce((H, Y) => (P5[Y] && (H[Y] = P5[Y]), H), {}); j.x = B * p.taskMargin + B * p.width + yE, j.y = b, j.width = p.diagramMarginX, j.height = p.diagramMarginY, j.colour = D, j.fill = C, j.num = P, j.actors = R, BP.drawTask(i, j, p), nv.insert(j.x, j.y, j.x + j.width + p.taskMargin, 300 + 5 * 30) } }, zRt = { setConf: rGe, draw: sGe }, oGe = Object.freeze(Object.defineProperty({ __proto__: null, diagram: { parser: qVe, db: PRt, renderer: zRt, styles: QVe, init: i => { zRt.setConf(i.journey), PRt.clear() } } }, Symbol.toStringTag, { value: "Module" })), cGe = (i, a, f) => { const { parentById: p } = f, v = new Set; let m = i; for (; m;) { if (v.add(m), m === a) return m; m = p[m] } for (m = a; m;) { if (v.has(m)) return m; m = p[m] } return "root" }; function PK(i) { throw new Error('Could not dynamically require "' + i + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.') } var Cgt = {}, uGe = { get exports() { return Cgt }, set exports(i) { Cgt = i } }; (function (i, a) {
        (function (f) { i.exports = f() })(function () {
            return function () { function f(p, v, m) { function b(D, P) { if (!v[D]) { if (!p[D]) { var B = typeof PK == "function" && PK; if (!P && B) return B(D, !0); if (E) return E(D, !0); var j = new Error("Cannot find module '" + D + "'"); throw j.code = "MODULE_NOT_FOUND", j } var R = v[D] = { exports: {} }; p[D][0].call(R.exports, function (H) { var Y = p[D][1][H]; return b(Y || H) }, R, R.exports, f, p, v, m) } return v[D].exports } for (var E = typeof PK == "function" && PK, C = 0; C < m.length; C++)b(m[C]); return b } return f }()({
                1: [function (f, p, v) { Object.defineProperty(v, "__esModule", { value: !0 }); var m = function () { function D(P, B) { for (var j = 0; j < B.length; j++) { var R = B[j]; R.enumerable = R.enumerable || !1, R.configurable = !0, "value" in R && (R.writable = !0), Object.defineProperty(P, R.key, R) } } return function (P, B, j) { return B && D(P.prototype, B), j && D(P, j), P } }(); function b(D, P) { if (!(D instanceof P)) throw new TypeError("Cannot call a class as a function") } var E = function () { function D() { var P = this, B = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, j = B.defaultLayoutOptions, R = j === void 0 ? {} : j, H = B.algorithms, Y = H === void 0 ? ["layered", "stress", "mrtree", "radial", "force", "disco", "sporeOverlap", "sporeCompaction", "rectpacking"] : H, it = B.workerFactory, nt = B.workerUrl; if (b(this, D), this.defaultLayoutOptions = R, this.initialized = !1, typeof nt > "u" && typeof it > "u") throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'."); var st = it; typeof nt < "u" && typeof it > "u" && (st = function (kt) { return new Worker(kt) }); var pt = st(nt); if (typeof pt.postMessage != "function") throw new TypeError("Created worker does not provide the required 'postMessage' function."); this.worker = new C(pt), this.worker.postMessage({ cmd: "register", algorithms: Y }).then(function (Tt) { return P.initialized = !0 }).catch(console.err) } return m(D, [{ key: "layout", value: function (B) { var j = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, R = j.layoutOptions, H = R === void 0 ? this.defaultLayoutOptions : R, Y = j.logging, it = Y === void 0 ? !1 : Y, nt = j.measureExecutionTime, st = nt === void 0 ? !1 : nt; return B ? this.worker.postMessage({ cmd: "layout", graph: B, layoutOptions: H, options: { logging: it, measureExecutionTime: st } }) : Promise.reject(new Error("Missing mandatory parameter 'graph'.")) } }, { key: "knownLayoutAlgorithms", value: function () { return this.worker.postMessage({ cmd: "algorithms" }) } }, { key: "knownLayoutOptions", value: function () { return this.worker.postMessage({ cmd: "options" }) } }, { key: "knownLayoutCategories", value: function () { return this.worker.postMessage({ cmd: "categories" }) } }, { key: "terminateWorker", value: function () { this.worker.terminate() } }]), D }(); v.default = E; var C = function () { function D(P) { var B = this; if (b(this, D), P === void 0) throw new Error("Missing mandatory parameter 'worker'."); this.resolvers = {}, this.worker = P, this.worker.onmessage = function (j) { setTimeout(function () { B.receive(B, j) }, 0) } } return m(D, [{ key: "postMessage", value: function (B) { var j = this.id || 0; this.id = j + 1, B.id = j; var R = this; return new Promise(function (H, Y) { R.resolvers[j] = function (it, nt) { it ? (R.convertGwtStyleError(it), Y(it)) : H(nt) }, R.worker.postMessage(B) }) } }, { key: "receive", value: function (B, j) { var R = j.data, H = B.resolvers[R.id]; H && (delete B.resolvers[R.id], R.error ? H(R.error) : H(null, R.data)) } }, { key: "terminate", value: function () { this.worker.terminate && this.worker.terminate() } }, { key: "convertGwtStyleError", value: function (B) { if (B) { var j = B.__java$exception; j && (j.cause && j.cause.backingJsObject && (B.cause = j.cause.backingJsObject, this.convertGwtStyleError(B.cause)), delete B.__java$exception) } } }]), D }() }, {}], 2: [function (f, p, v) {
                    (function (m) {
                        (function () {
                            var b; typeof window < "u" ? b = window : typeof m < "u" ? b = m : typeof self < "u" && (b = self); var E; function C() { } function D() { } function P() { } function B() { } function j() { } function R() { } function H() { } function Y() { } function it() { } function nt() { } function st() { } function pt() { } function Tt() { } function kt() { } function yt() { } function ht() { } function mt() { } function rt() { } function wt() { } function gt() { } function lt() { } function _t() { } function X() { } function Rt() { } function ft() { } function de() { } function J() { } function ae() { } function Wt() { } function It() { } function Nt() { } function me() { } function Ue() { } function _n() { } function _e() { } function rr() { } function Te() { } function ne() { } function Ee() { } function ye() { } function Vt() { } function Ae() { } function Gt() { } function un() { } function jt() { } function Ke() { } function oe() { } function Or() { } function Le() { } function Nr() { } function fe() { } function sr() { } function Yn() { } function tr() { } function ur() { } function gn() { } function En() { } function Dr() { } function hr() { } function Ki() { } function Is() { } function Ha() { } function hi() { } function qi() { } function zn() { } function Zn() { } function Pr() { } function On() { } function xi() { } function In() { } function rc() { } function qn() { } function ss() { } function Aa() { } function Ya() { } function Ea() { } function ga() { } function Es() { } function Bs() { } function Ta() { } function La() { } function Va() { } function sv() { } function rl() { } function mu() { } function As() { } function gp() { } function sd() { } function Rl() { } function $u() { } function Gi() { } function He() { } function Er() { } function ci() { } function Xa() { } function kc() { } function yu() { } function mo() { } function xu() { } function cf() { } function x3() { } function v1() { } function k3() { } function bL() { } function um() { } function dg() { } function cs() { } function zs() { } function Ma() { } function Ei() { } function Rc() { } function Ne() { } function pp() { } function We() { } function uf() { } function lm() { } function EE() { } function bp() { } function B5() { } function ah() { } function ad() { } function R5() { } function j5() { } function TE() { } function vL() { } function w1() { } function vp() { } function od() { } function hm() { } function av() { } function fm() { } function Ec() { } function gk() { } function Wo() { } function pk() { } function oh() { } function $K() { } function _E() { } function zK() { } function jP() { } function Hf() { } function dm() { } function wL() { } function $P() { } function wp() { } function gm() { } function qK() { } function j2() { } function HK() { } function VK() { } function $5() { } function CE() { } function zP() { } function bk() { } function GK() { } function vk() { } function UK() { } function WK() { } function KK() { } function YK() { } function XK() { } function QK() { } function ZK() { } function JK() { } function tY() { } function eY() { } function nY() { } function mL() { } function rY() { } function iY() { } function SE() { } function qP() { } function z5() { } function sY() { } function aY() { } function oY() { } function cY() { } function uY() { } function AE() { } function yL() { } function HP() { } function E3() { } function T3() { } function lY() { } function lf() { } function q5() { } function hY() { } function wk() { } function zd() { } function fY() { } function dY() { } function gY() { } function pY() { } function LE() { } function xL() { } function VP() { } function kL() { } function H5() { } function bY() { } function GP() { } function UP() { } function vY() { } function wY() { } function mY() { } function yY() { } function xY() { } function kY() { } function qd() { } function ov() { } function EY() { } function WP() { } function KP() { } function TY() { } function _3() { } function mk() { } function EL() { } function pm() { } function yk() { } function _Y() { } function ME() { } function cd() { } function YP() { } function TL() { } function xk() { } function _L() { } function XP() { } function CY() { } function CL() { } function SY() { } function AY() { } function QP() { } function V5() { } function ZP() { } function G5() { } function LY() { } function SL() { } function MY() { } function DY() { } function IY() { } function OY() { } function JP() { } function NY() { } function PY() { } function FY() { } function tF() { } function BY() { } function RY() { } function jY() { } function eF() { } function $Y() { } function zY() { } function nF() { } function rF() { } function iF() { } function qY() { } function HY() { } function kk() { } function U5() { } function DE() { } function VY() { } function AL() { } function IE() { } function LL() { } function sF() { } function aF() { } function GY() { } function UY() { } function WY() { } function oF() { } function cF() { } function KY() { } function YY() { } function XY() { } function QY() { } function ZY() { } function uF() { } function JY() { } function tX() { } function eX() { } function nX() { } function lF() { } function OE() { } function rX() { } function iX() { } function hF() { } function sX() { } function aX() { } function oX() { } function cX() { } function uX() { } function lX() { } function fF() { } function hX() { } function dF() { } function fX() { } function dX() { } function gX() { } function NE() { } function pX() { } function PE() { } function bX() { } function gF() { } function pF() { } function bF() { } function vF() { } function cv() { } function wF() { } function mF() { } function yF() { } function xF() { } function vX() { } function W5() { } function FE() { } function C3() { } function wX() { } function mX() { } function BE() { } function yX() { } function xX() { } function kX() { } function EX() { } function TX() { } function _X() { } function CX() { } function SX() { } function AX() { } function LX() { } function MX() { } function ML() { } function kF() { } function DX() { } function IX() { } function OX() { } function EF() { } function NX() { } function PX() { } function FX() { } function BX() { } function RX() { } function jX() { } function TF() { } function _F() { } function $X() { } function CF() { } function SF() { } function zX() { } function qX() { } function HX() { } function DL() { } function VX() { } function Ek() { } function GX() { } function UX() { } function WX() { } function AF() { } function KX() { } function YX() { } function XX() { } function QX() { } function ZX() { } function JX() { } function tQ() { } function eQ() { } function nQ() { } function rQ() { } function iQ() { } function sQ() { } function K5() { } function LF() { } function aQ() { } function oQ() { } function cQ() { } function MF() { } function uQ() { } function RE() { } function lQ() { } function hQ() { } function fQ() { } function dQ() { } function gQ() { } function pQ() { } function bQ() { } function vQ() { } function wQ() { } function mQ() { } function Y5() { } function yQ() { } function xQ() { } function kQ() { } function EQ() { } function TQ() { } function _Q() { } function CQ() { } function SQ() { } function jE() { } function AQ() { } function LQ() { } function MQ() { } function DQ() { } function IQ() { } function OQ() { } function NQ() { } function PQ() { } function X5() { } function DF() { } function FQ() { } function IL() { } function BQ() { } function RQ() { } function jQ() { } function $Q() { } function zQ() { } function qQ() { } function HQ() { } function IF() { } function VQ() { } function OF() { } function GQ() { } function NF() { } function PF() { } function FF() { } function UQ() { } function WQ() { } function $E() { } function OL() { } function zE() { } function KQ() { } function YQ() { } function NL() { } function XQ() { } function QQ() { } function BF() { } function ZQ() { } function JQ() { } function tZ() { } function eZ() { } function nZ() { } function rZ() { } function iZ() { } function sZ() { } function aZ() { } function oZ() { } function gg() { } function cZ() { } function bm() { } function RF() { } function uZ() { } function lZ() { } function hZ() { } function fZ() { } function dZ() { } function gZ() { } function pZ() { } function bZ() { } function vZ() { } function jc() { } function wZ() { } function qE() { } function dc() { } function ru() { } function ts() { } function PL() { } function mZ() { } function yZ() { } function xZ() { } function Q5() { } function vm() { } function Ve() { } function kZ() { } function EZ() { } function TZ() { } function _Z() { } function CZ() { } function jF() { } function SZ() { } function AZ() { } function FL() { } function LZ() { } function il() { } function zu() { } function MZ() { } function DZ() { } function IZ() { } function wm() { } function uv() { } function mp() { } function ud() { } function Z5() { } function HE() { } function Tk() { } function $F() { } function OZ() { } function _k() { } function zF() { } function NZ() { } function VE() { } function J5() { } function t6() { } function yp() { } function qF() { } function Ck() { } function HF() { } function VF() { } function e6() { } function $2() { } function T0() { } function xp() { } function S3() { } function Sk() { } function GE() { } function GF() { } function PZ() { } function UF() { } function WF() { } function KF() { } function Ak() { } function YF() { } function XF() { } function FZ() { } function Lk() { } function Mk() { } function mm() { } function BL() { } function BZ() { } function RZ() { } function jZ() { } function $Z() { } function zZ() { } function qZ() { } function HZ() { } function VZ() { } function QF() { } function GZ() { } function UZ() { } function WZ() { } function ZF() { } function Dk() { } function UE() { } function JF() { } function KZ() { } function tB() { } function eB() { } function YZ() { } function WE() { } function ym() { } function nB() { } function rB() { } function XZ() { } function QZ() { } function KE() { } function iB() { } function sB() { } function Tc() { } function ZZ() { } function aB() { } function YE() { } function JZ() { } function tJ() { } function XE() { } function oB() { } function QE() { } function ZE() { } function Vf() { } function RL() { } function jL() { } function n6() { } function eJ() { } function nJ() { } function rJ() { } function iJ() { } function xm() { } function cB() { } function r6() { } function m1() { } function uB() { } function lB() { } function hB() { } function fB() { } function dB() { } function gB() { } function Gf() { } function ku() { } function sJ() { } function aJ() { } function oJ() { } function Eu() { } function JE() { } function pB() { } function bB() { } function i6() { } function cJ() { } function Ik() { } function uJ() { } function vB() { } function lJ() { } function hJ() { } function tT() { } function wB() { } function $L() { } function eT() { } function fJ() { } function dJ() { } function zL() { } function nT() { } function y1() { } function Ok() { } function gJ() { } function Nk() { } function qL() { } function z2() { } function rT() { } function HL() { } function Uf() { } function iT() { } function x1() { } function k1() { } function pJ() { } function bJ() { } function A3() { } function Pk() { } function Fk() { } function sT() { } function vJ() { } function s6() { } function VL() { } function mB() { } function wJ() { } function aT() { _T() } function mJ() { pit() } function yB() { Z_() } function GL() { jz() } function yJ() { p4t() } function oT() { i1() } function xJ() { C3t() } function kJ() { ZD() } function EJ() { vM() } function TJ() { bM() } function _J() { HM() } function xB() { LHt() } function CJ() { Y6() } function SJ() { yR() } function AJ() { $Zt() } function kB() { Jte() } function LJ() { wJt() } function MJ() { PXt() } function cT() { J8() } function DJ() { t2() } function IJ() { tee() } function OJ() { AQt() } function NJ() { c6t() } function PJ() { zie() } function FJ() { FXt() } function EB() { Ce() } function BJ() { NXt() } function TB() { eee() } function RJ() { ine() } function UL() { RXt() } function jJ() { EJt() } function _B() { MHt() } function $J() { X4t() } function CB() { iy() } function zJ() { Aee() } function SB() { nI() } function AB() { Vst() } function LB() { Qit() } function WL() { cw() } function L3() { Umt() } function uT() { BXt() } function ld() { Yce() } function MB() { W4t() } function Bk() { Fst() } function KL() { T$() } function qJ() { Uz() } function kp() { Ti() } function DB() { oz() } function IB() { t3t() } function OB() { hq() } function ch() { TWt() } function YL() { Jrt() } function NB() { N5t() } function Rk(t) { Pn(t) } function lT(t) { this.a = t } function jk(t) { this.a = t } function PB(t) { this.a = t } function a6(t) { this.a = t } function lv(t) { this.a = t } function $k(t) { this.a = t } function FB(t) { this.a = t } function HJ(t) { this.a = t } function XL(t) { this.a = t } function M3(t) { this.a = t } function QL(t) { this.a = t } function hT(t) { this.a = t } function VJ(t) { this.a = t } function fT(t) { this.a = t } function dT(t) { this.a = t } function o6(t) { this.a = t } function ZL(t) { this.a = t } function JL(t) { this.a = t } function GJ(t) { this.a = t } function UJ(t) { this.a = t } function WJ(t) { this.a = t } function BB(t) { this.b = t } function KJ(t) { this.c = t } function YJ(t) { this.a = t } function XJ(t) { this.a = t } function QJ(t) { this.a = t } function ZJ(t) { this.a = t } function JJ(t) { this.a = t } function ttt(t) { this.a = t } function ett(t) { this.a = t } function ntt(t) { this.a = t } function c6(t) { this.a = t } function rtt(t) { this.a = t } function zk(t) { this.a = t } function Mh(t) { this.a = t } function itt(t) { this.a = t } function u6(t) { this.a = t } function qk(t) { this.a = t } function gT(t) { this.a = t } function Hk(t) { this.a = t } function pg() { this.a = [] } function stt(t, e) { t.a = e } function Pgt(t, e) { t.a = e } function Fgt(t, e) { t.b = e } function Bgt(t, e) { t.b = e } function Rgt(t, e) { t.b = e } function tM(t, e) { t.j = e } function jgt(t, e) { t.g = e } function $gt(t, e) { t.i = e } function att(t, e) { t.c = e } function E1(t, e) { t.d = e } function ott(t, e) { t.d = e } function zgt(t, e) { t.c = e } function _0(t, e) { t.k = e } function ctt(t, e) { t.c = e } function RB(t, e) { t.c = e } function jB(t, e) { t.a = e } function utt(t, e) { t.a = e } function qgt(t, e) { t.f = e } function Hgt(t, e) { t.a = e } function hv(t, e) { t.b = e } function eM(t, e) { t.d = e } function pT(t, e) { t.i = e } function $B(t, e) { t.o = e } function Vgt(t, e) { t.r = e } function Ggt(t, e) { t.a = e } function zB(t, e) { t.b = e } function fv(t, e) { t.e = e } function ltt(t, e) { t.f = e } function bT(t, e) { t.g = e } function l6(t, e) { t.e = e } function Ugt(t, e) { t.f = e } function Vk(t, e) { t.f = e } function htt(t, e) { t.n = e } function bg(t, e) { t.a = e } function Wgt(t, e) { t.a = e } function D3(t, e) { t.c = e } function ftt(t, e) { t.c = e } function dtt(t, e) { t.d = e } function qB(t, e) { t.e = e } function HB(t, e) { t.g = e } function gtt(t, e) { t.a = e } function Gk(t, e) { t.c = e } function vT(t, e) { t.d = e } function Kgt(t, e) { t.e = e } function ptt(t, e) { t.f = e } function btt(t, e) { t.j = e } function vtt(t, e) { t.a = e } function Ygt(t, e) { t.b = e } function Dc(t, e) { t.a = e } function VB(t) { t.b = t.a } function wtt(t) { t.c = t.d.d } function h6(t) { this.d = t } function vg(t) { this.a = t } function km(t) { this.a = t } function nM(t) { this.a = t } function T1(t) { this.a = t } function f6(t) { this.a = t } function mtt(t) { this.a = t } function GB(t) { this.a = t } function I3(t) { this.a = t } function rM(t) { this.a = t } function Em(t) { this.a = t } function UB(t) { this.a = t } function _1(t) { this.a = t } function y(t) { this.a = t } function g(t) { this.a = t } function x(t) { this.b = t } function T(t) { this.b = t } function A(t) { this.b = t } function I(t) { this.a = t } function O(t) { this.a = t } function $(t) { this.a = t } function z(t) { this.c = t } function S(t) { this.c = t } function V(t) { this.c = t } function U(t) { this.a = t } function tt(t) { this.a = t } function at(t) { this.a = t } function ut(t) { this.a = t } function dt(t) { this.a = t } function At(t) { this.a = t } function xt(t) { this.a = t } function Mt(t) { this.a = t } function Dt(t) { this.a = t } function Bt(t) { this.a = t } function Zt(t) { this.a = t } function Kt(t) { this.a = t } function $t(t) { this.a = t } function ee(t) { this.a = t } function Ht(t) { this.a = t } function ge(t) { this.a = t } function be(t) { this.a = t } function re(t) { this.a = t } function Pe(t) { this.a = t } function ve(t) { this.a = t } function fn(t) { this.a = t } function $e(t) { this.a = t } function qe(t) { this.a = t } function xn(t) { this.a = t } function Nn(t) { this.a = t } function er(t) { this.a = t } function Sn(t) { this.a = t } function Jn(t) { this.a = t } function fr(t) { this.a = t } function Sr(t) { this.a = t } function wr(t) { this.a = t } function cr(t) { this.a = t } function bn(t) { this.a = t } function Tr(t) { this.a = t } function xr(t) { this.a = t } function fi(t) { this.a = t } function Ii(t) { this.a = t } function oa(t) { this.a = t } function Fa(t) { this.a = t } function Fi(t) { this.a = t } function Ci(t) { this.a = t } function Ls(t) { this.a = t } function es(t) { this.a = t } function Ri(t) { this.a = t } function as(t) { this.a = t } function no(t) { this.e = t } function ca(t) { this.a = t } function ea(t) { this.a = t } function Fr(t) { this.a = t } function Qt(t) { this.a = t } function Hn(t) { this.a = t } function jr(t) { this.a = t } function dr(t) { this.a = t } function gr(t) { this.a = t } function Ga(t) { this.a = t } function Qr(t) { this.a = t } function us(t) { this.a = t } function Ko(t) { this.a = t } function Vc(t) { this.a = t } function ho(t) { this.a = t } function Ic(t) { this.a = t } function Ba(t) { this.a = t } function fo(t) { this.a = t } function Sl(t) { this.a = t } function Wf(t) { this.a = t } function Ep(t) { this.a = t } function Tp(t) { this.a = t } function Kf(t) { this.a = t } function wg(t) { this.a = t } function hd(t) { this.a = t } function dv(t) { this.a = t } function Tm(t) { this.a = t } function d6(t) { this.a = t } function O3(t) { this.a = t } function g6(t) { this.a = t } function wT(t) { this.a = t } function N3(t) { this.a = t } function Hd(t) { this.a = t } function C1(t) { this.a = t } function Vd(t) { this.a = t } function mT(t) { this.a = t } function q2(t) { this.a = t } function WB(t) { this.a = t } function ytt(t) { this.a = t } function xtt(t) { this.a = t } function ktt(t) { this.a = t } function Ett(t) { this.a = t } function Ttt(t) { this.a = t } function _tt(t) { this.a = t } function Ctt(t) { this.a = t } function Uk(t) { this.a = t } function iM(t) { this.a = t } function yT(t) { this.a = t } function KB(t) { this.a = t } function YB(t) { this.a = t } function Stt(t) { this.a = t } function _p(t) { this.a = t } function sM(t) { this.a = t } function XB(t) { this.a = t } function Wk(t) { this.c = t } function Cp(t) { this.b = t } function Att(t) { this.a = t } function mjt(t) { this.a = t } function yjt(t) { this.a = t } function xjt(t) { this.a = t } function kjt(t) { this.a = t } function Ejt(t) { this.a = t } function Tjt(t) { this.a = t } function _jt(t) { this.a = t } function Cjt(t) { this.a = t } function Sjt(t) { this.a = t } function Ajt(t) { this.a = t } function Ljt(t) { this.a = t } function Mjt(t) { this.a = t } function Djt(t) { this.a = t } function Ijt(t) { this.a = t } function Ojt(t) { this.a = t } function Njt(t) { this.a = t } function Pjt(t) { this.a = t } function Fjt(t) { this.a = t } function Bjt(t) { this.a = t } function Rjt(t) { this.a = t } function jjt(t) { this.a = t } function $jt(t) { this.a = t } function zjt(t) { this.a = t } function Sp(t) { this.a = t } function p6(t) { this.a = t } function qjt(t) { this.a = t } function Hjt(t) { this.a = t } function Vjt(t) { this.a = t } function Gjt(t) { this.a = t } function Ujt(t) { this.a = t } function Wjt(t) { this.a = t } function Kjt(t) { this.a = t } function Yjt(t) { this.a = t } function Xjt(t) { this.a = t } function Qjt(t) { this.a = t } function Zjt(t) { this.a = t } function Jjt(t) { this.a = t } function t$t(t) { this.a = t } function e$t(t) { this.a = t } function n$t(t) { this.a = t } function r$t(t) { this.a = t } function QB(t) { this.a = t } function i$t(t) { this.a = t } function s$t(t) { this.a = t } function a$t(t) { this.a = t } function o$t(t) { this.a = t } function c$t(t) { this.a = t } function u$t(t) { this.a = t } function l$t(t) { this.a = t } function h$t(t) { this.a = t } function f$t(t) { this.a = t } function d$t(t) { this.a = t } function g$t(t) { this.a = t } function p$t(t) { this.a = t } function b$t(t) { this.a = t } function v$t(t) { this.a = t } function w$t(t) { this.a = t } function m$t(t) { this.a = t } function y$t(t) { this.a = t } function x$t(t) { this.a = t } function k$t(t) { this.a = t } function E$t(t) { this.a = t } function T$t(t) { this.a = t } function _$t(t) { this.a = t } function C$t(t) { this.a = t } function S$t(t) { this.a = t } function A$t(t) { this.a = t } function L$t(t) { this.a = t } function M$t(t) { this.a = t } function D$t(t) { this.a = t } function Xgt(t) { this.a = t } function rs(t) { this.b = t } function I$t(t) { this.f = t } function Qgt(t) { this.a = t } function O$t(t) { this.a = t } function N$t(t) { this.a = t } function P$t(t) { this.a = t } function F$t(t) { this.a = t } function B$t(t) { this.a = t } function R$t(t) { this.a = t } function j$t(t) { this.a = t } function $$t(t) { this.a = t } function aM(t) { this.a = t } function z$t(t) { this.a = t } function q$t(t) { this.b = t } function Zgt(t) { this.c = t } function ZB(t) { this.e = t } function H$t(t) { this.a = t } function JB(t) { this.a = t } function tR(t) { this.a = t } function Ltt(t) { this.a = t } function V$t(t) { this.a = t } function G$t(t) { this.d = t } function Jgt(t) { this.a = t } function tpt(t) { this.a = t } function gv(t) { this.e = t } function xUe() { this.a = 0 } function P3() { TGt(this) } function le() { Bet(this) } function Rr() { al(this) } function Mtt() { AYt(this) } function U$t() { } function pv() { this.c = NAt } function kUe(t, e) { e.Wb(t) } function W$t(t, e) { t.b += e } function K$t(t) { t.b = new Wtt } function et(t) { return t.e } function EUe(t) { return t.a } function TUe(t) { return t.a } function _Ue(t) { return t.a } function CUe(t) { return t.a } function SUe(t) { return t.a } function AUe() { return null } function LUe() { return null } function MUe() { $pt(), z3n() } function DUe(t) { t.b.tf(t.e) } function xT(t, e) { t.b = e - t.b } function kT(t, e) { t.a = e - t.a } function Y$t(t, e) { e.ad(t.a) } function IUe(t, e) { Qs(e, t) } function OUe(t, e, n) { t.Od(n, e) } function oM(t, e) { t.e = e, e.b = t } function ept(t) { vd(), this.a = t } function X$t(t) { vd(), this.a = t } function Q$t(t) { vd(), this.a = t } function npt(t) { qm(), this.a = t } function Z$t(t) { T8(), lut.be(t) } function H2() { oUt.call(this) } function rpt() { oUt.call(this) } function ipt() { H2.call(this) } function Dtt() { H2.call(this) } function J$t() { H2.call(this) } function cM() { H2.call(this) } function qu() { H2.call(this) } function ET() { H2.call(this) } function Gr() { H2.call(this) } function uh() { H2.call(this) } function tzt() { H2.call(this) } function _c() { H2.call(this) } function ezt() { H2.call(this) } function nzt() { this.a = this } function eR() { this.Bb |= 256 } function rzt() { this.b = new sGt } function spt() { spt = J, new Rr } function apt() { ipt.call(this) } function izt(t, e) { t.length = e } function nR(t, e) { ue(t.a, e) } function NUe(t, e) { v4t(t.c, e) } function PUe(t, e) { Ys(t.b, e) } function FUe(t, e) { Oz(t.a, e) } function BUe(t, e) { Tit(t.a, e) } function Kk(t, e) { Oi(t.e, e) } function b6(t) { Yz(t.c, t.b) } function RUe(t, e) { t.kc().Nb(e) } function opt(t) { this.a = Fcn(t) } function na() { this.a = new Rr } function szt() { this.a = new Rr } function rR() { this.a = new le } function Itt() { this.a = new le } function cpt() { this.a = new le } function Dh() { this.a = new rc } function V2() { this.a = new FZt } function upt() { this.a = new EE } function lpt() { this.a = new xHt } function azt() { this.a = new uQt } function hpt() { this.a = new _Xt } function fpt() { this.a = new YUt } function ozt() { this.a = new le } function dpt() { this.a = new le } function czt() { this.a = new le } function uzt() { this.a = new le } function lzt() { this.d = new le } function hzt() { this.a = new na } function fzt() { this.a = new Rr } function dzt() { this.b = new Rr } function gzt() { this.b = new le } function gpt() { this.e = new le } function pzt() { this.d = new le } function bzt() { this.a = new DJ } function vzt() { le.call(this) } function ppt() { rR.call(this) } function wzt() { fj.call(this) } function mzt() { dpt.call(this) } function Ott() { TT.call(this) } function TT() { U$t.call(this) } function v6() { U$t.call(this) } function bpt() { v6.call(this) } function yzt() { nXt.call(this) } function xzt() { nXt.call(this) } function kzt() { Ept.call(this) } function Ezt() { Ept.call(this) } function Tzt() { Ept.call(this) } function _zt() { Tpt.call(this) } function Hu() { hs.call(this) } function vpt() { wm.call(this) } function wpt() { wm.call(this) } function Czt() { qzt.call(this) } function Szt() { qzt.call(this) } function Azt() { Rr.call(this) } function Lzt() { Rr.call(this) } function Mzt() { Rr.call(this) } function Dzt() { na.call(this) } function Ntt() { Xte.call(this) } function Izt() { eR.call(this) } function Ptt() { K2t.call(this) } function Ftt() { K2t.call(this) } function mpt() { Rr.call(this) } function Btt() { Rr.call(this) } function Ozt() { Rr.call(this) } function ypt() { Ck.call(this) } function Nzt() { Ck.call(this) } function Pzt() { ypt.call(this) } function Fzt() { VL.call(this) } function Bzt(t) { xte.call(this, t) } function Rzt(t) { xte.call(this, t) } function xpt(t) { XL.call(this, t) } function kpt(t) { hHt.call(this, t) } function jUe(t) { kpt.call(this, t) } function $Ue(t) { hHt.call(this, t) } function Yk() { this.a = new hs } function Ept() { this.a = new na } function Tpt() { this.a = new Rr } function jzt() { this.a = new le } function $zt() { this.j = new le } function _pt() { this.a = new FF } function zzt() { this.a = new Fqt } function qzt() { this.a = new qF } function Rtt() { Rtt = J, iut = new aqt } function jtt() { jtt = J, rut = new sqt } function _T() { _T = J, nut = new D } function iR() { iR = J, out = new sUt } function zUe(t) { kpt.call(this, t) } function qUe(t) { kpt.call(this, t) } function Hzt(t) { vrt.call(this, t) } function Vzt(t) { vrt.call(this, t) } function Gzt(t) { vWt.call(this, t) } function $tt(t) { cdn.call(this, t) } function bv(t) { Am.call(this, t) } function CT(t) { bR.call(this, t) } function Cpt(t) { bR.call(this, t) } function Uzt(t) { bR.call(this, t) } function ic(t) { DKt.call(this, t) } function Wzt(t) { ic.call(this, t) } function w6() { Hk.call(this, {}) } function sR(t) { u8(), this.a = t } function ST(t) { t.b = null, t.c = 0 } function HUe(t, e) { t.e = e, Koe(t, e) } function VUe(t, e) { t.a = e, Kdn(t) } function ztt(t, e, n) { t.a[e.g] = n } function GUe(t, e, n) { lfn(n, t, e) } function UUe(t, e) { vXe(e.i, t.n) } function Kzt(t, e) { won(t).td(e) } function WUe(t, e) { return t * t / e } function Yzt(t, e) { return t.g - e.g } function KUe(t) { return new gT(t) } function YUe(t) { return new zm(t) } function aR(t) { ic.call(this, t) } function Oo(t) { ic.call(this, t) } function Xzt(t) { ic.call(this, t) } function qtt(t) { DKt.call(this, t) } function Htt(t) { Vmt(), this.a = t } function Qzt(t) { EWt(), this.a = t } function _m(t) { xnt(), this.f = t } function Vtt(t) { xnt(), this.f = t } function Xk(t) { ic.call(this, t) } function Bn(t) { ic.call(this, t) } function Yo(t) { ic.call(this, t) } function Zzt(t) { ic.call(this, t) } function m6(t) { ic.call(this, t) } function Re(t) { return Pn(t), t } function Xt(t) { return Pn(t), t } function uM(t) { return Pn(t), t } function Spt(t) { return Pn(t), t } function XUe(t) { return Pn(t), t } function AT(t) { return t.b == t.c } function Cm(t) { return !!t && t.b } function QUe(t) { return !!t && t.k } function ZUe(t) { return !!t && t.j } function Al(t) { Pn(t), this.a = t } function Apt(t) { return cb(t), t } function LT(t) { $vt(t, t.length) } function mg(t) { ic.call(this, t) } function fd(t) { ic.call(this, t) } function Gtt(t) { ic.call(this, t) } function F3(t) { ic.call(this, t) } function MT(t) { ic.call(this, t) } function Wr(t) { ic.call(this, t) } function Utt(t) { fbt.call(this, t, 0) } function Wtt() { ywt.call(this, 12, 3) } function Lpt() { Lpt = J, M8t = new wt } function Jzt() { Jzt = J, L8t = new C } function oR() { oR = J, JC = new Tt } function tqt() { tqt = J, L0e = new yt } function eqt() { throw et(new Gr) } function Mpt() { throw et(new Gr) } function nqt() { throw et(new Gr) } function JUe() { throw et(new Gr) } function tWe() { throw et(new Gr) } function eWe() { throw et(new Gr) } function Ktt() { this.a = Kr(zr(ao)) } function y6(t) { vd(), this.a = zr(t) } function rqt(t, e) { t.Td(e), e.Sd(t) } function nWe(t, e) { t.a.ec().Mc(e) } function rWe(t, e, n) { t.c.lf(e, n) } function Dpt(t) { Oo.call(this, t) } function dd(t) { Bn.call(this, t) } function yg() { f6.call(this, "") } function DT() { f6.call(this, "") } function Ap() { f6.call(this, "") } function Sm() { f6.call(this, "") } function Ipt(t) { Oo.call(this, t) } function Qk(t) { T.call(this, t) } function Ytt(t) { rj.call(this, t) } function iqt(t) { Qk.call(this, t) } function sqt() { fT.call(this, null) } function aqt() { fT.call(this, null) } function cR() { cR = J, T8() } function oqt() { oqt = J, j0e = Bfn() } function cqt(t) { return t.a ? t.b : 0 } function iWe(t) { return t.a ? t.b : 0 } function sWe(t, e) { return t.a - e.a } function aWe(t, e) { return t.a - e.a } function oWe(t, e) { return t.a - e.a } function uR(t, e) { return lmt(t, e) } function ot(t, e) { return AXt(t, e) } function cWe(t, e) { return e in t.a } function uqt(t, e) { return t.f = e, t } function uWe(t, e) { return t.b = e, t } function lqt(t, e) { return t.c = e, t } function lWe(t, e) { return t.g = e, t } function Opt(t, e) { return t.a = e, t } function Npt(t, e) { return t.f = e, t } function hWe(t, e) { return t.k = e, t } function Ppt(t, e) { return t.a = e, t } function fWe(t, e) { return t.e = e, t } function Fpt(t, e) { return t.e = e, t } function dWe(t, e) { return t.f = e, t } function gWe(t, e) { t.b = !0, t.d = e } function pWe(t, e) { t.b = new No(e) } function bWe(t, e, n) { e.td(t.a[n]) } function vWe(t, e, n) { e.we(t.a[n]) } function wWe(t, e) { return t.b - e.b } function mWe(t, e) { return t.g - e.g } function yWe(t, e) { return t.s - e.s } function xWe(t, e) { return t ? 0 : e - 1 } function hqt(t, e) { return t ? 0 : e - 1 } function kWe(t, e) { return t ? e - 1 : 0 } function EWe(t, e) { return e.Yf(t) } function vv(t, e) { return t.b = e, t } function lR(t, e) { return t.a = e, t } function wv(t, e) { return t.c = e, t } function mv(t, e) { return t.d = e, t } function yv(t, e) { return t.e = e, t } function Bpt(t, e) { return t.f = e, t } function IT(t, e) { return t.a = e, t } function Zk(t, e) { return t.b = e, t } function Jk(t, e) { return t.c = e, t } function Ze(t, e) { return t.c = e, t } function yn(t, e) { return t.b = e, t } function Je(t, e) { return t.d = e, t } function tn(t, e) { return t.e = e, t } function TWe(t, e) { return t.f = e, t } function en(t, e) { return t.g = e, t } function nn(t, e) { return t.a = e, t } function rn(t, e) { return t.i = e, t } function sn(t, e) { return t.j = e, t } function fqt(t, e) { return t.k = e, t } function _We(t, e) { return t.j = e, t } function CWe(t, e) { t2(), ac(e, t) } function SWe(t, e, n) { xJe(t.a, e, n) } function dqt(t) { MYt.call(this, t) } function Rpt(t) { MYt.call(this, t) } function hR(t) { int.call(this, t) } function gqt(t) { Vcn.call(this, t) } function Lp(t) { Gv.call(this, t) } function pqt(t) { Unt.call(this, t) } function bqt(t) { Unt.call(this, t) } function vqt() { H2t.call(this, "") } function Ra() { this.a = 0, this.b = 0 } function wqt() { this.b = 0, this.a = 0 } function mqt(t, e) { t.b = 0, Zm(t, e) } function AWe(t, e) { t.c = e, t.b = !0 } function yqt(t, e) { return t.c._b(e) } function Yf(t) { return t.e && t.e() } function Xtt(t) { return t ? t.d : null } function xqt(t, e) { return Wne(t.b, e) } function LWe(t) { return t ? t.g : null } function MWe(t) { return t ? t.i : null } function Mp(t) { return A0(t), t.o } function xv() { xv = J, B3e = Khn() } function kqt() { kqt = J, da = a1n() } function t8() { t8 = J, OAt = Xhn() } function Eqt() { Eqt = J, x4e = Yhn() } function jpt() { jpt = J, Mc = Gdn() } function $pt() { $pt = J, C2 = z8() } function Tqt() { throw et(new Gr) } function _qt() { throw et(new Gr) } function Cqt() { throw et(new Gr) } function Sqt() { throw et(new Gr) } function Aqt() { throw et(new Gr) } function Lqt() { throw et(new Gr) } function fR(t) { this.a = new x6(t) } function zpt(t) { Tle(), t4n(this, t) } function Dp(t) { this.a = new _nt(t) } function B3(t, e) { for (; t.ye(e);); } function qpt(t, e) { for (; t.sd(e);); } function R3(t, e) { return t.a += e, t } function Qtt(t, e) { return t.a += e, t } function xg(t, e) { return t.a += e, t } function kv(t, e) { return t.a += e, t } function OT(t) { return qp(t), t.a } function dR(t) { return t.b != t.d.c } function Mqt(t) { return t.l | t.m << 22 } function Hpt(t, e) { return t.d[e.p] } function Dqt(t, e) { return N2n(t, e) } function Vpt(t, e, n) { t.splice(e, n) } function Iqt(t) { t.c ? pce(t) : bce(t) } function gR(t) { this.a = 0, this.b = t } function Oqt() { this.a = new fI(U_t) } function Nqt() { this.b = new fI(I_t) } function Pqt() { this.b = new fI(Lht) } function Fqt() { this.b = new fI(Lht) } function Bqt() { throw et(new Gr) } function Rqt() { throw et(new Gr) } function jqt() { throw et(new Gr) } function $qt() { throw et(new Gr) } function zqt() { throw et(new Gr) } function qqt() { throw et(new Gr) } function Hqt() { throw et(new Gr) } function Vqt() { throw et(new Gr) } function Gqt() { throw et(new Gr) } function Uqt() { throw et(new Gr) } function DWe() { throw et(new _c) } function IWe() { throw et(new _c) } function lM(t) { this.a = new Wqt(t) } function Wqt(t) { Hsn(this, t, Hfn()) } function hM(t) { return !t || gYt(t) } function fM(t) { return td[t] != -1 } function OWe() { IH != 0 && (IH = 0), OH = -1 } function Kqt() { eut == null && (eut = []) } function NWe(t, e) { Dst(Ut(t.a), e) } function PWe(t, e) { Dst(Ut(t.a), e) } function dM(t, e) { W3.call(this, t, e) } function e8(t, e) { dM.call(this, t, e) } function Gpt(t, e) { this.b = t, this.c = e } function Yqt(t, e) { this.b = t, this.a = e } function Xqt(t, e) { this.a = t, this.b = e } function Qqt(t, e) { this.a = t, this.b = e } function Zqt(t, e) { this.a = t, this.b = e } function Jqt(t, e) { this.a = t, this.b = e } function tHt(t, e) { this.a = t, this.b = e } function eHt(t, e) { this.a = t, this.b = e } function nHt(t, e) { this.a = t, this.b = e } function rHt(t, e) { this.a = t, this.b = e } function iHt(t, e) { this.b = t, this.a = e } function sHt(t, e) { this.b = t, this.a = e } function aHt(t, e) { this.b = t, this.a = e } function oHt(t, e) { this.b = t, this.a = e } function ei(t, e) { this.f = t, this.g = e } function n8(t, e) { this.e = t, this.d = e } function Ev(t, e) { this.g = t, this.i = e } function Ztt(t, e) { this.a = t, this.b = e } function cHt(t, e) { this.a = t, this.f = e } function uHt(t, e) { this.b = t, this.c = e } function FWe(t, e) { this.a = t, this.b = e } function lHt(t, e) { this.a = t, this.b = e } function Jtt(t, e) { this.a = t, this.b = e } function hHt(t) { ebt(t.dc()), this.c = t } function pR(t) { this.b = u(zr(t), 83) } function fHt(t) { this.a = u(zr(t), 83) } function Am(t) { this.a = u(zr(t), 15) } function dHt(t) { this.a = u(zr(t), 15) } function bR(t) { this.b = u(zr(t), 47) } function vR() { this.q = new b.Date } function Gd() { Gd = J, G8t = new ae } function r8() { r8 = J, Z7 = new Rt } function NT(t) { return t.f.c + t.g.c } function gM(t, e) { return t.b.Hc(e) } function gHt(t, e) { return t.b.Ic(e) } function pHt(t, e) { return t.b.Qc(e) } function bHt(t, e) { return t.b.Hc(e) } function vHt(t, e) { return t.c.uc(e) } function C0(t, e) { return t.a._b(e) } function wHt(t, e) { return Ni(t.c, e) } function mHt(t, e) { return Il(t.b, e) } function yHt(t, e) { return t > e && e < kC } function BWe(t, e) { return t.Gc(e), t } function RWe(t, e) { return io(t, e), t } function jWe(t) { return uYt(), t ? A0e : S0e } function x6(t) { sne.call(this, t, 0) } function xHt() { _nt.call(this, null) } function Upt() { Srt.call(this, null) } function k6(t) { this.c = t, tte(this) } function hs() { IGt(this), Nh(this) } function Ts(t, e) { qp(t), t.a.Nb(e) } function kHt(t, e) { return t.Gc(e), t } function $We(t, e) { return t.a.f = e, t } function EHt(t, e) { return t.a.d = e, t } function THt(t, e) { return t.a.g = e, t } function _Ht(t, e) { return t.a.j = e, t } function hf(t, e) { return t.a.a = e, t } function ff(t, e) { return t.a.d = e, t } function df(t, e) { return t.a.e = e, t } function gf(t, e) { return t.a.g = e, t } function pM(t, e) { return t.a.f = e, t } function zWe(t) { return t.b = !1, t } function i8() { i8 = J, r7t = new aGt } function wR() { wR = J, z0e = new oGt } function s8() { s8 = J, u7t = new Gt } function CHt() { CHt = J, zpe = new dm } function mR() { mR = J, Cut = new wUt } function G2() { G2 = J, J7 = new Ki } function PT() { PT = J, Hpe = new wL } function SHt() { SHt = J, Q0e = new zn } function Wpt() { Wpt = J, Mpe = new TE } function bM() { bM = J, Upe = new Ra } function AHt() { AHt = J, Dpe = new fm } function Kpt() { Kpt = J, Ipe = new EKt } function Ypt() { Ypt = J, a9t = new hm } function vM() { vM = J, Wpe = new SE } function LHt() { LHt = J, Qpe = new ov } function FT() { FT = J, r2e = new pX } function yR() { yR = J, z4 = new CX } function MHt() { MHt = J, _me = new ra } function xR() { xR = J, Mht = new IHt } function kR() { kR = J, Dht = new IUt } function BT() { BT = J, RO = new kYt } function ER() { ER = J, Wve = new AZ } function DHt() { Zte(), this.c = new Wtt } function IHt() { ei.call(this, yfe, 0) } function Tv(t, e) { db(t.c.b, e.c, e) } function RT(t, e) { db(t.c.c, e.b, e) } function qWe(t, e, n) { Po(t.d, e.f, n) } function HWe(t, e, n, r) { mln(t, r, e, n) } function VWe(t, e, n, r) { zpn(r, t, e, n) } function GWe(t, e, n, r) { i3n(r, t, e, n) } function TR(t, e) { return t.a = e.g, t } function OHt(t, e) { return Ahn(t.a, e) } function UWe(t) { return t.b ? t.b : t.a } function WWe(t) { return (t.c + t.a) / 2 } function Lm() { Lm = J, P3e = new IZ } function NHt() { NHt = J, H3e = new OZ } function PHt() { PHt = J, n4e = new Lzt } function FHt() { FHt = J, r4e = new Mzt } function Ip() { Ip = J, tf = new mpt } function Xpt() { Xpt = J, IAt = new Ozt } function jT() { jT = J, pft = new RGt } function kg() { kg = J, lN = new jGt } function tet() { tet = J, v4e = new rJ } function go() { go = J, m4e = new iJ } function _R() { _R = J, WG = new Rr } function Qpt() { Qpt = J, HAt = new le } function Op() { Op = J, M2 = new wJ } function KWe(t) { b.clearTimeout(t) } function Zpt(t) { this.a = u(zr(t), 224) } function CR(t) { return u(t, 42).cd() } function wM(t) { return t.b < t.d.gc() } function BHt(t, e) { return wnt(t.a, e) } function RHt(t, e) { return Oc(t, e) > 0 } function eet(t, e) { return Oc(t, e) < 0 } function $T(t, e) { return t.a.get(e) } function YWe(t, e) { return e.split(t) } function jHt(t, e) { return Il(t.e, e) } function Jpt(t) { return Pn(t), !1 } function SR(t) { Cn.call(this, t, 21) } function XWe(t, e) { bXt.call(this, t, e) } function AR(t, e) { ei.call(this, t, e) } function net(t, e) { ei.call(this, t, e) } function t2t(t) { Rnt(), vWt.call(this, t) } function e2t(t, e) { yKt(t, t.length, e) } function mM(t, e) { YKt(t, t.length, e) } function QWe(t, e, n) { e.ud(t.a.Ge(n)) } function ZWe(t, e, n) { e.we(t.a.Fe(n)) } function JWe(t, e, n) { e.td(t.a.Kb(n)) } function tKe(t, e, n) { t.Mb(n) && e.td(n) } function zT(t, e, n) { t.splice(e, 0, n) } function eKe(t, e) { return Gu(t.e, e) } function LR(t, e) { this.d = t, this.e = e } function $Ht(t, e) { this.b = t, this.a = e } function zHt(t, e) { this.b = t, this.a = e } function n2t(t, e) { this.b = t, this.a = e } function qHt(t, e) { this.a = t, this.b = e } function HHt(t, e) { this.a = t, this.b = e } function VHt(t, e) { this.a = t, this.b = e } function GHt(t, e) { this.a = t, this.b = e } function E6(t, e) { this.a = t, this.b = e } function r2t(t, e) { this.b = t, this.a = e } function i2t(t, e) { this.b = t, this.a = e } function MR(t, e) { ei.call(this, t, e) } function DR(t, e) { ei.call(this, t, e) } function s2t(t, e) { ei.call(this, t, e) } function a2t(t, e) { ei.call(this, t, e) } function j3(t, e) { ei.call(this, t, e) } function ret(t, e) { ei.call(this, t, e) } function iet(t, e) { ei.call(this, t, e) } function set(t, e) { ei.call(this, t, e) } function IR(t, e) { ei.call(this, t, e) } function o2t(t, e) { ei.call(this, t, e) } function aet(t, e) { ei.call(this, t, e) } function yM(t, e) { ei.call(this, t, e) } function OR(t, e) { ei.call(this, t, e) } function oet(t, e) { ei.call(this, t, e) } function qT(t, e) { ei.call(this, t, e) } function c2t(t, e) { ei.call(this, t, e) } function Os(t, e) { ei.call(this, t, e) } function NR(t, e) { ei.call(this, t, e) } function UHt(t, e) { this.a = t, this.b = e } function WHt(t, e) { this.a = t, this.b = e } function KHt(t, e) { this.a = t, this.b = e } function YHt(t, e) { this.a = t, this.b = e } function XHt(t, e) { this.a = t, this.b = e } function QHt(t, e) { this.a = t, this.b = e } function ZHt(t, e) { this.a = t, this.b = e } function JHt(t, e) { this.a = t, this.b = e } function tVt(t, e) { this.a = t, this.b = e } function u2t(t, e) { this.b = t, this.a = e } function eVt(t, e) { this.b = t, this.a = e } function nVt(t, e) { this.b = t, this.a = e } function rVt(t, e) { this.b = t, this.a = e } function a8(t, e) { this.c = t, this.d = e } function iVt(t, e) { this.e = t, this.d = e } function sVt(t, e) { this.a = t, this.b = e } function aVt(t, e) { this.b = e, this.c = t } function PR(t, e) { ei.call(this, t, e) } function xM(t, e) { ei.call(this, t, e) } function cet(t, e) { ei.call(this, t, e) } function HT(t, e) { ei.call(this, t, e) } function l2t(t, e) { ei.call(this, t, e) } function uet(t, e) { ei.call(this, t, e) } function het(t, e) { ei.call(this, t, e) } function kM(t, e) { ei.call(this, t, e) } function h2t(t, e) { ei.call(this, t, e) } function fet(t, e) { ei.call(this, t, e) } function VT(t, e) { ei.call(this, t, e) } function f2t(t, e) { ei.call(this, t, e) } function GT(t, e) { ei.call(this, t, e) } function UT(t, e) { ei.call(this, t, e) } function Mm(t, e) { ei.call(this, t, e) } function det(t, e) { ei.call(this, t, e) } function get(t, e) { ei.call(this, t, e) } function d2t(t, e) { ei.call(this, t, e) } function WT(t, e) { ei.call(this, t, e) } function pet(t, e) { ei.call(this, t, e) } function FR(t, e) { ei.call(this, t, e) } function EM(t, e) { ei.call(this, t, e) } function TM(t, e) { ei.call(this, t, e) } function T6(t, e) { ei.call(this, t, e) } function bet(t, e) { ei.call(this, t, e) } function g2t(t, e) { ei.call(this, t, e) } function vet(t, e) { ei.call(this, t, e) } function wet(t, e) { ei.call(this, t, e) } function p2t(t, e) { ei.call(this, t, e) } function met(t, e) { ei.call(this, t, e) } function yet(t, e) { ei.call(this, t, e) } function xet(t, e) { ei.call(this, t, e) } function ket(t, e) { ei.call(this, t, e) } function b2t(t, e) { ei.call(this, t, e) } function oVt(t, e) { this.b = t, this.a = e } function cVt(t, e) { this.a = t, this.b = e } function uVt(t, e) { this.a = t, this.b = e } function lVt(t, e) { this.a = t, this.b = e } function hVt(t, e) { this.a = t, this.b = e } function v2t(t, e) { ei.call(this, t, e) } function w2t(t, e) { ei.call(this, t, e) } function fVt(t, e) { this.b = t, this.d = e } function m2t(t, e) { ei.call(this, t, e) } function y2t(t, e) { ei.call(this, t, e) } function dVt(t, e) { this.a = t, this.b = e } function gVt(t, e) { this.a = t, this.b = e } function BR(t, e) { ei.call(this, t, e) } function KT(t, e) { ei.call(this, t, e) } function x2t(t, e) { ei.call(this, t, e) } function k2t(t, e) { ei.call(this, t, e) } function E2t(t, e) { ei.call(this, t, e) } function Eet(t, e) { ei.call(this, t, e) } function T2t(t, e) { ei.call(this, t, e) } function Tet(t, e) { ei.call(this, t, e) } function RR(t, e) { ei.call(this, t, e) } function _et(t, e) { ei.call(this, t, e) } function Cet(t, e) { ei.call(this, t, e) } function _M(t, e) { ei.call(this, t, e) } function Aet(t, e) { ei.call(this, t, e) } function _2t(t, e) { ei.call(this, t, e) } function CM(t, e) { ei.call(this, t, e) } function C2t(t, e) { ei.call(this, t, e) } function nKe(t, e) { return Gu(t.c, e) } function rKe(t, e) { return Gu(e.b, t) } function iKe(t, e) { return -t.b.Je(e) } function S2t(t, e) { return Gu(t.g, e) } function SM(t, e) { ei.call(this, t, e) } function _6(t, e) { ei.call(this, t, e) } function pVt(t, e) { this.a = t, this.b = e } function bVt(t, e) { this.a = t, this.b = e } function je(t, e) { this.a = t, this.b = e } function YT(t, e) { ei.call(this, t, e) } function XT(t, e) { ei.call(this, t, e) } function AM(t, e) { ei.call(this, t, e) } function Let(t, e) { ei.call(this, t, e) } function jR(t, e) { ei.call(this, t, e) } function QT(t, e) { ei.call(this, t, e) } function Met(t, e) { ei.call(this, t, e) } function $R(t, e) { ei.call(this, t, e) } function $3(t, e) { ei.call(this, t, e) } function LM(t, e) { ei.call(this, t, e) } function ZT(t, e) { ei.call(this, t, e) } function JT(t, e) { ei.call(this, t, e) } function MM(t, e) { ei.call(this, t, e) } function zR(t, e) { ei.call(this, t, e) } function z3(t, e) { ei.call(this, t, e) } function qR(t, e) { ei.call(this, t, e) } function vVt(t, e) { this.a = t, this.b = e } function wVt(t, e) { this.a = t, this.b = e } function mVt(t, e) { this.a = t, this.b = e } function yVt(t, e) { this.a = t, this.b = e } function xVt(t, e) { this.a = t, this.b = e } function kVt(t, e) { this.a = t, this.b = e } function _a(t, e) { this.a = t, this.b = e } function HR(t, e) { ei.call(this, t, e) } function EVt(t, e) { this.a = t, this.b = e } function TVt(t, e) { this.a = t, this.b = e } function _Vt(t, e) { this.a = t, this.b = e } function CVt(t, e) { this.a = t, this.b = e } function SVt(t, e) { this.a = t, this.b = e } function AVt(t, e) { this.a = t, this.b = e } function LVt(t, e) { this.b = t, this.a = e } function MVt(t, e) { this.b = t, this.a = e } function DVt(t, e) { this.b = t, this.a = e } function IVt(t, e) { this.b = t, this.a = e } function OVt(t, e) { this.a = t, this.b = e } function NVt(t, e) { this.a = t, this.b = e } function sKe(t, e) { Ppn(t.a, u(e, 56)) } function PVt(t, e) { Win(t.a, u(e, 11)) } function aKe(t, e) { return g8(), e != t } function FVt() { return oqt(), new j0e } function BVt() { rrt(), this.b = new na } function RVt() { nq(), this.a = new na } function jVt() { mwt(), Avt.call(this) } function C6(t, e) { ei.call(this, t, e) } function $Vt(t, e) { this.a = t, this.b = e } function zVt(t, e) { this.a = t, this.b = e } function VR(t, e) { this.a = t, this.b = e } function qVt(t, e) { this.a = t, this.b = e } function HVt(t, e) { this.a = t, this.b = e } function VVt(t, e) { this.a = t, this.b = e } function GVt(t, e) { this.d = t, this.b = e } function A2t(t, e) { this.d = t, this.e = e } function UVt(t, e) { this.f = t, this.c = e } function DM(t, e) { this.b = t, this.c = e } function L2t(t, e) { this.i = t, this.g = e } function WVt(t, e) { this.e = t, this.a = e } function KVt(t, e) { this.a = t, this.b = e } function M2t(t, e) { t.i = null, U$(t, e) } function oKe(t, e) { t && Pi(oN, t, e) } function YVt(t, e) { return Pit(t.a, e) } function GR(t) { return VD(t.c, t.b) } function gc(t) { return t ? t.dd() : null } function qt(t) { return t ?? null } function Dm(t) { return typeof t === cx } function Im(t) { return typeof t === u6t } function pa(t) { return typeof t === xat } function Np(t, e) { return t.Hd().Xb(e) } function UR(t, e) { return Ean(t.Kc(), e) } function _v(t, e) { return Oc(t, e) == 0 } function cKe(t, e) { return Oc(t, e) >= 0 } function t_(t, e) { return Oc(t, e) != 0 } function uKe(t) { return "" + (Pn(t), t) } function IM(t, e) { return t.substr(e) } function XVt(t) { return vl(t), t.d.gc() } function Det(t) { return sgn(t, t.c), t } function WR(t) { return d_(t == null), t } function e_(t, e) { return t.a += "" + e, t } function So(t, e) { return t.a += "" + e, t } function n_(t, e) { return t.a += "" + e, t } function Cc(t, e) { return t.a += "" + e, t } function ni(t, e) { return t.a += "" + e, t } function D2t(t, e) { return t.a += "" + e, t } function QVt(t, e) { Cs(t, e, t.a, t.a.a) } function U2(t, e) { Cs(t, e, t.c.b, t.c) } function lKe(t, e, n) { ase(e, Tst(t, n)) } function hKe(t, e, n) { ase(e, Tst(t, n)) } function fKe(t, e) { isn(new lr(t), e) } function ZVt(t, e) { t.q.setTime(qv(e)) } function JVt(t, e) { Bvt.call(this, t, e) } function tGt(t, e) { Bvt.call(this, t, e) } function Iet(t, e) { Bvt.call(this, t, e) } function eGt(t) { al(this), j_(this, t) } function I2t(t) { return An(t, 0), null } function Xf(t) { return t.a = 0, t.b = 0, t } function nGt(t, e) { return t.a = e.g + 1, t } function dKe(t, e) { return t.j[e.p] == 2 } function O2t(t) { return YJe(u(t, 79)) } function rGt() { rGt = J, Oge = ii(zit()) } function iGt() { iGt = J, Xpe = ii($oe()) } function sGt() { this.b = new x6(Ym(12)) } function aGt() { this.b = 0, this.a = !1 } function oGt() { this.b = 0, this.a = !1 } function r_(t) { this.a = t, aT.call(this) } function cGt(t) { this.a = t, aT.call(this) } function vn(t, e) { Ks.call(this, t, e) } function Oet(t, e) { Bm.call(this, t, e) } function q3(t, e) { L2t.call(this, t, e) } function Net(t, e) { U8.call(this, t, e) } function uGt(t, e) { OM.call(this, t, e) } function bi(t, e) { _R(), Pi(WG, t, e) } function Pet(t, e) { return $l(t.a, 0, e) } function lGt(t, e) { return t.a.a.a.cc(e) } function hGt(t, e) { return qt(t) === qt(e) } function gKe(t, e) { return Vs(t.a, e.a) } function pKe(t, e) { return Tu(t.a, e.a) } function bKe(t, e) { return UKt(t.a, e.a) } function gd(t, e) { return t.indexOf(e) } function Cv(t, e) { return t == e ? 0 : t ? 1 : -1 } function KR(t) { return t < 10 ? "0" + t : "" + t } function vKe(t) { return zr(t), new r_(t) } function fGt(t) { return hu(t.l, t.m, t.h) } function o8(t) { return Ms((Pn(t), t)) } function wKe(t) { return Ms((Pn(t), t)) } function dGt(t, e) { return Tu(t.g, e.g) } function Xo(t) { return typeof t === u6t } function mKe(t) { return t == Ew || t == My } function yKe(t) { return t == Ew || t == Ly } function N2t(t) { return Qo(t.b.b, t, 0) } function gGt(t) { this.a = FVt(), this.b = t } function pGt(t) { this.a = FVt(), this.b = t } function xKe(t, e) { return ue(t.a, e), e } function kKe(t, e) { return ue(t.c, e), t } function bGt(t, e) { return Ul(t.a, e), t } function EKe(t, e) { return bf(), e.a += t } function TKe(t, e) { return bf(), e.a += t } function _Ke(t, e) { return bf(), e.c += t } function P2t(t, e) { I8(t, 0, t.length, e) } function S0() { xt.call(this, new tb) } function vGt() { Sj.call(this, 0, 0, 0, 0) } function S6() { fh.call(this, 0, 0, 0, 0) } function No(t) { this.a = t.a, this.b = t.b } function Pp(t) { return t == Wh || t == Af } function c8(t) { return t == Q0 || t == X0 } function wGt(t) { return t == t5 || t == J4 } function H3(t) { return t != Q1 && t != k2 } function Ll(t) { return t.Lg() && t.Mg() } function mGt(t) { return Hj(u(t, 118)) } function YR(t) { return Ul(new ra, t) } function yGt(t, e) { return new U8(e, t) } function CKe(t, e) { return new U8(e, t) } function F2t(t, e, n) { R$(t, e), j$(t, n) } function XR(t, e, n) { Kv(t, e), Wv(t, n) } function S1(t, e, n) { Du(t, e), Iu(t, n) } function QR(t, e, n) { F8(t, e), R8(t, n) } function ZR(t, e, n) { B8(t, e), j8(t, n) } function Fet(t, e) { Z8(t, e), $8(t, t.D) } function B2t(t) { UVt.call(this, t, !0) } function xGt(t, e, n) { Cbt.call(this, t, e, n) } function Fp(t) { e2(), San.call(this, t) } function kGt() { AR.call(this, "Head", 1) } function EGt() { AR.call(this, "Tail", 3) } function Bet(t) { t.c = Ot(nr, De, 1, 0, 5, 1) } function TGt(t) { t.a = Ot(nr, De, 1, 8, 5, 1) } function _Gt(t) { Mu(t.xf(), new wr(t)) } function V3(t) { return t != null ? ns(t) : 0 } function SKe(t, e) { return Xm(e, M1(t)) } function AKe(t, e) { return Xm(e, M1(t)) } function LKe(t, e) { return t[t.length] = e } function MKe(t, e) { return t[t.length] = e } function R2t(t) { return LZe(t.b.Kc(), t.a) } function DKe(t, e) { return G$(Fnt(t.d), e) } function IKe(t, e) { return G$(Fnt(t.g), e) } function OKe(t, e) { return G$(Fnt(t.j), e) } function po(t, e) { Ks.call(this, t.b, e) } function Sv(t) { Sj.call(this, t, t, t, t) } function j2t(t) { return t.b && iat(t), t.a } function $2t(t) { return t.b && iat(t), t.c } function NKe(t, e) { U1 || (t.b = e) } function Ret(t, e, n) { return ds(t, e, n), n } function CGt(t, e, n) { ds(t.c[e.g], e.g, n) } function PKe(t, e, n) { u(t.c, 69).Xh(e, n) } function FKe(t, e, n) { S1(n, n.i + t, n.j + e) } function BKe(t, e) { Hr($c(t.a), $Xt(e)) } function RKe(t, e) { Hr(pl(t.a), zXt(e)) } function i_(t) { Ai(), gv.call(this, t) } function jKe(t) { return t == null ? 0 : ns(t) } function SGt() { SGt = J, cht = new Y_(rft) } function Ur() { Ur = J, new AGt, new le } function AGt() { new Rr, new Rr, new Rr } function z2t() { z2t = J, spt(), D8t = new Rr } function A1() { A1 = J, b.Math.log(2) } function lh() { lh = J, p0 = (NHt(), H3e) } function $Ke() { throw et(new mg(g0e)) } function zKe() { throw et(new mg(g0e)) } function qKe() { throw et(new mg(p0e)) } function HKe() { throw et(new mg(p0e)) } function LGt(t) { this.a = t, svt.call(this, t) } function jet(t) { this.a = t, pR.call(this, t) } function $et(t) { this.a = t, pR.call(this, t) } function ua(t, e) { vnt(t.c, t.c.length, e) } function sc(t) { return t.a < t.c.c.length } function q2t(t) { return t.a < t.c.a.length } function MGt(t, e) { return t.a ? t.b : e.De() } function Tu(t, e) { return t < e ? -1 : t > e ? 1 : 0 } function DGt(t, e) { return Oc(t, e) > 0 ? t : e } function hu(t, e, n) { return { l: t, m: e, h: n } } function VKe(t, e) { t.a != null && PVt(e, t.a) } function IGt(t) { t.a = new Wt, t.c = new Wt } function JR(t) { this.b = t, this.a = new le } function OGt(t) { this.b = new dg, this.a = t } function H2t(t) { Pbt.call(this), this.a = t } function NGt() { AR.call(this, "Range", 2) } function PGt() { B3t(), this.a = new fI(s9t) } function GKe(t, e) { zr(e), Y3(t).Jc(new nt) } function UKe(t, e) { return zl(), e.n.b += t } function WKe(t, e, n) { return Pi(t.g, n, e) } function KKe(t, e, n) { return Pi(t.k, n, e) } function YKe(t, e) { return Pi(t.a, e.a, e) } function G3(t, e, n) { return r3t(e, n, t.c) } function V2t(t) { return new je(t.c, t.d) } function XKe(t) { return new je(t.c, t.d) } function pc(t) { return new je(t.a, t.b) } function FGt(t, e) { return myn(t.a, e, null) } function QKe(t) { Ua(t, null), ma(t, null) } function BGt(t) { srt(t, null), art(t, null) } function RGt() { OM.call(this, null, null) } function jGt() { oj.call(this, null, null) } function G2t(t) { this.a = t, Rr.call(this) } function ZKe(t) { this.b = (pn(), new z(t)) } function tj(t) { t.j = Ot(V8t, te, 310, 0, 0, 1) } function JKe(t, e, n) { t.c.Vc(e, u(n, 133)) } function tYe(t, e, n) { t.c.ji(e, u(n, 133)) } function $Gt(t, e) { Ir(t), t.Gc(u(e, 15)) } function s_(t, e) { return Pmn(t.c, t.b, e) } function eYe(t, e) { return new cUt(t.Kc(), e) } function zet(t, e) { return ton(t.Kc(), e) != -1 } function U2t(t, e) { return t.a.Bc(e) != null } function ej(t) { return t.Ob() ? t.Pb() : null } function zGt(t) { return Fh(t, 0, t.length) } function Et(t, e) { return t != null && Git(t, e) } function nYe(t, e) { t.q.setHours(e), gC(t, e) } function qGt(t, e) { t.c && (bvt(e), gXt(e)) } function rYe(t, e, n) { u(t.Kb(n), 164).Nb(e) } function iYe(t, e, n) { return fyn(t, e, n), n } function HGt(t, e, n) { t.a = e ^ 1502, t.b = n ^ tot } function qet(t, e, n) { return t.a[e.g][n.g] } function L1(t, e) { return t.a[e.c.p][e.p] } function sYe(t, e) { return t.e[e.c.p][e.p] } function aYe(t, e) { return t.c[e.c.p][e.p] } function oYe(t, e) { return t.j[e.p] = bpn(e) } function cYe(t, e) { return Ywt(t.f, e.tg()) } function uYe(t, e) { return Ywt(t.b, e.tg()) } function lYe(t, e) { return t.a < Ubt(e) ? -1 : 1 } function hYe(t, e, n) { return n ? e != 0 : e != t - 1 } function fYe(t, e, n) { return t.a = e, t.b = n, t } function pd(t, e) { return t.a *= e, t.b *= e, t } function a_(t, e, n) { return ds(t.g, e, n), n } function dYe(t, e, n, r) { ds(t.a[e.g], n.g, r) } function gYe(t, e) { Nm(e, t.a.a.a, t.a.a.b) } function VGt(t) { t.a = u(Dn(t.b.a, 4), 126) } function GGt(t) { t.a = u(Dn(t.b.a, 4), 126) } function pYe(t) { JM(t, q1e), Rst(t, b3n(t)) } function u8() { u8 = J, RH = new sR(null) } function W2t() { W2t = J, W2t(), q0e = new Ae } function K2t() { this.Bb |= 256, this.Bb |= 512 } function lr(t) { this.i = t, this.f = this.i.j } function qs(t, e, n) { UM.call(this, t, e, n) } function nj(t, e, n) { qs.call(this, t, e, n) } function Vu(t, e, n) { qs.call(this, t, e, n) } function UGt(t, e, n) { nj.call(this, t, e, n) } function Y2t(t, e, n) { UM.call(this, t, e, n) } function U3(t, e, n) { UM.call(this, t, e, n) } function X2t(t, e, n) { wj.call(this, t, e, n) } function WGt(t, e, n) { wj.call(this, t, e, n) } function KGt(t, e, n) { X2t.call(this, t, e, n) } function YGt(t, e, n) { Y2t.call(this, t, e, n) } function W3(t, e) { this.a = t, pR.call(this, e) } function XGt(t, e) { this.a = t, Utt.call(this, e) } function QGt(t, e) { this.a = t, Utt.call(this, e) } function ZGt(t, e) { this.a = t, Utt.call(this, e) } function Q2t(t) { this.a = t, KJ.call(this, t.d) } function Bp(t) { this.c = t, this.a = this.c.a } function Z2t(t, e) { this.a = e, Utt.call(this, t) } function JGt(t, e) { this.a = e, vrt.call(this, t) } function tUt(t, e) { this.a = t, vrt.call(this, e) } function bYe(t, e) { return Pvt(knt(t.c)).Xb(e) } function J2t(t, e) { return Dcn(t, new Ap, e).a } function mr(t, e) { return zr(e), new eUt(t, e) } function eUt(t, e) { this.a = e, bR.call(this, t) } function tbt(t) { this.b = t, this.a = this.b.a.e } function nUt(t) { t.b.Qb(), --t.d.f.d, Lj(t.d) } function rUt(t) { fT.call(this, u(zr(t), 35)) } function iUt(t) { fT.call(this, u(zr(t), 35)) } function sUt() { ei.call(this, "INSTANCE", 0) } function ebt(t) { if (!t) throw et(new cM) } function nbt(t) { if (!t) throw et(new qu) } function rbt(t) { if (!t) throw et(new _c) } function aUt() { aUt = J, tet(), w4e = new NB } function Rn() { Rn = J, Lb = !1, Y7 = !0 } function Ih(t) { f6.call(this, (Pn(t), t)) } function jl(t) { f6.call(this, (Pn(t), t)) } function rj(t) { T.call(this, t), this.a = t } function ibt(t) { A.call(this, t), this.a = t } function sbt(t) { Qk.call(this, t), this.a = t } function oUt() { tj(this), Wj(this), this._d() } function cUt(t, e) { this.a = e, bR.call(this, t) } function uUt(t, e) { return new rae(t.a, t.b, e) } function ij(t, e) { return t.lastIndexOf(e) } function abt(t, e, n) { return t.indexOf(e, n) } function o_(t) { return t == null ? Pu : Jo(t) } function vYe(t) { return t == null ? null : t.name } function obt(t) { return t.a != null ? t.a : null } function wYe(t) { return dR(t.a) ? GXt(t) : null } function Het(t, e) { return __(t.a, e) != null } function Gu(t, e) { return !!e && t.b[e.g] == e } function Av(t) { return t.$H || (t.$H = ++D4n) } function mYe(t) { return t.l + t.m * hx + t.h * mb } function lUt(t, e) { return ue(e.a, t.a), t.a } function hUt(t, e) { return ue(e.b, t.a), t.a } function Lv(t, e) { return ue(e.a, t.a), t.a } function Mv(t) { return ir(t.a != null), t.a } function Vet(t) { xt.call(this, new rmt(t)) } function cbt(t, e) { u3t.call(this, t, e, null) } function c_(t) { this.a = t, x.call(this, t) } function sj() { sj = J, HH = new Ks(qhe, 0) } function aj(t, e) { return ++t.b, ue(t.a, e) } function ubt(t, e) { return ++t.b, Au(t.a, e) } function yYe(t, e) { return Vs(t.n.a, e.n.a) } function xYe(t, e) { return Vs(t.c.d, e.c.d) } function kYe(t, e) { return Vs(t.c.c, e.c.c) } function _u(t, e) { return u(ji(t.b, e), 15) } function EYe(t, e) { return t.n.b = (Pn(e), e) } function TYe(t, e) { return t.n.b = (Pn(e), e) } function u_(t) { return sc(t.a) || sc(t.b) } function _Ye(t, e, n) { return RQt(t, e, n, t.b) } function lbt(t, e, n) { return RQt(t, e, n, t.c) } function hbt(t, e, n) { u(vD(t, e), 21).Fc(n) } function CYe(t, e, n) { Tit(t.a, n), Oz(t.a, e) } function OM(t, e) { jT(), this.a = t, this.b = e } function oj(t, e) { kg(), this.b = t, this.c = e } function Get(t, e) { xnt(), this.f = e, this.d = t } function fbt(t, e) { Xwt(e, t), this.d = t, this.c = e } function Eg(t) { var e; e = t.a, t.a = t.b, t.b = e } function SYe(t) { return bf(), !!t && !t.dc() } function AYe(t) { return new Gm(3, t) } function dbt(t, e) { return new cWt(t, t.gc(), e) } function LYe(t) { return iR(), ri((OXt(), E0e), t) } function A6(t) { this.d = t, lr.call(this, t) } function L6(t) { this.c = t, lr.call(this, t) } function NM(t) { this.c = t, A6.call(this, t) } function fUt() { FT(), this.b = new C1(this) } function Ud(t) { return Gl(t, vy), new iu(t) } function dUt(t) { return T8(), parseInt(t) || -1 } function $l(t, e, n) { return t.substr(e, n - e) } function l8(t, e, n) { return abt(t, Nu(e), n) } function Uet(t) { return Wvt(t.c, t.c.length) } function MYe(t) { return t.f != null ? t.f : "" + t.g } function Wet(t) { return t.f != null ? t.f : "" + t.g } function Ket(t) { return ir(t.b != 0), t.a.a.c } function cj(t) { return ir(t.b != 0), t.c.b.c } function PM(t) { Et(t, 150) && u(t, 150).Gh() } function uj(t) { return t.b = u(VYt(t.a), 42) } function gbt(t) { i8(), this.b = t, this.a = !0 } function gUt(t) { wR(), this.b = t, this.a = !0 } function pUt(t) { t.d = new vUt(t), t.e = new Rr } function bUt(t) { if (!t) throw et(new uh) } function pbt(t) { if (!t) throw et(new cM) } function Om(t) { if (!t) throw et(new qu) } function DYe(t) { if (!t) throw et(new Dtt) } function ir(t) { if (!t) throw et(new _c) } function vUt(t) { avt.call(this, t, null, null) } function wUt() { ei.call(this, "POLYOMINO", 0) } function mUt(t, e, n, r) { Nvt.call(this, t, e, n, r) } function IYe(t, e) { return t2(), cn(t, e.e, e) } function OYe(t, e, n) { return ER(), n.qg(t, e) } function ia(t, e) { return !!t.q && Il(t.q, e) } function NYe(t, e) { return t > 0 ? e * e / t : e * e * 100 } function PYe(t, e) { return t > 0 ? e / (t * t) : e * 100 } function FYe(t, e, n) { return ue(e, fre(t, n)) } function BYe(t, e, n) { T$(), t.Xe(e) && n.td(t) } function h8(t, e, n) { var r; r = t.Zc(e), r.Rb(n) } function Nm(t, e, n) { return t.a += e, t.b += n, t } function RYe(t, e, n) { return t.a *= e, t.b *= n, t } function FM(t, e, n) { return t.a -= e, t.b -= n, t } function bbt(t, e) { return t.a = e.a, t.b = e.b, t } function lj(t) { return t.a = -t.a, t.b = -t.b, t } function yUt(t) { this.c = t, this.a = 1, this.b = 1 } function xUt(t) { this.c = t, Du(t, 0), Iu(t, 0) } function kUt(t) { hs.call(this), P_(this, t) } function EUt(t) { mat(), K$t(this), this.mf(t) } function TUt(t, e) { jT(), OM.call(this, t, e) } function vbt(t, e) { kg(), oj.call(this, t, e) } function _Ut(t, e) { kg(), oj.call(this, t, e) } function CUt(t, e) { kg(), vbt.call(this, t, e) } function Ml(t, e, n) { Nl.call(this, t, e, n, 2) } function Yet(t, e) { lh(), Cj.call(this, t, e) } function SUt(t, e) { lh(), Yet.call(this, t, e) } function wbt(t, e) { lh(), Yet.call(this, t, e) } function AUt(t, e) { lh(), wbt.call(this, t, e) } function mbt(t, e) { lh(), Cj.call(this, t, e) } function LUt(t, e) { lh(), mbt.call(this, t, e) } function MUt(t, e) { lh(), Cj.call(this, t, e) } function jYe(t, e) { return t.c.Fc(u(e, 133)) } function ybt(t, e, n) { return gq(wD(t, e), n) } function $Ye(t, e, n) { return e.Qk(t.e, t.c, n) } function zYe(t, e, n) { return e.Rk(t.e, t.c, n) } function Xet(t, e) { return Xp(t.e, u(e, 49)) } function qYe(t, e, n) { W_(pl(t.a), e, zXt(n)) } function HYe(t, e, n) { W_($c(t.a), e, $Xt(n)) } function xbt(t, e) { e.$modCount = t.$modCount } function l_() { l_ = J, NS = new rs("root") } function f8() { f8 = J, uN = new Czt, new Szt } function DUt() { this.a = new $v, this.b = new $v } function kbt() { Xte.call(this), this.Bb |= oo } function IUt() { ei.call(this, "GROW_TREE", 0) } function VYe(t) { return t == null ? null : c3n(t) } function GYe(t) { return t == null ? null : bdn(t) } function UYe(t) { return t == null ? null : Jo(t) } function WYe(t) { return t == null ? null : Jo(t) } function A0(t) { t.o == null && Vgn(t) } function Be(t) { return d_(t == null || Dm(t)), t } function xe(t) { return d_(t == null || Im(t)), t } function Kr(t) { return d_(t == null || pa(t)), t } function Ebt(t) { this.q = new b.Date(qv(t)) } function BM(t, e) { this.c = t, n8.call(this, t, e) } function hj(t, e) { this.a = t, BM.call(this, t, e) } function KYe(t, e) { this.d = t, wtt(this), this.b = e } function Tbt(t, e) { Srt.call(this, t), this.a = e } function _bt(t, e) { Srt.call(this, t), this.a = e } function YYe(t) { Zyt.call(this, 0, 0), this.f = t } function Cbt(t, e, n) { k$.call(this, t, e, n, null) } function OUt(t, e, n) { k$.call(this, t, e, n, null) } function XYe(t, e, n) { return t.ue(e, n) <= 0 ? n : e } function QYe(t, e, n) { return t.ue(e, n) <= 0 ? e : n } function ZYe(t, e) { return u(Vv(t.b, e), 149) } function JYe(t, e) { return u(Vv(t.c, e), 229) } function Qet(t) { return u(Fe(t.a, t.b), 287) } function NUt(t) { return new je(t.c, t.d + t.a) } function PUt(t) { return zl(), wGt(u(t, 197)) } function Pm() { Pm = J, N7t = on((Fl(), Hb)) } function tXe(t, e) { e.a ? j2n(t, e) : Het(t.a, e.b) } function FUt(t, e) { U1 || ue(t.a, e) } function eXe(t, e) { return bM(), G8(e.d.i, t) } function nXe(t, e) { return Y6(), new Rce(e, t) } function bd(t, e) { return JM(e, L6t), t.f = e, t } function Sbt(t, e, n) { return n = Yl(t, e, 3, n), n } function Abt(t, e, n) { return n = Yl(t, e, 6, n), n } function Lbt(t, e, n) { return n = Yl(t, e, 9, n), n } function RM(t, e, n) { ++t.j, t.Ki(), _rt(t, e, n) } function BUt(t, e, n) { ++t.j, t.Hi(e, t.oi(e, n)) } function RUt(t, e, n) { var r; r = t.Zc(e), r.Rb(n) } function jUt(t, e, n) { return H5t(t.c, t.b, e, n) } function Mbt(t, e) { return (e & Di) % t.d.length } function Ks(t, e) { rs.call(this, t), this.a = e } function Dbt(t, e) { Zgt.call(this, t), this.a = e } function Zet(t, e) { Zgt.call(this, t), this.a = e } function $Ut(t, e) { this.c = t, Gv.call(this, e) } function zUt(t, e) { this.a = t, q$t.call(this, e) } function jM(t, e) { this.a = t, q$t.call(this, e) } function qUt(t) { this.a = (Gl(t, vy), new iu(t)) } function HUt(t) { this.a = (Gl(t, vy), new iu(t)) } function $M(t) { return !t.a && (t.a = new st), t.a } function VUt(t) { return t > 8 ? 0 : t + 1 } function rXe(t, e) { return Rn(), t == e ? 0 : t ? 1 : -1 } function Ibt(t, e, n) { return O6(t, u(e, 22), n) } function iXe(t, e, n) { return t.apply(e, n) } function GUt(t, e, n) { return t.a += Fh(e, 0, n), t } function Obt(t, e) { var n; return n = t.e, t.e = e, n } function sXe(t, e) { var n; n = t[Jat], n.call(t, e) } function aXe(t, e) { var n; n = t[Jat], n.call(t, e) } function Fm(t, e) { t.a.Vc(t.b, e), ++t.b, t.c = -1 } function UUt(t) { al(t.e), t.d.b = t.d, t.d.a = t.d } function zM(t) { t.b ? zM(t.b) : t.f.c.zc(t.e, t.d) } function oXe(t, e, n) { G2(), stt(t, e.Ce(t.a, n)) } function cXe(t, e) { return Xtt(Are(t.a, e, !0)) } function uXe(t, e) { return Xtt(Lre(t.a, e, !0)) } function pf(t, e) { return uR(new Array(e), t) } function Jet(t) { return String.fromCharCode(t) } function lXe(t) { return t == null ? null : t.message } function WUt() { this.a = new le, this.b = new le } function KUt() { this.a = new EE, this.b = new rzt } function YUt() { this.b = new Ra, this.c = new le } function Nbt() { this.d = new Ra, this.e = new Ra } function Pbt() { this.n = new Ra, this.o = new Ra } function fj() { this.n = new v6, this.i = new S6 } function XUt() { this.a = new SJ, this.b = new LX } function QUt() { this.a = new le, this.d = new le } function ZUt() { this.b = new na, this.a = new na } function JUt() { this.b = new Rr, this.a = new Rr } function tWt() { this.b = new Nqt, this.a = new kQ } function eWt() { fj.call(this), this.a = new Ra } function h_(t) { Pan.call(this, t, (C$(), but)) } function Fbt(t, e, n, r) { Sj.call(this, t, e, n, r) } function hXe(t, e, n) { n != null && H$(e, nst(t, n)) } function fXe(t, e, n) { n != null && V$(e, nst(t, n)) } function Bbt(t, e, n) { return n = Yl(t, e, 11, n), n } function $i(t, e) { return t.a += e.a, t.b += e.b, t } function ba(t, e) { return t.a -= e.a, t.b -= e.b, t } function dXe(t, e) { return t.n.a = (Pn(e), e + 10) } function gXe(t, e) { return t.n.a = (Pn(e), e + 10) } function pXe(t, e) { return e == t || f7(Jz(e), t) } function nWt(t, e) { return Pi(t.a, e, "") == null } function bXe(t, e) { return bM(), !G8(e.d.i, t) } function vXe(t, e) { Pp(t.f) ? Ngn(t, e) : w1n(t, e) } function wXe(t, e) { var n; return n = e.Hh(t.a), n } function Bm(t, e) { Oo.call(this, VC + t + _b + e) } function M6(t, e, n, r) { he.call(this, t, e, n, r) } function Rbt(t, e, n, r) { he.call(this, t, e, n, r) } function rWt(t, e, n, r) { Rbt.call(this, t, e, n, r) } function iWt(t, e, n, r) { Bj.call(this, t, e, n, r) } function tnt(t, e, n, r) { Bj.call(this, t, e, n, r) } function jbt(t, e, n, r) { Bj.call(this, t, e, n, r) } function sWt(t, e, n, r) { tnt.call(this, t, e, n, r) } function $bt(t, e, n, r) { tnt.call(this, t, e, n, r) } function Tn(t, e, n, r) { jbt.call(this, t, e, n, r) } function aWt(t, e, n, r) { $bt.call(this, t, e, n, r) } function oWt(t, e, n, r) { Rvt.call(this, t, e, n, r) } function cWt(t, e, n) { this.a = t, fbt.call(this, e, n) } function uWt(t, e, n) { this.c = e, this.b = n, this.a = t } function mXe(t, e, n) { return t.d = u(e.Kb(n), 164) } function zbt(t, e) { return t.Aj().Nh().Kh(t, e) } function qbt(t, e) { return t.Aj().Nh().Ih(t, e) } function lWt(t, e) { return Pn(t), qt(t) === qt(e) } function ln(t, e) { return Pn(t), qt(t) === qt(e) } function ent(t, e) { return Xtt(Are(t.a, e, !1)) } function nnt(t, e) { return Xtt(Lre(t.a, e, !1)) } function yXe(t, e) { return t.b.sd(new HHt(t, e)) } function xXe(t, e) { return t.b.sd(new VHt(t, e)) } function hWt(t, e) { return t.b.sd(new GHt(t, e)) } function Hbt(t, e, n) { return t.lastIndexOf(e, n) } function kXe(t, e, n) { return Vs(t[e.b], t[n.b]) } function EXe(t, e) { return Jt(e, (Ce(), _O), t) } function TXe(t, e) { return Tu(e.a.d.p, t.a.d.p) } function _Xe(t, e) { return Tu(t.a.d.p, e.a.d.p) } function CXe(t, e) { return Vs(t.c - t.s, e.c - e.s) } function fWt(t) { return t.c ? Qo(t.c.a, t, 0) : -1 } function SXe(t) { return t < 100 ? null : new Lp(t) } function D6(t) { return t == qb || t == g0 || t == eu } function dWt(t, e) { return Et(e, 15) && mce(t.c, e) } function AXe(t, e) { U1 || e && (t.d = e) } function rnt(t, e) { var n; return n = e, !!fyt(t, n) } function Vbt(t, e) { this.c = t, Mnt.call(this, t, e) } function gWt(t) { this.c = t, Iet.call(this, kq, 0) } function pWt(t, e) { OZe.call(this, t, t.length, e) } function LXe(t, e, n) { return u(t.c, 69).lk(e, n) } function dj(t, e, n) { return u(t.c, 69).mk(e, n) } function MXe(t, e, n) { return $Ye(t, u(e, 332), n) } function Gbt(t, e, n) { return zYe(t, u(e, 332), n) } function DXe(t, e, n) { return dse(t, u(e, 332), n) } function bWt(t, e, n) { return L1n(t, u(e, 332), n) } function f_(t, e) { return e == null ? null : ty(t.b, e) } function Ubt(t) { return Im(t) ? (Pn(t), t) : t.ke() } function gj(t) { return !isNaN(t) && !isFinite(t) } function vWt(t) { vd(), this.a = (pn(), new Qk(t)) } function qM(t) { g8(), this.d = t, this.a = new P3 } function hh(t, e, n) { this.a = t, this.b = e, this.c = n } function wWt(t, e, n) { this.a = t, this.b = e, this.c = n } function mWt(t, e, n) { this.d = t, this.b = n, this.a = e } function int(t) { IGt(this), Nh(this), io(this, t) } function Uu(t) { Bet(this), ovt(this.c, 0, t.Pc()) } function yWt(t) { Ol(t.a), vJt(t.c, t.b), t.b = null } function xWt(t) { this.a = t, Gd(), Ou(Date.now()) } function kWt() { kWt = J, h7t = new C, $H = new C } function snt() { snt = J, n7t = new It, $0e = new Nt } function EWt() { EWt = J, K3e = Ot(nr, De, 1, 0, 5, 1) } function TWt() { TWt = J, f4e = Ot(nr, De, 1, 0, 5, 1) } function Wbt() { Wbt = J, d4e = Ot(nr, De, 1, 0, 5, 1) } function vd() { vd = J, new ept((pn(), pn(), wo)) } function IXe(t) { return C$(), ri((AJt(), H0e), t) } function OXe(t) { return j1(), ri((WZt(), Y0e), t) } function NXe(t) { return _z(), ri((tZt(), ege), t) } function PXe(t) { return D$(), ri((eZt(), nge), t) } function FXe(t) { return sq(), ri((zee(), rge), t) } function BXe(t) { return t1(), ri((VZt(), age), t) } function RXe(t) { return ol(), ri((GZt(), cge), t) } function jXe(t) { return Lu(), ri((UZt(), lge), t) } function $Xe(t) { return yq(), ri((rGt(), Oge), t) } function zXe(t) { return Qv(), ri((MJt(), Pge), t) } function qXe(t) { return ex(), ri((DJt(), Bge), t) } function HXe(t) { return J_(), ri((IJt(), $ge), t) } function VXe(t) { return mR(), ri((IQt(), zge), t) } function GXe(t) { return I$(), ri((nZt(), ipe), t) } function UXe(t) { return O_(), ri((KZt(), _pe), t) } function WXe(t) { return so(), ri((cte(), Lpe), t) } function KXe(t) { return K8(), ri((LJt(), Npe), t) } function YXe(t) { return Zv(), ri((YZt(), $pe), t) } function Kbt(t, e) { if (!t) throw et(new Bn(e)) } function XXe(t) { return Kn(), ri((Lte(), Vpe), t) } function Ybt(t) { Sj.call(this, t.d, t.c, t.a, t.b) } function ant(t) { Sj.call(this, t.d, t.c, t.a, t.b) } function Xbt(t, e, n) { this.b = t, this.c = e, this.a = n } function pj(t, e, n) { this.b = t, this.a = e, this.c = n } function _Wt(t, e, n) { this.a = t, this.b = e, this.c = n } function Qbt(t, e, n) { this.a = t, this.b = e, this.c = n } function CWt(t, e, n) { this.a = t, this.b = e, this.c = n } function Zbt(t, e, n) { this.a = t, this.b = e, this.c = n } function SWt(t, e, n) { this.b = t, this.a = e, this.c = n } function bj(t, e, n) { this.e = e, this.b = t, this.d = n } function QXe(t, e, n) { return G2(), t.a.Od(e, n), e } function ont(t) { var e; return e = new qn, e.e = t, e } function Jbt(t) { var e; return e = new lzt, e.b = t, e } function HM() { HM = J, JH = new gY, tV = new pY } function bf() { bf = J, i2e = new iX, s2e = new hF } function ZXe(t) { return iz(), ri((NJt(), Jpe), t) } function JXe(t) { return R1(), ri((FJt(), c2e), t) } function tQe(t) { return rq(), ri((Mee(), b2e), t) } function eQe(t) { return rx(), ri((Ite(), v2e), t) } function nQe(t) { return E$(), ri((cZt(), w2e), t) } function rQe(t) { return K6(), ri((XZt(), m2e), t) } function iQe(t) { return g4(), ri((rte(), l2e), t) } function sQe(t) { return Xv(), ri((JZt(), p2e), t) } function aQe(t) { return z$(), ri((QZt(), y2e), t) } function oQe(t) { return pb(), ri((ete(), x2e), t) } function cQe(t) { return ED(), ri((iZt(), k2e), t) } function uQe(t) { return ob(), ri((ZZt(), T2e), t) } function lQe(t) { return Wz(), ri((Fte(), _2e), t) } function hQe(t) { return pD(), ri((sZt(), C2e), t) } function fQe(t) { return eI(), ri((Nte(), S2e), t) } function dQe(t) { return g7(), ri((Ote(), A2e), t) } function gQe(t) { return ko(), ri((nne(), L2e), t) } function pQe(t) { return W8(), ri((eJt(), M2e), t) } function bQe(t) { return F0(), ri((tJt(), I2e), t) } function vQe(t) { return f$(), ri((uZt(), O2e), t) } function wQe(t) { return mh(), ri((ite(), N2e), t) } function mQe(t) { return Hz(), ri((Pte(), Yve), t) } function yQe(t) { return H_(), ri((nJt(), Xve), t) } function xQe(t) { return ry(), ri((BJt(), Qve), t) } function kQe(t) { return yo(), ri((sJt(), rwe), t) } function EQe(t) { return w4(), ri((Lee(), Jve), t) } function TQe(t) { return R0(), ri((iJt(), twe), t) } function _Qe(t) { return mD(), ri((oZt(), ewe), t) } function CQe(t) { return tz(), ri((rJt(), iwe), t) } function SQe(t) { return tC(), ri((nte(), Zve), t) } function AQe(t) { return uD(), ri((aZt(), swe), t) } function LQe(t) { return t7(), ri((oJt(), awe), t) } function MQe(t) { return Z$(), ri((cJt(), owe), t) } function DQe(t) { return sz(), ri((aJt(), cwe), t) } function IQe(t) { return Yv(), ri((uJt(), xwe), t) } function OQe(t) { return D_(), ri((hZt(), Cwe), t) } function NQe(t) { return md(), ri((fZt(), Owe), t) } function PQe(t) { return D1(), ri((dZt(), Pwe), t) } function FQe(t) { return Qf(), ri((lZt(), Xwe), t) } function BQe(t) { return jv(), ri((gZt(), rme), t) } function RQe(t) { return u7(), ri((OJt(), ime), t) } function jQe(t) { return aC(), ri((Bte(), ame), t) } function $Qe(t) { return i$(), ri((vZt(), yme), t) } function zQe(t) { return Y$(), ri((bZt(), Cme), t) } function qQe(t) { return c$(), ri((pZt(), xme), t) } function HQe(t) { return bz(), ri((lJt(), Ame), t) } function VQe(t) { return _$(), ri((wZt(), Lme), t) } function GQe(t) { return BD(), ri((hJt(), Mme), t) } function UQe(t) { return Pz(), ri((PJt(), Gme), t) } function WQe(t) { return J$(), ri((dJt(), Ume), t) } function KQe(t) { return pz(), ri((fJt(), Wme), t) } function YQe(t) { return y7(), ri((ote(), dye), t) } function XQe(t) { return HD(), ri((gJt(), gye), t) } function QQe(t) { return xR(), ri((MQt(), pye), t) } function ZQe(t) { return kR(), ri((LQt(), vye), t) } function JQe(t) { return lD(), ri((yZt(), wye), t) } function tZe(t) { return rI(), ri((ste(), mye), t) } function eZe(t) { return BT(), ri((DQt(), Pye), t) } function nZe(t) { return OD(), ri((mZt(), Fye), t) } function rZe(t) { return n1(), ri((ate(), qye), t) } function iZe(t) { return Rg(), ri((Dee(), Vye), t) } function sZe(t) { return t0(), ri((Dte(), Gye), t) } function aZe(t) { return ay(), ri((Mte(), Qye), t) } function oZe(t) { return vo(), ri((iGt(), Xpe), t) } function cZe(t) { return q8(), ri((rZt(), Ype), t) } function uZe(t) { return xo(), ri((ute(), f3e), t) } function lZe(t) { return F1(), ri((bJt(), d3e), t) } function hZe(t) { return z0(), ri(($Jt(), g3e), t) } function fZe(t) { return Gz(), ri((jte(), p3e), t) } function dZe(t) { return j0(), ri((pJt(), v3e), t) } function gZe(t) { return Wl(), ri((jJt(), m3e), t) } function pZe(t) { return ly(), ri(($ee(), y3e), t) } function bZe(t) { return c4(), ri((lte(), x3e), t) } function vZe(t) { return xa(), ri((_te(), k3e), t) } function wZe(t) { return cl(), ri((Rte(), E3e), t) } function mZe(t) { return Fl(), ri((qJt(), L3e), t) } function yZe(t) { return ml(), ri((rne(), M3e), t) } function xZe(t) { return we(), ri((hte(), T3e), t) } function kZe(t) { return mz(), ri((zJt(), D3e), t) } function EZe(t) { return Pl(), ri((RJt(), N3e), t) } function TZe(t) { return v7(), ri((Iee(), W3e), t) } function _Ze(t, e) { return Pn(t), t + (Pn(e), e) } function CZe(t, e) { return Gd(), Hr(Ut(t.a), e) } function SZe(t, e) { return Gd(), Hr(Ut(t.a), e) } function cnt(t, e) { this.c = t, this.a = e, this.b = e - t } function AWt(t, e, n) { this.a = t, this.b = e, this.c = n } function tvt(t, e, n) { this.a = t, this.b = e, this.c = n } function evt(t, e, n) { this.a = t, this.b = e, this.c = n } function LWt(t, e, n) { this.a = t, this.b = e, this.c = n } function MWt(t, e, n) { this.a = t, this.b = e, this.c = n } function Tg(t, e, n) { this.e = t, this.a = e, this.c = n } function DWt(t, e, n) { lh(), dwt.call(this, t, e, n) } function unt(t, e, n) { lh(), Qvt.call(this, t, e, n) } function nvt(t, e, n) { lh(), Qvt.call(this, t, e, n) } function rvt(t, e, n) { lh(), Qvt.call(this, t, e, n) } function IWt(t, e, n) { lh(), unt.call(this, t, e, n) } function ivt(t, e, n) { lh(), unt.call(this, t, e, n) } function OWt(t, e, n) { lh(), ivt.call(this, t, e, n) } function NWt(t, e, n) { lh(), nvt.call(this, t, e, n) } function PWt(t, e, n) { lh(), rvt.call(this, t, e, n) } function VM(t, e) { return zr(t), zr(e), new nHt(t, e) } function I6(t, e) { return zr(t), zr(e), new KWt(t, e) } function AZe(t, e) { return zr(t), zr(e), new YWt(t, e) } function LZe(t, e) { return zr(t), zr(e), new iHt(t, e) } function u(t, e) { return d_(t == null || Git(t, e)), t } function d8(t) { var e; return e = new le, Rrt(e, t), e } function MZe(t) { var e; return e = new na, Rrt(e, t), e } function FWt(t) { var e; return e = new lpt, Zrt(e, t), e } function GM(t) { var e; return e = new hs, Zrt(e, t), e } function DZe(t) { return !t.e && (t.e = new le), t.e } function IZe(t) { return !t.c && (t.c = new mm), t.c } function ue(t, e) { return t.c[t.c.length] = e, !0 } function BWt(t, e) { this.c = t, this.b = e, this.a = !1 } function svt(t) { this.d = t, wtt(this), this.b = TJe(t.d) } function RWt() { this.a = ";,;", this.b = "", this.c = "" } function OZe(t, e, n) { jKt.call(this, e, n), this.a = t } function jWt(t, e, n) { this.b = t, JVt.call(this, e, n) } function avt(t, e, n) { this.c = t, LR.call(this, e, n) } function ovt(t, e, n) { L4t(n, 0, t, e, n.length, !1) } function Wd(t, e, n, r, s) { t.b = e, t.c = n, t.d = r, t.a = s } function NZe(t, e) { e && (t.b = e, t.a = (qp(e), e.a)) } function cvt(t, e, n, r, s) { t.d = e, t.c = n, t.a = r, t.b = s } function uvt(t) { var e, n; e = t.b, n = t.c, t.b = n, t.c = e } function lvt(t) { var e, n; n = t.d, e = t.a, t.d = e, t.a = n } function hvt(t) { return Wp($Je(Xo(t) ? Ph(t) : t)) } function PZe(t, e) { return Tu(eKt(t.d), eKt(e.d)) } function FZe(t, e) { return e == (we(), jn) ? t.c : t.d } function g8() { g8 = J, M_t = (we(), jn), sG = Wn } function $Wt() { this.b = Xt(xe(Ie((i1(), Out)))) } function zWt(t) { return G2(), Ot(nr, De, 1, t, 5, 1) } function BZe(t) { return new je(t.c + t.b, t.d + t.a) } function RZe(t, e) { return yR(), Tu(t.d.p, e.d.p) } function lnt(t) { return ir(t.b != 0), bh(t, t.a.a) } function jZe(t) { return ir(t.b != 0), bh(t, t.c.b) } function fvt(t, e) { if (!t) throw et(new Xzt(e)) } function vj(t, e) { if (!t) throw et(new Bn(e)) } function dvt(t, e, n) { a8.call(this, t, e), this.b = n } function UM(t, e, n) { A2t.call(this, t, e), this.c = n } function qWt(t, e, n) { mte.call(this, e, n), this.d = t } function gvt(t) { Wbt(), Ck.call(this), this.th(t) } function HWt(t, e, n) { this.a = t, q3.call(this, e, n) } function VWt(t, e, n) { this.a = t, q3.call(this, e, n) } function wj(t, e, n) { A2t.call(this, t, e), this.c = n } function GWt() { L8(), itn.call(this, (Ip(), tf)) } function UWt(t) { return t != null && !Dit(t, ZS, JS) } function $Ze(t, e) { return (ere(t) << 4 | ere(e)) & Ns } function zZe(t, e) { return qj(), Jit(t, e), new mYt(t, e) } function W2(t, e) { var n; t.n && (n = e, ue(t.f, n)) } function p8(t, e, n) { var r; r = new zm(n), Jf(t, e, r) } function qZe(t, e) { var n; return n = t.c, Imt(t, e), n } function pvt(t, e) { return e < 0 ? t.g = -1 : t.g = e, t } function mj(t, e) { return Csn(t), t.a *= e, t.b *= e, t } function WWt(t, e, n, r, s) { t.c = e, t.d = n, t.b = r, t.a = s } function pi(t, e) { return Cs(t, e, t.c.b, t.c), !0 } function bvt(t) { t.a.b = t.b, t.b.a = t.a, t.a = t.b = null } function hnt(t) { this.b = t, this.a = Iv(this.b.a).Ed() } function KWt(t, e) { this.b = t, this.a = e, aT.call(this) } function YWt(t, e) { this.a = t, this.b = e, aT.call(this) } function XWt(t, e) { jKt.call(this, e, 1040), this.a = t } function WM(t) { return t == 0 || isNaN(t) ? t : t < 0 ? -1 : 1 } function HZe(t) { return R6(), e0(t) == gs(Zp(t)) } function VZe(t) { return R6(), Zp(t) == gs(e0(t)) } function Dv(t, e) { return iC(t, new a8(e.a, e.b)) } function GZe(t) { return !ro(t) && t.c.i.c == t.d.i.c } function yj(t) { var e; return e = t.n, t.a.b + e.d + e.a } function QWt(t) { var e; return e = t.n, t.e.b + e.d + e.a } function vvt(t) { var e; return e = t.n, t.e.a + e.b + e.c } function ZWt(t) { return Ai(), new Kd(0, t) } function UZe(t) { return t.a ? t.a : Gnt(t) } function d_(t) { if (!t) throw et(new Xk(null)) } function JWt() { JWt = J, vft = (pn(), new I(Uct)) } function xj() { xj = J, new g3t((Rtt(), iut), (jtt(), rut)) } function tKt() { tKt = J, j8t = Ot(to, te, 19, 256, 0, 1) } function fnt(t, e, n, r) { Hyt.call(this, t, e, n, r, 0, 0) } function WZe(t, e, n) { return Pi(t.b, u(n.b, 17), e) } function KZe(t, e, n) { return Pi(t.b, u(n.b, 17), e) } function YZe(t, e) { return ue(t, new je(e.a, e.b)) } function XZe(t, e) { return t.c < e.c ? -1 : t.c == e.c ? 0 : 1 } function dnt(t) { return t.e.c.length + t.g.c.length } function eKt(t) { return t.e.c.length - t.g.c.length } function nKt(t) { return t.b.c.length - t.e.c.length } function QZe(t) { return zl(), (we(), vu).Hc(t.j) } function rKt(t) { Wbt(), gvt.call(this, t), this.a = -1 } function kj(t, e) { DM.call(this, t, e), this.a = this } function ls(t, e) { var n; return n = Nnt(t, e), n.i = 2, n } function Ej(t, e) { var n; return ++t.j, n = t.Ti(e), n } function Mi(t, e, n) { return t.a = -1, hbt(t, e.g, n), t } function ZZe(t, e, n) { Hyn(t.a, t.b, t.c, u(e, 202), n) } function JZe(t, e) { Nmt(t, e == null ? null : (Pn(e), e)) } function tJe(t, e) { Dmt(t, e == null ? null : (Pn(e), e)) } function eJe(t, e) { Dmt(t, e == null ? null : (Pn(e), e)) } function gnt(t, e, n) { return new uWt(stn(t).Ie(), n, e) } function K2(t, e, n, r, s, o) { return ose(t, e, n, r, s, 0, o) } function iKt() { iKt = J, F8t = Ot(kx, te, 217, 256, 0, 1) } function sKt() { sKt = J, $8t = Ot(xw, te, 162, 256, 0, 1) } function aKt() { aKt = J, H8t = Ot(kw, te, 184, 256, 0, 1) } function oKt() { oKt = J, R8t = Ot(tS, te, 172, 128, 0, 1) } function wvt() { Wd(this, !1, !1, !1, !1) } function pnt(t) { qm(), this.a = (pn(), new I(zr(t))) } function Tj(t) { for (zr(t); t.Ob();)t.Pb(), t.Qb() } function nJe(t) { t.a.cd(), u(t.a.dd(), 14).gc(), Mpt() } function mvt(t) { this.c = t, this.b = this.c.d.vc().Kc() } function cKt(t) { this.c = t, this.a = new k6(this.c.a) } function g_(t) { this.a = new x6(t.gc()), io(this, t) } function yvt(t) { xt.call(this, new tb), io(this, t) } function uKt(t, e) { return t.a += Fh(e, 0, e.length), t } function Fe(t, e) { return An(e, t.c.length), t.c[e] } function lKt(t, e) { return An(e, t.a.length), t.a[e] } function kn(t, e) { G2(), Srt.call(this, t), this.a = e } function rJe(t, e) { return fb(Wa(fb(t.a).a, e.a)) } function iJe(t, e) { return Pn(t), CD(t, (Pn(e), e)) } function sJe(t, e) { return Pn(e), CD(e, (Pn(t), t)) } function aJe(t, e) { return ds(e, 0, xvt(e[0], fb(1))) } function xvt(t, e) { return rJe(u(t, 162), u(e, 162)) } function hKt(t) { return t.c - u(Fe(t.a, t.b), 287).b } function fKt(t) { return t.q ? t.q : (pn(), pn(), u0) } function dKt(t) { return t.e.Hd().gc() * t.c.Hd().gc() } function oJe(t, e, n) { return Tu(e.d[t.g], n.d[t.g]) } function cJe(t, e, n) { return Tu(t.d[e.p], t.d[n.p]) } function uJe(t, e, n) { return Tu(t.d[e.p], t.d[n.p]) } function lJe(t, e, n) { return Tu(t.d[e.p], t.d[n.p]) } function hJe(t, e, n) { return Tu(t.d[e.p], t.d[n.p]) } function kvt(t, e, n) { return b.Math.min(n / t, 1 / e) } function gKt(t, e) { return t ? 0 : b.Math.max(0, e - 1) } function fJe(t, e) { var n; for (n = 0; n < e; ++n)t[n] = -1 } function pKt(t) { var e; return e = use(t), e ? pKt(e) : t } function dJe(t, e) { return t.a == null && Tce(t), t.a[e] } function Dl(t) { return t.c ? t.c.f : t.e.b } function Wu(t) { return t.c ? t.c.g : t.e.a } function _j(t) { Gv.call(this, t.gc()), vs(this, t) } function Cj(t, e) { lh(), ZB.call(this, e), this.a = t } function p_(t, e, n) { this.a = t, qs.call(this, e, n, 2) } function Sj(t, e, n, r) { cvt(this, t, e, n, r) } function Kd(t, e) { Ai(), gv.call(this, t), this.a = e } function bKt(t) { this.b = new hs, this.a = t, this.c = -1 } function vKt() { this.d = new je(0, 0), this.e = new na } function wKt(t) { fbt.call(this, 0, 0), this.a = t, this.b = 0 } function mKt(t) { this.a = t, this.c = new Rr, ion(this) } function Evt(t) { if (t.e.c != t.b) throw et(new uh) } function Tvt(t) { if (t.c.e != t.a) throw et(new uh) } function $r(t) { return Xo(t) ? t | 0 : Mqt(t) } function Aj(t, e) { return Ai(), new Uvt(t, e) } function bnt(t, e) { return t == null ? e == null : ln(t, e) } function gJe(t, e) { return t == null ? e == null : Tz(t, e) } function O6(t, e, n) { return xf(t.a, e), qvt(t, e.g, n) } function vnt(t, e, n) { Lne(0, e, t.length), I8(t, 0, e, n) } function Rm(t, e, n) { Vm(e, t.c.length), zT(t.c, e, n) } function yKt(t, e, n) { var r; for (r = 0; r < e; ++r)t[r] = n } function Zi(t, e) { var n; return n = on(t), ayt(n, e), n } function pJe(t, e) { return !t && (t = []), t[t.length] = e, t } function bJe(t, e) { return t.a.get(e) !== void 0 } function xKt(t, e) { return Vsn(new fe, new Kt(t), e) } function vJe(t) { return t == null ? RH : new sR(Pn(t)) } function wnt(t, e) { return Et(e, 22) && Gu(t, u(e, 22)) } function kKt(t, e) { return Et(e, 22) && ysn(t, u(e, 22)) } function _vt(t) { return wl(t, 26) * EC + wl(t, 27) * TC } function Cvt(t) { return Array.isArray(t) && t.im === de } function Lj(t) { t.b ? Lj(t.b) : t.d.dc() && t.f.c.Bc(t.e) } function mnt(t, e) { $i(t.c, e), t.b.c += e.a, t.b.d += e.b } function wJe(t, e) { mnt(t, ba(new je(e.a, e.b), t.c)) } function ynt(t, e) { this.b = new hs, this.a = t, this.c = e } function EKt() { this.b = new Wo, this.c = new tXt(this) } function Svt() { this.d = new xi, this.e = new JYt(this) } function Avt() { mwt(), this.f = new hs, this.e = new hs } function TKt() { zl(), this.k = new Rr, this.d = new na } function xnt() { xnt = J, F3e = new po((Ti(), kl), 0) } function _Kt() { _Kt = J, x0e = new wKt(Ot(nr, De, 1, 0, 5, 1)) } function mJe(t, e, n) { voe(n, t, 1), ue(e, new YHt(n, t)) } function yJe(t, e, n) { nC(n, t, 1), ue(e, new nVt(n, t)) } function xJe(t, e, n) { return Ys(t, new E6(e.a, n.a)) } function kJe(t, e, n) { return -Tu(t.f[e.p], t.f[n.p]) } function Mj(t, e, n) { var r; t && (r = t.i, r.c = e, r.b = n) } function Dj(t, e, n) { var r; t && (r = t.i, r.d = e, r.a = n) } function sl(t, e, n) { return t.a = -1, hbt(t, e.g + 1, n), t } function Lvt(t, e, n) { return n = Yl(t, u(e, 49), 7, n), n } function Mvt(t, e, n) { return n = Yl(t, u(e, 49), 3, n), n } function CKt(t, e, n) { this.a = t, nj.call(this, e, n, 22) } function SKt(t, e, n) { this.a = t, nj.call(this, e, n, 14) } function AKt(t, e, n, r) { lh(), cQt.call(this, t, e, n, r) } function LKt(t, e, n, r) { lh(), cQt.call(this, t, e, n, r) } function EJe(t, e) { e.Bb & Ac && !t.a.o && (t.a.o = e) } function MKt(t) { return t != null && Lnt(t) && t.im !== de } function Dvt(t) { return !Array.isArray(t) && t.im === de } function TJe(t) { return Et(t, 15) ? u(t, 15).Yc() : t.Kc() } function Ivt(t) { return t.Qc(Ot(nr, De, 1, t.gc(), 5, 1)) } function b_(t, e) { return Run(wD(t, e)) ? e.Qh() : null } function Ovt(t) { t ? E3t(t, (Gd(), G8t)) : Gd() } function pr(t) { this.a = (_Kt(), x0e), this.d = u(zr(t), 47) } function Nvt(t, e, n, r) { this.a = t, k$.call(this, t, e, n, r) } function Y2(t) { Op(), this.a = 0, this.b = t - 1, this.c = 1 } function DKt(t) { tj(this), this.g = t, Wj(this), this._d() } function Iv(t) { return t.c ? t.c : t.c = t.Id() } function knt(t) { return t.d ? t.d : t.d = t.Jd() } function Pvt(t) { var e; return e = t.c, e || (t.c = t.Dd()) } function IKt(t) { var e; return e = t.f, e || (t.f = t.Dc()) } function N6(t) { var e; return e = t.i, e || (t.i = t.bc()) } function OKt(t) { return Ai(), new Jnt(10, t, 0) } function v_(t) { return Xo(t) ? "" + t : wce(t) } function Ij(t) { if (t.e.j != t.d) throw et(new uh) } function L0(t, e) { return Wp(jse(Xo(t) ? Ph(t) : t, e)) } function Rp(t, e) { return Wp(G4t(Xo(t) ? Ph(t) : t, e)) } function jm(t, e) { return Wp(Cdn(Xo(t) ? Ph(t) : t, e)) } function _Je(t, e) { return rXe((Pn(t), t), (Pn(e), e)) } function Ent(t, e) { return Vs((Pn(t), t), (Pn(e), e)) } function NKt(t, e) { return zr(e), t.a.Ad(e) && !t.b.Ad(e) } function CJe(t, e) { return hu(t.l & e.l, t.m & e.m, t.h & e.h) } function SJe(t, e) { return hu(t.l | e.l, t.m | e.m, t.h | e.h) } function AJe(t, e) { return hu(t.l ^ e.l, t.m ^ e.m, t.h ^ e.h) } function Oj(t, e) { return zD(t, (Pn(e), new Dt(e))) } function Nj(t, e) { return zD(t, (Pn(e), new Bt(e))) } function PKt(t) { return Ku(), u(t, 11).e.c.length != 0 } function FKt(t) { return Ku(), u(t, 11).g.c.length != 0 } function LJe(t, e) { return Y6(), Vs(e.a.o.a, t.a.o.a) } function BKt(t, e, n) { return f3n(t, u(e, 11), u(n, 11)) } function MJe(t) { return t.e ? Zwt(t.e) : null } function Fvt(t) { t.d || (t.d = t.b.Kc(), t.c = t.b.gc()) } function DJe(t, e, n) { t.a.Mb(n) && (t.b = !0, e.td(n)) } function b8(t, e) { if (t < 0 || t >= e) throw et(new apt) } function IJe(t, e, n) { return ds(e, 0, xvt(e[0], n[0])), e } function OJe(t, e, n) { e.Ye(n, Xt(xe(or(t.b, n))) * t.a) } function RKt(t, e, n) { return y4(), H8(t, e) && H8(t, n) } function w_(t) { return cl(), !t.Hc(J0) && !t.Hc(E2) } function Pj(t) { return new je(t.c + t.b / 2, t.d + t.a / 2) } function Tnt(t, e) { return e.kh() ? Xp(t.b, u(e, 49)) : e } function Bvt(t, e) { this.e = t, this.d = e & 64 ? e | kd : e } function jKt(t, e) { this.c = 0, this.d = t, this.b = e | 64 | kd } function Fj(t) { this.b = new iu(11), this.a = (X3(), t) } function _nt(t) { this.b = null, this.a = (X3(), t || J8t) } function $Kt(t) { this.a = uie(t.a), this.b = new Uu(t.b) } function zKt(t) { this.b = t, A6.call(this, t), VGt(this) } function qKt(t) { this.b = t, NM.call(this, t), GGt(this) } function $m(t, e, n) { this.a = t, M6.call(this, e, n, 5, 6) } function Rvt(t, e, n, r) { this.b = t, qs.call(this, e, n, r) } function la(t, e, n, r, s) { Mrt.call(this, t, e, n, r, s, -1) } function m_(t, e, n, r, s) { dD.call(this, t, e, n, r, s, -1) } function he(t, e, n, r) { qs.call(this, t, e, n), this.b = r } function Bj(t, e, n, r) { UM.call(this, t, e, n), this.b = r } function HKt(t) { UVt.call(this, t, !1), this.a = !1 } function VKt(t, e) { this.b = t, KJ.call(this, t.b), this.a = e } function GKt(t, e) { qm(), FWe.call(this, t, hz(new Al(e))) } function Rj(t, e) { return Ai(), new Zvt(t, e, 0) } function Cnt(t, e) { return Ai(), new Zvt(6, t, e) } function NJe(t, e) { return ln(t.substr(0, e.length), e) } function Il(t, e) { return pa(e) ? Knt(t, e) : !!qo(t.f, e) } function Da(t, e) { for (Pn(e); t.Ob();)e.td(t.Pb()) } function K3(t, e, n) { e2(), this.e = t, this.d = e, this.a = n } function _g(t, e, n, r) { var s; s = t.i, s.i = e, s.a = n, s.b = r } function jvt(t) { var e; for (e = t; e.f;)e = e.f; return e } function P6(t) { var e; return e = q_(t), ir(e != null), e } function PJe(t) { var e; return e = ycn(t), ir(e != null), e } function v8(t, e) { var n; return n = t.a.gc(), Xwt(e, n), n - e } function $vt(t, e) { var n; for (n = 0; n < e; ++n)t[n] = !1 } function FJe(t, e, n, r) { var s; for (s = e; s < n; ++s)t[s] = r } function Ft(t, e, n, r) { Lne(e, n, t.length), FJe(t, e, n, r) } function BJe(t, e, n) { b8(n, t.a.c.length), gh(t.a, n, e) } function zvt(t, e, n) { this.c = t, this.a = e, pn(), this.b = n } function qvt(t, e, n) { var r; return r = t.b[e], t.b[e] = n, r } function Ys(t, e) { var n; return n = t.a.zc(e, t), n == null } function RJe(t) { if (!t) throw et(new _c); return t.d } function Hvt(t, e) { if (t == null) throw et(new m6(e)) } function Vvt(t, e) { return e ? io(t, e) : !1 } function Yd(t, e, n) { return Ion(t, e.g, n), xf(t.c, e), t } function jJe(t) { return T4(t, (xo(), Wh)), t.d = !0, t } function Snt(t) { return !t.j && btt(t, ivn(t.g, t.b)), t.j } function y_(t) { Om(t.b != -1), Sg(t.c, t.a = t.b), t.b = -1 } function al(t) { t.f = new gGt(t), t.g = new pGt(t), Qj(t) } function Ant(t) { return new kn(null, VJe(t, t.length)) } function jp(t) { return new pr(new Z2t(t.a.length, t.a)) } function $Je(t) { return hu(~t.l & yl, ~t.m & yl, ~t.h & U0) } function Lnt(t) { return typeof t === TI || typeof t === kat } function zJe(t) { return t == ms ? eO : t == Rs ? "-INF" : "" + t } function qJe(t) { return t == ms ? eO : t == Rs ? "-INF" : "" + t } function HJe(t, e) { return t > 0 ? b.Math.log(t / e) : -100 } function UKt(t, e) { return Oc(t, e) < 0 ? -1 : Oc(t, e) > 0 ? 1 : 0 } function Gvt(t, e, n) { return Bue(t, u(e, 46), u(n, 167)) } function WKt(t, e) { return u(Pvt(Iv(t.a)).Xb(e), 42).cd() } function VJe(t, e) { return dsn(e, t.length), new XWt(t, e) } function Mnt(t, e) { this.d = t, lr.call(this, t), this.e = e } function Ov(t) { this.d = (Pn(t), t), this.a = 0, this.c = kq } function Uvt(t, e) { gv.call(this, 1), this.a = t, this.b = e } function KKt(t, e) { return t.c ? KKt(t.c, e) : ue(t.b, e), t } function GJe(t, e, n) { var r; return r = Km(t, e), grt(t, e, n), r } function Wvt(t, e) { var n; return n = t.slice(0, e), lmt(n, t) } function YKt(t, e, n) { var r; for (r = 0; r < e; ++r)ds(t, r, n) } function XKt(t, e, n, r, s) { for (; e < n;)r[s++] = Ia(t, e++) } function UJe(t, e) { return Vs(t.c.c + t.c.b, e.c.c + e.c.b) } function KM(t, e) { return az(t.a, e, (Rn(), Lb)) == null } function YM(t, e) { Cs(t.d, e, t.b.b, t.b), ++t.a, t.c = null } function XM(t, e) { $Gt(t, Et(e, 153) ? e : u(e, 1937).gl()) } function Nv(t, e) { Ts(Cu(t.Oc(), new BE), new Ttt(e)) } function w8(t, e, n, r, s) { dst(t, u(ji(e.k, n), 15), n, r, s) } function jj(t) { t.s = NaN, t.c = NaN, roe(t, t.e), roe(t, t.j) } function QKt(t) { t.a = null, t.e = null, al(t.b), t.d = 0, ++t.c } function Dnt(t) { return b.Math.abs(t.d.e - t.e.e) - t.a } function WJe(t, e, n) { return u(t.c._c(e, u(n, 133)), 42) } function KJe() { return iR(), ct(ot(k0e, 1), se, 538, 0, [out]) } function YJe(t) { return R6(), gs(e0(t)) == gs(Zp(t)) } function ZKt(t) { Nbt.call(this), this.a = t, ue(t.a, this) } function Int(t, e) { this.d = xcn(t), this.c = e, this.a = .5 * e } function JKt() { tb.call(this), this.a = !0, this.b = !0 } function ar(t) { return (t.i == null && xd(t), t.i).length } function tYt(t) { return Et(t, 99) && (u(t, 18).Bb & Ac) != 0 } function XJe(t, e) { ++t.j, pst(t, t.i, e), R0n(t, u(e, 332)) } function Ont(t, e) { return e = t.nk(null, e), xse(t, null, e) } function vs(t, e) { return t.hi() && (e = EXt(t, e)), t.Wh(e) } function N(t, e, n) { var r; return r = Nnt(t, e), Hte(n, r), r } function Nnt(t, e) { var n; return n = new nyt, n.j = t, n.d = e, n } function zr(t) { if (t == null) throw et(new ET); return t } function Pnt(t) { var e; return e = t.j, e || (t.j = new ZJ(t)) } function eYt(t) { var e; return e = t.f, e || (t.f = new Q2t(t)) } function Kvt(t) { var e; return e = t.k, e || (t.k = new M3(t)) } function $j(t) { var e; return e = t.k, e || (t.k = new M3(t)) } function x_(t) { var e; return e = t.g, e || (t.g = new XL(t)) } function QJe(t) { var e; return e = t.i, e || (t.i = new VJ(t)) } function Fnt(t) { var e; return e = t.d, e || (t.d = new o6(t)) } function nYt(t) { return zr(t), Et(t, 475) ? u(t, 475) : Jo(t) } function Yvt(t) { return Et(t, 607) ? t : new hXt(t) } function rYt(t, e) { return aD(e, t.c.b.c.gc()), new eHt(t, e) } function iYt(t, e, n) { return Ai(), new JXt(t, e, n) } function ds(t, e, n) { return DYe(n == null || $vn(t, n)), t[e] = n } function Xvt(t, e) { var n; return n = t.a.gc(), aD(e, n), n - 1 - e } function m8(t, e) { return t.a += String.fromCharCode(e), t } function $p(t, e) { return t.a += String.fromCharCode(e), t } function Bnt(t, e) { for (Pn(e); t.c < t.d;)t.ze(e, t.c++) } function or(t, e) { return pa(e) ? Uc(t, e) : gc(qo(t.f, e)) } function ZJe(t, e) { return R6(), t == e0(e) ? Zp(e) : e0(e) } function JJe(t, e) { F6(t, new zm(e.f != null ? e.f : "" + e.g)) } function ttn(t, e) { F6(t, new zm(e.f != null ? e.f : "" + e.g)) } function sYt(t) { this.b = new le, this.a = new le, this.c = t } function Oh(t) { this.c = new Ra, this.a = new le, this.b = t } function aYt(t) { Nbt.call(this), this.a = new Ra, this.c = t } function zm(t) { if (t == null) throw et(new ET); this.a = t } function oYt(t) { spt(), this.b = new le, this.a = t, Qmn(this, t) } function cYt(t) { this.c = t, this.a = new hs, this.b = new hs } function uYt() { uYt = J, S0e = new qk(!1), A0e = new qk(!0) } function qm() { qm = J, vd(), sut = new Ynt((pn(), pn(), wo)) } function Rnt() { Rnt = J, vd(), A8t = new t2t((pn(), pn(), BH)) } function zp() { zp = J, Ln = B0n(), hn(), Zy && Vhn() } function etn(t, e) { return Y6(), u(Ao(t, e.d), 15).Fc(e) } function ntn(t, e, n, r) { return n == 0 || (n - r) / n < t.e || e >= t.g } function jnt(t, e, n) { var r; return r = Xrt(t, e, n), x5t(t, r) } function F6(t, e) { var n; n = t.a.length, Km(t, n), grt(t, n, e) } function lYt(t, e) { var n; n = console[t], n.call(console, e) } function hYt(t, e) { var n; ++t.j, n = t.Vi(), t.Ii(t.oi(n, e)) } function rtn(t, e, n) { u(e.b, 65), Mu(e.a, new tvt(t, n, e)) } function Qvt(t, e, n) { ZB.call(this, e), this.a = t, this.b = n } function Zvt(t, e, n) { gv.call(this, t), this.a = e, this.b = n } function Jvt(t, e, n) { this.a = t, Zgt.call(this, e), this.b = n } function fYt(t, e, n) { this.a = t, Lwt.call(this, 8, e, null, n) } function itn(t) { this.a = (Pn(si), si), this.b = t, new mpt } function dYt(t) { this.c = t, this.b = this.c.a, this.a = this.c.e } function twt(t) { this.c = t, this.b = t.a.d.a, xbt(t.a.e, this) } function Ol(t) { Om(t.c != -1), t.d.$c(t.c), t.b = t.c, t.c = -1 } function k_(t) { return b.Math.sqrt(t.a * t.a + t.b * t.b) } function Pv(t, e) { return b8(e, t.a.c.length), Fe(t.a, e) } function wd(t, e) { return qt(t) === qt(e) || t != null && Ni(t, e) } function stn(t) { return 0 >= t ? new Upt : Gsn(t - 1) } function atn(t) { return t3 ? Knt(t3, t) : !1 } function gYt(t) { return t ? t.dc() : !t.Kc().Ob() } function Qa(t) { return !t.a && t.c ? t.c.b : t.a } function otn(t) { return !t.a && (t.a = new qs(T2, t, 4)), t.a } function Fv(t) { return !t.d && (t.d = new qs(Co, t, 1)), t.d } function Pn(t) { if (t == null) throw et(new ET); return t } function E_(t) { t.c ? t.c.He() : (t.d = !0, f2n(t)) } function qp(t) { t.c ? qp(t.c) : (hb(t), t.d = !0) } function pYt(t) { iwt(t.a), t.b = Ot(nr, De, 1, t.b.length, 5, 1) } function ctn(t, e) { return Tu(e.j.c.length, t.j.c.length) } function utn(t, e) { t.c < 0 || t.b.b < t.c ? U2(t.b, e) : t.a._e(e) } function ltn(t, e) { var n; n = t.Yg(e), n >= 0 ? t.Bh(n) : D4t(t, e) } function bYt(t) { var e, n; return e = t.c.i.c, n = t.d.i.c, e == n } function htn(t) { if (t.p != 4) throw et(new qu); return t.e } function ftn(t) { if (t.p != 3) throw et(new qu); return t.e } function dtn(t) { if (t.p != 6) throw et(new qu); return t.f } function gtn(t) { if (t.p != 6) throw et(new qu); return t.k } function ptn(t) { if (t.p != 3) throw et(new qu); return t.j } function btn(t) { if (t.p != 4) throw et(new qu); return t.j } function ewt(t) { return !t.b && (t.b = new JB(new Btt)), t.b } function Bv(t) { return t.c == -2 && Gk(t, N1n(t.g, t.b)), t.c } function y8(t, e) { var n; return n = Nnt("", t), n.n = e, n.i = 1, n } function vtn(t, e) { mnt(u(e.b, 65), t), Mu(e.a, new fi(t)) } function wtn(t, e) { Hr((!t.a && (t.a = new jM(t, t)), t.a), e) } function vYt(t, e) { this.b = t, Mnt.call(this, t, e), VGt(this) } function wYt(t, e) { this.b = t, Vbt.call(this, t, e), GGt(this) } function nwt(t, e, n, r) { Ev.call(this, t, e), this.d = n, this.a = r } function zj(t, e, n, r) { Ev.call(this, t, n), this.a = e, this.f = r } function mYt(t, e) { ZKe.call(this, Usn(zr(t), zr(e))), this.a = e } function yYt() { u4t.call(this, Sb, (Eqt(), x4e)), $mn(this) } function xYt() { u4t.call(this, Hh, (t8(), OAt)), Ywn(this) } function kYt() { ei.call(this, "DELAUNAY_TRIANGULATION", 0) } function mtn(t) { return String.fromCharCode.apply(null, t) } function Pi(t, e, n) { return pa(e) ? Po(t, e, n) : du(t.f, e, n) } function rwt(t) { return pn(), t ? t.ve() : (X3(), X3(), e7t) } function ytn(t, e, n) { return X6(), n.pg(t, u(e.cd(), 146)) } function EYt(t, e) { return xj(), new g3t(new iUt(t), new rUt(e)) } function xtn(t) { return Gl(t, _at), O$(Wa(Wa(5, t), t / 10 | 0)) } function qj() { qj = J, y0e = new $tt(ct(ot(Ab, 1), Eq, 42, 0, [])) } function TYt(t) { return !t.d && (t.d = new T(t.c.Cc())), t.d } function x8(t) { return !t.a && (t.a = new iqt(t.c.vc())), t.a } function _Yt(t) { return !t.b && (t.b = new Qk(t.c.ec())), t.b } function Xd(t, e) { for (; e-- > 0;)t = t << 1 | (t < 0 ? 1 : 0); return t } function Gc(t, e) { return qt(t) === qt(e) || t != null && Ni(t, e) } function ktn(t, e) { return Rn(), u(e.b, 19).a < t } function Etn(t, e) { return Rn(), u(e.a, 19).a < t } function Ao(t, e) { return wnt(t.a, e) ? t.b[u(e, 22).g] : null } function Ttn(t, e, n, r) { t.a = $l(t.a, 0, e) + ("" + r) + IM(t.a, n) } function CYt(t, e) { t.u.Hc((cl(), J0)) && A0n(t, e), lin(t, e) } function Ia(t, e) { return Yr(e, t.length), t.charCodeAt(e) } function SYt() { ic.call(this, "There is no more element.") } function T_(t) { this.d = t, this.a = this.d.b, this.b = this.d.c } function AYt(t) { t.b = !1, t.c = !1, t.d = !1, t.a = !1 } function wi(t, e, n, r) { return See(t, e, n, !1), fz(t, r), t } function _tn(t) { return t.j.c = Ot(nr, De, 1, 0, 5, 1), t.a = -1, t } function Ctn(t) { return !t.c && (t.c = new Tn(Cr, t, 5, 8)), t.c } function Stn(t) { return !t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b } function Hj(t) { return !t.n && (t.n = new he(ec, t, 1, 7)), t.n } function $nt(t) { return !t.c && (t.c = new he(El, t, 9, 9)), t.c } function k8(t) { return t.e == U7 && Kgt(t, Gun(t.g, t.b)), t.e } function QM(t) { return t.f == U7 && ptt(t, Ihn(t.g, t.b)), t.f } function Y3(t) { var e; return e = t.b, !e && (t.b = e = new QL(t)), e } function iwt(t) { var e; for (e = t.Kc(); e.Ob();)e.Pb(), e.Qb() } function E8(t) { if (vl(t.d), t.d.d != t.c) throw et(new uh) } function swt(t, e) { this.b = t, this.c = e, this.a = new k6(this.b) } function znt(t, e, n) { this.a = g6t, this.d = t, this.b = e, this.c = n } function LYt(t, e) { this.d = (Pn(t), t), this.a = 16449, this.c = e } function Atn(t, e) { ore(t, Xt(B0(e, "x")), Xt(B0(e, "y"))) } function Ltn(t, e) { ore(t, Xt(B0(e, "x")), Xt(B0(e, "y"))) } function Qi(t, e) { return hb(t), new kn(t, new umt(e, t.a)) } function Cu(t, e) { return hb(t), new kn(t, new Qwt(e, t.a)) } function Vj(t, e) { return hb(t), new Tbt(t, new RZt(e, t.a)) } function Gj(t, e) { return hb(t), new _bt(t, new jZt(e, t.a)) } function Mtn(t, e) { return new rXt(u(zr(t), 62), u(zr(e), 62)) } function Dtn(t, e) { return Ypt(), Vs((Pn(t), t), (Pn(e), e)) } function Itn() { return mR(), ct(ot(B7t, 1), se, 481, 0, [Cut]) } function Otn() { return xR(), ct(ot(ACt, 1), se, 482, 0, [Mht]) } function Ntn() { return kR(), ct(ot(bye, 1), se, 551, 0, [Dht]) } function Ptn() { return BT(), ct(ot(YCt, 1), se, 530, 0, [RO]) } function MYt(t) { this.a = new le, this.e = Ot(Br, te, 48, t, 0, 2) } function qnt(t, e, n, r) { this.a = t, this.e = e, this.d = n, this.c = r } function Uj(t, e, n, r) { this.a = t, this.c = e, this.b = n, this.d = r } function awt(t, e, n, r) { this.c = t, this.b = e, this.a = n, this.d = r } function DYt(t, e, n, r) { this.c = t, this.b = e, this.d = n, this.a = r } function fh(t, e, n, r) { this.c = t, this.d = e, this.b = n, this.a = r } function IYt(t, e, n, r) { this.a = t, this.d = e, this.c = n, this.b = r } function B6(t, e, n, r) { ei.call(this, t, e), this.a = n, this.b = r } function OYt(t, e, n, r) { this.a = t, this.c = e, this.d = n, this.b = r } function Ftn(t, e, n) { Uwn(t.a, n), Han(n), mgn(t.b, n), lmn(e, n) } function Hnt(t, e, n) { var r, s; return r = r6t(t), s = e.Kh(n, r), s } function NYt(t, e) { var n, r; return n = t / e, r = Ms(n), n > r && ++r, r } function M0(t) { var e, n; return n = (e = new pv, e), P8(n, t), n } function Vnt(t) { var e, n; return n = (e = new pv, e), f4t(n, t), n } function Btn(t, e) { var n; return n = or(t.f, e), Hmt(e, n), null } function Gnt(t) { var e; return e = Ksn(t), e || null } function PYt(t) { return !t.b && (t.b = new he(aa, t, 12, 3)), t.b } function Rtn(t) { return t != null && gM(KG, t.toLowerCase()) } function jtn(t, e) { return Vs(Wu(t) * Dl(t), Wu(e) * Dl(e)) } function $tn(t, e) { return Vs(Wu(t) * Dl(t), Wu(e) * Dl(e)) } function ztn(t, e) { return Vs(t.d.c + t.d.b / 2, e.d.c + e.d.b / 2) } function qtn(t, e) { return Vs(t.g.c + t.g.b / 2, e.g.c + e.g.b / 2) } function FYt(t, e, n) { n.a ? Iu(t, e.b - t.f / 2) : Du(t, e.a - t.g / 2) } function BYt(t, e, n, r) { this.a = t, this.b = e, this.c = n, this.d = r } function RYt(t, e, n, r) { this.a = t, this.b = e, this.c = n, this.d = r } function X2(t, e, n, r) { this.e = t, this.a = e, this.c = n, this.d = r } function jYt(t, e, n, r) { this.a = t, this.c = e, this.d = n, this.b = r } function $Yt(t, e, n, r) { lh(), IZt.call(this, e, n, r), this.a = t } function zYt(t, e, n, r) { lh(), IZt.call(this, e, n, r), this.a = t } function qYt(t, e) { this.a = t, KYe.call(this, t, u(t.d, 15).Zc(e)) } function Unt(t) { this.f = t, this.c = this.f.e, t.f > 0 && tse(this) } function HYt(t, e, n, r) { this.b = t, this.c = r, Iet.call(this, e, n) } function VYt(t) { return ir(t.b < t.d.gc()), t.d.Xb(t.c = t.b++) } function Nh(t) { t.a.a = t.c, t.c.b = t.a, t.a.b = t.c.a = null, t.b = 0 } function owt(t, e) { return t.b = e.b, t.c = e.c, t.d = e.d, t.a = e.a, t } function Wj(t) { return t.n && (t.e !== lhe && t._d(), t.j = null), t } function GYt(t) { return d_(t == null || Lnt(t) && t.im !== de), t } function UYt(t) { this.b = new le, Hs(this.b, this.b), this.a = t } function R6() { R6 = J, WH = new le, Mut = new Rr, Lut = new le } function pn() { pn = J, wo = new X, u0 = new ft, BH = new _t } function X3() { X3 = J, J8t = new _n, t7t = new _n, e7t = new _e } function cwt() { cwt = J, Z0e = new Zn, tge = new Svt, J0e = new Pr } function Htn() { f7t == 256 && (h7t = $H, $H = new C, f7t = 0), ++f7t } function j6(t) { var e; return e = t.f, e || (t.f = new n8(t, t.c)) } function Vtn(t) { return aw(t) && Re(Be(ze(t, (Ce(), Ob)))) } function Gtn(t, e) { return cn(t, u(K(e, (Ce(), b9)), 19), e) } function WYt(t, e) { return a4(t.j, e.s, e.c) + a4(e.e, t.s, t.c) } function KYt(t, e) { t.e && !t.e.a && (W$t(t.e, e), KYt(t.e, e)) } function YYt(t, e) { t.d && !t.d.a && (W$t(t.d, e), YYt(t.d, e)) } function Utn(t, e) { return -Vs(Wu(t) * Dl(t), Wu(e) * Dl(e)) } function Wtn(t) { return u(t.cd(), 146).tg() + ":" + Jo(t.dd()) } function Ktn(t) { bf(); var e; e = u(t.g, 10), e.n.a = t.d.c + e.d.b } function Ytn(t, e, n) { return FT(), $cn(u(or(t.e, e), 522), n) } function Xtn(t, e) { return bl(t), bl(e), Yzt(u(t, 22), u(e, 22)) } function Qtn(t, e, n) { t.i = 0, t.e = 0, e != n && bne(t, e, n) } function Ztn(t, e, n) { t.i = 0, t.e = 0, e != n && vne(t, e, n) } function Q2(t, e, n) { var r, s; r = Ubt(n), s = new gT(r), Jf(t, e, s) } function Wnt(t, e, n, r, s, o) { dD.call(this, t, e, n, r, s, o ? -2 : -1) } function XYt(t, e, n, r) { A2t.call(this, e, n), this.b = t, this.a = r } function uwt(t, e) { new hs, this.a = new Hu, this.b = t, this.c = e } function Jtn(t, e) { return u(K(t, (ie(), Mx)), 15).Fc(e), e } function Kj(t, e) { if (t == null) throw et(new m6(e)); return t } function zi(t) { return !t.q && (t.q = new he(Jh, t, 11, 10)), t.q } function Ut(t) { return !t.s && (t.s = new he(ju, t, 21, 17)), t.s } function Yj(t) { return !t.a && (t.a = new he(bs, t, 10, 11)), t.a } function Xj(t) { return Et(t, 14) ? new g_(u(t, 14)) : MZe(t.Kc()) } function ten(t) { return new XGt(t, t.e.Hd().gc() * t.c.Hd().gc()) } function een(t) { return new QGt(t, t.e.Hd().gc() * t.c.Hd().gc()) } function lwt(t) { return t && t.hashCode ? t.hashCode() : Av(t) } function Knt(t, e) { return e == null ? !!qo(t.f, null) : bJe(t.g, e) } function nen(t) { return zr(t), wie(new pr(mr(t.a.Kc(), new H))) } function ZM(t) { return pn(), Et(t, 54) ? new Ytt(t) : new rj(t) } function QYt(t, e, n) { return t.f ? t.f.Ne(e, n) : !1 } function ren(t, e) { return t.a = $l(t.a, 0, e) + "" + IM(t.a, e + 1), t } function ien(t, e) { var n; return n = U2t(t.a, e), n && (e.d = null), n } function Qj(t) { var e, n; n = t, e = n.$modCount | 0, n.$modCount = e + 1 } function hwt(t) { this.b = t, this.c = t, t.e = null, t.c = null, this.a = 1 } function ZYt(t) { this.b = t, this.a = new Dp(u(zr(new um), 62)) } function JYt(t) { this.c = t, this.b = new Dp(u(zr(new On), 62)) } function tXt(t) { this.c = t, this.b = new Dp(u(zr(new gk), 62)) } function eXt() { this.a = new dpt, this.b = new mzt, this.d = new jP } function Rv() { this.a = new Hu, this.b = (Gl(3, vy), new iu(3)) } function nXt() { this.b = new na, this.d = new hs, this.e = new ppt } function Zj(t) { this.c = t.c, this.d = t.d, this.b = t.b, this.a = t.a } function rXt(t, e) { jUe.call(this, new _nt(t)), this.a = t, this.b = e } function iXt() { yst(this, new OB), this.wb = (zp(), Ln), t8() } function sen(t) { Ar(t, "No crossing minimization", 1), br(t) } function aen(t) { cR(), b.setTimeout(function () { throw t }, 0) } function zo(t) { return t.u || (gl(t), t.u = new zUt(t, t)), t.u } function Su(t) { var e; return e = u(Dn(t, 16), 26), e || t.zh() } function sXt(t, e) { return Et(e, 146) && ln(t.b, u(e, 146).tg()) } function oen(t, e) { return t.a ? e.Wg().Kc() : u(e.Wg(), 69).Zh() } function cen(t) { return t.k == (Kn(), Ws) && ia(t, (ie(), dS)) } function Ynt(t) { this.a = (pn(), Et(t, 54) ? new Ytt(t) : new rj(t)) } function T8() { T8 = J; var t, e; e = !Lun(), t = new pt, lut = e ? new gt : t } function Xnt(t, e) { var n; return n = Mp(t.gm), e == null ? n : n + ": " + e } function aXt(t, e) { var n; return n = t.b.Qc(e), QQt(n, t.b.gc()), n } function JM(t, e) { if (t == null) throw et(new m6(e)); return t } function qo(t, e) { return Dne(t, e, Ven(t, e == null ? 0 : t.b.se(e))) } function uen(t, e, n) { return n >= 0 && ln(t.substr(n, e.length), e) } function Hp(t, e, n, r, s, o, h) { return new brt(t.e, e, n, r, s, o, h) } function oXt(t, e, n, r, s, o) { this.a = t, Hrt.call(this, e, n, r, s, o) } function cXt(t, e, n, r, s, o) { this.a = t, Hrt.call(this, e, n, r, s, o) } function uXt(t, e) { this.g = t, this.d = ct(ot(l0, 1), $g, 10, 0, [e]) } function Cg(t, e) { this.e = t, this.a = nr, this.b = Ice(e), this.c = e } function lXt(t, e) { fj.call(this), wmt(this), this.a = t, this.c = e } function tD(t, e, n, r) { ds(t.c[e.g], n.g, r), ds(t.c[n.g], e.g, r) } function Qnt(t, e, n, r) { ds(t.c[e.g], e.g, n), ds(t.b[e.g], e.g, r) } function len() { return uD(), ct(ot(x_t, 1), se, 376, 0, [iht, DO]) } function hen() { return pD(), ct(ot(dEt, 1), se, 479, 0, [fEt, SV]) } function fen() { return ED(), ct(ot(lEt, 1), se, 419, 0, [_V, uEt]) } function den() { return E$(), ct(ot(nEt, 1), se, 422, 0, [eEt, slt]) } function gen() { return f$(), ct(ot(CEt, 1), se, 420, 0, [ylt, _Et]) } function pen() { return mD(), ct(ot(v_t, 1), se, 421, 0, [eht, nht]) } function ben() { return D_(), ct(ot(_we, 1), se, 523, 0, [AS, SS]) } function ven() { return Qf(), ct(ot(Ywe, 1), se, 520, 0, [Vy, v2]) } function wen() { return md(), ct(ot(Iwe, 1), se, 516, 0, [Pw, Wg]) } function men() { return D1(), ct(ot(Nwe, 1), se, 515, 0, [Bb, Y1]) } function yen() { return jv(), ct(ot(nme, 1), se, 455, 0, [w2, e5]) } function xen() { return c$(), ct(ot(G_t, 1), se, 425, 0, [mht, V_t]) } function ken() { return i$(), ct(ot(H_t, 1), se, 480, 0, [wht, q_t]) } function Een() { return Y$(), ct(ot(U_t, 1), se, 495, 0, [pG, E9]) } function Ten() { return _$(), ct(ot(K_t, 1), se, 426, 0, [W_t, Eht]) } function _en() { return OD(), ct(ot(QCt, 1), se, 429, 0, [TG, XCt]) } function Cen() { return lD(), ct(ot(LCt, 1), se, 430, 0, [Iht, kG]) } function Sen() { return _z(), ct(ot(g7t, 1), se, 428, 0, [mut, d7t]) } function Aen() { return D$(), ct(ot(b7t, 1), se, 427, 0, [p7t, yut]) } function Len() { return I$(), ct(ot(V7t, 1), se, 424, 0, [Dut, KH]) } function Men() { return q8(), ct(ot(Kpe, 1), se, 511, 0, [gO, Vut]) } function Jj(t, e, n, r) { return n >= 0 ? t.jh(e, n, r) : t.Sg(null, n, r) } function Znt(t) { return t.b.b == 0 ? t.a.$e() : lnt(t.b) } function Den(t) { if (t.p != 5) throw et(new qu); return $r(t.f) } function Ien(t) { if (t.p != 5) throw et(new qu); return $r(t.k) } function fwt(t) { return qt(t.a) === qt((Jrt(), gft)) && Omn(t), t.a } function hXt(t) { this.a = u(zr(t), 271), this.b = (pn(), new sbt(t)) } function fXt(t, e) { Ggt(this, new je(t.a, t.b)), zB(this, GM(e)) } function jv() { jv = J, w2 = new y2t(fx, 0), e5 = new y2t(dx, 1) } function md() { md = J, Pw = new w2t(dx, 0), Wg = new w2t(fx, 1) } function $v() { qUe.call(this, new x6(Ym(12))), ebt(!0), this.a = 2 } function Jnt(t, e, n) { Ai(), gv.call(this, t), this.b = e, this.a = n } function dwt(t, e, n) { lh(), ZB.call(this, e), this.a = t, this.b = n } function dXt(t) { fj.call(this), wmt(this), this.a = t, this.c = !0 } function gXt(t) { var e; e = t.c.d.b, t.b = e, t.a = t.c.d, e.a = t.c.d.b = t } function t$(t) { var e; jsn(t.a), _Gt(t.a), e = new cr(t.a), qyt(e) } function Oen(t, e) { Ece(t, !0), Mu(t.e.wf(), new Xbt(t, !0, e)) } function e$(t, e) { return WQt(e), Fsn(t, Ot(Br, oi, 25, e, 15, 1), e) } function Nen(t, e) { return R6(), t == gs(e0(e)) || t == gs(Zp(e)) } function Uc(t, e) { return e == null ? gc(qo(t.f, null)) : $T(t.g, e) } function Pen(t) { return t.b == 0 ? null : (ir(t.b != 0), bh(t, t.a.a)) } function Ms(t) { return Math.max(Math.min(t, Di), -2147483648) | 0 } function Fen(t, e) { var n = uut[t.charCodeAt(0)]; return n ?? t } function n$(t, e) { return Kj(t, "set1"), Kj(e, "set2"), new lHt(t, e) } function Ben(t, e) { var n; return n = Dsn(t.f, e), $i(lj(n), t.f.d) } function __(t, e) { var n, r; return n = e, r = new ye, hle(t, n, r), r.d } function trt(t, e, n, r) { var s; s = new eWt, e.a[n.g] = s, O6(t.b, r, s) } function gwt(t, e, n) { var r; r = t.Yg(e), r >= 0 ? t.sh(r, n) : r5t(t, e, n) } function Q3(t, e, n) { s$(), t && Pi(hft, t, e), t && Pi(oN, t, n) } function pXt(t, e, n) { this.i = new le, this.b = t, this.g = e, this.a = n } function r$(t, e, n) { this.c = new le, this.e = t, this.f = e, this.b = n } function pwt(t, e, n) { this.a = new le, this.e = t, this.f = e, this.c = n } function bXt(t, e) { tj(this), this.f = e, this.g = t, Wj(this), this._d() } function eD(t, e) { var n; n = t.q.getHours(), t.q.setDate(e), gC(t, n) } function vXt(t, e) { var n; for (zr(e), n = t.a; n; n = n.c)e.Od(n.g, n.i) } function wXt(t) { var e; return e = new fR(Ym(t.length)), ayt(e, t), e } function Ren(t) { function e() { } return e.prototype = t || {}, new e } function jen(t, e) { return Wee(t, e) ? (Gte(t), !0) : !1 } function D0(t, e) { if (e == null) throw et(new ET); return Fun(t, e) } function $en(t) { if (t.qe()) return null; var e = t.n; return DH[e] } function nD(t) { return t.Db >> 16 != 3 ? null : u(t.Cb, 33) } function M1(t) { return t.Db >> 16 != 9 ? null : u(t.Cb, 33) } function mXt(t) { return t.Db >> 16 != 6 ? null : u(t.Cb, 79) } function yXt(t) { return t.Db >> 16 != 7 ? null : u(t.Cb, 235) } function xXt(t) { return t.Db >> 16 != 7 ? null : u(t.Cb, 160) } function gs(t) { return t.Db >> 16 != 11 ? null : u(t.Cb, 33) } function kXt(t, e) { var n; return n = t.Yg(e), n >= 0 ? t.lh(n) : Lst(t, e) } function EXt(t, e) { var n; return n = new yvt(e), Tse(n, t), new Uu(n) } function bwt(t) { var e; return e = t.d, e = t.si(t.f), Hr(t, e), e.Ob() } function TXt(t, e) { return t.b += e.b, t.c += e.c, t.d += e.d, t.a += e.a, t } function ert(t, e) { return b.Math.abs(t) < b.Math.abs(e) ? t : e } function zen(t) { return !t.a && (t.a = new he(bs, t, 10, 11)), t.a.i > 0 } function _Xt() { this.a = new S0, this.e = new na, this.g = 0, this.i = 0 } function CXt(t) { this.a = t, this.b = Ot(kwe, te, 1944, t.e.length, 0, 2) } function nrt(t, e, n) { var r; r = dne(t, e, n), t.b = new K$(r.c.length) } function D1() { D1 = J, Bb = new v2t(cot, 0), Y1 = new v2t("UP", 1) } function i$() { i$ = J, wht = new x2t($fe, 0), q_t = new x2t("FAN", 1) } function s$() { s$ = J, hft = new Rr, oN = new Rr, oKe(R0e, new VE) } function qen(t) { if (t.p != 0) throw et(new qu); return t_(t.f, 0) } function Hen(t) { if (t.p != 0) throw et(new qu); return t_(t.k, 0) } function SXt(t) { return t.Db >> 16 != 3 ? null : u(t.Cb, 147) } function _8(t) { return t.Db >> 16 != 6 ? null : u(t.Cb, 235) } function Hm(t) { return t.Db >> 16 != 17 ? null : u(t.Cb, 26) } function AXt(t, e) { var n = t.a = t.a || []; return n[e] || (n[e] = t.le(e)) } function Ven(t, e) { var n; return n = t.a.get(e), n ?? new Array } function Gen(t, e) { var n; n = t.q.getHours(), t.q.setMonth(e), gC(t, n) } function Po(t, e, n) { return e == null ? du(t.f, null, n) : Jv(t.g, e, n) } function C_(t, e, n, r, s, o) { return new P0(t.e, e, t.aj(), n, r, s, o) } function rD(t, e, n) { return t.a = $l(t.a, 0, e) + ("" + n) + IM(t.a, e), t } function Uen(t, e, n) { return ue(t.a, (qj(), Jit(e, n), new Ev(e, n))), t } function vwt(t) { return rbt(t.c), t.e = t.a = t.c, t.c = t.c.c, ++t.d, t.a.f } function LXt(t) { return rbt(t.e), t.c = t.a = t.e, t.e = t.e.e, --t.d, t.a.f } function ma(t, e) { t.d && Au(t.d.e, t), t.d = e, t.d && ue(t.d.e, t) } function Ua(t, e) { t.c && Au(t.c.g, t), t.c = e, t.c && ue(t.c.g, t) } function Fo(t, e) { t.c && Au(t.c.a, t), t.c = e, t.c && ue(t.c.a, t) } function ac(t, e) { t.i && Au(t.i.j, t), t.i = e, t.i && ue(t.i.j, t) } function MXt(t, e, n) { this.a = e, this.c = t, this.b = (zr(n), new Uu(n)) } function DXt(t, e, n) { this.a = e, this.c = t, this.b = (zr(n), new Uu(n)) } function IXt(t, e) { this.a = t, this.c = pc(this.a), this.b = new Zj(e) } function Wen(t) { var e; return hb(t), e = new na, Qi(t, new qe(e)) } function Vm(t, e) { if (t < 0 || t > e) throw et(new Oo(k6t + t + E6t + e)) } function wwt(t, e) { return kKt(t.a, e) ? qvt(t, u(e, 22).g, null) : null } function Ken(t) { return mit(), Rn(), u(t.a, 81).d.e != 0 } function OXt() { OXt = J, E0e = ii((iR(), ct(ot(k0e, 1), se, 538, 0, [out]))) } function NXt() { NXt = J, uwe = sl(new ra, (so(), Go), (vo(), pO)) } function mwt() { mwt = J, lwe = sl(new ra, (so(), Go), (vo(), pO)) } function PXt() { PXt = J, fwe = sl(new ra, (so(), Go), (vo(), pO)) } function FXt() { FXt = J, Swe = Mi(new ra, (so(), Go), (vo(), aS)) } function zl() { zl = J, Mwe = Mi(new ra, (so(), Go), (vo(), aS)) } function BXt() { BXt = J, Dwe = Mi(new ra, (so(), Go), (vo(), aS)) } function rrt() { rrt = J, Fwe = Mi(new ra, (so(), Go), (vo(), aS)) } function RXt() { RXt = J, kme = sl(new ra, (u7(), MS), (aC(), uht)) } function Z2(t, e, n, r) { this.c = t, this.d = r, srt(this, e), art(this, n) } function $6(t) { this.c = new hs, this.b = t.b, this.d = t.c, this.a = t.a } function irt(t) { this.a = b.Math.cos(t), this.b = b.Math.sin(t) } function srt(t, e) { t.a && Au(t.a.k, t), t.a = e, t.a && ue(t.a.k, t) } function art(t, e) { t.b && Au(t.b.f, t), t.b = e, t.b && ue(t.b.f, t) } function jXt(t, e) { rtn(t, t.b, t.c), u(t.b.b, 65), e && u(e.b, 65).b } function Yen(t, e) { Pyt(t, e), Et(t.Cb, 88) && uy(gl(u(t.Cb, 88)), 2) } function ort(t, e) { Et(t.Cb, 88) && uy(gl(u(t.Cb, 88)), 4), su(t, e) } function a$(t, e) { Et(t.Cb, 179) && (u(t.Cb, 179).tb = null), su(t, e) } function Wc(t, e) { return go(), Brt(e) ? new kj(e, t) : new DM(e, t) } function Xen(t, e) { var n, r; n = e.c, r = n != null, r && F6(t, new zm(e.c)) } function $Xt(t) { var e, n; return n = (t8(), e = new pv, e), P8(n, t), n } function zXt(t) { var e, n; return n = (t8(), e = new pv, e), P8(n, t), n } function qXt(t, e) { var n; return n = new Oh(t), e.c[e.c.length] = n, n } function HXt(t, e) { var n; return n = u(ty(j6(t.a), e), 14), n ? n.gc() : 0 } function VXt(t) { var e; return hb(t), e = (X3(), X3(), t7t), P$(t, e) } function GXt(t) { for (var e; ;)if (e = t.Pb(), !t.Ob()) return e } function ywt(t, e) { $Ue.call(this, new x6(Ym(t))), Gl(e, ihe), this.a = e } function Qd(t, e, n) { Zne(e, n, t.gc()), this.c = t, this.a = e, this.b = n - e } function UXt(t, e, n) { var r; Zne(e, n, t.c.length), r = n - e, Vpt(t.c, e, r) } function Qen(t, e) { HGt(t, $r(Xs(Rp(e, 24), Cq)), $r(Xs(e, Cq))) } function An(t, e) { if (t < 0 || t >= e) throw et(new Oo(k6t + t + E6t + e)) } function Yr(t, e) { if (t < 0 || t >= e) throw et(new Ipt(k6t + t + E6t + e)) } function Cn(t, e) { this.b = (Pn(t), t), this.a = e & wy ? e : e | 64 | kd } function WXt(t) { TGt(this), izt(this.a, iyt(b.Math.max(8, t)) << 1) } function I1(t) { return cc(ct(ot(sa, 1), te, 8, 0, [t.i.n, t.n, t.a])) } function Zen() { return j1(), ct(ot(xl, 1), se, 132, 0, [l7t, Zl, Sy]) } function Jen() { return t1(), ct(ot(Ay, 1), se, 232, 0, [wc, uu, mc]) } function tnn() { return ol(), ct(ot(oge, 1), se, 461, 0, [Od, l2, _f]) } function enn() { return Lu(), ct(ot(uge, 1), se, 462, 0, [o1, h2, Cf]) } function nnn() { return Zv(), ct(ot(c9t, 1), se, 423, 0, [$4, o9t, zut]) } function rnn() { return O_(), ct(ot(i9t, 1), se, 379, 0, [Put, Nut, Fut]) } function inn() { return H_(), ct(ot(o_t, 1), se, 378, 0, [Ylt, a_t, tG]) } function snn() { return K6(), ct(ot(iEt, 1), se, 314, 0, [Cx, vO, rEt]) } function ann() { return z$(), ct(ot(aEt, 1), se, 337, 0, [sEt, TV, alt]) } function onn() { return ob(), ct(ot(E2e, 1), se, 450, 0, [ult, u9, V4]) } function cnn() { return Xv(), ct(ot(Xut, 1), se, 361, 0, [_w, d2, Tw]) } function unn() { return F0(), ct(ot(D2e, 1), se, 303, 0, [mO, U4, Sx]) } function lnn() { return W8(), ct(ot(mlt, 1), se, 292, 0, [vlt, wlt, wO]) } function hnn() { return yo(), ct(ot(nwe, 1), se, 452, 0, [TS, ll, lu]) } function fnn() { return R0(), ct(ot(b_t, 1), se, 339, 0, [b2, p_t, tht]) } function dnn() { return tz(), ct(ot(y_t, 1), se, 375, 0, [w_t, rht, m_t]) } function gnn() { return sz(), ct(ot(S_t, 1), se, 377, 0, [oht, x9, Hy]) } function pnn() { return t7(), ct(ot(E_t, 1), se, 336, 0, [sht, k_t, _S]) } function bnn() { return Z$(), ct(ot(C_t, 1), se, 338, 0, [__t, aht, T_t]) } function vnn() { return Yv(), ct(ot(ywe, 1), se, 454, 0, [IO, CS, iG]) } function wnn() { return bz(), ct(ot(Sme, 1), se, 442, 0, [kht, yht, xht]) } function mnn() { return BD(), ct(ot(Q_t, 1), se, 380, 0, [bG, Y_t, X_t]) } function ynn() { return pz(), ct(ot(pCt, 1), se, 381, 0, [gCt, Aht, dCt]) } function xnn() { return J$(), ct(ot(hCt, 1), se, 293, 0, [Sht, lCt, uCt]) } function knn() { return HD(), ct(ot(Lht, 1), se, 437, 0, [mG, yG, xG]) } function Enn() { return j0(), ct(ot(iAt, 1), se, 334, 0, [NG, Qg, HS]) } function Tnn() { return F1(), ct(ot(USt, 1), se, 272, 0, [C9, Wy, S9]) } function _nn(t, e) { return Ugn(t, e, Et(e, 99) && (u(e, 18).Bb & oo) != 0) } function Cnn(t, e, n) { var r; return r = vC(t, e, !1), r.b <= e && r.a <= n } function KXt(t, e, n) { var r; r = new dQ, r.b = e, r.a = n, ++e.b, ue(t.d, r) } function Snn(t, e) { var n; return n = (Pn(t), t).g, pbt(!!n), Pn(e), n(e) } function xwt(t, e) { var n, r; return r = v8(t, e), n = t.a.Zc(r), new uHt(t, n) } function Ann(t) { return t.Db >> 16 != 6 ? null : u(Ist(t), 235) } function Lnn(t) { if (t.p != 2) throw et(new qu); return $r(t.f) & Ns } function Mnn(t) { if (t.p != 2) throw et(new qu); return $r(t.k) & Ns } function Dnn(t) { return t.a == (L8(), ZG) && gtt(t, cpn(t.g, t.b)), t.a } function z6(t) { return t.d == (L8(), ZG) && vT(t, evn(t.g, t.b)), t.d } function Q(t) { return ir(t.a < t.c.c.length), t.b = t.a++, t.c.c[t.b] } function Inn(t, e) { t.b = t.b | e.b, t.c = t.c | e.c, t.d = t.d | e.d, t.a = t.a | e.a } function Xs(t, e) { return Wp(CJe(Xo(t) ? Ph(t) : t, Xo(e) ? Ph(e) : e)) } function O1(t, e) { return Wp(SJe(Xo(t) ? Ph(t) : t, Xo(e) ? Ph(e) : e)) } function crt(t, e) { return Wp(AJe(Xo(t) ? Ph(t) : t, Xo(e) ? Ph(e) : e)) } function Onn(t) { return Wa(L0(Ou(wl(t, 32)), 32), Ou(wl(t, 32))) } function zv(t) { return zr(t), Et(t, 14) ? new Uu(u(t, 14)) : d8(t.Kc()) } function Nnn(t, e) { return N_(), t.c == e.c ? Vs(e.d, t.d) : Vs(t.c, e.c) } function Pnn(t, e) { return N_(), t.c == e.c ? Vs(t.d, e.d) : Vs(t.c, e.c) } function Fnn(t, e) { return N_(), t.c == e.c ? Vs(t.d, e.d) : Vs(e.c, t.c) } function Bnn(t, e) { return N_(), t.c == e.c ? Vs(e.d, t.d) : Vs(e.c, t.c) } function Rnn(t, e) { var n; n = Xt(xe(t.a.We((Ti(), OG)))), Fle(t, e, n) } function jnn(t, e) { var n; n = u(or(t.g, e), 57), Mu(e.d, new ZHt(t, n)) } function $nn(t, e) { var n, r; return n = Nie(t), r = Nie(e), n < r ? -1 : n > r ? 1 : 0 } function YXt(t, e) { var n, r; return n = Irt(e), r = n, u(or(t.c, r), 19).a } function XXt(t, e) { var n; for (n = t + ""; n.length < e;)n = "0" + n; return n } function o$(t) { return t.c == null || t.c.length == 0 ? "n_" + t.g : "n_" + t.c } function kwt(t) { return t.c == null || t.c.length == 0 ? "n_" + t.b : "n_" + t.c } function Ewt(t, e) { return t && t.equals ? t.equals(e) : qt(t) === qt(e) } function Twt(t, e) { return e == 0 ? !!t.o && t.o.f != 0 : Hit(t, e) } function vf(t, e, n) { var r; t.n && e && n && (r = new MZ, ue(t.e, r)) } function urt(t, e, n) { var r; r = t.d[e.p], t.d[e.p] = t.d[n.p], t.d[n.p] = r } function QXt(t, e, n) { this.d = t, this.j = e, this.e = n, this.o = -1, this.p = 3 } function ZXt(t, e, n) { this.d = t, this.k = e, this.f = n, this.o = -1, this.p = 5 } function JXt(t, e, n) { gv.call(this, 25), this.b = t, this.a = e, this.c = n } function ql(t) { Ai(), gv.call(this, t), this.c = !1, this.a = !1 } function tQt(t, e, n, r, s, o) { xmt.call(this, t, e, n, r, s), o && (this.o = -2) } function eQt(t, e, n, r, s, o) { kmt.call(this, t, e, n, r, s), o && (this.o = -2) } function nQt(t, e, n, r, s, o) { Uwt.call(this, t, e, n, r, s), o && (this.o = -2) } function rQt(t, e, n, r, s, o) { _mt.call(this, t, e, n, r, s), o && (this.o = -2) } function iQt(t, e, n, r, s, o) { Wwt.call(this, t, e, n, r, s), o && (this.o = -2) } function sQt(t, e, n, r, s, o) { Emt.call(this, t, e, n, r, s), o && (this.o = -2) } function aQt(t, e, n, r, s, o) { Tmt.call(this, t, e, n, r, s), o && (this.o = -2) } function oQt(t, e, n, r, s, o) { Kwt.call(this, t, e, n, r, s), o && (this.o = -2) } function cQt(t, e, n, r) { ZB.call(this, n), this.b = t, this.c = e, this.d = r } function _wt(t, e) { this.a = new le, this.d = new le, this.f = t, this.c = e } function uQt() { this.c = new PGt, this.a = new eXt, this.b = new dzt, CHt() } function lQt() { X6(), this.b = new Rr, this.a = new Rr, this.c = new le } function hQt(t, e) { this.g = t, this.d = (L8(), ZG), this.a = ZG, this.b = e } function fQt(t, e) { this.f = t, this.a = (L8(), QG), this.c = QG, this.b = e } function Cwt(t, e) { !t.c && (t.c = new ws(t, 0)), dq(t.c, (Vi(), eA), e) } function c$() { c$ = J, mht = new k2t("DFS", 0), V_t = new k2t("BFS", 1) } function znn(t, e, n) { var r; return r = u(t.Zb().xc(e), 14), !!r && r.Hc(n) } function dQt(t, e, n) { var r; return r = u(t.Zb().xc(e), 14), !!r && r.Mc(n) } function gQt(t, e, n, r) { return t.a += "" + $l(e == null ? Pu : Jo(e), n, r), t } function bc(t, e, n, r, s, o) { return See(t, e, n, o), Myt(t, r), Dyt(t, s), t } function lrt(t) { return ir(t.b.b != t.d.a), t.c = t.b = t.b.b, --t.a, t.c.c } function S_(t) { for (; t.d > 0 && t.a[--t.d] == 0;); t.a[t.d++] == 0 && (t.e = 0) } function pQt(t) { return t.a ? t.e.length == 0 ? t.a.a : t.a.a + ("" + t.e) : t.c } function qnn(t) { return !!t.a && pl(t.a.a).i != 0 && !(t.b && Xit(t.b)) } function Hnn(t) { return !!t.u && $c(t.u.a).i != 0 && !(t.n && Yit(t.n)) } function bQt(t) { return gnt(t.e.Hd().gc() * t.c.Hd().gc(), 16, new a6(t)) } function Vnn(t, e) { return UKt(Ou(t.q.getTime()), Ou(e.q.getTime())) } function yd(t) { return u($1(t, Ot(qut, Tot, 17, t.c.length, 0, 1)), 474) } function iD(t) { return u($1(t, Ot(l0, $g, 10, t.c.length, 0, 1)), 193) } function Gnn(t) { return zl(), !ro(t) && !(!ro(t) && t.c.i.c == t.d.i.c) } function vQt(t, e, n) { var r; r = (zr(t), new Uu(t)), xhn(new MXt(r, e, n)) } function sD(t, e, n) { var r; r = (zr(t), new Uu(t)), khn(new DXt(r, e, n)) } function wQt(t, e) { var n; return n = 1 - e, t.a[n] = W$(t.a[n], n), W$(t, e) } function mQt(t, e) { var n; t.e = new _pt, n = fy(e), ua(n, t.c), fce(t, n, 0) } function ya(t, e, n, r) { var s; s = new RF, s.a = e, s.b = n, s.c = r, pi(t.a, s) } function ke(t, e, n, r) { var s; s = new RF, s.a = e, s.b = n, s.c = r, pi(t.b, s) } function wf(t) { var e, n, r; return e = new JKt, n = Qst(e, t), Myn(e), r = n, r } function Swt() { var t, e, n; return e = (n = (t = new pv, t), n), ue(HAt, e), e } function u$(t) { return t.j.c = Ot(nr, De, 1, 0, 5, 1), iwt(t.c), _tn(t.a), t } function Z3(t) { return FT(), Et(t.g, 10) ? u(t.g, 10) : null } function Unn(t) { return Y3(t).dc() ? !1 : (GKe(t, new ht), !0) } function Wnn(t) { if (!("stack" in t)) try { throw t } catch { } return t } function aD(t, e) { if (t < 0 || t >= e) throw et(new Oo(a0n(t, e))); return t } function yQt(t, e, n) { if (t < 0 || e < t || e > n) throw et(new Oo(Ddn(t, e, n))) } function hrt(t, e) { if (Ys(t.a, e), e.d) throw et(new ic(Che)); e.d = t } function frt(t, e) { if (e.$modCount != t.$modCount) throw et(new uh) } function xQt(t, e) { return Et(e, 42) ? est(t.a, u(e, 42)) : !1 } function kQt(t, e) { return Et(e, 42) ? est(t.a, u(e, 42)) : !1 } function EQt(t, e) { return Et(e, 42) ? est(t.a, u(e, 42)) : !1 } function Knn(t, e) { return t.a <= t.b ? (e.ud(t.a++), !0) : !1 } function qv(t) { var e; return Xo(t) ? (e = t, e == -0 ? 0 : e) : rsn(t) } function l$(t) { var e; return qp(t), e = new Te, B3(t.a, new fn(e)), e } function TQt(t) { var e; return qp(t), e = new rr, B3(t.a, new ve(e)), e } function Ca(t, e) { this.a = t, h6.call(this, t), Vm(e, t.gc()), this.b = e } function Awt(t) { this.e = t, this.b = this.e.a.entries(), this.a = new Array } function Ynn(t) { return gnt(t.e.Hd().gc() * t.c.Hd().gc(), 273, new PB(t)) } function h$(t) { return new iu((Gl(t, _at), O$(Wa(Wa(5, t), t / 10 | 0)))) } function _Qt(t) { return u($1(t, Ot(Gpe, rfe, 11, t.c.length, 0, 1)), 1943) } function Xnn(t, e, n) { return n.f.c.length > 0 ? Gvt(t.a, e, n) : Gvt(t.b, e, n) } function Qnn(t, e, n) { t.d && Au(t.d.e, t), t.d = e, t.d && Rm(t.d.e, n, t) } function drt(t, e) { V3n(e, t), lvt(t.d), lvt(u(K(t, (Ce(), WV)), 207)) } function A_(t, e) { H3n(e, t), uvt(t.d), uvt(u(K(t, (Ce(), WV)), 207)) } function Hv(t, e) { var n, r; return n = D0(t, e), r = null, n && (r = n.fe()), r } function C8(t, e) { var n, r; return n = Km(t, e), r = null, n && (r = n.ie()), r } function L_(t, e) { var n, r; return n = D0(t, e), r = null, n && (r = n.ie()), r } function I0(t, e) { var n, r; return n = D0(t, e), r = null, n && (r = m4t(n)), r } function Znn(t, e, n) { var r; return r = o7(n), cq(t.g, r, e), cq(t.i, e, n), e } function Jnn(t, e, n) { var r; r = Sun(); try { return iXe(t, e, n) } finally { lrn(r) } } function CQt(t) { var e; e = t.Wg(), this.a = Et(e, 69) ? u(e, 69).Zh() : e.Kc() } function ra() { $zt.call(this), this.j.c = Ot(nr, De, 1, 0, 5, 1), this.a = -1 } function Lwt(t, e, n, r) { this.d = t, this.n = e, this.g = n, this.o = r, this.p = -1 } function SQt(t, e, n, r) { this.e = r, this.d = null, this.c = t, this.a = e, this.b = n } function Mwt(t, e, n) { this.d = new XB(this), this.e = t, this.i = e, this.f = n } function f$() { f$ = J, ylt = new d2t(N7, 0), _Et = new d2t("TOP_LEFT", 1) } function AQt() { AQt = J, L_t = EYt(pe(1), pe(4)), A_t = EYt(pe(1), pe(2)) } function LQt() { LQt = J, vye = ii((kR(), ct(ot(bye, 1), se, 551, 0, [Dht]))) } function MQt() { MQt = J, pye = ii((xR(), ct(ot(ACt, 1), se, 482, 0, [Mht]))) } function DQt() { DQt = J, Pye = ii((BT(), ct(ot(YCt, 1), se, 530, 0, [RO]))) } function IQt() { IQt = J, zge = ii((mR(), ct(ot(B7t, 1), se, 481, 0, [Cut]))) } function trn() { return Qv(), ct(ot(Nge, 1), se, 406, 0, [sO, iO, Tut, _ut]) } function ern() { return C$(), ct(ot(jH, 1), se, 297, 0, [but, a7t, o7t, c7t]) } function nrn() { return J_(), ct(ot(jge, 1), se, 394, 0, [lO, VH, GH, hO]) } function rrn() { return ex(), ct(ot(Fge, 1), se, 323, 0, [oO, aO, cO, uO]) } function irn() { return K8(), ct(ot(Ope, 1), se, 405, 0, [Ew, My, Ly, j4]) } function srn() { return iz(), ct(ot(Zpe, 1), se, 360, 0, [Kut, vV, wV, bO]) } function OQt(t, e, n, r) { return Et(n, 54) ? new mUt(t, e, n, r) : new Nvt(t, e, n, r) } function arn() { return R1(), ct(ot(o2e, 1), se, 411, 0, [_x, i9, s9, Yut]) } function orn(t) { var e; return t.j == (we(), Lr) && (e = eoe(t), Gu(e, Wn)) } function crn(t, e) { var n; n = e.a, Ua(n, e.c.d), ma(n, e.d.d), Qm(n.a, t.n) } function NQt(t, e) { return u(Mv(Oj(u(ji(t.k, e), 15).Oc(), z4)), 113) } function PQt(t, e) { return u(Mv(Nj(u(ji(t.k, e), 15).Oc(), z4)), 113) } function urn(t) { return new Cn(aan(u(t.a.dd(), 14).gc(), t.a.cd()), 16) } function S8(t) { return Et(t, 14) ? u(t, 14).dc() : !t.Kc().Ob() } function q6(t) { return FT(), Et(t.g, 145) ? u(t.g, 145) : null } function FQt(t) { if (t.e.g != t.b) throw et(new uh); return !!t.c && t.d > 0 } function di(t) { return ir(t.b != t.d.c), t.c = t.b, t.b = t.b.a, ++t.a, t.c.c } function Dwt(t, e) { Pn(e), ds(t.a, t.c, e), t.c = t.c + 1 & t.a.length - 1, Bie(t) } function Vp(t, e) { Pn(e), t.b = t.b - 1 & t.a.length - 1, ds(t.a, t.b, e), Bie(t) } function BQt(t, e) { var n; for (n = t.j.c.length; n < e; n++)ue(t.j, t.rg()) } function RQt(t, e, n, r) { var s; return s = r[e.g][n.g], Xt(xe(K(t.a, s))) } function Iwt(t, e, n, r, s) { this.i = t, this.a = e, this.e = n, this.j = r, this.f = s } function jQt(t, e, n, r, s) { this.a = t, this.e = e, this.f = n, this.b = r, this.g = s } function lrn(t) { t && asn((Lpt(), M8t)), --IH, t && OH != -1 && (KWe(OH), OH = -1) } function hrn() { return ry(), ct(ot(Qlt, 1), se, 197, 0, [eG, Xlt, t5, J4]) } function frn() { return u7(), ct(ot(I_t, 1), se, 393, 0, [cG, LS, NO, MS]) } function drn() { return Pz(), ct(ot(cCt, 1), se, 340, 0, [Cht, aCt, oCt, sCt]) } function grn() { return Fl(), ct(ot(KS, 1), se, 374, 0, [eN, Hb, tN, Ky]) } function prn() { return Wl(), ct(ot(w3e, 1), se, 285, 0, [QO, f0, y2, XO]) } function brn() { return z0(), ct(ot(rft, 1), se, 218, 0, [nft, YO, A9, qx]) } function vrn() { return mz(), ct(ot(dAt, 1), se, 311, 0, [aft, lAt, fAt, hAt]) } function wrn() { return Pl(), ct(ot(O3e, 1), se, 396, 0, [rh, pAt, gAt, bAt]) } function mrn(t) { return s$(), Il(hft, t) ? u(or(hft, t), 331).ug() : null } function dh(t, e, n) { return e < 0 ? Lst(t, n) : u(n, 66).Nj().Sj(t, t.yh(), e) } function yrn(t, e, n) { var r; return r = o7(n), cq(t.d, r, e), Pi(t.e, e, n), e } function xrn(t, e, n) { var r; return r = o7(n), cq(t.j, r, e), Pi(t.k, e, n), e } function $Qt(t) { var e, n; return e = (xv(), n = new uv, n), t && Rst(e, t), e } function Owt(t) { var e; return e = t.ri(t.i), t.i > 0 && qc(t.g, 0, e, 0, t.i), e } function zQt(t, e) { _R(); var n; return n = u(or(WG, t), 55), !n || n.wj(e) } function krn(t) { if (t.p != 1) throw et(new qu); return $r(t.f) << 24 >> 24 } function Ern(t) { if (t.p != 1) throw et(new qu); return $r(t.k) << 24 >> 24 } function Trn(t) { if (t.p != 7) throw et(new qu); return $r(t.k) << 16 >> 16 } function _rn(t) { if (t.p != 7) throw et(new qu); return $r(t.f) << 16 >> 16 } function O0(t) { var e; for (e = 0; t.Ob();)t.Pb(), e = Wa(e, 1); return O$(e) } function qQt(t, e) { var n; return n = new Sm, t.xd(n), n.a += "..", e.yd(n), n.a } function Crn(t, e, n) { var r; r = u(or(t.g, n), 57), ue(t.a.c, new _a(e, r)) } function Srn(t, e, n) { return Ent(xe(gc(qo(t.f, e))), xe(gc(qo(t.f, n)))) } function d$(t, e, n) { return lq(t, e, n, Et(e, 99) && (u(e, 18).Bb & oo) != 0) } function Arn(t, e, n) { return E7(t, e, n, Et(e, 99) && (u(e, 18).Bb & oo) != 0) } function Lrn(t, e, n) { return Zgn(t, e, n, Et(e, 99) && (u(e, 18).Bb & oo) != 0) } function Nwt(t, e) { return t == (Kn(), Ws) && e == Ws ? 4 : t == Ws || e == Ws ? 8 : 32 } function HQt(t, e) { return qt(e) === qt(t) ? "(this Map)" : e == null ? Pu : Jo(e) } function Mrn(t, e) { return u(e == null ? gc(qo(t.f, null)) : $T(t.g, e), 281) } function VQt(t, e, n) { var r; return r = o7(n), Pi(t.b, r, e), Pi(t.c, e, n), e } function GQt(t, e) { var n; for (n = e; n;)Nm(t, n.i, n.j), n = gs(n); return t } function Pwt(t, e) { var n; return n = ZM(d8(new Ort(t, e))), Tj(new Ort(t, e)), n } function Zd(t, e) { go(); var n; return n = u(t, 66).Mj(), ldn(n, e), n.Ok(e) } function Drn(t, e, n, r, s) { var o; o = rpn(s, n, r), ue(e, e0n(s, o)), U1n(t, s, e) } function UQt(t, e, n) { t.i = 0, t.e = 0, e != n && (vne(t, e, n), bne(t, e, n)) } function Fwt(t, e) { var n; n = t.q.getHours(), t.q.setFullYear(e + i2), gC(t, n) } function Irn(t, e, n) { if (n) { var r = n.ee(); t.a[e] = r(n) } else delete t.a[e] } function grt(t, e, n) { if (n) { var r = n.ee(); n = r(n) } else n = void 0; t.a[e] = n } function WQt(t) { if (t < 0) throw et(new Zzt("Negative array size: " + t)) } function $c(t) { return t.n || (gl(t), t.n = new CKt(t, Co, t), zo(t)), t.n } function M_(t) { return ir(t.a < t.c.a.length), t.b = t.a, tte(t), t.c.b[t.b] } function Bwt(t) { t.b != t.c && (t.a = Ot(nr, De, 1, 8, 5, 1), t.b = 0, t.c = 0) } function KQt(t) { this.b = new Rr, this.c = new Rr, this.d = new Rr, this.a = t } function Gm(t, e) { Ai(), gv.call(this, t), this.a = e, this.c = -1, this.b = -1 } function Um(t, e, n, r) { QXt.call(this, 1, n, r), this.c = t, this.b = e } function prt(t, e, n, r) { ZXt.call(this, 1, n, r), this.c = t, this.b = e } function brt(t, e, n, r, s, o, h) { Hrt.call(this, e, r, s, o, h), this.c = t, this.a = n } function J2(t, e, n) { this.e = t, this.a = nr, this.b = Ice(e), this.c = e, this.d = n } function vrt(t) { this.e = t, this.c = this.e.a, this.b = this.e.g, this.d = this.e.i } function YQt(t) { this.c = t, this.a = u(Bh(t), 148), this.b = this.a.Aj().Nh() } function Rwt(t) { this.d = t, this.b = this.d.a.entries(), this.a = this.b.next() } function tb() { Rr.call(this), pUt(this), this.d.b = this.d, this.d.a = this.d } function XQt(t, e) { Nbt.call(this), this.a = t, this.b = e, ue(this.a.b, this) } function Orn(t, e) { var n; return n = e != null ? Uc(t, e) : gc(qo(t.f, e)), WR(n) } function Nrn(t, e) { var n; return n = e != null ? Uc(t, e) : gc(qo(t.f, e)), WR(n) } function QQt(t, e) { var n; for (n = 0; n < e; ++n)ds(t, n, new $(u(t[n], 42))) } function Prn(t, e) { var n; for (n = t.d - 1; n >= 0 && t.a[n] === e[n]; n--); return n < 0 } function ZQt(t, e) { J8(); var n; return n = t.j.g - e.j.g, n != 0 ? n : 0 } function JQt(t, e) { return Pn(e), t.a != null ? vJe(e.Kb(t.a)) : RH } function g$(t) { var e; return t ? new yvt(t) : (e = new S0, Zrt(e, t), e) } function Hl(t, e) { var n; return e.b.Kb(GJt(t, e.c.Ee(), (n = new Nn(e), n))) } function p$(t) { r4t(), HGt(this, $r(Xs(Rp(t, 24), Cq)), $r(Xs(t, Cq))) } function tZt() { tZt = J, ege = ii((_z(), ct(ot(g7t, 1), se, 428, 0, [mut, d7t]))) } function eZt() { eZt = J, nge = ii((D$(), ct(ot(b7t, 1), se, 427, 0, [p7t, yut]))) } function nZt() { nZt = J, ipe = ii((I$(), ct(ot(V7t, 1), se, 424, 0, [Dut, KH]))) } function rZt() { rZt = J, Ype = ii((q8(), ct(ot(Kpe, 1), se, 511, 0, [gO, Vut]))) } function iZt() { iZt = J, k2e = ii((ED(), ct(ot(lEt, 1), se, 419, 0, [_V, uEt]))) } function sZt() { sZt = J, C2e = ii((pD(), ct(ot(dEt, 1), se, 479, 0, [fEt, SV]))) } function aZt() { aZt = J, swe = ii((uD(), ct(ot(x_t, 1), se, 376, 0, [iht, DO]))) } function oZt() { oZt = J, ewe = ii((mD(), ct(ot(v_t, 1), se, 421, 0, [eht, nht]))) } function cZt() { cZt = J, w2e = ii((E$(), ct(ot(nEt, 1), se, 422, 0, [eEt, slt]))) } function uZt() { uZt = J, O2e = ii((f$(), ct(ot(CEt, 1), se, 420, 0, [ylt, _Et]))) } function lZt() { lZt = J, Xwe = ii((Qf(), ct(ot(Ywe, 1), se, 520, 0, [Vy, v2]))) } function hZt() { hZt = J, Cwe = ii((D_(), ct(ot(_we, 1), se, 523, 0, [AS, SS]))) } function fZt() { fZt = J, Owe = ii((md(), ct(ot(Iwe, 1), se, 516, 0, [Pw, Wg]))) } function dZt() { dZt = J, Pwe = ii((D1(), ct(ot(Nwe, 1), se, 515, 0, [Bb, Y1]))) } function gZt() { gZt = J, rme = ii((jv(), ct(ot(nme, 1), se, 455, 0, [w2, e5]))) } function pZt() { pZt = J, xme = ii((c$(), ct(ot(G_t, 1), se, 425, 0, [mht, V_t]))) } function bZt() { bZt = J, Cme = ii((Y$(), ct(ot(U_t, 1), se, 495, 0, [pG, E9]))) } function vZt() { vZt = J, yme = ii((i$(), ct(ot(H_t, 1), se, 480, 0, [wht, q_t]))) } function wZt() { wZt = J, Lme = ii((_$(), ct(ot(K_t, 1), se, 426, 0, [W_t, Eht]))) } function mZt() { mZt = J, Fye = ii((OD(), ct(ot(QCt, 1), se, 429, 0, [TG, XCt]))) } function yZt() { yZt = J, wye = ii((lD(), ct(ot(LCt, 1), se, 430, 0, [Iht, kG]))) } function D_() { D_ = J, AS = new b2t("UPPER", 0), SS = new b2t("LOWER", 1) } function Frn(t, e) { var n; n = new w6, Q2(n, "x", e.a), Q2(n, "y", e.b), F6(t, n) } function Brn(t, e) { var n; n = new w6, Q2(n, "x", e.a), Q2(n, "y", e.b), F6(t, n) } function Rrn(t, e) { var n, r; r = !1; do n = cne(t, e), r = r | n; while (n); return r } function jwt(t, e) { var n, r; for (n = e, r = 0; n > 0;)r += t.a[n], n -= n & -n; return r } function xZt(t, e) { var n; for (n = e; n;)Nm(t, -n.i, -n.j), n = gs(n); return t } function Oa(t, e) { var n, r; for (Pn(e), r = t.Kc(); r.Ob();)n = r.Pb(), e.td(n) } function kZt(t, e) { var n; return n = e.cd(), new Ev(n, t.e.pc(n, u(e.dd(), 14))) } function Cs(t, e, n, r) { var s; s = new Wt, s.c = e, s.b = n, s.a = r, r.b = n.a = s, ++t.b } function gh(t, e, n) { var r; return r = (An(e, t.c.length), t.c[e]), t.c[e] = n, r } function jrn(t, e, n) { return u(e == null ? du(t.f, null, n) : Jv(t.g, e, n), 281) } function wrt(t) { return t.c && t.d ? kwt(t.c) + "->" + kwt(t.d) : "e_" + Av(t) } function A8(t, e) { return (hb(t), OT(new kn(t, new umt(e, t.a)))).sd(J7) } function $rn() { return so(), ct(ot(s9t, 1), se, 356, 0, [Nd, f2, pu, Zc, Go]) } function zrn() { return we(), ct(ot(co, 1), Nc, 61, 0, [fc, Fn, Wn, Lr, jn]) } function qrn(t) { return cR(), function () { return Jnn(t, this, arguments) } } function Hrn() { return Date.now ? Date.now() : new Date().getTime() } function ro(t) { return !t.c || !t.d ? !1 : !!t.c.i && t.c.i == t.d.i } function EZt(t) { if (!t.c.Sb()) throw et(new _c); return t.a = !0, t.c.Ub() } function oD(t) { t.i = 0, mM(t.b, null), mM(t.c, null), t.a = null, t.e = null, ++t.g } function $wt(t) { XWe.call(this, t == null ? Pu : Jo(t), Et(t, 78) ? u(t, 78) : null) } function TZt(t) { Yle(), K$t(this), this.a = new hs, dyt(this, t), pi(this.a, t) } function _Zt() { Bet(this), this.b = new je(ms, ms), this.a = new je(Rs, Rs) } function CZt(t, e) { this.c = 0, this.b = e, tGt.call(this, t, 17493), this.a = this.c } function mrt(t) { b$(), !U1 && (this.c = t, this.e = !0, this.a = new le) } function b$() { b$ = J, U1 = !0, G0e = !1, U0e = !1, K0e = !1, W0e = !1 } function zwt(t, e) { return Et(e, 149) ? ln(t.c, u(e, 149).c) : !1 } function qwt(t, e) { var n; return n = 0, t && (n += t.f.a / 2), e && (n += e.f.a / 2), n } function yrt(t, e) { var n; return n = u(Vv(t.d, e), 23), n || u(Vv(t.e, e), 23) } function SZt(t) { this.b = t, lr.call(this, t), this.a = u(Dn(this.b.a, 4), 126) } function AZt(t) { this.b = t, L6.call(this, t), this.a = u(Dn(this.b.a, 4), 126) } function gl(t) { return t.t || (t.t = new R$t(t), W_(new Qzt(t), 0, t.t)), t.t } function Vrn() { return xo(), ct(ot(zS, 1), se, 103, 0, [h0, Af, Wh, X0, Q0]) } function Grn() { return c4(), ct(ot(GS, 1), se, 249, 0, [x2, ZO, sAt, VS, aAt]) } function Urn() { return n1(), ct(ot(Xg, 1), se, 175, 0, [Un, fa, Bd, Rb, Yg]) } function Wrn() { return rI(), ct(ot(OCt, 1), se, 316, 0, [MCt, Oht, ICt, Nht, DCt]) } function Krn() { return tC(), ct(ot(u_t, 1), se, 315, 0, [c_t, Zlt, Jlt, kS, ES]) } function Yrn() { return pb(), ct(ot(cEt, 1), se, 335, 0, [olt, oEt, clt, uS, cS]) } function Xrn() { return y7(), ct(ot(fye, 1), se, 355, 0, [n5, Bx, FS, PS, BS]) } function Qrn() { return g4(), ct(ot(u2e, 1), se, 363, 0, [yV, kV, EV, xV, mV]) } function Zrn() { return mh(), ct(ot(jEt, 1), se, 163, 0, [TO, gS, g2, pS, Ny]) } function L8() { L8 = J; var t, e; QG = (t8(), e = new eR, e), ZG = (t = new Ntt, t) } function LZt(t) { var e; return t.c || (e = t.r, Et(e, 88) && (t.c = u(e, 26))), t.c } function Jrn(t) { return t.e = 3, t.d = t.Yb(), t.e != 2 ? (t.e = 0, !0) : !1 } function xrt(t) { var e, n, r; return e = t & yl, n = t >> 22 & yl, r = t < 0 ? U0 : 0, hu(e, n, r) } function tin(t) { var e, n, r, s; for (n = t, r = 0, s = n.length; r < s; ++r)e = n[r], E_(e) } function ein(t, e) { var n, r; n = u(Qon(t.c, e), 14), n && (r = n.gc(), n.$b(), t.d -= r) } function MZt(t, e) { var n, r; return n = e.cd(), r = fyt(t, n), !!r && Gc(r.e, e.dd()) } function H6(t, e) { return e == 0 || t.e == 0 ? t : e > 0 ? Sre(t, e) : Yoe(t, -e) } function Hwt(t, e) { return e == 0 || t.e == 0 ? t : e > 0 ? Yoe(t, e) : Sre(t, -e) } function qr(t) { if (Zr(t)) return t.c = t.a, t.a.Pb(); throw et(new _c) } function DZt(t) { var e, n; return e = t.c.i, n = t.d.i, e.k == (Kn(), Fs) && n.k == Fs } function krt(t) { var e; return e = new Rv, Ho(e, t), Jt(e, (Ce(), $o), null), e } function Ert(t, e, n) { var r; return r = t.Yg(e), r >= 0 ? t._g(r, n, !0) : ow(t, e, n) } function Vwt(t, e, n, r) { var s; for (s = 0; s < kut; s++)Dj(t.a[e.g][s], n, r[e.g]) } function Gwt(t, e, n, r) { var s; for (s = 0; s < qH; s++)Mj(t.a[s][e.g], n, r[e.g]) } function Uwt(t, e, n, r, s) { QXt.call(this, e, r, s), this.c = t, this.a = n } function Wwt(t, e, n, r, s) { ZXt.call(this, e, r, s), this.c = t, this.a = n } function Kwt(t, e, n, r, s) { OZt.call(this, e, r, s), this.c = t, this.a = n } function mf(t, e, n, r, s) { OZt.call(this, e, r, s), this.c = t, this.b = n } function IZt(t, e, n) { ZB.call(this, n), this.b = t, this.c = e, this.d = (Nit(), bft) } function OZt(t, e, n) { this.d = t, this.k = e ? 1 : 0, this.f = n ? 1 : 0, this.o = -1, this.p = 0 } function NZt(t, e, n) { var r; r = new G2t(t.a), j_(r, t.a.a), du(r.f, e, n), t.a.a = r } function cD(t, e) { t.qi(t.i + 1), a_(t, t.i, t.oi(t.i, e)), t.bi(t.i++, e), t.ci() } function I_(t) { var e, n; ++t.j, e = t.g, n = t.i, t.g = null, t.i = 0, t.di(n, e), t.ci() } function N1(t) { var e, n; return zr(t), e = xtn(t.length), n = new iu(e), ayt(n, t), n } function V6(t) { var e; return e = (zr(t), t ? new Uu(t) : d8(t.Kc())), _st(e), hz(e) } function Sg(t, e) { var n; return n = (An(e, t.c.length), t.c[e]), Vpt(t.c, e, 1), n } function ji(t, e) { var n; return n = u(t.c.xc(e), 14), !n && (n = t.ic(e)), t.pc(e, n) } function Ywt(t, e) { var n, r; return n = (Pn(t), t), r = (Pn(e), e), n == r ? 0 : n < r ? -1 : 1 } function PZt(t) { var e; return e = t.e + t.f, isNaN(e) && gj(t.d) ? t.d : e } function N0(t, e) { return t.a ? ni(t.a, t.b) : t.a = new jl(t.d), n_(t.a, e), t } function Xwt(t, e) { if (t < 0 || t > e) throw et(new Oo(C4t(t, e, "index"))); return t } function Trt(t, e, n, r) { var s; return s = Ot(Br, oi, 25, e, 15, 1), d1n(s, t, e, n, r), s } function nin(t, e) { var n; n = t.q.getHours() + (e / 60 | 0), t.q.setMinutes(e), gC(t, n) } function rin(t, e) { return b.Math.min(Gp(e.a, t.d.d.c), Gp(e.b, t.d.d.c)) } function G6(t, e) { return pa(e) ? e == null ? H4t(t.f, null) : Vee(t.g, e) : H4t(t.f, e) } function P1(t) { this.c = t, this.a = new S(this.c.a), this.b = new S(this.c.b) } function v$() { this.e = new le, this.c = new le, this.d = new le, this.b = new le } function FZt() { this.g = new cpt, this.b = new cpt, this.a = new le, this.k = new le } function BZt(t, e, n) { this.a = t, this.c = e, this.d = n, ue(e.e, this), ue(n.b, this) } function RZt(t, e) { JVt.call(this, e.rd(), e.qd() & -6), Pn(t), this.a = t, this.b = e } function jZt(t, e) { tGt.call(this, e.rd(), e.qd() & -6), Pn(t), this.a = t, this.b = e } function Qwt(t, e) { Iet.call(this, e.rd(), e.qd() & -6), Pn(t), this.a = t, this.b = e } function w$(t, e, n) { this.a = t, this.b = e, this.c = n, ue(t.t, this), ue(e.i, this) } function m$() { this.b = new hs, this.a = new hs, this.b = new hs, this.a = new hs } function y$() { y$ = J, RS = new rs("org.eclipse.elk.labels.labelManager") } function $Zt() { $Zt = J, X9t = new Ks("separateLayerConnections", (iz(), Kut)) } function Qf() { Qf = J, Vy = new m2t("REGULAR", 0), v2 = new m2t("CRITICAL", 1) } function uD() { uD = J, iht = new p2t("STACKED", 0), DO = new p2t("SEQUENCED", 1) } function lD() { lD = J, Iht = new _2t("FIXED", 0), kG = new _2t("CENTER_NODE", 1) } function iin(t, e) { var n; return n = cyn(t, e), t.b = new K$(n.c.length), ymn(t, n) } function sin(t, e, n) { var r; return ++t.e, --t.f, r = u(t.d[e].$c(n), 133), r.dd() } function zZt(t) { var e; return t.a || (e = t.r, Et(e, 148) && (t.a = u(e, 148))), t.a } function Zwt(t) { if (t.a) { if (t.e) return Zwt(t.e) } else return t; return null } function ain(t, e) { return t.p < e.p ? 1 : t.p > e.p ? -1 : 0 } function x$(t, e) { return Pn(e), t.c < t.d ? (t.ze(e, t.c++), !0) : !1 } function qZt(t, e) { return Il(t.a, e) ? (G6(t.a, e), !0) : !1 } function oin(t) { var e, n; return e = t.cd(), n = u(t.dd(), 14), VM(n.Nc(), new HJ(e)) } function cin(t) { var e; return e = u(Wvt(t.b, t.b.length), 9), new hh(t.a, e, t.c) } function uin(t) { var e; return hb(t), e = new jWt(t, t.a.e, t.a.d | 4), new Tbt(t, e) } function HZt(t) { var e; for (qp(t), e = 0; t.a.sd(new Is);)e = Wa(e, 1); return e } function Jwt(t, e, n) { var r, s; for (r = 0, s = 0; s < e.length; s++)r += t.$f(e[s], r, n) } function lin(t, e) { var n; t.C && (n = u(Ao(t.b, e), 124).n, n.d = t.C.d, n.a = t.C.a) } function U6(t, e, n) { return aD(e, t.e.Hd().gc()), aD(n, t.c.Hd().gc()), t.a[e][n] } function Ag(t, e) { e2(), this.e = t, this.d = 1, this.a = ct(ot(Br, 1), oi, 25, 15, [e]) } function k$(t, e, n, r) { this.f = t, this.e = e, this.d = n, this.b = r, this.c = r ? r.d : null } function tmt(t) { var e, n, r, s; s = t.d, e = t.a, n = t.b, r = t.c, t.d = n, t.a = r, t.b = s, t.c = e } function hin(t, e, n, r) { pue(t, e, n, E7(t, e, r, Et(e, 99) && (u(e, 18).Bb & oo) != 0)) } function fin(t, e) { Ar(e, "Label management", 1), WR(K(t, (y$(), RS))), br(e) } function iu(t) { Bet(this), vj(t >= 0, "Initial capacity must not be negative") } function VZt() { VZt = J, age = ii((t1(), ct(ot(Ay, 1), se, 232, 0, [wc, uu, mc]))) } function GZt() { GZt = J, cge = ii((ol(), ct(ot(oge, 1), se, 461, 0, [Od, l2, _f]))) } function UZt() { UZt = J, lge = ii((Lu(), ct(ot(uge, 1), se, 462, 0, [o1, h2, Cf]))) } function WZt() { WZt = J, Y0e = ii((j1(), ct(ot(xl, 1), se, 132, 0, [l7t, Zl, Sy]))) } function KZt() { KZt = J, _pe = ii((O_(), ct(ot(i9t, 1), se, 379, 0, [Put, Nut, Fut]))) } function YZt() { YZt = J, $pe = ii((Zv(), ct(ot(c9t, 1), se, 423, 0, [$4, o9t, zut]))) } function XZt() { XZt = J, m2e = ii((K6(), ct(ot(iEt, 1), se, 314, 0, [Cx, vO, rEt]))) } function QZt() { QZt = J, y2e = ii((z$(), ct(ot(aEt, 1), se, 337, 0, [sEt, TV, alt]))) } function ZZt() { ZZt = J, T2e = ii((ob(), ct(ot(E2e, 1), se, 450, 0, [ult, u9, V4]))) } function JZt() { JZt = J, p2e = ii((Xv(), ct(ot(Xut, 1), se, 361, 0, [_w, d2, Tw]))) } function tJt() { tJt = J, I2e = ii((F0(), ct(ot(D2e, 1), se, 303, 0, [mO, U4, Sx]))) } function eJt() { eJt = J, M2e = ii((W8(), ct(ot(mlt, 1), se, 292, 0, [vlt, wlt, wO]))) } function nJt() { nJt = J, Xve = ii((H_(), ct(ot(o_t, 1), se, 378, 0, [Ylt, a_t, tG]))) } function rJt() { rJt = J, iwe = ii((tz(), ct(ot(y_t, 1), se, 375, 0, [w_t, rht, m_t]))) } function iJt() { iJt = J, twe = ii((R0(), ct(ot(b_t, 1), se, 339, 0, [b2, p_t, tht]))) } function sJt() { sJt = J, rwe = ii((yo(), ct(ot(nwe, 1), se, 452, 0, [TS, ll, lu]))) } function aJt() { aJt = J, cwe = ii((sz(), ct(ot(S_t, 1), se, 377, 0, [oht, x9, Hy]))) } function oJt() { oJt = J, awe = ii((t7(), ct(ot(E_t, 1), se, 336, 0, [sht, k_t, _S]))) } function cJt() { cJt = J, owe = ii((Z$(), ct(ot(C_t, 1), se, 338, 0, [__t, aht, T_t]))) } function uJt() { uJt = J, xwe = ii((Yv(), ct(ot(ywe, 1), se, 454, 0, [IO, CS, iG]))) } function lJt() { lJt = J, Ame = ii((bz(), ct(ot(Sme, 1), se, 442, 0, [kht, yht, xht]))) } function hJt() { hJt = J, Mme = ii((BD(), ct(ot(Q_t, 1), se, 380, 0, [bG, Y_t, X_t]))) } function fJt() { fJt = J, Wme = ii((pz(), ct(ot(pCt, 1), se, 381, 0, [gCt, Aht, dCt]))) } function dJt() { dJt = J, Ume = ii((J$(), ct(ot(hCt, 1), se, 293, 0, [Sht, lCt, uCt]))) } function gJt() { gJt = J, gye = ii((HD(), ct(ot(Lht, 1), se, 437, 0, [mG, yG, xG]))) } function pJt() { pJt = J, v3e = ii((j0(), ct(ot(iAt, 1), se, 334, 0, [NG, Qg, HS]))) } function bJt() { bJt = J, d3e = ii((F1(), ct(ot(USt, 1), se, 272, 0, [C9, Wy, S9]))) } function din() { return xa(), ct(ot(oAt, 1), se, 98, 0, [k2, Q1, L9, qb, g0, eu]) } function eb(t, e) { return !t.o && (t.o = new Nl((ou(), _2), Bw, t, 0)), Pit(t.o, e) } function gin(t) { return !t.g && (t.g = new Tk), !t.g.d && (t.g.d = new P$t(t)), t.g.d } function pin(t) { return !t.g && (t.g = new Tk), !t.g.a && (t.g.a = new F$t(t)), t.g.a } function bin(t) { return !t.g && (t.g = new Tk), !t.g.b && (t.g.b = new N$t(t)), t.g.b } function hD(t) { return !t.g && (t.g = new Tk), !t.g.c && (t.g.c = new B$t(t)), t.g.c } function vin(t, e, n) { var r, s; for (s = new U8(e, t), r = 0; r < n; ++r)Dz(s); return s } function _rt(t, e, n) { var r, s; if (n != null) for (r = 0; r < e; ++r)s = n[r], t.fi(r, s) } function Crt(t, e, n, r) { var s; return s = Ot(Br, oi, 25, e + 1, 15, 1), Jvn(s, t, e, n, r), s } function Ot(t, e, n, r, s, o) { var h; return h = Aie(s, r), s != 10 && ct(ot(t, o), e, n, s, h), h } function win(t, e, n, r) { return n && (r = n.gh(e, is(n.Tg(), t.c.Lj()), null, r)), r } function min(t, e, n, r) { return n && (r = n.ih(e, is(n.Tg(), t.c.Lj()), null, r)), r } function emt(t, e, n) { u(t.b, 65), u(t.b, 65), u(t.b, 65), Mu(t.a, new _Wt(n, e, t)) } function nmt(t, e, n) { if (t < 0 || e > n || e < t) throw et(new Ipt(Sq + t + x6t + e + m6t + n)) } function M8(t) { if (!t) throw et(new Yo("Unable to add element to queue")) } function Srt(t) { t ? (this.c = t, this.b = null) : (this.c = null, this.b = new le) } function Art(t, e) { LR.call(this, t, e), this.a = Ot(A4n, Eq, 436, 2, 0, 1), this.b = !0 } function rmt(t) { sne.call(this, t, 0), pUt(this), this.d.b = this.d, this.d.a = this.d } function Lrt(t) { var e; return e = t.b, e.b == 0 ? null : u(r1(e, 0), 188).b } function vJt(t, e) { var n; return n = new ye, n.c = !0, n.d = e.dd(), hle(t, e.cd(), n) } function yin(t, e) { var n; n = t.q.getHours() + (e / 3600 | 0), t.q.setSeconds(e), gC(t, n) } function imt(t, e, n) { var r; r = t.b[n.c.p][n.p], r.b += e.b, r.c += e.c, r.a += e.a, ++r.a } function Gp(t, e) { var n, r; return n = t.a - e.a, r = t.b - e.b, b.Math.sqrt(n * n + r * r) } function E$() { E$ = J, eEt = new l2t("QUADRATIC", 0), slt = new l2t("SCANLINE", 1) } function wJt() { wJt = J, hwe = sl(Mi(new ra, (so(), Nd), (vo(), Gut)), Go, pO) } function xin() { return ay(), ct(ot(Vht, 1), se, 291, 0, [Hht, VO, HO, qht, zO, qO]) } function kin() { return t0(), ct(ot(nSt, 1), se, 248, 0, [$ht, jO, $O, SG, _G, CG]) } function Ein() { return rx(), ct(ot(c9, 1), se, 227, 0, [o9, oS, a9, Dy, H4, q4]) } function Tin() { return g7(), ct(ot(TEt, 1), se, 275, 0, [lS, yEt, EEt, kEt, xEt, mEt]) } function _in() { return eI(), ct(ot(wEt, 1), se, 274, 0, [AV, pEt, vEt, gEt, bEt, plt]) } function Cin() { return Hz(), ct(ot(s_t, 1), se, 313, 0, [Klt, r_t, Wlt, n_t, i_t, JV]) } function Sin() { return Wz(), ct(ot(hEt, 1), se, 276, 0, [hlt, llt, dlt, flt, glt, CV]) } function Ain() { return aC(), ct(ot(sme, 1), se, 327, 0, [uG, lht, fht, hht, dht, uht]) } function Lin() { return cl(), ct(ot(PG, 1), se, 273, 0, [E2, J0, JO, WS, US, Hx]) } function Min() { return Gz(), ct(ot(ZSt, 1), se, 312, 0, [ift, YSt, QSt, WSt, XSt, KSt]) } function Din() { return Kn(), ct(ot(Hut, 1), se, 267, 0, [Ws, ha, Fs, Jc, Bl, W1]) } function mJt(t) { Om(!!t.c), frt(t.e, t), t.c.Qb(), t.c = null, t.b = Kmt(t), xbt(t.e, t) } function yJt(t) { return frt(t.c.a.e, t), ir(t.b != t.c.a.d), t.a = t.b, t.b = t.b.a, t.a } function smt(t) { var e; return !t.a && t.b != -1 && (e = t.c.Tg(), t.a = wn(e, t.b)), t.a } function Hr(t, e) { return t.hi() && t.Hc(e) ? !1 : (t.Yh(e), !0) } function Zf(t, e) { return JM(e, "Horizontal alignment cannot be null"), t.b = e, t } function xJt(t, e, n) { Ai(); var r; return r = n2(t, e), n && r && atn(t) && (r = null), r } function Lg(t, e, n) { var r, s; for (s = t.Kc(); s.Ob();)r = u(s.Pb(), 37), fC(r, e, n) } function amt(t, e) { var n, r; for (r = e.Kc(); r.Ob();)n = u(r.Pb(), 37), Hce(t, n, 0, 0) } function omt(t, e, n) { var r; t.d[e.g] = n, r = t.g.c, r[e.g] = b.Math.max(r[e.g], n + 1) } function fD(t, e) { var n, r, s; return s = t.r, r = t.d, n = vC(t, e, !0), n.b != s || n.a != r } function kJt(t, e) { return jHt(t.e, e) || db(t.e, e, new Jre(e)), u(Vv(t.e, e), 113) } function nb(t, e, n, r) { return Pn(t), Pn(e), Pn(n), Pn(r), new zvt(t, e, new Vt) } function Nl(t, e, n, r) { this.rj(), this.a = e, this.b = t, this.c = new Rvt(this, e, n, r) } function Mrt(t, e, n, r, s, o) { Lwt.call(this, e, r, s, o), this.c = t, this.b = n } function dD(t, e, n, r, s, o) { Lwt.call(this, e, r, s, o), this.c = t, this.a = n } function Iin(t, e, n) { var r, s, o; r = D0(t, n), s = null, r && (s = m4t(r)), o = s, Xre(e, n, o) } function Oin(t, e, n) { var r, s, o; r = D0(t, n), s = null, r && (s = m4t(r)), o = s, Xre(e, n, o) } function gD(t, e, n) { var r, s; return s = (r = w7(t.b, e), r), s ? gq(wD(t, s), n) : null } function D8(t, e) { var n; return n = t.Yg(e), n >= 0 ? t._g(n, !0, !0) : ow(t, e, !0) } function Nin(t, e) { return Vs(Xt(xe(K(t, (ie(), Lw)))), Xt(xe(K(e, Lw)))) } function EJt() { EJt = J, Eme = rw(rw(TR(new ra, (u7(), LS)), (aC(), uG)), lht) } function Pin(t, e, n) { var r; return r = dne(t, e, n), t.b = new K$(r.c.length), g5t(t, r) } function Fin(t) { if (t.b <= 0) throw et(new _c); return --t.b, t.a -= t.c.c, pe(t.a) } function Bin(t) { var e; if (!t.a) throw et(new SYt); return e = t.a, t.a = gs(t.a), e } function Rin(t) { for (; !t.a;)if (!hWt(t.c, new $e(t))) return !1; return !0 } function W6(t) { var e; return zr(t), Et(t, 198) ? (e = u(t, 198), e) : new WJ(t) } function jin(t) { T$(), u(t.We((Ti(), Uy)), 174).Fc((cl(), JO)), t.Ye(Jht, null) } function T$() { T$ = J, jye = new aZ, zye = new oZ, $ye = Eon((Ti(), Jht), jye, m2, zye) } function _$() { _$ = J, W_t = new T2t("LEAF_NUMBER", 0), Eht = new T2t("NODE_SIZE", 1) } function $in(t, e, n) { t.a = e, t.c = n, t.b.a.$b(), Nh(t.d), t.e.a.c = Ot(nr, De, 1, 0, 5, 1) } function Drt(t) { t.a = Ot(Br, oi, 25, t.b + 1, 15, 1), t.c = Ot(Br, oi, 25, t.b, 15, 1), t.d = 0 } function zin(t, e) { t.a.ue(e.d, t.b) > 0 && (ue(t.c, new dvt(e.c, e.d, t.d)), t.b = e.d) } function cmt(t, e) { if (t.g == null || e >= t.i) throw et(new Oet(e, t.i)); return t.g[e] } function TJt(t, e, n) { if (Q8(t, n), n != null && !t.wj(n)) throw et(new Dtt); return n } function _Jt(t) { var e; if (t.Ek()) for (e = t.i - 1; e >= 0; --e)St(t, e); return Owt(t) } function qin(t) { var e, n; if (!t.b) return null; for (n = t.b; e = n.a[0];)n = e; return n } function Hin(t, e) { var n, r; return WQt(e), n = (r = t.slice(0, e), lmt(r, t)), n.length = e, n } function I8(t, e, n, r) { var s; r = (X3(), r || J8t), s = t.slice(e, n), S4t(s, t, e, n, -e, r) } function ph(t, e, n, r, s) { return e < 0 ? ow(t, n, r) : u(n, 66).Nj().Pj(t, t.yh(), e, r, s) } function Vin(t) { return Et(t, 172) ? "" + u(t, 172).a : t == null ? null : Jo(t) } function Gin(t) { return Et(t, 172) ? "" + u(t, 172).a : t == null ? null : Jo(t) } function CJt(t, e) { if (e.a) throw et(new ic(Che)); Ys(t.a, e), e.a = t, !t.j && (t.j = e) } function umt(t, e) { Iet.call(this, e.rd(), e.qd() & -16449), Pn(t), this.a = t, this.c = e } function SJt(t, e) { var n, r; return r = e / t.c.Hd().gc() | 0, n = e % t.c.Hd().gc(), U6(t, r, n) } function ol() { ol = J, Od = new iet(fx, 0), l2 = new iet(N7, 1), _f = new iet(dx, 2) } function C$() { C$ = J, but = new AR("All", 0), a7t = new kGt, o7t = new NGt, c7t = new EGt } function AJt() { AJt = J, H0e = ii((C$(), ct(ot(jH, 1), se, 297, 0, [but, a7t, o7t, c7t]))) } function LJt() { LJt = J, Npe = ii((K8(), ct(ot(Ope, 1), se, 405, 0, [Ew, My, Ly, j4]))) } function MJt() { MJt = J, Pge = ii((Qv(), ct(ot(Nge, 1), se, 406, 0, [sO, iO, Tut, _ut]))) } function DJt() { DJt = J, Bge = ii((ex(), ct(ot(Fge, 1), se, 323, 0, [oO, aO, cO, uO]))) } function IJt() { IJt = J, $ge = ii((J_(), ct(ot(jge, 1), se, 394, 0, [lO, VH, GH, hO]))) } function OJt() { OJt = J, ime = ii((u7(), ct(ot(I_t, 1), se, 393, 0, [cG, LS, NO, MS]))) } function NJt() { NJt = J, Jpe = ii((iz(), ct(ot(Zpe, 1), se, 360, 0, [Kut, vV, wV, bO]))) } function PJt() { PJt = J, Gme = ii((Pz(), ct(ot(cCt, 1), se, 340, 0, [Cht, aCt, oCt, sCt]))) } function FJt() { FJt = J, c2e = ii((R1(), ct(ot(o2e, 1), se, 411, 0, [_x, i9, s9, Yut]))) } function BJt() { BJt = J, Qve = ii((ry(), ct(ot(Qlt, 1), se, 197, 0, [eG, Xlt, t5, J4]))) } function RJt() { RJt = J, N3e = ii((Pl(), ct(ot(O3e, 1), se, 396, 0, [rh, pAt, gAt, bAt]))) } function jJt() { jJt = J, m3e = ii((Wl(), ct(ot(w3e, 1), se, 285, 0, [QO, f0, y2, XO]))) } function $Jt() { $Jt = J, g3e = ii((z0(), ct(ot(rft, 1), se, 218, 0, [nft, YO, A9, qx]))) } function zJt() { zJt = J, D3e = ii((mz(), ct(ot(dAt, 1), se, 311, 0, [aft, lAt, fAt, hAt]))) } function qJt() { qJt = J, L3e = ii((Fl(), ct(ot(KS, 1), se, 374, 0, [eN, Hb, tN, Ky]))) } function HJt() { HJt = J, hq(), QAt = ms, F4e = Rs, ZAt = new I3(ms), B4e = new I3(Rs) } function pD() { pD = J, fEt = new f2t(W0, 0), SV = new f2t("IMPROVE_STRAIGHTNESS", 1) } function Uin(t, e) { return g8(), ue(t, new _a(e, pe(e.e.c.length + e.g.c.length))) } function Win(t, e) { return g8(), ue(t, new _a(e, pe(e.e.c.length + e.g.c.length))) } function lmt(t, e) { return yD(e) != 10 && ct(bl(e), e.hm, e.__elementTypeId$, yD(e), t), t } function Au(t, e) { var n; return n = Qo(t, e, 0), n == -1 ? !1 : (Sg(t, n), !0) } function VJt(t, e) { var n; return n = u(G6(t.e, e), 387), n ? (bvt(n), n.e) : null } function O8(t) { var e; return Xo(t) && (e = 0 - t, !isNaN(e)) ? e : Wp(Y8(t)) } function Qo(t, e, n) { for (; n < t.c.length; ++n)if (Gc(e, t.c[n])) return n; return -1 } function GJt(t, e, n) { var r; return qp(t), r = new hr, r.a = e, t.a.Nb(new zHt(r, n)), r.a } function Kin(t) { var e; return qp(t), e = Ot(wa, Do, 25, 0, 15, 1), B3(t.a, new Pe(e)), e } function Irt(t) { var e, n; return n = u(Fe(t.j, 0), 11), e = u(K(n, (ie(), Bi)), 11), e } function hmt(t) { var e; if (!Wrt(t)) throw et(new _c); return t.e = 1, e = t.d, t.d = null, e } function Ort(t, e) { var n; this.f = t, this.b = e, n = u(or(t.b, e), 283), this.c = n ? n.b : null } function UJt() { bf(), this.b = new Rr, this.f = new Rr, this.g = new Rr, this.e = new Rr } function WJt(t, e) { this.a = Ot(l0, $g, 10, t.a.c.length, 0, 1), $1(t.a, this.a), this.b = e } function bD(t) { var e; for (e = t.p + 1; e < t.c.a.c.length; ++e)--u(Fe(t.c.a, e), 10).p } function Nrt(t) { var e; e = t.Ai(), e != null && t.d != -1 && u(e, 92).Ng(t), t.i && t.i.Fi() } function S$(t) { tj(this), this.g = t ? Xnt(t, t.$d()) : null, this.f = t, Wj(this), this._d() } function P0(t, e, n, r, s, o, h) { Hrt.call(this, e, r, s, o, h), this.c = t, this.b = n } function Wm(t, e, n, r, s) { return Pn(t), Pn(e), Pn(n), Pn(r), Pn(s), new zvt(t, e, r) } function vD(t, e) { if (e < 0) throw et(new Oo(Qfe + e)); return BQt(t, e + 1), Fe(t.j, e) } function KJt(t, e, n, r) { if (!t) throw et(new Bn(hC(e, ct(ot(nr, 1), De, 1, 5, [n, r])))) } function A$(t, e) { return Gc(e, Fe(t.f, 0)) || Gc(e, Fe(t.f, 1)) || Gc(e, Fe(t.f, 2)) } function Yin(t, e) { D6(u(u(t.f, 33).We((Ti(), $S)), 98)) && Ycn($nt(u(t.f, 33)), e) } function wD(t, e) { var n, r; return n = u(e, 675), r = n.Oh(), !r && n.Rh(r = new WVt(t, e)), r } function Bo(t, e) { var n, r; return n = u(e, 677), r = n.pk(), !r && n.tk(r = new hQt(t, e)), r } function pl(t) { return t.b || (t.b = new SKt(t, Co, t), !t.a && (t.a = new jM(t, t))), t.b } function O_() { O_ = J, Put = new aet("XY", 0), Nut = new aet("X", 1), Fut = new aet("Y", 2) } function Lu() { Lu = J, o1 = new set("TOP", 0), h2 = new set(N7, 1), Cf = new set(M6t, 2) } function F0() { F0 = J, mO = new get(W0, 0), U4 = new get("TOP", 1), Sx = new get(M6t, 2) } function mD() { mD = J, eht = new g2t("INPUT_ORDER", 0), nht = new g2t("PORT_DEGREE", 1) } function N8() { N8 = J, I8t = hu(yl, yl, 524287), M0e = hu(0, 0, MI), O8t = xrt(1), xrt(2), N8t = xrt(0) } function fmt(t, e, n) { t.a.c = Ot(nr, De, 1, 0, 5, 1), jmn(t, e, n), t.a.c.length == 0 || vvn(t, e) } function L$(t) { var e, n; return n = t.length, e = Ot(Sh, Ed, 25, n, 15, 1), XKt(t, 0, n, e, 0), e } function dmt(t) { var e; return t.dh() || (e = ar(t.Tg()) - t.Ah(), t.ph().bk(e)), t.Pg() } function gmt(t) { var e; return e = rb(Dn(t, 32)), e == null && (fu(t), e = rb(Dn(t, 32))), e } function Prt(t, e) { var n; return n = is(t.d, e), n >= 0 ? Mz(t, n, !0, !0) : ow(t, e, !0) } function pmt(t, e) { FT(); var n, r; return n = q6(t), r = q6(e), !!n && !!r && !aie(n.k, r.k) } function Xin(t, e) { Du(t, e == null || gj((Pn(e), e)) || isNaN((Pn(e), e)) ? 0 : (Pn(e), e)) } function Qin(t, e) { Iu(t, e == null || gj((Pn(e), e)) || isNaN((Pn(e), e)) ? 0 : (Pn(e), e)) } function Zin(t, e) { Kv(t, e == null || gj((Pn(e), e)) || isNaN((Pn(e), e)) ? 0 : (Pn(e), e)) } function Jin(t, e) { Wv(t, e == null || gj((Pn(e), e)) || isNaN((Pn(e), e)) ? 0 : (Pn(e), e)) } function YJt(t) { (this.q ? this.q : (pn(), pn(), u0)).Ac(t.q ? t.q : (pn(), pn(), u0)) } function tsn(t, e) { return Et(e, 99) && u(e, 18).Bb & oo ? new Net(e, t) : new U8(e, t) } function esn(t, e) { return Et(e, 99) && u(e, 18).Bb & oo ? new Net(e, t) : new U8(e, t) } function XJt(t, e) { P7t = new cs, Rge = e, nS = t, u(nS.b, 65), emt(nS, P7t, null), Hue(nS) } function Frt(t, e, n) { var r; return r = t.g[e], a_(t, e, t.oi(e, n)), t.gi(e, n, r), t.ci(), r } function M$(t, e) { var n; return n = t.Xc(e), n >= 0 ? (t.$c(n), !0) : !1 } function Brt(t) { var e; return t.d != t.r && (e = Bh(t), t.e = !!e && e.Cj() == Dde, t.d = e), t.e } function Rrt(t, e) { var n; for (zr(t), zr(e), n = !1; e.Ob();)n = n | t.Fc(e.Pb()); return n } function Vv(t, e) { var n; return n = u(or(t.e, e), 387), n ? (qGt(t, n), n.e) : null } function QJt(t) { var e, n; return e = t / 60 | 0, n = t % 60, n == 0 ? "" + e : "" + e + ":" + ("" + n) } function oc(t, e) { var n, r; return hb(t), r = new Qwt(e, t.a), n = new gWt(r), new kn(t, n) } function Km(t, e) { var n = t.a[e], r = (rit(), hut)[typeof n]; return r ? r(n) : myt(typeof n) } function nsn(t) { switch (t.g) { case 0: return Di; case 1: return -1; default: return 0 } } function rsn(t) { return F3t(t, (N8(), N8t)) < 0 ? -mYe(Y8(t)) : t.l + t.m * hx + t.h * mb } function yD(t) { return t.__elementTypeCategory$ == null ? 10 : t.__elementTypeCategory$ } function jrt(t) { var e; return e = t.b.c.length == 0 ? null : Fe(t.b, 0), e != null && Yrt(t, 0), e } function ZJt(t, e) {
                                for (; e[0] < t.length && gd(` 	\r
    `, Nu(Ia(t, e[0]))) >= 0;)++e[0]
                            } function xD(t, e) { this.e = e, this.a = Gee(t), this.a < 54 ? this.f = qv(t) : this.c = WD(t) } function JJt(t, e, n, r) { Ai(), gv.call(this, 26), this.c = t, this.a = e, this.d = n, this.b = r } function Jd(t, e, n) { var r, s; for (r = 10, s = 0; s < n - 1; s++)e < r && (t.a += "0"), r *= 10; t.a += e } function isn(t, e) { var n; for (n = 0; t.e != t.i.gc();)ZZe(e, kr(t), pe(n)), n != Di && ++n } function bmt(t, e) { var n; for (++t.d, ++t.c[e], n = e + 1; n < t.a.length;)++t.a[n], n += n & -n } function ssn(t, e) { var n, r, s; s = e.c.i, n = u(or(t.f, s), 57), r = n.d.c - n.e.c, $mt(e.a, r, 0) } function kD(t) { var e, n; return e = t + 128, n = (iKt(), F8t)[e], !n && (n = F8t[e] = new mtt(t)), n } function ri(t, e) { var n; return Pn(e), n = t[":" + e], lsn(!!n, ct(ot(nr, 1), De, 1, 5, [e])), n } function asn(t) { var e, n; if (t.b) { n = null; do e = t.b, t.b = null, n = Xse(e, n); while (t.b); t.b = n } } function osn(t) { var e, n; if (t.a) { n = null; do e = t.a, t.a = null, n = Xse(e, n); while (t.a); t.a = n } } function tte(t) { var e; for (++t.a, e = t.c.a.length; t.a < e; ++t.a)if (t.c.b[t.a]) return } function csn(t, e) { var n, r; for (r = e.c, n = r + 1; n <= e.f; n++)t.a[n] > t.a[r] && (r = n); return r } function usn(t, e) { var n; return n = tw(t.e.c, e.e.c), n == 0 ? Vs(t.e.d, e.e.d) : n } function J3(t, e) { return e.e == 0 || t.e == 0 ? Q7 : (b7(), $st(t, e)) } function lsn(t, e) { if (!t) throw et(new Bn(d2n("Enum constant undefined: %s", e))) } function N_() { N_ = J, Bpe = new av, Rpe = new od, Ppe = new pk, Fpe = new oh, jpe = new $K } function D$() { D$ = J, p7t = new a2t("BY_SIZE", 0), yut = new a2t("BY_SIZE_AND_SHAPE", 1) } function I$() { I$ = J, Dut = new o2t("EADES", 0), KH = new o2t("FRUCHTERMAN_REINGOLD", 1) } function ED() { ED = J, _V = new h2t("READING_DIRECTION", 0), uEt = new h2t("ROTATION", 1) } function ete() { ete = J, x2e = ii((pb(), ct(ot(cEt, 1), se, 335, 0, [olt, oEt, clt, uS, cS]))) } function nte() { nte = J, Zve = ii((tC(), ct(ot(u_t, 1), se, 315, 0, [c_t, Zlt, Jlt, kS, ES]))) } function rte() { rte = J, l2e = ii((g4(), ct(ot(u2e, 1), se, 363, 0, [yV, kV, EV, xV, mV]))) } function ite() { ite = J, N2e = ii((mh(), ct(ot(jEt, 1), se, 163, 0, [TO, gS, g2, pS, Ny]))) } function ste() { ste = J, mye = ii((rI(), ct(ot(OCt, 1), se, 316, 0, [MCt, Oht, ICt, Nht, DCt]))) } function ate() { ate = J, qye = ii((n1(), ct(ot(Xg, 1), se, 175, 0, [Un, fa, Bd, Rb, Yg]))) } function ote() { ote = J, dye = ii((y7(), ct(ot(fye, 1), se, 355, 0, [n5, Bx, FS, PS, BS]))) } function cte() { cte = J, Lpe = ii((so(), ct(ot(s9t, 1), se, 356, 0, [Nd, f2, pu, Zc, Go]))) } function ute() { ute = J, f3e = ii((xo(), ct(ot(zS, 1), se, 103, 0, [h0, Af, Wh, X0, Q0]))) } function lte() { lte = J, x3e = ii((c4(), ct(ot(GS, 1), se, 249, 0, [x2, ZO, sAt, VS, aAt]))) } function hte() { hte = J, T3e = ii((we(), ct(ot(co, 1), Nc, 61, 0, [fc, Fn, Wn, Lr, jn]))) } function $rt(t, e) { var n; return n = u(or(t.a, e), 134), n || (n = new k3, Pi(t.a, e, n)), n } function fte(t) { var e; return e = u(K(t, (ie(), Cw)), 305), e ? e.a == t : !1 } function dte(t) { var e; return e = u(K(t, (ie(), Cw)), 305), e ? e.i == t : !1 } function gte(t, e) { return Pn(e), Fvt(t), t.d.Ob() ? (e.td(t.d.Pb()), !0) : !1 } function O$(t) { return Oc(t, Di) > 0 ? Di : Oc(t, $a) < 0 ? $a : $r(t) } function Ym(t) { return t < 3 ? (Gl(t, che), t + 1) : t < kC ? Ms(t / .75 + 1) : Di } function wn(t, e) { var n; return n = (t.i == null && xd(t), t.i), e >= 0 && e < n.length ? n[e] : null } function Jf(t, e, n) { var r; if (e == null) throw et(new ET); return r = D0(t, e), Irn(t, e, n), r } function pte(t) { return t.a >= -.01 && t.a <= H1 && (t.a = 0), t.b >= -.01 && t.b <= H1 && (t.b = 0), t } function bte(t, e) { return e == (snt(), snt(), $0e) ? t.toLocaleLowerCase() : t.toLowerCase() } function vmt(t) { return (t.i & 2 ? "interface " : t.i & 1 ? "" : "class ") + (A0(t), t.o) } function Ro(t) { var e, n; n = (e = new Ptt, e), Hr((!t.q && (t.q = new he(Jh, t, 11, 10)), t.q), n) } function hsn(t, e) { var n; return n = e > 0 ? e - 1 : e, fqt(_We(zte(pvt(new Yk, n), t.n), t.j), t.k) } function fsn(t, e, n, r) { var s; t.j = -1, $4t(t, y4t(t, e, n), (go(), s = u(e, 66).Mj(), s.Ok(r))) } function vte(t) { this.g = t, this.f = new le, this.a = b.Math.min(this.g.c.c, this.g.d.c) } function wte(t) { this.b = new le, this.a = new le, this.c = new le, this.d = new le, this.e = t } function mte(t, e) { this.a = new Rr, this.e = new Rr, this.b = (H_(), tG), this.c = t, this.b = e } function yte(t, e, n) { fj.call(this), wmt(this), this.a = t, this.c = n, this.b = e.d, this.f = e.e } function xte(t) { this.d = t, this.c = t.c.vc().Kc(), this.b = null, this.a = null, this.e = (iR(), out) } function Gv(t) { if (t < 0) throw et(new Bn("Illegal Capacity: " + t)); this.g = this.ri(t) } function dsn(t, e) { if (0 > t || t > e) throw et(new Dpt("fromIndex: 0, toIndex: " + t + m6t + e)) } function gsn(t) { var e; if (t.a == t.b.a) throw et(new _c); return e = t.a, t.c = e, t.a = t.a.e, e } function N$(t) { var e; Om(!!t.c), e = t.c.a, bh(t.d, t.c), t.b == t.c ? t.b = e : --t.a, t.c = null } function P$(t, e) { var n; return hb(t), n = new HYt(t, t.a.rd(), t.a.qd() | 4, e), new kn(t, n) } function psn(t, e) { var n, r; return n = u(ty(t.d, e), 14), n ? (r = e, t.e.pc(r, n)) : null } function F$(t, e) { var n, r; for (r = t.Kc(); r.Ob();)n = u(r.Pb(), 70), Jt(n, (ie(), Dx), e) } function bsn(t) { var e; return e = Xt(xe(K(t, (Ce(), Gg)))), e < 0 && (e = 0, Jt(t, Gg, e)), e } function vsn(t, e, n) { var r; r = b.Math.max(0, t.b / 2 - .5), nC(n, r, 1), ue(e, new WHt(n, r)) } function wsn(t, e, n) { var r; return r = t.a.e[u(e.a, 10).p] - t.a.e[u(n.a, 10).p], Ms(WM(r)) } function kte(t, e, n, r, s, o) { var h; h = krt(r), Ua(h, s), ma(h, o), cn(t.a, r, new pj(h, e, n.f)) } function Ete(t, e) { var n; if (n = dI(t.Tg(), e), !n) throw et(new Bn(c2 + e + Tct)); return n } function Xm(t, e) { var n; for (n = t; gs(n);)if (n = gs(n), n == e) return !0; return !1 } function msn(t, e) { var n, r, s; for (r = e.a.cd(), n = u(e.a.dd(), 14).gc(), s = 0; s < n; s++)t.td(r) } function Mu(t, e) { var n, r, s, o; for (Pn(e), r = t.c, s = 0, o = r.length; s < o; ++s)n = r[s], e.td(n) } function bh(t, e) { var n; return n = e.c, e.a.b = e.b, e.b.a = e.a, e.a = e.b = null, e.c = null, --t.b, n } function ysn(t, e) { return e && t.b[e.g] == e ? (ds(t.b, e.g, null), --t.c, !0) : !1 } function Tte(t, e) { return !!R_(t, e, $r(ja(i0, Xd($r(ja(e == null ? 0 : ns(e), s0)), 15)))) } function xsn(t, e) { D6(u(K(u(t.e, 10), (Ce(), xs)), 98)) && (pn(), ua(u(t.e, 10).j, e)) } function wmt(t) { t.b = (ol(), l2), t.f = (Lu(), h2), t.d = (Gl(2, vy), new iu(2)), t.e = new Ra } function t1() { t1 = J, wc = new ret("BEGIN", 0), uu = new ret(N7, 1), mc = new ret("END", 2) } function F1() { F1 = J, C9 = new Let(N7, 0), Wy = new Let("HEAD", 1), S9 = new Let("TAIL", 2) } function ksn() { return v7(), ct(ot(UG, 1), se, 237, 0, [lft, VG, GG, HG, uft, qG, zG, cft]) } function Esn() { return Rg(), ct(ot(Hye, 1), se, 277, 0, [JCt, qa, Lc, T9, Uo, ks, Rx, X1]) } function Tsn() { return rq(), ct(ot(tEt, 1), se, 270, 0, [Zut, elt, Qut, ilt, tlt, Jut, rlt, nlt]) } function _sn() { return w4(), ct(ot(g_t, 1), se, 260, 0, [nG, LO, MO, h_t, f_t, l_t, d_t, rG]) } function _te() { _te = J, k3e = ii((xa(), ct(ot(oAt, 1), se, 98, 0, [k2, Q1, L9, qb, g0, eu]))) } function Cte() { Cte = J, qH = (t1(), ct(ot(Ay, 1), se, 232, 0, [wc, uu, mc])).length, kut = qH } function B$(t) { this.b = (zr(t), new Uu(t)), this.a = new le, this.d = new le, this.e = new Ra } function Csn(t) { var e; return e = b.Math.sqrt(t.a * t.a + t.b * t.b), e > 0 && (t.a /= e, t.b /= e), t } function Vl(t) { var e; return t.w ? t.w : (e = Ann(t), e && !e.kh() && (t.w = e), e) } function Ssn(t) { var e; return t == null ? null : (e = u(t, 190), A1n(e, e.length)) } function St(t, e) { if (t.g == null || e >= t.i) throw et(new Oet(e, t.i)); return t.li(e, t.g[e]) } function Asn(t) { var e, n; for (e = t.a.d.j, n = t.c.d.j; e != n;)xf(t.b, e), e = dz(e); xf(t.b, e) } function Lsn(t) { var e; for (e = 0; e < t.c.length; e++)(An(e, t.c.length), u(t.c[e], 11)).p = e } function Msn(t, e, n) { var r, s, o; for (s = e[n], r = 0; r < s.length; r++)o = s[r], t.e[o.c.p][o.p] = r } function zrt(t, e) { var n, r, s, o; for (r = t.d, s = 0, o = r.length; s < o; ++s)n = r[s], L1(t.g, n).a = e } function Qm(t, e) { var n, r; for (r = gi(t, 0); r.b != r.d.c;)n = u(di(r), 8), $i(n, e); return t } function Dsn(t, e) { var n; return n = ba(pc(u(or(t.g, e), 8)), V2t(u(or(t.f, e), 460).b)), n } function Uv(t) { var e; return frt(t.e, t), ir(t.b), t.c = t.a, e = u(t.a.Pb(), 42), t.b = Kmt(t), e } function rb(t) { var e; return d_(t == null || Array.isArray(t) && (e = yD(t), !(e >= 14 && e <= 16))), t } function Ste(t, e, n) { var r = function () { return t.apply(r, arguments) }; return e.apply(r, n), r } function Ate(t, e, n) { var r, s; r = e; do s = Xt(t.p[r.p]) + n, t.p[r.p] = s, r = t.a[r.p]; while (r != e) } function P8(t, e) { var n, r; r = t.a, n = ucn(t, e, null), r != e && !t.e && (n = C7(t, e, n)), n && n.Fi() } function mmt(t, e) { return A1(), yf(r2), b.Math.abs(t - e) <= r2 || t == e || isNaN(t) && isNaN(e) } function ymt(t, e) { return A1(), yf(r2), b.Math.abs(t - e) <= r2 || t == e || isNaN(t) && isNaN(e) } function Isn(t, e) { return t2(), Tu(t.b.c.length - t.e.c.length, e.b.c.length - e.e.c.length) } function t4(t, e) { return MWe(B_(t, e, $r(ja(i0, Xd($r(ja(e == null ? 0 : ns(e), s0)), 15))))) } function Lte() { Lte = J, Vpe = ii((Kn(), ct(ot(Hut, 1), se, 267, 0, [Ws, ha, Fs, Jc, Bl, W1]))) } function Mte() { Mte = J, Qye = ii((ay(), ct(ot(Vht, 1), se, 291, 0, [Hht, VO, HO, qht, zO, qO]))) } function Dte() { Dte = J, Gye = ii((t0(), ct(ot(nSt, 1), se, 248, 0, [$ht, jO, $O, SG, _G, CG]))) } function Ite() { Ite = J, v2e = ii((rx(), ct(ot(c9, 1), se, 227, 0, [o9, oS, a9, Dy, H4, q4]))) } function Ote() { Ote = J, A2e = ii((g7(), ct(ot(TEt, 1), se, 275, 0, [lS, yEt, EEt, kEt, xEt, mEt]))) } function Nte() { Nte = J, S2e = ii((eI(), ct(ot(wEt, 1), se, 274, 0, [AV, pEt, vEt, gEt, bEt, plt]))) } function Pte() { Pte = J, Yve = ii((Hz(), ct(ot(s_t, 1), se, 313, 0, [Klt, r_t, Wlt, n_t, i_t, JV]))) } function Fte() { Fte = J, _2e = ii((Wz(), ct(ot(hEt, 1), se, 276, 0, [hlt, llt, dlt, flt, glt, CV]))) } function Bte() { Bte = J, ame = ii((aC(), ct(ot(sme, 1), se, 327, 0, [uG, lht, fht, hht, dht, uht]))) } function Rte() { Rte = J, E3e = ii((cl(), ct(ot(PG, 1), se, 273, 0, [E2, J0, JO, WS, US, Hx]))) } function jte() { jte = J, p3e = ii((Gz(), ct(ot(ZSt, 1), se, 312, 0, [ift, YSt, QSt, WSt, XSt, KSt]))) } function Osn() { return ly(), ct(ot(_o, 1), se, 93, 0, [Lf, Z0, Mf, If, d0, Yh, th, Df, Kh]) } function R$(t, e) { var n; n = t.a, t.a = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new Um(t, 0, n, t.a)) } function j$(t, e) { var n; n = t.b, t.b = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new Um(t, 1, n, t.b)) } function F8(t, e) { var n; n = t.b, t.b = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new Um(t, 3, n, t.b)) } function Wv(t, e) { var n; n = t.f, t.f = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new Um(t, 3, n, t.f)) } function Kv(t, e) { var n; n = t.g, t.g = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new Um(t, 4, n, t.g)) } function Du(t, e) { var n; n = t.i, t.i = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new Um(t, 5, n, t.i)) } function Iu(t, e) { var n; n = t.j, t.j = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new Um(t, 6, n, t.j)) } function B8(t, e) { var n; n = t.j, t.j = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new Um(t, 1, n, t.j)) } function R8(t, e) { var n; n = t.c, t.c = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new Um(t, 4, n, t.c)) } function j8(t, e) { var n; n = t.k, t.k = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new Um(t, 2, n, t.k)) } function qrt(t, e) { var n; n = t.d, t.d = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new prt(t, 2, n, t.d)) } function Mg(t, e) { var n; n = t.s, t.s = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new prt(t, 4, n, t.s)) } function Zm(t, e) { var n; n = t.t, t.t = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new prt(t, 5, n, t.t)) } function $8(t, e) { var n; n = t.F, t.F = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 5, n, e)) } function TD(t, e) { var n; return n = u(or((_R(), WG), t), 55), n ? n.xj(e) : Ot(nr, De, 1, e, 5, 1) } function B0(t, e) { var n, r; return n = e in t.a, n && (r = D0(t, e).he(), r) ? r.a : null } function Nsn(t, e) { var n, r, s; return n = (r = (xv(), s = new HE, s), e && c5t(r, e), r), Lmt(n, t), n } function $te(t, e, n) { if (Q8(t, n), !t.Bk() && n != null && !t.wj(n)) throw et(new Dtt); return n } function zte(t, e) { return t.n = e, t.n ? (t.f = new le, t.e = new le) : (t.f = null, t.e = null), t } function Xr(t, e, n, r, s, o) { var h; return h = Nnt(t, e), Hte(n, h), h.i = s ? 8 : 0, h.f = r, h.e = s, h.g = o, h } function xmt(t, e, n, r, s) { this.d = e, this.k = r, this.f = s, this.o = -1, this.p = 1, this.c = t, this.a = n } function kmt(t, e, n, r, s) { this.d = e, this.k = r, this.f = s, this.o = -1, this.p = 2, this.c = t, this.a = n } function Emt(t, e, n, r, s) { this.d = e, this.k = r, this.f = s, this.o = -1, this.p = 6, this.c = t, this.a = n } function Tmt(t, e, n, r, s) { this.d = e, this.k = r, this.f = s, this.o = -1, this.p = 7, this.c = t, this.a = n } function _mt(t, e, n, r, s) { this.d = e, this.j = r, this.e = s, this.o = -1, this.p = 4, this.c = t, this.a = n } function qte(t, e) { var n, r, s, o; for (r = e, s = 0, o = r.length; s < o; ++s)n = r[s], CJt(t.a, n); return t } function B1(t) { var e, n, r, s; for (n = t, r = 0, s = n.length; r < s; ++r)e = n[r], zr(e); return new cGt(t) } function Psn(t) { var e = /function(?:\s+([\w$]+))?\s*\(/, n = e.exec(t); return n && n[1] || Cat } function Hte(t, e) { if (t) { e.n = t; var n = $en(e); if (!n) { DH[t] = [e]; return } n.gm = e } } function Fsn(t, e, n) { var r, s; return s = t.length, r = b.Math.min(n, s), L4t(t, 0, e, 0, r, !0), e } function Vte(t, e, n) { var r, s; for (s = e.Kc(); s.Ob();)r = u(s.Pb(), 79), Ys(t, u(n.Kb(r), 33)) } function Bsn() { Kqt(); for (var t = eut, e = 0; e < arguments.length; e++)t.push(arguments[e]) } function P_(t, e) { var n, r, s, o; for (r = e, s = 0, o = r.length; s < o; ++s)n = r[s], Cs(t, n, t.c.b, t.c) } function $$(t, e) { t.b = b.Math.max(t.b, e.d), t.e += e.r + (t.a.c.length == 0 ? 0 : t.c), ue(t.a, e) } function Gte(t) { Om(t.c >= 0), Nun(t.d, t.c) < 0 && (t.a = t.a - 1 & t.d.a.length - 1, t.b = t.d.c), t.c = -1 } function Cmt(t) { return t.a < 54 ? t.f < 0 ? -1 : t.f > 0 ? 1 : 0 : (!t.c && (t.c = RD(t.f)), t.c).e } function yf(t) { if (!(t >= 0)) throw et(new Bn("tolerance (" + t + ") must be >= 0")); return t } function z8() { return Rht || (Rht = new Dce, s4(Rht, ct(ot(R4, 1), De, 130, 0, [new kp]))), Rht } function yo() { yo = J, TS = new vet(SC, 0), ll = new vet("INPUT", 1), lu = new vet("OUTPUT", 2) } function z$() { z$ = J, sEt = new het("ARD", 0), TV = new het("MSD", 1), alt = new het("MANUAL", 2) } function Yv() { Yv = J, IO = new ket("BARYCENTER", 0), CS = new ket(pfe, 1), iG = new ket(bfe, 2) } function _D(t, e) { var n; if (n = t.gc(), e < 0 || e > n) throw et(new Bm(e, n)); return new Vbt(t, e) } function Ute(t, e) { var n; return Et(e, 42) ? t.c.Mc(e) : (n = Pit(t, e), kz(t, e), n) } function Lo(t, e, n) { return lb(t, e), su(t, n), Mg(t, 0), Zm(t, 1), Ng(t, !0), Og(t, !0), t } function Gl(t, e) { if (t < 0) throw et(new Bn(e + " cannot be negative but was: " + t)); return t } function Wte(t, e) { var n, r; for (n = 0, r = t.gc(); n < r; ++n)if (Gc(e, t.Xb(n))) return n; return -1 } function q$(t) { var e, n; for (n = t.c.Cc().Kc(); n.Ob();)e = u(n.Pb(), 14), e.$b(); t.c.$b(), t.d = 0 } function Rsn(t) { var e, n, r, s; for (n = t.a, r = 0, s = n.length; r < s; ++r)e = n[r], YKt(e, e.length, null) } function Smt(t) { var e, n; if (t == 0) return 32; for (n = 0, e = 1; !(e & t); e <<= 1)++n; return n } function jsn(t) { var e, n; for (n = new S(Oie(t)); n.a < n.c.c.length;)e = u(Q(n), 680), e.Gf() } function Kte(t) { Wpt(), this.g = new Rr, this.f = new Rr, this.b = new Rr, this.c = new $v, this.i = t } function Amt() { this.f = new Ra, this.d = new bpt, this.c = new Ra, this.a = new le, this.b = new le } function Yte(t, e, n, r) { this.rj(), this.a = e, this.b = t, this.c = null, this.c = new oWt(this, e, n, r) } function Hrt(t, e, n, r, s) { this.d = t, this.n = e, this.g = n, this.o = r, this.p = -1, s || (this.o = -2 - r - 1) } function Xte() { K2t.call(this), this.n = -1, this.g = null, this.i = null, this.j = null, this.Bb |= Tf } function $sn() { return ml(), ct(ot(uAt, 1), se, 259, 0, [M9, rN, FG, YS, BG, jG, RG, sft, nN]) } function zsn() { return sq(), ct(ot(I7t, 1), se, 250, 0, [D7t, S7t, A7t, C7t, xut, M7t, L7t, _7t, T7t]) } function Qte() { Qte = J, D0e = ct(ot(Br, 1), oi, 25, 15, [0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15]) } function Zte() { Zte = J, dwe = Mi(Mi(Mi(new ra, (so(), Nd), (vo(), sS)), f2, r9), pu, n9) } function Jte() { Jte = J, gwe = Mi(Mi(Mi(new ra, (so(), Nd), (vo(), sS)), f2, r9), pu, n9) } function tee() { tee = J, pwe = Mi(Mi(Mi(new ra, (so(), Nd), (vo(), sS)), f2, r9), pu, n9) } function eee() { eee = J, wwe = sl(Mi(Mi(new ra, (so(), pu), (vo(), uV)), Zc, iV), Go, cV) } function K6() { K6 = J, Cx = new uet("LAYER_SWEEP", 0), vO = new uet(Sot, 1), rEt = new uet(W0, 2) } function qsn(t, e) { var n, r; return n = t.c, r = e.e[t.p], r > 0 ? u(Fe(n.a, r - 1), 10) : null } function F_(t, e) { var n; n = t.k, t.k = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 2, n, t.k)) } function H$(t, e) { var n; n = t.f, t.f = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 8, n, t.f)) } function V$(t, e) { var n; n = t.i, t.i = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 7, n, t.i)) } function Lmt(t, e) { var n; n = t.a, t.a = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 8, n, t.a)) } function Mmt(t, e) { var n; n = t.b, t.b = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 0, n, t.b)) } function Dmt(t, e) { var n; n = t.b, t.b = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 0, n, t.b)) } function Imt(t, e) { var n; n = t.c, t.c = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 1, n, t.c)) } function Omt(t, e) { var n; n = t.c, t.c = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 1, n, t.c)) } function Vrt(t, e) { var n; n = t.c, t.c = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 4, n, t.c)) } function Nmt(t, e) { var n; n = t.d, t.d = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 1, n, t.d)) } function Grt(t, e) { var n; n = t.D, t.D = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 2, n, t.D)) } function Urt(t, e) { t.r > 0 && t.c < t.r && (t.c += e, t.i && t.i.d > 0 && t.g != 0 && Urt(t.i, e / t.r * t.i.d)) } function Hsn(t, e, n) { var r; t.b = e, t.a = n, r = (t.a & 512) == 512 ? new Fzt : new VL, t.c = sbn(r, t.b, t.a) } function nee(t, e) { return V0(t.e, e) ? (go(), Brt(e) ? new kj(e, t) : new DM(e, t)) : new KVt(e, t) } function G$(t, e) { return LWe(R_(t.a, e, $r(ja(i0, Xd($r(ja(e == null ? 0 : ns(e), s0)), 15))))) } function Vsn(t, e, n) { return Wm(t, new ge(e), new En, new be(n), ct(ot(xl, 1), se, 132, 0, [])) } function Gsn(t) { var e, n; return 0 > t ? new Upt : (e = t + 1, n = new CZt(e, t), new _bt(null, n)) } function Usn(t, e) { pn(); var n; return n = new x6(1), pa(t) ? Po(n, t, e) : du(n.f, t, e), new z(n) } function Wsn(t, e) { var n, r; return n = t.o + t.p, r = e.o + e.p, n < r ? -1 : n == r ? 0 : 1 } function Ksn(t) { var e; return e = K(t, (ie(), Bi)), Et(e, 160) ? pre(u(e, 160)) : null } function ree(t) { var e; return t = b.Math.max(t, 2), e = iyt(t), t > e ? (e <<= 1, e > 0 ? e : kC) : e } function Wrt(t) { switch (nbt(t.e != 3), t.e) { case 2: return !1; case 0: return !0 }return Jrn(t) } function iee(t, e) { var n; return Et(e, 8) ? (n = u(e, 8), t.a == n.a && t.b == n.b) : !1 } function Krt(t, e, n) { var r, s, o; return o = e >> 5, s = e & 31, r = Xs(jm(t.n[n][o], $r(L0(s, 1))), 3), r } function Ysn(t, e) { var n, r; for (r = e.vc().Kc(); r.Ob();)n = u(r.Pb(), 42), $z(t, n.cd(), n.dd()) } function Xsn(t, e) { var n; n = new cs, u(e.b, 65), u(e.b, 65), u(e.b, 65), Mu(e.a, new evt(t, n, e)) } function Pmt(t, e) { var n; n = t.b, t.b = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 21, n, t.b)) } function Fmt(t, e) { var n; n = t.d, t.d = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 11, n, t.d)) } function U$(t, e) { var n; n = t.j, t.j = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 13, n, t.j)) } function see(t, e, n) { var r, s, o; for (o = t.a.length - 1, s = t.b, r = 0; r < n; s = s + 1 & o, ++r)ds(e, r, t.a[s]) } function xf(t, e) { var n; return Pn(e), n = e.g, t.b[n] ? !1 : (ds(t.b, n, e), ++t.c, !0) } function aee(t, e) { var n; return n = e == null ? -1 : Qo(t.b, e, 0), n < 0 ? !1 : (Yrt(t, n), !0) } function Yrt(t, e) { var n; n = Sg(t.b, t.b.c.length - 1), e < t.b.c.length && (gh(t.b, e, n), yae(t, e)) } function Qsn(t, e) { (b$(), U1 ? null : e.c).length == 0 && FUt(e, new un), Po(t.a, U1 ? null : e.c, e) } function Zsn(t, e) { Ar(e, "Hierarchical port constraint processing", 1), aln(t), o4n(t), br(e) } function Jsn(t, e) { var n, r; for (r = e.Kc(); r.Ob();)n = u(r.Pb(), 266), t.b = !0, Ys(t.e, n), n.b = t } function W$(t, e) { var n, r; return n = 1 - e, r = t.a[n], t.a[n] = r.a[e], r.a[e] = t, t.b = !0, r.b = !1, r } function tan(t, e) { var n, r; return n = u(K(t, (Ce(), zy)), 8), r = u(K(e, zy), 8), Vs(n.b, r.b) } function oee(t) { Svt.call(this), this.b = Xt(xe(K(t, (Ce(), Sf)))), this.a = u(K(t, Y0), 218) } function cee(t, e, n) { Mwt.call(this, t, e, n), this.a = new Rr, this.b = new Rr, this.d = new Ejt(this) } function uee(t) { this.e = t, this.d = new fR(Ym(N6(this.e).gc())), this.c = this.e.a, this.b = this.e.c } function K$(t) { this.b = t, this.a = Ot(Br, oi, 25, t + 1, 15, 1), this.c = Ot(Br, oi, 25, t, 15, 1), this.d = 0 } function Xrt(t, e, n) { var r; return r = new le, h5t(t, e, r, n, !0, !0), t.b = new K$(r.c.length), r } function lee(t, e) { var n; return n = u(or(t.c, e), 458), n || (n = new pzt, n.c = e, Pi(t.c, n.c, n)), n } function Qrt(t, e) { var n = t.a, r = 0; for (var s in n) n.hasOwnProperty(s) && (e[r++] = s); return e } function Bmt(t) { var e; return t.b == null ? (kg(), kg(), lN) : (e = t.Lk() ? t.Kk() : t.Jk(), e) } function hee(t) { var e, n; for (n = new lr(t); n.e != n.i.gc();)e = u(kr(n), 33), Du(e, 0), Iu(e, 0) } function Up() { Up = J, Tx = new rs(V6t), QH = new rs(Xhe), iS = new rs(Qhe), fO = new rs(Zhe) } function q8() { q8 = J, gO = new c2t("TO_INTERNAL_LTR", 0), Vut = new c2t("TO_INPUT_DIRECTION", 1) } function Y$() { Y$ = J, pG = new E2t("P1_NODE_PLACEMENT", 0), E9 = new E2t("P2_EDGE_ROUTING", 1) } function Xv() { Xv = J, _w = new cet("START", 0), d2 = new cet("MIDDLE", 1), Tw = new cet("END", 2) } function Y6() { Y6 = J, Wut = new Ks("edgelabelcenterednessanalysis.includelabel", (Rn(), Lb)) } function ean(t, e) { Ts(Qi(new kn(null, new Cn(new km(t.b), 1)), new vVt(t, e)), new mVt(t, e)) } function fee() { this.c = new gR(0), this.b = new gR(Rfe), this.d = new gR(Bfe), this.a = new gR(wot) } function Rmt(t) { var e, n; for (n = t.c.a.ec().Kc(); n.Ob();)e = u(n.Pb(), 214), qgt(e, new Nse(e.e)) } function dee(t) { var e, n; for (n = t.c.a.ec().Kc(); n.Ob();)e = u(n.Pb(), 214), utt(e, new $Kt(e.f)) } function su(t, e) { var n; n = t.zb, t.zb = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 1, n, t.zb)) } function X$(t, e) { var n; n = t.xb, t.xb = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 3, n, t.xb)) } function Q$(t, e) { var n; n = t.yb, t.yb = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 2, n, t.yb)) } function ps(t, e) { var n, r; n = (r = new Ntt, r), n.n = e, Hr((!t.s && (t.s = new he(ju, t, 21, 17)), t.s), n) } function Yi(t, e) { var n, r; r = (n = new kbt, n), r.n = e, Hr((!t.s && (t.s = new he(ju, t, 21, 17)), t.s), r) } function e4(t, e) { var n, r; for (n = t.Pc(), I8(n, 0, n.length, e), r = 0; r < n.length; r++)t._c(r, n[r]) } function io(t, e) { var n, r, s; for (Pn(e), n = !1, s = e.Kc(); s.Ob();)r = s.Pb(), n = n | t.Fc(r); return n } function gee(t) { var e, n, r; for (e = 0, r = t.Kc(); r.Ob();)n = r.Pb(), e += n != null ? ns(n) : 0, e = ~~e; return e } function pee(t) { var e; return t == 0 ? "UTC" : (t < 0 ? (t = -t, e = "UTC+") : e = "UTC-", e + QJt(t)) } function Zrt(t, e) { var n; return Et(e, 14) ? (n = u(e, 14), t.Gc(n)) : Rrt(t, u(zr(e), 20).Kc()) } function bee(t, e, n) { mte.call(this, e, n), this.d = Ot(l0, $g, 10, t.a.c.length, 0, 1), $1(t.a, this.d) } function nan(t) { t.a = null, t.e = null, t.b.c = Ot(nr, De, 1, 0, 5, 1), t.f.c = Ot(nr, De, 1, 0, 5, 1), t.c = null } function vee(t, e) { e ? t.B == null && (t.B = t.D, t.D = null) : t.B != null && (t.D = t.B, t.B = null) } function wee(t, e) { return Xt(xe(Mv(zD(Cu(new kn(null, new Cn(t.c.b, 16)), new KB(t)), e)))) } function jmt(t, e) { return Xt(xe(Mv(zD(Cu(new kn(null, new Cn(t.c.b, 16)), new yT(t)), e)))) } function ran(t, e) { Ar(e, gfe, 1), Ts(oc(new kn(null, new Cn(t.b, 16)), new UK), new WK), br(e) } function ian(t, e) { var n, r; return n = u(ze(t, (iy(), vG)), 19), r = u(ze(e, vG), 19), Tu(n.a, r.a) } function $mt(t, e, n) { var r, s; for (s = gi(t, 0); s.b != s.d.c;)r = u(di(s), 8), r.a += e, r.b += n; return t } function B_(t, e, n) { var r; for (r = t.b[n & t.f]; r; r = r.b)if (n == r.a && wd(e, r.g)) return r; return null } function R_(t, e, n) { var r; for (r = t.c[n & t.f]; r; r = r.d)if (n == r.f && wd(e, r.i)) return r; return null } function san(t, e, n) { var r, s, o; for (r = 0, s = 0; s < n; s++)o = e[s], t[s] = o << 1 | r, r = o >>> 31; r != 0 && (t[n] = r) } function aan(t, e) { pn(); var n, r; for (r = new le, n = 0; n < t; ++n)r.c[r.c.length] = e; return new Ytt(r) } function mee(t) { var e; return e = TQt(t), _v(e.a, 0) ? (i8(), i8(), r7t) : (i8(), new gbt(e.b)) } function yee(t) { var e; return e = TQt(t), _v(e.a, 0) ? (i8(), i8(), r7t) : (i8(), new gbt(e.c)) } function oan(t) { var e; return e = l$(t), _v(e.a, 0) ? (wR(), wR(), z0e) : (wR(), new gUt(e.b)) } function can(t) { return t.b.c.i.k == (Kn(), Fs) ? u(K(t.b.c.i, (ie(), Bi)), 11) : t.b.c } function xee(t) { return t.b.d.i.k == (Kn(), Fs) ? u(K(t.b.d.i, (ie(), Bi)), 11) : t.b.d } function _s(t, e, n, r, s, o, h, d, w, k, _, L, F) { return dae(t, e, n, r, s, o, h, d, w, k, _, L, F), Cit(t, !1), t } function vh(t, e, n, r, s, o, h) { ei.call(this, t, e), this.d = n, this.e = r, this.c = s, this.b = o, this.a = N1(h) } function uan(t, e) { typeof window === TI && typeof window.$gwt === TI && (window.$gwt[t] = e) } function lan(t, e) { return K8(), t == Ew && e == My || t == My && e == Ew || t == j4 && e == Ly || t == Ly && e == j4 } function han(t, e) { return K8(), t == Ew && e == Ly || t == Ew && e == j4 || t == My && e == j4 || t == My && e == Ly } function kee(t, e) { return A1(), yf(H1), b.Math.abs(0 - e) <= H1 || e == 0 || isNaN(0) && isNaN(e) ? 0 : t / e } function fan() { return ko(), ct(ot(blt, 1), se, 256, 0, [LV, Th, hS, MV, f9, G4, fS, l9, h9, DV]) } function Jrt() { Jrt = J, tA = new Dzt, gft = ct(ot(ju, 1), P4, 170, 0, []), g4e = ct(ot(Jh, 1), d8t, 59, 0, []) } function Z$() { Z$ = J, __t = new yet("NO", 0), aht = new yet("GREEDY", 1), T_t = new yet("LOOK_BACK", 2) } function Ku() { Ku = J, g9t = new gm, f9t = new wp, d9t = new qK, h9t = new j2, p9t = new HK, b9t = new VK } function dan(t) { var e, n, r; for (r = 0, n = new S(t.b); n.a < n.c.c.length;)e = u(Q(n), 29), e.p = r, ++r } function gan(t, e) { var n; return n = s4t(t), N4t(new je(n.c, n.d), new je(n.b, n.a), t.rf(), e, t.Hf()) } function Kc(t, e) { var n; return t.b ? null : (n = hsn(t, t.g), pi(t.a, n), n.i = t, t.d = e, n) } function pan(t, e, n) { Ar(n, "DFS Treeifying phase", 1), Tun(t, e), y2n(t, e), t.a = null, t.b = null, br(n) } function Eee(t, e, n) { this.g = t, this.d = e, this.e = n, this.a = new le, d0n(this), pn(), ua(this.a, null) } function zmt(t) { this.i = t.gc(), this.i > 0 && (this.g = this.ri(this.i + (this.i / 8 | 0) + 1), t.Qc(this.g)) } function ws(t, e) { wj.call(this, p4e, t, e), this.b = this, this.a = gu(t.Tg(), wn(this.e.Tg(), this.c)) } function j_(t, e) { var n, r; for (Pn(e), r = e.vc().Kc(); r.Ob();)n = u(r.Pb(), 42), t.zc(n.cd(), n.dd()) } function ban(t, e, n) { var r; for (r = n.Kc(); r.Ob();)if (!d$(t, e, r.Pb())) return !1; return !0 } function van(t, e, n, r, s) { var o; return n && (o = is(e.Tg(), t.c), s = n.gh(e, -1 - (o == -1 ? r : o), null, s)), s } function wan(t, e, n, r, s) { var o; return n && (o = is(e.Tg(), t.c), s = n.ih(e, -1 - (o == -1 ? r : o), null, s)), s } function Tee(t) { var e; if (t.b == -2) { if (t.e == 0) e = -1; else for (e = 0; t.a[e] == 0; e++); t.b = e } return t.b } function _ee(t) { switch (t.g) { case 2: return we(), jn; case 4: return we(), Wn; default: return t } } function Cee(t) { switch (t.g) { case 1: return we(), Lr; case 3: return we(), Fn; default: return t } } function man(t) { var e, n, r; return t.j == (we(), Fn) && (e = eoe(t), n = Gu(e, Wn), r = Gu(e, jn), r || r && n) } function yan(t) { var e, n; return e = u(t.e && t.e(), 9), n = u(Wvt(e, e.length), 9), new hh(e, n, e.length) } function xan(t, e) { Ar(e, gfe, 1), qyt(zWe(new cr((PT(), new qnt(t, !1, !1, new $P))))), br(e) } function CD(t, e) { return Rn(), pa(t) ? Ywt(t, Kr(e)) : Im(t) ? Ent(t, xe(e)) : Dm(t) ? _Je(t, Be(e)) : t.wd(e) } function qmt(t, e) { e.q = t, t.d = b.Math.max(t.d, e.r), t.b += e.d + (t.a.c.length == 0 ? 0 : t.c), ue(t.a, e) } function H8(t, e) { var n, r, s, o; return s = t.c, n = t.c + t.b, o = t.d, r = t.d + t.a, e.a > s && e.a < n && e.b > o && e.b < r } function See(t, e, n, r) { Et(t.Cb, 179) && (u(t.Cb, 179).tb = null), su(t, n), e && P0n(t, e), r && t.xk(!0) } function Hmt(t, e) { var n; n = u(e, 183), Q2(n, "x", t.i), Q2(n, "y", t.j), Q2(n, Lct, t.g), Q2(n, Act, t.f) } function Vmt() { Vmt = J, mwe = rw(nGt(Mi(Mi(new ra, (so(), pu), (vo(), uV)), Zc, iV), Go), cV) } function Aee() { Aee = J, Ewe = rw(nGt(Mi(Mi(new ra, (so(), pu), (vo(), uV)), Zc, iV), Go), cV) } function J$() { J$ = J, Sht = new _et(W0, 0), lCt = new _et("POLAR_COORDINATE", 1), uCt = new _et("ID", 2) } function tz() { tz = J, w_t = new wet("EQUALLY", 0), rht = new wet(Lq, 1), m_t = new wet("NORTH_SOUTH", 2) } function Lee() { Lee = J, Jve = ii((w4(), ct(ot(g_t, 1), se, 260, 0, [nG, LO, MO, h_t, f_t, l_t, d_t, rG]))) } function Mee() { Mee = J, b2e = ii((rq(), ct(ot(tEt, 1), se, 270, 0, [Zut, elt, Qut, ilt, tlt, Jut, rlt, nlt]))) } function Dee() { Dee = J, Vye = ii((Rg(), ct(ot(Hye, 1), se, 277, 0, [JCt, qa, Lc, T9, Uo, ks, Rx, X1]))) } function Iee() { Iee = J, W3e = ii((v7(), ct(ot(UG, 1), se, 237, 0, [lft, VG, GG, HG, uft, qG, zG, cft]))) } function V8() { V8 = J, rS = new Ks("debugSVG", (Rn(), !1)), F7t = new Ks("overlapsExisted", !0) } function Oee(t, e) { return Wm(new $t(t), new ee(e), new Ht(e), new sr, ct(ot(xl, 1), se, 132, 0, [])) } function kan() { var t; return vut || (vut = new szt, t = new mrt(""), NKe(t, (s8(), u7t)), Qsn(vut, t)), vut } function Ean(t, e) { var n; for (zr(e); t.Ob();)if (n = t.Pb(), !Wmt(u(n, 10))) return !1; return !0 } function Nee(t, e) { var n; return n = Wst(z8(), t), n ? (Mo(e, (Ti(), _9), n), !0) : !1 } function Ul(t, e) { var n; for (n = 0; n < e.j.c.length; n++)u(vD(t, n), 21).Gc(u(vD(e, n), 14)); return t } function Tan(t, e) { var n, r; for (r = new S(e.b); r.a < r.c.c.length;)n = u(Q(r), 29), t.a[n.p] = K1n(n) } function $_(t, e) { var n, r; for (Pn(e), r = t.vc().Kc(); r.Ob();)n = u(r.Pb(), 42), e.Od(n.cd(), n.dd()) } function ez(t, e) { var n; Et(e, 83) ? (u(t.c, 76).Xj(), n = u(e, 83), Ysn(t, n)) : u(t.c, 76).Wb(e) } function ib(t) { return Et(t, 152) ? V6(u(t, 152)) : Et(t, 131) ? u(t, 131).a : Et(t, 54) ? new bv(t) : new Am(t) } function _an(t, e) { return e < t.b.gc() ? u(t.b.Xb(e), 10) : e == t.b.gc() ? t.a : u(Fe(t.e, e - t.b.gc() - 1), 10) } function Pee(t, e) { t.a = Wa(t.a, 1), t.c = b.Math.min(t.c, e), t.b = b.Math.max(t.b, e), t.d = Wa(t.d, e) } function Can(t, e) { var n; Ar(e, "Edge and layer constraint edge reversal", 1), n = Lbn(t), Gyn(n), br(e) } function Fee(t) { var e; t.d == null ? (++t.e, t.f = 0, Gne(null)) : (++t.e, e = t.d, t.d = null, t.f = 0, Gne(e)) } function Wp(t) { var e; return e = t.h, e == 0 ? t.l + t.m * hx : e == U0 ? t.l + t.m * hx - mb : t } function Bee(t) { return Pm(), t.A.Hc((Fl(), Ky)) && !t.B.Hc((ml(), rN)) ? mre(t) : null } function San(t) { if (Pn(t), t.length == 0) throw et(new dd("Zero length BigInteger")); $bn(this, t) } function n4(t) { if (!t) throw et(new Yo("no calls to next() since the last call to remove()")) } function Ou(t) { return DI < t && t < mb ? t < 0 ? b.Math.ceil(t) : b.Math.floor(t) : Wp(Wpn(t)) } function Aan(t, e) { var n, r, s; for (n = t.c.Ee(), s = e.Kc(); s.Ob();)r = s.Pb(), t.a.Od(n, r); return t.b.Kb(n) } function Oi(t, e) { var n, r, s; if (n = t.Jg(), n != null && t.Mg()) for (r = 0, s = n.length; r < s; ++r)n[r].ui(e) } function G8(t, e) { var n, r; for (n = t, r = Qa(n).e; r;) { if (n = r, n == e) return !0; r = Qa(n).e } return !1 } function Lan(t, e, n) { var r, s; return r = t.a.f[e.p], s = t.a.f[n.p], r < s ? -1 : r == s ? 0 : 1 } function sb(t, e, n) { var r, s; return s = u(f_(t.d, e), 19), r = u(f_(t.b, n), 19), !s || !r ? null : U6(t, s.a, r.a) } function Man(t, e) { var n, r; for (r = new lr(t); r.e != r.i.gc();)n = u(kr(r), 33), S1(n, n.i + e.b, n.j + e.d) } function Dan(t, e) { var n, r; for (r = new S(e); r.a < r.c.c.length;)n = u(Q(r), 70), ue(t.d, n), z1n(t, n) } function Ian(t, e) { var n, r; r = new le, n = e; do r.c[r.c.length] = n, n = u(or(t.k, n), 17); while (n); return r } function Dn(t, e) { var n; return t.Db & e ? (n = ist(t, e), n == -1 ? t.Eb : rb(t.Eb)[n]) : null } function vc(t, e) { var n, r; return n = (r = new YL, r), n.G = e, !t.rb && (t.rb = new $m(t, l1, t)), Hr(t.rb, n), n } function mi(t, e) { var n, r; return n = (r = new eR, r), n.G = e, !t.rb && (t.rb = new $m(t, l1, t)), Hr(t.rb, n), n } function Gmt(t, e) { switch (e) { case 1: return !!t.n && t.n.i != 0; case 2: return t.k != null }return Twt(t, e) } function Ree(t) { switch (t.a.g) { case 1: return new RVt; case 3: return new Fie; default: return new ld } } function nz(t) { var e; if (t.g > 1 || t.Ob()) return ++t.a, t.g = 0, e = t.i, t.Ob(), e; throw et(new _c) } function Oan(t) { SGt(); var e; return BHt(cht, t) || (e = new pQ, e.a = t, Ibt(cht, t, e)), u(Ao(cht, t), 635) } function Ph(t) { var e, n, r, s; return s = t, r = 0, s < 0 && (s += mb, r = U0), n = Ms(s / hx), e = Ms(s - n * hx), hu(e, n, r) } function SD(t) { var e, n, r; for (r = 0, n = new k6(t.a); n.a < n.c.a.length;)e = M_(n), t.b.Hc(e) && ++r; return r } function Nan(t) { var e, n, r; for (e = 1, r = t.Kc(); r.Ob();)n = r.Pb(), e = 31 * e + (n == null ? 0 : ns(n)), e = ~~e; return e } function Pan(t, e) { var n; this.c = t, n = new le, x3t(t, n, e, t.b, null, !1, null, !1), this.a = new Ca(n, 0) } function U8(t, e) { this.b = t, this.e = e, this.d = e.j, this.f = (go(), u(t, 66).Oj()), this.k = gu(e.e.Tg(), t) } function ab(t, e, n) { this.b = (Pn(t), t), this.d = (Pn(e), e), this.e = (Pn(n), n), this.c = this.d + ("" + this.e) } function jee() { this.a = u(Ie((i1(), YH)), 19).a, this.c = Xt(xe(Ie(XH))), this.b = Xt(xe(Ie(Iut))) } function $ee() { $ee = J, y3e = ii((ly(), ct(ot(_o, 1), se, 93, 0, [Lf, Z0, Mf, If, d0, Yh, th, Df, Kh]))) } function zee() { zee = J, rge = ii((sq(), ct(ot(I7t, 1), se, 250, 0, [D7t, S7t, A7t, C7t, xut, M7t, L7t, _7t, T7t]))) } function Qv() { Qv = J, sO = new IR("UP", 0), iO = new IR(cot, 1), Tut = new IR(fx, 2), _ut = new IR(dx, 3) } function Umt() { Umt = J, F_t = (i$(), wht), lme = new vn(bkt, F_t), P_t = (c$(), mht), ume = new vn(vkt, P_t) } function W8() { W8 = J, vlt = new det("ONE_SIDED", 0), wlt = new det("TWO_SIDED", 1), wO = new det("OFF", 2) } function qee(t) { t.r = new na, t.w = new na, t.t = new le, t.i = new le, t.d = new na, t.a = new S6, t.c = new Rr } function AD(t) { this.n = new le, this.e = new hs, this.j = new hs, this.k = new le, this.f = new le, this.p = t } function Hee(t, e) { t.c && (Uce(t, e, !0), Ts(new kn(null, new Cn(e, 16)), new Att(t))), Uce(t, e, !1) } function Fan(t, e, n) { return t == (Yv(), iG) ? new qX : wl(e, 1) != 0 ? new Rpt(n.length) : new dqt(n.length) } function Ho(t, e) { var n; return e && (n = e.Ve(), n.dc() || (t.q ? j_(t.q, n) : t.q = new eGt(n))), t } function Vee(t, e) { var n; return n = t.a.get(e), n === void 0 ? ++t.d : (aXe(t.a, e), --t.c, Qj(t.b)), n } function Ban(t, e) { var n, r, s; return n = e.p - t.p, n == 0 ? (r = t.f.a * t.f.b, s = e.f.a * e.f.b, Vs(r, s)) : n } function Ran(t, e) { var n, r; return n = t.f.c.length, r = e.f.c.length, n < r ? -1 : n == r ? 0 : 1 } function jan(t) { return t.b.c.length != 0 && u(Fe(t.b, 0), 70).a ? u(Fe(t.b, 0), 70).a : Gnt(t) } function $an(t) { var e; if (t) { if (e = t, e.dc()) throw et(new _c); return e.Xb(e.gc() - 1) } return GXt(t.Kc()) } function Gee(t) { var e; return Oc(t, 0) < 0 && (t = hvt(t)), e = $r(Rp(t, 32)), 64 - (e != 0 ? uI(e) : uI($r(t)) + 32) } function Wmt(t) { var e; return e = u(K(t, (ie(), yc)), 61), t.k == (Kn(), Fs) && (e == (we(), jn) || e == Wn) } function zan(t, e, n) { var r, s; s = u(K(t, (Ce(), $o)), 74), s && (r = new Hu, bit(r, 0, s), Qm(r, n), io(e, r)) } function rz(t, e, n) { var r, s, o, h; h = Qa(t), r = h.d, s = h.c, o = t.n, e && (o.a = o.a - r.b - s.a), n && (o.b = o.b - r.d - s.b) } function qan(t, e) { var n, r; return n = t.j, r = e.j, n != r ? n.g - r.g : t.p == e.p ? 0 : n == (we(), Fn) ? t.p - e.p : e.p - t.p } function Han(t) { var e, n; for (g3n(t), n = new S(t.d); n.a < n.c.c.length;)e = u(Q(n), 101), e.i && Edn(e) } function z_(t, e, n, r, s) { ds(t.c[e.g], n.g, r), ds(t.c[n.g], e.g, r), ds(t.b[e.g], n.g, s), ds(t.b[n.g], e.g, s) } function Van(t, e, n, r) { u(n.b, 65), u(n.b, 65), u(r.b, 65), u(r.b, 65), u(r.b, 65), Mu(r.a, new tvt(t, e, r)) } function Gan(t, e) { t.d == (xo(), Wh) || t.d == Q0 ? u(e.a, 57).c.Fc(u(e.b, 57)) : u(e.b, 57).c.Fc(u(e.a, 57)) } function tit(t, e, n, r) { return n == 1 ? (!t.n && (t.n = new he(ec, t, 1, 7)), Za(t.n, e, r)) : d4t(t, e, n, r) } function LD(t, e) { var n, r; return r = (n = new BL, n), su(r, e), Hr((!t.A && (t.A = new Vu(wu, t, 7)), t.A), r), r } function Uan(t, e, n) { var r, s, o, h; return o = null, h = e, s = Hv(h, Ict), r = new EVt(t, n), o = (hfn(r.a, r.b, s), s), o } function eit(t) { var e; return (!t.a || !(t.Bb & 1) && t.a.kh()) && (e = Bh(t), Et(e, 148) && (t.a = u(e, 148))), t.a } function MD(t, e) { var n, r; for (Pn(e), r = e.Kc(); r.Ob();)if (n = r.Pb(), !t.Hc(n)) return !1; return !0 } function Wan(t, e) { var n, r, s; return n = t.l + e.l, r = t.m + e.m + (n >> 22), s = t.h + e.h + (r >> 22), hu(n & yl, r & yl, s & U0) } function Uee(t, e) { var n, r, s; return n = t.l - e.l, r = t.m - e.m + (n >> 22), s = t.h - e.h + (r >> 22), hu(n & yl, r & yl, s & U0) } function DD(t) { var e; return t < 128 ? (e = (oKt(), R8t)[t], !e && (e = R8t[t] = new GB(t)), e) : new GB(t) } function os(t) { var e; return Et(t, 78) ? t : (e = t && t.__java$exception, e || (e = new Pne(t), Z$t(e)), e) } function ID(t) { if (Et(t, 186)) return u(t, 118); if (t) return null; throw et(new m6(z1e)) } function Wee(t, e) { if (e == null) return !1; for (; t.a != t.b;)if (Ni(e, lz(t))) return !0; return !1 } function Kmt(t) { return t.a.Ob() ? !0 : t.a != t.d ? !1 : (t.a = new Awt(t.e.f), t.a.Ob()) } function Hs(t, e) { var n, r; return n = e.Pc(), r = n.length, r == 0 ? !1 : (ovt(t.c, t.c.length, n), !0) } function Kan(t, e, n) { var r, s; for (s = e.vc().Kc(); s.Ob();)r = u(s.Pb(), 42), t.yc(r.cd(), r.dd(), n); return t } function Kee(t, e) { var n, r; for (r = new S(t.b); r.a < r.c.c.length;)n = u(Q(r), 70), Jt(n, (ie(), Dx), e) } function Yan(t, e, n) { var r, s; for (s = new S(t.b); s.a < s.c.c.length;)r = u(Q(s), 33), S1(r, r.i + e, r.j + n) } function Yee(t, e) { if (!t) throw et(new Bn(hC("value already present: %s", ct(ot(nr, 1), De, 1, 5, [e])))) } function Xee(t, e) { return !t || !e || t == e ? !1 : Ire(t.d.c, e.d.c + e.d.b) && Ire(e.d.c, t.d.c + t.d.b) } function Xan() { return b$(), U1 ? new mrt(null) : Jae(kan(), "com.google.common.base.Strings") } function Qee(t, e) { var n; return n = Ud(e.a.gc()), Ts(P$(new kn(null, new Cn(e, 1)), t.i), new bVt(t, n)), n } function Zee(t) { var e, n; return n = (e = new BL, e), su(n, "T"), Hr((!t.d && (t.d = new Vu(wu, t, 11)), t.d), n), n } function Ymt(t) { var e, n, r, s; for (e = 1, n = 0, s = t.gc(); n < s; ++n)r = t.ki(n), e = 31 * e + (r == null ? 0 : ns(r)); return e } function Jee(t, e, n, r) { var s; return aD(e, t.e.Hd().gc()), aD(n, t.c.Hd().gc()), s = t.a[e][n], ds(t.a[e], n, r), s } function ct(t, e, n, r, s) { return s.gm = t, s.hm = e, s.im = de, s.__elementTypeId$ = n, s.__elementTypeCategory$ = r, s } function Qan(t, e, n, r, s) { return y4(), b.Math.min(ule(t, e, n, r, s), ule(n, r, t, e, lj(new je(s.a, s.b)))) } function iz() { iz = J, Kut = new NR(W0, 0), vV = new NR(vfe, 1), wV = new NR(wfe, 2), bO = new NR("BOTH", 3) } function R1() { R1 = J, _x = new PR(N7, 0), i9 = new PR(fx, 1), s9 = new PR(dx, 2), Yut = new PR("TOP", 3) } function K8() { K8 = J, Ew = new OR("Q1", 0), My = new OR("Q4", 1), Ly = new OR("Q2", 2), j4 = new OR("Q3", 3) } function sz() { sz = J, oht = new xet("OFF", 0), x9 = new xet("SINGLE_EDGE", 1), Hy = new xet("MULTI_EDGE", 2) } function OD() { OD = J, TG = new C2t("MINIMUM_SPANNING_TREE", 0), XCt = new C2t("MAXIMUM_SPANNING_TREE", 1) } function X6() { X6 = J, Rye = new eZ, Bye = new JQ } function Xmt(t) { var e, n, r; for (e = new hs, r = gi(t.d, 0); r.b != r.d.c;)n = u(di(r), 188), pi(e, n.c); return e } function nit(t) { var e, n, r, s; for (s = new le, r = t.Kc(); r.Ob();)n = u(r.Pb(), 33), e = fy(n), Hs(s, e); return s } function Zan(t) { var e; lw(t, !0), e = jg, ia(t, (Ce(), w9)) && (e += u(K(t, w9), 19).a), Jt(t, w9, pe(e)) } function tne(t, e, n) { var r; al(t.a), Mu(n.i, new Yjt(t)), r = new JR(u(or(t.a, e.b), 65)), zre(t, r, e), n.f = r } function Jan(t, e) { var n, r; return n = t.c, r = e.e[t.p], r < n.a.c.length - 1 ? u(Fe(n.a, r + 1), 10) : null } function ton(t, e) { var n, r; for (Kj(e, "predicate"), r = 0; t.Ob(); r++)if (n = t.Pb(), e.Lb(n)) return r; return -1 } function Q6(t, e) { var n, r; if (r = 0, t < 64 && t <= e) for (e = e < 64 ? e : 63, n = t; n <= e; n++)r = O1(r, L0(1, n)); return r } function Qmt(t) { pn(); var e, n, r; for (r = 0, n = t.Kc(); n.Ob();)e = n.Pb(), r = r + (e != null ? ns(e) : 0), r = r | 0; return r } function Zmt(t) { var e, n; return n = (xv(), e = new ud, e), t && Hr((!t.a && (t.a = new he(fs, t, 6, 6)), t.a), n), n } function eon(t) { var e; return e = new kt, e.a = t, e.b = con(t), e.c = Ot(Me, te, 2, 2, 6, 1), e.c[0] = pee(t), e.c[1] = pee(t), e } function Jmt(t, e) { switch (e) { case 0: !t.o && (t.o = new Nl((ou(), _2), Bw, t, 0)), t.o.c.$b(); return }kst(t, e) } function ND(t, e, n) { switch (n.g) { case 2: t.b = e; break; case 1: t.c = e; break; case 4: t.d = e; break; case 3: t.a = e } } function ene(t) { switch (t.g) { case 1: return y2; case 2: return f0; case 3: return XO; default: return QO } } function non(t) { switch (u(K(t, (Ce(), bu)), 163).g) { case 2: case 4: return !0; default: return !1 } } function nne() { nne = J, L2e = ii((ko(), ct(ot(blt, 1), se, 256, 0, [LV, Th, hS, MV, f9, G4, fS, l9, h9, DV]))) } function rne() { rne = J, M3e = ii((ml(), ct(ot(uAt, 1), se, 259, 0, [M9, rN, FG, YS, BG, jG, RG, sft, nN]))) } function ine() { ine = J, Tme = Mi(rw(rw(TR(Mi(new ra, (u7(), LS), (aC(), uG)), NO), hht), fht), MS, dht) } function ob() { ob = J, ult = new fet(W0, 0), u9 = new fet("INCOMING_ONLY", 1), V4 = new fet("OUTGOING_ONLY", 2) } function rit() { rit = J, hut = { boolean: jWe, number: KUe, string: YUe, object: vae, function: vae, undefined: AUe } } function sne(t, e) { vj(t >= 0, "Negative initial capacity"), vj(e >= 0, "Non-positive load factor"), al(this) } function iit(t, e, n) { return t >= 128 ? !1 : t < 64 ? t_(Xs(L0(1, t), n), 0) : t_(Xs(L0(1, t - 64), e), 0) } function ron(t, e) { return !t || !e || t == e ? !1 : tw(t.b.c, e.b.c + e.b.b) < 0 && tw(e.b.c, t.b.c + t.b.b) < 0 } function ane(t) { var e, n, r; return n = t.n, r = t.o, e = t.d, new fh(n.a - e.b, n.b - e.d, r.a + (e.b + e.c), r.b + (e.d + e.a)) } function ion(t) { var e, n, r, s; for (n = t.a, r = 0, s = n.length; r < s; ++r)e = n[r], fne(t, e, (we(), Lr)), fne(t, e, Fn) } function son(t) { var e, n, r, s; for (e = (t.j == null && (t.j = (T8(), s = lut.ce(t), vfn(s))), t.j), n = 0, r = e.length; n < r; ++n); } function Y8(t) { var e, n, r; return e = ~t.l + 1 & yl, n = ~t.m + (e == 0 ? 1 : 0) & yl, r = ~t.h + (e == 0 && n == 0 ? 1 : 0) & U0, hu(e, n, r) } function aon(t, e) { var n, r; return n = u(u(or(t.g, e.a), 46).a, 65), r = u(u(or(t.g, e.b), 46).a, 65), wue(n, r) } function tyt(t, e, n) { var r; if (r = t.gc(), e > r) throw et(new Bm(e, r)); return t.hi() && (n = EXt(t, n)), t.Vh(e, n) } function PD(t, e, n) { return n == null ? (!t.q && (t.q = new Rr), G6(t.q, e)) : (!t.q && (t.q = new Rr), Pi(t.q, e, n)), t } function Jt(t, e, n) { return n == null ? (!t.q && (t.q = new Rr), G6(t.q, e)) : (!t.q && (t.q = new Rr), Pi(t.q, e, n)), t } function one(t) { var e, n; return n = new v$, Ho(n, t), Jt(n, (Up(), Tx), t), e = new Rr, cwn(t, n, e), Nyn(t, n, e), n } function oon(t) { y4(); var e, n, r; for (n = Ot(sa, te, 8, 2, 0, 1), r = 0, e = 0; e < 2; e++)r += .5, n[e] = qln(r, t); return n } function cne(t, e) { var n, r, s, o; for (n = !1, r = t.a[e].length, o = 0; o < r - 1; o++)s = o + 1, n = n | _un(t, e, o, s); return n } function X8(t, e, n, r, s) { var o, h; for (h = n; h <= s; h++)for (o = e; o <= r; o++)l4(t, o, h) || oq(t, o, h, !0, !1) } function une(t, e) { this.b = t, q3.call(this, (u(St(Ut((zp(), Ln).o), 10), 18), e.i), e.g), this.a = (Jrt(), gft) } function eyt(t, e) { this.c = t, this.d = e, this.b = this.d / this.c.c.Hd().gc() | 0, this.a = this.d % this.c.c.Hd().gc() } function nyt() { this.o = null, this.k = null, this.j = null, this.d = null, this.b = null, this.n = null, this.a = null } function ryt(t, e, n) { this.q = new b.Date, this.q.setFullYear(t + i2, e, n), this.q.setHours(0, 0, 0, 0), gC(this, 0) } function R0() { R0 = J, b2 = new bet(W0, 0), p_t = new bet("NODES_AND_EDGES", 1), tht = new bet("PREFER_EDGES", 2) } function con(t) { var e; return t == 0 ? "Etc/GMT" : (t < 0 ? (t = -t, e = "Etc/GMT-") : e = "Etc/GMT+", e + QJt(t)) } function iyt(t) { var e; if (t < 0) return $a; if (t == 0) return 0; for (e = kC; !(e & t); e >>= 1); return e } function lne(t) { var e, n; return n = uI(t.h), n == 32 ? (e = uI(t.m), e == 32 ? uI(t.l) + 32 : e + 20 - 10) : n - 12 } function q_(t) { var e; return e = t.a[t.b], e == null ? null : (ds(t.a, t.b, null), t.b = t.b + 1 & t.a.length - 1, e) } function hne(t) { var e, n; return e = t.t - t.k[t.o.p] * t.d + t.j[t.o.p] > t.f, n = t.u + t.e[t.o.p] * t.d > t.f * t.s * t.d, e || n } function az(t, e, n) { var r, s; return r = new Art(e, n), s = new ye, t.b = nce(t, t.b, r, s), s.b || ++t.c, t.b.b = !1, s.d } function fne(t, e, n) { var r, s, o, h; for (h = G_(e, n), o = 0, s = h.Kc(); s.Ob();)r = u(s.Pb(), 11), Pi(t.c, r, pe(o++)) } function Kp(t) { var e, n; for (n = new S(t.a.b); n.a < n.c.c.length;)e = u(Q(n), 81), e.g.c = -e.g.c - e.g.b; tq(t) } function Yp(t) { var e, n; for (n = new S(t.a.b); n.a < n.c.c.length;)e = u(Q(n), 57), e.d.c = -e.d.c - e.d.b; o5t(t) } function syt(t) { var e; return (!t.c || !(t.Bb & 1) && t.c.Db & 64) && (e = Bh(t), Et(e, 88) && (t.c = u(e, 26))), t.c } function sit(t) { var e, n, r; e = ~t.l + 1 & yl, n = ~t.m + (e == 0 ? 1 : 0) & yl, r = ~t.h + (e == 0 && n == 0 ? 1 : 0) & U0, t.l = e, t.m = n, t.h = r } function cc(t) { var e, n, r, s, o; for (e = new Ra, r = t, s = 0, o = r.length; s < o; ++s)n = r[s], e.a += n.a, e.b += n.b; return e } function ayt(t, e) { pn(); var n, r, s, o, h; for (h = !1, r = e, s = 0, o = r.length; s < o; ++s)n = r[s], h = h | t.Fc(n); return h } function r4(t) { y4(); var e, n; for (n = -17976931348623157e292, e = 0; e < t.length; e++)t[e] > n && (n = t[e]); return n } function dne(t, e, n) { var r; return r = new le, h5t(t, e, r, (we(), Wn), !0, !1), h5t(t, n, r, jn, !1, !1), r } function ait(t, e, n) { var r, s, o, h; return o = null, h = e, s = Hv(h, "labels"), r = new OVt(t, n), o = (Cgn(r.a, r.b, s), s), o } function uon(t, e, n, r) { var s; return s = Z4t(t, e, n, r), !s && (s = lcn(t, n, r), s && !E4(t, e, s)) ? null : s } function lon(t, e, n, r) { var s; return s = J4t(t, e, n, r), !s && (s = Eit(t, n, r), s && !E4(t, e, s)) ? null : s } function gne(t, e) { var n; for (n = 0; n < t.a.a.length; n++)if (!u(lKt(t.a, n), 169).Lb(e)) return !1; return !0 } function hon(t, e, n) { if (zr(e), n.Ob()) for (D2t(e, nYt(n.Pb())); n.Ob();)D2t(e, t.a), D2t(e, nYt(n.Pb())); return e } function oyt(t) { pn(); var e, n, r; for (r = 1, n = t.Kc(); n.Ob();)e = n.Pb(), r = 31 * r + (e != null ? ns(e) : 0), r = r | 0; return r } function fon(t, e, n, r, s) { var o; return o = G4t(t, e), n && sit(o), s && (t = Kln(t, e), r ? u2 = Y8(t) : u2 = hu(t.l, t.m, t.h)), o } function don(t, e) { var n; try { e.Vd() } catch (r) { if (r = os(r), Et(r, 78)) n = r, t.c[t.c.length] = n; else throw et(r) } } function pne(t, e, n) { var r, s; return Et(e, 144) && n ? (r = u(e, 144), s = n, t.a[r.b][s.b] + t.a[s.b][r.b]) : 0 } function cyt(t, e) { switch (e) { case 7: return !!t.e && t.e.i != 0; case 8: return !!t.d && t.d.i != 0 }return Uyt(t, e) } function gon(t, e) { switch (e.g) { case 0: Et(t.b, 631) || (t.b = new jee); break; case 1: Et(t.b, 632) || (t.b = new $Wt) } } function pon(t, e) { for (; t.g == null && !t.c ? bwt(t) : t.g == null || t.i != 0 && u(t.g[t.i - 1], 47).Ob();)sKe(e, Qz(t)) } function bne(t, e, n) { t.g = Est(t, e, (we(), Wn), t.b), t.d = Est(t, n, Wn, t.b), !(t.g.c == 0 || t.d.c == 0) && Pse(t) } function vne(t, e, n) { t.g = Est(t, e, (we(), jn), t.j), t.d = Est(t, n, jn, t.j), !(t.g.c == 0 || t.d.c == 0) && Pse(t) } function bon(t, e, n) { return !OT(Qi(new kn(null, new Cn(t.c, 16)), new Zt(new wVt(e, n)))).sd((G2(), J7)) } function oit(t) { var e; return qp(t), e = new hr, t.a.sd(e) ? (u8(), new sR(Pn(e.a))) : (u8(), u8(), RH) } function uyt(t) { var e; return t.b <= 0 ? !1 : (e = gd("MLydhHmsSDkK", Nu(Ia(t.c, 0))), e > 1 || e >= 0 && t.b < 3) } function FD(t) { var e, n, r; for (e = new Hu, r = gi(t, 0); r.b != r.d.c;)n = u(di(r), 8), h8(e, 0, new No(n)); return e } function cb(t) { var e, n; for (n = new S(t.a.b); n.a < n.c.c.length;)e = u(Q(n), 81), e.f.$b(); VUe(t.b, t), Hoe(t) } function ns(t) { return pa(t) ? Fg(t) : Im(t) ? o8(t) : Dm(t) ? (Pn(t), t ? 1231 : 1237) : Dvt(t) ? t.Hb() : Cvt(t) ? Av(t) : lwt(t) } function bl(t) { return pa(t) ? Me : Im(t) ? ka : Dm(t) ? Zs : Dvt(t) || Cvt(t) ? t.gm : t.gm || Array.isArray(t) && ot(_0e, 1) || _0e } function wne(t) { switch (t.g) { case 0: return new ZQ; default: throw et(new Bn(aH + (t.f != null ? t.f : "" + t.g))) } } function mne(t) { switch (t.g) { case 0: return new QQ; default: throw et(new Bn(aH + (t.f != null ? t.f : "" + t.g))) } } function lyt(t, e, n) { switch (e) { case 0: !t.o && (t.o = new Nl((ou(), _2), Bw, t, 0)), ez(t.o, n); return }Sst(t, e, n) } function cit(t, e, n) { this.g = t, this.e = new Ra, this.f = new Ra, this.d = new hs, this.b = new hs, this.a = e, this.c = n } function uit(t, e, n, r) { this.b = new le, this.n = new le, this.i = r, this.j = n, this.s = t, this.t = e, this.r = 0, this.d = 0 } function ub(t) { this.e = t, this.d = new Rwt(this.e.g), this.a = this.d, this.b = Kmt(this), this.$modCount = t.$modCount } function von(t) { for (; !t.d || !t.d.Ob();)if (t.b && !AT(t.b)) t.d = u(P6(t.b), 47); else return null; return t.d } function won(t) { return ue(t.c, (X6(), Rye)), ymt(t.a, Xt(xe(Ie((Oit(), ZV))))) ? new TZ : new e$t(t) } function hyt(t) { switch (t.g) { case 1: return Bfe; default: case 2: return 0; case 3: return wot; case 4: return Rfe } } function mon() { Ai(); var t; return yft || (t = AYe(n2("M", !0)), t = Aj(n2("M", !1), t), yft = t, yft) } function fyt(t, e) { var n, r, s; for (s = t.b; s;) { if (n = t.a.ue(e, s.d), n == 0) return s; r = n < 0 ? 0 : 1, s = s.a[r] } return null } function yon(t, e, n) { var r, s; r = (Rn(), !!O2t(n)), s = u(e.xc(r), 15), s || (s = new le, e.zc(r, s)), s.Fc(n) } function xon(t, e) { var n, r; return n = u(ze(t, (Fst(), BO)), 19).a, r = u(ze(e, BO), 19).a, n == r || n < r ? -1 : n > r ? 1 : 0 } function dyt(t, e) { return Roe(t, e) ? (cn(t.b, u(K(e, (ie(), Iy)), 21), e), pi(t.a, e), !0) : !1 } function kon(t) { var e, n; e = u(K(t, (ie(), ul)), 10), e && (n = e.c, Au(n.a, e), n.a.c.length == 0 && Au(Qa(e).b, n)) } function yne(t) { return U1 ? Ot(V0e, khe, 572, 0, 0, 1) : u($1(t.a, Ot(V0e, khe, 572, t.a.c.length, 0, 1)), 842) } function Eon(t, e, n, r) { return qj(), new $tt(ct(ot(Ab, 1), Eq, 42, 0, [(Jit(t, e), new Ev(t, e)), (Jit(n, r), new Ev(n, r))])) } function i4(t, e, n) { var r, s; return s = (r = new Ptt, r), Lo(s, e, n), Hr((!t.q && (t.q = new he(Jh, t, 11, 10)), t.q), s), s } function lit(t) { var e, n, r, s; for (s = YWe(V3e, t), n = s.length, r = Ot(Me, te, 2, n, 6, 1), e = 0; e < n; ++e)r[e] = s[e]; return r } function s4(t, e) { var n, r, s, o, h; for (r = e, s = 0, o = r.length; s < o; ++s)n = r[s], h = new cYt(t), n.Qe(h), Swn(h); al(t.f) } function hit(t, e) { var n; return e === t ? !0 : Et(e, 224) ? (n = u(e, 224), Ni(t.Zb(), n.Zb())) : !1 } function gyt(t, e) { var n; e * 2 + 1 >= t.b.c.length || (gyt(t, 2 * e + 1), n = 2 * e + 2, n < t.b.c.length && gyt(t, n), yae(t, e)) } function xne(t, e, n) { var r, s; this.g = t, this.c = e, this.a = this, this.d = this, s = ree(n), r = Ot(T0e, AI, 330, s, 0, 1), this.b = r } function pyt(t, e, n) { var r; for (r = n - 1; r >= 0 && t[r] === e[r]; r--); return r < 0 ? 0 : eet(Xs(t[r], Eo), Xs(e[r], Eo)) ? -1 : 1 } function Ton(t, e) { var n, r; for (r = gi(t, 0); r.b != r.d.c;)n = u(di(r), 214), n.e.length > 0 && (e.td(n), n.i && wcn(n)) } function fit(t, e) { var n, r; return r = u(Dn(t.a, 4), 126), n = Ot(fft, zct, 415, e, 0, 1), r != null && qc(r, 0, n, 0, r.length), n } function kne(t, e) { var n; return n = new Hst((t.f & 256) != 0, t.i, t.a, t.d, (t.f & 16) != 0, t.j, t.g, e), t.e != null || (n.c = t), n } function _on(t, e) { var n, r; for (r = t.Zb().Cc().Kc(); r.Ob();)if (n = u(r.Pb(), 14), n.Hc(e)) return !0; return !1 } function dit(t, e, n, r, s) { var o, h; for (h = n; h <= s; h++)for (o = e; o <= r; o++)if (l4(t, o, h)) return !0; return !1 } function Ene(t, e, n) { var r, s, o, h; for (Pn(n), h = !1, o = t.Zc(e), s = n.Kc(); s.Ob();)r = s.Pb(), o.Rb(r), h = !0; return h } function Con(t, e) { var n; return t === e ? !0 : Et(e, 83) ? (n = u(e, 83), b4t(Iv(t), n.vc())) : !1 } function Tne(t, e, n) { var r, s; for (s = n.Kc(); s.Ob();)if (r = u(s.Pb(), 42), t.re(e, r.dd())) return !0; return !1 } function _ne(t, e, n) { return t.d[e.p][n.p] || (kln(t, e, n), t.d[e.p][n.p] = !0, t.d[n.p][e.p] = !0), t.a[e.p][n.p] } function Q8(t, e) { if (!t.ai() && e == null) throw et(new Bn("The 'no null' constraint is violated")); return e } function Z8(t, e) { t.D == null && t.B != null && (t.D = t.B, t.B = null), Grt(t, e == null ? null : (Pn(e), e)), t.C && t.yk(null) } function Son(t, e) { var n; return !t || t == e || !ia(e, (ie(), Aw)) ? !1 : (n = u(K(e, (ie(), Aw)), 10), n != t) } function git(t) { switch (t.i) { case 2: return !0; case 1: return !1; case -1: ++t.c; default: return t.pl() } } function Cne(t) { switch (t.i) { case -2: return !0; case -1: return !1; case 1: --t.c; default: return t.ql() } } function Sne(t) { bXt.call(this, "The given string does not match the expected format for individual spacings.", t) } function Pl() { Pl = J, rh = new HR("ELK", 0), pAt = new HR("JSON", 1), gAt = new HR("DOT", 2), bAt = new HR("SVG", 3) } function BD() { BD = J, bG = new Tet(W0, 0), Y_t = new Tet("RADIAL_COMPACTION", 1), X_t = new Tet("WEDGE_COMPACTION", 2) } function j1() { j1 = J, l7t = new net("CONCURRENT", 0), Zl = new net("IDENTITY_FINISH", 1), Sy = new net("UNORDERED", 2) } function pit() { pit = J, j7t = (mR(), Cut), R7t = new vn(N6t, j7t), qge = new rs(P6t), Hge = new rs(F6t), Vge = new rs(B6t) } function J8() { J8 = J, Z9t = new G5, J9t = new LY, n2e = new SL, e2e = new MY, t2e = new DY, Q9t = (Pn(t2e), new Ue) } function t7() { t7 = J, sht = new met("CONSERVATIVE", 0), k_t = new met("CONSERVATIVE_SOFT", 1), _S = new met("SLOPPY", 2) } function oz() { oz = J, rAt = new Sv(15), b3e = new po((Ti(), $b), rAt), qS = $x, JSt = Jye, tAt = jb, nAt = a5, eAt = MG } function bit(t, e, n) { var r, s, o; for (r = new hs, o = gi(n, 0); o.b != o.d.c;)s = u(di(o), 8), pi(r, new No(s)); Ene(t, e, r) } function Aon(t) { var e, n, r; for (e = 0, r = Ot(sa, te, 8, t.b, 0, 1), n = gi(t, 0); n.b != n.d.c;)r[e++] = u(di(n), 8); return r } function byt(t) { var e; return e = (!t.a && (t.a = new he(tg, t, 9, 5)), t.a), e.i != 0 ? UWe(u(St(e, 0), 678)) : null } function Lon(t, e) { var n; return n = Wa(t, e), eet(crt(t, e), 0) | cKe(crt(t, n), 0) ? n : Wa(kq, crt(jm(n, 63), 1)) } function Mon(t, e) { var n; n = Ie((Oit(), ZV)) != null && e.wg() != null ? Xt(xe(e.wg())) / Xt(xe(Ie(ZV))) : 1, Pi(t.b, e, n) } function Don(t, e) { var n, r; return n = u(t.d.Bc(e), 14), n ? (r = t.e.hc(), r.Gc(n), t.e.d -= n.gc(), n.$b(), r) : null } function vyt(t, e) { var n, r; if (r = t.c[e], r != 0) for (t.c[e] = 0, t.d -= r, n = e + 1; n < t.a.length;)t.a[n] -= r, n += n & -n } function Ane(t) { var e; if (e = t.a.c.length, e > 0) return b8(e - 1, t.a.c.length), Sg(t.a, e - 1); throw et(new tzt) } function Ion(t, e, n) { if (e < 0) throw et(new Oo(Qfe + e)); e < t.j.c.length ? gh(t.j, e, n) : (BQt(t, e), ue(t.j, n)) } function Lne(t, e, n) { if (t > e) throw et(new Bn(Sq + t + Ehe + e)); if (t < 0 || e > n) throw et(new Dpt(Sq + t + x6t + e + m6t + n)) } function Mne(t) { if (!t.a || !(t.a.i & 8)) throw et(new Yo("Enumeration class expected for layout option " + t.f)) } function Jm(t) { var e; ++t.j, t.i == 0 ? t.g = null : t.i < t.g.length && (e = t.g, t.g = t.ri(t.i), qc(e, 0, t.g, 0, t.i)) } function Oon(t, e) { var n, r; for (n = t.a.length - 1, t.c = t.c - 1 & n; e != t.c;)r = e + 1 & n, ds(t.a, e, t.a[r]), e = r; ds(t.a, t.c, null) } function Non(t, e) { var n, r; for (n = t.a.length - 1; e != t.b;)r = e - 1 & n, ds(t.a, e, t.a[r]), e = r; ds(t.a, t.b, null), t.b = t.b + 1 & n } function wyt(t, e, n) { var r, s; return Vm(e, t.c.length), r = n.Pc(), s = r.length, s == 0 ? !1 : (ovt(t.c, e, r), !0) } function Pon(t) { var e, n; if (t == null) return null; for (e = 0, n = t.length; e < n; e++)if (!UWt(t[e])) return t[e]; return null } function Dne(t, e, n) { var r, s, o, h; for (s = n, o = 0, h = s.length; o < h; ++o)if (r = s[o], t.b.re(e, r.cd())) return r; return null } function cz(t) { var e, n, r, s, o; for (o = 1, n = t, r = 0, s = n.length; r < s; ++r)e = n[r], o = 31 * o + (e != null ? ns(e) : 0), o = o | 0; return o } function ii(t) { var e, n, r, s, o; for (e = {}, r = t, s = 0, o = r.length; s < o; ++s)n = r[s], e[":" + (n.f != null ? n.f : "" + n.g)] = n; return e } function Fon(t) { var e; for (zr(t), Kbt(!0, "numberToAdvance must be nonnegative"), e = 0; e < 0 && Zr(t); e++)qr(t); return e } function Ine(t) { var e, n, r; for (r = 0, n = new pr(mr(t.a.Kc(), new H)); Zr(n);)e = u(qr(n), 17), e.c.i == e.d.i || ++r; return r } function One(t, e) { var n, r, s; n = t, s = 0; do { if (n == e) return s; if (r = n.e, !r) throw et(new cM); n = Qa(r), ++s } while (!0) } function Nne(t, e) { var n, r, s; for (s = e - t.f, r = new S(t.d); r.a < r.c.c.length;)n = u(Q(r), 443), Cre(n, n.e, n.f + s); t.f = e } function vit(t, e, n) { return b.Math.abs(e - t) < nH || b.Math.abs(n - t) < nH ? !0 : e - t > nH ? t - n > nH : n - t > nH } function wit(t, e) { return !t || e && !t.j || Et(t, 124) && u(t, 124).a.b == 0 ? 0 : t.Re() } function uz(t, e) { return !t || e && !t.k || Et(t, 124) && u(t, 124).a.a == 0 ? 0 : t.Se() } function RD(t) { return e2(), t < 0 ? t != -1 ? new f3t(-1, -t) : gut : t <= 10 ? Z8t[Ms(t)] : new f3t(1, t) } function myt(t) { throw rit(), et(new Wzt("Unexpected typeof result '" + t + "'; please report this bug to the GWT team")) } function Pne(t) { Jzt(), tj(this), Wj(this), this.e = t, Koe(this, t), this.g = t == null ? Pu : Jo(t), this.a = "", this.b = t, this.a = "" } function yyt() { this.a = new YQ, this.f = new qjt(this), this.b = new Hjt(this), this.i = new Vjt(this), this.e = new Gjt(this) } function Fne() { zUe.call(this, new rmt(Ym(16))), Gl(2, ihe), this.b = 2, this.a = new nwt(null, null, 0, null), oM(this.a, this.a) } function H_() { H_ = J, Ylt = new pet("DUMMY_NODE_OVER", 0), a_t = new pet("DUMMY_NODE_UNDER", 1), tG = new pet("EQUAL", 2) } function mit() { mit = J, Rut = wXt(ct(ot(zS, 1), se, 103, 0, [(xo(), Wh), Af])), jut = wXt(ct(ot(zS, 1), se, 103, 0, [Q0, X0])) } function yit(t) { return (we(), Bu).Hc(t.j) ? Xt(xe(K(t, (ie(), g9)))) : cc(ct(ot(sa, 1), te, 8, 0, [t.i.n, t.n, t.a])).b } function Bon(t) { var e, n, r, s; for (r = t.b.a, n = r.a.ec().Kc(); n.Ob();)e = u(n.Pb(), 561), s = new Aoe(e, t.e, t.f), ue(t.g, s) } function lb(t, e) { var n, r, s; r = t.nk(e, null), s = null, e && (s = (t8(), n = new pv, n), P8(s, t.r)), r = z1(t, s, r), r && r.Fi() } function Ron(t, e) { var n, r; for (r = wl(t.d, 1) != 0, n = !0; n;)n = !1, n = e.c.Tf(e.e, r), n = n | gI(t, e, r, !1), r = !r; Rmt(t) } function xyt(t, e) { var n, r, s; return r = !1, n = e.q.d, e.d < t.b && (s = joe(e.q, t.b), e.q.d > s && (cse(e.q, s), r = n != e.q.d)), r } function Bne(t, e) { var n, r, s, o, h, d, w, k; return w = e.i, k = e.j, r = t.f, s = r.i, o = r.j, h = w - s, d = k - o, n = b.Math.sqrt(h * h + d * d), n } function kyt(t, e) { var n, r; return r = Ez(t), r || (n = (fat(), uae(e)), r = new G$t(n), Hr(r.Vk(), t)), r } function jD(t, e) { var n, r; return n = u(t.c.Bc(e), 14), n ? (r = t.hc(), r.Gc(n), t.d -= n.gc(), n.$b(), t.mc(r)) : t.jc() } function Rne(t, e) { var n; for (n = 0; n < e.length; n++)if (t == (Yr(n, e.length), e.charCodeAt(n))) return !0; return !1 } function jne(t, e) { var n; for (n = 0; n < e.length; n++)if (t == (Yr(n, e.length), e.charCodeAt(n))) return !0; return !1 } function jon(t) { var e, n; if (t == null) return !1; for (e = 0, n = t.length; e < n; e++)if (!UWt(t[e])) return !1; return !0 } function $ne(t) { var e; if (t.c != 0) return t.c; for (e = 0; e < t.a.length; e++)t.c = t.c * 33 + (t.a[e] & -1); return t.c = t.c * t.e, t.c } function lz(t) { var e; return ir(t.a != t.b), e = t.d.a[t.a], bUt(t.b == t.d.c && e != null), t.c = t.a, t.a = t.a + 1 & t.d.a.length - 1, e } function $on(t) { var e; if (!(t.c.c < 0 ? t.a >= t.c.b : t.a <= t.c.b)) throw et(new _c); return e = t.a, t.a += t.c.c, ++t.b, pe(e) } function zon(t) { var e; return e = new vte(t), sD(t.a, jpe, new Al(ct(ot(dO, 1), De, 369, 0, [e]))), e.d && ue(e.f, e.d), e.f } function xit(t) { var e; return e = new H2t(t.a), Ho(e, t), Jt(e, (ie(), Bi), t), e.o.a = t.g, e.o.b = t.f, e.n.a = t.i, e.n.b = t.j, e } function qon(t, e, n, r) { var s, o; for (o = t.Kc(); o.Ob();)s = u(o.Pb(), 70), s.n.a = e.a + (r.a - s.o.a) / 2, s.n.b = e.b, e.b += s.o.b + n } function Hon(t, e, n) { var r, s; for (s = e.a.a.ec().Kc(); s.Ob();)if (r = u(s.Pb(), 57), QYt(t, r, n)) return !0; return !1 } function Von(t) { var e, n; for (n = new S(t.r); n.a < n.c.c.length;)if (e = u(Q(n), 10), t.n[e.p] <= 0) return e; return null } function zne(t) { var e, n, r, s; for (s = new na, r = new S(t); r.a < r.c.c.length;)n = u(Q(r), 33), e = J2n(n), io(s, e); return s } function Gon(t) { var e; return e = YR(wwe), u(K(t, (ie(), tu)), 21).Hc((ko(), f9)) && Mi(e, (so(), pu), (vo(), fV)), e } function Uon(t, e, n) { var r; r = new Uae(t, e), cn(t.r, e.Hf(), r), n && !w_(t.u) && (r.c = new dXt(t.d), Mu(e.wf(), new bn(r))) } function Oc(t, e) { var n; return Xo(t) && Xo(e) && (n = t - e, !isNaN(n)) ? n : F3t(Xo(t) ? Ph(t) : t, Xo(e) ? Ph(e) : e) } function Won(t, e) { return e < t.length && (Yr(e, t.length), t.charCodeAt(e) != 63) && (Yr(e, t.length), t.charCodeAt(e) != 35) } function qne(t, e, n, r) { var s, o; t.a = e, o = r ? 0 : 1, t.f = (s = new Gse(t.c, t.a, n, o), new kce(n, t.a, s, t.e, t.b, t.c == (Yv(), CS))) } function Eyt(t, e, n) { var r, s; return s = t.a, t.a = e, t.Db & 4 && !(t.Db & 1) && (r = new la(t, 1, 1, s, e), n ? n.Ei(r) : n = r), n } function Hne(t, e, n) { var r, s; return s = t.b, t.b = e, t.Db & 4 && !(t.Db & 1) && (r = new la(t, 1, 3, s, e), n ? n.Ei(r) : n = r), n } function Vne(t, e, n) { var r, s; return s = t.f, t.f = e, t.Db & 4 && !(t.Db & 1) && (r = new la(t, 1, 0, s, e), n ? n.Ei(r) : n = r), n } function Xp(t, e) { var n, r, s, o; return o = (s = t ? Ez(t) : null, pae((r = e, s && s.Xk(), r))), o == e && (n = Ez(t), n && n.Xk()), o } function Tyt(t, e) { var n, r, s; for (s = 1, n = t, r = e >= 0 ? e : -e; r > 0;)r % 2 == 0 ? (n *= n, r = r / 2 | 0) : (s *= n, r -= 1); return e < 0 ? 1 / s : s } function Kon(t, e) { var n, r, s; for (s = 1, n = t, r = e >= 0 ? e : -e; r > 0;)r % 2 == 0 ? (n *= n, r = r / 2 | 0) : (s *= n, r -= 1); return e < 0 ? 1 / s : s } function Gne(t) { var e, n; if (t != null) for (n = 0; n < t.length; ++n)e = t[n], e && (u(e.g, 367), e.i) } function Yon(t) { var e, n, r; for (r = 0, n = new S(t.a); n.a < n.c.c.length;)e = u(Q(n), 187), r = b.Math.max(r, e.g); return r } function Xon(t) { var e, n, r; for (r = new S(t.b); r.a < r.c.c.length;)n = u(Q(r), 214), e = n.c.Rf() ? n.f : n.a, e && pmn(e, n.j) } function j0() { j0 = J, NG = new Met("INHERIT", 0), Qg = new Met("INCLUDE_CHILDREN", 1), HS = new Met("SEPARATE_CHILDREN", 2) } function _yt(t, e) { switch (e) { case 1: !t.n && (t.n = new he(ec, t, 1, 7)), Ir(t.n); return; case 2: F_(t, null); return }Jmt(t, e) } function hz(t) { var e; switch (t.gc()) { case 0: return sut; case 1: return new pnt(zr(t.Xb(0))); default: return e = t, new Ynt(e) } } function Une(t) { switch (vd(), t.gc()) { case 0: return Rnt(), A8t; case 1: return new y6(t.Kc().Pb()); default: return new t2t(t) } } function Dg(t) { switch (vd(), t.c) { case 0: return Rnt(), A8t; case 1: return new y6(Tae(new k6(t))); default: return new Gzt(t) } } function ty(t, e) { zr(t); try { return t.xc(e) } catch (n) { if (n = os(n), Et(n, 205) || Et(n, 173)) return null; throw et(n) } } function Qon(t, e) { zr(t); try { return t.Bc(e) } catch (n) { if (n = os(n), Et(n, 205) || Et(n, 173)) return null; throw et(n) } } function Cyt(t, e) { zr(t); try { return t.Hc(e) } catch (n) { if (n = os(n), Et(n, 205) || Et(n, 173)) return !1; throw et(n) } } function Zon(t, e) { zr(t); try { return t.Mc(e) } catch (n) { if (n = os(n), Et(n, 205) || Et(n, 173)) return !1; throw et(n) } } function Wne(t, e) { zr(t); try { return t._b(e) } catch (n) { if (n = os(n), Et(n, 205) || Et(n, 173)) return !1; throw et(n) } } function Kne(t, e) { var n; t.a.c.length > 0 && (n = u(Fe(t.a, t.a.c.length - 1), 570), dyt(n, e)) || ue(t.a, new TZt(e)) } function Jon(t) { bf(); var e, n; e = t.d.c - t.e.c, n = u(t.g, 145), Mu(n.b, new mT(e)), Mu(n.c, new q2(e)), Oa(n.i, new WB(e)) } function Yne(t) { var e; return e = new Ap, e.a += "VerticalSegment ", Cc(e, t.e), e.a += " ", ni(e, J2t(new Ktt, new S(t.k))), e.a } function tcn(t) { var e; return e = u(Vv(t.c.c, ""), 229), e || (e = new $6(Jk(Zk(new bm, ""), "Other")), db(t.c.c, "", e)), e } function V_(t) { var e; return t.Db & 64 ? kf(t) : (e = new Ih(kf(t)), e.a += " (name: ", So(e, t.zb), e.a += ")", e.a) } function Syt(t, e, n) { var r, s; return s = t.sb, t.sb = e, t.Db & 4 && !(t.Db & 1) && (r = new la(t, 1, 4, s, e), n ? n.Ei(r) : n = r), n } function kit(t, e) { var n, r, s; for (n = 0, s = uc(t, e).Kc(); s.Ob();)r = u(s.Pb(), 11), n += K(r, (ie(), ul)) != null ? 1 : 0; return n } function a4(t, e, n) { var r, s, o; for (r = 0, o = gi(t, 0); o.b != o.d.c && (s = Xt(xe(di(o))), !(s > n));)s >= e && ++r; return r } function ecn(t, e, n) { var r, s; return r = new P0(t.e, 3, 13, null, (s = e.c, s || (hn(), J1)), Pg(t, e), !1), n ? n.Ei(r) : n = r, n } function ncn(t, e, n) { var r, s; return r = new P0(t.e, 4, 13, (s = e.c, s || (hn(), J1)), null, Pg(t, e), !1), n ? n.Ei(r) : n = r, n } function Ayt(t, e, n) { var r, s; return s = t.r, t.r = e, t.Db & 4 && !(t.Db & 1) && (r = new la(t, 1, 8, s, t.r), n ? n.Ei(r) : n = r), n } function Ig(t, e) { var n, r; return n = u(e, 676), r = n.vk(), !r && n.wk(r = Et(e, 88) ? new GVt(t, u(e, 26)) : new fQt(t, u(e, 148))), r } function $D(t, e, n) { var r; t.qi(t.i + 1), r = t.oi(e, n), e != t.i && qc(t.g, e, t.g, e + 1, t.i - e), ds(t.g, e, r), ++t.i, t.bi(e, n), t.ci() } function rcn(t, e) { var n; return e.a && (n = e.a.a.length, t.a ? ni(t.a, t.b) : t.a = new jl(t.d), gQt(t.a, e.a, e.d.length, n)), t } function icn(t, e) { var n, r, s, o; if (e.vi(t.a), o = u(Dn(t.a, 8), 1936), o != null) for (n = o, r = 0, s = n.length; r < s; ++r)null.jm() } function zD(t, e) { var n; return n = new hr, t.a.sd(n) ? (u8(), new sR(Pn(GJt(t, n.a, e)))) : (qp(t), u8(), u8(), RH) } function G_(t, e) { switch (e.g) { case 2: case 1: return uc(t, e); case 3: case 4: return ib(uc(t, e)) }return pn(), pn(), wo } function Ni(t, e) { return pa(t) ? ln(t, e) : Im(t) ? lWt(t, e) : Dm(t) ? (Pn(t), qt(t) === qt(e)) : Dvt(t) ? t.Fb(e) : Cvt(t) ? hGt(t, e) : Ewt(t, e) } function scn(t) { return t ? t.i & 1 ? t == Tl ? Zs : t == Br ? to : t == e3 ? X7 : t == wa ? ka : t == D2 ? xw : t == f5 ? kw : t == tl ? kx : tS : t : null } function acn(t, e, n, r, s) { e == 0 || r == 0 || (e == 1 ? s[r] = p3t(s, n, r, t[0]) : r == 1 ? s[e] = p3t(s, t, e, n[0]) : cgn(t, n, s, e, r)) } function Xne(t, e) { var n; t.c.length != 0 && (n = u($1(t, Ot(l0, $g, 10, t.c.length, 0, 1)), 193), P2t(n, new wk), Bae(n, e)) } function Qne(t, e) { var n; t.c.length != 0 && (n = u($1(t, Ot(l0, $g, 10, t.c.length, 0, 1)), 193), P2t(n, new zd), Bae(n, e)) } function Lyt(t, e, n, r) { switch (e) { case 1: return !t.n && (t.n = new he(ec, t, 1, 7)), t.n; case 2: return t.k }return _3t(t, e, n, r) } function xo() { xo = J, h0 = new AM(SC, 0), Af = new AM(dx, 1), Wh = new AM(fx, 2), X0 = new AM(cot, 3), Q0 = new AM("UP", 4) } function Zv() { Zv = J, $4 = new oet(W0, 0), o9t = new oet("INSIDE_PORT_SIDE_GROUPS", 1), zut = new oet("FORCE_MODEL_ORDER", 2) } function Zne(t, e, n) { if (t < 0 || e > n) throw et(new Oo(Sq + t + x6t + e + ", size: " + n)); if (t > e) throw et(new Bn(Sq + t + Ehe + e)) } function wh(t, e, n) { if (e < 0) D4t(t, n); else { if (!n.Ij()) throw et(new Bn(c2 + n.ne() + zC)); u(n, 66).Nj().Vj(t, t.yh(), e) } } function ocn(t, e, n, r, s, o, h, d) { var w; for (w = n; o < h;)w >= r || e < n && d.ue(t[e], t[w]) <= 0 ? ds(s, o++, t[e++]) : ds(s, o++, t[w++]) } function Jne(t, e, n, r, s, o) { this.e = new le, this.f = (yo(), TS), ue(this.e, t), this.d = e, this.a = n, this.b = r, this.f = s, this.c = o } function tre(t, e) { var n, r; for (r = new lr(t); r.e != r.i.gc();)if (n = u(kr(r), 26), qt(e) === qt(n)) return !0; return !1 } function ccn(t) { yq(); var e, n, r, s; for (n = zit(), r = 0, s = n.length; r < s; ++r)if (e = n[r], Qo(e.a, t, 0) != -1) return e; return Eut } function ere(t) { return t >= 65 && t <= 70 ? t - 65 + 10 : t >= 97 && t <= 102 ? t - 97 + 10 : t >= 48 && t <= 57 ? t - 48 : 0 } function nre(t) { var e; return t.Db & 64 ? kf(t) : (e = new Ih(kf(t)), e.a += " (source: ", So(e, t.d), e.a += ")", e.a) } function ucn(t, e, n) { var r, s; return s = t.a, t.a = e, t.Db & 4 && !(t.Db & 1) && (r = new la(t, 1, 5, s, t.a), n ? Q3t(n, r) : n = r), n } function Og(t, e) { var n; n = (t.Bb & 256) != 0, e ? t.Bb |= 256 : t.Bb &= -257, t.Db & 4 && !(t.Db & 1) && Oi(t, new mf(t, 1, 2, n, e)) } function Myt(t, e) { var n; n = (t.Bb & 256) != 0, e ? t.Bb |= 256 : t.Bb &= -257, t.Db & 4 && !(t.Db & 1) && Oi(t, new mf(t, 1, 8, n, e)) } function fz(t, e) { var n; n = (t.Bb & 256) != 0, e ? t.Bb |= 256 : t.Bb &= -257, t.Db & 4 && !(t.Db & 1) && Oi(t, new mf(t, 1, 8, n, e)) } function Ng(t, e) { var n; n = (t.Bb & 512) != 0, e ? t.Bb |= 512 : t.Bb &= -513, t.Db & 4 && !(t.Db & 1) && Oi(t, new mf(t, 1, 3, n, e)) } function Dyt(t, e) { var n; n = (t.Bb & 512) != 0, e ? t.Bb |= 512 : t.Bb &= -513, t.Db & 4 && !(t.Db & 1) && Oi(t, new mf(t, 1, 9, n, e)) } function U_(t, e) { var n; return t.b == -1 && t.a && (n = t.a.Gj(), t.b = n ? t.c.Xg(t.a.aj(), n) : is(t.c.Tg(), t.a)), t.c.Og(t.b, e) } function pe(t) { var e, n; return t > -129 && t < 128 ? (e = t + 128, n = (tKt(), j8t)[e], !n && (n = j8t[e] = new rM(t)), n) : new rM(t) } function e7(t) { var e, n; return t > -129 && t < 128 ? (e = t + 128, n = (aKt(), H8t)[e], !n && (n = H8t[e] = new UB(t)), n) : new UB(t) } function Iyt(t) { var e, n; return e = t.k, e == (Kn(), Fs) ? (n = u(K(t, (ie(), yc)), 61), n == (we(), Fn) || n == Lr) : !1 } function lcn(t, e, n) { var r, s, o; return o = (s = w7(t.b, e), s), o && (r = u(gq(wD(t, o), ""), 26), r) ? Z4t(t, r, e, n) : null } function Eit(t, e, n) { var r, s, o; return o = (s = w7(t.b, e), s), o && (r = u(gq(wD(t, o), ""), 26), r) ? J4t(t, r, e, n) : null } function rre(t, e) { var n, r; for (r = new lr(t); r.e != r.i.gc();)if (n = u(kr(r), 138), qt(e) === qt(n)) return !0; return !1 } function W_(t, e, n) { var r; if (r = t.gc(), e > r) throw et(new Bm(e, r)); if (t.hi() && t.Hc(n)) throw et(new Bn(YI)); t.Xh(e, n) } function hcn(t, e) { var n; if (n = t4(t.i, e), n == null) throw et(new fd("Node did not exist in input.")); return Hmt(e, n), null } function fcn(t, e) { var n; if (n = dI(t, e), Et(n, 322)) return u(n, 34); throw et(new Bn(c2 + e + "' is not a valid attribute")) } function dcn(t, e, n) { var r, s; for (s = Et(e, 99) && u(e, 18).Bb & oo ? new Net(e, t) : new U8(e, t), r = 0; r < n; ++r)Dz(s); return s } function gcn(t) { var e, n, r; for (r = 0, n = t.length, e = 0; e < n; e++)t[e] == 32 || t[e] == 13 || t[e] == 10 || t[e] == 9 || (t[r++] = t[e]); return r } function pcn(t) { var e, n, r; for (e = new le, r = new S(t.b); r.a < r.c.c.length;)n = u(Q(r), 594), Hs(e, u(n.jf(), 14)); return e } function bcn(t) { var e, n, r; for (e = u(K(t, (Sc(), O_t)), 15), r = e.Kc(); r.Ob();)n = u(r.Pb(), 188), pi(n.b.d, n), pi(n.c.b, n) } function vcn(t) { switch (u(K(t, (ie(), Db)), 303).g) { case 1: Jt(t, Db, (F0(), Sx)); break; case 2: Jt(t, Db, (F0(), U4)) } } function wcn(t) { var e; t.g && (e = t.c.Rf() ? t.f : t.a, f5t(e.a, t.o, !0), f5t(e.a, t.o, !1), Jt(t.o, (Ce(), xs), (xa(), qb))) } function mcn(t) { var e; if (!t.a) throw et(new Yo("Cannot offset an unassigned cut.")); e = t.c - t.b, t.b += e, YYt(t, e), KYt(t, e) } function ycn(t) { var e; return e = t.a[t.c - 1 & t.a.length - 1], e == null ? null : (t.c = t.c - 1 & t.a.length - 1, ds(t.a, t.c, null), e) } function ire(t) { var e, n; for (n = t.p.a.ec().Kc(); n.Ob();)if (e = u(n.Pb(), 213), e.f && t.b[e.c] < -1e-10) return e; return null } function Oyt(t, e) { switch (t.b.g) { case 0: case 1: return e; case 2: case 3: return new fh(e.d, 0, e.a, e.b); default: return null } } function sre(t) { switch (t.g) { case 2: return Af; case 1: return Wh; case 4: return X0; case 3: return Q0; default: return h0 } } function Nyt(t) { switch (t.g) { case 1: return jn; case 2: return Fn; case 3: return Wn; case 4: return Lr; default: return fc } } function qD(t) { switch (t.g) { case 1: return Lr; case 2: return jn; case 3: return Fn; case 4: return Wn; default: return fc } } function dz(t) { switch (t.g) { case 1: return Wn; case 2: return Lr; case 3: return jn; case 4: return Fn; default: return fc } } function xcn(t) { switch (t) { case 0: return new Tzt; case 1: return new kzt; case 2: return new Ezt; default: throw et(new cM) } } function Vs(t, e) { return t < e ? -1 : t > e ? 1 : t == e ? t == 0 ? Vs(1 / t, 1 / e) : 0 : isNaN(t) ? isNaN(e) ? 0 : 1 : -1 } function kcn(t, e) { Ar(e, "Sort end labels", 1), Ts(Qi(oc(new kn(null, new Cn(t.b, 16)), new qP), new z5), new sY), br(e) } function K_(t, e, n) { var r, s; return t.ej() ? (s = t.fj(), r = Mst(t, e, n), t.$i(t.Zi(7, pe(n), r, e, s)), r) : Mst(t, e, n) } function Tit(t, e) { var n, r, s; t.d == null ? (++t.e, --t.f) : (s = e.cd(), n = e.Sh(), r = (n & Di) % t.d.length, sin(t, r, xoe(t, r, n, s))) } function n7(t, e) { var n; n = (t.Bb & Tf) != 0, e ? t.Bb |= Tf : t.Bb &= -1025, t.Db & 4 && !(t.Db & 1) && Oi(t, new mf(t, 1, 10, n, e)) } function r7(t, e) { var n; n = (t.Bb & wy) != 0, e ? t.Bb |= wy : t.Bb &= -4097, t.Db & 4 && !(t.Db & 1) && Oi(t, new mf(t, 1, 12, n, e)) } function i7(t, e) { var n; n = (t.Bb & Zu) != 0, e ? t.Bb |= Zu : t.Bb &= -8193, t.Db & 4 && !(t.Db & 1) && Oi(t, new mf(t, 1, 15, n, e)) } function s7(t, e) { var n; n = (t.Bb & Cy) != 0, e ? t.Bb |= Cy : t.Bb &= -2049, t.Db & 4 && !(t.Db & 1) && Oi(t, new mf(t, 1, 11, n, e)) } function Ecn(t, e) { var n; return n = Vs(t.b.c, e.b.c), n != 0 || (n = Vs(t.a.a, e.a.a), n != 0) ? n : Vs(t.a.b, e.a.b) } function Tcn(t, e) { var n; if (n = or(t.k, e), n == null) throw et(new fd("Port did not exist in input.")); return Hmt(e, n), null } function _cn(t) { var e, n; for (n = Coe(Vl(t)).Kc(); n.Ob();)if (e = Kr(n.Pb()), dC(t, e)) return Orn((PHt(), n4e), e); return null } function Ccn(t, e) { var n, r, s, o, h; for (h = gu(t.e.Tg(), e), o = 0, n = u(t.g, 119), s = 0; s < t.i; ++s)r = n[s], h.rl(r.ak()) && ++o; return o } function Scn(t, e, n) { var r, s; return r = u(e.We(t.a), 35), s = u(n.We(t.a), 35), r != null && s != null ? CD(r, s) : r != null ? -1 : s != null ? 1 : 0 } function are(t, e, n) { var r, s; if (t.c) c4t(t.c, e, n); else for (s = new S(t.b); s.a < s.c.c.length;)r = u(Q(s), 157), are(r, e, n) } function _it(t, e) { var n, r; for (r = new S(e); r.a < r.c.c.length;)n = u(Q(r), 46), Au(t.b.b, n.b), ien(u(n.a, 189), u(n.b, 81)) } function Acn(t) { var e, n; for (n = $p(new Ap, 91), e = !0; t.Ob();)e || (n.a += ao), e = !1, Cc(n, t.Pb()); return (n.a += "]", n).a } function a7(t, e) { var n; n = (t.Bb & kd) != 0, e ? t.Bb |= kd : t.Bb &= -16385, t.Db & 4 && !(t.Db & 1) && Oi(t, new mf(t, 1, 16, n, e)) } function Cit(t, e) { var n; n = (t.Bb & Ac) != 0, e ? t.Bb |= Ac : t.Bb &= -32769, t.Db & 4 && !(t.Db & 1) && Oi(t, new mf(t, 1, 18, n, e)) } function Pyt(t, e) { var n; n = (t.Bb & Ac) != 0, e ? t.Bb |= Ac : t.Bb &= -32769, t.Db & 4 && !(t.Db & 1) && Oi(t, new mf(t, 1, 18, n, e)) } function Fyt(t, e) { var n; n = (t.Bb & oo) != 0, e ? t.Bb |= oo : t.Bb &= -65537, t.Db & 4 && !(t.Db & 1) && Oi(t, new mf(t, 1, 20, n, e)) } function Byt(t) { var e; return e = Ot(Sh, Ed, 25, 2, 15, 1), t -= oo, e[0] = (t >> 10) + II & Ns, e[1] = (t & 1023) + 56320 & Ns, Fh(e, 0, e.length) } function gz(t) { var e, n; return n = u(K(t, (Ce(), Jl)), 103), n == (xo(), h0) ? (e = Xt(xe(K(t, BV))), e >= 1 ? Af : X0) : n } function Lcn(t) { switch (u(K(t, (Ce(), Y0)), 218).g) { case 1: return new _X; case 3: return new MX; default: return new TX } } function hb(t) { if (t.c) hb(t.c); else if (t.d) throw et(new Yo("Stream already terminated, can't be modified or used")) } function Sit(t) { var e; return t.Db & 64 ? kf(t) : (e = new Ih(kf(t)), e.a += " (identifier: ", So(e, t.k), e.a += ")", e.a) } function ore(t, e, n) { var r, s; return r = (xv(), s = new mp, s), R$(r, e), j$(r, n), t && Hr((!t.a && (t.a = new qs(Qh, t, 5)), t.a), r), r } function Ait(t, e, n, r) { var s, o; return Pn(r), Pn(n), s = t.xc(e), o = s == null ? n : kHt(u(s, 15), u(n, 14)), o == null ? t.Bc(e) : t.zc(e, o), o } function on(t) { var e, n, r, s; return n = (e = u(Yf((r = t.gm, s = r.f, s == ti ? r : s)), 9), new hh(e, u(pf(e, e.length), 9), 0)), xf(n, t), n } function Mcn(t, e, n) { var r, s; for (s = t.a.ec().Kc(); s.Ob();)if (r = u(s.Pb(), 10), MD(n, u(Fe(e, r.p), 14))) return r; return null } function Dcn(t, e, n) { var r; try { hon(t, e, n) } catch (s) { throw s = os(s), Et(s, 597) ? (r = s, et(new $wt(r))) : et(s) } return e } function Qp(t, e) { var n; return Xo(t) && Xo(e) && (n = t - e, DI < n && n < mb) ? n : Wp(Uee(Xo(t) ? Ph(t) : t, Xo(e) ? Ph(e) : e)) } function Wa(t, e) { var n; return Xo(t) && Xo(e) && (n = t + e, DI < n && n < mb) ? n : Wp(Wan(Xo(t) ? Ph(t) : t, Xo(e) ? Ph(e) : e)) } function ja(t, e) { var n; return Xo(t) && Xo(e) && (n = t * e, DI < n && n < mb) ? n : Wp(gmn(Xo(t) ? Ph(t) : t, Xo(e) ? Ph(e) : e)) } function uc(t, e) { var n; return t.i || M4t(t), n = u(Ao(t.g, e), 46), n ? new Qd(t.j, u(n.a, 19).a, u(n.b, 19).a) : (pn(), pn(), wo) } function Jv(t, e, n) { var r; return r = t.a.get(e), t.a.set(e, n === void 0 ? null : n), r === void 0 ? (++t.c, Qj(t.b)) : ++t.d, r } function Icn(t, e, n) { t.n = K2(D2, [te, Kat], [364, 25], 14, [n, Ms(b.Math.ceil(e / 32))], 2), t.o = e, t.p = n, t.j = e - 1 >> 1, t.k = n - 1 >> 1 } function Lit() { r4t(); var t, e, n; n = S4n++ + Date.now(), t = Ms(b.Math.floor(n * NI)) & Cq, e = Ms(n - t * w6t), this.a = t ^ 1502, this.b = e ^ tot } function $0(t) { var e, n, r; for (e = new le, r = new S(t.j); r.a < r.c.c.length;)n = u(Q(r), 11), ue(e, n.b); return zr(e), new r_(e) } function Zo(t) { var e, n, r; for (e = new le, r = new S(t.j); r.a < r.c.c.length;)n = u(Q(r), 11), ue(e, n.e); return zr(e), new r_(e) } function Gs(t) { var e, n, r; for (e = new le, r = new S(t.j); r.a < r.c.c.length;)n = u(Q(r), 11), ue(e, n.g); return zr(e), new r_(e) } function Ocn(t) { var e, n; for (n = Mgn(Vl(Hm(t))).Kc(); n.Ob();)if (e = Kr(n.Pb()), dC(t, e)) return Nrn((FHt(), r4e), e); return null } function Ncn(t) { var e, n, r; for (n = 0, r = t.length; n < r; n++)if (t[n] == null) throw et(new m6("at index " + n)); return e = t, new Al(e) } function Pcn(t, e) { var n; if (n = dI(t.Tg(), e), Et(n, 99)) return u(n, 18); throw et(new Bn(c2 + e + "' is not a valid reference")) } function Fcn(t) { var e; return e = cy(t), e > 34028234663852886e22 ? ms : e < -34028234663852886e22 ? Rs : e } function cre(t) { return t -= t >> 1 & 1431655765, t = (t >> 2 & 858993459) + (t & 858993459), t = (t >> 4) + t & 252645135, t += t >> 8, t += t >> 16, t & 63 } function ure(t) { var e, n, r, s; for (e = new HUt(t.Hd().gc()), s = 0, r = W6(t.Hd().Kc()); r.Ob();)n = r.Pb(), Uen(e, n, pe(s++)); return vdn(e.a) } function Bcn(t, e) { var n, r, s; for (s = new Rr, r = e.vc().Kc(); r.Ob();)n = u(r.Pb(), 42), Pi(s, n.cd(), Aan(t, u(n.dd(), 15))); return s } function Ryt(t, e) { t.n.c.length == 0 && ue(t.n, new r$(t.s, t.t, t.i)), ue(t.b, e), y3t(u(Fe(t.n, t.n.c.length - 1), 211), e), mue(t, e) } function o4(t) { return (t.c != t.b.b || t.i != t.g.b) && (t.a.c = Ot(nr, De, 1, 0, 5, 1), Hs(t.a, t.b), Hs(t.a, t.g), t.c = t.b.b, t.i = t.g.b), t.a } function Mit(t, e) { var n, r, s; for (s = 0, r = u(e.Kb(t), 20).Kc(); r.Ob();)n = u(r.Pb(), 17), Re(Be(K(n, (ie(), K1)))) || ++s; return s } function Rcn(t, e) { var n, r, s; r = Z3(e), s = Xt(xe(ny(r, (Ce(), Sf)))), n = b.Math.max(0, s / 2 - .5), nC(e, n, 1), ue(t, new eVt(e, n)) } function mh() { mh = J, TO = new TM(W0, 0), gS = new TM("FIRST", 1), g2 = new TM(vfe, 2), pS = new TM("LAST", 3), Ny = new TM(wfe, 4) } function z0() { z0 = J, nft = new jR(SC, 0), YO = new jR("POLYLINE", 1), A9 = new jR("ORTHOGONAL", 2), qx = new jR("SPLINES", 3) } function pz() { pz = J, gCt = new Cet("ASPECT_RATIO_DRIVEN", 0), Aht = new Cet("MAX_SCALE_DRIVEN", 1), dCt = new Cet("AREA_DRIVEN", 2) } function HD() { HD = J, mG = new Aet("P1_STRUCTURE", 0), yG = new Aet("P2_PROCESSING_ORDER", 1), xG = new Aet("P3_EXECUTION", 2) } function bz() { bz = J, kht = new Eet("OVERLAP_REMOVAL", 0), yht = new Eet("COMPACTION", 1), xht = new Eet("GRAPH_SIZE_CALCULATION", 2) } function tw(t, e) { return A1(), yf(r2), b.Math.abs(t - e) <= r2 || t == e || isNaN(t) && isNaN(e) ? 0 : t < e ? -1 : t > e ? 1 : Cv(isNaN(t), isNaN(e)) } function lre(t, e) { var n, r; for (n = gi(t, 0); n.b != n.d.c;) { if (r = uM(xe(di(n))), r == e) return; if (r > e) { lrt(n); break } } YM(n, e) } function an(t, e) { var n, r, s, o, h; if (n = e.f, db(t.c.d, n, e), e.g != null) for (s = e.g, o = 0, h = s.length; o < h; ++o)r = s[o], db(t.c.e, r, e) } function jcn(t, e, n, r) { var s, o, h; for (s = e + 1; s < n; ++s)for (o = s; o > e && r.ue(t[o - 1], t[o]) > 0; --o)h = t[o], ds(t, o, t[o - 1]), ds(t, o - 1, h) } function yh(t, e, n, r) { if (e < 0) r5t(t, n, r); else { if (!n.Ij()) throw et(new Bn(c2 + n.ne() + zC)); u(n, 66).Nj().Tj(t, t.yh(), e, r) } } function vz(t, e) { if (e == t.d) return t.e; if (e == t.e) return t.d; throw et(new Bn("Node " + e + " not part of edge " + t)) } function $cn(t, e) { switch (e.g) { case 2: return t.b; case 1: return t.c; case 4: return t.d; case 3: return t.a; default: return !1 } } function hre(t, e) { switch (e.g) { case 2: return t.b; case 1: return t.c; case 4: return t.d; case 3: return t.a; default: return !1 } } function jyt(t, e, n, r) { switch (e) { case 3: return t.f; case 4: return t.g; case 5: return t.i; case 6: return t.j }return Lyt(t, e, n, r) } function zcn(t) { return t.k != (Kn(), Ws) ? !1 : A8(new kn(null, new Ov(new pr(mr(Gs(t).a.Kc(), new H)))), new yF) } function qcn(t) { return t.e == null ? t : (!t.c && (t.c = new Hst((t.f & 256) != 0, t.i, t.a, t.d, (t.f & 16) != 0, t.j, t.g, null)), t.c) } function Hcn(t, e) { return t.h == MI && t.m == 0 && t.l == 0 ? (e && (u2 = hu(0, 0, 0)), fGt((N8(), O8t))) : (e && (u2 = hu(t.l, t.m, t.h)), hu(0, 0, 0)) } function Jo(t) { var e; return Array.isArray(t) && t.im === de ? Mp(bl(t)) + "@" + (e = ns(t) >>> 0, e.toString(16)) : t.toString() } function Y_(t) { var e; this.a = (e = u(t.e && t.e(), 9), new hh(e, u(pf(e, e.length), 9), 0)), this.b = Ot(nr, De, 1, this.a.a.length, 5, 1) } function Vcn(t) { var e, n, r; for (this.a = new S0, r = new S(t); r.a < r.c.c.length;)n = u(Q(r), 14), e = new vKt, Jsn(e, n), Ys(this.a, e) } function Gcn(t) { Pm(); var e, n, r, s; for (e = t.o.b, r = u(u(ji(t.r, (we(), Lr)), 21), 84).Kc(); r.Ob();)n = u(r.Pb(), 111), s = n.e, s.b += e } function vl(t) { var e; if (t.b) { if (vl(t.b), t.b.d != t.c) throw et(new uh) } else t.d.dc() && (e = u(t.f.c.xc(t.e), 14), e && (t.d = e)) } function Ucn(t) { var e; return t == null ? !0 : (e = t.length, e > 0 && (Yr(e - 1, t.length), t.charCodeAt(e - 1) == 58) && !Dit(t, ZS, JS)) } function Dit(t, e, n) { var r, s; for (r = 0, s = t.length; r < s; r++)if (iit((Yr(r, t.length), t.charCodeAt(r)), e, n)) return !0; return !1 } function Wcn(t, e) { var n, r; for (r = t.e.a.ec().Kc(); r.Ob();)if (n = u(r.Pb(), 266), Q1n(e, n.d) || i0n(e, n.d)) return !0; return !1 } function Kcn(t, e) { var n, r, s; for (r = Obn(t, e), s = r[r.length - 1] / 2, n = 0; n < r.length; n++)if (r[n] >= s) return e.c + n; return e.c + e.b.gc() } function Ycn(t, e) { f8(); var n, r, s, o; for (r = _Jt(t), s = e, I8(r, 0, r.length, s), n = 0; n < r.length; n++)o = Dhn(t, r[n], n), n != o && K_(t, n, o) } function $yt(t, e) { var n, r, s, o, h, d; for (r = 0, n = 0, o = e, h = 0, d = o.length; h < d; ++h)s = o[h], s > 0 && (r += s, ++n); return n > 1 && (r += t.d * (n - 1)), r } function zyt(t) { var e, n, r; for (r = new yg, r.a += "[", e = 0, n = t.gc(); e < n;)So(r, o_(t.ki(e))), ++e < n && (r.a += ao); return r.a += "]", r.a } function Xcn(t) { var e, n, r, s, o; return o = i4t(t), n = hM(t.c), r = !n, r && (s = new pg, Jf(o, "knownLayouters", s), e = new M$t(s), Oa(t.c, e)), o } function Qcn(t, e) { var n, r, s; for (Pn(e), n = !1, r = new S(t); r.a < r.c.c.length;)s = Q(r), ey(e, s, !1) && (y_(r), n = !0); return n } function qyt(t) { var e, n, r; for (r = Xt(xe(t.a.We((Ti(), OG)))), n = new S(t.a.xf()); n.a < n.c.c.length;)e = u(Q(n), 680), Fle(t, e, r) } function Iit(t, e) { var n, r; for (r = new S(e); r.a < r.c.c.length;)n = u(Q(r), 46), ue(t.b.b, u(n.b, 81)), hrt(u(n.a, 189), u(n.b, 81)) } function Zcn(t, e, n) { var r, s; for (s = t.a.b, r = s.c.length; r < n; r++)Rm(s, 0, new Oh(t.a)); Fo(e, u(Fe(s, s.c.length - n), 29)), t.b[e.p] = n } function Jcn(t, e, n) { var r; r = n, !r && (r = pvt(new Yk, 0)), Ar(r, tfe, 2), fie(t.b, e, Kc(r, 1)), Nmn(t, e, Kc(r, 1)), C3n(e, Kc(r, 1)), br(r) } function tun(t, e, n, r, s) { zl(), Ef(df(ff(hf(gf(new Dh, 0), s.d.e - t), e), s.d)), Ef(df(ff(hf(gf(new Dh, 0), n - s.a.e), s.a), r)) } function Hyt(t, e, n, r, s, o) { this.a = t, this.c = e, this.b = n, this.f = r, this.d = s, this.e = o, this.c > 0 && this.b > 0 && kvt(this.c, this.b, this.a) } function Vyt(t) { Oit(), this.c = N1(ct(ot(G4n, 1), De, 831, 0, [Wve])), this.b = new Rr, this.a = t, Pi(this.b, ZV, 1), Mu(Kve, new t$t(this)) } function fre(t, e) { var n; return t.d ? Il(t.b, e) ? u(or(t.b, e), 51) : (n = e.Kf(), Pi(t.b, e, n), n) : e.Kf() } function Gyt(t, e) { var n; return qt(t) === qt(e) ? !0 : Et(e, 91) ? (n = u(e, 91), t.e == n.e && t.d == n.d && Prn(t, n.a)) : !1 } function Z6(t) { switch (we(), t.g) { case 4: return Fn; case 1: return Wn; case 3: return Lr; case 2: return jn; default: return fc } } function Uyt(t, e) { switch (e) { case 3: return t.f != 0; case 4: return t.g != 0; case 5: return t.i != 0; case 6: return t.j != 0 }return Gmt(t, e) } function eun(t) { switch (t.g) { case 0: return new GQ; case 1: return new NF; default: throw et(new Bn(uct + (t.f != null ? t.f : "" + t.g))) } } function dre(t) { switch (t.g) { case 0: return new OF; case 1: return new PF; default: throw et(new Bn(_ot + (t.f != null ? t.f : "" + t.g))) } } function gre(t) { switch (t.g) { case 0: return new Tpt; case 1: return new _zt; default: throw et(new Bn(aH + (t.f != null ? t.f : "" + t.g))) } } function nun(t) { switch (t.g) { case 1: return new $Q; case 2: return new DUt; default: throw et(new Bn(uct + (t.f != null ? t.f : "" + t.g))) } } function run(t) { var e, n; if (t.b) return t.b; for (n = U1 ? null : t.d; n;) { if (e = U1 ? null : n.b, e) return e; n = U1 ? null : n.d } return s8(), u7t } function iun(t) { var e, n, r; return t.e == 0 ? 0 : (e = t.d << 5, n = t.a[t.d - 1], t.e < 0 && (r = Tee(t), r == t.d - 1 && (--n, n = n | 0)), e -= uI(n), e) } function sun(t) { var e, n, r; return t < FH.length ? FH[t] : (n = t >> 5, e = t & 31, r = Ot(Br, oi, 25, n + 1, 15, 1), r[n] = 1 << e, new K3(1, n + 1, r)) } function pre(t) { var e, n, r; return n = t.zg(), n ? (e = t.Ug(), Et(e, 160) && (r = pre(u(e, 160)), r != null) ? r + "." + n : n) : null } function ey(t, e, n) { var r, s; for (s = t.Kc(); s.Ob();)if (r = s.Pb(), qt(e) === qt(r) || e != null && Ni(e, r)) return n && s.Qb(), !0; return !1 } function Wyt(t, e, n) { var r, s; if (++t.j, n.dc()) return !1; for (s = n.Kc(); s.Ob();)r = s.Pb(), t.Hi(e, t.oi(e, r)), ++e; return !0 } function aun(t, e, n, r) { var s, o; if (o = n - e, o < 3) for (; o < 3;)t *= 10, ++o; else { for (s = 1; o > 3;)s *= 10, --o; t = (t + (s >> 1)) / s | 0 } return r.i = t, !0 } function oun(t) { return mit(), Rn(), !!(hre(u(t.a, 81).j, u(t.b, 103)) || u(t.a, 81).d.e != 0 && hre(u(t.a, 81).j, u(t.b, 103))) } function cun(t) { T$(), u(t.We((Ti(), m2)), 174).Hc((ml(), RG)) && (u(t.We(Uy), 174).Fc((cl(), Hx)), u(t.We(m2), 174).Mc(RG)) } function bre(t, e) { var n, r; if (e) { for (n = 0; n < t.i; ++n)if (r = u(t.g[n], 366), r.Di(e)) return !1; return Hr(t, e) } else return !1 } function Kyt(t) { var e, n, r, s; for (e = new pg, s = new A(t.b.Kc()); s.b.Ob();)r = u(s.b.Pb(), 686), n = Tdn(r), GJe(e, e.a.length, n); return e.a } function Yyt(t) { var e; return !t.c && (t.c = new rl), ua(t.d, new As), lvn(t), e = Z2n(t), Ts(new kn(null, new Cn(t.d, 16)), new Tr(t)), e } function wz(t) { var e; return t.Db & 64 ? V_(t) : (e = new Ih(V_(t)), e.a += " (instanceClassName: ", So(e, t.D), e.a += ")", e.a) } function uun(t, e) { var n, r, s, o; e && (s = B0(e, "x"), n = new _$t(t), F8(n.a, (Pn(s), s)), o = B0(e, "y"), r = new C$t(t), R8(r.a, (Pn(o), o))) } function lun(t, e) { var n, r, s, o; e && (s = B0(e, "x"), n = new x$t(t), B8(n.a, (Pn(s), s)), o = B0(e, "y"), r = new E$t(t), j8(r.a, (Pn(o), o))) } function is(t, e) { var n, r, s; if (n = (t.i == null && xd(t), t.i), r = e.aj(), r != -1) { for (s = n.length; r < s; ++r)if (n[r] == e) return r } return -1 } function hun(t) { var e, n, r, s, o; for (n = u(t.g, 674), r = t.i - 1; r >= 0; --r)for (e = n[r], s = 0; s < r; ++s)if (o = n[s], gue(t, e, o)) { nx(t, r); break } } function fun(t) {
                                var e = t.e; function n(r) {
                                    return !r || r.length == 0 ? "" : "	" + r.join(`
        `)
                                } return e && (e.stack || n(t[Sat]))
                            } function Xyt(t) { qm(); var e; switch (e = t.Pc(), e.length) { case 0: return sut; case 1: return new pnt(zr(e[0])); default: return new Ynt(Ncn(e)) } } function ew(t, e) { switch (e.g) { case 1: return I6(t.j, (Ku(), f9t)); case 2: return I6(t.j, (Ku(), g9t)); default: return pn(), pn(), wo } } function Qyt(t, e) { switch (e) { case 3: Wv(t, 0); return; case 4: Kv(t, 0); return; case 5: Du(t, 0); return; case 6: Iu(t, 0); return }_yt(t, e) } function Oit() { Oit = J, ER(), ZV = (Ce(), Nw), Kve = N1(ct(ot(jht, 1), gkt, 146, 0, [SO, Sf, Fx, Ow, qy, qlt, m9, y9, Hlt, yS, Q4, Fb, Z4])) } function vre(t) { var e, n; e = t.d == (rx(), a9), n = X3t(t), e && !n || !e && n ? Jt(t.a, (Ce(), Pd), (t0(), $O)) : Jt(t.a, (Ce(), Pd), (t0(), jO)) } function dun(t, e) { var n; return n = u(Hl(t, nb(new Ee, new ne, new tr, ct(ot(xl, 1), se, 132, 0, [(j1(), Zl)]))), 15), n.Qc(zWt(n.gc())) } function mz() { mz = J, aft = new qR("SIMPLE", 0), lAt = new qR("GROUP_DEC", 1), fAt = new qR("GROUP_MIXED", 2), hAt = new qR("GROUP_INC", 3) } function Nit() { Nit = J, bft = new UF, PAt = new WF, FAt = new KF, BAt = new Ak, RAt = new YF, jAt = new XF, $At = new FZ, zAt = new Lk, qAt = new Mk } function wre(t, e, n) { Cte(), wzt.call(this), this.a = K2(sge, [te, A6t], [595, 212], 0, [qH, kut], 2), this.c = new S6, this.g = t, this.f = e, this.d = n } function Zyt(t, e) { this.n = K2(D2, [te, Kat], [364, 25], 14, [e, Ms(b.Math.ceil(t / 32))], 2), this.o = t, this.p = e, this.j = t - 1 >> 1, this.k = e - 1 >> 1 } function gun(t, e) { Ar(e, "End label post-processing", 1), Ts(Qi(oc(new kn(null, new Cn(t.b, 16)), new JK), new tY), new eY), br(e) } function pun(t, e, n) { var r, s; return r = Xt(t.p[e.i.p]) + Xt(t.d[e.i.p]) + e.n.b + e.a.b, s = Xt(t.p[n.i.p]) + Xt(t.d[n.i.p]) + n.n.b + n.a.b, s - r } function bun(t, e, n) { var r, s; for (r = Xs(n, Eo), s = 0; Oc(r, 0) != 0 && s < e; s++)r = Wa(r, Xs(t[s], Eo)), t[s] = $r(r), r = Rp(r, 32); return $r(r) } function yz(t) { var e, n, r, s; for (s = 0, n = 0, r = t.length; n < r; n++)e = (Yr(n, t.length), t.charCodeAt(n)), e < 64 && (s = O1(s, L0(1, e))); return s } function vun(t) { var e; return t == null ? null : new Fp((e = Xc(t, !0), e.length > 0 && (Yr(0, e.length), e.charCodeAt(0) == 43) ? e.substr(1) : e)) } function wun(t) { var e; return t == null ? null : new Fp((e = Xc(t, !0), e.length > 0 && (Yr(0, e.length), e.charCodeAt(0) == 43) ? e.substr(1) : e)) } function Jyt(t, e) { var n; return t.i > 0 && (e.length < t.i && (n = TD(bl(e).c, t.i), e = n), qc(t.g, 0, e, 0, t.i)), e.length > t.i && ds(e, t.i, null), e } function au(t, e, n) { var r, s, o; return t.ej() ? (r = t.i, o = t.fj(), $D(t, r, e), s = t.Zi(3, null, e, r, o), n ? n.Ei(s) : n = s) : $D(t, t.i, e), n } function mun(t, e, n) { var r, s; return r = new P0(t.e, 4, 10, (s = e.c, Et(s, 88) ? u(s, 26) : (hn(), ef)), null, Pg(t, e), !1), n ? n.Ei(r) : n = r, n } function yun(t, e, n) { var r, s; return r = new P0(t.e, 3, 10, null, (s = e.c, Et(s, 88) ? u(s, 26) : (hn(), ef)), Pg(t, e), !1), n ? n.Ei(r) : n = r, n } function mre(t) { Pm(); var e; return e = new No(u(t.e.We((Ti(), a5)), 8)), t.B.Hc((ml(), M9)) && (e.a <= 0 && (e.a = 20), e.b <= 0 && (e.b = 20)), e } function yre(t) { ry(); var e; return (t.q ? t.q : (pn(), pn(), u0))._b((Ce(), Dw)) ? e = u(K(t, Dw), 197) : e = u(K(Qa(t), mS), 197), e } function ny(t, e) { var n, r; return r = null, ia(t, (Ce(), XV)) && (n = u(K(t, XV), 94), n.Xe(e) && (r = n.We(e))), r == null && (r = K(Qa(t), e)), r } function xre(t, e) { var n, r, s; return Et(e, 42) ? (n = u(e, 42), r = n.cd(), s = ty(t.Rc(), r), wd(s, n.dd()) && (s != null || t.Rc()._b(r))) : !1 } function Pit(t, e) { var n, r, s; return t.f > 0 ? (t.qj(), r = e == null ? 0 : ns(e), s = (r & Di) % t.d.length, n = xoe(t, s, r, e), n != -1) : !1 } function e1(t, e) { var n, r, s; return t.f > 0 && (t.qj(), r = e == null ? 0 : ns(e), s = (r & Di) % t.d.length, n = B4t(t, s, r, e), n) ? n.dd() : null } function VD(t, e) { var n, r, s, o; for (o = gu(t.e.Tg(), e), n = u(t.g, 119), s = 0; s < t.i; ++s)if (r = n[s], o.rl(r.ak())) return !1; return !0 } function kre(t) { if (t.b == null) { for (; t.a.Ob();)if (t.b = t.a.Pb(), !u(t.b, 49).Zg()) return !0; return t.b = null, !1 } else return !0 } function Ere(t, e) { t.mj(); try { t.d.Vc(t.e++, e), t.f = t.d.j, t.g = -1 } catch (n) { throw n = os(n), Et(n, 73) ? et(new uh) : et(n) } } function xz(t, e) { z2t(); var n, r; return n = $M((oR(), oR(), JC)), r = null, e == n && (r = u(Uc(D8t, t), 615)), r || (r = new oYt(t), e == n && Po(D8t, t, r)), r } function Tre(t, e) { var n, r; t.a = Wa(t.a, 1), t.c = b.Math.min(t.c, e), t.b = b.Math.max(t.b, e), t.d += e, n = e - t.f, r = t.e + n, t.f = r - t.e - n, t.e = r } function xun(t, e) { var n; t.c = e, t.a = iun(e), t.a < 54 && (t.f = (n = e.d > 1 ? O1(L0(e.a[1], 32), Xs(e.a[0], Eo)) : Xs(e.a[0], Eo), qv(ja(e.e, n)))) } function GD(t, e) { var n; return Xo(t) && Xo(e) && (n = t % e, DI < n && n < mb) ? n : Wp((W5t(Xo(t) ? Ph(t) : t, Xo(e) ? Ph(e) : e, !0), u2)) } function X_(t, e) { var n; zyn(e), n = u(K(t, (Ce(), HV)), 276), n && Jt(t, HV, yhn(n)), Eg(t.c), Eg(t.f), tmt(t.d), tmt(u(K(t, WV), 207)) } function _re(t) { this.e = Ot(Br, oi, 25, t.length, 15, 1), this.c = Ot(Tl, o0, 25, t.length, 16, 1), this.b = Ot(Tl, o0, 25, t.length, 16, 1), this.f = 0 } function kun(t) { var e, n; for (t.j = Ot(wa, Do, 25, t.p.c.length, 15, 1), n = new S(t.p); n.a < n.c.c.length;)e = u(Q(n), 10), t.j[e.p] = e.o.b / t.i } function Fit(t) { var e; t.c != 0 && (e = u(Fe(t.a, t.b), 287), e.b == 1 ? (++t.b, t.b < t.a.c.length && VB(u(Fe(t.a, t.b), 287))) : --e.b, --t.c) } function Eun(t) { var e; e = t.a; do e = u(qr(new pr(mr(Gs(e).a.Kc(), new H))), 17).d.i, e.k == (Kn(), ha) && ue(t.e, e); while (e.k == (Kn(), ha)) } function t3t() { t3t = J, cAt = new Sv(15), C3e = new po((Ti(), $b), cAt), A3e = new po(zb, 15), S3e = new po(tft, pe(0)), _3e = new po(jx, B7) } function Fl() { Fl = J, eN = new zR("PORTS", 0), Hb = new zR("PORT_LABELS", 1), tN = new zR("NODE_LABELS", 2), Ky = new zR("MINIMUM_SIZE", 3) } function UD(t, e) { var n, r; for (r = e.length, n = 0; n < r; n += 2)Yc(t, (Yr(n, e.length), e.charCodeAt(n)), (Yr(n + 1, e.length), e.charCodeAt(n + 1))) } function Cre(t, e, n) { var r, s, o, h; for (o = e - t.e, h = n - t.f, s = new S(t.a); s.a < s.c.c.length;)r = u(Q(s), 187), KD(r, r.s + o, r.t + h); t.e = e, t.f = n } function Tun(t, e) { var n, r, s, o; for (o = e.b.b, t.a = new hs, t.b = Ot(Br, oi, 25, o, 15, 1), n = 0, s = gi(e.b, 0); s.b != s.d.c;)r = u(di(s), 86), r.g = n++ } function Sre(t, e) { var n, r, s, o; return n = e >> 5, e &= 31, s = t.d + n + (e == 0 ? 0 : 1), r = Ot(Br, oi, 25, s, 15, 1), x1n(r, t.a, n, e), o = new K3(t.e, s, r), S_(o), o } function e3t(t, e, n) { var r, s; r = u(Uc(O9, e), 117), s = u(Uc(sA, e), 117), n ? (Po(O9, t, r), Po(sA, t, s)) : (Po(sA, t, r), Po(O9, t, s)) } function Are(t, e, n) { var r, s, o; for (s = null, o = t.b; o;) { if (r = t.a.ue(e, o.d), n && r == 0) return o; r >= 0 ? o = o.a[1] : (s = o, o = o.a[0]) } return s } function Lre(t, e, n) { var r, s, o; for (s = null, o = t.b; o;) { if (r = t.a.ue(e, o.d), n && r == 0) return o; r <= 0 ? o = o.a[0] : (s = o, o = o.a[1]) } return s } function _un(t, e, n, r) { var s, o, h; return s = !1, ayn(t.f, n, r) && (Xun(t.f, t.a[e][n], t.a[e][r]), o = t.a[e], h = o[r], o[r] = o[n], o[n] = h, s = !0), s } function n3t(t, e, n, r, s) { var o, h, d; for (h = s; e.b != e.c;)o = u(P6(e), 10), d = u(uc(o, r).Xb(0), 11), t.d[d.p] = h++, n.c[n.c.length] = d; return h } function r3t(t, e, n) { var r, s, o, h, d; return h = t.k, d = e.k, r = n[h.g][d.g], s = xe(ny(t, r)), o = xe(ny(e, r)), b.Math.max((Pn(s), s), (Pn(o), o)) } function Cun(t, e, n) { var r, s, o, h; for (r = n / t.c.length, s = 0, h = new S(t); h.a < h.c.c.length;)o = u(Q(h), 200), Nne(o, o.f + r * s), sfn(o, e, r), ++s } function Mre(t, e, n) { var r, s, o, h; for (s = u(or(t.b, n), 177), r = 0, h = new S(e.j); h.a < h.c.c.length;)o = u(Q(h), 113), s[o.d.p] && ++r; return r } function Dre(t) { var e, n; return e = u(Dn(t.a, 4), 126), e != null ? (n = Ot(fft, zct, 415, e.length, 0, 1), qc(e, 0, n, 0, e.length), n) : K3e } function Sun() { var t; return IH != 0 && (t = Hrn(), t - C0e > 2e3 && (C0e = t, OH = b.setTimeout(OWe, 10))), IH++ == 0 ? (osn((Lpt(), M8t)), !0) : !1 } function Aun(t, e) { var n, r, s; for (r = new pr(mr(Gs(t).a.Kc(), new H)); Zr(r);)if (n = u(qr(r), 17), s = n.d.i, s.c == e) return !1; return !0 } function i3t(t, e) { var n, r; if (Et(e, 245)) { r = u(e, 245); try { return n = t.vd(r), n == 0 } catch (s) { if (s = os(s), !Et(s, 205)) throw et(s) } } return !1 } function Lun() { return Error.stackTraceLimit > 0 ? (b.Error.stackTraceLimit = Error.stackTraceLimit = 64, !0) : "stack" in new Error } function Mun(t, e) { return A1(), A1(), yf(r2), (b.Math.abs(t - e) <= r2 || t == e || isNaN(t) && isNaN(e) ? 0 : t < e ? -1 : t > e ? 1 : Cv(isNaN(t), isNaN(e))) > 0 } function s3t(t, e) { return A1(), A1(), yf(r2), (b.Math.abs(t - e) <= r2 || t == e || isNaN(t) && isNaN(e) ? 0 : t < e ? -1 : t > e ? 1 : Cv(isNaN(t), isNaN(e))) < 0 } function Ire(t, e) { return A1(), A1(), yf(r2), (b.Math.abs(t - e) <= r2 || t == e || isNaN(t) && isNaN(e) ? 0 : t < e ? -1 : t > e ? 1 : Cv(isNaN(t), isNaN(e))) <= 0 } function Bit(t, e) { for (var n = 0; !e[n] || e[n] == "";)n++; for (var r = e[n++]; n < e.length; n++)!e[n] || e[n] == "" || (r += t + e[n]); return r } function Fh(t, e, n) { var r, s, o, h; for (o = e + n, nmt(e, o, t.length), h = "", s = e; s < o;)r = b.Math.min(s + 1e4, o), h += mtn(t.slice(s, r)), s = r; return h } function Ore(t) { var e, n, r, s, o; if (t == null) return null; for (o = new le, n = lit(t), r = 0, s = n.length; r < s; ++r)e = n[r], ue(o, Xc(e, !0)); return o } function Nre(t) { var e, n, r, s, o; if (t == null) return null; for (o = new le, n = lit(t), r = 0, s = n.length; r < s; ++r)e = n[r], ue(o, Xc(e, !0)); return o } function Pre(t) { var e, n, r, s, o; if (t == null) return null; for (o = new le, n = lit(t), r = 0, s = n.length; r < s; ++r)e = n[r], ue(o, Xc(e, !0)); return o } function Fre(t, e) { var n, r, s; if (t.c) Kv(t.c, e); else for (n = e - Wu(t), s = new S(t.d); s.a < s.c.c.length;)r = u(Q(s), 157), Fre(r, Wu(r) + n) } function Bre(t, e) { var n, r, s; if (t.c) Wv(t.c, e); else for (n = e - Dl(t), s = new S(t.a); s.a < s.c.c.length;)r = u(Q(s), 157), Bre(r, Dl(r) + n) } function Dun(t, e) { var n, r, s, o; for (s = new iu(e.gc()), r = e.Kc(); r.Ob();)n = r.Pb(), o = Qst(t, u(n, 56)), o && (s.c[s.c.length] = o); return s } function kz(t, e) { var n, r, s; return t.qj(), r = e == null ? 0 : ns(e), s = (r & Di) % t.d.length, n = B4t(t, s, r, e), n ? (Ute(t, n), n.dd()) : null } function nw(t) { var e, n; for (n = Yse(t), e = null; t.c == 2;)Si(t), e || (e = (Ai(), Ai(), new i_(2)), vb(e, n), n = e), n.$l(Yse(t)); return n } function o7(t) { var e, n, r; if (r = null, e = Dd in t.a, n = !e, n) throw et(new fd("Every element must have an id.")); return r = ix(D0(t, Dd)), r } function Ez(t) { var e, n, r; if (r = t.Zg(), !r) for (e = 0, n = t.eh(); n; n = n.eh()) { if (++e > Yat) return n.fh(); if (r = n.Zg(), r || n == t) break } return r } function a3t(t) { return s$(), Et(t, 156) ? u(or(oN, R0e), 288).vg(t) : Il(oN, bl(t)) ? u(or(oN, bl(t)), 288).vg(t) : null } function Iun(t) { if (Tz(q7, t)) return Rn(), Y7; if (Tz(xct, t)) return Rn(), Lb; throw et(new Bn("Expecting true or false")) } function Oun(t, e) { if (e.c == t) return e.d; if (e.d == t) return e.c; throw et(new Bn("Input edge is not connected to the input port.")) } function Rre(t, e) { return t.e > e.e ? 1 : t.e < e.e ? -1 : t.d > e.d ? t.e : t.d < e.d ? -e.e : t.e * pyt(t.a, e.a, t.d) } function jre(t) { return t >= 48 && t < 48 + b.Math.min(10, 10) ? t - 48 : t >= 97 && t < 97 ? t - 97 + 10 : t >= 65 && t < 65 ? t - 65 + 10 : -1 } function $re(t, e) { var n; return qt(e) === qt(t) ? !0 : !Et(e, 21) || (n = u(e, 21), n.gc() != t.gc()) ? !1 : t.Ic(n) } function Nun(t, e) { var n, r, s, o; return r = t.a.length - 1, n = e - t.b & r, o = t.c - e & r, s = t.c - t.b & r, bUt(n < s), n >= o ? (Oon(t, e), -1) : (Non(t, e), 1) } function Pun(t, e) { var n, r; for (n = (Yr(e, t.length), t.charCodeAt(e)), r = e + 1; r < t.length && (Yr(r, t.length), t.charCodeAt(r) == n);)++r; return r - e } function o3t(t) { switch (t.g) { case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20: return !0; default: return !1 } } function Fun(t, e) { var n = t.a, r; e = String(e), n.hasOwnProperty(e) && (r = n[e]); var s = (rit(), hut)[typeof r], o = s ? s(r) : myt(typeof r); return o } function rw(t, e) { if (t.a < 0) throw et(new Yo("Did not call before(...) or after(...) before calling add(...).")); return hbt(t, t.a, e), t } function Bun(t, e, n, r) { var s, o; e.c.length != 0 && (s = xpn(n, r), o = y0n(e), Ts(P$(new kn(null, new Cn(o, 1)), new AQ), new IYt(t, n, s, r))) } function J6(t, e, n) { var r; t.Db & e ? n == null ? agn(t, e) : (r = ist(t, e), r == -1 ? t.Eb = n : ds(rb(t.Eb), r, n)) : n != null && D2n(t, e, n) } function fu(t) { var e, n; return t.Db & 32 || (n = (e = u(Dn(t, 16), 26), ar(e || t.zh()) - ar(t.zh())), n != 0 && J6(t, 32, Ot(nr, De, 1, n, 5, 1))), t } function Run(t) { var e; return t.b || AWe(t, (e = wXe(t.e, t.a), !e || !ln(xct, e1((!e.b && (e.b = new Ml((hn(), uo), xc, e)), e.b), "qualified")))), t.c } function jun(t, e, n) { var r, s, o; return r = u(St(pl(t.a), e), 87), o = (s = r.c, s || (hn(), J1)), (o.kh() ? Xp(t.b, u(o, 49)) : o) == n ? uq(r) : P8(r, n), o } function $un(t, e) { (!e && console.groupCollapsed != null ? console.groupCollapsed : console.group ?? console.log).call(console, t) } function zun(t, e, n, r) { r == t, u(n.b, 65), u(n.b, 65), u(r.b, 65), u(r.b, 65).c.b, emt(r, e, t) } function qun(t) { var e, n; for (e = new S(t.g); e.a < e.c.c.length;)u(Q(e), 562); n = new Goe(t.g, Xt(t.a), t.c), Yyn(n), t.g = n.b, t.d = n.a } function c3t(t, e, n) { e.b = b.Math.max(e.b, -n.a), e.c = b.Math.max(e.c, n.a - t.a), e.d = b.Math.max(e.d, -n.b), e.a = b.Math.max(e.a, n.b - t.b) } function Hun(t, e) { return t.e < e.e ? -1 : t.e > e.e ? 1 : t.f < e.f ? -1 : t.f > e.f ? 1 : ns(t) - ns(e) } function Tz(t, e) { return Pn(t), e == null ? !1 : ln(t, e) ? !0 : t.length == e.length && ln(t.toLowerCase(), e.toLowerCase()) } function Vun(t, e) { var n, r, s, o; for (r = 0, s = e.gc(); r < s; ++r)n = e.il(r), Et(n, 99) && u(n, 18).Bb & Ac && (o = e.jl(r), o != null && Qst(t, u(o, 56))) } function zre(t, e, n) { var r, s, o; for (o = new S(n.a); o.a < o.c.c.length;)s = u(Q(o), 221), r = new JR(u(or(t.a, s.b), 65)), ue(e.a, r), zre(t, r, s) } function fb(t) { var e, n; return Oc(t, -129) > 0 && Oc(t, 128) < 0 ? (e = $r(t) + 128, n = (sKt(), $8t)[e], !n && (n = $8t[e] = new Em(t)), n) : new Em(t) } function qre(t, e) { var n, r; return n = e.Hh(t.a), n && (r = Kr(e1((!n.b && (n.b = new Ml((hn(), uo), xc, n)), n.b), ki)), r != null) ? r : e.ne() } function Gun(t, e) { var n, r; return n = e.Hh(t.a), n && (r = Kr(e1((!n.b && (n.b = new Ml((hn(), uo), xc, n)), n.b), ki)), r != null) ? r : e.ne() } function Uun(t, e) { rrt(); var n, r; for (r = new pr(mr($0(t).a.Kc(), new H)); Zr(r);)if (n = u(qr(r), 17), n.d.i == e || n.c.i == e) return n; return null } function u3t(t, e, n) { this.c = t, this.f = new le, this.e = new Ra, this.j = new wvt, this.n = new wvt, this.b = e, this.g = new fh(e.c, e.d, e.b, e.a), this.a = n } function Rit(t) { var e, n, r, s; for (this.a = new S0, this.d = new na, this.e = 0, n = t, r = 0, s = n.length; r < s; ++r)e = n[r], !this.f && (this.f = e), hrt(this, e) } function Hre(t) { e2(), t.length == 0 ? (this.e = 0, this.d = 1, this.a = ct(ot(Br, 1), oi, 25, 15, [0])) : (this.e = 1, this.d = t.length, this.a = t, S_(this)) } function Q_(t, e, n) { wzt.call(this), this.a = Ot(sge, A6t, 212, (t1(), ct(ot(Ay, 1), se, 232, 0, [wc, uu, mc])).length, 0, 1), this.b = t, this.d = e, this.c = n } function Vre(t) { this.d = new le, this.e = new tb, this.c = Ot(Br, oi, 25, (we(), ct(ot(co, 1), Nc, 61, 0, [fc, Fn, Wn, Lr, jn])).length, 15, 1), this.b = t } function Wun(t) { var e, n, r, s, o, h; for (h = u(K(t, (ie(), Bi)), 11), Jt(h, g9, t.i.n.b), e = yd(t.e), r = e, s = 0, o = r.length; s < o; ++s)n = r[s], ma(n, h) } function Kun(t) { var e, n, r, s, o, h; for (n = u(K(t, (ie(), Bi)), 11), Jt(n, g9, t.i.n.b), e = yd(t.g), s = e, o = 0, h = s.length; o < h; ++o)r = s[o], Ua(r, n) } function Yun(t) { var e, n; return ia(t.d.i, (Ce(), b9)) ? (e = u(K(t.c.i, b9), 19), n = u(K(t.d.i, b9), 19), Tu(e.a, n.a) > 0) : !1 } function Gre(t) { var e; qt(ze(t, (Ti(), r5))) === qt((j0(), NG)) && (gs(t) ? (e = u(ze(gs(t), r5), 334), Mo(t, r5, e)) : Mo(t, r5, HS)) } function Xun(t, e, n) { var r, s; mst(t.e, e, n, (we(), jn)), mst(t.i, e, n, Wn), t.a && (s = u(K(e, (ie(), Bi)), 11), r = u(K(n, Bi), 11), urt(t.g, s, r)) } function Ure(t, e, n) { var r, s, o; r = e.c.p, o = e.p, t.b[r][o] = new uXt(t, e), n && (t.a[r][o] = new Wk(e), s = u(K(e, (ie(), Aw)), 10), s && cn(t.d, s, e)) } function Wre(t, e) { var n, r, s; if (ue(WH, t), e.Fc(t), n = u(or(Mut, t), 21), n) for (s = n.Kc(); s.Ob();)r = u(s.Pb(), 33), Qo(WH, r, 0) != -1 || Wre(r, e) } function Qun(t, e, n) { var r; (G0e ? (run(t), !0) : U0e || K0e ? (s8(), !0) : W0e && (s8(), !1)) && (r = new xWt(e), r.b = n, tdn(t, r)) } function jit(t, e) { var n; n = !t.A.Hc((Fl(), Hb)) || t.q == (xa(), eu), t.u.Hc((cl(), J0)) ? n ? m3n(t, e) : Ele(t, e) : t.u.Hc(E2) && (n ? Ryn(t, e) : Ble(t, e)) } function c7(t, e) { var n, r; if (++t.j, e != null && (n = (r = t.a.Cb, Et(r, 97) ? u(r, 97).Jg() : null), U0n(e, n))) { J6(t.a, 4, n); return } J6(t.a, 4, u(e, 126)) } function Kre(t, e, n) { return new fh(b.Math.min(t.a, e.a) - n / 2, b.Math.min(t.b, e.b) - n / 2, b.Math.abs(t.a - e.a) + n, b.Math.abs(t.b - e.b) + n) } function Zun(t, e) { var n, r; return n = Tu(t.a.c.p, e.a.c.p), n != 0 ? n : (r = Tu(t.a.d.i.p, e.a.d.i.p), r != 0 ? r : Tu(e.a.d.p, t.a.d.p)) } function Jun(t, e, n) { var r, s, o, h; return o = e.j, h = n.j, o != h ? o.g - h.g : (r = t.f[e.p], s = t.f[n.p], r == 0 && s == 0 ? 0 : r == 0 ? -1 : s == 0 ? 1 : Vs(r, s)) } function Yre(t, e, n) { var r, s, o; if (!n[e.d]) for (n[e.d] = !0, s = new S(o4(e)); s.a < s.c.c.length;)r = u(Q(s), 213), o = vz(r, e), Yre(t, o, n) } function l3t(t, e, n) { var r; switch (r = n[t.g][e], t.g) { case 1: case 3: return new je(0, r); case 2: case 4: return new je(r, 0); default: return null } } function tln(t, e, n) { var r, s; s = u(Znt(e.f), 209); try { s.Ze(t, n), utn(e.f, s) } catch (o) { throw o = os(o), Et(o, 102) ? (r = o, et(r)) : et(o) } } function Xre(t, e, n) { var r, s, o, h, d, w; return r = null, d = X5t(z8(), e), o = null, d && (s = null, w = K5t(d, n), h = null, w != null && (h = t.Ye(d, w)), s = h, o = s), r = o, r } function eln(t, e, n, r) { var s, o, h; return s = new P0(t.e, 1, 13, (h = e.c, h || (hn(), J1)), (o = n.c, o || (hn(), J1)), Pg(t, e), !1), r ? r.Ei(s) : r = s, r } function $it(t, e, n, r) { var s; if (s = t.length, e >= s) return s; for (e = e > 0 ? e : 0; e < s && !iit((Yr(e, t.length), t.charCodeAt(e)), n, r); e++); return e } function $1(t, e) { var n, r; for (r = t.c.length, e.length < r && (e = uR(new Array(r), e)), n = 0; n < r; ++n)ds(e, n, t.c[n]); return e.length > r && ds(e, r, null), e } function Qre(t, e) { var n, r; for (r = t.a.length, e.length < r && (e = uR(new Array(r), e)), n = 0; n < r; ++n)ds(e, n, t.a[n]); return e.length > r && ds(e, r, null), e } function db(t, e, n) { var r, s, o; return s = u(or(t.e, e), 387), s ? (o = Obt(s, n), qGt(t, s), o) : (r = new avt(t, e, n), Pi(t.e, e, r), gXt(r), null) } function nln(t) { var e; if (t == null) return null; if (e = Xgn(Xc(t, !0)), e == null) throw et(new Gtt("Invalid hexBinary value: '" + t + "'")); return e } function WD(t) { return e2(), Oc(t, 0) < 0 ? Oc(t, -1) != 0 ? new K3t(-1, O8(t)) : gut : Oc(t, 10) <= 0 ? Z8t[$r(t)] : new K3t(1, t) } function zit() { return yq(), ct(ot(Ige, 1), se, 159, 0, [Mge, Lge, Dge, xge, yge, kge, _ge, Tge, Ege, Age, Sge, Cge, wge, vge, mge, pge, gge, bge, fge, hge, dge, Eut]) } function Zre(t) { var e; this.d = new le, this.j = new Ra, this.g = new Ra, e = t.g.b, this.f = u(K(Qa(e), (Ce(), Jl)), 103), this.e = Xt(xe(Sz(e, qy))) } function Jre(t) { this.b = new le, this.e = new le, this.d = t, this.a = !OT(Qi(new kn(null, new Ov(new P1(t.b))), new Zt(new xF))).sd((G2(), J7)) } function n1() { n1 = J, Un = new SM("PARENTS", 0), fa = new SM("NODES", 1), Bd = new SM("EDGES", 2), Rb = new SM("PORTS", 3), Yg = new SM("LABELS", 4) } function c4() { c4 = J, x2 = new LM("DISTRIBUTED", 0), ZO = new LM("JUSTIFIED", 1), sAt = new LM("BEGIN", 2), VS = new LM(N7, 3), aAt = new LM("END", 4) } function rln(t) { var e; switch (e = t.yi(null), e) { case 10: return 0; case 15: return 1; case 14: return 2; case 11: return 3; case 21: return 4 }return -1 } function qit(t) { switch (t.g) { case 1: return xo(), Q0; case 4: return xo(), Wh; case 2: return xo(), Af; case 3: return xo(), X0 }return xo(), h0 } function iln(t, e, n) { var r; switch (r = n.q.getFullYear() - i2 + i2, r < 0 && (r = -r), e) { case 1: t.a += r; break; case 2: Jd(t, r % 100, 2); break; default: Jd(t, r, e) } } function gi(t, e) { var n, r; if (Vm(e, t.b), e >= t.b >> 1) for (r = t.c, n = t.b; n > e; --n)r = r.b; else for (r = t.a.a, n = 0; n < e; ++n)r = r.a; return new mWt(t, e, r) } function _z() { _z = J, mut = new s2t("NUM_OF_EXTERNAL_SIDES_THAN_NUM_OF_EXTENSIONS_LAST", 0), d7t = new s2t("CORNER_CASES_THAN_SINGLE_SIDE_LAST", 1) } function sln(t) { var e, n, r, s; for (r = Ydn(t), ua(r, Wpe), s = t.d, s.c = Ot(nr, De, 1, 0, 5, 1), n = new S(r); n.a < n.c.c.length;)e = u(Q(n), 456), Hs(s, e.b) } function tie(t) { var e, n, r; for (r = (!t.o && (t.o = new Nl((ou(), _2), Bw, t, 0)), t.o), n = r.c.Kc(); n.e != n.i.gc();)e = u(n.nj(), 42), e.dd(); return hD(r) } function aln(t) { var e; D6(u(K(t, (Ce(), xs)), 98)) && (e = t.b, jae((An(0, e.c.length), u(e.c[0], 29))), jae(u(Fe(e, e.c.length - 1), 29))) } function eie(t, e) { var n, r, s, o; for (n = 0, s = new S(e.a); s.a < s.c.c.length;)r = u(Q(s), 10), o = r.o.a + r.d.c + r.d.b + t.j, n = b.Math.max(n, o); return n } function Cz(t) { var e, n, r, s; for (s = 0, n = 0, r = t.length; n < r; n++)e = (Yr(n, t.length), t.charCodeAt(n)), e >= 64 && e < 128 && (s = O1(s, L0(1, e - 64))); return s } function Sz(t, e) { var n, r; return r = null, ia(t, (Ti(), zx)) && (n = u(K(t, zx), 94), n.Xe(e) && (r = n.We(e))), r == null && Qa(t) && (r = K(Qa(t), e)), r } function nie(t, e) { var n, r, s; s = e.d.i, r = s.k, !(r == (Kn(), Ws) || r == W1) && (n = new pr(mr(Gs(s).a.Kc(), new H)), Zr(n) && Pi(t.k, e, u(qr(n), 17))) } function Hit(t, e) { var n, r, s; return r = wn(t.Tg(), e), n = e - t.Ah(), n < 0 ? (s = t.Yg(r), s >= 0 ? t.lh(s) : Lst(t, r)) : n < 0 ? Lst(t, r) : u(r, 66).Nj().Sj(t, t.yh(), n) } function Ie(t) { var e; if (Et(t.a, 4)) { if (e = a3t(t.a), e == null) throw et(new Yo(Jfe + t.b + "'. " + Zfe + (A0(cN), cN.k) + $kt)); return e } else return t.a } function oln(t) { var e; if (t == null) return null; if (e = S3n(Xc(t, !0)), e == null) throw et(new Gtt("Invalid base64Binary value: '" + t + "'")); return e } function kr(t) { var e; try { return e = t.i.Xb(t.e), t.mj(), t.g = t.e++, e } catch (n) { throw n = os(n), Et(n, 73) ? (t.mj(), et(new _c)) : et(n) } } function Vit(t) { var e; try { return e = t.c.ki(t.e), t.mj(), t.g = t.e++, e } catch (n) { throw n = os(n), Et(n, 73) ? (t.mj(), et(new _c)) : et(n) } } function Z_() { Z_ = J, q7t = (Ti(), RSt), Aut = bSt, Gge = jx, z7t = $b, Yge = (jz(), y7t), Kge = w7t, Xge = k7t, Wge = v7t, Uge = (pit(), R7t), Sut = qge, $7t = Hge, UH = Vge } function Az(t) { switch (Ypt(), this.c = new le, this.d = t, t.g) { case 0: case 2: this.a = rwt(a9t), this.b = ms; break; case 3: case 1: this.a = a9t, this.b = Rs } } function rie(t, e, n) { var r, s; if (t.c) Du(t.c, t.c.i + e), Iu(t.c, t.c.j + n); else for (s = new S(t.b); s.a < s.c.c.length;)r = u(Q(s), 157), rie(r, e, n) } function cln(t, e) { var n, r; if (t.j.length != e.j.length) return !1; for (n = 0, r = t.j.length; n < r; n++)if (!ln(t.j[n], e.j[n])) return !1; return !0 } function Lz(t, e, n) { var r; e.a.length > 0 && (ue(t.b, new BWt(e.a, n)), r = e.a.length, 0 < r ? e.a = e.a.substr(0, 0) : 0 > r && (e.a += zGt(Ot(Sh, Ed, 25, -r, 15, 1)))) } function iie(t, e) { var n, r, s; for (n = t.o, s = u(u(ji(t.r, e), 21), 84).Kc(); s.Ob();)r = u(s.Pb(), 111), r.e.a = lhn(r, n.a), r.e.b = n.b * Xt(xe(r.b.We(HH))) } function uln(t, e) { var n, r, s, o; return s = t.k, n = Xt(xe(K(t, (ie(), Lw)))), o = e.k, r = Xt(xe(K(e, Lw))), o != (Kn(), Fs) ? -1 : s != Fs ? 1 : n == r ? 0 : n < r ? -1 : 1 } function lln(t, e) { var n, r; return n = u(u(or(t.g, e.a), 46).a, 65), r = u(u(or(t.g, e.b), 46).a, 65), Gp(e.a, e.b) - Gp(e.a, V2t(n.b)) - Gp(e.b, V2t(r.b)) } function hln(t, e) { var n; return n = u(K(t, (Ce(), $o)), 74), zet(e, zpe) ? n ? Nh(n) : (n = new Hu, Jt(t, $o, n)) : n && Jt(t, $o, null), n } function sie(t) { var e; return e = new Ap, e.a += "n", t.k != (Kn(), Ws) && ni(ni((e.a += "(", e), Wet(t.k).toLowerCase()), ")"), ni((e.a += "_", e), QD(t)), e.a } function fln(t, e) { Ar(e, "Self-Loop post-processing", 1), Ts(Qi(Qi(oc(new kn(null, new Cn(t.b, 16)), new RY), new jY), new eF), new $Y), br(e) } function tx(t, e, n, r) { var s; return n >= 0 ? t.hh(e, n, r) : (t.eh() && (r = (s = t.Vg(), s >= 0 ? t.Qg(r) : t.eh().ih(t, -1 - s, null, r))), t.Sg(e, n, r)) } function h3t(t, e) { switch (e) { case 7: !t.e && (t.e = new Tn(aa, t, 7, 4)), Ir(t.e); return; case 8: !t.d && (t.d = new Tn(aa, t, 8, 5)), Ir(t.d); return }Qyt(t, e) } function r1(t, e) { var n; n = t.Zc(e); try { return n.Pb() } catch (r) { throw r = os(r), Et(r, 109) ? et(new Oo("Can't get element " + e)) : et(r) } } function f3t(t, e) { this.e = t, e < Xat ? (this.d = 1, this.a = ct(ot(Br, 1), oi, 25, 15, [e | 0])) : (this.d = 2, this.a = ct(ot(Br, 1), oi, 25, 15, [e % Xat | 0, e / Xat | 0])) } function aie(t, e) { pn(); var n, r, s, o; for (n = t, o = e, Et(t, 21) && !Et(e, 21) && (n = e, o = t), s = n.Kc(); s.Ob();)if (r = s.Pb(), o.Hc(r)) return !1; return !0 } function Za(t, e, n) { var r, s, o, h; return r = t.Xc(e), r != -1 && (t.ej() ? (o = t.fj(), h = nx(t, r), s = t.Zi(4, h, null, r, o), n ? n.Ei(s) : n = s) : nx(t, r)), n } function dln(t, e, n) { var r, s, o, h; return r = t.Xc(e), r != -1 && (t.ej() ? (o = t.fj(), h = Ej(t, r), s = t.Zi(4, h, null, r, o), n ? n.Ei(s) : n = s) : Ej(t, r)), n } function oie(t, e) { var n; switch (n = u(Ao(t.b, e), 124).n, e.g) { case 1: t.t >= 0 && (n.d = t.t); break; case 3: t.t >= 0 && (n.a = t.t) }t.C && (n.b = t.C.b, n.c = t.C.c) } function ex() { ex = J, oO = new DR(Lq, 0), aO = new DR(uot, 1), cO = new DR(lot, 2), uO = new DR(hot, 3), oO.a = !1, aO.a = !0, cO.a = !1, uO.a = !0 } function J_() { J_ = J, lO = new MR(Lq, 0), VH = new MR(uot, 1), GH = new MR(lot, 2), hO = new MR(hot, 3), lO.a = !1, VH.a = !0, GH.a = !1, hO.a = !0 } function gln(t) { var e; e = t.a; do e = u(qr(new pr(mr(Zo(e).a.Kc(), new H))), 17).c.i, e.k == (Kn(), ha) && t.b.Fc(e); while (e.k == (Kn(), ha)); t.b = ib(t.b) } function pln(t) { var e, n, r; for (r = t.c.a, t.p = (zr(r), new Uu(r)), n = new S(r); n.a < n.c.c.length;)e = u(Q(n), 10), e.p = Zdn(e).a; pn(), ua(t.p, new VX) } function cie(t) { var e, n, r, s; if (r = 0, s = fy(t), s.c.length == 0) return 1; for (n = new S(s); n.a < n.c.c.length;)e = u(Q(n), 33), r += cie(e); return r } function bln(t, e) { var n, r, s; for (s = 0, r = u(u(ji(t.r, e), 21), 84).Kc(); r.Ob();)n = u(r.Pb(), 111), s += n.d.b + n.b.rf().a + n.d.c, r.Ob() && (s += t.w); return s } function vln(t, e) { var n, r, s; for (s = 0, r = u(u(ji(t.r, e), 21), 84).Kc(); r.Ob();)n = u(r.Pb(), 111), s += n.d.d + n.b.rf().b + n.d.a, r.Ob() && (s += t.w); return s } function wln(t, e, n, r) { if (e.a < r.a) return !0; if (e.a == r.a) { if (e.b < r.b) return !0; if (e.b == r.b && t.b > n.b) return !0 } return !1 } function Git(t, e) { return pa(t) ? !!m0e[e] : t.hm ? !!t.hm[e] : Im(t) ? !!w0e[e] : Dm(t) ? !!v0e[e] : !1 } function Mo(t, e, n) { return n == null ? (!t.o && (t.o = new Nl((ou(), _2), Bw, t, 0)), kz(t.o, e)) : (!t.o && (t.o = new Nl((ou(), _2), Bw, t, 0)), $z(t.o, e, n)), t } function mln(t, e, n, r) { var s, o; o = e.Xe((Ti(), s5)) ? u(e.We(s5), 21) : t.j, s = ccn(o), s != (yq(), Eut) && (n && !o3t(s) || v4t(Qgn(t, s, r), e)) } function Mz(t, e, n, r) { var s, o, h; return o = wn(t.Tg(), e), s = e - t.Ah(), s < 0 ? (h = t.Yg(o), h >= 0 ? t._g(h, n, !0) : ow(t, o, n)) : u(o, 66).Nj().Pj(t, t.yh(), s, n, r) } function yln(t, e, n, r) { var s, o, h; n.mh(e) && (go(), Brt(e) ? (s = u(n.ah(e), 153), Vun(t, s)) : (o = (h = e, h ? u(r, 49).xh(h) : null), o && kUe(n.ah(e), o))) } function xln(t) { switch (t.g) { case 1: return Qv(), sO; case 3: return Qv(), iO; case 2: return Qv(), _ut; case 4: return Qv(), Tut; default: return null } } function d3t(t) { switch (typeof t) { case xat: return Fg(t); case u6t: return Ms(t); case cx: return Rn(), t ? 1231 : 1237; default: return t == null ? 0 : Av(t) } } function kln(t, e, n) { if (t.e) switch (t.b) { case 1: Qtn(t.c, e, n); break; case 0: Ztn(t.c, e, n) } else UQt(t.c, e, n); t.a[e.p][n.p] = t.c.i, t.a[n.p][e.p] = t.c.e } function uie(t) { var e, n; if (t == null) return null; for (n = Ot(l0, te, 193, t.length, 0, 2), e = 0; e < n.length; e++)n[e] = u(Hin(t[e], t[e].length), 193); return n } function Dz(t) { var e; if (git(t)) return Ij(t), t.Lk() && (e = oC(t.e, t.b, t.c, t.a, t.j), t.j = e), t.g = t.a, ++t.a, ++t.c, t.i = 0, t.j; throw et(new _c) } function Eln(t, e) { var n, r, s, o; return o = t.o, n = t.p, o < n ? o *= o : n *= n, r = o + n, o = e.o, n = e.p, o < n ? o *= o : n *= n, s = o + n, r < s ? -1 : r == s ? 0 : 1 } function Pg(t, e) { var n, r, s; if (s = qie(t, e), s >= 0) return s; if (t.Fk()) { for (r = 0; r < t.i; ++r)if (n = t.Gk(u(t.g[r], 56)), qt(n) === qt(e)) return r } return -1 } function u4(t, e, n) { var r, s; if (s = t.gc(), e >= s) throw et(new Bm(e, s)); if (t.hi() && (r = t.Xc(n), r >= 0 && r != e)) throw et(new Bn(YI)); return t.mi(e, n) } function g3t(t, e) { if (this.a = u(zr(t), 245), this.b = u(zr(e), 245), t.vd(e) > 0 || t == (jtt(), rut) || e == (Rtt(), iut)) throw et(new Bn("Invalid range: " + qQt(t, e))) } function lie(t) { var e, n; for (this.b = new le, this.c = t, this.a = !1, n = new S(t.a); n.a < n.c.c.length;)e = u(Q(n), 10), this.a = this.a | e.k == (Kn(), Ws) } function Tln(t, e) { var n, r, s; for (n = Lv(new V2, t), s = new S(e); s.a < s.c.c.length;)r = u(Q(s), 121), Ef(df(ff(gf(hf(new Dh, 0), 0), n), r)); return n } function hie(t, e, n) { var r, s, o; for (s = new pr(mr((e ? Zo(t) : Gs(t)).a.Kc(), new H)); Zr(s);)r = u(qr(s), 17), o = e ? r.c.i : r.d.i, o.k == (Kn(), Bl) && Fo(o, n) } function ry() { ry = J, eG = new FR(W0, 0), Xlt = new FR("PORT_POSITION", 1), t5 = new FR("NODE_SIZE_WHERE_SPACE_PERMITS", 2), J4 = new FR("NODE_SIZE", 3) } function t0() { t0 = J, $ht = new YT("AUTOMATIC", 0), jO = new YT(fx, 1), $O = new YT(dx, 2), SG = new YT("TOP", 3), _G = new YT(M6t, 4), CG = new YT(N7, 5) } function p3t(t, e, n, r) { b7(); var s, o; for (s = 0, o = 0; o < n; o++)s = Wa(ja(Xs(e[o], Eo), Xs(r, Eo)), Xs($r(s), Eo)), t[o] = $r(s), s = jm(s, 32); return $r(s) } function b3t(t, e, n) { var r, s; for (s = 0, r = 0; r < kut; r++)s = b.Math.max(s, wit(t.a[e.g][r], n)); return e == (t1(), uu) && t.b && (s = b.Math.max(s, t.b.b)), s } function Iz(t, e) { var n, r; if (pbt(e > 0), (e & -e) == e) return Ms(e * wl(t, 31) * 4656612873077393e-25); do n = wl(t, 31), r = n % e; while (n - r + (e - 1) < 0); return Ms(r) } function Fg(t) { kWt(); var e, n, r; return n = ":" + t, r = $H[n], r != null ? Ms((Pn(r), r)) : (r = h7t[n], e = r == null ? g2n(t) : Ms((Pn(r), r)), Htn(), $H[n] = e, e) } function fie(t, e, n) { Ar(n, "Compound graph preprocessor", 1), t.a = new $v, wle(t, e, null), emn(t, e), Bpn(t), Jt(e, (ie(), MEt), t.a), t.a = null, al(t.b), br(n) } function _ln(t, e, n) { switch (n.g) { case 1: t.a = e.a / 2, t.b = 0; break; case 2: t.a = e.a, t.b = e.b / 2; break; case 3: t.a = e.a / 2, t.b = e.b; break; case 4: t.a = 0, t.b = e.b / 2 } } function Cln(t) { var e, n, r; for (r = u(ji(t.a, (g4(), kV)), 15).Kc(); r.Ob();)n = u(r.Pb(), 101), e = S3t(n), w8(t, n, e[0], (Xv(), Tw), 0), w8(t, n, e[1], _w, 1) } function Sln(t) { var e, n, r; for (r = u(ji(t.a, (g4(), EV)), 15).Kc(); r.Ob();)n = u(r.Pb(), 101), e = S3t(n), w8(t, n, e[0], (Xv(), Tw), 0), w8(t, n, e[1], _w, 1) } function Uit(t) { switch (t.g) { case 0: return null; case 1: return new fee; case 2: return new _pt; default: throw et(new Bn(uct + (t.f != null ? t.f : "" + t.g))) } } function KD(t, e, n) { var r, s; for (Yan(t, e - t.s, n - t.t), s = new S(t.n); s.a < s.c.c.length;)r = u(Q(s), 211), l6(r, r.e + e - t.s), Ugt(r, r.f + n - t.t); t.s = e, t.t = n } function Aln(t) { var e, n, r, s, o; for (n = 0, s = new S(t.a); s.a < s.c.c.length;)r = u(Q(s), 121), r.d = n++; return e = sdn(t), o = null, e.c.length > 1 && (o = Tln(t, e)), o } function Wit(t) { var e; return t.f && t.f.kh() && (e = u(t.f, 49), t.f = u(Xp(t, e), 82), t.f != e && t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 9, 8, e, t.f))), t.f } function Kit(t) { var e; return t.i && t.i.kh() && (e = u(t.i, 49), t.i = u(Xp(t, e), 82), t.i != e && t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 9, 7, e, t.i))), t.i } function bo(t) { var e; return t.b && t.b.Db & 64 && (e = t.b, t.b = u(Xp(t, e), 18), t.b != e && t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 9, 21, e, t.b))), t.b } function Oz(t, e) { var n, r, s; t.d == null ? (++t.e, ++t.f) : (r = e.Sh(), Vpn(t, t.f + 1), s = (r & Di) % t.d.length, n = t.d[s], !n && (n = t.d[s] = t.uj()), n.Fc(e), ++t.f) } function v3t(t, e, n) { var r; return e.Kj() ? !1 : e.Zj() != -2 ? (r = e.zj(), r == null ? n == null : Ni(r, n)) : e.Hj() == t.e.Tg() && n == null } function Nz() { var t; Gl(16, che), t = ree(16), this.b = Ot(aut, AI, 317, t, 0, 1), this.c = Ot(aut, AI, 317, t, 0, 1), this.a = null, this.e = null, this.i = 0, this.f = t - 1, this.g = 0 } function q0(t) { Pbt.call(this), this.k = (Kn(), Ws), this.j = (Gl(6, vy), new iu(6)), this.b = (Gl(2, vy), new iu(2)), this.d = new Ott, this.f = new bpt, this.a = t } function Lln(t) { var e, n; t.c.length <= 1 || (e = lce(t, (we(), Lr)), Zse(t, u(e.a, 19).a, u(e.b, 19).a), n = lce(t, jn), Zse(t, u(n.a, 19).a, u(n.b, 19).a)) } function tC() { tC = J, c_t = new EM("SIMPLE", 0), Zlt = new EM(Sot, 1), Jlt = new EM("LINEAR_SEGMENTS", 2), kS = new EM("BRANDES_KOEPF", 3), ES = new EM(Nfe, 4) } function w3t(t, e, n) { D6(u(K(e, (Ce(), xs)), 98)) || (fmt(t, e, Bg(e, n)), fmt(t, e, Bg(e, (we(), Lr))), fmt(t, e, Bg(e, Fn)), pn(), ua(e.j, new sM(t))) } function die(t, e, n, r) { var s, o, h; for (s = u(ji(r ? t.a : t.b, e), 21), h = s.Kc(); h.Ob();)if (o = u(h.Pb(), 33), iq(t, n, o)) return !0; return !1 } function Yit(t) { var e, n; for (n = new lr(t); n.e != n.i.gc();)if (e = u(kr(n), 87), e.e || (!e.d && (e.d = new qs(Co, e, 1)), e.d).i != 0) return !0; return !1 } function Xit(t) { var e, n; for (n = new lr(t); n.e != n.i.gc();)if (e = u(kr(n), 87), e.e || (!e.d && (e.d = new qs(Co, e, 1)), e.d).i != 0) return !0; return !1 } function Mln(t) { var e, n, r; for (e = 0, r = new S(t.c.a); r.a < r.c.c.length;)n = u(Q(r), 10), e += O0(new pr(mr(Gs(n).a.Kc(), new H))); return e / t.c.a.c.length } function gie(t) { var e, n; for (t.c || Rmn(t), n = new Hu, e = new S(t.a), Q(e); e.a < e.c.c.length;)pi(n, u(Q(e), 407).a); return ir(n.b != 0), bh(n, n.c.b), n } function Qit() { Qit = J, KCt = (Vst(), VCt), WCt = new Sv(8), new po((Ti(), $b), WCt), new po(zb, 8), Nye = qCt, GCt = Cye, UCt = Sye, Oye = new po(GO, (Rn(), !1)) } function m3t(t, e, n, r) { switch (e) { case 7: return !t.e && (t.e = new Tn(aa, t, 7, 4)), t.e; case 8: return !t.d && (t.d = new Tn(aa, t, 8, 5)), t.d }return jyt(t, e, n, r) } function Zit(t) { var e; return t.a && t.a.kh() && (e = u(t.a, 49), t.a = u(Xp(t, e), 138), t.a != e && t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 9, 5, e, t.a))), t.a } function gb(t) { return t < 48 || t > 102 ? -1 : t <= 57 ? t - 48 : t < 65 ? -1 : t <= 70 ? t - 65 + 10 : t < 97 ? -1 : t - 97 + 10 } function Jit(t, e) { if (t == null) throw et(new m6("null key in entry: null=" + e)); if (e == null) throw et(new m6("null value in entry: " + t + "=null")) } function Dln(t, e) { for (var n, r; t.Ob();)if (!e.Ob() || (n = t.Pb(), r = e.Pb(), !(qt(n) === qt(r) || n != null && Ni(n, r)))) return !1; return !e.Ob() } function pie(t, e) { var n; return n = ct(ot(wa, 1), Do, 25, 15, [wit(t.a[0], e), wit(t.a[1], e), wit(t.a[2], e)]), t.d && (n[0] = b.Math.max(n[0], n[2]), n[2] = n[0]), n } function bie(t, e) { var n; return n = ct(ot(wa, 1), Do, 25, 15, [uz(t.a[0], e), uz(t.a[1], e), uz(t.a[2], e)]), t.d && (n[0] = b.Math.max(n[0], n[2]), n[2] = n[0]), n } function pb() { pb = J, olt = new kM("GREEDY", 0), oEt = new kM(yfe, 1), clt = new kM(Sot, 2), uS = new kM("MODEL_ORDER", 3), cS = new kM("GREEDY_MODEL_ORDER", 4) } function vie(t, e) { var n, r, s; for (t.b[e.g] = 1, r = gi(e.d, 0); r.b != r.d.c;)n = u(di(r), 188), s = n.c, t.b[s.g] == 1 ? pi(t.a, n) : t.b[s.g] == 2 ? t.b[s.g] = 1 : vie(t, s) } function Iln(t, e) { var n, r, s; for (s = new iu(e.gc()), r = e.Kc(); r.Ob();)n = u(r.Pb(), 286), n.c == n.f ? p7(t, n, n.c) : Mdn(t, n) || (s.c[s.c.length] = n); return s } function Oln(t, e, n) { var r, s, o, h, d; for (d = t.r + e, t.r += e, t.d += n, r = n / t.n.c.length, s = 0, h = new S(t.n); h.a < h.c.c.length;)o = u(Q(h), 211), qgn(o, d, r, s), ++s } function Nln(t) { var e, n, r; for (ST(t.b.a), t.a = Ot(zH, De, 57, t.c.c.a.b.c.length, 0, 1), e = 0, r = new S(t.c.c.a.b); r.a < r.c.c.length;)n = u(Q(r), 57), n.f = e++ } function Pln(t) { var e, n, r; for (ST(t.b.a), t.a = Ot(But, De, 81, t.c.a.a.b.c.length, 0, 1), e = 0, r = new S(t.c.a.a.b); r.a < r.c.c.length;)n = u(Q(r), 81), n.i = e++ } function Fln(t, e, n) { var r; Ar(n, "Shrinking tree compaction", 1), Re(Be(K(e, (V8(), rS)))) ? (Xsn(t, e.f), XJt(e.f, (r = e.c, r))) : XJt(e.f, e.c), br(n) } function wie(t) { var e; if (e = Fon(t), !Zr(t)) throw et(new Oo("position (0) must be less than the number of elements that remained (" + e + ")")); return qr(t) } function mie(t, e, n) { var r; try { return l4(t, e + t.j, n + t.k) } catch (s) { throw s = os(s), Et(s, 73) ? (r = s, et(new Oo(r.g + Dq + e + ao + n + ")."))) : et(s) } } function Bln(t, e, n) { var r; try { return kie(t, e + t.j, n + t.k) } catch (s) { throw s = os(s), Et(s, 73) ? (r = s, et(new Oo(r.g + Dq + e + ao + n + ")."))) : et(s) } } function Rln(t, e, n) { var r; try { return Eie(t, e + t.j, n + t.k) } catch (s) { throw s = os(s), Et(s, 73) ? (r = s, et(new Oo(r.g + Dq + e + ao + n + ")."))) : et(s) } } function yie(t) { switch (t.g) { case 1: return we(), jn; case 4: return we(), Fn; case 3: return we(), Wn; case 2: return we(), Lr; default: return we(), fc } } function jln(t, e, n) { e.k == (Kn(), Ws) && n.k == ha && (t.d = kit(e, (we(), Lr)), t.b = kit(e, Fn)), n.k == Ws && e.k == ha && (t.d = kit(n, (we(), Fn)), t.b = kit(n, Lr)) } function tst(t, e) { var n, r, s; for (s = uc(t, e), r = s.Kc(); r.Ob();)if (n = u(r.Pb(), 11), K(n, (ie(), ul)) != null || u_(new P1(n.b))) return !0; return !1 } function y3t(t, e) { return Du(e, t.e + t.d + (t.c.c.length == 0 ? 0 : t.b)), Iu(e, t.f), t.a = b.Math.max(t.a, e.f), t.d += e.g + (t.c.c.length == 0 ? 0 : t.b), ue(t.c, e), !0 } function $ln(t, e, n) { var r, s, o, h; for (h = 0, r = n / t.a.c.length, o = new S(t.a); o.a < o.c.c.length;)s = u(Q(o), 187), KD(s, s.s, s.t + h * r), Oln(s, t.d - s.r + e, r), ++h } function zln(t) { var e, n, r, s, o; for (r = new S(t.b); r.a < r.c.c.length;)for (n = u(Q(r), 29), e = 0, o = new S(n.a); o.a < o.c.c.length;)s = u(Q(o), 10), s.p = e++ } function qln(t, e) { var n, r, s, o, h, d; for (s = e.length - 1, h = 0, d = 0, r = 0; r <= s; r++)o = e[r], n = odn(s, r) * Tyt(1 - t, s - r) * Tyt(t, r), h += o.a * n, d += o.b * n; return new je(h, d) } function xie(t, e) { var n, r, s, o, h; for (n = e.gc(), t.qi(t.i + n), o = e.Kc(), h = t.i, t.i += n, r = h; r < t.i; ++r)s = o.Pb(), a_(t, r, t.oi(r, s)), t.bi(r, s), t.ci(); return n != 0 } function Hln(t, e, n) { var r, s, o; return t.ej() ? (r = t.Vi(), o = t.fj(), ++t.j, t.Hi(r, t.oi(r, e)), s = t.Zi(3, null, e, r, o), n ? n.Ei(s) : n = s) : BUt(t, t.Vi(), e), n } function Vln(t, e, n) { var r, s, o; return r = u(St($c(t.a), e), 87), o = (s = r.c, Et(s, 88) ? u(s, 26) : (hn(), ef)), (o.Db & 64 ? Xp(t.b, o) : o) == n ? uq(r) : P8(r, n), o } function x3t(t, e, n, r, s, o, h, d) { var w, k; r && (w = r.a[0], w && x3t(t, e, n, w, s, o, h, d), whn(t, n, r.d, s, o, h, d) && e.Fc(r), k = r.a[1], k && x3t(t, e, n, k, s, o, h, d)) } function Gln(t, e) { var n; return t.a || (n = Ot(wa, Do, 25, 0, 15, 1), B3(t.b.a, new re(n)), n.sort(Ste(lt.prototype.te, lt, [])), t.a = new pWt(n, t.d)), x$(t.a, e) } function l4(t, e, n) { try { return _v(Krt(t, e, n), 1) } catch (r) { throw r = os(r), Et(r, 320) ? et(new Oo(fot + t.o + "*" + t.p + dot + e + ao + n + got)) : et(r) } } function kie(t, e, n) { try { return _v(Krt(t, e, n), 0) } catch (r) { throw r = os(r), Et(r, 320) ? et(new Oo(fot + t.o + "*" + t.p + dot + e + ao + n + got)) : et(r) } } function Eie(t, e, n) { try { return _v(Krt(t, e, n), 2) } catch (r) { throw r = os(r), Et(r, 320) ? et(new Oo(fot + t.o + "*" + t.p + dot + e + ao + n + got)) : et(r) } } function Tie(t, e) { if (t.g == -1) throw et(new qu); t.mj(); try { t.d._c(t.g, e), t.f = t.d.j } catch (n) { throw n = os(n), Et(n, 73) ? et(new uh) : et(n) } } function Uln(t, e, n) { Ar(n, "Linear segments node placement", 1), t.b = u(K(e, (ie(), Y4)), 304), a4n(t, e), Hwn(t, e), smn(t, e), j3n(t), t.a = null, t.b = null, br(n) } function YD(t, e) { var n, r, s, o; for (o = t.gc(), e.length < o && (e = uR(new Array(o), e)), s = e, r = t.Kc(), n = 0; n < o; ++n)ds(s, n, r.Pb()); return e.length > o && ds(e, o, null), e } function Wln(t, e) { var n, r; if (r = t.gc(), e == null) { for (n = 0; n < r; n++)if (t.Xb(n) == null) return n } else for (n = 0; n < r; n++)if (Ni(e, t.Xb(n))) return n; return -1 } function est(t, e) { var n, r, s; return n = e.cd(), s = e.dd(), r = t.xc(n), !(!(qt(s) === qt(r) || s != null && Ni(s, r)) || r == null && !t._b(n)) } function Kln(t, e) { var n, r, s; return e <= 22 ? (n = t.l & (1 << e) - 1, r = s = 0) : e <= 44 ? (n = t.l, r = t.m & (1 << e - 22) - 1, s = 0) : (n = t.l, r = t.m, s = t.h & (1 << e - 44) - 1), hu(n, r, s) } function Yln(t, e) { switch (e.g) { case 1: return t.f.n.d + t.t; case 3: return t.f.n.a + t.t; case 2: return t.f.n.c + t.s; case 4: return t.f.n.b + t.s; default: return 0 } } function Xln(t, e) { var n, r; switch (r = e.c, n = e.a, t.b.g) { case 0: n.d = t.e - r.a - r.d; break; case 1: n.d += t.e; break; case 2: n.c = t.e - r.a - r.d; break; case 3: n.c = t.e + r.d } } function k3t(t, e, n, r) { var s, o; this.a = e, this.c = r, s = t.a, Bgt(this, new je(-s.c, -s.d)), $i(this.b, n), o = r / 2, e.a ? FM(this.b, 0, o) : FM(this.b, o, 0), ue(t.c, this) } function Pz() { Pz = J, Cht = new RR(W0, 0), aCt = new RR(xfe, 1), oCt = new RR("EDGE_LENGTH_BY_POSITION", 2), sCt = new RR("CROSSING_MINIMIZATION_BY_POSITION", 3) } function nst(t, e) { var n, r; if (n = u(t4(t.g, e), 33), n) return n; if (r = u(t4(t.j, e), 118), r) return r; throw et(new fd("Referenced shape does not exist: " + e)) } function Qln(t, e) { if (t.c == e) return t.d; if (t.d == e) return t.c; throw et(new Bn("Node 'one' must be either source or target of edge 'edge'.")) } function Zln(t, e) { if (t.c.i == e) return t.d.i; if (t.d.i == e) return t.c.i; throw et(new Bn("Node " + e + " is neither source nor target of edge " + t)) } function Jln(t, e) { var n; switch (e.g) { case 2: case 4: n = t.a, t.c.d.n.b < n.d.n.b && (n = t.c), _g(t, e, (R1(), Yut), n); break; case 1: case 3: _g(t, e, (R1(), _x), null) } } function rst(t, e, n, r, s, o) { var h, d, w, k, _; for (h = nfn(e, n, o), d = n == (we(), Fn) || n == jn ? -1 : 1, k = t[n.g], _ = 0; _ < k.length; _++)w = k[_], w > 0 && (w += s), k[_] = h, h += d * (w + r) } function _ie(t) { var e, n, r; for (r = t.f, t.n = Ot(wa, Do, 25, r, 15, 1), t.d = Ot(wa, Do, 25, r, 15, 1), e = 0; e < r; e++)n = u(Fe(t.c.b, e), 29), t.n[e] = eie(t, n), t.d[e] = Foe(t, n) } function ist(t, e) { var n, r, s; for (s = 0, r = 2; r < e; r <<= 1)t.Db & r && ++s; if (s == 0) { for (n = e <<= 1; n <= 128; n <<= 1)if (t.Db & n) return 0; return -1 } else return s } function Cie(t, e) { var n, r, s, o, h; for (h = gu(t.e.Tg(), e), o = null, n = u(t.g, 119), s = 0; s < t.i; ++s)r = n[s], h.rl(r.ak()) && (!o && (o = new J5), Hr(o, r)); o && Rle(t, o) } function Sie(t) { var e, n, r; if (!t) return null; if (t.dc()) return ""; for (r = new yg, n = t.Kc(); n.Ob();)e = n.Pb(), So(r, Kr(e)), r.a += " "; return Pet(r, r.a.length - 1) } function E3t(t, e, n) { var r, s, o, h, d; for (son(t), s = (t.k == null && (t.k = Ot(cut, te, 78, 0, 0, 1)), t.k), o = 0, h = s.length; o < h; ++o)r = s[o], E3t(r); d = t.f, d && E3t(d) } function Aie(t, e) { var n = new Array(e), r; switch (t) { case 14: case 15: r = 0; break; case 16: r = !1; break; default: return n }for (var s = 0; s < e; ++s)n[s] = r; return n } function iw(t) { var e, n, r; for (n = new S(t.a.b); n.a < n.c.c.length;)e = u(Q(n), 57), e.c.$b(); Pp(t.d) ? r = t.a.c : r = t.a.d, Mu(r, new Sr(t)), t.c.Me(t), Joe(t) } function Lie(t) { var e, n, r, s; for (n = new S(t.e.c); n.a < n.c.c.length;) { for (e = u(Q(n), 282), s = new S(e.b); s.a < s.c.c.length;)r = u(Q(s), 447), $5t(r); xae(e) } } function Fz(t) { var e, n, r, s, o; for (r = 0, o = 0, s = 0, n = new S(t.a); n.a < n.c.c.length;)e = u(Q(n), 187), o = b.Math.max(o, e.r), r += e.d + (s > 0 ? t.c : 0), ++s; t.b = r, t.d = o } function thn(t, e) { var n, r, s, o, h; for (r = 0, s = 0, n = 0, h = new S(e); h.a < h.c.c.length;)o = u(Q(h), 200), r = b.Math.max(r, o.e), s += o.b + (n > 0 ? t.g : 0), ++n; t.c = s, t.d = r } function Mie(t, e) { var n; return n = ct(ot(wa, 1), Do, 25, 15, [b3t(t, (t1(), wc), e), b3t(t, uu, e), b3t(t, mc, e)]), t.f && (n[0] = b.Math.max(n[0], n[2]), n[2] = n[0]), n } function ehn(t, e, n) { var r; try { oq(t, e + t.j, n + t.k, !1, !0) } catch (s) { throw s = os(s), Et(s, 73) ? (r = s, et(new Oo(r.g + Dq + e + ao + n + ")."))) : et(s) } } function nhn(t, e, n) { var r; try { oq(t, e + t.j, n + t.k, !0, !1) } catch (s) { throw s = os(s), Et(s, 73) ? (r = s, et(new Oo(r.g + Dq + e + ao + n + ")."))) : et(s) } } function Die(t) { var e; ia(t, (Ce(), Mw)) && (e = u(K(t, Mw), 21), e.Hc((ly(), Lf)) ? (e.Mc(Lf), e.Fc(Mf)) : e.Hc(Mf) && (e.Mc(Mf), e.Fc(Lf))) } function Iie(t) { var e; ia(t, (Ce(), Mw)) && (e = u(K(t, Mw), 21), e.Hc((ly(), If)) ? (e.Mc(If), e.Fc(Yh)) : e.Hc(Yh) && (e.Mc(Yh), e.Fc(If))) } function rhn(t, e, n) { Ar(n, "Self-Loop ordering", 1), Ts(Cu(Qi(Qi(oc(new kn(null, new Cn(e.b, 16)), new JP), new NY), new PY), new FY), new Tm(t)), br(n) } function XD(t, e, n, r) { var s, o; for (s = e; s < t.c.length; s++)if (o = (An(s, t.c.length), u(t.c[s], 11)), n.Mb(o)) r.c[r.c.length] = o; else return s; return t.c.length } function sst(t, e, n, r) { var s, o, h, d; return t.a == null && adn(t, e), h = e.b.j.c.length, o = n.d.p, d = r.d.p, s = d - 1, s < 0 && (s = h - 1), o <= s ? t.a[s] - t.a[o] : t.a[h - 1] - t.a[o] + t.a[s] } function ihn(t) { var e, n; if (!t.b) for (t.b = h$(u(t.f, 33).Ag().i), n = new lr(u(t.f, 33).Ag()); n.e != n.i.gc();)e = u(kr(n), 137), ue(t.b, new Vtt(e)); return t.b } function shn(t) { var e, n; if (!t.e) for (t.e = h$($nt(u(t.f, 33)).i), n = new lr($nt(u(t.f, 33))); n.e != n.i.gc();)e = u(kr(n), 118), ue(t.e, new I$t(e)); return t.e } function Oie(t) { var e, n; if (!t.a) for (t.a = h$(Yj(u(t.f, 33)).i), n = new lr(Yj(u(t.f, 33))); n.e != n.i.gc();)e = u(kr(n), 33), ue(t.a, new Get(t, e)); return t.a } function sw(t) { var e; if (!t.C && (t.D != null || t.B != null)) if (e = Cyn(t), e) t.yk(e); else try { t.yk(null) } catch (n) { if (n = os(n), !Et(n, 60)) throw et(n) } return t.C } function ahn(t) { switch (t.q.g) { case 5: rse(t, (we(), Fn)), rse(t, Lr); break; case 4: Yue(t, (we(), Fn)), Yue(t, Lr); break; default: iae(t, (we(), Fn)), iae(t, Lr) } } function ohn(t) { switch (t.q.g) { case 5: ise(t, (we(), Wn)), ise(t, jn); break; case 4: Xue(t, (we(), Wn)), Xue(t, jn); break; default: sae(t, (we(), Wn)), sae(t, jn) } } function h4(t, e) { var n, r, s; for (s = new Ra, r = t.Kc(); r.Ob();)n = u(r.Pb(), 37), fC(n, s.a, 0), s.a += n.f.a + e, s.b = b.Math.max(s.b, n.f.b); return s.b > 0 && (s.b += e), s } function Bz(t, e) { var n, r, s; for (s = new Ra, r = t.Kc(); r.Ob();)n = u(r.Pb(), 37), fC(n, 0, s.b), s.b += n.f.b + e, s.a = b.Math.max(s.a, n.f.a); return s.a > 0 && (s.a += e), s } function Nie(t) { var e, n, r; for (r = Di, n = new S(t.a); n.a < n.c.c.length;)e = u(Q(n), 10), ia(e, (ie(), Bc)) && (r = b.Math.min(r, u(K(e, Bc), 19).a)); return r } function Pie(t, e) { var n, r; if (e.length == 0) return 0; for (n = jnt(t.a, e[0], (we(), jn)), n += jnt(t.a, e[e.length - 1], Wn), r = 0; r < e.length; r++)n += V1n(t, r, e); return n } function Fie() { lC(), this.c = new le, this.i = new le, this.e = new S0, this.f = new S0, this.g = new S0, this.j = new le, this.a = new le, this.b = new Rr, this.k = new Rr } function ast(t, e) { var n, r; return t.Db >> 16 == 6 ? t.Cb.ih(t, 5, u1, e) : (r = bo(u(wn((n = u(Dn(t, 16), 26), n || t.zh()), t.Db >> 16), 18)), t.Cb.ih(t, r.n, r.f, e)) } function chn(t) {
                                T8(); var e = t.e; if (e && e.stack) {
                                    var n = e.stack, r = e + `
    `; return n.substring(0, r.length) == r && (n = n.substring(r.length)), n.split(`
    `)
                                } return []
                            } function uhn(t) { var e; return e = (Qte(), D0e), e[t >>> 28] | e[t >> 24 & 15] << 4 | e[t >> 20 & 15] << 8 | e[t >> 16 & 15] << 12 | e[t >> 12 & 15] << 16 | e[t >> 8 & 15] << 20 | e[t >> 4 & 15] << 24 | e[t & 15] << 28 } function Bie(t) { var e, n, r; t.b == t.c && (r = t.a.length, n = iyt(b.Math.max(8, r)) << 1, t.b != 0 ? (e = pf(t.a, n), see(t, e, r), t.a = e, t.b = 0) : izt(t.a, n), t.c = r) } function lhn(t, e) { var n; return n = t.b, n.Xe((Ti(), kl)) ? n.Hf() == (we(), jn) ? -n.rf().a - Xt(xe(n.We(kl))) : e + Xt(xe(n.We(kl))) : n.Hf() == (we(), jn) ? -n.rf().a : e } function QD(t) { var e; return t.b.c.length != 0 && u(Fe(t.b, 0), 70).a ? u(Fe(t.b, 0), 70).a : (e = Gnt(t), e ?? "" + (t.c ? Qo(t.c.a, t, 0) : -1)) } function Rz(t) { var e; return t.f.c.length != 0 && u(Fe(t.f, 0), 70).a ? u(Fe(t.f, 0), 70).a : (e = Gnt(t), e ?? "" + (t.i ? Qo(t.i.j, t, 0) : -1)) } function hhn(t, e) { var n, r; if (e < 0 || e >= t.gc()) return null; for (n = e; n < t.gc(); ++n)if (r = u(t.Xb(n), 128), n == t.gc() - 1 || !r.o) return new _a(pe(n), r); return null } function fhn(t, e, n) { var r, s, o, h, d; for (o = t.c, d = n ? e : t, r = n ? t : e, s = d.p + 1; s < r.p; ++s)if (h = u(Fe(o.a, s), 10), !(h.k == (Kn(), W1) || $hn(h))) return !1; return !0 } function T3t(t) { var e, n, r, s, o; for (o = 0, s = Rs, r = 0, n = new S(t.a); n.a < n.c.c.length;)e = u(Q(n), 187), o += e.r + (r > 0 ? t.c : 0), s = b.Math.max(s, e.d), ++r; t.e = o, t.b = s } function dhn(t) { var e, n; if (!t.b) for (t.b = h$(u(t.f, 118).Ag().i), n = new lr(u(t.f, 118).Ag()); n.e != n.i.gc();)e = u(kr(n), 137), ue(t.b, new Vtt(e)); return t.b } function ghn(t, e) { var n, r, s; if (e.dc()) return f8(), f8(), uN; for (n = new $Ut(t, e.gc()), s = new lr(t); s.e != s.i.gc();)r = kr(s), e.Hc(r) && Hr(n, r); return n } function _3t(t, e, n, r) { return e == 0 ? r ? (!t.o && (t.o = new Nl((ou(), _2), Bw, t, 0)), t.o) : (!t.o && (t.o = new Nl((ou(), _2), Bw, t, 0)), hD(t.o)) : Mz(t, e, n, r) } function ost(t) { var e, n; if (t.rb) for (e = 0, n = t.rb.i; e < n; ++e)PM(St(t.rb, e)); if (t.vb) for (e = 0, n = t.vb.i; e < n; ++e)PM(St(t.vb, e)); b_((Yu(), Pa), t), t.Bb |= 1 } function Xi(t, e, n, r, s, o, h, d, w, k, _, L, F, q) { return dae(t, e, r, null, s, o, h, d, w, k, F, !0, q), Pyt(t, _), Et(t.Cb, 88) && uy(gl(u(t.Cb, 88)), 2), n && Pmt(t, n), Fyt(t, L), t } function phn(t) { var e, n; if (t == null) return null; n = 0; try { n = Kl(t, $a, Di) & Ns } catch (r) { if (r = os(r), Et(r, 127)) e = L$(t), n = e[0]; else throw et(r) } return DD(n) } function bhn(t) { var e, n; if (t == null) return null; n = 0; try { n = Kl(t, $a, Di) & Ns } catch (r) { if (r = os(r), Et(r, 127)) e = L$(t), n = e[0]; else throw et(r) } return DD(n) } function vhn(t, e) { var n, r, s; return s = t.h - e.h, s < 0 || (n = t.l - e.l, r = t.m - e.m + (n >> 22), s += r >> 22, s < 0) ? !1 : (t.l = n & yl, t.m = r & yl, t.h = s & U0, !0) } function whn(t, e, n, r, s, o, h) { var d, w; return !(e.Ae() && (w = t.a.ue(n, r), w < 0 || !s && w == 0) || e.Be() && (d = t.a.ue(n, o), d > 0 || !h && d == 0)) } function mhn(t, e) { J8(); var n; if (n = t.j.g - e.j.g, n != 0) return 0; switch (t.j.g) { case 2: return Mit(e, J9t) - Mit(t, J9t); case 4: return Mit(t, Z9t) - Mit(e, Z9t) }return 0 } function yhn(t) { switch (t.g) { case 0: return llt; case 1: return hlt; case 2: return flt; case 3: return dlt; case 4: return CV; case 5: return glt; default: return null } } function jo(t, e, n) { var r, s; return r = (s = new Ftt, lb(s, e), su(s, n), Hr((!t.c && (t.c = new he(Rw, t, 12, 10)), t.c), s), s), Mg(r, 0), Zm(r, 1), Ng(r, !0), Og(r, !0), r } function nx(t, e) { var n, r; if (e >= t.i) throw et(new Oet(e, t.i)); return ++t.j, n = t.g[e], r = t.i - e - 1, r > 0 && qc(t.g, e + 1, t.g, e, r), ds(t.g, --t.i, null), t.fi(e, n), t.ci(), n } function Rie(t, e) { var n, r; return t.Db >> 16 == 17 ? t.Cb.ih(t, 21, Zh, e) : (r = bo(u(wn((n = u(Dn(t, 16), 26), n || t.zh()), t.Db >> 16), 18)), t.Cb.ih(t, r.n, r.f, e)) } function xhn(t) { var e, n, r, s; for (pn(), ua(t.c, t.a), s = new S(t.c); s.a < s.c.c.length;)for (r = Q(s), n = new S(t.b); n.a < n.c.c.length;)e = u(Q(n), 679), e.Ke(r) } function khn(t) { var e, n, r, s; for (pn(), ua(t.c, t.a), s = new S(t.c); s.a < s.c.c.length;)for (r = Q(s), n = new S(t.b); n.a < n.c.c.length;)e = u(Q(n), 369), e.Ke(r) } function Ehn(t) { var e, n, r, s, o; for (s = Di, o = null, r = new S(t.d); r.a < r.c.c.length;)n = u(Q(r), 213), n.d.j ^ n.e.j && (e = n.e.e - n.d.e - n.a, e < s && (s = e, o = n)); return o } function C3t() { C3t = J, wpe = new vn(G6t, (Rn(), !1)), ppe = new vn(U6t, 100), Q7t = (O_(), Put), bpe = new vn(W6t, Q7t), vpe = new vn(K6t, Cd), mpe = new vn(Y6t, pe(Di)) } function jie(t, e, n) { var r, s, o, h, d, w, k, _; for (k = 0, s = t.a[e], o = 0, h = s.length; o < h; ++o)for (r = s[o], _ = G_(r, n), w = _.Kc(); w.Ob();)d = u(w.Pb(), 11), Pi(t.f, d, pe(k++)) } function Thn(t, e, n) { var r, s, o, h; if (n) for (s = n.a.length, r = new Y2(s), h = (r.b - r.a) * r.c < 0 ? (Op(), M2) : new Bp(r); h.Ob();)o = u(h.Pb(), 19), cn(t, e, ix(Km(n, o.a))) } function _hn(t, e, n) { var r, s, o, h; if (n) for (s = n.a.length, r = new Y2(s), h = (r.b - r.a) * r.c < 0 ? (Op(), M2) : new Bp(r); h.Ob();)o = u(h.Pb(), 19), cn(t, e, ix(Km(n, o.a))) } function S3t(t) { t2(); var e; return e = u(YD(N6(t.k), Ot(co, Nc, 61, 2, 0, 1)), 122), I8(e, 0, e.length, null), e[0] == (we(), Fn) && e[1] == jn && (ds(e, 0, jn), ds(e, 1, Fn)), e } function $ie(t, e, n) { var r, s, o; return s = l2n(t, e, n), o = g5t(t, s), Drt(t.b), urt(t, e, n), pn(), ua(s, new Tjt(t)), r = g5t(t, s), Drt(t.b), urt(t, n, e), new _a(pe(o), pe(r)) } function zie() { zie = J, Awe = Mi(new ra, (so(), Go), (vo(), aS)), aG = new Ks("linearSegments.inputPrio", pe(0)), oG = new Ks("linearSegments.outputPrio", pe(0)) } function u7() { u7 = J, cG = new BR("P1_TREEIFICATION", 0), LS = new BR("P2_NODE_ORDERING", 1), NO = new BR("P3_NODE_PLACEMENT", 2), MS = new BR("P4_EDGE_ROUTING", 3) } function iy() { iy = J, Hme = (Ti(), $x), Vme = zb, jme = jb, $me = a5, zme = m2, Rme = s5, nCt = KO, qme = Uy, Tht = (X4t(), Dme), _ht = Ime, rCt = Ome, vG = Nme, wG = Pme, FO = Fme, iCt = Bme } function Wl() { Wl = J, QO = new $R("UNKNOWN", 0), f0 = new $R("ABOVE", 1), y2 = new $R("BELOW", 2), XO = new $R("INLINE", 3), new Ks("org.eclipse.elk.labelSide", QO) } function qie(t, e) { var n; if (t.ni() && e != null) { for (n = 0; n < t.i; ++n)if (Ni(e, t.g[n])) return n } else for (n = 0; n < t.i; ++n)if (qt(t.g[n]) === qt(e)) return n; return -1 } function Chn(t, e, n) { var r, s; return e.c == (yo(), lu) && n.c == ll ? -1 : e.c == ll && n.c == lu ? 1 : (r = One(e.a, t.a), s = One(n.a, t.a), e.c == lu ? s - r : r - s) } function sy(t, e, n) { if (n && (e < 0 || e > n.a.c.length)) throw et(new Bn("index must be >= 0 and <= layer node count")); t.c && Au(t.c.a, t), t.c = n, n && Rm(n.a, e, t) } function Hie(t, e) { var n, r, s; for (r = new pr(mr($0(t).a.Kc(), new H)); Zr(r);)return n = u(qr(r), 17), s = u(e.Kb(n), 10), new jk(zr(s.n.b + s.o.b / 2)); return _T(), _T(), nut } function Vie(t, e) { this.c = new Rr, this.a = t, this.b = e, this.d = u(K(t, (ie(), Y4)), 304), qt(K(t, (Ce(), RTt))) === qt((pD(), SV)) ? this.e = new xzt : this.e = new yzt } function Shn(t, e) { var n, r, s, o; for (o = 0, r = new S(t); r.a < r.c.c.length;)n = u(Q(r), 33), o += b.Math.pow(n.g * n.f - e, 2); return s = b.Math.sqrt(o / (t.c.length - 1)), s } function eC(t, e) { var n, r; return r = null, t.Xe((Ti(), zx)) && (n = u(t.We(zx), 94), n.Xe(e) && (r = n.We(e))), r == null && t.yf() && (r = t.yf().We(e)), r == null && (r = Ie(e)), r } function cst(t, e) { var n, r; n = t.Zc(e); try { return r = n.Pb(), n.Qb(), r } catch (s) { throw s = os(s), Et(s, 109) ? et(new Oo("Can't remove element " + e)) : et(s) } } function Ahn(t, e) { var n, r, s; if (r = new vR, s = new ryt(r.q.getFullYear() - i2, r.q.getMonth(), r.q.getDate()), n = Lwn(t, e, s), n == 0 || n < e.length) throw et(new Bn(e)); return s } function A3t(t, e) { var n, r, s; for (Pn(e), pbt(e != t), s = t.b.c.length, r = e.Kc(); r.Ob();)n = r.Pb(), ue(t.b, Pn(n)); return s != t.b.c.length ? (gyt(t, 0), !0) : !1 } function ZD() { ZD = J, e9t = (Ti(), LG), new po(Ght, (Rn(), !0)), xpe = jb, kpe = a5, Epe = m2, ype = s5, r9t = KO, Tpe = Uy, t9t = (C3t(), wpe), Z7t = bpe, J7t = vpe, n9t = mpe, ZH = ppe } function Lhn(t, e) { if (e == t.c) return t.d; if (e == t.d) return t.c; throw et(new Bn("'port' must be either the source port or target port of the edge.")) } function Mhn(t, e, n) { var r, s; switch (s = t.o, r = t.d, e.g) { case 1: return -r.d - n; case 3: return s.b + r.a + n; case 2: return s.a + r.c + n; case 4: return -r.b - n; default: return 0 } } function L3t(t, e, n, r) { var s, o, h, d; for (Fo(e, u(r.Xb(0), 29)), d = r.bd(1, r.gc()), o = u(n.Kb(e), 20).Kc(); o.Ob();)s = u(o.Pb(), 17), h = s.c.i == e ? s.d.i : s.c.i, L3t(t, h, n, d) } function Gie(t) { var e; return e = new Rr, ia(t, (ie(), Slt)) ? u(K(t, Slt), 83) : (Ts(Qi(new kn(null, new Cn(t.j, 16)), new UY), new g6(e)), Jt(t, Slt, e), e) } function M3t(t, e) { var n, r; return t.Db >> 16 == 6 ? t.Cb.ih(t, 6, aa, e) : (r = bo(u(wn((n = u(Dn(t, 16), 26), n || (ou(), $G)), t.Db >> 16), 18)), t.Cb.ih(t, r.n, r.f, e)) } function D3t(t, e) { var n, r; return t.Db >> 16 == 7 ? t.Cb.ih(t, 1, iN, e) : (r = bo(u(wn((n = u(Dn(t, 16), 26), n || (ou(), wAt)), t.Db >> 16), 18)), t.Cb.ih(t, r.n, r.f, e)) } function I3t(t, e) { var n, r; return t.Db >> 16 == 9 ? t.Cb.ih(t, 9, bs, e) : (r = bo(u(wn((n = u(Dn(t, 16), 26), n || (ou(), yAt)), t.Db >> 16), 18)), t.Cb.ih(t, r.n, r.f, e)) } function Uie(t, e) { var n, r; return t.Db >> 16 == 5 ? t.Cb.ih(t, 9, YG, e) : (r = bo(u(wn((n = u(Dn(t, 16), 26), n || (hn(), Jg)), t.Db >> 16), 18)), t.Cb.ih(t, r.n, r.f, e)) } function O3t(t, e) { var n, r; return t.Db >> 16 == 3 ? t.Cb.ih(t, 0, aN, e) : (r = bo(u(wn((n = u(Dn(t, 16), 26), n || (hn(), Zg)), t.Db >> 16), 18)), t.Cb.ih(t, r.n, r.f, e)) } function Wie(t, e) { var n, r; return t.Db >> 16 == 7 ? t.Cb.ih(t, 6, u1, e) : (r = bo(u(wn((n = u(Dn(t, 16), 26), n || (hn(), ep)), t.Db >> 16), 18)), t.Cb.ih(t, r.n, r.f, e)) } function Kie() { this.a = new zF, this.g = new Nz, this.j = new Nz, this.b = new Rr, this.d = new Nz, this.i = new Nz, this.k = new Rr, this.c = new Rr, this.e = new Rr, this.f = new Rr } function Dhn(t, e, n) { var r, s, o; for (n < 0 && (n = 0), o = t.i, s = n; s < o; s++)if (r = St(t, s), e == null) { if (r == null) return s } else if (qt(e) === qt(r) || Ni(e, r)) return s; return -1 } function Ihn(t, e) { var n, r; return n = e.Hh(t.a), n ? (r = Kr(e1((!n.b && (n.b = new Ml((hn(), uo), xc, n)), n.b), TH)), ln(JI, r) ? b_(t, Vl(e.Hj())) : r) : null } function l7(t, e) { var n, r; if (e) { if (e == t) return !0; for (n = 0, r = u(e, 49).eh(); r && r != e; r = r.eh()) { if (++n > Yat) return l7(t, r); if (r == t) return !0 } } return !1 } function Ohn(t) { switch (sj(), t.q.g) { case 5: Iae(t, (we(), Fn)), Iae(t, Lr); break; case 4: Soe(t, (we(), Fn)), Soe(t, Lr); break; default: Sle(t, (we(), Fn)), Sle(t, Lr) } } function Nhn(t) { switch (sj(), t.q.g) { case 5: Wae(t, (we(), Wn)), Wae(t, jn); break; case 4: iie(t, (we(), Wn)), iie(t, jn); break; default: Ale(t, (we(), Wn)), Ale(t, jn) } } function Phn(t) { var e, n; e = u(K(t, (i1(), fpe)), 19), e ? (n = e.a, n == 0 ? Jt(t, (Up(), QH), new Lit) : Jt(t, (Up(), QH), new p$(n))) : Jt(t, (Up(), QH), new p$(1)) } function Fhn(t, e) { var n; switch (n = t.i, e.g) { case 1: return -(t.n.b + t.o.b); case 2: return t.n.a - n.o.a; case 3: return t.n.b - n.o.b; case 4: return -(t.n.a + t.o.a) }return 0 } function Bhn(t, e) { switch (t.g) { case 0: return e == (mh(), g2) ? vV : wV; case 1: return e == (mh(), g2) ? vV : bO; case 2: return e == (mh(), g2) ? bO : wV; default: return bO } } function JD(t, e) { var n, r, s; for (Au(t.a, e), t.e -= e.r + (t.a.c.length == 0 ? 0 : t.c), s = mkt, r = new S(t.a); r.a < r.c.c.length;)n = u(Q(r), 187), s = b.Math.max(s, n.d); t.b = s } function N3t(t, e) { var n, r; return t.Db >> 16 == 3 ? t.Cb.ih(t, 12, bs, e) : (r = bo(u(wn((n = u(Dn(t, 16), 26), n || (ou(), vAt)), t.Db >> 16), 18)), t.Cb.ih(t, r.n, r.f, e)) } function P3t(t, e) { var n, r; return t.Db >> 16 == 11 ? t.Cb.ih(t, 10, bs, e) : (r = bo(u(wn((n = u(Dn(t, 16), 26), n || (ou(), mAt)), t.Db >> 16), 18)), t.Cb.ih(t, r.n, r.f, e)) } function Yie(t, e) { var n, r; return t.Db >> 16 == 10 ? t.Cb.ih(t, 11, Zh, e) : (r = bo(u(wn((n = u(Dn(t, 16), 26), n || (hn(), tp)), t.Db >> 16), 18)), t.Cb.ih(t, r.n, r.f, e)) } function Xie(t, e) { var n, r; return t.Db >> 16 == 10 ? t.Cb.ih(t, 12, Jh, e) : (r = bo(u(wn((n = u(Dn(t, 16), 26), n || (hn(), Jy)), t.Db >> 16), 18)), t.Cb.ih(t, r.n, r.f, e)) } function Bh(t) { var e; return !(t.Bb & 1) && t.r && t.r.kh() && (e = u(t.r, 49), t.r = u(Xp(t, e), 138), t.r != e && t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 9, 8, e, t.r))), t.r } function ust(t, e, n) { var r; return r = ct(ot(wa, 1), Do, 25, 15, [a4t(t, (t1(), wc), e, n), a4t(t, uu, e, n), a4t(t, mc, e, n)]), t.f && (r[0] = b.Math.max(r[0], r[2]), r[2] = r[0]), r } function Rhn(t, e) { var n, r, s; if (s = Iln(t, e), s.c.length != 0) for (ua(s, new TY), n = s.c.length, r = 0; r < n; r++)p7(t, (An(r, s.c.length), u(s.c[r], 286)), ibn(t, s, r)) } function jhn(t) { var e, n, r, s; for (s = u(ji(t.a, (g4(), mV)), 15).Kc(); s.Ob();)for (r = u(s.Pb(), 101), n = N6(r.k).Kc(); n.Ob();)e = u(n.Pb(), 61), w8(t, r, e, (Xv(), d2), 1) } function $hn(t) { var e, n; if (t.k == (Kn(), ha)) { for (n = new pr(mr($0(t).a.Kc(), new H)); Zr(n);)if (e = u(qr(n), 17), !ro(e) && t.c == q3t(e, t).c) return !0 } return !1 } function zhn(t) { var e, n; if (t.k == (Kn(), ha)) { for (n = new pr(mr($0(t).a.Kc(), new H)); Zr(n);)if (e = u(qr(n), 17), !ro(e) && e.c.i.c == e.d.i.c) return !0 } return !1 } function qhn(t, e) { var n, r, s, o; for (Ar(e, "Dull edge routing", 1), o = gi(t.b, 0); o.b != o.d.c;)for (s = u(di(o), 86), r = gi(s.d, 0); r.b != r.d.c;)n = u(di(r), 188), Nh(n.a) } function Hhn(t, e) { var n, r, s, o, h; if (e) for (s = e.a.length, n = new Y2(s), h = (n.b - n.a) * n.c < 0 ? (Op(), M2) : new Bp(n); h.Ob();)o = u(h.Pb(), 19), r = C8(e, o.a), r && yoe(t, r) } function Vhn() { Qpt(); var t, e; for (u4n((zp(), Ln)), e4n(Ln), ost(Ln), NAt = (hn(), J1), e = new S(HAt); e.a < e.c.c.length;)t = u(Q(e), 241), C7(t, J1, null); return !0 } function F3t(t, e) { var n, r, s, o, h, d, w, k; return w = t.h >> 19, k = e.h >> 19, w != k ? k - w : (s = t.h, d = e.h, s != d ? s - d : (r = t.m, h = e.m, r != h ? r - h : (n = t.l, o = e.l, n - o))) } function jz() { jz = J, E7t = (sq(), xut), k7t = new vn(T6t, E7t), x7t = (D$(), yut), y7t = new vn(_6t, x7t), m7t = (_z(), mut), w7t = new vn(C6t, m7t), v7t = new vn(S6t, (Rn(), !0)) } function nC(t, e, n) { var r, s; r = e * n, Et(t.g, 145) ? (s = q6(t), s.f.d ? s.f.a || (t.d.a += r + H1) : (t.d.d -= r + H1, t.d.a += r + H1)) : Et(t.g, 10) && (t.d.d -= r, t.d.a += 2 * r) } function Qie(t, e, n) { var r, s, o, h, d; for (s = t[n.g], d = new S(e.d); d.a < d.c.c.length;)h = u(Q(d), 101), o = h.i, o && o.i == n && (r = h.d[n.g], s[r] = b.Math.max(s[r], o.j.b)) } function Ghn(t, e) { var n, r, s, o, h; for (r = 0, s = 0, n = 0, h = new S(e.d); h.a < h.c.c.length;)o = u(Q(h), 443), Fz(o), r = b.Math.max(r, o.b), s += o.d + (n > 0 ? t.g : 0), ++n; e.b = r, e.e = s } function Zie(t) { var e, n, r; if (r = t.b, yHt(t.i, r.length)) { for (n = r.length * 2, t.b = Ot(aut, AI, 317, n, 0, 1), t.c = Ot(aut, AI, 317, n, 0, 1), t.f = n - 1, t.i = 0, e = t.a; e; e = e.c)aI(t, e, e); ++t.g } } function Uhn(t, e, n, r) { var s, o, h, d; for (s = 0; s < e.o; s++)for (o = s - e.j + n, h = 0; h < e.p; h++)d = h - e.k + r, l4(e, s, h) ? Rln(t, o, d) || ehn(t, o, d) : Eie(e, s, h) && (mie(t, o, d) || nhn(t, o, d)) } function Whn(t, e, n) { var r; r = e.c.i, r.k == (Kn(), ha) ? (Jt(t, (ie(), c1), u(K(r, c1), 11)), Jt(t, Uh, u(K(r, Uh), 11))) : (Jt(t, (ie(), c1), e.c), Jt(t, Uh, n.d)) } function h7(t, e, n) { y4(); var r, s, o, h, d, w; return h = e / 2, o = n / 2, r = b.Math.abs(t.a), s = b.Math.abs(t.b), d = 1, w = 1, r > h && (d = h / r), s > o && (w = o / s), pd(t, b.Math.min(d, w)), t } function Khn() { hq(); var t, e; try { if (e = u(U3t((Ip(), tf), V7), 2014), e) return e } catch (n) { if (n = os(n), Et(n, 102)) t = n, Ovt((Ur(), t)); else throw et(n) } return new Z5 } function Yhn() { HJt(); var t, e; try { if (e = u(U3t((Ip(), tf), Sb), 2024), e) return e } catch (n) { if (n = os(n), Et(n, 102)) t = n, Ovt((Ur(), t)); else throw et(n) } return new xm } function Xhn() { hq(); var t, e; try { if (e = u(U3t((Ip(), tf), Hh), 1941), e) return e } catch (n) { if (n = os(n), Et(n, 102)) t = n, Ovt((Ur(), t)); else throw et(n) } return new BZ } function Qhn(t, e, n) { var r, s; return s = t.e, t.e = e, t.Db & 4 && !(t.Db & 1) && (r = new la(t, 1, 4, s, e), n ? n.Ei(r) : n = r), s != e && (e ? n = C7(t, Zz(t, e), n) : n = C7(t, t.a, n)), n } function Jie() { vR.call(this), this.e = -1, this.a = !1, this.p = $a, this.k = -1, this.c = -1, this.b = -1, this.g = !1, this.f = -1, this.j = -1, this.n = -1, this.i = -1, this.d = -1, this.o = $a } function Zhn(t, e) { var n, r, s; if (r = t.b.d.d, t.a || (r += t.b.d.a), s = e.b.d.d, e.a || (s += e.b.d.a), n = Vs(r, s), n == 0) { if (!t.a && e.a) return -1; if (!e.a && t.a) return 1 } return n } function Jhn(t, e) { var n, r, s; if (r = t.b.b.d, t.a || (r += t.b.b.a), s = e.b.b.d, e.a || (s += e.b.b.a), n = Vs(r, s), n == 0) { if (!t.a && e.a) return -1; if (!e.a && t.a) return 1 } return n } function tfn(t, e) { var n, r, s; if (r = t.b.g.d, t.a || (r += t.b.g.a), s = e.b.g.d, e.a || (s += e.b.g.a), n = Vs(r, s), n == 0) { if (!t.a && e.a) return -1; if (!e.a && t.a) return 1 } return n } function B3t() { B3t = J, Cpe = sl(Mi(Mi(Mi(new ra, (so(), Zc), (vo(), R9t)), Zc, j9t), Go, $9t), Go, S9t), Ape = Mi(Mi(new ra, Zc, y9t), Zc, A9t), Spe = sl(new ra, Go, M9t) } function efn(t) { var e, n, r, s, o; for (e = u(K(t, (ie(), dS)), 83), o = t.n, r = e.Cc().Kc(); r.Ob();)n = u(r.Pb(), 306), s = n.i, s.c += o.a, s.d += o.b, n.c ? pce(n) : bce(n); Jt(t, dS, null) } function nfn(t, e, n) { var r, s; switch (s = t.b, r = s.d, e.g) { case 1: return -r.d - n; case 2: return s.o.a + r.c + n; case 3: return s.o.b + r.a + n; case 4: return -r.b - n; default: return -1 } } function rfn(t) { var e, n, r, s, o; if (r = 0, s = F7, t.b) for (e = 0; e < 360; e++)n = e * .017453292519943295, S5t(t, t.d, 0, 0, D4, n), o = t.b.ig(t.d), o < s && (r = n, s = o); S5t(t, t.d, 0, 0, D4, r) } function ifn(t, e) { var n, r, s, o; for (o = new Rr, e.e = null, e.f = null, r = new S(e.i); r.a < r.c.c.length;)n = u(Q(r), 65), s = u(or(t.g, n.a), 46), n.a = Pj(n.b), Pi(o, n.a, s); t.g = o } function sfn(t, e, n) { var r, s, o, h, d, w; for (s = e - t.e, o = s / t.d.c.length, h = 0, w = new S(t.d); w.a < w.c.c.length;)d = u(Q(w), 443), r = t.b - d.b + n, Cre(d, d.e + h * o, d.f), $ln(d, o, r), ++h } function tse(t) { var e; if (t.f.qj(), t.b != -1) { if (++t.b, e = t.f.d[t.a], t.b < e.i) return; ++t.a } for (; t.a < t.f.d.length; ++t.a)if (e = t.f.d[t.a], e && e.i != 0) { t.b = 0; return } t.b = -1 } function afn(t, e) { var n, r, s; for (s = e.c.length, n = s0n(t, s == 0 ? "" : (An(0, e.c.length), Kr(e.c[0]))), r = 1; r < s && n; ++r)n = u(n, 49).oh((An(r, e.c.length), Kr(e.c[r]))); return n } function ese(t, e) { var n, r; for (r = new S(e); r.a < r.c.c.length;)n = u(Q(r), 10), t.c[n.c.p][n.p].a = _vt(t.i), t.c[n.c.p][n.p].d = Xt(t.c[n.c.p][n.p].a), t.c[n.c.p][n.p].b = 1 } function ofn(t, e) { var n, r, s, o; for (o = 0, r = new S(t); r.a < r.c.c.length;)n = u(Q(r), 157), o += b.Math.pow(Wu(n) * Dl(n) - e, 2); return s = b.Math.sqrt(o / (t.c.length - 1)), s } function nse(t, e, n, r) { var s, o, h; return o = Nbn(t, e, n, r), h = x5t(t, o), mst(t, e, n, r), Drt(t.b), pn(), ua(o, new _jt(t)), s = x5t(t, o), mst(t, n, e, r), Drt(t.b), new _a(pe(h), pe(s)) } function cfn(t, e, n) { var r, s; for (Ar(n, "Interactive node placement", 1), t.a = u(K(e, (ie(), Y4)), 304), s = new S(e.b); s.a < s.c.c.length;)r = u(Q(s), 29), U2n(t, r); br(n) } function ufn(t, e) { var n; Ar(e, "General Compactor", 1), e.n && t && vf(e, wf(t), (Pl(), rh)), n = nun(u(ze(t, (iy(), _ht)), 380)), n.hg(t), e.n && t && vf(e, wf(t), (Pl(), rh)) } function lfn(t, e, n) { var r, s; for (ZR(t, t.j + e, t.k + n), s = new lr((!t.a && (t.a = new qs(Qh, t, 5)), t.a)); s.e != s.i.gc();)r = u(kr(s), 469), F2t(r, r.a + e, r.b + n); QR(t, t.b + e, t.c + n) } function R3t(t, e, n, r) { switch (n) { case 7: return !t.e && (t.e = new Tn(aa, t, 7, 4)), au(t.e, e, r); case 8: return !t.d && (t.d = new Tn(aa, t, 8, 5)), au(t.d, e, r) }return bst(t, e, n, r) } function j3t(t, e, n, r) { switch (n) { case 7: return !t.e && (t.e = new Tn(aa, t, 7, 4)), Za(t.e, e, r); case 8: return !t.d && (t.d = new Tn(aa, t, 8, 5)), Za(t.d, e, r) }return tit(t, e, n, r) } function hfn(t, e, n) { var r, s, o, h, d; if (n) for (o = n.a.length, r = new Y2(o), d = (r.b - r.a) * r.c < 0 ? (Op(), M2) : new Bp(r); d.Ob();)h = u(d.Pb(), 19), s = C8(n, h.a), s && Dae(t, s, e) } function $z(t, e, n) { var r, s, o, h, d; return t.qj(), o = e == null ? 0 : ns(e), t.f > 0 && (h = (o & Di) % t.d.length, s = B4t(t, h, o, e), s) ? (d = s.ed(n), d) : (r = t.tj(o, e, n), t.c.Fc(r), null) } function $3t(t, e) { var n, r, s, o; switch (Ig(t, e)._k()) { case 3: case 2: { for (n = k4(e), s = 0, o = n.i; s < o; ++s)if (r = u(St(n, s), 34), Bv(Bo(t, r)) == 5) return r; break } }return null } function ffn(t) { var e, n, r, s, o; if (yHt(t.f, t.b.length)) for (r = Ot(T0e, AI, 330, t.b.length * 2, 0, 1), t.b = r, s = r.length - 1, n = t.a; n != t; n = n.Rd())o = u(n, 330), e = o.d & s, o.a = r[e], r[e] = o } function rse(t, e) { var n, r, s, o; for (o = 0, s = u(u(ji(t.r, e), 21), 84).Kc(); s.Ob();)r = u(s.Pb(), 111), o = b.Math.max(o, r.e.a + r.b.rf().a); n = u(Ao(t.b, e), 124), n.n.b = 0, n.a.a = o } function ise(t, e) { var n, r, s, o; for (n = 0, o = u(u(ji(t.r, e), 21), 84).Kc(); o.Ob();)s = u(o.Pb(), 111), n = b.Math.max(n, s.e.b + s.b.rf().b); r = u(Ao(t.b, e), 124), r.n.d = 0, r.a.b = n } function dfn(t) { var e, n; return n = u(K(t, (ie(), tu)), 21), e = YR(Vwe), n.Hc((ko(), G4)) && Ul(e, Wwe), n.Hc(fS) && Ul(e, Kwe), n.Hc(l9) && Ul(e, Gwe), n.Hc(h9) && Ul(e, Uwe), e } function gfn(t, e) { var n; Ar(e, "Delaunay triangulation", 1), n = new le, Mu(t.i, new Wjt(n)), Re(Be(K(t, (V8(), rS)))), t.e ? io(t.e, Hle(n)) : t.e = Hle(n), br(e) } function z3t(t) { if (t < 0) throw et(new Bn("The input must be positive")); return t < tSt.length ? qv(tSt[t]) : b.Math.sqrt(D4 * t) * (Kon(t, t) / Tyt(2.718281828459045, t)) } function f7(t, e) { var n; if (t.ni() && e != null) { for (n = 0; n < t.i; ++n)if (Ni(e, t.g[n])) return !0 } else for (n = 0; n < t.i; ++n)if (qt(t.g[n]) === qt(e)) return !0; return !1 } function pfn(t, e) { if (e == null) { for (; t.a.Ob();)if (u(t.a.Pb(), 42).dd() == null) return !0 } else for (; t.a.Ob();)if (Ni(e, u(t.a.Pb(), 42).dd())) return !0; return !1 } function bfn(t, e) { var n, r, s; return e === t ? !0 : Et(e, 664) ? (s = u(e, 1947), $re((r = t.g, r || (t.g = new hT(t))), (n = s.g, n || (s.g = new hT(s))))) : !1 } function vfn(t) { var e, n, r, s; for (e = "Sz", n = "ez", s = b.Math.min(t.length, 5), r = s - 1; r >= 0; r--)if (ln(t[r].d, e) || ln(t[r].d, n)) { t.length >= r + 1 && t.splice(0, r + 1); break } return t } function tI(t, e) { var n; return Xo(t) && Xo(e) && (n = t / e, DI < n && n < mb) ? n < 0 ? b.Math.ceil(n) : b.Math.floor(n) : Wp(W5t(Xo(t) ? Ph(t) : t, Xo(e) ? Ph(e) : e, !1)) } function q3t(t, e) { if (e == t.c.i) return t.d.i; if (e == t.d.i) return t.c.i; throw et(new Bn("'node' must either be the source node or target node of the edge.")) } function wfn(t) { var e, n, r, s; if (s = u(K(t, (ie(), LEt)), 37), s) { for (r = new Ra, e = Qa(t.c.i); e != s;)n = e.e, e = Qa(n), Nm($i($i(r, n.n), e.c), e.d.b, e.d.d); return r } return Upe } function mfn(t) { var e; e = u(K(t, (ie(), d9)), 403), Ts(oc(new kn(null, new Cn(e.d, 16)), new zY), new d6(t)), Ts(Qi(new kn(null, new Cn(e.d, 16)), new nF), new O3(t)) } function lst(t, e) { var n, r, s, o; for (s = e ? Gs(t) : Zo(t), r = new pr(mr(s.a.Kc(), new H)); Zr(r);)if (n = u(qr(r), 17), o = q3t(n, t), o.k == (Kn(), ha) && o.c != t.c) return o; return null } function yfn(t) { var e, n, r; for (n = new S(t.p); n.a < n.c.c.length;)e = u(Q(n), 10), e.k == (Kn(), Ws) && (r = e.o.b, t.i = b.Math.min(t.i, r), t.g = b.Math.max(t.g, r)) } function sse(t, e, n) { var r, s, o; for (o = new S(e); o.a < o.c.c.length;)r = u(Q(o), 10), t.c[r.c.p][r.p].e = !1; for (s = new S(e); s.a < s.c.c.length;)r = u(Q(s), 10), J5t(t, r, n) } function hst(t, e, n) { var r, s; r = a4(e.j, n.s, n.c) + a4(n.e, e.s, e.c), s = a4(n.j, e.s, e.c) + a4(e.e, n.s, n.c), r == s ? r > 0 && (t.b += 2, t.a += r) : (t.b += 1, t.a += b.Math.min(r, s)) } function ase(t, e) { var n, r; if (r = !1, pa(e) && (r = !0, F6(t, new zm(Kr(e)))), r || Et(e, 236) && (r = !0, F6(t, (n = Ubt(u(e, 236)), new gT(n)))), !r) throw et(new qtt(e8t)) } function xfn(t, e, n, r) { var s, o, h; return s = new P0(t.e, 1, 10, (h = e.c, Et(h, 88) ? u(h, 26) : (hn(), ef)), (o = n.c, Et(o, 88) ? u(o, 26) : (hn(), ef)), Pg(t, e), !1), r ? r.Ei(s) : r = s, r } function H3t(t) { var e, n; switch (u(K(Qa(t), (Ce(), MTt)), 420).g) { case 0: return e = t.n, n = t.o, new je(e.a + n.a / 2, e.b + n.b / 2); case 1: return new No(t.n); default: return null } } function eI() { eI = J, AV = new GT(W0, 0), pEt = new GT("LEFTUP", 1), vEt = new GT("RIGHTUP", 2), gEt = new GT("LEFTDOWN", 3), bEt = new GT("RIGHTDOWN", 4), plt = new GT("BALANCED", 5) } function kfn(t, e, n) { var r, s, o; if (r = Vs(t.a[e.p], t.a[n.p]), r == 0) { if (s = u(K(e, (ie(), Mx)), 15), o = u(K(n, Mx), 15), s.Hc(n)) return -1; if (o.Hc(e)) return 1 } return r } function Efn(t) { switch (t.g) { case 1: return new qQ; case 2: return new HQ; case 3: return new zQ; case 0: return null; default: throw et(new Bn(uct + (t.f != null ? t.f : "" + t.g))) } } function V3t(t, e, n) { switch (e) { case 1: !t.n && (t.n = new he(ec, t, 1, 7)), Ir(t.n), !t.n && (t.n = new he(ec, t, 1, 7)), vs(t.n, u(n, 14)); return; case 2: F_(t, Kr(n)); return }lyt(t, e, n) } function G3t(t, e, n) { switch (e) { case 3: Wv(t, Xt(xe(n))); return; case 4: Kv(t, Xt(xe(n))); return; case 5: Du(t, Xt(xe(n))); return; case 6: Iu(t, Xt(xe(n))); return }V3t(t, e, n) } function zz(t, e, n) { var r, s, o; o = (r = new Ftt, r), s = z1(o, e, null), s && s.Fi(), su(o, n), Hr((!t.c && (t.c = new he(Rw, t, 12, 10)), t.c), o), Mg(o, 0), Zm(o, 1), Ng(o, !0), Og(o, !0) } function U3t(t, e) { var n, r, s; return n = $T(t.g, e), Et(n, 235) ? (s = u(n, 235), s.Qh() == null, s.Nh()) : Et(n, 498) ? (r = u(n, 1938), s = r.b, s) : null } function Tfn(t, e, n, r) { var s, o; return zr(e), zr(n), o = u(f_(t.d, e), 19), KJt(!!o, "Row %s not in %s", e, t.e), s = u(f_(t.b, n), 19), KJt(!!s, "Column %s not in %s", n, t.c), Jee(t, o.a, s.a, r) } function ose(t, e, n, r, s, o, h) { var d, w, k, _, L; if (_ = s[o], k = o == h - 1, d = k ? r : 0, L = Aie(d, _), r != 10 && ct(ot(t, h - o), e[o], n[o], d, L), !k) for (++o, w = 0; w < _; ++w)L[w] = ose(t, e, n, r, s, o, h); return L } function rC(t) { if (t.g == -1) throw et(new qu); t.mj(); try { t.i.$c(t.g), t.f = t.i.j, t.g < t.e && --t.e, t.g = -1 } catch (e) { throw e = os(e), Et(e, 73) ? et(new uh) : et(e) } } function iC(t, e) { return t.b.a = b.Math.min(t.b.a, e.c), t.b.b = b.Math.min(t.b.b, e.d), t.a.a = b.Math.max(t.a.a, e.c), t.a.b = b.Math.max(t.a.b, e.d), t.c[t.c.length] = e, !0 } function _fn(t) { var e, n, r, s; for (s = -1, r = 0, n = new S(t); n.a < n.c.c.length;) { if (e = u(Q(n), 243), e.c == (yo(), ll)) { s = r == 0 ? 0 : r - 1; break } else r == t.c.length - 1 && (s = r); r += 1 } return s } function Cfn(t) { var e, n, r, s; for (s = 0, e = 0, r = new S(t.c); r.a < r.c.c.length;)n = u(Q(r), 33), Du(n, t.e + s), Iu(n, t.f), s += n.g + t.b, e = b.Math.max(e, n.f + t.b); t.d = s - t.b, t.a = e - t.b } function f4(t) { var e, n, r; for (n = new S(t.a.b); n.a < n.c.c.length;)e = u(Q(n), 57), r = e.d.c, e.d.c = e.d.d, e.d.d = r, r = e.d.b, e.d.b = e.d.a, e.d.a = r, r = e.b.a, e.b.a = e.b.b, e.b.b = r; o5t(t) } function d4(t) { var e, n, r; for (n = new S(t.a.b); n.a < n.c.c.length;)e = u(Q(n), 81), r = e.g.c, e.g.c = e.g.d, e.g.d = r, r = e.g.b, e.g.b = e.g.a, e.g.a = r, r = e.e.a, e.e.a = e.e.b, e.e.b = r; tq(t) } function Sfn(t) { var e, n, r, s, o; for (o = N6(t.k), n = (we(), ct(ot(co, 1), Nc, 61, 0, [fc, Fn, Wn, Lr, jn])), r = 0, s = n.length; r < s; ++r)if (e = n[r], e != fc && !o.Hc(e)) return e; return null } function fst(t, e) { var n, r; return r = u(obt(oit(Qi(new kn(null, new Cn(e.j, 16)), new OX))), 11), r && (n = u(Fe(r.e, 0), 17), n) ? u(K(n, (ie(), Bc)), 19).a : nsn(t.b) } function Afn(t, e) { var n, r, s, o; for (o = new S(e.a); o.a < o.c.c.length;)for (s = u(Q(o), 10), LT(t.d), r = new pr(mr(Gs(s).a.Kc(), new H)); Zr(r);)n = u(qr(r), 17), noe(t, s, n.d.i) } function Lfn(t, e) { var n, r; for (Au(t.b, e), r = new S(t.n); r.a < r.c.c.length;)if (n = u(Q(r), 211), Qo(n.c, e, 0) != -1) { Au(n.c, e), Cfn(n), n.c.c.length == 0 && Au(t.n, n); break } zwn(t) } function cse(t, e) { var n, r, s, o, h; for (h = t.f, s = 0, o = 0, r = new S(t.a); r.a < r.c.c.length;)n = u(Q(r), 187), KD(n, t.e, h), fD(n, e), o = b.Math.max(o, n.r), h += n.d + t.c, s = h; t.d = o, t.b = s } function use(t) { var e, n; return n = hI(t), S8(n) ? null : (e = (zr(n), u(wie(new pr(mr(n.a.Kc(), new H))), 79)), Vo(u(St((!e.b && (e.b = new Tn(Cr, e, 4, 7)), e.b), 0), 82))) } function qz(t) { var e; return t.o || (e = t.Lj(), e ? t.o = new Jvt(t, t, null) : t.rk() ? t.o = new Dbt(t, null) : Bv(Bo((Yu(), Pa), t)) == 1 ? t.o = new YQt(t) : t.o = new Zet(t, null)), t.o } function Mfn(t, e, n, r) { var s, o, h, d, w; n.mh(e) && (s = (h = e, h ? u(r, 49).xh(h) : null), s && (w = n.ah(e), d = e.t, d > 1 || d == -1 ? (o = u(w, 15), s.Wb(Dun(t, o))) : s.Wb(Qst(t, u(w, 56))))) } function Dfn(t, e, n, r) { Kqt(); var s = eut; function o() { for (var h = 0; h < s.length; h++)s[h]() } if (t) try { K4e(o)() } catch (h) { t(e, h) } else K4e(o)() } function Ifn(t) { var e, n, r, s, o; for (r = new ub(new vg(t.b).a); r.b;)n = Uv(r), e = u(n.cd(), 10), o = u(u(n.dd(), 46).a, 10), s = u(u(n.dd(), 46).b, 8), $i(Xf(e.n), $i(pc(o.n), s)) } function Ofn(t) { switch (u(K(t.b, (Ce(), ETt)), 375).g) { case 1: Ts(Cu(oc(new kn(null, new Cn(t.d, 16)), new vF), new cv), new wF); break; case 2: kbn(t); break; case 0: r0n(t) } } function Nfn(t, e, n) { var r; Ar(n, "Straight Line Edge Routing", 1), n.n && e && vf(n, wf(e), (Pl(), rh)), r = u(ze(e, (l_(), NS)), 33), Pue(t, r), n.n && e && vf(n, wf(e), (Pl(), rh)) } function ay() { ay = J, Hht = new XT("V_TOP", 0), VO = new XT("V_CENTER", 1), HO = new XT("V_BOTTOM", 2), qht = new XT("H_LEFT", 3), zO = new XT("H_CENTER", 4), qO = new XT("H_RIGHT", 5) } function W3t(t) { var e; return t.Db & 64 ? wz(t) : (e = new Ih(wz(t)), e.a += " (abstract: ", xg(e, (t.Bb & 256) != 0), e.a += ", interface: ", xg(e, (t.Bb & 512) != 0), e.a += ")", e.a) } function Pfn(t, e, n, r) { var s, o, h, d; return Ll(t.e) && (s = e.ak(), d = e.dd(), o = n.dd(), h = Hp(t, 1, s, d, o, s.$j() ? E7(t, s, o, Et(s, 99) && (u(s, 18).Bb & oo) != 0) : -1, !0), r ? r.Ei(h) : r = h), r } function Ffn(t) { var e; t.c == null && (e = qt(t.b) === qt(L8t) ? null : t.b, t.d = e == null ? Pu : MKt(e) ? vYe(GYt(e)) : pa(e) ? f6t : Mp(bl(e)), t.a = t.a + ": " + (MKt(e) ? lXe(GYt(e)) : e + ""), t.c = "(" + t.d + ") " + t.a) } function K3t(t, e) { this.e = t, _v(Xs(e, -4294967296), 0) ? (this.d = 1, this.a = ct(ot(Br, 1), oi, 25, 15, [$r(e)])) : (this.d = 2, this.a = ct(ot(Br, 1), oi, 25, 15, [$r(e), $r(Rp(e, 32))])) } function Bfn() { function t() { try { return new Map().entries().next().done } catch { return !1 } } return typeof Map === kat && Map.prototype.entries && t() ? Map : o3n() } function Rfn(t, e) { var n, r, s, o; for (o = new Ca(t.e, 0), n = 0; o.b < o.d.gc();) { if (r = Xt((ir(o.b < o.d.gc()), xe(o.d.Xb(o.c = o.b++)))), s = r - e, s > act) return n; s > -1e-6 && ++n } return n } function Y3t(t, e) { var n; e != t.b ? (n = null, t.b && (n = Jj(t.b, t, -4, n)), e && (n = tx(e, t, -4, n)), n = Hne(t, e, n), n && n.Fi()) : t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 3, e, e)) } function lse(t, e) { var n; e != t.f ? (n = null, t.f && (n = Jj(t.f, t, -1, n)), e && (n = tx(e, t, -1, n)), n = Vne(t, e, n), n && n.Fi()) : t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 0, e, e)) } function hse(t) { var e, n, r; if (t == null) return null; if (n = u(t, 15), n.dc()) return ""; for (r = new yg, e = n.Kc(); e.Ob();)So(r, (Vi(), Kr(e.Pb()))), r.a += " "; return Pet(r, r.a.length - 1) } function fse(t) { var e, n, r; if (t == null) return null; if (n = u(t, 15), n.dc()) return ""; for (r = new yg, e = n.Kc(); e.Ob();)So(r, (Vi(), Kr(e.Pb()))), r.a += " "; return Pet(r, r.a.length - 1) } function jfn(t, e, n) { var r, s; return r = t.c[e.c.p][e.p], s = t.c[n.c.p][n.p], r.a != null && s.a != null ? Ent(r.a, s.a) : r.a != null ? -1 : s.a != null ? 1 : 0 } function $fn(t, e) { var n, r, s, o, h, d; if (e) for (o = e.a.length, n = new Y2(o), d = (n.b - n.a) * n.c < 0 ? (Op(), M2) : new Bp(n); d.Ob();)h = u(d.Pb(), 19), s = C8(e, h.a), r = new d$t(t), Ltn(r.a, s) } function zfn(t, e) { var n, r, s, o, h, d; if (e) for (o = e.a.length, n = new Y2(o), d = (n.b - n.a) * n.c < 0 ? (Op(), M2) : new Bp(n); d.Ob();)h = u(d.Pb(), 19), s = C8(e, h.a), r = new i$t(t), Atn(r.a, s) } function qfn(t) { var e; if (t != null && t.length > 0 && Ia(t, t.length - 1) == 33) try { return e = uae($l(t, 0, t.length - 1)), e.e == null } catch (n) { if (n = os(n), !Et(n, 32)) throw et(n) } return !1 } function dse(t, e, n) { var r, s, o; return r = e.ak(), o = e.dd(), s = r.$j() ? Hp(t, 3, r, null, o, E7(t, r, o, Et(r, 99) && (u(r, 18).Bb & oo) != 0), !0) : Hp(t, 1, r, r.zj(), o, -1, !0), n ? n.Ei(s) : n = s, n } function Hfn() { var t, e, n; for (e = 0, t = 0; t < 1; t++) { if (n = z4t((Yr(t, 1), "X".charCodeAt(t))), n == 0) throw et(new Wr("Unknown Option: " + "X".substr(t))); e |= n } return e } function Vfn(t, e, n) { var r, s, o; switch (r = Qa(e), s = gz(r), o = new zc, ac(o, e), n.g) { case 1: Qs(o, qD(Z6(s))); break; case 2: Qs(o, Z6(s)) }return Jt(o, (Ce(), jy), xe(K(t, jy))), o } function X3t(t) { var e, n; return e = u(qr(new pr(mr(Zo(t.a).a.Kc(), new H))), 17), n = u(qr(new pr(mr(Gs(t.a).a.Kc(), new H))), 17), Re(Be(K(e, (ie(), K1)))) || Re(Be(K(n, K1))) } function g4() { g4 = J, yV = new xM("ONE_SIDE", 0), kV = new xM("TWO_SIDES_CORNER", 1), EV = new xM("TWO_SIDES_OPPOSING", 2), xV = new xM("THREE_SIDES", 3), mV = new xM("FOUR_SIDES", 4) } function dst(t, e, n, r, s) { var o, h; o = u(Hl(Qi(e.Oc(), new xX), nb(new Ee, new ne, new tr, ct(ot(xl, 1), se, 132, 0, [(j1(), Zl)]))), 15), h = u(sb(t.b, n, r), 15), s == 0 ? h.Wc(0, o) : h.Gc(o) } function Gfn(t, e) { var n, r, s, o, h; for (o = new S(e.a); o.a < o.c.c.length;)for (s = u(Q(o), 10), r = new pr(mr(Zo(s).a.Kc(), new H)); Zr(r);)n = u(qr(r), 17), h = n.c.i.p, t.n[h] = t.n[h] - 1 } function Ufn(t, e) { var n, r, s, o, h; for (o = new S(e.d); o.a < o.c.c.length;)for (s = u(Q(o), 101), h = u(or(t.c, s), 112).o, r = new k6(s.b); r.a < r.c.a.length;)n = u(M_(r), 61), omt(s, n, h) } function Wfn(t) { var e, n; for (n = new S(t.e.b); n.a < n.c.c.length;)e = u(Q(n), 29), Eyn(t, e); Ts(Qi(oc(oc(new kn(null, new Cn(t.e.b, 16)), new sQ), new MF), new uQ), new jjt(t)) } function Q3t(t, e) { return e ? t.Di(e) ? !1 : t.i ? t.i.Ei(e) : Et(e, 143) ? (t.i = u(e, 143), !0) : (t.i = new t6, t.i.Ei(e)) : !1 } function Kfn(t) { if (t = Xc(t, !0), ln(q7, t) || ln("1", t)) return Rn(), Y7; if (ln(xct, t) || ln("0", t)) return Rn(), Lb; throw et(new Gtt("Invalid boolean value: '" + t + "'")) } function Z3t(t, e, n) { var r, s, o; for (s = t.vc().Kc(); s.Ob();)if (r = u(s.Pb(), 42), o = r.cd(), qt(e) === qt(o) || e != null && Ni(e, o)) return n && (r = new LR(r.cd(), r.dd()), s.Qb()), r; return null } function Yfn(t) { Pm(); var e, n, r; t.B.Hc((ml(), FG)) && (r = t.f.i, e = new Zj(t.a.c), n = new v6, n.b = e.c - r.c, n.d = e.d - r.d, n.c = r.c + r.b - (e.c + e.b), n.a = r.d + r.a - (e.d + e.a), t.e.Ff(n)) } function gse(t, e, n, r) { var s, o, h; for (h = b.Math.min(n, kue(u(t.b, 65), e, n, r)), o = new S(t.a); o.a < o.c.c.length;)s = u(Q(o), 221), s != e && (h = b.Math.min(h, gse(s, e, h, r))); return h } function J3t(t) { var e, n, r, s; for (s = Ot(l0, te, 193, t.b.c.length, 0, 2), r = new Ca(t.b, 0); r.b < r.d.gc();)e = (ir(r.b < r.d.gc()), u(r.d.Xb(r.c = r.b++), 29)), n = r.b - 1, s[n] = iD(e.a); return s } function gst(t, e, n, r, s) { var o, h, d, w; for (h = fWe(Ppt(Jbt(xln(n)), r), Mhn(t, n, s)), w = Bg(t, n).Kc(); w.Ob();)d = u(w.Pb(), 11), e[d.p] && (o = e[d.p].i, ue(h.d, new ynt(o, Oyt(h, o)))); Yyt(h) } function t4t(t, e) { this.f = new Rr, this.b = new Rr, this.j = new Rr, this.a = t, this.c = e, this.c > 0 && jie(this, this.c - 1, (we(), Wn)), this.c < this.a.length - 1 && jie(this, this.c + 1, (we(), jn)) } function e4t(t) { t.length > 0 && t[0].length > 0 && (this.c = Re(Be(K(Qa(t[0][0]), (ie(), IEt))))), this.a = Ot(bwe, te, 2018, t.length, 0, 2), this.b = Ot(vwe, te, 2019, t.length, 0, 2), this.d = new Fne } function Xfn(t) { return t.c.length == 0 ? !1 : (An(0, t.c.length), u(t.c[0], 17)).c.i.k == (Kn(), ha) ? !0 : A8(Cu(new kn(null, new Cn(t, 16)), new XX), new QX) } function Qfn(t, e, n) { return Ar(n, "Tree layout", 1), u$(t.b), Yd(t.b, (u7(), cG), cG), Yd(t.b, LS, LS), Yd(t.b, NO, NO), Yd(t.b, MS, MS), t.a = pq(t.b, e), C2n(t, e, Kc(n, 1)), br(n), e } function pse(t, e) { var n, r, s, o, h, d, w; for (d = fy(e), o = e.f, w = e.g, h = b.Math.sqrt(o * o + w * w), s = 0, r = new S(d); r.a < r.c.c.length;)n = u(Q(r), 33), s += pse(t, n); return b.Math.max(s, h) } function xa() { xa = J, k2 = new ZT(SC, 0), Q1 = new ZT("FREE", 1), L9 = new ZT("FIXED_SIDE", 2), qb = new ZT("FIXED_ORDER", 3), g0 = new ZT("FIXED_RATIO", 4), eu = new ZT("FIXED_POS", 5) } function Zfn(t, e) { var n, r, s; if (n = e.Hh(t.a), n) { for (s = Kr(e1((!n.b && (n.b = new Ml((hn(), uo), xc, n)), n.b), Vh)), r = 1; r < (Yu(), WAt).length; ++r)if (ln(WAt[r], s)) return r } return 0 } function Jfn(t) { var e, n, r, s, o; if (t == null) return Pu; for (o = new ab(ao, "[", "]"), n = t, r = 0, s = n.length; r < s; ++r)e = n[r], N0(o, "" + e); return o.a ? o.e.length == 0 ? o.a.a : o.a.a + ("" + o.e) : o.c } function t1n(t) { var e, n, r, s, o; if (t == null) return Pu; for (o = new ab(ao, "[", "]"), n = t, r = 0, s = n.length; r < s; ++r)e = n[r], N0(o, "" + e); return o.a ? o.e.length == 0 ? o.a.a : o.a.a + ("" + o.e) : o.c } function bse(t) { var e, n, r; for (r = new ab(ao, "{", "}"), n = t.vc().Kc(); n.Ob();)e = u(n.Pb(), 42), N0(r, HQt(t, e.cd()) + "=" + HQt(t, e.dd())); return r.a ? r.e.length == 0 ? r.a.a : r.a.a + ("" + r.e) : r.c } function e1n(t) { for (var e, n, r, s; !AT(t.o);)n = u(P6(t.o), 46), r = u(n.a, 121), e = u(n.b, 213), s = vz(e, r), e.e == r ? (aj(s.g, e), r.e = s.e + e.a) : (aj(s.b, e), r.e = s.e - e.a), ue(t.e.a, r) } function n4t(t, e) { var n, r, s; for (n = null, s = u(e.Kb(t), 20).Kc(); s.Ob();)if (r = u(s.Pb(), 17), !n) n = r.c.i == t ? r.d.i : r.c.i; else if ((r.c.i == t ? r.d.i : r.c.i) != n) return !1; return !0 } function vse(t, e) { var n, r, s, o, h; for (n = Boe(t, !1, e), s = new S(n); s.a < s.c.c.length;)r = u(Q(s), 129), r.d == 0 ? (srt(r, null), art(r, null)) : (o = r.a, h = r.b, srt(r, h), art(r, o)) } function n1n(t) { var e, n; return e = new ra, Ul(e, Qwe), n = u(K(t, (ie(), tu)), 21), n.Hc((ko(), fS)) && Ul(e, eme), n.Hc(l9) && Ul(e, Zwe), n.Hc(G4) && Ul(e, tme), n.Hc(h9) && Ul(e, Jwe), e } function r1n(t) { var e, n, r, s; for (_mn(t), n = new pr(mr($0(t).a.Kc(), new H)); Zr(n);)e = u(qr(n), 17), r = e.c.i == t, s = r ? e.d : e.c, r ? ma(e, null) : Ua(e, null), Jt(e, (ie(), FEt), s), fgn(t, s.i) } function i1n(t, e, n, r) { var s, o; switch (o = e.i, s = n[o.g][t.d[o.g]], o.g) { case 1: s -= r + e.j.b, e.g.b = s; break; case 3: s += r, e.g.b = s; break; case 4: s -= r + e.j.a, e.g.a = s; break; case 2: s += r, e.g.a = s } } function s1n(t) { var e, n, r; for (n = new lr((!t.a && (t.a = new he(bs, t, 10, 11)), t.a)); n.e != n.i.gc();)if (e = u(kr(n), 33), r = hI(e), !Zr(new pr(mr(r.a.Kc(), new H)))) return e; return null } function a1n() { var t; return G3e ? u(w7((Ip(), tf), V7), 2016) : (t = u(Et(Uc((Ip(), tf), V7), 555) ? Uc(tf, V7) : new aoe, 555), G3e = !0, lyn(t), w4n(t), ost(t), Po(tf, V7, t), t) } function pst(t, e, n) { var r, s; if (t.j == 0) return n; if (s = u($te(t, e, n), 72), r = n.ak(), !r.Ij() || !t.a.rl(r)) throw et(new ic("Invalid entry feature '" + r.Hj().zb + "." + r.ne() + "'")); return s } function o1n(t, e) { var n, r, s, o, h, d, w, k; for (d = t.a, w = 0, k = d.length; w < k; ++w)for (h = d[w], r = h, s = 0, o = r.length; s < o; ++s)if (n = r[s], qt(e) === qt(n) || e != null && Ni(e, n)) return !0; return !1 } function c1n(t) { var e, n, r; return Oc(t, 0) >= 0 ? (n = tI(t, _q), r = GD(t, _q)) : (e = jm(t, 1), n = tI(e, 5e8), r = GD(e, 5e8), r = Wa(L0(r, 1), Xs(t, 1))), O1(L0(r, 32), Xs(n, Eo)) } function wse(t, e, n) { var r, s; switch (r = (ir(e.b != 0), u(bh(e, e.a.a), 8)), n.g) { case 0: r.b = 0; break; case 2: r.b = t.f; break; case 3: r.a = 0; break; default: r.a = t.g }return s = gi(e, 0), YM(s, r), e } function mse(t, e, n, r) { var s, o, h, d, w; switch (w = t.b, o = e.d, h = o.j, d = l3t(h, w.d[h.g], n), s = $i(pc(o.n), o.a), o.j.g) { case 1: case 3: d.a += s.a; break; case 2: case 4: d.b += s.b }Cs(r, d, r.c.b, r.c) } function u1n(t, e, n) { var r, s, o, h; for (h = Qo(t.e, e, 0), o = new gpt, o.b = n, r = new Ca(t.e, h); r.b < r.d.gc();)s = (ir(r.b < r.d.gc()), u(r.d.Xb(r.c = r.b++), 10)), s.p = n, ue(o.e, s), Ol(r); return o } function l1n(t, e, n, r) { var s, o, h, d, w; for (s = null, o = 0, d = new S(e); d.a < d.c.c.length;)h = u(Q(d), 33), w = h.i + h.g, t < h.j + h.f + r && (s ? n.i - w < n.i - o && (s = h) : s = h, o = s.i + s.g); return s ? o + r : 0 } function h1n(t, e, n, r) { var s, o, h, d, w; for (o = null, s = 0, d = new S(e); d.a < d.c.c.length;)h = u(Q(d), 33), w = h.j + h.f, t < h.i + h.g + r && (o ? n.j - w < n.j - s && (o = h) : o = h, s = o.j + o.f); return o ? s + r : 0 } function f1n(t) { var e, n, r; for (e = !1, r = t.b.c.length, n = 0; n < r; n++)uyt(u(Fe(t.b, n), 434)) ? !e && n + 1 < r && uyt(u(Fe(t.b, n + 1), 434)) && (e = !0, u(Fe(t.b, n), 434).a = !0) : e = !1 } function d1n(t, e, n, r, s) { var o, h; for (o = 0, h = 0; h < s; h++)o = Wa(o, Qp(Xs(e[h], Eo), Xs(r[h], Eo))), t[h] = $r(o), o = Rp(o, 32); for (; h < n; h++)o = Wa(o, Xs(e[h], Eo)), t[h] = $r(o), o = Rp(o, 32) } function g1n(t, e) { b7(); var n, r; for (r = (e2(), PH), n = t; e > 1; e >>= 1)e & 1 && (r = J3(r, n)), n.d == 1 ? n = J3(n, n) : n = new Hre(Zce(n.a, n.d, Ot(Br, oi, 25, n.d << 1, 15, 1))); return r = J3(r, n), r } function r4t() { r4t = J; var t, e, n, r; for (i7t = Ot(wa, Do, 25, 25, 15, 1), s7t = Ot(wa, Do, 25, 33, 15, 1), r = 152587890625e-16, e = 32; e >= 0; e--)s7t[e] = r, r *= .5; for (n = 1, t = 24; t >= 0; t--)i7t[t] = n, n *= .5 } function p1n(t) { var e, n; if (Re(Be(ze(t, (Ce(), Ry))))) { for (n = new pr(mr(H0(t).a.Kc(), new H)); Zr(n);)if (e = u(qr(n), 79), aw(e) && Re(Be(ze(e, Ob)))) return !0 } return !1 } function yse(t, e) { var n, r, s; Ys(t.f, e) && (e.b = t, r = e.c, Qo(t.j, r, 0) != -1 || ue(t.j, r), s = e.d, Qo(t.j, s, 0) != -1 || ue(t.j, s), n = e.a.b, n.c.length != 0 && (!t.i && (t.i = new Zre(t)), Dan(t.i, n))) } function b1n(t) { var e, n, r, s, o; return n = t.c.d, r = n.j, s = t.d.d, o = s.j, r == o ? n.p < s.p ? 0 : 1 : dz(r) == o ? 0 : Nyt(r) == o ? 1 : (e = t.b, Gu(e.b, dz(r)) ? 0 : 1) } function Hz() { Hz = J, Klt = new WT(Nfe, 0), r_t = new WT("LONGEST_PATH", 1), Wlt = new WT("COFFMAN_GRAHAM", 2), n_t = new WT(Sot, 3), i_t = new WT("STRETCH_WIDTH", 4), JV = new WT("MIN_WIDTH", 5) } function bb(t) { var e; this.d = new Rr, this.c = t.c, this.e = t.d, this.b = t.b, this.f = new bKt(t.e), this.a = t.a, t.f ? this.g = t.f : this.g = (e = u(Yf(UG), 9), new hh(e, u(pf(e, e.length), 9), 0)) } function Vz(t, e) { var n, r, s, o, h, d; s = t, h = L_(s, "layoutOptions"), !h && (h = L_(s, I1e)), h && (d = h, r = null, d && (r = (o = Qrt(d, Ot(Me, te, 2, 0, 6, 1)), new Jtt(d, o))), r && (n = new DVt(d, e), Oa(r, n))) } function Vo(t) { if (Et(t, 239)) return u(t, 33); if (Et(t, 186)) return M1(u(t, 118)); throw et(t ? new mg("Only support nodes and ports.") : new m6(z1e)) } function v1n(t, e, n, r) { return (e >= 0 && ln(t.substr(e, 3), "GMT") || e >= 0 && ln(t.substr(e, 3), "UTC")) && (n[0] = e + 3), M5t(t, n, r) } function w1n(t, e) { var n, r, s, o, h; for (o = t.g.a, h = t.g.b, r = new S(t.d); r.a < r.c.c.length;)n = u(Q(r), 70), s = n.n, s.a = o, t.i == (we(), Fn) ? s.b = h + t.j.b - n.o.b : s.b = h, $i(s, e), o += n.o.a + t.e } function Ar(t, e, n) { if (t.b) throw et(new Yo("The task is already done.")); return t.p != null ? !1 : (t.p = e, t.r = n, t.k && (t.o = (Gd(), ja(Ou(Date.now()), jg))), !0) } function i4t(t) { var e, n, r, s, o, h, d; return d = new w6, n = t.tg(), s = n != null, s && p8(d, Dd, t.tg()), r = t.ne(), o = r != null, o && p8(d, ki, t.ne()), e = t.sg(), h = e != null, h && p8(d, "description", t.sg()), d } function xse(t, e, n) { var r, s, o; return o = t.q, t.q = e, t.Db & 4 && !(t.Db & 1) && (s = new la(t, 1, 9, o, e), n ? n.Ei(s) : n = s), e ? (r = e.c, r != t.r && (n = t.nk(r, n))) : t.r && (n = t.nk(null, n)), n } function m1n(t, e, n) { var r, s, o, h, d; for (n = (d = e, tx(d, t.e, -1 - t.c, n)), h = ewt(t.a), o = (r = new ub(new vg(h.a).a), new tR(r)); o.a.b;)s = u(Uv(o.a).cd(), 87), n = C7(s, Zz(s, t.a), n); return n } function y1n(t, e, n) { var r, s, o, h, d; for (n = (d = e, Jj(d, t.e, -1 - t.c, n)), h = ewt(t.a), o = (r = new ub(new vg(h.a).a), new tR(r)); o.a.b;)s = u(Uv(o.a).cd(), 87), n = C7(s, Zz(s, t.a), n); return n } function x1n(t, e, n, r) { var s, o, h; if (r == 0) qc(e, 0, t, n, t.length - n); else for (h = 32 - r, t[t.length - 1] = 0, o = t.length - 1; o > n; o--)t[o] |= e[o - n - 1] >>> h, t[o - 1] = e[o - n - 1] << r; for (s = 0; s < n; s++)t[s] = 0 } function k1n(t) { var e, n, r, s, o; for (e = 0, n = 0, o = t.Kc(); o.Ob();)r = u(o.Pb(), 111), e = b.Math.max(e, r.d.b), n = b.Math.max(n, r.d.c); for (s = t.Kc(); s.Ob();)r = u(s.Pb(), 111), r.d.b = e, r.d.c = n } function E1n(t) { var e, n, r, s, o; for (n = 0, e = 0, o = t.Kc(); o.Ob();)r = u(o.Pb(), 111), n = b.Math.max(n, r.d.d), e = b.Math.max(e, r.d.a); for (s = t.Kc(); s.Ob();)r = u(s.Pb(), 111), r.d.d = n, r.d.a = e } function kse(t, e) { var n, r, s, o; for (o = new le, s = 0, r = e.Kc(); r.Ob();) { for (n = pe(u(r.Pb(), 19).a + s); n.a < t.f && !dJe(t, n.a);)n = pe(n.a + 1), ++s; if (n.a >= t.f) break; o.c[o.c.length] = n } return o } function s4t(t) { var e, n, r, s; for (e = null, s = new S(t.wf()); s.a < s.c.c.length;)r = u(Q(s), 181), n = new fh(r.qf().a, r.qf().b, r.rf().a, r.rf().b), e ? sC(e, n) : e = n; return !e && (e = new S6), e } function bst(t, e, n, r) { var s, o; return n == 1 ? (!t.n && (t.n = new he(ec, t, 1, 7)), au(t.n, e, r)) : (o = u(wn((s = u(Dn(t, 16), 26), s || t.zh()), n), 66), o.Nj().Qj(t, fu(t), n - ar(t.zh()), e, r)) } function vst(t, e, n) { var r, s, o, h, d; for (r = n.gc(), t.qi(t.i + r), d = t.i - e, d > 0 && qc(t.g, e, t.g, e + r, d), h = n.Kc(), t.i += r, s = 0; s < r; ++s)o = h.Pb(), a_(t, e, t.oi(e, o)), t.bi(e, o), t.ci(), ++e; return r != 0 } function z1(t, e, n) { var r; return e != t.q ? (t.q && (n = Jj(t.q, t, -10, n)), e && (n = tx(e, t, -10, n)), n = xse(t, e, n)) : t.Db & 4 && !(t.Db & 1) && (r = new la(t, 1, 9, e, e), n ? n.Ei(r) : n = r), n } function wst(t, e, n, r) { return Kbt((n & kd) == 0, "flatMap does not support SUBSIZED characteristic"), Kbt((n & 4) == 0, "flatMap does not support SORTED characteristic"), zr(t), zr(e), new SQt(t, n, r, e) } function T1n(t, e) { Hvt(e, "Cannot suppress a null exception."), vj(e != t, "Exception can not suppress itself."), !t.i && (t.k == null ? t.k = ct(ot(cut, 1), te, 78, 0, [e]) : t.k[t.k.length] = e) } function p4(t, e, n, r) { var s, o, h, d, w, k; for (h = n.length, o = 0, s = -1, k = bte(t.substr(e), (snt(), n7t)), d = 0; d < h; ++d)w = n[d].length, w > o && NJe(k, bte(n[d], n7t)) && (s = d, o = w); return s >= 0 && (r[0] = e + o), s } function _1n(t, e) { var n; if (n = dGt(t.b.Hf(), e.b.Hf()), n != 0) return n; switch (t.b.Hf().g) { case 1: case 2: return Tu(t.b.sf(), e.b.sf()); case 3: case 4: return Tu(e.b.sf(), t.b.sf()) }return 0 } function C1n(t) { var e, n, r; for (r = t.e.c.length, t.a = K2(Br, [te, oi], [48, 25], 15, [r, r], 2), n = new S(t.c); n.a < n.c.c.length;)e = u(Q(n), 282), t.a[e.c.b][e.d.b] += u(K(e, (i1(), t9)), 19).a } function S1n(t, e, n) { Ar(n, "Grow Tree", 1), t.b = e.f, Re(Be(K(e, (V8(), rS)))) ? (t.c = new cs, jXt(t, null)) : t.c = new cs, t.a = !1, qoe(t, e.f), Jt(e, F7t, (Rn(), !!t.a)), br(n) } function A1n(t, e) { var n, r, s, o, h; if (t == null) return null; for (h = Ot(Sh, Ed, 25, 2 * e, 15, 1), r = 0, s = 0; r < e; ++r)n = t[r] >> 4 & 15, o = t[r] & 15, h[s++] = xAt[n], h[s++] = xAt[o]; return Fh(h, 0, h.length) } function L1n(t, e, n) { var r, s, o; return r = e.ak(), o = e.dd(), s = r.$j() ? Hp(t, 4, r, o, null, E7(t, r, o, Et(r, 99) && (u(r, 18).Bb & oo) != 0), !0) : Hp(t, r.Kj() ? 2 : 1, r, o, r.zj(), -1, !0), n ? n.Ei(s) : n = s, n } function Nu(t) { var e, n; return t >= oo ? (e = II + (t - oo >> 10 & 1023) & Ns, n = 56320 + (t - oo & 1023) & Ns, String.fromCharCode(e) + ("" + String.fromCharCode(n))) : String.fromCharCode(t & Ns) } function M1n(t, e) { Pm(); var n, r, s, o; return s = u(u(ji(t.r, e), 21), 84), s.gc() >= 2 ? (r = u(s.Kc().Pb(), 111), n = t.u.Hc((cl(), WS)), o = t.u.Hc(Hx), !r.a && !n && (s.gc() == 2 || o)) : !1 } function Ese(t, e, n, r, s) { var o, h, d; for (o = ace(t, e, n, r, s), d = !1; !o;)Xz(t, s, !0), d = !0, o = ace(t, e, n, r, s); d && Xz(t, s, !1), h = nit(s), h.c.length != 0 && (t.d && t.d.lg(h), Ese(t, s, n, r, h)) } function Gz() { Gz = J, ift = new QT(W0, 0), YSt = new QT("DIRECTED", 1), QSt = new QT("UNDIRECTED", 2), WSt = new QT("ASSOCIATION", 3), XSt = new QT("GENERALIZATION", 4), KSt = new QT("DEPENDENCY", 5) } function D1n(t, e) { var n; if (!M1(t)) throw et(new Yo(w1e)); switch (n = M1(t), e.g) { case 1: return -(t.j + t.f); case 2: return t.i - n.g; case 3: return t.j - n.f; case 4: return -(t.i + t.g) }return 0 } function d7(t, e) { var n, r; for (Pn(e), r = t.b.c.length, ue(t.b, e); r > 0;) { if (n = r, r = (r - 1) / 2 | 0, t.a.ue(Fe(t.b, r), e) <= 0) return gh(t.b, n, e), !0; gh(t.b, n, Fe(t.b, r)) } return gh(t.b, r, e), !0 } function a4t(t, e, n, r) { var s, o; if (s = 0, n) s = uz(t.a[n.g][e.g], r); else for (o = 0; o < qH; o++)s = b.Math.max(s, uz(t.a[o][e.g], r)); return e == (t1(), uu) && t.b && (s = b.Math.max(s, t.b.a)), s } function I1n(t, e) { var n, r, s, o, h, d; return s = t.i, o = e.i, !s || !o || s.i != o.i || s.i == (we(), Wn) || s.i == (we(), jn) ? !1 : (h = s.g.a, n = h + s.j.a, d = o.g.a, r = d + o.j.a, h <= r && n >= d) } function o4t(t, e, n, r) { var s; if (s = !1, pa(r) && (s = !0, p8(e, n, Kr(r))), s || Dm(r) && (s = !0, o4t(t, e, n, r)), s || Et(r, 236) && (s = !0, Q2(e, n, u(r, 236))), !s) throw et(new qtt(e8t)) } function O1n(t, e) { var n, r, s; if (n = e.Hh(t.a), n && (s = e1((!n.b && (n.b = new Ml((hn(), uo), xc, n)), n.b), qh), s != null)) { for (r = 1; r < (Yu(), GAt).length; ++r)if (ln(GAt[r], s)) return r } return 0 } function N1n(t, e) { var n, r, s; if (n = e.Hh(t.a), n && (s = e1((!n.b && (n.b = new Ml((hn(), uo), xc, n)), n.b), qh), s != null)) { for (r = 1; r < (Yu(), UAt).length; ++r)if (ln(UAt[r], s)) return r } return 0 } function Tse(t, e) { var n, r, s, o; if (Pn(e), o = t.a.gc(), o < e.gc()) for (n = t.a.ec().Kc(); n.Ob();)r = n.Pb(), e.Hc(r) && n.Qb(); else for (s = e.Kc(); s.Ob();)r = s.Pb(), t.a.Bc(r) != null; return o != t.a.gc() } function _se(t) { var e, n; switch (n = pc(cc(ct(ot(sa, 1), te, 8, 0, [t.i.n, t.n, t.a]))), e = t.i.d, t.j.g) { case 1: n.b -= e.d; break; case 2: n.a += e.c; break; case 3: n.b += e.a; break; case 4: n.a -= e.b }return n } function P1n(t) { var e; for (e = (Y6(), u(qr(new pr(mr(Zo(t).a.Kc(), new H))), 17).c.i); e.k == (Kn(), ha);)Jt(e, (ie(), kO), (Rn(), !0)), e = u(qr(new pr(mr(Zo(e).a.Kc(), new H))), 17).c.i } function mst(t, e, n, r) { var s, o, h, d; for (d = G_(e, r), h = d.Kc(); h.Ob();)s = u(h.Pb(), 11), t.d[s.p] = t.d[s.p] + t.c[n.p]; for (d = G_(n, r), o = d.Kc(); o.Ob();)s = u(o.Pb(), 11), t.d[s.p] = t.d[s.p] - t.c[e.p] } function c4t(t, e, n) { var r, s; for (s = new lr((!t.a && (t.a = new he(bs, t, 10, 11)), t.a)); s.e != s.i.gc();)r = u(kr(s), 33), S1(r, r.i + e, r.j + n); Oa((!t.b && (t.b = new he(aa, t, 12, 3)), t.b), new yVt(e, n)) } function F1n(t, e, n, r) { var s, o; for (o = e, s = o.d == null || t.a.ue(n.d, o.d) > 0 ? 1 : 0; o.a[s] != n;)o = o.a[s], s = t.a.ue(n.d, o.d) > 0 ? 1 : 0; o.a[s] = r, r.b = n.b, r.a[0] = n.a[0], r.a[1] = n.a[1], n.a[0] = null, n.a[1] = null } function B1n(t) { cl(); var e, n; return e = Zi(J0, ct(ot(PG, 1), se, 273, 0, [E2])), !(SD(n$(e, t)) > 1 || (n = Zi(WS, ct(ot(PG, 1), se, 273, 0, [US, Hx])), SD(n$(n, t)) > 1)) } function u4t(t, e) { var n; n = Uc((Ip(), tf), t), Et(n, 498) ? Po(tf, t, new HVt(this, e)) : Po(tf, t, this), yst(this, e), e == (t8(), OAt) ? (this.wb = u(this, 1939), u(e, 1941)) : this.wb = (zp(), Ln) } function R1n(t) { var e, n, r; if (t == null) return null; for (e = null, n = 0; n < QS.length; ++n)try { return OHt(QS[n], t) } catch (s) { if (s = os(s), Et(s, 32)) r = s, e = r; else throw et(s) } throw et(new S$(e)) } function Cse() { Cse = J, F0e = ct(ot(Me, 1), te, 2, 6, ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]), B0e = ct(ot(Me, 1), te, 2, 6, ["Jan", "Feb", "Mar", "Apr", ux, "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]) } function Sse(t) { var e, n, r; e = ln(typeof e, rot) ? null : new Ha, e && (s8(), n = (r = 900, r >= jg ? "error" : r >= 900 ? "warn" : r >= 800 ? "info" : "log"), lYt(n, t.a), t.b && u5t(e, n, t.b, "Exception: ", !0)) } function K(t, e) { var n, r; return r = (!t.q && (t.q = new Rr), or(t.q, e)), r ?? (n = e.wg(), Et(n, 4) && (n == null ? (!t.q && (t.q = new Rr), G6(t.q, e)) : (!t.q && (t.q = new Rr), Pi(t.q, e, n))), n) } function so() { so = J, Nd = new yM("P1_CYCLE_BREAKING", 0), f2 = new yM("P2_LAYERING", 1), pu = new yM("P3_NODE_ORDERING", 2), Zc = new yM("P4_NODE_PLACEMENT", 3), Go = new yM("P5_EDGE_ROUTING", 4) } function Ase(t, e) { var n, r, s, o, h; for (s = e == 1 ? jut : Rut, r = s.a.ec().Kc(); r.Ob();)for (n = u(r.Pb(), 103), h = u(ji(t.f.c, n), 21).Kc(); h.Ob();)o = u(h.Pb(), 46), Au(t.b.b, o.b), Au(t.b.a, u(o.b, 81).d) } function j1n(t, e) { N_(); var n; if (t.c == e.c) { if (t.b == e.b || lan(t.b, e.b)) { if (n = mKe(t.b) ? 1 : -1, t.a && !e.a) return n; if (!t.a && e.a) return -n } return Tu(t.b.g, e.b.g) } else return Vs(t.c, e.c) } function $1n(t, e) { var n; Ar(e, "Hierarchical port position processing", 1), n = t.b, n.c.length > 0 && Wce((An(0, n.c.length), u(n.c[0], 29)), t), n.c.length > 1 && Wce(u(Fe(n, n.c.length - 1), 29), t), br(e) } function Lse(t, e) { var n, r, s; if (h4t(t, e)) return !0; for (r = new S(e); r.a < r.c.c.length;)if (n = u(Q(r), 33), s = use(n), iq(t, n, s) || Bne(t, n) - t.g <= t.a) return !0; return !1 } function nI() { nI = J, EG = (Vst(), VCt), Bht = Iye, Fht = Dye, BCt = Aye, Pht = Mye, FCt = new Sv(8), xye = new po((Ti(), $b), FCt), kye = new po(zb, 8), Eye = qCt, NCt = Tye, PCt = _ye, yye = new po(GO, (Rn(), !1)) } function Uz() { Uz = J, oSt = new Sv(15), Yye = new po((Ti(), $b), oSt), Xye = new po(zb, 15), cSt = new po(IG, pe(0)), iSt = wSt, Wye = jb, Kye = m2, rSt = new po(jx, t1e), sSt = LG, aSt = a5, zht = t3e, Uye = AG } function e0(t) { if ((!t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b).i != 1 || (!t.c && (t.c = new Tn(Cr, t, 5, 8)), t.c).i != 1) throw et(new Bn(Nct)); return Vo(u(St((!t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b), 0), 82)) } function Mse(t) { if ((!t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b).i != 1 || (!t.c && (t.c = new Tn(Cr, t, 5, 8)), t.c).i != 1) throw et(new Bn(Nct)); return ID(u(St((!t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b), 0), 82)) } function Dse(t) { if ((!t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b).i != 1 || (!t.c && (t.c = new Tn(Cr, t, 5, 8)), t.c).i != 1) throw et(new Bn(Nct)); return ID(u(St((!t.c && (t.c = new Tn(Cr, t, 5, 8)), t.c), 0), 82)) } function Zp(t) { if ((!t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b).i != 1 || (!t.c && (t.c = new Tn(Cr, t, 5, 8)), t.c).i != 1) throw et(new Bn(Nct)); return Vo(u(St((!t.c && (t.c = new Tn(Cr, t, 5, 8)), t.c), 0), 82)) } function l4t(t, e, n) { var r, s, o; if (++t.j, s = t.Vi(), e >= s || e < 0) throw et(new Oo(Pct + e + _b + s)); if (n >= s || n < 0) throw et(new Oo(Fct + n + _b + s)); return e != n ? r = (o = t.Ti(n), t.Hi(e, o), o) : r = t.Oi(n), r } function Ise(t) { var e, n, r; if (r = t, t) for (e = 0, n = t.Ug(); n; n = n.Ug()) { if (++e > Yat) return Ise(n); if (r = n, n == t) throw et(new Yo("There is a cycle in the containment hierarchy of " + t)) } return r } function Jp(t) { var e, n, r; for (r = new ab(ao, "[", "]"), n = t.Kc(); n.Ob();)e = n.Pb(), N0(r, qt(e) === qt(t) ? "(this Collection)" : e == null ? Pu : Jo(e)); return r.a ? r.e.length == 0 ? r.a.a : r.a.a + ("" + r.e) : r.c } function h4t(t, e) { var n, r; if (r = !1, e.gc() < 2) return !1; for (n = 0; n < e.gc(); n++)n < e.gc() - 1 ? r = r | iq(t, u(e.Xb(n), 33), u(e.Xb(n + 1), 33)) : r = r | iq(t, u(e.Xb(n), 33), u(e.Xb(0), 33)); return r } function Ose(t, e) { var n; e != t.a ? (n = null, t.a && (n = u(t.a, 49).ih(t, 4, u1, n)), e && (n = u(e, 49).gh(t, 4, u1, n)), n = Eyt(t, e, n), n && n.Fi()) : t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 1, e, e)) } function f4t(t, e) { var n; e != t.e ? (t.e && qZt(ewt(t.e), t), e && (!e.b && (e.b = new JB(new Btt)), nWt(e.b, t)), n = Qhn(t, e, null), n && n.Fi()) : t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 4, e, e)) } function oy(t) { var e, n, r; for (n = t.length, r = 0; r < n && (Yr(r, t.length), t.charCodeAt(r) <= 32);)++r; for (e = n; e > r && (Yr(e - 1, t.length), t.charCodeAt(e - 1) <= 32);)--e; return r > 0 || e < n ? t.substr(r, e - r) : t } function z1n(t, e) { var n; n = e.o, Pp(t.f) ? (t.j.a = b.Math.max(t.j.a, n.a), t.j.b += n.b, t.d.c.length > 1 && (t.j.b += t.e)) : (t.j.a += n.a, t.j.b = b.Math.max(t.j.b, n.b), t.d.c.length > 1 && (t.j.a += t.e)) } function t2() { t2 = J, f2e = ct(ot(co, 1), Nc, 61, 0, [(we(), Fn), Wn, Lr]), h2e = ct(ot(co, 1), Nc, 61, 0, [Wn, Lr, jn]), d2e = ct(ot(co, 1), Nc, 61, 0, [Lr, jn, Fn]), g2e = ct(ot(co, 1), Nc, 61, 0, [jn, Fn, Wn]) } function q1n(t, e, n, r) { var s, o, h, d, w, k, _; if (h = t.c.d, d = t.d.d, h.j != d.j) for (_ = t.b, s = h.j, w = null; s != d.j;)w = e == 0 ? dz(s) : Nyt(s), o = l3t(s, _.d[s.g], n), k = l3t(w, _.d[w.g], n), pi(r, $i(o, k)), s = w } function H1n(t, e, n, r) { var s, o, h, d, w; return h = $ie(t.a, e, n), d = u(h.a, 19).a, o = u(h.b, 19).a, r && (w = u(K(e, (ie(), ul)), 10), s = u(K(n, ul), 10), w && s && (UQt(t.b, w, s), d += t.b.i, o += t.b.e)), d > o } function Nse(t) { var e, n, r, s, o, h, d, w, k; for (this.a = uie(t), this.b = new le, n = t, r = 0, s = n.length; r < s; ++r)for (e = n[r], o = new le, ue(this.b, o), d = e, w = 0, k = d.length; w < k; ++w)h = d[w], ue(o, new Uu(h.j)) } function V1n(t, e, n) { var r, s, o; return o = 0, r = n[e], e < n.length - 1 && (s = n[e + 1], t.b[e] ? (o = p4n(t.d, r, s), o += jnt(t.a, r, (we(), Wn)), o += jnt(t.a, s, jn)) : o = Pin(t.a, r, s)), t.c[e] && (o += iin(t.a, r)), o } function G1n(t, e, n, r, s) { var o, h, d, w; for (w = null, d = new S(r); d.a < d.c.c.length;)if (h = u(Q(d), 441), h != n && Qo(h.e, s, 0) != -1) { w = h; break } o = krt(s), Ua(o, n.b), ma(o, w.b), cn(t.a, s, new pj(o, e, n.f)) } function Pse(t) { for (; t.g.c != 0 && t.d.c != 0;)Qet(t.g).c > Qet(t.d).c ? (t.i += t.g.c, Fit(t.d)) : Qet(t.d).c > Qet(t.g).c ? (t.e += t.d.c, Fit(t.g)) : (t.i += hKt(t.g), t.e += hKt(t.d), Fit(t.g), Fit(t.d)) } function U1n(t, e, n) { var r, s, o, h; for (o = e.q, h = e.r, new Z2((Qf(), v2), e, o, 1), new Z2(v2, o, h, 1), s = new S(n); s.a < s.c.c.length;)r = u(Q(s), 112), r != o && r != e && r != h && (V5t(t.a, r, e), V5t(t.a, r, h)) } function Fse(t, e, n, r) { t.a.d = b.Math.min(e, n), t.a.a = b.Math.max(e, r) - t.a.d, e < n ? (t.b = .5 * (e + n), t.g = oct * t.b + .9 * e, t.f = oct * t.b + .9 * n) : (t.b = .5 * (e + r), t.g = oct * t.b + .9 * r, t.f = oct * t.b + .9 * e) } function W1n() { DH = {}, !Array.isArray && (Array.isArray = function (e) { return Object.prototype.toString.call(e) === "[object Array]" }); function t() { return new Date().getTime() } !Date.now && (Date.now = t) } function Bse(t, e) { var n, r; r = u(K(e, (Ce(), xs)), 98), Jt(e, (ie(), BEt), r), n = e.e, n && (Ts(new kn(null, new Cn(n.a, 16)), new Ls(t)), Ts(oc(new kn(null, new Cn(n.b, 16)), new j5), new es(t))) } function K1n(t) { var e, n, r, s; if (c8(u(K(t.b, (Ce(), Jl)), 103))) return 0; for (e = 0, r = new S(t.a); r.a < r.c.c.length;)n = u(Q(r), 10), n.k == (Kn(), Ws) && (s = n.o.a, e = b.Math.max(e, s)); return e } function Y1n(t) { switch (u(K(t, (Ce(), bu)), 163).g) { case 1: Jt(t, bu, (mh(), pS)); break; case 2: Jt(t, bu, (mh(), Ny)); break; case 3: Jt(t, bu, (mh(), gS)); break; case 4: Jt(t, bu, (mh(), g2)) } } function g7() { g7 = J, lS = new UT(W0, 0), yEt = new UT(fx, 1), EEt = new UT(dx, 2), kEt = new UT("LEFT_RIGHT_CONSTRAINT_LOCKING", 3), xEt = new UT("LEFT_RIGHT_CONNECTION_LOCKING", 4), mEt = new UT(xfe, 5) } function Rse(t, e, n) { var r, s, o, h, d, w, k; d = n.a / 2, o = n.b / 2, r = b.Math.abs(e.a - t.a), s = b.Math.abs(e.b - t.b), w = 1, k = 1, r > d && (w = d / r), s > o && (k = o / s), h = b.Math.min(w, k), t.a += h * (e.a - t.a), t.b += h * (e.b - t.b) } function X1n(t, e, n, r, s) { var o, h; for (h = !1, o = u(Fe(n.b, 0), 33); hwn(t, e, o, r, s) && (h = !0, Lfn(n, o), n.b.c.length != 0);)o = u(Fe(n.b, 0), 33); return n.b.c.length == 0 && JD(n.j, n), h && Fz(e.q), h } function Q1n(t, e) { y4(); var n, r, s, o; if (e.b < 2) return !1; for (o = gi(e, 0), n = u(di(o), 8), r = n; o.b != o.d.c;) { if (s = u(di(o), 8), jst(t, r, s)) return !0; r = s } return !!jst(t, r, n) } function d4t(t, e, n, r) { var s, o; return n == 0 ? (!t.o && (t.o = new Nl((ou(), _2), Bw, t, 0)), dj(t.o, e, r)) : (o = u(wn((s = u(Dn(t, 16), 26), s || t.zh()), n), 66), o.Nj().Rj(t, fu(t), n - ar(t.zh()), e, r)) } function yst(t, e) { var n; e != t.sb ? (n = null, t.sb && (n = u(t.sb, 49).ih(t, 1, XS, n)), e && (n = u(e, 49).gh(t, 1, XS, n)), n = Syt(t, e, n), n && n.Fi()) : t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 4, e, e)) } function Z1n(t, e) { var n, r, s, o; if (e) s = B0(e, "x"), n = new l$t(t), F8(n.a, (Pn(s), s)), o = B0(e, "y"), r = new h$t(t), R8(r.a, (Pn(o), o)); else throw et(new fd("All edge sections need an end point.")) } function J1n(t, e) { var n, r, s, o; if (e) s = B0(e, "x"), n = new o$t(t), B8(n.a, (Pn(s), s)), o = B0(e, "y"), r = new c$t(t), j8(r.a, (Pn(o), o)); else throw et(new fd("All edge sections need a start point.")) } function tdn(t, e) { var n, r, s, o, h, d, w; for (r = yne(t), o = 0, d = r.length; o < d; ++o)Sse(e); for (w = !U1 && t.e ? U1 ? null : t.d : null; w;) { for (n = yne(w), s = 0, h = n.length; s < h; ++s)Sse(e); w = !U1 && w.e ? U1 ? null : w.d : null } } function Kn() { Kn = J, Ws = new qT("NORMAL", 0), ha = new qT("LONG_EDGE", 1), Fs = new qT("EXTERNAL_PORT", 2), Jc = new qT("NORTH_SOUTH_PORT", 3), Bl = new qT("LABEL", 4), W1 = new qT("BREAKING_POINT", 5) } function edn(t) { var e, n, r, s; if (e = !1, ia(t, (ie(), dS))) for (n = u(K(t, dS), 83), s = new S(t.j); s.a < s.c.c.length;)r = u(Q(s), 11), ipn(r) && (e || (m0n(Qa(t)), e = !0), sln(u(n.xc(r), 306))) } function ndn(t, e, n) { var r; Ar(n, "Self-Loop routing", 1), r = Lcn(e), WR(K(e, (y$(), RS))), Ts(Cu(Qi(Qi(oc(new kn(null, new Cn(e.b, 16)), new kk), new U5), new DE), new VY), new UHt(t, r)), br(n) } function rdn(t) { var e, n, r, s, o, h, d, w, k; return k = i4t(t), n = t.e, o = n != null, o && p8(k, lH, t.e), d = t.k, h = !!d, h && p8(k, "type", Wet(t.k)), r = hM(t.j), s = !r, s && (w = new pg, Jf(k, Oct, w), e = new D$t(w), Oa(t.j, e)), k } function idn(t) { var e, n, r, s; for (s = $p((Gl(t.gc(), "size"), new Sm), 123), r = !0, n = Iv(t).Kc(); n.Ob();)e = u(n.Pb(), 42), r || (s.a += ao), r = !1, Cc($p(Cc(s, e.cd()), 61), e.dd()); return (s.a += "}", s).a } function jse(t, e) { var n, r, s; return e &= 63, e < 22 ? (n = t.l << e, r = t.m << e | t.l >> 22 - e, s = t.h << e | t.m >> 22 - e) : e < 44 ? (n = 0, r = t.l << e - 22, s = t.m << e - 22 | t.l >> 44 - e) : (n = 0, r = 0, s = t.l << e - 44), hu(n & yl, r & yl, s & U0) } function cy(t) { if (P8t == null && (P8t = new RegExp("^\\s*[+-]?(NaN|Infinity|((\\d+\\.?\\d*)|(\\.\\d+))([eE][+-]?\\d+)?[dDfF]?)\\s*$")), !P8t.test(t)) throw et(new dd(gw + t + '"')); return parseFloat(t) } function sdn(t) { var e, n, r, s; for (e = new le, n = Ot(Tl, o0, 25, t.a.c.length, 16, 1), $vt(n, n.length), s = new S(t.a); s.a < s.c.c.length;)r = u(Q(s), 121), n[r.d] || (e.c[e.c.length] = r, Yre(t, r, n)); return e } function adn(t, e) { var n, r, s, o; for (o = e.b.j, t.a = Ot(Br, oi, 25, o.c.length, 15, 1), s = 0, r = 0; r < o.c.length; r++)n = (An(r, o.c.length), u(o.c[r], 11)), n.e.c.length == 0 && n.g.c.length == 0 ? s += 1 : s += 3, t.a[r] = s } function Wz() { Wz = J, hlt = new VT("ALWAYS_UP", 0), llt = new VT("ALWAYS_DOWN", 1), dlt = new VT("DIRECTION_UP", 2), flt = new VT("DIRECTION_DOWN", 3), glt = new VT("SMART_UP", 4), CV = new VT("SMART_DOWN", 5) } function odn(t, e) { if (t < 0 || e < 0) throw et(new Bn("k and n must be positive")); if (e > t) throw et(new Bn("k must be smaller than n")); return e == 0 || e == t ? 1 : t == 0 ? 0 : z3t(t) / (z3t(e) * z3t(t - e)) } function g4t(t, e) { var n, r, s, o; for (n = new B2t(t); n.g == null && !n.c ? bwt(n) : n.g == null || n.i != 0 && u(n.g[n.i - 1], 47).Ob();)if (o = u(Qz(n), 56), Et(o, 160)) for (r = u(o, 160), s = 0; s < e.length; s++)e[s].og(r) } function xst(t) { var e; return t.Db & 64 ? Sit(t) : (e = new Ih(Sit(t)), e.a += " (height: ", R3(e, t.f), e.a += ", width: ", R3(e, t.g), e.a += ", x: ", R3(e, t.i), e.a += ", y: ", R3(e, t.j), e.a += ")", e.a) } function cdn(t) { var e, n, r, s, o, h, d; for (e = new tb, r = t, s = 0, o = r.length; s < o; ++s)if (n = r[s], h = zr(n.cd()), d = db(e, h, zr(n.dd())), d != null) throw et(new Bn("duplicate key: " + h)); this.b = (pn(), new z(e)) } function udn(t) { var e, n, r, s, o; if (t == null) return Pu; for (o = new ab(ao, "[", "]"), n = t, r = 0, s = n.length; r < s; ++r)e = n[r], N0(o, String.fromCharCode(e)); return o.a ? o.e.length == 0 ? o.a.a : o.a.a + ("" + o.e) : o.c } function p4t() { p4t = J, H7t = (I$(), KH), Zge = new vn(Oq, H7t), pe(1), Qge = new vn(q6t, pe(300)), pe(0), epe = new vn(H6t, pe(0)), npe = new vn(mot, Cd), Jge = new vn(yot, 5), rpe = KH, tpe = Dut } function $se(t, e) { var n, r, s, o, h; for (s = e == 1 ? jut : Rut, r = s.a.ec().Kc(); r.Ob();)for (n = u(r.Pb(), 103), h = u(ji(t.f.c, n), 21).Kc(); h.Ob();)o = u(h.Pb(), 46), ue(t.b.b, u(o.b, 81)), ue(t.b.a, u(o.b, 81).d) } function ldn(t, e) { var n; if (e != null && !t.c.Yj().wj(e)) throw n = Et(e, 56) ? u(e, 56).Tg().zb : Mp(bl(e)), et(new Xk(c2 + t.c.ne() + "'s type '" + t.c.Yj().ne() + "' does not permit a value of type '" + n + "'")) } function hdn(t, e, n) { var r, s; for (s = new Ca(t.b, 0); s.b < s.d.gc();)r = (ir(s.b < s.d.gc()), u(s.d.Xb(s.c = s.b++), 70)), qt(K(r, (ie(), PEt))) === qt(e) && (x4t(r.n, Qa(t.c.i), n), Ol(s), ue(e.b, r)) } function fdn(t, e) { if (e.a) switch (u(K(e.b, (ie(), BEt)), 98).g) { case 0: case 1: Ofn(e); case 2: Ts(new kn(null, new Cn(e.d, 16)), new tF), dgn(t.a, e) } else Ts(new kn(null, new Cn(e.d, 16)), new tF) } function zse(t) { var e, n; return n = b.Math.sqrt((t.k == null && (t.k = jmt(t, new $X)), Xt(t.k) / (t.b * (t.g == null && (t.g = wee(t, new _F)), Xt(t.g))))), e = $r(Ou(b.Math.round(n))), e = b.Math.min(e, t.f), e } function zc() { Ku(), Pbt.call(this), this.j = (we(), fc), this.a = new Ra, new Ott, this.f = (Gl(2, vy), new iu(2)), this.e = (Gl(4, vy), new iu(4)), this.g = (Gl(4, vy), new iu(4)), this.b = new tVt(this.e, this.g) } function ddn(t, e) { var n, r; return !(Re(Be(K(e, (ie(), K1)))) || (r = e.c.i, t == (mh(), gS) && r.k == (Kn(), Bl)) || (n = u(K(r, (Ce(), bu)), 163), n == g2)) } function gdn(t, e) { var n, r; return !(Re(Be(K(e, (ie(), K1)))) || (r = e.d.i, t == (mh(), pS) && r.k == (Kn(), Bl)) || (n = u(K(r, (Ce(), bu)), 163), n == Ny)) } function pdn(t, e) { var n, r, s, o, h, d, w; for (h = t.d, w = t.o, d = new fh(-h.b, -h.d, h.b + w.a + h.c, h.d + w.b + h.a), r = e, s = 0, o = r.length; s < o; ++s)n = r[s], n && sC(d, n.i); h.b = -d.c, h.d = -d.d, h.c = d.b - h.b - w.a, h.a = d.a - h.d - w.b } function rI() { rI = J, MCt = new CM("CENTER_DISTANCE", 0), Oht = new CM("CIRCLE_UNDERLAP", 1), ICt = new CM("RECTANGLE_UNDERLAP", 2), Nht = new CM("INVERTED_OVERLAP", 3), DCt = new CM("MINIMUM_ROOT_DISTANCE", 4) } function bdn(t) { p5t(); var e, n, r, s, o; if (t == null) return null; for (r = t.length, s = r * 2, e = Ot(Sh, Ed, 25, s, 15, 1), n = 0; n < r; n++)o = t[n], o < 0 && (o += 256), e[n * 2] = tU[o >> 4], e[n * 2 + 1] = tU[o & 15]; return Fh(e, 0, e.length) } function vdn(t) { qj(); var e, n, r; switch (r = t.c.length, r) { case 0: return y0e; case 1: return e = u(Tae(new S(t)), 42), zZe(e.cd(), e.dd()); default: return n = u($1(t, Ot(Ab, Eq, 42, t.c.length, 0, 1)), 165), new $tt(n) } } function wdn(t) { var e, n, r, s, o, h; for (e = new P3, n = new P3, Vp(e, t), Vp(n, t); n.b != n.c;)for (s = u(P6(n), 37), h = new S(s.a); h.a < h.c.c.length;)o = u(Q(h), 10), o.e && (r = o.e, Vp(e, r), Vp(n, r)); return e } function Bg(t, e) { switch (e.g) { case 1: return I6(t.j, (Ku(), d9t)); case 2: return I6(t.j, (Ku(), h9t)); case 3: return I6(t.j, (Ku(), p9t)); case 4: return I6(t.j, (Ku(), b9t)); default: return pn(), pn(), wo } } function mdn(t, e) { var n, r, s; n = FZe(e, t.e), r = u(or(t.g.f, n), 19).a, s = t.a.c.length - 1, t.a.c.length != 0 && u(Fe(t.a, s), 287).c == r ? (++u(Fe(t.a, s), 287).a, ++u(Fe(t.a, s), 287).b) : ue(t.a, new yUt(r)) } function ydn(t, e, n) { var r, s; return r = Cbn(t, e, n), r != 0 ? r : ia(e, (ie(), Bc)) && ia(n, Bc) ? (s = Tu(u(K(e, Bc), 19).a, u(K(n, Bc), 19).a), s < 0 ? bI(t, e, n) : s > 0 && bI(t, n, e), s) : tgn(t, e, n) } function qse(t, e, n) { var r, s, o, h; if (e.b != 0) { for (r = new hs, h = gi(e, 0); h.b != h.d.c;)o = u(di(h), 86), io(r, Xmt(o)), s = o.e, s.a = u(K(o, (Sc(), vht)), 19).a, s.b = u(K(o, N_t), 19).a; qse(t, r, Kc(n, r.b / t.a | 0)) } } function Hse(t, e) { var n, r, s, o, h; if (t.e <= e || Cnn(t, t.g, e)) return t.g; for (o = t.r, r = t.g, h = t.r, s = (o - r) / 2 + r; r + 1 < o;)n = vC(t, s, !1), n.b <= s && n.a <= e ? (h = s, o = s) : r = s, s = (o - r) / 2 + r; return h } function xdn(t, e, n) { var r; r = cce(t, e, !0), Ar(n, "Recursive Graph Layout", r), g4t(e, ct(ot(ZCt, 1), De, 527, 0, [new KL])), eb(e, (Ti(), _9)) || g4t(e, ct(ot(ZCt, 1), De, 527, 0, [new cZ])), i6t(t, e, null, n), br(n) } function br(t) { var e; if (t.p == null) throw et(new Yo("The task has not begun yet.")); t.b || (t.k && (e = (Gd(), ja(Ou(Date.now()), jg)), t.q = qv(Qp(e, t.o)) * 1e-9), t.c < t.r && Urt(t, t.r - t.c), t.b = !0) } function iI(t) { var e, n, r; for (r = new Hu, pi(r, new je(t.j, t.k)), n = new lr((!t.a && (t.a = new qs(Qh, t, 5)), t.a)); n.e != n.i.gc();)e = u(kr(n), 469), pi(r, new je(e.a, e.b)); return pi(r, new je(t.b, t.c)), r } function kdn(t, e, n, r, s) { var o, h, d, w, k, _; if (s) for (w = s.a.length, o = new Y2(w), _ = (o.b - o.a) * o.c < 0 ? (Op(), M2) : new Bp(o); _.Ob();)k = u(_.Pb(), 19), d = C8(s, k.a), h = new BYt(t, e, n, r), Ivn(h.a, h.b, h.c, h.d, d) } function b4t(t, e) { var n; if (qt(t) === qt(e)) return !0; if (Et(e, 21)) { n = u(e, 21); try { return t.gc() == n.gc() && t.Ic(n) } catch (r) { if (r = os(r), Et(r, 173) || Et(r, 205)) return !1; throw et(r) } } return !1 } function v4t(t, e) { var n; ue(t.d, e), n = e.rf(), t.c ? (t.e.a = b.Math.max(t.e.a, n.a), t.e.b += n.b, t.d.c.length > 1 && (t.e.b += t.a)) : (t.e.a += n.a, t.e.b = b.Math.max(t.e.b, n.b), t.d.c.length > 1 && (t.e.a += t.a)) } function Edn(t) { var e, n, r, s; switch (s = t.i, e = s.b, r = s.j, n = s.g, s.a.g) { case 0: n.a = (t.g.b.o.a - r.a) / 2; break; case 1: n.a = e.d.n.a + e.d.a.a; break; case 2: n.a = e.d.n.a + e.d.a.a - r.a; break; case 3: n.b = e.d.n.b + e.d.a.b } } function Vse(t, e, n, r, s) { if (r < e || s < n) throw et(new Bn("The highx must be bigger then lowx and the highy must be bigger then lowy")); return t.a < e ? t.a = e : t.a > r && (t.a = r), t.b < n ? t.b = n : t.b > s && (t.b = s), t } function Tdn(t) { if (Et(t, 149)) return Jpn(u(t, 149)); if (Et(t, 229)) return Xcn(u(t, 229)); if (Et(t, 23)) return rdn(u(t, 23)); throw et(new Bn(n8t + Jp(new Al(ct(ot(nr, 1), De, 1, 5, [t]))))) } function _dn(t, e, n, r, s) { var o, h, d; for (o = !0, h = 0; h < r; h++)o = o & n[h] == 0; if (s == 0) qc(n, r, t, 0, e), h = e; else { for (d = 32 - s, o = o & n[h] << d == 0, h = 0; h < e - 1; h++)t[h] = n[h + r] >>> s | n[h + r + 1] << d; t[h] = n[h + r] >>> s, ++h } return o } function w4t(t, e, n, r) { var s, o, h; if (e.k == (Kn(), ha)) { for (o = new pr(mr(Zo(e).a.Kc(), new H)); Zr(o);)if (s = u(qr(o), 17), h = s.c.i.k, h == ha && t.c.a[s.c.i.c.p] == r && t.c.a[e.c.p] == n) return !0 } return !1 } function Cdn(t, e) { var n, r, s, o; return e &= 63, n = t.h & U0, e < 22 ? (o = n >>> e, s = t.m >> e | n << 22 - e, r = t.l >> e | t.m << 22 - e) : e < 44 ? (o = 0, s = n >>> e - 22, r = t.m >> e - 22 | t.h << 44 - e) : (o = 0, s = 0, r = n >>> e - 44), hu(r & yl, s & yl, o & U0) } function Gse(t, e, n, r) { var s; this.b = r, this.e = t == (Yv(), CS), s = e[n], this.d = K2(Tl, [te, o0], [177, 25], 16, [s.length, s.length], 2), this.a = K2(Br, [te, oi], [48, 25], 15, [s.length, s.length], 2), this.c = new t4t(e, n) } function Sdn(t) { var e, n, r; for (t.k = new ywt((we(), ct(ot(co, 1), Nc, 61, 0, [fc, Fn, Wn, Lr, jn])).length, t.j.c.length), r = new S(t.j); r.a < r.c.c.length;)n = u(Q(r), 113), e = n.d.j, cn(t.k, e, n); t.e = jpn(N6(t.k)) } function Use(t, e) { var n, r, s; Ys(t.d, e), n = new jE, Pi(t.c, e, n), n.f = yit(e.c), n.a = yit(e.d), n.d = (lC(), s = e.c.i.k, s == (Kn(), Ws) || s == W1), n.e = (r = e.d.i.k, r == Ws || r == W1), n.b = e.c.j == (we(), jn), n.c = e.d.j == Wn } function Adn(t) { var e, n, r, s, o; for (o = Di, s = Di, r = new S(o4(t)); r.a < r.c.c.length;)n = u(Q(r), 213), e = n.e.e - n.d.e, n.e == t && e < s ? s = e : e < o && (o = e); return s == Di && (s = -1), o == Di && (o = -1), new _a(pe(s), pe(o)) } function Ldn(t, e) { var n, r, s; return s = F7, r = (J_(), lO), s = b.Math.abs(t.b), n = b.Math.abs(e.f - t.b), n < s && (s = n, r = GH), n = b.Math.abs(t.a), n < s && (s = n, r = hO), n = b.Math.abs(e.g - t.a), n < s && (s = n, r = VH), r } function Mdn(t, e) { var n, r, s, o; for (n = e.a.o.a, o = new Qd(Qa(e.a).b, e.c, e.f + 1), s = new h6(o); s.b < s.d.gc();)if (r = (ir(s.b < s.d.gc()), u(s.d.Xb(s.c = s.b++), 29)), r.c.a >= n) return p7(t, e, r.p), !0; return !1 } function Wse(t) { var e; return t.Db & 64 ? xst(t) : (e = new jl(Gkt), !t.a || ni(ni((e.a += ' "', e), t.a), '"'), ni(kv(ni(kv(ni(kv(ni(kv((e.a += " (", e), t.i), ","), t.j), " | "), t.g), ","), t.f), ")"), e.a) } function Kse(t, e, n) { var r, s, o, h, d; for (d = gu(t.e.Tg(), e), s = u(t.g, 119), r = 0, h = 0; h < t.i; ++h)if (o = s[h], d.rl(o.ak())) { if (r == n) return hy(t, h), go(), u(e, 66).Oj() ? o : o.dd(); ++r } throw et(new Oo(VC + n + _b + r)) } function Yse(t) { var e, n, r; if (e = t.c, e == 2 || e == 7 || e == 1) return Ai(), Ai(), aA; for (r = s6t(t), n = null; (e = t.c) != 2 && e != 7 && e != 1;)n || (n = (Ai(), Ai(), new i_(1)), vb(n, r), r = n), vb(n, s6t(t)); return r } function Ddn(t, e, n) { return t < 0 || t > n ? C4t(t, n, "start index") : e < 0 || e > n ? C4t(e, n, "end index") : hC("end index (%s) must not be less than start index (%s)", ct(ot(nr, 1), De, 1, 5, [pe(e), pe(t)])) } function Xse(t, e) { var n, r, s, o; for (r = 0, s = t.length; r < s; r++) { o = t[r]; try { o[1] ? o[0].jm() && (e = pJe(e, o)) : o[0].jm() } catch (h) { if (h = os(h), Et(h, 78)) n = h, cR(), aen(Et(n, 477) ? u(n, 477).ae() : n); else throw et(h) } } return e } function p7(t, e, n) { var r, s, o; for (n != e.c + e.b.gc() && qwn(e.a, _an(e, n - e.c)), o = e.a.c.p, t.a[o] = b.Math.max(t.a[o], e.a.o.a), s = u(K(e.a, (ie(), EO)), 15).Kc(); s.Ob();)r = u(s.Pb(), 70), Jt(r, Wut, (Rn(), !0)) } function Idn(t, e) { var n, r, s; s = o2n(e), Jt(e, (ie(), Tlt), s), s && (r = Di, qo(t.f, s) && (r = u(gc(qo(t.f, s)), 19).a), n = u(Fe(e.g, 0), 17), Re(Be(K(n, K1))) || Pi(t, s, pe(b.Math.min(u(K(n, Bc), 19).a, r)))) } function Qse(t, e, n) { var r, s, o, h, d; for (e.p = -1, d = ew(e, (yo(), lu)).Kc(); d.Ob();)for (h = u(d.Pb(), 11), s = new S(h.g); s.a < s.c.c.length;)r = u(Q(s), 17), o = r.d.i, e != o && (o.p < 0 ? n.Fc(r) : o.p > 0 && Qse(t, o, n)); e.p = 0 } function Xe(t) { var e; this.c = new hs, this.f = t.e, this.e = t.d, this.i = t.g, this.d = t.c, this.b = t.b, this.k = t.j, this.a = t.a, t.i ? this.j = t.i : this.j = (e = u(Yf(Xg), 9), new hh(e, u(pf(e, e.length), 9), 0)), this.g = t.f } function Odn(t) { var e, n, r, s; for (e = $p(ni(new jl("Predicates."), "and"), 40), n = !0, s = new h6(t); s.b < s.d.gc();)r = (ir(s.b < s.d.gc()), s.d.Xb(s.c = s.b++)), n || (e.a += ","), e.a += "" + r, n = !1; return (e.a += ")", e).a } function Zse(t, e, n) { var r, s, o; if (!(n <= e + 2)) for (s = (n - e) / 2 | 0, r = 0; r < s; ++r)o = (An(e + r, t.c.length), u(t.c[e + r], 11)), gh(t, e + r, (An(n - r - 1, t.c.length), u(t.c[n - r - 1], 11))), An(n - r - 1, t.c.length), t.c[n - r - 1] = o } function Ndn(t, e, n) { var r, s, o, h, d, w, k, _; o = t.d.p, d = o.e, w = o.r, t.g = new qM(w), h = t.d.o.c.p, r = h > 0 ? d[h - 1] : Ot(l0, $g, 10, 0, 0, 1), s = d[h], k = h < d.length - 1 ? d[h + 1] : Ot(l0, $g, 10, 0, 0, 1), _ = e == n - 1, _ ? nrt(t.g, s, k) : nrt(t.g, r, s) } function Jse(t) { var e; this.j = new le, this.f = new na, this.b = (e = u(Yf(co), 9), new hh(e, u(pf(e, e.length), 9), 0)), this.d = Ot(Br, oi, 25, (we(), ct(ot(co, 1), Nc, 61, 0, [fc, Fn, Wn, Lr, jn])).length, 15, 1), this.g = t } function tae(t, e) { var n, r, s; if (e.c.length != 0) { for (n = Lse(t, e), s = !1; !n;)Xz(t, e, !0), s = !0, n = Lse(t, e); s && Xz(t, e, !1), r = nit(e), t.b && t.b.lg(r), t.a = Bne(t, (An(0, e.c.length), u(e.c[0], 33))), tae(t, r) } } function kst(t, e) { var n, r, s; if (r = wn(t.Tg(), e), n = e - t.Ah(), n < 0) if (r) if (r.Ij()) s = t.Yg(r), s >= 0 ? t.Bh(s) : D4t(t, r); else throw et(new Bn(c2 + r.ne() + zC)); else throw et(new Bn(L1e + e + M1e)); else wh(t, n, r) } function m4t(t) { var e, n; if (n = null, e = !1, Et(t, 204) && (e = !0, n = u(t, 204).a), e || Et(t, 258) && (e = !0, n = "" + u(t, 258).a), e || Et(t, 483) && (e = !0, n = "" + u(t, 483).a), !e) throw et(new qtt(e8t)); return n } function eae(t, e) { var n, r; if (t.f) { for (; e.Ob();)if (n = u(e.Pb(), 72), r = n.ak(), Et(r, 99) && u(r, 18).Bb & Ac && (!t.e || r.Gj() != D9 || r.aj() != 0) && n.dd() != null) return e.Ub(), !0; return !1 } else return e.Ob() } function nae(t, e) { var n, r; if (t.f) { for (; e.Sb();)if (n = u(e.Ub(), 72), r = n.ak(), Et(r, 99) && u(r, 18).Bb & Ac && (!t.e || r.Gj() != D9 || r.aj() != 0) && n.dd() != null) return e.Pb(), !0; return !1 } else return e.Sb() } function y4t(t, e, n) { var r, s, o, h, d, w; for (w = gu(t.e.Tg(), e), r = 0, d = t.i, s = u(t.g, 119), h = 0; h < t.i; ++h)if (o = s[h], w.rl(o.ak())) { if (n == r) return h; ++r, d = h + 1 } if (n == r) return d; throw et(new Oo(VC + n + _b + r)) } function Pdn(t, e) { var n, r, s, o; if (t.f.c.length == 0) return null; for (o = new S6, r = new S(t.f); r.a < r.c.c.length;)n = u(Q(r), 70), s = n.o, o.b = b.Math.max(o.b, s.a), o.a += s.b; return o.a += (t.f.c.length - 1) * e, o } function Fdn(t, e, n) { var r, s, o; for (s = new pr(mr($0(n).a.Kc(), new H)); Zr(s);)r = u(qr(s), 17), !ro(r) && !(!ro(r) && r.c.i.c == r.d.i.c) && (o = Poe(t, r, n, new vzt), o.c.length > 1 && (e.c[e.c.length] = o)) } function Bdn(t) { var e, n, r, s; for (n = new hs, io(n, t.o), r = new ppt; n.b != 0;)e = u(n.b == 0 ? null : (ir(n.b != 0), bh(n, n.a.a)), 508), s = Ple(t, e, !0), s && ue(r.a, e); for (; r.a.c.length != 0;)e = u(Ane(r), 508), Ple(t, e, !1) } function Rg() { Rg = J, JCt = new _6(SC, 0), qa = new _6("BOOLEAN", 1), Lc = new _6("INT", 2), T9 = new _6("STRING", 3), Uo = new _6("DOUBLE", 4), ks = new _6("ENUM", 5), Rx = new _6("ENUMSET", 6), X1 = new _6("OBJECT", 7) } function sC(t, e) { var n, r, s, o, h; r = b.Math.min(t.c, e.c), o = b.Math.min(t.d, e.d), s = b.Math.max(t.c + t.b, e.c + e.b), h = b.Math.max(t.d + t.a, e.d + e.a), s < r && (n = r, r = s, s = n), h < o && (n = o, o = h, h = n), WWt(t, r, o, s - r, h - o) } function Yu() { Yu = J, UAt = ct(ot(Me, 1), te, 2, 6, [b8t, ZI, kH, Ude, EH, Vct, lH]), GAt = ct(ot(Me, 1), te, 2, 6, [b8t, "empty", ZI, QI, "elementOnly"]), WAt = ct(ot(Me, 1), te, 2, 6, [b8t, "preserve", "replace", a1]), Pa = new GWt } function x4t(t, e, n) { var r, s, o; if (e != n) { r = e; do $i(t, r.c), s = r.e, s && (o = r.d, Nm(t, o.b, o.d), $i(t, s.n), r = Qa(s)); while (s); r = n; do ba(t, r.c), s = r.e, s && (o = r.d, FM(t, o.b, o.d), ba(t, s.n), r = Qa(s)); while (s) } } function Est(t, e, n, r) { var s, o, h, d, w; if (r.f.c + r.g.c == 0) for (h = t.a[t.c], d = 0, w = h.length; d < w; ++d)o = h[d], Pi(r, o, new Eee(t, o, n)); return s = u(gc(qo(r.f, e)), 663), s.b = 0, s.c = s.f, s.c == 0 || VB(u(Fe(s.a, s.b), 287)), s } function rx() { rx = J, o9 = new HT("MEDIAN_LAYER", 0), oS = new HT("TAIL_LAYER", 1), a9 = new HT("HEAD_LAYER", 2), Dy = new HT("SPACE_EFFICIENT_LAYER", 3), H4 = new HT("WIDEST_LAYER", 4), q4 = new HT("CENTER_LAYER", 5) } function Rdn(t) { switch (t.g) { case 0: case 1: case 2: return we(), Fn; case 3: case 4: case 5: return we(), Lr; case 6: case 7: case 8: return we(), jn; case 9: case 10: case 11: return we(), Wn; default: return we(), fc } } function jdn(t, e) { var n; return t.c.length == 0 ? !1 : (n = yre((An(0, t.c.length), u(t.c[0], 17)).c.i), zl(), n == (ry(), t5) || n == J4 ? !0 : A8(Cu(new kn(null, new Cn(t, 16)), new ZX), new Ijt(e))) } function k4t(t, e, n) { var r, s, o; if (!t.b[e.g]) { for (t.b[e.g] = !0, r = n, !r && (r = new m$), pi(r.b, e), o = t.a[e.g].Kc(); o.Ob();)s = u(o.Pb(), 188), s.b != e && k4t(t, s.b, r), s.c != e && k4t(t, s.c, r), pi(r.a, s); return r } return null } function aC() { aC = J, uG = new KT("ROOT_PROC", 0), lht = new KT("FAN_PROC", 1), fht = new KT("NEIGHBORS_PROC", 2), hht = new KT("LEVEL_HEIGHT", 3), dht = new KT("NODE_POSITION_PROC", 4), uht = new KT("DETREEIFYING_PROC", 5) } function Tst(t, e) { if (Et(e, 239)) return IKe(t, u(e, 33)); if (Et(e, 186)) return OKe(t, u(e, 118)); if (Et(e, 439)) return DKe(t, u(e, 202)); throw et(new Bn(n8t + Jp(new Al(ct(ot(nr, 1), De, 1, 5, [e]))))) } function rae(t, e, n) { var r, s; if (this.f = t, r = u(or(t.b, e), 283), s = r ? r.a : 0, Xwt(n, s), n >= (s / 2 | 0)) for (this.e = r ? r.c : null, this.d = s; n++ < s;)LXt(this); else for (this.c = r ? r.b : null; n-- > 0;)vwt(this); this.b = e, this.a = null } function $dn(t, e) { var n, r; e.a ? u2n(t, e) : (n = u(nnt(t.b, e.b), 57), n && n == t.a[e.b.f] && n.a && n.a != e.b.a && n.c.Fc(e.b), r = u(ent(t.b, e.b), 57), r && t.a[r.f] == e.b && r.a && r.a != e.b.a && e.b.c.Fc(r), Het(t.b, e.b)) } function iae(t, e) { var n, r; if (n = u(Ao(t.b, e), 124), u(u(ji(t.r, e), 21), 84).dc()) { n.n.b = 0, n.n.c = 0; return } n.n.b = t.C.b, n.n.c = t.C.c, t.A.Hc((Fl(), Hb)) && Ace(t, e), r = bln(t, e), zst(t, e) == (c4(), x2) && (r += 2 * t.w), n.a.a = r } function sae(t, e) { var n, r; if (n = u(Ao(t.b, e), 124), u(u(ji(t.r, e), 21), 84).dc()) { n.n.d = 0, n.n.a = 0; return } n.n.d = t.C.d, n.n.a = t.C.a, t.A.Hc((Fl(), Hb)) && Lce(t, e), r = vln(t, e), zst(t, e) == (c4(), x2) && (r += 2 * t.w), n.a.b = r } function zdn(t, e) { var n, r, s, o; for (o = new le, r = new S(e); r.a < r.c.c.length;)n = u(Q(r), 65), ue(o, new i2t(n, !0)), ue(o, new i2t(n, !1)); s = new ZYt(t), ST(s.a.a), vQt(o, t.b, new Al(ct(ot(X0e, 1), De, 679, 0, [s]))) } function aae(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q, G, W, Z; return w = t.a, q = t.b, k = e.a, G = e.b, _ = n.a, W = n.b, L = r.a, Z = r.b, o = w * G - q * k, h = _ * Z - W * L, s = (w - k) * (W - Z) - (q - G) * (_ - L), d = (o * (_ - L) - h * (w - k)) / s, F = (o * (W - Z) - h * (q - G)) / s, new je(d, F) } function E4t(t, e) { var n, r, s; if (!t.d[e.p]) { for (t.d[e.p] = !0, t.a[e.p] = !0, r = new pr(mr(Gs(e).a.Kc(), new H)); Zr(r);)n = u(qr(r), 17), !ro(n) && (s = n.d.i, t.a[s.p] ? ue(t.b, n) : E4t(t, s)); t.a[e.p] = !1 } } function oae(t, e, n) { var r; switch (r = 0, u(K(e, (Ce(), bu)), 163).g) { case 2: r = 2 * -n + t.a, ++t.a; break; case 1: r = -n; break; case 3: r = n; break; case 4: r = 2 * n + t.b, ++t.b }return ia(e, (ie(), Bc)) && (r += u(K(e, Bc), 19).a), r } function cae(t, e, n) { var r, s, o; for (n.zc(e, t), ue(t.n, e), o = t.p.eg(e), e.j == t.p.fg() ? lre(t.e, o) : lre(t.j, o), jj(t), s = jp(B1(ct(ot(G1, 1), De, 20, 0, [new ca(e), new Fr(e)]))); Zr(s);)r = u(qr(s), 11), n._b(r) || cae(t, r, n) } function T4t(t) { var e, n, r; return n = u(ze(t, (Ti(), jb)), 21), n.Hc((Fl(), Ky)) ? (r = u(ze(t, m2), 21), e = new No(u(ze(t, a5), 8)), r.Hc((ml(), M9)) && (e.a <= 0 && (e.a = 20), e.b <= 0 && (e.b = 20)), e) : new Ra } function _4t(t) { var e, n, r; if (!t.b) { for (r = new Sk, n = new L6(bC(t)); n.e != n.i.gc();)e = u(Vit(n), 18), e.Bb & Ac && Hr(r, e); Jm(r), t.b = new q3((u(St(Ut((zp(), Ln).o), 8), 18), r.i), r.g), gl(t).b &= -9 } return t.b } function qdn(t, e) { var n, r, s, o, h, d, w, k; w = u(YD(N6(e.k), Ot(co, Nc, 61, 2, 0, 1)), 122), k = e.g, n = PQt(e, w[0]), s = NQt(e, w[1]), r = sst(t, k, n, s), o = PQt(e, w[1]), d = NQt(e, w[0]), h = sst(t, k, o, d), r <= h ? (e.a = n, e.c = s) : (e.a = o, e.c = d) } function Hdn(t, e, n) { var r, s, o; for (Ar(n, "Processor set neighbors", 1), t.a = e.b.b == 0 ? 1 : e.b.b, s = null, r = gi(e.b, 0); !s && r.b != r.d.c;)o = u(di(r), 86), Re(Be(K(o, (Sc(), Gy)))) && (s = o); s && gce(t, new Sp(s), n), br(n) } function uae(t) { fat(); var e, n, r, s; return r = gd(t, Nu(35)), e = r == -1 ? t : t.substr(0, r), n = r == -1 ? null : t.substr(r + 1), s = Mrn(DAt, e), s ? n != null && (s = kne(s, (Pn(n), n))) : (s = s4n(e), jrn(DAt, e, s), n != null && (s = kne(s, n))), s } function _st(t) { var e; pn(); var n, r, s, o, h, d; if (Et(t, 54)) for (o = 0, s = t.gc() - 1; o < s; ++o, --s)e = t.Xb(o), t._c(o, t.Xb(s)), t._c(s, e); else for (n = t.Yc(), h = t.Zc(t.gc()); n.Tb() < h.Vb();)r = n.Pb(), d = h.Ub(), n.Wb(d), h.Wb(r) } function Vdn(t, e) { var n, r, s; Ar(e, "End label pre-processing", 1), n = Xt(xe(K(t, (Ce(), Fx)))), r = Xt(xe(K(t, qy))), s = c8(u(K(t, Jl), 103)), Ts(oc(new kn(null, new Cn(t.b, 16)), new mL), new CWt(n, r, s)), br(e) } function Cst(t, e) { var n, r, s, o, h, d; for (d = 0, o = new P3, Vp(o, e); o.b != o.c;)for (h = u(P6(o), 214), d += Pie(h.d, h.e), s = new S(h.b); s.a < s.c.c.length;)r = u(Q(s), 37), n = u(Fe(t.b, r.p), 214), n.s || (d += Cst(t, n)); return d } function lae(t, e, n) { var r, s; qee(this), e == (jv(), w2) ? Ys(this.r, t.c) : Ys(this.w, t.c), n == w2 ? Ys(this.r, t.d) : Ys(this.w, t.d), Use(this, t), r = yit(t.c), s = yit(t.d), Fse(this, r, s, s), this.o = (lC(), b.Math.abs(r - s) < .2) } function hae(t, e, n) { var r, s, o, h, d, w; if (d = u(Dn(t.a, 8), 1936), d != null) for (s = d, o = 0, h = s.length; o < h; ++o)null.jm(); r = n, t.a.Db & 1 || (w = new fYt(t, n, e), r.ui(w)), Et(r, 672) ? u(r, 672).wi(t.a) : r.ti() == t.a && r.vi(null) } function Gdn() { var t; return R4e ? u(w7((Ip(), tf), Sb), 1945) : (s3n(), t = u(Et(Uc((Ip(), tf), Sb), 586) ? Uc(tf, Sb) : new yYt, 586), R4e = !0, q3n(t), b4n(t), Pi((Xpt(), IAt), t, new r6), ost(t), Po(tf, Sb, t), t) } function Udn(t, e, n, r) { var s; return s = p4(t, n, ct(ot(Me, 1), te, 2, 6, [jat, $at, zat, qat, Hat, Vat, Gat]), e), s < 0 && (s = p4(t, n, ct(ot(Me, 1), te, 2, 6, ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]), e)), s < 0 ? !1 : (r.d = s, !0) } function Wdn(t, e, n, r) { var s; return s = p4(t, n, ct(ot(Me, 1), te, 2, 6, [jat, $at, zat, qat, Hat, Vat, Gat]), e), s < 0 && (s = p4(t, n, ct(ot(Me, 1), te, 2, 6, ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]), e)), s < 0 ? !1 : (r.d = s, !0) } function Kdn(t) { var e, n, r; for (tpn(t), r = new le, n = new S(t.a.a.b); n.a < n.c.c.length;)e = u(Q(n), 81), ue(r, new u2t(e, !0)), ue(r, new u2t(e, !1)); Pln(t.c), sD(r, t.b, new Al(ct(ot(dO, 1), De, 369, 0, [t.c]))), pgn(t) } function Ydn(t) { var e, n, r, s; for (n = new Rr, s = new S(t.d); s.a < s.c.c.length;)r = u(Q(s), 181), e = u(r.We((ie(), Lx)), 17), qo(n.f, e) || Pi(n, e, new UYt(e)), ue(u(gc(qo(n.f, e)), 456).b, r); return new Uu(new T1(n)) } function Xdn(t, e) { var n, r, s, o, h; for (r = new WXt(t.j.c.length), n = null, o = new S(t.j); o.a < o.c.c.length;)s = u(Q(o), 11), s.j != n && (r.b == r.c || Toe(r, n, e), Bwt(r), n = s.j), h = coe(s), h && Dwt(r, h); r.b == r.c || Toe(r, n, e) } function Qdn(t, e) { var n, r, s; for (r = new Ca(t.b, 0); r.b < r.d.gc();)n = (ir(r.b < r.d.gc()), u(r.d.Xb(r.c = r.b++), 70)), s = u(K(n, (Ce(), Fd)), 272), s == (F1(), Wy) && (Ol(r), ue(e.b, n), ia(n, (ie(), Lx)) || Jt(n, Lx, t)) } function Zdn(t) { var e, n, r, s, o; for (e = O0(new pr(mr(Gs(t).a.Kc(), new H))), s = new pr(mr(Zo(t).a.Kc(), new H)); Zr(s);)r = u(qr(s), 17), n = r.c.i, o = O0(new pr(mr(Gs(n).a.Kc(), new H))), e = b.Math.max(e, o); return pe(e) } function Jdn(t, e, n) { var r, s, o, h; for (Ar(n, "Processor arrange node", 1), s = null, o = new hs, r = gi(e.b, 0); !s && r.b != r.d.c;)h = u(di(r), 86), Re(Be(K(h, (Sc(), Gy)))) && (s = h); Cs(o, s, o.c.b, o.c), xle(t, o, Kc(n, 1)), br(n) } function fae(t, e, n) { var r, s, o; r = u(ze(t, (Ti(), AG)), 21), s = 0, o = 0, e.a > n.a && (r.Hc((ay(), zO)) ? s = (e.a - n.a) / 2 : r.Hc(qO) && (s = e.a - n.a)), e.b > n.b && (r.Hc((ay(), VO)) ? o = (e.b - n.b) / 2 : r.Hc(HO) && (o = e.b - n.b)), c4t(t, s, o) } function dae(t, e, n, r, s, o, h, d, w, k, _, L, F) { Et(t.Cb, 88) && uy(gl(u(t.Cb, 88)), 4), su(t, n), t.f = h, r7(t, d), s7(t, w), n7(t, k), i7(t, _), Ng(t, L), a7(t, F), Og(t, !0), Mg(t, s), t.ok(o), lb(t, e), r != null && (t.i = null, U$(t, r)) } function gae(t) { var e, n; if (t.f) { for (; t.n > 0;) { if (e = u(t.k.Xb(t.n - 1), 72), n = e.ak(), Et(n, 99) && u(n, 18).Bb & Ac && (!t.e || n.Gj() != D9 || n.aj() != 0) && e.dd() != null) return !0; --t.n } return !1 } else return t.n > 0 } function C4t(t, e, n) { if (t < 0) return hC(Zle, ct(ot(nr, 1), De, 1, 5, [n, pe(t)])); if (e < 0) throw et(new Bn(Jle + e)); return hC("%s (%s) must not be greater than size (%s)", ct(ot(nr, 1), De, 1, 5, [n, pe(t), pe(e)])) } function S4t(t, e, n, r, s, o) { var h, d, w, k; if (h = r - n, h < 7) { jcn(e, n, r, o); return } if (w = n + s, d = r + s, k = w + (d - w >> 1), S4t(e, t, w, k, -s, o), S4t(e, t, k, d, -s, o), o.ue(t[k - 1], t[k]) <= 0) { for (; n < r;)ds(e, n++, t[w++]); return } ocn(t, w, k, d, e, n, r, o) } function sI(t, e) { var n, r, s; for (s = new le, r = new S(t.c.a.b); r.a < r.c.c.length;)n = u(Q(r), 57), e.Lb(n) && (ue(s, new n2t(n, !0)), ue(s, new n2t(n, !1))); Nln(t.e), vQt(s, t.d, new Al(ct(ot(X0e, 1), De, 679, 0, [t.e]))) } function t0n(t, e) { var n, r, s, o, h, d, w; for (w = e.d, s = e.b.j, d = new S(w); d.a < d.c.c.length;)for (h = u(Q(d), 101), o = Ot(Tl, o0, 25, s.c.length, 16, 1), Pi(t.b, h, o), n = h.a.d.p - 1, r = h.c.d.p; n != r;)n = (n + 1) % s.c.length, o[n] = !0 } function e0n(t, e) { for (t.r = new AD(t.p), Vgt(t.r, t), io(t.r.j, t.j), Nh(t.j), pi(t.j, e), pi(t.r.e, e), jj(t), jj(t.r); t.f.c.length != 0;)BGt(u(Fe(t.f, 0), 129)); for (; t.k.c.length != 0;)BGt(u(Fe(t.k, 0), 129)); return t.r } function Sst(t, e, n) { var r, s, o; if (s = wn(t.Tg(), e), r = e - t.Ah(), r < 0) if (s) if (s.Ij()) o = t.Yg(s), o >= 0 ? t.sh(o, n) : r5t(t, s, n); else throw et(new Bn(c2 + s.ne() + zC)); else throw et(new Bn(L1e + e + M1e)); else yh(t, r, s, n) } function pae(t) { var e, n, r, s; if (n = u(t, 49).qh(), n) try { if (r = null, e = w7((Ip(), tf), Qce(qcn(n))), e && (s = e.rh(), s && (r = s.Wk(XUe(n.e)))), r && r != t) return pae(r) } catch (o) { if (o = os(o), !Et(o, 60)) throw et(o) } return t } function du(t, e, n) { var r, s, o, h; if (h = e == null ? 0 : t.b.se(e), s = (r = t.a.get(h), r ?? new Array), s.length == 0) t.a.set(h, s); else if (o = Dne(t, e, s), o) return o.ed(n); return ds(s, s.length, new LR(e, n)), ++t.c, Qj(t.b), null } function bae(t, e) { var n, r; return u$(t.a), Yd(t.a, (Y$(), pG), pG), Yd(t.a, E9, E9), r = new ra, Mi(r, E9, (bz(), kht)), qt(ze(e, (iy(), _ht))) !== qt((BD(), bG)) && Mi(r, E9, yht), Mi(r, E9, xht), bGt(t.a, r), n = pq(t.a, e), n } function vae(t) { if (!t) return tqt(), L0e; var e = t.valueOf ? t.valueOf() : t; if (e !== t) { var n = hut[typeof e]; return n ? n(e) : myt(typeof e) } else return t instanceof Array || t instanceof b.Array ? new u6(t) : new Hk(t) } function wae(t, e, n) { var r, s, o; switch (o = t.o, r = u(Ao(t.p, n), 244), s = r.i, s.b = cI(r), s.a = oI(r), s.b = b.Math.max(s.b, o.a), s.b > o.a && !e && (s.b = o.a), s.c = -(s.b - o.a) / 2, n.g) { case 1: s.d = -s.a; break; case 3: s.d = o.b }tat(r), eat(r) } function mae(t, e, n) { var r, s, o; switch (o = t.o, r = u(Ao(t.p, n), 244), s = r.i, s.b = cI(r), s.a = oI(r), s.a = b.Math.max(s.a, o.b), s.a > o.b && !e && (s.a = o.b), s.d = -(s.a - o.b) / 2, n.g) { case 4: s.c = -s.b; break; case 2: s.c = o.a }tat(r), eat(r) } function n0n(t, e) { var n, r, s, o, h; if (!e.dc()) { if (s = u(e.Xb(0), 128), e.gc() == 1) { Uoe(t, s, s, 1, 0, e); return } for (n = 1; n < e.gc();)(s.j || !s.o) && (o = hhn(e, n), o && (r = u(o.a, 19).a, h = u(o.b, 128), Uoe(t, s, h, n, r, e), n = r + 1, s = h)) } } function r0n(t) { var e, n, r, s, o, h; for (h = new Uu(t.d), ua(h, new vX), e = (rq(), ct(ot(tEt, 1), se, 270, 0, [Zut, elt, Qut, ilt, tlt, Jut, rlt, nlt])), n = 0, o = new S(h); o.a < o.c.c.length;)s = u(Q(o), 101), r = e[n % e.length], J0n(s, r), ++n } function i0n(t, e) { y4(); var n, r, s, o; if (e.b < 2) return !1; for (o = gi(e, 0), n = u(di(o), 8), r = n; o.b != o.d.c;) { if (s = u(di(o), 8), !(H8(t, r) && H8(t, s))) return !1; r = s } return !!(H8(t, r) && H8(t, n)) } function A4t(t, e) { var n, r, s, o, h, d, w, k, _, L; return _ = null, L = t, h = B0(L, "x"), n = new p$t(e), Xin(n.a, h), d = B0(L, "y"), r = new b$t(e), Qin(r.a, d), w = B0(L, Lct), s = new v$t(e), Zin(s.a, w), k = B0(L, Act), o = new w$t(e), _ = (Jin(o.a, k), k), _ } function uy(t, e) { _ce(t, e), t.b & 1 && (t.a.a = null), t.b & 2 && (t.a.f = null), t.b & 4 && (t.a.g = null, t.a.i = null), t.b & 16 && (t.a.d = null, t.a.e = null), t.b & 8 && (t.a.b = null), t.b & 32 && (t.a.j = null, t.a.c = null) } function s0n(t, e) { var n, r, s; if (s = 0, e.length > 0) try { s = Kl(e, $a, Di) } catch (o) { throw o = os(o), Et(o, 127) ? (r = o, et(new S$(r))) : et(o) } return n = (!t.a && (t.a = new Ltt(t)), t.a), s < n.i && s >= 0 ? u(St(n, s), 56) : null } function a0n(t, e) { if (t < 0) return hC(Zle, ct(ot(nr, 1), De, 1, 5, ["index", pe(t)])); if (e < 0) throw et(new Bn(Jle + e)); return hC("%s (%s) must be less than size (%s)", ct(ot(nr, 1), De, 1, 5, ["index", pe(t), pe(e)])) } function o0n(t) { var e, n, r, s, o; if (t == null) return Pu; for (o = new ab(ao, "[", "]"), n = t, r = 0, s = n.length; r < s; ++r)e = n[r], o.a ? ni(o.a, o.b) : o.a = new jl(o.d), n_(o.a, "" + e); return o.a ? o.e.length == 0 ? o.a.a : o.a.a + ("" + o.e) : o.c } function c0n(t) { var e, n, r, s, o; if (t == null) return Pu; for (o = new ab(ao, "[", "]"), n = t, r = 0, s = n.length; r < s; ++r)e = n[r], o.a ? ni(o.a, o.b) : o.a = new jl(o.d), n_(o.a, "" + e); return o.a ? o.e.length == 0 ? o.a.a : o.a.a + ("" + o.e) : o.c } function u0n(t) { var e, n, r, s, o; if (t == null) return Pu; for (o = new ab(ao, "[", "]"), n = t, r = 0, s = n.length; r < s; ++r)e = n[r], o.a ? ni(o.a, o.b) : o.a = new jl(o.d), n_(o.a, "" + e); return o.a ? o.e.length == 0 ? o.a.a : o.a.a + ("" + o.e) : o.c } function l0n(t) { var e, n, r, s, o; if (t == null) return Pu; for (o = new ab(ao, "[", "]"), n = t, r = 0, s = n.length; r < s; ++r)e = n[r], o.a ? ni(o.a, o.b) : o.a = new jl(o.d), n_(o.a, "" + e); return o.a ? o.e.length == 0 ? o.a.a : o.a.a + ("" + o.e) : o.c } function yae(t, e) { var n, r, s, o, h, d; for (n = t.b.c.length, s = Fe(t.b, e); e * 2 + 1 < n && (r = (o = 2 * e + 1, h = o + 1, d = o, h < n && t.a.ue(Fe(t.b, h), Fe(t.b, o)) < 0 && (d = h), d), !(t.a.ue(s, Fe(t.b, r)) < 0));)gh(t.b, e, Fe(t.b, r)), e = r; gh(t.b, e, s) } function L4t(t, e, n, r, s, o) { var h, d, w, k, _; for (qt(t) === qt(n) && (t = t.slice(e, e + s), e = 0), w = n, d = e, k = e + s; d < k;)h = b.Math.min(d + 1e4, k), s = h - d, _ = t.slice(d, h), _.splice(0, 0, r, o ? s : 0), Array.prototype.splice.apply(w, _), d = h, r += s } function Ast(t, e, n) { var r, s; return r = n.d, s = n.e, t.g[r.d] <= t.i[e.d] && t.i[e.d] <= t.i[r.d] && t.g[s.d] <= t.i[e.d] && t.i[e.d] <= t.i[s.d] ? !(t.i[r.d] < t.i[s.d]) : t.i[r.d] < t.i[s.d] } function xae(t) { var e, n, r, s, o, h, d; if (r = t.a.c.length, r > 0) for (h = t.c.d, d = t.d.d, s = pd(ba(new je(d.a, d.b), h), 1 / (r + 1)), o = new je(h.a, h.b), n = new S(t.a); n.a < n.c.c.length;)e = u(Q(n), 559), e.d.a = o.a, e.d.b = o.b, $i(o, s) } function kae(t, e, n) { var r, s, o, h, d, w; for (w = ms, o = new S(Noe(t.b)); o.a < o.c.c.length;)for (s = u(Q(o), 168), d = new S(Noe(e.b)); d.a < d.c.c.length;)h = u(Q(d), 168), r = Qan(s.a, s.b, h.a, h.b, n), w = b.Math.min(w, r); return w } function Qs(t, e) { if (!e) throw et(new ET); if (t.j = e, !t.d) switch (t.j.g) { case 1: t.a.a = t.o.a / 2, t.a.b = 0; break; case 2: t.a.a = t.o.a, t.a.b = t.o.b / 2; break; case 3: t.a.a = t.o.a / 2, t.a.b = t.o.b; break; case 4: t.a.a = 0, t.a.b = t.o.b / 2 } } function h0n(t, e) { var n, r, s; return Et(e.g, 10) && u(e.g, 10).k == (Kn(), Fs) ? ms : (s = q6(e), s ? b.Math.max(0, t.b / 2 - .5) : (n = Z3(e), n ? (r = Xt(xe(ny(n, (Ce(), Nw)))), b.Math.max(0, r / 2 - .5)) : ms)) } function f0n(t, e) { var n, r, s; return Et(e.g, 10) && u(e.g, 10).k == (Kn(), Fs) ? ms : (s = q6(e), s ? b.Math.max(0, t.b / 2 - .5) : (n = Z3(e), n ? (r = Xt(xe(ny(n, (Ce(), Nw)))), b.Math.max(0, r / 2 - .5)) : ms)) } function d0n(t) { var e, n, r, s, o, h; for (h = G_(t.d, t.e), o = h.Kc(); o.Ob();)for (s = u(o.Pb(), 11), r = t.e == (we(), jn) ? s.e : s.g, n = new S(r); n.a < n.c.c.length;)e = u(Q(n), 17), !ro(e) && e.c.i.c != e.d.i.c && (mdn(t, e), ++t.f, ++t.c) } function Eae(t, e) { var n, r; if (e.dc()) return pn(), pn(), wo; for (r = new le, ue(r, pe($a)), n = 1; n < t.f; ++n)t.a == null && Tce(t), t.a[n] && ue(r, pe(n)); return r.c.length == 1 ? (pn(), pn(), wo) : (ue(r, pe(Di)), gwn(e, r)) } function g0n(t, e) { var n, r, s, o, h, d, w; h = e.c.i.k != (Kn(), Ws), w = h ? e.d : e.c, n = Lhn(e, w).i, s = u(or(t.k, w), 121), r = t.i[n.p].a, fWt(w.i) < (n.c ? Qo(n.c.a, n, 0) : -1) ? (o = s, d = r) : (o = r, d = s), Ef(df(ff(gf(hf(new Dh, 0), 4), o), d)) } function p0n(t, e, n) { var r, s, o, h, d, w; if (n) for (s = n.a.length, r = new Y2(s), d = (r.b - r.a) * r.c < 0 ? (Op(), M2) : new Bp(r); d.Ob();)h = u(d.Pb(), 19), w = nst(t, ix(Km(n, h.a))), w && (o = (!e.b && (e.b = new Tn(Cr, e, 4, 7)), e.b), Hr(o, w)) } function b0n(t, e, n) { var r, s, o, h, d, w; if (n) for (s = n.a.length, r = new Y2(s), d = (r.b - r.a) * r.c < 0 ? (Op(), M2) : new Bp(r); d.Ob();)h = u(d.Pb(), 19), w = nst(t, ix(Km(n, h.a))), w && (o = (!e.c && (e.c = new Tn(Cr, e, 5, 8)), e.c), Hr(o, w)) } function aI(t, e, n) { var r, s; r = e.a & t.f, e.b = t.b[r], t.b[r] = e, s = e.f & t.f, e.d = t.c[s], t.c[s] = e, n ? (e.e = n.e, e.e ? e.e.c = e : t.a = e, e.c = n.c, e.c ? e.c.e = e : t.e = e) : (e.e = t.e, e.c = null, t.e ? t.e.c = e : t.a = e, t.e = e), ++t.i, ++t.g } function Tae(t) { var e, n, r; if (e = t.Pb(), !t.Ob()) return e; for (r = Cc(ni(new Ap, "expected one element but was: <"), e), n = 0; n < 4 && t.Ob(); n++)Cc((r.a += ao, r), t.Pb()); throw t.Ob() && (r.a += ", ..."), r.a += ">", et(new Bn(r.a)) } function v0n(t, e) { var n; e.d ? e.d.b = e.b : t.a = e.b, e.b ? e.b.d = e.d : t.e = e.d, !e.e && !e.c ? (n = u(G6(t.b, e.a), 283), n.a = 0, ++t.c) : (n = u(or(t.b, e.a), 283), --n.a, e.e ? e.e.c = e.c : n.b = e.c, e.c ? e.c.e = e.e : n.c = e.e), --t.d } function w0n(t) { var e, n; return n = -t.a, e = ct(ot(Sh, 1), Ed, 25, 15, [43, 48, 48, 48, 48]), n < 0 && (e[0] = 45, n = -n), e[1] = e[1] + ((n / 60 | 0) / 10 | 0) & Ns, e[2] = e[2] + (n / 60 | 0) % 10 & Ns, e[3] = e[3] + (n % 60 / 10 | 0) & Ns, e[4] = e[4] + n % 10 & Ns, Fh(e, 0, e.length) } function _ae(t, e, n) { var r, s; for (r = e.d, s = n.d; r.a - s.a == 0 && r.b - s.b == 0;)r.a += wl(t, 26) * EC + wl(t, 27) * TC - .5, r.b += wl(t, 26) * EC + wl(t, 27) * TC - .5, s.a += wl(t, 26) * EC + wl(t, 27) * TC - .5, s.b += wl(t, 26) * EC + wl(t, 27) * TC - .5 } function M4t(t) { var e, n, r, s; for (t.g = new Y_(u(zr(co), 290)), r = 0, n = (we(), Fn), e = 0; e < t.j.c.length; e++)s = u(Fe(t.j, e), 11), s.j != n && (r != e && O6(t.g, n, new _a(pe(r), pe(e))), n = s.j, r = e); O6(t.g, n, new _a(pe(r), pe(e))) } function m0n(t) { var e, n, r, s, o, h, d; for (r = 0, n = new S(t.b); n.a < n.c.c.length;)for (e = u(Q(n), 29), o = new S(e.a); o.a < o.c.c.length;)for (s = u(Q(o), 10), s.p = r++, d = new S(s.j); d.a < d.c.c.length;)h = u(Q(d), 11), h.p = r++ } function Cae(t, e, n, r, s) { var o, h, d, w, k; if (e) for (d = e.Kc(); d.Ob();)for (h = u(d.Pb(), 10), k = m5t(h, (yo(), lu), n).Kc(); k.Ob();)w = u(k.Pb(), 11), o = u(gc(qo(s.f, w)), 112), o || (o = new AD(t.d), r.c[r.c.length] = o, cae(o, w, s)) } function D4t(t, e) { var n, r, s; if (s = E4((Yu(), Pa), t.Tg(), e), s) go(), u(s, 66).Oj() || (s = z6(Bo(Pa, s))), r = (n = t.Yg(s), u(n >= 0 ? t._g(n, !0, !0) : ow(t, s, !0), 153)), u(r, 215).ol(e); else throw et(new Bn(c2 + e.ne() + zC)) } function I4t(t) { var e, n; return t > -0x800000000000 && t < 0x800000000000 ? t == 0 ? 0 : (e = t < 0, e && (t = -t), n = Ms(b.Math.floor(b.Math.log(t) / .6931471805599453)), (!e || t != b.Math.pow(2, n)) && ++n, n) : Gee(Ou(t)) } function y0n(t) { var e, n, r, s, o, h, d; for (o = new S0, n = new S(t); n.a < n.c.c.length;)e = u(Q(n), 129), h = e.a, d = e.b, !(o.a._b(h) || o.a._b(d)) && (s = h, r = d, h.e.b + h.j.b > 2 && d.e.b + d.j.b <= 2 && (s = d, r = h), o.a.zc(s, o), s.q = r); return o } function Sae(t, e) { var n, r, s; return r = new q0(t), Ho(r, e), Jt(r, (ie(), PV), e), Jt(r, (Ce(), xs), (xa(), eu)), Jt(r, Pd, (t0(), CG)), _0(r, (Kn(), Fs)), n = new zc, ac(n, r), Qs(n, (we(), jn)), s = new zc, ac(s, r), Qs(s, Wn), r } function Aae(t) { switch (t.g) { case 0: return new Htt((Yv(), IO)); case 1: return new TB; case 2: return new zJ; default: throw et(new Bn("No implementation is available for the crossing minimizer " + (t.f != null ? t.f : "" + t.g))) } } function Lae(t, e) { var n, r, s, o, h; for (t.c[e.p] = !0, ue(t.a, e), h = new S(e.j); h.a < h.c.c.length;)for (o = u(Q(h), 11), r = new P1(o.b); sc(r.a) || sc(r.b);)n = u(sc(r.a) ? Q(r.a) : Q(r.b), 17), s = Oun(o, n).i, t.c[s.p] || Lae(t, s) } function Mae(t) { var e, n, r, s, o, h, d; for (h = 0, n = new lr((!t.a && (t.a = new he(bs, t, 10, 11)), t.a)); n.e != n.i.gc();)e = u(kr(n), 33), d = e.g, s = e.f, r = b.Math.sqrt(d * d + s * s), h = b.Math.max(r, h), o = Mae(e), h = b.Math.max(o, h); return h } function cl() { cl = J, E2 = new JT("OUTSIDE", 0), J0 = new JT("INSIDE", 1), JO = new JT("NEXT_TO_PORT_IF_POSSIBLE", 2), WS = new JT("ALWAYS_SAME_SIDE", 3), US = new JT("ALWAYS_OTHER_SAME_SIDE", 4), Hx = new JT("SPACE_EFFICIENT", 5) } function Dae(t, e, n) { var r, s, o, h, d, w; return r = Znn(t, (s = (xv(), o = new vpt, o), n && s5t(s, n), s), e), F_(r, I0(e, Dd)), Vz(e, r), Bgn(e, r), A4t(e, r), h = e, d = Hv(h, "ports"), w = new NVt(t, r), Epn(w.a, w.b, d), ait(t, e, r), Uan(t, e, r), r } function x0n(t) { var e, n; return n = -t.a, e = ct(ot(Sh, 1), Ed, 25, 15, [43, 48, 48, 58, 48, 48]), n < 0 && (e[0] = 45, n = -n), e[1] = e[1] + ((n / 60 | 0) / 10 | 0) & Ns, e[2] = e[2] + (n / 60 | 0) % 10 & Ns, e[4] = e[4] + (n % 60 / 10 | 0) & Ns, e[5] = e[5] + n % 10 & Ns, Fh(e, 0, e.length) } function k0n(t) { var e; return e = ct(ot(Sh, 1), Ed, 25, 15, [71, 77, 84, 45, 48, 48, 58, 48, 48]), t <= 0 && (e[3] = 43, t = -t), e[4] = e[4] + ((t / 60 | 0) / 10 | 0) & Ns, e[5] = e[5] + (t / 60 | 0) % 10 & Ns, e[7] = e[7] + (t % 60 / 10 | 0) & Ns, e[8] = e[8] + t % 10 & Ns, Fh(e, 0, e.length) } function E0n(t) { var e, n, r, s, o; if (t == null) return Pu; for (o = new ab(ao, "[", "]"), n = t, r = 0, s = n.length; r < s; ++r)e = n[r], o.a ? ni(o.a, o.b) : o.a = new jl(o.d), n_(o.a, "" + v_(e)); return o.a ? o.e.length == 0 ? o.a.a : o.a.a + ("" + o.e) : o.c } function O4t(t, e) { var n, r, s; for (s = Di, r = new S(o4(e)); r.a < r.c.c.length;)n = u(Q(r), 213), n.f && !t.c[n.c] && (t.c[n.c] = !0, s = b.Math.min(s, O4t(t, vz(n, e)))); return t.i[e.d] = t.j, t.g[e.d] = b.Math.min(s, t.j++), t.g[e.d] } function Iae(t, e) { var n, r, s; for (s = u(u(ji(t.r, e), 21), 84).Kc(); s.Ob();)r = u(s.Pb(), 111), r.e.b = (n = r.b, n.Xe((Ti(), kl)) ? n.Hf() == (we(), Fn) ? -n.rf().b - Xt(xe(n.We(kl))) : Xt(xe(n.We(kl))) : n.Hf() == (we(), Fn) ? -n.rf().b : 0) } function T0n(t) { var e, n, r, s, o, h, d; for (n = $2t(t.e), o = pd(FM(pc(j2t(t.e)), t.d * t.a, t.c * t.b), -.5), e = n.a - o.a, s = n.b - o.b, d = 0; d < t.c; d++) { for (r = e, h = 0; h < t.d; h++)Wcn(t.e, new fh(r, s, t.a, t.b)) && oq(t, h, d, !1, !0), r += t.a; s += t.b } } function _0n(t) { var e, n, r; if (Re(Be(ze(t, (Ti(), UO))))) { for (r = new le, n = new pr(mr(H0(t).a.Kc(), new H)); Zr(n);)e = u(qr(n), 79), aw(e) && Re(Be(ze(e, Wht))) && (r.c[r.c.length] = e); return r } else return pn(), pn(), wo } function ix(t) { var e, n; if (n = !1, Et(t, 204)) return n = !0, u(t, 204).a; if (!n && Et(t, 258) && (e = u(t, 258).a % 1 == 0, e)) return n = !0, pe(wKe(u(t, 258).a)); throw et(new fd("Id must be a string or an integer: '" + t + "'.")) } function C0n(t, e) { var n, r, s, o, h, d; for (o = null, s = new HKt((!t.a && (t.a = new Ltt(t)), t.a)); R4t(s);)if (n = u(Qz(s), 56), r = (h = n.Tg(), d = (k4(h), h.o), !d || !n.mh(d) ? null : qbt(eit(d), n.ah(d))), r != null && ln(r, e)) { o = n; break } return o } function Oae(t, e, n) { var r, s, o, h, d; if (Gl(n, "occurrences"), n == 0) return d = u(ty(j6(t.a), e), 14), d ? d.gc() : 0; if (h = u(ty(j6(t.a), e), 14), !h) return 0; if (o = h.gc(), n >= o) h.$b(); else for (s = h.Kc(), r = 0; r < n; r++)s.Pb(), s.Qb(); return o } function S0n(t, e, n) { var r, s, o, h; return Gl(n, "oldCount"), Gl(0, "newCount"), r = u(ty(j6(t.a), e), 14), (r ? r.gc() : 0) == n ? (Gl(0, "count"), s = (o = u(ty(j6(t.a), e), 14), o ? o.gc() : 0), h = -s, h > 0 ? Mpt() : h < 0 && Oae(t, e, -h), !0) : !1 } function oI(t) { var e, n, r, s, o, h, d; if (d = 0, t.b == 0) { for (h = pie(t, !0), e = 0, r = h, s = 0, o = r.length; s < o; ++s)n = r[s], n > 0 && (d += n, ++e); e > 1 && (d += t.c * (e - 1)) } else d = cqt(mee(Vj(Qi(Ant(t.a), new Ya), new Ea))); return d > 0 ? d + t.n.d + t.n.a : 0 } function cI(t) { var e, n, r, s, o, h, d; if (d = 0, t.b == 0) d = cqt(mee(Vj(Qi(Ant(t.a), new ss), new Aa))); else { for (h = bie(t, !0), e = 0, r = h, s = 0, o = r.length; s < o; ++s)n = r[s], n > 0 && (d += n, ++e); e > 1 && (d += t.c * (e - 1)) } return d > 0 ? d + t.n.b + t.n.c : 0 } function A0n(t, e) { var n, r, s, o; for (o = u(Ao(t.b, e), 124), n = o.a, s = u(u(ji(t.r, e), 21), 84).Kc(); s.Ob();)r = u(s.Pb(), 111), r.c && (n.a = b.Math.max(n.a, vvt(r.c))); if (n.a > 0) switch (e.g) { case 2: o.n.c = t.s; break; case 4: o.n.b = t.s } } function L0n(t, e) { var n, r, s; return n = u(K(e, (i1(), t9)), 19).a - u(K(t, t9), 19).a, n == 0 ? (r = ba(pc(u(K(t, (Up(), fO)), 8)), u(K(t, iS), 8)), s = ba(pc(u(K(e, fO), 8)), u(K(e, iS), 8)), Vs(r.a * r.b, s.a * s.b)) : n } function M0n(t, e) { var n, r, s; return n = u(K(e, (cw(), gG)), 19).a - u(K(t, gG), 19).a, n == 0 ? (r = ba(pc(u(K(t, (Sc(), PO)), 8)), u(K(t, DS), 8)), s = ba(pc(u(K(e, PO), 8)), u(K(e, DS), 8)), Vs(r.a * r.b, s.a * s.b)) : n } function Nae(t) { var e, n; return n = new Ap, n.a += "e_", e = jan(t), e != null && (n.a += "" + e), t.c && t.d && (ni((n.a += " ", n), Rz(t.c)), ni(Cc((n.a += "[", n), t.c.i), "]"), ni((n.a += Eot, n), Rz(t.d)), ni(Cc((n.a += "[", n), t.d.i), "]")), n.a } function Pae(t) { switch (t.g) { case 0: return new UL; case 1: return new jJ; case 2: return new RJ; case 3: return new _B; default: throw et(new Bn("No implementation is available for the layout phase " + (t.f != null ? t.f : "" + t.g))) } } function N4t(t, e, n, r, s) { var o; switch (o = 0, s.g) { case 1: o = b.Math.max(0, e.b + t.b - (n.b + r)); break; case 3: o = b.Math.max(0, -t.b - r); break; case 2: o = b.Math.max(0, -t.a - r); break; case 4: o = b.Math.max(0, e.a + t.a - (n.a + r)) }return o } function D0n(t, e, n) { var r, s, o, h, d; if (n) for (s = n.a.length, r = new Y2(s), d = (r.b - r.a) * r.c < 0 ? (Op(), M2) : new Bp(r); d.Ob();)h = u(d.Pb(), 19), o = C8(n, h.a), Ykt in o.a || Oct in o.a ? qbn(t, o, e) : K3n(t, o, e), pYe(u(or(t.b, o7(o)), 79)) } function P4t(t) { var e, n; switch (t.b) { case -1: return !0; case 0: return n = t.t, n > 1 || n == -1 ? (t.b = -1, !0) : (e = Bh(t), e && (go(), e.Cj() == Dde) ? (t.b = -1, !0) : (t.b = 1, !1)); default: case 1: return !1 } } function I0n(t, e) { var n, r, s, o, h; for (r = (!e.s && (e.s = new he(ju, e, 21, 17)), e.s), o = null, s = 0, h = r.i; s < h; ++s)switch (n = u(St(r, s), 170), Bv(Bo(t, n))) { case 2: case 3: !o && (o = new le), o.c[o.c.length] = n }return o || (pn(), pn(), wo) } function F4t(t, e) { var n, r, s, o; if (Si(t), t.c != 0 || t.a != 123) throw et(new Wr(Jr((Ur(), J1e)))); if (o = e == 112, r = t.d, n = l8(t.i, 125, r), n < 0) throw et(new Wr(Jr((Ur(), tde)))); return s = $l(t.i, r, n), t.d = n + 1, xJt(s, o, (t.e & 512) == 512) } function O0n(t) { var e; if (e = u(K(t, (Ce(), vS)), 314), e == (K6(), Cx)) throw et(new MT("The hierarchy aware processor " + e + " in child node " + t + " is only allowed if the root node specifies the same hierarchical processor.")) } function N0n(t, e) { bf(); var n, r, s, o, h, d; for (n = null, h = e.Kc(); h.Ob();)o = u(h.Pb(), 128), !o.o && (r = XKe(o.a), s = BZe(o.a), d = new pC(r, s, null, u(o.d.a.ec().Kc().Pb(), 17)), ue(d.c, o.a), t.c[t.c.length] = d, n && ue(n.d, d), n = d) } function P0n(t, e) { var n, r, s; if (!e) Grt(t, null), $8(t, null); else if (e.i & 4) for (r = "[]", n = e.c; ; n = n.c) { if (!(n.i & 4)) { s = Spt((A0(n), n.o + r)), Grt(t, s), $8(t, s); break } r += "[]" } else s = Spt((A0(e), e.o)), Grt(t, s), $8(t, s); t.yk(e) } function oC(t, e, n, r, s) { var o, h, d, w; return w = Xet(t, u(s, 56)), qt(w) !== qt(s) ? (d = u(t.g[n], 72), o = Zd(e, w), a_(t, n, pst(t, n, o)), Ll(t.e) && (h = Hp(t, 9, o.ak(), s, w, r, !1), Q3t(h, new P0(t.e, 9, t.c, d, o, r, !1)), Nrt(h)), w) : s } function F0n(t, e, n) { var r, s, o, h, d, w; for (r = u(ji(t.c, e), 15), s = u(ji(t.c, n), 15), o = r.Zc(r.gc()), h = s.Zc(s.gc()); o.Sb() && h.Sb();)if (d = u(o.Ub(), 19), w = u(h.Ub(), 19), d != w) return Tu(d.a, w.a); return !o.Ob() && !h.Ob() ? 0 : o.Ob() ? 1 : -1 } function Fae(t, e) { var n, r, s; try { return s = Snn(t.a, e), s } catch (o) { if (o = os(o), Et(o, 32)) { try { if (r = Kl(e, $a, Di), n = Yf(t.a), r >= 0 && r < n.length) return n[r] } catch (h) { if (h = os(h), !Et(h, 127)) throw et(h) } return null } else throw et(o) } } function Lst(t, e) { var n, r, s; if (s = E4((Yu(), Pa), t.Tg(), e), s) return go(), u(s, 66).Oj() || (s = z6(Bo(Pa, s))), r = (n = t.Yg(s), u(n >= 0 ? t._g(n, !0, !0) : ow(t, s, !0), 153)), u(r, 215).ll(e); throw et(new Bn(c2 + e.ne() + Tct)) } function B0n() { Qpt(); var t; return b4e ? u(w7((Ip(), tf), Hh), 1939) : (bi(Ab, new Vf), wyn(), t = u(Et(Uc((Ip(), tf), Hh), 547) ? Uc(tf, Hh) : new xYt, 547), b4e = !0, g4n(t), m4n(t), Pi((Xpt(), IAt), t, new RZ), Po(tf, Hh, t), t) } function R0n(t, e) { var n, r, s, o; t.j = -1, Ll(t.e) ? (n = t.i, o = t.i != 0, cD(t, e), r = new P0(t.e, 3, t.c, null, e, n, o), s = e.Qk(t.e, t.c, null), s = dse(t, e, s), s ? (s.Ei(r), s.Fi()) : Oi(t.e, r)) : (cD(t, e), s = e.Qk(t.e, t.c, null), s && s.Fi()) } function Kz(t, e) { var n, r, s; if (s = 0, r = e[0], r >= t.length) return -1; for (n = (Yr(r, t.length), t.charCodeAt(r)); n >= 48 && n <= 57 && (s = s * 10 + (n - 48), ++r, !(r >= t.length));)n = (Yr(r, t.length), t.charCodeAt(r)); return r > e[0] ? e[0] = r : s = -1, s } function j0n(t) { var e, n, r, s, o; return s = u(t.a, 19).a, o = u(t.b, 19).a, n = s, r = o, e = b.Math.max(b.Math.abs(s), b.Math.abs(o)), s <= 0 && s == o ? (n = 0, r = o - 1) : s == -e && o != e ? (n = o, r = s, o >= 0 && ++n) : (n = -o, r = s), new _a(pe(n), pe(r)) } function $0n(t, e, n, r) { var s, o, h, d, w, k; for (s = 0; s < e.o; s++)for (o = s - e.j + n, h = 0; h < e.p; h++)if (d = h - e.k + r, w = o, k = d, w += t.j, k += t.k, w >= 0 && k >= 0 && w < t.o && k < t.p && (!kie(e, s, h) && mie(t, o, d) || l4(e, s, h) && !Bln(t, o, d))) return !0; return !1 } function z0n(t, e, n) { var r, s, o, h, d; h = t.c, d = t.d, o = cc(ct(ot(sa, 1), te, 8, 0, [h.i.n, h.n, h.a])).b, s = (o + cc(ct(ot(sa, 1), te, 8, 0, [d.i.n, d.n, d.a])).b) / 2, r = null, h.j == (we(), Wn) ? r = new je(e + h.i.c.c.a + n, s) : r = new je(e - n, s), h8(t.a, 0, r) } function aw(t) { var e, n, r, s; for (e = null, r = jp(B1(ct(ot(G1, 1), De, 20, 0, [(!t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b), (!t.c && (t.c = new Tn(Cr, t, 5, 8)), t.c)]))); Zr(r);)if (n = u(qr(r), 82), s = Vo(n), !e) e = s; else if (e != s) return !1; return !0 } function Mst(t, e, n) { var r; if (++t.j, e >= t.i) throw et(new Oo(Pct + e + _b + t.i)); if (n >= t.i) throw et(new Oo(Fct + n + _b + t.i)); return r = t.g[n], e != n && (e < n ? qc(t.g, e, t.g, e + 1, n - e) : qc(t.g, n + 1, t.g, n, e - n), ds(t.g, e, r), t.ei(e, r, n), t.ci()), r } function cn(t, e, n) { var r; if (r = u(t.c.xc(e), 14), r) return r.Fc(n) ? (++t.d, !0) : !1; if (r = t.ic(e), r.Fc(n)) return ++t.d, t.c.zc(e, r), !0; throw et(new $wt("New Collection violated the Collection spec")) } function uI(t) { var e, n, r; return t < 0 ? 0 : t == 0 ? 32 : (r = -(t >> 16), e = r >> 16 & 16, n = 16 - e, t = t >> e, r = t - 256, e = r >> 16 & 8, n += e, t <<= e, r = t - wy, e = r >> 16 & 4, n += e, t <<= e, r = t - kd, e = r >> 16 & 2, n += e, t <<= e, r = t >> 14, e = r & ~(r >> 1), n + 2 - e) } function q0n(t) { R6(); var e, n, r, s; for (WH = new le, Mut = new Rr, Lut = new le, e = (!t.a && (t.a = new he(bs, t, 10, 11)), t.a), y3n(e), s = new lr(e); s.e != s.i.gc();)r = u(kr(s), 33), Qo(WH, r, 0) == -1 && (n = new le, ue(Lut, n), Wre(r, n)); return Lut } function H0n(t, e, n) { var r, s, o, h; t.a = n.b.d, Et(e, 352) ? (s = m4(u(e, 79), !1, !1), o = iI(s), r = new Fa(t), Oa(o, r), mI(o, s), e.We((Ti(), i5)) != null && Oa(u(e.We(i5), 74), r)) : (h = u(e, 470), h.Hg(h.Dg() + t.a.a), h.Ig(h.Eg() + t.a.b)) } function Bae(t, e) { var n, r, s, o, h, d, w, k; for (k = Xt(xe(K(e, (Ce(), yS)))), w = t[0].n.a + t[0].o.a + t[0].d.c + k, d = 1; d < t.length; d++)r = t[d].n, s = t[d].o, n = t[d].d, o = r.a - n.b - w, o < 0 && (r.a -= o), h = e.f, h.a = b.Math.max(h.a, r.a + s.a), w = r.a + s.a + n.c + k } function V0n(t, e) { var n, r, s, o, h, d; return r = u(u(or(t.g, e.a), 46).a, 65), s = u(u(or(t.g, e.b), 46).a, 65), o = r.b, h = s.b, n = cmn(o, h), n >= 0 ? n : (d = k_(ba(new je(h.c + h.b / 2, h.d + h.a / 2), new je(o.c + o.b / 2, o.d + o.a / 2))), -(sue(o, h) - 1) * d) } function G0n(t, e, n) { var r; Ts(new kn(null, (!n.a && (n.a = new he(fs, n, 6, 6)), new Cn(n.a, 16))), new xVt(t, e)), Ts(new kn(null, (!n.n && (n.n = new he(ec, n, 1, 7)), new Cn(n.n, 16))), new kVt(t, e)), r = u(ze(n, (Ti(), i5)), 74), r && $mt(r, t, e) } function ow(t, e, n) { var r, s, o; if (o = E4((Yu(), Pa), t.Tg(), e), o) return go(), u(o, 66).Oj() || (o = z6(Bo(Pa, o))), s = (r = t.Yg(o), u(r >= 0 ? t._g(r, !0, !0) : ow(t, o, !0), 153)), u(s, 215).hl(e, n); throw et(new Bn(c2 + e.ne() + Tct)) } function B4t(t, e, n, r) { var s, o, h, d, w; if (s = t.d[e], s) { if (o = s.g, w = s.i, r != null) { for (d = 0; d < w; ++d)if (h = u(o[d], 133), h.Sh() == n && Ni(r, h.cd())) return h } else for (d = 0; d < w; ++d)if (h = u(o[d], 133), qt(h.cd()) === qt(r)) return h } return null } function lI(t, e) { var n; if (e < 0) throw et(new aR("Negative exponent")); if (e == 0) return PH; if (e == 1 || Gyt(t, PH) || Gyt(t, Q7)) return t; if (!ooe(t, 0)) { for (n = 1; !ooe(t, n);)++n; return J3(sun(n * e), lI(Hwt(t, n), e)) } return g1n(t, e) } function U0n(t, e) { var n, r, s; if (qt(t) === qt(e)) return !0; if (t == null || e == null || t.length != e.length) return !1; for (n = 0; n < t.length; ++n)if (r = t[n], s = e[n], !(qt(r) === qt(s) || r != null && Ni(r, s))) return !1; return !0 } function Rae(t) { Kpt(); var e, n, r; for (this.b = Ipe, this.c = (xo(), h0), this.f = (AHt(), Dpe), this.a = t, Fpt(this, new Ec), tq(this), r = new S(t.b); r.a < r.c.c.length;)n = u(Q(r), 81), n.d || (e = new Rit(ct(ot(But, 1), De, 81, 0, [n])), ue(t.a, e)) } function W0n(t, e, n) { var r, s, o, h, d, w; if (!t || t.c.length == 0) return null; for (o = new lXt(e, !n), s = new S(t); s.a < s.c.c.length;)r = u(Q(s), 70), v4t(o, (PT(), new no(r))); return h = o.i, h.a = (w = o.n, o.e.b + w.d + w.a), h.b = (d = o.n, o.e.a + d.b + d.c), o } function jae(t) { var e, n, r, s, o, h, d; for (d = iD(t.a), P2t(d, new lf), n = null, s = d, o = 0, h = s.length; o < h && (r = s[o], r.k == (Kn(), Fs)); ++o)e = u(K(r, (ie(), yc)), 61), !(e != (we(), jn) && e != Wn) && (n && u(K(n, Mx), 15).Fc(r), n = r) } function K0n(t, e, n) { var r, s, o, h, d, w, k; w = (An(e, t.c.length), u(t.c[e], 329)), Sg(t, e), w.b / 2 >= n && (r = e, k = (w.c + w.a) / 2, h = k - n, w.c <= k - n && (s = new cnt(w.c, h), Rm(t, r++, s)), d = k + n, d <= w.a && (o = new cnt(d, w.a), Vm(r, t.c.length), zT(t.c, r, o))) } function R4t(t) { var e; if (!t.c && t.g == null) t.d = t.si(t.f), Hr(t, t.d), e = t.d; else { if (t.g == null) return !0; if (t.i == 0) return !1; e = u(t.g[t.i - 1], 47) } return e == t.b && null.km >= null.jm() ? (Qz(t), R4t(t)) : e.Ob() } function Y0n(t, e, n) { var r, s, o, h, d; if (d = n, !d && (d = pvt(new Yk, 0)), Ar(d, tfe, 1), sle(t.c, e), h = uyn(t.a, e), h.gc() == 1) zue(u(h.Xb(0), 37), d); else for (o = 1 / h.gc(), s = h.Kc(); s.Ob();)r = u(s.Pb(), 37), zue(r, Kc(d, o)); rWe(t.a, h, e), ubn(e), br(d) } function $ae(t) { if (this.a = t, t.c.i.k == (Kn(), Fs)) this.c = t.c, this.d = u(K(t.c.i, (ie(), yc)), 61); else if (t.d.i.k == Fs) this.c = t.d, this.d = u(K(t.d.i, (ie(), yc)), 61); else throw et(new Bn("Edge " + t + " is not an external edge.")) } function zae(t, e) { var n, r, s; s = t.b, t.b = e, t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 3, s, t.b)), e ? e != t && (su(t, e.zb), qrt(t, e.d), n = (r = e.c, r ?? e.zb), Vrt(t, n == null || ln(n, e.zb) ? null : n)) : (su(t, null), qrt(t, 0), Vrt(t, null)) } function qae(t) { var e, n; if (t.f) { for (; t.n < t.o;) { if (e = u(t.j ? t.j.pi(t.n) : t.k.Xb(t.n), 72), n = e.ak(), Et(n, 99) && u(n, 18).Bb & Ac && (!t.e || n.Gj() != D9 || n.aj() != 0) && e.dd() != null) return !0; ++t.n } return !1 } else return t.n < t.o } function Hae(t, e) { var n; this.e = (qm(), zr(t), qm(), Xyt(t)), this.c = (zr(e), Xyt(e)), ebt(this.e.Hd().dc() == this.c.Hd().dc()), this.d = ure(this.e), this.b = ure(this.c), n = K2(nr, [te, De], [5, 1], 5, [this.e.Hd().gc(), this.c.Hd().gc()], 2), this.a = n, Rsn(this) } function Vae(t) { !uut && (uut = L3n()); var e = t.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g, function (n) { return Fen(n) }); return '"' + e + '"' } function Gae(t) { cwt(); var e, n; for (this.b = Z0e, this.c = tge, this.g = (SHt(), Q0e), this.d = (xo(), h0), this.a = t, o5t(this), n = new S(t.b); n.a < n.c.c.length;)e = u(Q(n), 57), !e.a && lUt(qte(new hpt, ct(ot(zH, 1), De, 57, 0, [e])), t), e.e = new Zj(e.d) } function X0n(t) { var e, n, r, s, o, h; for (s = t.e.c.length, r = Ot(Eh, my, 15, s, 0, 1), h = new S(t.e); h.a < h.c.c.length;)o = u(Q(h), 144), r[o.b] = new hs; for (n = new S(t.c); n.a < n.c.c.length;)e = u(Q(n), 282), r[e.c.b].Fc(e), r[e.d.b].Fc(e); return r } function Q0n(t) { var e, n, r, s, o, h, d; for (d = Ud(t.c.length), s = new S(t); s.a < s.c.c.length;) { for (r = u(Q(s), 10), h = new na, o = Gs(r), n = new pr(mr(o.a.Kc(), new H)); Zr(n);)e = u(qr(n), 17), e.c.i == e.d.i || Ys(h, e.d.i); d.c[d.c.length] = h } return d } function Z0n(t, e) { var n, r, s, o, h; if (n = u(Dn(t.a, 4), 126), h = n == null ? 0 : n.length, e >= h) throw et(new Bm(e, h)); return s = n[e], h == 1 ? r = null : (r = Ot(fft, zct, 415, h - 1, 0, 1), qc(n, 0, r, 0, e), o = h - e - 1, o > 0 && qc(n, e + 1, r, e, o)), c7(t, r), hae(t, e, s), s } function sx() { sx = J, Ux = u(St(Ut((jpt(), Mc).qb), 6), 34), Gx = u(St(Ut(Mc.qb), 3), 34), wft = u(St(Ut(Mc.qb), 4), 34), mft = u(St(Ut(Mc.qb), 5), 18), qz(Ux), qz(Gx), qz(wft), qz(mft), y4e = new Al(ct(ot(ju, 1), P4, 170, 0, [Ux, Gx])) } function Uae(t, e) { var n; this.d = new TT, this.b = e, this.e = new No(e.qf()), n = t.u.Hc((cl(), JO)), t.u.Hc(J0) ? t.D ? this.a = n && !e.If() : this.a = !0 : t.u.Hc(E2) ? n ? this.a = !(e.zf().Kc().Ob() || e.Bf().Kc().Ob()) : this.a = !1 : this.a = !1 } function Wae(t, e) { var n, r, s, o; for (n = t.o.a, o = u(u(ji(t.r, e), 21), 84).Kc(); o.Ob();)s = u(o.Pb(), 111), s.e.a = (r = s.b, r.Xe((Ti(), kl)) ? r.Hf() == (we(), jn) ? -r.rf().a - Xt(xe(r.We(kl))) : n + Xt(xe(r.We(kl))) : r.Hf() == (we(), jn) ? -r.rf().a : n) } function Kae(t, e) { var n, r, s, o; n = u(K(t, (Ce(), Jl)), 103), o = u(ze(e, v9), 61), s = u(K(t, xs), 98), s != (xa(), Q1) && s != k2 ? o == (we(), fc) && (o = F5t(e, n), o == fc && (o = Z6(n))) : (r = $ue(e), r > 0 ? o = Z6(n) : o = qD(Z6(n))), Mo(e, v9, o) } function J0n(t, e) { var n, r, s, o, h; for (h = t.j, e.a != e.b && ua(h, new W5), s = h.c.length / 2 | 0, r = 0; r < s; r++)o = (An(r, h.c.length), u(h.c[r], 113)), o.c && Qs(o.d, e.a); for (n = s; n < h.c.length; n++)o = (An(n, h.c.length), u(h.c[n], 113)), o.c && Qs(o.d, e.b) } function tgn(t, e, n) { var r, s, o; return r = t.c[e.c.p][e.p], s = t.c[n.c.p][n.p], r.a != null && s.a != null ? (o = Ent(r.a, s.a), o < 0 ? bI(t, e, n) : o > 0 && bI(t, n, e), o) : r.a != null ? (bI(t, e, n), -1) : s.a != null ? (bI(t, n, e), 1) : 0 } function Yae(t, e) { var n, r, s, o; t.ej() ? (n = t.Vi(), o = t.fj(), ++t.j, t.Hi(n, t.oi(n, e)), r = t.Zi(3, null, e, n, o), t.bj() ? (s = t.cj(e, null), s ? (s.Ei(r), s.Fi()) : t.$i(r)) : t.$i(r)) : (hYt(t, e), t.bj() && (s = t.cj(e, null), s && s.Fi())) } function Yz(t, e) { var n, r, s, o, h; for (h = gu(t.e.Tg(), e), s = new J5, n = u(t.g, 119), o = t.i; --o >= 0;)r = n[o], h.rl(r.ak()) && Hr(s, r); !Rle(t, s) && Ll(t.e) && Kk(t, e.$j() ? Hp(t, 6, e, (pn(), wo), null, -1, !1) : Hp(t, e.Kj() ? 2 : 1, e, null, null, -1, !1)) } function b7() { b7 = J; var t, e; for (Ex = Ot(B4, te, 91, 32, 0, 1), eS = Ot(B4, te, 91, 32, 0, 1), t = 1, e = 0; e <= 18; e++)Ex[e] = WD(t), eS[e] = WD(L0(t, e)), t = ja(t, 5); for (; e < eS.length; e++)Ex[e] = J3(Ex[e - 1], Ex[1]), eS[e] = J3(eS[e - 1], (e2(), put)) } function egn(t, e) { var n, r, s, o, h; return t.a == (g7(), lS) ? !0 : (o = e.a.c, n = e.a.c + e.a.b, !(e.j && (r = e.A, h = r.c.c.a - r.o.a / 2, s = o - (r.n.a + r.o.a), s > h) || e.q && (r = e.C, h = r.c.c.a - r.o.a / 2, s = r.n.a - n, s > h))) } function ngn(t, e) { var n; Ar(e, "Partition preprocessing", 1), n = u(Hl(Qi(oc(Qi(new kn(null, new Cn(t.a, 16)), new AY), new QP), new V5), nb(new Ee, new ne, new tr, ct(ot(xl, 1), se, 132, 0, [(j1(), Zl)]))), 15), Ts(n.Oc(), new ZP), br(e) } function Xae(t) { rrt(); var e, n, r, s, o, h, d; for (n = new tb, s = new S(t.e.b); s.a < s.c.c.length;)for (r = u(Q(s), 29), h = new S(r.a); h.a < h.c.c.length;)o = u(Q(h), 10), d = t.g[o.p], e = u(Vv(n, d), 15), e || (e = new le, db(n, d, e)), e.Fc(o); return n } function rgn(t, e) { var n, r, s, o, h; for (s = e.b.b, t.a = Ot(Eh, my, 15, s, 0, 1), t.b = Ot(Tl, o0, 25, s, 16, 1), h = gi(e.b, 0); h.b != h.d.c;)o = u(di(h), 86), t.a[o.g] = new hs; for (r = gi(e.a, 0); r.b != r.d.c;)n = u(di(r), 188), t.a[n.b.g].Fc(n), t.a[n.c.g].Fc(n) } function Qae(t) { var e; return t.Db & 64 ? kf(t) : (e = new Ih(kf(t)), e.a += " (startX: ", R3(e, t.j), e.a += ", startY: ", R3(e, t.k), e.a += ", endX: ", R3(e, t.b), e.a += ", endY: ", R3(e, t.c), e.a += ", identifier: ", So(e, t.d), e.a += ")", e.a) } function j4t(t) { var e; return t.Db & 64 ? V_(t) : (e = new Ih(V_(t)), e.a += " (ordered: ", xg(e, (t.Bb & 256) != 0), e.a += ", unique: ", xg(e, (t.Bb & 512) != 0), e.a += ", lowerBound: ", Qtt(e, t.s), e.a += ", upperBound: ", Qtt(e, t.t), e.a += ")", e.a) } function Zae(t, e, n, r, s, o, h, d) { var w; return Et(t.Cb, 88) && uy(gl(u(t.Cb, 88)), 4), su(t, n), t.f = r, r7(t, s), s7(t, o), n7(t, h), i7(t, !1), Ng(t, !0), a7(t, d), Og(t, !0), Mg(t, 0), t.b = 0, Zm(t, 1), w = z1(t, e, null), w && w.Fi(), Cit(t, !1), t } function Jae(t, e) { var n, r, s, o; return n = u(Uc(t.a, e), 512), n || (r = new mrt(e), s = (b$(), U1 ? null : r.c), o = $l(s, 0, b.Math.max(0, ij(s, Nu(46)))), AXe(r, Jae(t, o)), (U1 ? null : r.c).length == 0 && FUt(r, new un), Po(t.a, U1 ? null : r.c, r), r) } function ign(t, e) { var n; t.b = e, t.g = new le, n = ugn(t.b), t.e = n, t.f = n, t.c = Re(Be(K(t.b, (jz(), v7t)))), t.a = xe(K(t.b, (Ti(), jx))), t.a == null && (t.a = 1), Xt(t.a) > 1 ? t.e *= Xt(t.a) : t.f /= Xt(t.a), Bon(t), qun(t), Tbn(t), Jt(t.b, (Z_(), UH), t.g) } function toe(t, e, n) { var r, s, o, h, d, w; for (r = 0, w = n, e || (r = n * (t.c.length - 1), w *= -1), o = new S(t); o.a < o.c.c.length;) { for (s = u(Q(o), 10), Jt(s, (Ce(), Pd), (t0(), CG)), s.o.a = r, d = Bg(s, (we(), Wn)).Kc(); d.Ob();)h = u(d.Pb(), 11), h.n.a = r; r += w } } function $4t(t, e, n) { var r, s, o; t.ej() ? (o = t.fj(), $D(t, e, n), r = t.Zi(3, null, n, e, o), t.bj() ? (s = t.cj(n, null), t.ij() && (s = t.jj(n, s)), s ? (s.Ei(r), s.Fi()) : t.$i(r)) : t.$i(r)) : ($D(t, e, n), t.bj() && (s = t.cj(n, null), s && s.Fi())) } function ax(t, e, n) { var r, s, o, h, d, w; return d = t.Gk(n), d != n ? (h = t.g[e], w = d, a_(t, e, t.oi(e, w)), o = h, t.gi(e, w, o), t.rk() && (r = n, s = t.dj(r, null), !u(d, 49).eh() && (s = t.cj(w, s)), s && s.Fi()), Ll(t.e) && Kk(t, t.Zi(9, n, d, e, !1)), d) : n } function sgn(t, e) { var n, r, s, o; for (r = new S(t.a.a); r.a < r.c.c.length;)n = u(Q(r), 189), n.g = !0; for (o = new S(t.a.b); o.a < o.c.c.length;)s = u(Q(o), 81), s.k = Re(Be(t.e.Kb(new _a(s, e)))), s.d.g = s.d.g & Re(Be(t.e.Kb(new _a(s, e)))); return t } function eoe(t) { var e, n, r, s, o; if (n = (e = u(Yf(co), 9), new hh(e, u(pf(e, e.length), 9), 0)), o = u(K(t, (ie(), ul)), 10), o) for (s = new S(o.j); s.a < s.c.c.length;)r = u(Q(s), 11), qt(K(r, Bi)) === qt(t) && u_(new P1(r.b)) && xf(n, r.j); return n } function noe(t, e, n) { var r, s, o, h, d; if (!t.d[n.p]) { for (s = new pr(mr(Gs(n).a.Kc(), new H)); Zr(s);) { for (r = u(qr(s), 17), d = r.d.i, h = new pr(mr(Zo(d).a.Kc(), new H)); Zr(h);)o = u(qr(h), 17), o.c.i == e && (t.a[o.p] = !0); noe(t, e, d) } t.d[n.p] = !0 } } function agn(t, e) { var n, r, s, o, h, d, w; if (r = cre(t.Db & 254), r == 1) t.Eb = null; else if (o = rb(t.Eb), r == 2) s = ist(t, e), t.Eb = o[s == 0 ? 1 : 0]; else { for (h = Ot(nr, De, 1, r - 1, 5, 1), n = 2, d = 0, w = 0; n <= 128; n <<= 1)n == e ? ++d : t.Db & n && (h[w++] = o[d++]); t.Eb = h } t.Db &= ~e } function ogn(t, e) { var n, r, s, o, h; for (r = (!e.s && (e.s = new he(ju, e, 21, 17)), e.s), o = null, s = 0, h = r.i; s < h; ++s)switch (n = u(St(r, s), 170), Bv(Bo(t, n))) { case 4: case 5: case 6: { !o && (o = new le), o.c[o.c.length] = n; break } }return o || (pn(), pn(), wo) } function z4t(t) { var e; switch (e = 0, t) { case 105: e = 2; break; case 109: e = 8; break; case 115: e = 4; break; case 120: e = 16; break; case 117: e = 32; break; case 119: e = 64; break; case 70: e = 256; break; case 72: e = 128; break; case 88: e = 512; break; case 44: e = Tf }return e } function cgn(t, e, n, r, s) { var o, h, d, w; if (qt(t) === qt(e) && r == s) { Zce(t, r, n); return } for (d = 0; d < r; d++) { for (h = 0, o = t[d], w = 0; w < s; w++)h = Wa(Wa(ja(Xs(o, Eo), Xs(e[w], Eo)), Xs(n[d + w], Eo)), Xs($r(h), Eo)), n[d + w] = $r(h), h = jm(h, 32); n[d + s] = $r(h) } } function ugn(t) { var e, n, r, s, o, h, d, w, k, _, L; for (_ = 0, k = 0, s = t.a, d = s.a.gc(), r = s.a.ec().Kc(); r.Ob();)n = u(r.Pb(), 561), e = (n.b && iat(n), n.a), L = e.a, h = e.b, _ += L + h, k += L * h; return w = b.Math.sqrt(400 * d * k - 4 * k + _ * _) + _, o = 2 * (100 * d - 1), o == 0 ? w : w / o } function roe(t, e) { e.b != 0 && (isNaN(t.s) ? t.s = Xt((ir(e.b != 0), xe(e.a.a.c))) : t.s = b.Math.min(t.s, Xt((ir(e.b != 0), xe(e.a.a.c)))), isNaN(t.c) ? t.c = Xt((ir(e.b != 0), xe(e.c.b.c))) : t.c = b.Math.max(t.c, Xt((ir(e.b != 0), xe(e.c.b.c))))) } function cC(t) { var e, n, r, s; for (e = null, r = jp(B1(ct(ot(G1, 1), De, 20, 0, [(!t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b), (!t.c && (t.c = new Tn(Cr, t, 5, 8)), t.c)]))); Zr(r);)if (n = u(qr(r), 82), s = Vo(n), !e) e = gs(s); else if (e != gs(s)) return !0; return !1 } function Dst(t, e) { var n, r, s, o; t.ej() ? (n = t.i, o = t.fj(), cD(t, e), r = t.Zi(3, null, e, n, o), t.bj() ? (s = t.cj(e, null), t.ij() && (s = t.jj(e, s)), s ? (s.Ei(r), s.Fi()) : t.$i(r)) : t.$i(r)) : (cD(t, e), t.bj() && (s = t.cj(e, null), s && s.Fi())) } function ioe(t, e, n) { var r, s, o; t.ej() ? (o = t.fj(), ++t.j, t.Hi(e, t.oi(e, n)), r = t.Zi(3, null, n, e, o), t.bj() ? (s = t.cj(n, null), s ? (s.Ei(r), s.Fi()) : t.$i(r)) : t.$i(r)) : (++t.j, t.Hi(e, t.oi(e, n)), t.bj() && (s = t.cj(n, null), s && s.Fi())) } function lgn(t) { var e, n, r, s; for (s = t.length, e = null, r = 0; r < s; r++)n = (Yr(r, t.length), t.charCodeAt(r)), gd(".*+?{[()|\\^$", Nu(n)) >= 0 ? (e || (e = new DT, r > 0 && So(e, t.substr(0, r))), e.a += "\\", m8(e, n & Ns)) : e && m8(e, n & Ns); return e ? e.a : t } function hgn(t) { var e; if (!t.a) throw et(new Yo("IDataType class expected for layout option " + t.f)); if (e = mrn(t.a), e == null) throw et(new Yo("Couldn't create new instance of property '" + t.f + "'. " + Zfe + (A0(cN), cN.k) + $kt)); return u(e, 414) } function Ist(t) { var e, n, r, s, o; return o = t.eh(), o && o.kh() && (s = Xp(t, o), s != o) ? (n = t.Vg(), r = (e = t.Vg(), e >= 0 ? t.Qg(null) : t.eh().ih(t, -1 - e, null, null)), t.Rg(u(s, 49), n), r && r.Fi(), t.Lg() && t.Mg() && n > -1 && Oi(t, new la(t, 9, n, o, s)), s) : o } function soe(t) { var e, n, r, s, o, h, d, w; for (h = 0, o = t.f.e, r = 0; r < o.c.length; ++r)for (d = (An(r, o.c.length), u(o.c[r], 144)), s = r + 1; s < o.c.length; ++s)w = (An(s, o.c.length), u(o.c[s], 144)), n = Gp(d.d, w.d), e = n - t.a[d.b][w.b], h += t.i[d.b][w.b] * e * e; return h } function fgn(t, e) { var n; if (!ia(e, (Ce(), bu)) && (n = Bhn(u(K(e, X9t), 360), u(K(t, bu), 163)), Jt(e, X9t, n), !Zr(new pr(mr($0(e).a.Kc(), new H))))) switch (n.g) { case 1: Jt(e, bu, (mh(), gS)); break; case 2: Jt(e, bu, (mh(), pS)) } } function dgn(t, e) { var n; Ebn(t), t.a = (n = new Wtt, Ts(new kn(null, new Cn(e.d, 16)), new _tt(n)), n), O2n(t, u(K(e.b, (Ce(), Plt)), 376)), Cln(t), wgn(t), jhn(t), Sln(t), kmn(t, e), Ts(oc(new kn(null, bQt(QJe(t.b).a)), new C3), new wX), e.a = !1, t.a = null } function aoe() { u4t.call(this, V7, (xv(), B3e)), this.p = null, this.a = null, this.f = null, this.n = null, this.g = null, this.c = null, this.i = null, this.j = null, this.d = null, this.b = null, this.e = null, this.k = null, this.o = null, this.s = null, this.q = !1, this.r = !1 } function v7() { v7 = J, lft = new C6(kfe, 0), VG = new C6("INSIDE_SELF_LOOPS", 1), GG = new C6("MULTI_EDGES", 2), HG = new C6("EDGE_LABELS", 3), uft = new C6("PORTS", 4), qG = new C6("COMPOUND", 5), zG = new C6("CLUSTERS", 6), cft = new C6("DISCONNECTED", 7) } function ooe(t, e) { var n, r, s; if (e == 0) return (t.a[0] & 1) != 0; if (e < 0) throw et(new aR("Negative bit address")); if (s = e >> 5, s >= t.d) return t.e < 0; if (n = t.a[s], e = 1 << (e & 31), t.e < 0) { if (r = Tee(t), s < r) return !1; r == s ? n = -n : n = ~n } return (n & e) != 0 } function ggn(t, e, n, r) { var s; u(n.b, 65), u(n.b, 65), u(r.b, 65), u(r.b, 65), s = ba(pc(u(n.b, 65).c), u(r.b, 65).c), mj(s, kae(u(n.b, 65), u(r.b, 65), s)), u(r.b, 65), u(r.b, 65), u(r.b, 65).c.a + s.a, u(r.b, 65).c.b + s.b, u(r.b, 65), Mu(r.a, new evt(t, e, r)) } function q4t(t, e) { var n, r, s, o, h, d, w; if (o = e.e, o) { for (n = Ist(o), r = u(t.g, 674), h = 0; h < t.i; ++h)if (w = r[h], Zit(w) == n && (s = (!w.d && (w.d = new qs(Co, w, 1)), w.d), d = u(n.ah(Kst(o, o.Cb, o.Db >> 16)), 15).Xc(o), d < s.i)) return q4t(t, u(St(s, d), 87)) } return e } function M(t, e, n) { var r = DH, s, o = r[t], h = o instanceof Array ? o[0] : null; o && !h ? l = o : (l = (s = e && e.prototype, !s && (s = DH[e]), Ren(s)), l.hm = n, !e && (l.im = de), r[t] = l); for (var d = 3; d < arguments.length; ++d)arguments[d].prototype = l; h && (l.gm = h) } function Zr(t) { for (var e; !u(zr(t.a), 47).Ob();) { if (t.d = von(t), !t.d) return !1; if (t.a = u(t.d.Pb(), 47), Et(t.a, 39)) { if (e = u(t.a, 39), t.a = e.a, !t.b && (t.b = new P3), Vp(t.b, t.d), e.b) for (; !AT(e.b);)Vp(t.b, u(PJe(e.b), 47)); t.d = e.d } } return !0 } function H4t(t, e) { var n, r, s, o, h; for (o = e == null ? 0 : t.b.se(e), r = (n = t.a.get(o), n ?? new Array), h = 0; h < r.length; h++)if (s = r[h], t.b.re(e, s.cd())) return r.length == 1 ? (r.length = 0, sXe(t.a, o)) : r.splice(h, 1), --t.c, Qj(t.b), s.dd(); return null } function V4t(t, e) { var n, r, s, o; for (s = 1, e.j = !0, o = null, r = new S(o4(e)); r.a < r.c.c.length;)n = u(Q(r), 213), t.c[n.c] || (t.c[n.c] = !0, o = vz(n, e), n.f ? s += V4t(t, o) : !o.j && n.a == n.e.e - n.d.e && (n.f = !0, Ys(t.p, n), s += V4t(t, o))); return s } function pgn(t) { var e, n, r; for (n = new S(t.a.a.b); n.a < n.c.c.length;)e = u(Q(n), 81), r = (Pn(0), 0), r > 0 && (!(Pp(t.a.c) && e.n.d) && !(c8(t.a.c) && e.n.b) && (e.g.d += b.Math.max(0, r / 2 - .5)), !(Pp(t.a.c) && e.n.a) && !(c8(t.a.c) && e.n.c) && (e.g.a -= r - 1)) } function coe(t) { var e, n, r, s, o; if (s = new le, o = eue(t, s), e = u(K(t, (ie(), ul)), 10), e) for (r = new S(e.j); r.a < r.c.c.length;)n = u(Q(r), 11), qt(K(n, Bi)) === qt(t) && (o = b.Math.max(o, eue(n, s))); return s.c.length == 0 || Jt(t, W4, o), o != -1 ? s : null } function uoe(t, e, n) { var r, s, o, h, d, w; o = u(Fe(e.e, 0), 17).c, r = o.i, s = r.k, w = u(Fe(n.g, 0), 17).d, h = w.i, d = h.k, s == (Kn(), ha) ? Jt(t, (ie(), c1), u(K(r, c1), 11)) : Jt(t, (ie(), c1), o), d == ha ? Jt(t, (ie(), Uh), u(K(h, Uh), 11)) : Jt(t, (ie(), Uh), w) } function loe(t, e) { var n, r, s, o; for (o = $r(ja(i0, Xd($r(ja(e == null ? 0 : ns(e), s0)), 15))), n = o & t.b.length - 1, s = null, r = t.b[n]; r; s = r, r = r.a)if (r.d == o && wd(r.i, e)) return s ? s.a = r.a : t.b[n] = r.a, rqt(r.c, r.f), oM(r.b, r.e), --t.f, ++t.e, !0; return !1 } function G4t(t, e) { var n, r, s, o, h; return e &= 63, n = t.h, r = (n & MI) != 0, r && (n |= -1048576), e < 22 ? (h = n >> e, o = t.m >> e | n << 22 - e, s = t.l >> e | t.m << 22 - e) : e < 44 ? (h = r ? U0 : 0, o = n >> e - 22, s = t.m >> e - 22 | n << 44 - e) : (h = r ? U0 : 0, o = r ? yl : 0, s = n >> e - 44), hu(s & yl, o & yl, h & U0) } function Ost(t) { var e, n, r, s, o, h; for (this.c = new le, this.d = t, r = ms, s = ms, e = Rs, n = Rs, h = gi(t, 0); h.b != h.d.c;)o = u(di(h), 8), r = b.Math.min(r, o.a), s = b.Math.min(s, o.b), e = b.Math.max(e, o.a), n = b.Math.max(n, o.b); this.a = new fh(r, s, e - r, n - s) } function hoe(t, e) { var n, r, s, o, h, d; for (o = new S(t.b); o.a < o.c.c.length;)for (s = u(Q(o), 29), d = new S(s.a); d.a < d.c.c.length;)for (h = u(Q(d), 10), h.k == (Kn(), Bl) && ox(h, e), r = new pr(mr(Gs(h).a.Kc(), new H)); Zr(r);)n = u(qr(r), 17), Kee(n, e) } function U4t(t) { var e, n, r; this.c = t, r = u(K(t, (Ce(), Jl)), 103), e = Xt(xe(K(t, BV))), n = Xt(xe(K(t, YTt))), r == (xo(), Wh) || r == Af || r == h0 ? this.b = e * n : this.b = 1 / (e * n), this.j = Xt(xe(K(t, Z4))), this.e = Xt(xe(K(t, Nw))), this.f = t.b.c.length } function bgn(t) { var e, n; for (t.e = Ot(Br, oi, 25, t.p.c.length, 15, 1), t.k = Ot(Br, oi, 25, t.p.c.length, 15, 1), n = new S(t.p); n.a < n.c.c.length;)e = u(Q(n), 10), t.e[e.p] = O0(new pr(mr(Zo(e).a.Kc(), new H))), t.k[e.p] = O0(new pr(mr(Gs(e).a.Kc(), new H))) } function vgn(t) { var e, n, r, s, o, h; for (s = 0, t.q = new le, e = new na, h = new S(t.p); h.a < h.c.c.length;) { for (o = u(Q(h), 10), o.p = s, r = new pr(mr(Gs(o).a.Kc(), new H)); Zr(r);)n = u(qr(r), 17), Ys(e, n.d.i); e.a.Bc(o) != null, ue(t.q, new g_(e)), e.a.$b(), ++s } } function cw() { cw = J, j_t = new Sv(20), bme = new po((Ti(), $b), j_t), z_t = new po(zb, 20), hme = new po(jx, B7), gG = new po(IG, pe(1)), wme = new po(eft, (Rn(), !0)), B_t = GO, dme = jb, gme = a5, pme = m2, fme = s5, R_t = KO, vme = Uy, mme = (Umt(), lme), $_t = ume } function foe(t, e) { var n, r, s, o, h, d, w, k, _; if (t.a.f > 0 && Et(e, 42) && (t.a.qj(), k = u(e, 42), w = k.cd(), o = w == null ? 0 : ns(w), h = Mbt(t.a, o), n = t.a.d[h], n)) { for (r = u(n.g, 367), _ = n.i, d = 0; d < _; ++d)if (s = r[d], s.Sh() == o && s.Fb(k)) return foe(t, k), !0 } return !1 } function wgn(t) { var e, n, r, s; for (s = u(ji(t.a, (g4(), xV)), 15).Kc(); s.Ob();)r = u(s.Pb(), 101), n = (e = N6(r.k), e.Hc((we(), Fn)) ? e.Hc(Wn) ? e.Hc(Lr) ? e.Hc(jn) ? null : f2e : g2e : d2e : h2e), w8(t, r, n[0], (Xv(), Tw), 0), w8(t, r, n[1], d2, 1), w8(t, r, n[2], _w, 1) } function mgn(t, e) { var n, r; n = Wbn(e), G2n(t, e, n), vse(t.a, u(K(Qa(e.b), (ie(), Ix)), 230)), wvn(t), Ufn(t, e), r = Ot(Br, oi, 25, e.b.j.c.length, 15, 1), pat(t, e, (we(), Fn), r, n), pat(t, e, Wn, r, n), pat(t, e, Lr, r, n), pat(t, e, jn, r, n), t.a = null, t.c = null, t.b = null } function W4t() { W4t = J, bCt = (pz(), Aht), Jme = new vn(Skt, bCt), Qme = new vn(Akt, (Rn(), !0)), pe(-1), Kme = new vn(Lkt, pe(-1)), pe(-1), Yme = new vn(Mkt, pe(-1)), Zme = new vn(Dkt, !1), tye = new vn(Ikt, !0), Xme = new vn(dct, !1), eye = new vn(Okt, -1) } function K4t(t, e, n) { switch (e) { case 7: !t.e && (t.e = new Tn(aa, t, 7, 4)), Ir(t.e), !t.e && (t.e = new Tn(aa, t, 7, 4)), vs(t.e, u(n, 14)); return; case 8: !t.d && (t.d = new Tn(aa, t, 8, 5)), Ir(t.d), !t.d && (t.d = new Tn(aa, t, 8, 5)), vs(t.d, u(n, 14)); return }G3t(t, e, n) } function Y4t(t, e) { var n, r, s, o, h; if (qt(e) === qt(t)) return !0; if (!Et(e, 15) || (h = u(e, 15), t.gc() != h.gc())) return !1; for (o = h.Kc(), r = t.Kc(); r.Ob();)if (n = r.Pb(), s = o.Pb(), !(qt(n) === qt(s) || n != null && Ni(n, s))) return !1; return !0 } function ygn(t, e) { var n, r, s, o; for (o = u(Hl(oc(oc(new kn(null, new Cn(e.b, 16)), new xL), new VP), nb(new Ee, new ne, new tr, ct(ot(xl, 1), se, 132, 0, [(j1(), Zl)]))), 15), o.Jc(new kL), n = 0, s = o.Kc(); s.Ob();)r = u(s.Pb(), 11), r.p == -1 && Q4t(t, r, n++) } function doe(t) { switch (t.g) { case 0: return new uT; case 1: return new FJ; case 2: return new PJ; case 3: return new BVt; case 4: return new TKt; default: throw et(new Bn("No implementation is available for the node placer " + (t.f != null ? t.f : "" + t.g))) } } function goe(t) { switch (t.g) { case 0: return new Avt; case 1: return new BJ; case 2: return new LJ; case 3: return new MJ; case 4: return new jVt; default: throw et(new Bn("No implementation is available for the cycle breaker " + (t.f != null ? t.f : "" + t.g))) } } function X4t() { X4t = J, Nme = new vn(xkt, pe(0)), Pme = new vn(kkt, 0), Z_t = (BD(), bG), Ime = new vn(lct, Z_t), pe(0), Dme = new vn(hct, pe(1)), tCt = (J$(), Sht), Fme = new vn(Ekt, tCt), eCt = (_$(), Eht), Bme = new vn(Tkt, eCt), J_t = (Pz(), Cht), Ome = new vn(_kt, J_t) } function xgn(t, e, n) { var r; r = null, e && (r = e.d), iC(t, new a8(e.n.a - r.b + n.a, e.n.b - r.d + n.b)), iC(t, new a8(e.n.a - r.b + n.a, e.n.b + e.o.b + r.a + n.b)), iC(t, new a8(e.n.a + e.o.a + r.c + n.a, e.n.b - r.d + n.b)), iC(t, new a8(e.n.a + e.o.a + r.c + n.a, e.n.b + e.o.b + r.a + n.b)) } function Q4t(t, e, n) { var r, s, o; for (e.p = n, o = jp(B1(ct(ot(G1, 1), De, 20, 0, [new ca(e), new Fr(e)]))); Zr(o);)r = u(qr(o), 11), r.p == -1 && Q4t(t, r, n); if (e.i.k == (Kn(), ha)) for (s = new S(e.i.j); s.a < s.c.c.length;)r = u(Q(s), 11), r != e && r.p == -1 && Q4t(t, r, n) } function poe(t) { var e, n, r, s, o; if (s = u(Hl(Wen(VXt(t)), nb(new Ee, new ne, new tr, ct(ot(xl, 1), se, 132, 0, [(j1(), Zl)]))), 15), r = F7, s.gc() >= 2) for (n = s.Kc(), e = xe(n.Pb()); n.Ob();)o = e, e = xe(n.Pb()), r = b.Math.min(r, (Pn(e), e - (Pn(o), o))); return r } function kgn(t, e) { var n, r, s, o, h; r = new hs, Cs(r, e, r.c.b, r.c); do for (n = (ir(r.b != 0), u(bh(r, r.a.a), 86)), t.b[n.g] = 1, o = gi(n.d, 0); o.b != o.d.c;)s = u(di(o), 188), h = s.c, t.b[h.g] == 1 ? pi(t.a, s) : t.b[h.g] == 2 ? t.b[h.g] = 1 : Cs(r, h, r.c.b, r.c); while (r.b != 0) } function Egn(t, e) { var n, r, s; if (qt(e) === qt(zr(t))) return !0; if (!Et(e, 15) || (r = u(e, 15), s = t.gc(), s != r.gc())) return !1; if (Et(r, 54)) { for (n = 0; n < s; n++)if (!wd(t.Xb(n), r.Xb(n))) return !1; return !0 } else return Dln(t.Kc(), r.Kc()) } function boe(t, e) { var n, r; if (t.c.length != 0) { if (t.c.length == 2) ox((An(0, t.c.length), u(t.c[0], 10)), (Wl(), f0)), ox((An(1, t.c.length), u(t.c[1], 10)), y2); else for (r = new S(t); r.a < r.c.c.length;)n = u(Q(r), 10), ox(n, e); t.c = Ot(nr, De, 1, 0, 5, 1) } } function Tgn(t) { var e, n; if (t.c.length != 2) throw et(new Yo("Order only allowed for two paths.")); e = (An(0, t.c.length), u(t.c[0], 17)), n = (An(1, t.c.length), u(t.c[1], 17)), e.d.i != n.c.i && (t.c = Ot(nr, De, 1, 0, 5, 1), t.c[t.c.length] = n, t.c[t.c.length] = e) } function _gn(t, e) { var n, r, s, o, h, d; for (r = new tb, h = g$(new Al(t.g)), o = h.a.ec().Kc(); o.Ob();) { if (s = u(o.Pb(), 10), !s) { W2(e, "There are no classes in a balanced layout."); break } d = t.j[s.p], n = u(Vv(r, d), 15), n || (n = new le, db(r, d, n)), n.Fc(s) } return r } function Cgn(t, e, n) { var r, s, o, h, d, w, k; if (n) for (o = n.a.length, r = new Y2(o), d = (r.b - r.a) * r.c < 0 ? (Op(), M2) : new Bp(r); d.Ob();)h = u(d.Pb(), 19), w = C8(n, h.a), w && (k = Nsn(I0(w, Dct), e), Pi(t.f, k, w), s = Dd in w.a, s && F_(k, I0(w, Dd)), Vz(w, k), A4t(w, k)) } function Sgn(t, e) { var n, r, s, o, h; for (Ar(e, "Port side processing", 1), h = new S(t.a); h.a < h.c.c.length;)s = u(Q(h), 10), _ue(s); for (r = new S(t.b); r.a < r.c.c.length;)for (n = u(Q(r), 29), o = new S(n.a); o.a < o.c.c.length;)s = u(Q(o), 10), _ue(s); br(e) } function voe(t, e, n) { var r, s, o, h, d; if (s = t.f, !s && (s = u(t.a.a.ec().Kc().Pb(), 57)), nC(s, e, n), t.a.a.gc() != 1) for (r = e * n, h = t.a.a.ec().Kc(); h.Ob();)o = u(h.Pb(), 57), o != s && (d = q6(o), d.f.d ? (o.d.d += r + H1, o.d.a -= r + H1) : d.f.a && (o.d.a -= r + H1)) } function Nst(t, e, n, r, s) { var o, h, d, w, k, _, L, F, q; return h = n - t, d = r - e, o = b.Math.atan2(h, d), w = o + wot, k = o - wot, _ = s * b.Math.sin(w) + t, F = s * b.Math.cos(w) + e, L = s * b.Math.sin(k) + t, q = s * b.Math.cos(k) + e, N1(ct(ot(sa, 1), te, 8, 0, [new je(_, F), new je(L, q)])) } function Agn(t, e, n, r) { var s, o, h, d, w, k, _, L; s = n, _ = e, o = _; do o = t.a[o.p], d = (L = t.g[o.p], Xt(t.p[L.p]) + Xt(t.d[o.p]) - o.d.d), w = qsn(o, r), w && (h = (k = t.g[w.p], Xt(t.p[k.p]) + Xt(t.d[w.p]) + w.o.b + w.d.a), s = b.Math.min(s, d - (h + G3(t.k, o, w)))); while (_ != o); return s } function Lgn(t, e, n, r) { var s, o, h, d, w, k, _, L; s = n, _ = e, o = _; do o = t.a[o.p], h = (L = t.g[o.p], Xt(t.p[L.p]) + Xt(t.d[o.p]) + o.o.b + o.d.a), w = Jan(o, r), w && (d = (k = t.g[w.p], Xt(t.p[k.p]) + Xt(t.d[w.p]) - w.d.d), s = b.Math.min(s, d - (h + G3(t.k, o, w)))); while (_ != o); return s } function ze(t, e) { var n, r; return r = (!t.o && (t.o = new Nl((ou(), _2), Bw, t, 0)), e1(t.o, e)), r ?? (n = e.wg(), Et(n, 4) && (n == null ? (!t.o && (t.o = new Nl((ou(), _2), Bw, t, 0)), kz(t.o, e)) : (!t.o && (t.o = new Nl((ou(), _2), Bw, t, 0)), $z(t.o, e, n))), n) } function ly() { ly = J, Lf = new $3("H_LEFT", 0), Z0 = new $3("H_CENTER", 1), Mf = new $3("H_RIGHT", 2), If = new $3("V_TOP", 3), d0 = new $3("V_CENTER", 4), Yh = new $3("V_BOTTOM", 5), th = new $3("INSIDE", 6), Df = new $3("OUTSIDE", 7), Kh = new $3("H_PRIORITY", 8) } function Mgn(t) { var e, n, r, s, o, h, d; if (e = t.Hh(Hh), e && (d = Kr(e1((!e.b && (e.b = new Ml((hn(), uo), xc, e)), e.b), "settingDelegates")), d != null)) { for (n = new le, s = dy(d, "\\w+"), o = 0, h = s.length; o < h; ++o)r = s[o], n.c[n.c.length] = r; return n } return pn(), pn(), wo } function Dgn(t, e) { var n, r, s, o, h, d, w; if (!e.f) throw et(new Bn("The input edge is not a tree edge.")); for (o = null, s = Di, r = new S(t.d); r.a < r.c.c.length;)n = u(Q(r), 213), d = n.d, w = n.e, Ast(t, d, e) && !Ast(t, w, e) && (h = w.e - d.e - n.a, h < s && (s = h, o = n)); return o } function Ign(t) { var e, n, r, s, o, h; if (!(t.f.e.c.length <= 1)) { e = 0, s = soe(t), n = ms; do { for (e > 0 && (s = n), h = new S(t.f.e); h.a < h.c.c.length;)o = u(Q(h), 144), !Re(Be(K(o, (ZD(), t9t)))) && (r = zvn(t, o), $i(Xf(o.d), r)); n = soe(t) } while (!ntn(t, e++, s, n)) } } function Ogn(t, e) { var n, r, s; for (Ar(e, "Layer constraint preprocessing", 1), n = new le, s = new Ca(t.a, 0); s.b < s.d.gc();)r = (ir(s.b < s.d.gc()), u(s.d.Xb(s.c = s.b++), 10)), non(r) && (r1n(r), n.c[n.c.length] = r, Ol(s)); n.c.length == 0 || Jt(t, (ie(), klt), n), br(e) } function Ngn(t, e) { var n, r, s, o, h; for (o = t.g.a, h = t.g.b, r = new S(t.d); r.a < r.c.c.length;)n = u(Q(r), 70), s = n.n, t.a == (R1(), i9) || t.i == (we(), Wn) ? s.a = o : t.a == s9 || t.i == (we(), jn) ? s.a = o + t.j.a - n.o.a : s.a = o + (t.j.a - n.o.a) / 2, s.b = h, $i(s, e), h += n.o.b + t.e } function Pgn(t, e, n) { var r, s, o, h; for (Ar(n, "Processor set coordinates", 1), t.a = e.b.b == 0 ? 1 : e.b.b, o = null, r = gi(e.b, 0); !o && r.b != r.d.c;)h = u(di(r), 86), Re(Be(K(h, (Sc(), Gy)))) && (o = h, s = h.e, s.a = u(K(h, vht), 19).a, s.b = 0); qse(t, Xmt(o), Kc(n, 1)), br(n) } function Fgn(t, e, n) { var r, s, o; for (Ar(n, "Processor determine the height for each level", 1), t.a = e.b.b == 0 ? 1 : e.b.b, s = null, r = gi(e.b, 0); !s && r.b != r.d.c;)o = u(di(r), 86), Re(Be(K(o, (Sc(), Gy)))) && (s = o); s && sce(t, N1(ct(ot(H4n, 1), R6t, 86, 0, [s])), n), br(n) } function Bgn(t, e) { var n, r, s, o, h, d, w, k, _, L; k = t, w = L_(k, "individualSpacings"), w && (r = eb(e, (Ti(), zx)), h = !r, h && (s = new il, Mo(e, zx, s)), d = u(ze(e, zx), 373), L = w, o = null, L && (o = (_ = Qrt(L, Ot(Me, te, 2, 0, 6, 1)), new Jtt(L, _))), o && (n = new IVt(L, d), Oa(o, n))) } function Rgn(t, e) { var n, r, s, o, h, d, w, k, _, L, F; return w = null, L = t, _ = null, (j1e in L.a || $1e in L.a || uH in L.a) && (k = null, F = Zmt(e), h = L_(L, j1e), n = new g$t(F), lun(n.a, h), d = L_(L, $1e), r = new T$t(F), uun(r.a, d), o = Hv(L, uH), s = new S$t(F), k = (zfn(s.a, o), o), _ = k), w = _, w } function jgn(t, e) { var n, r, s; if (e === t) return !0; if (Et(e, 543)) { if (s = u(e, 835), t.a.d != s.a.d || Y3(t).gc() != Y3(s).gc()) return !1; for (r = Y3(s).Kc(); r.Ob();)if (n = u(r.Pb(), 416), HXt(t, n.a.cd()) != u(n.a.dd(), 14).gc()) return !1; return !0 } return !1 } function $gn(t) { var e, n, r, s; return r = u(t.a, 19).a, s = u(t.b, 19).a, e = r, n = s, r == 0 && s == 0 ? n -= 1 : r == -1 && s <= 0 ? (e = 0, n -= 2) : r <= 0 && s > 0 ? (e -= 1, n -= 1) : r >= 0 && s < 0 ? (e += 1, n += 1) : r > 0 && s >= 0 ? (e -= 1, n += 1) : (e += 1, n -= 1), new _a(pe(e), pe(n)) } function zgn(t, e) { return t.c < e.c ? -1 : t.c > e.c ? 1 : t.b < e.b ? -1 : t.b > e.b ? 1 : t.a != e.a ? ns(t.a) - ns(e.a) : t.d == (D_(), AS) && e.d == SS ? -1 : t.d == SS && e.d == AS ? 1 : 0 } function woe(t, e) { var n, r, s, o, h; return o = e.a, o.c.i == e.b ? h = o.d : h = o.c, o.c.i == e.b ? r = o.c : r = o.d, s = pun(t.a, h, r), s > 0 && s < F7 ? (n = Agn(t.a, r.i, s, t.c), Ate(t.a, r.i, -n), n > 0) : s < 0 && -s < F7 ? (n = Lgn(t.a, r.i, -s, t.c), Ate(t.a, r.i, n), n > 0) : !1 } function qgn(t, e, n, r) { var s, o, h, d, w, k, _, L; for (s = (e - t.d) / t.c.c.length, o = 0, t.a += n, t.d = e, L = new S(t.c); L.a < L.c.c.length;)_ = u(Q(L), 33), k = _.g, w = _.f, Du(_, _.i + o * s), Iu(_, _.j + r * n), Kv(_, _.g + s), Wv(_, t.a), ++o, d = _.g, h = _.f, fae(_, new je(d, h), new je(k, w)) } function Hgn(t) { var e, n, r, s, o, h, d; if (t == null) return null; for (d = t.length, s = (d + 1) / 2 | 0, h = Ot(tl, N4, 25, s, 15, 1), d % 2 != 0 && (h[--s] = w5t((Yr(d - 1, t.length), t.charCodeAt(d - 1)))), n = 0, r = 0; n < s; ++n)e = w5t(Ia(t, r++)), o = w5t(Ia(t, r++)), h[n] = (e << 4 | o) << 24 >> 24; return h } function Vgn(t) { if (t.pe()) { var e = t.c; e.qe() ? t.o = "[" + e.n : e.pe() ? t.o = "[" + e.ne() : t.o = "[L" + e.ne() + ";", t.b = e.me() + "[]", t.k = e.oe() + "[]"; return } var n = t.j, r = t.d; r = r.split("/"), t.o = Bit(".", [n, Bit("$", r)]), t.b = Bit(".", [n, Bit(".", r)]), t.k = r[r.length - 1] } function Ggn(t, e) { var n, r, s, o, h; for (h = null, o = new S(t.e.a); o.a < o.c.c.length;)if (s = u(Q(o), 121), s.b.a.c.length == s.g.a.c.length) { for (r = s.e, h = Adn(s), n = s.e - u(h.a, 19).a + 1; n < s.e + u(h.b, 19).a; n++)e[n] < e[r] && (r = n); e[r] < e[s.e] && (--e[s.e], ++e[r], s.e = r) } } function Pst(t) { var e, n, r, s, o, h, d, w; for (s = ms, r = Rs, n = new S(t.e.b); n.a < n.c.c.length;)for (e = u(Q(n), 29), h = new S(e.a); h.a < h.c.c.length;)o = u(Q(h), 10), w = Xt(t.p[o.p]), d = w + Xt(t.b[t.g[o.p].p]), s = b.Math.min(s, w), r = b.Math.max(r, d); return r - s } function Z4t(t, e, n, r) { var s, o, h, d, w; for (s = _5t(t, e), d = 0, w = s.gc(); d < w; ++d)if (o = u(s.Xb(d), 170), ln(r, k8(Bo(t, o)))) { if (h = QM(Bo(t, o)), n == null) { if (h == null) return o } else if (ln(n, h)) return o } return null } function J4t(t, e, n, r) { var s, o, h, d, w; for (s = Yst(t, e), d = 0, w = s.gc(); d < w; ++d)if (o = u(s.Xb(d), 170), ln(r, k8(Bo(t, o)))) { if (h = QM(Bo(t, o)), n == null) { if (h == null) return o } else if (ln(n, h)) return o } return null } function Ugn(t, e, n) { var r, s, o, h, d, w; if (h = new J5, d = gu(t.e.Tg(), e), r = u(t.g, 119), go(), u(e, 66).Oj()) for (o = 0; o < t.i; ++o)s = r[o], d.rl(s.ak()) && Hr(h, s); else for (o = 0; o < t.i; ++o)s = r[o], d.rl(s.ak()) && (w = s.dd(), Hr(h, n ? oC(t, e, o, h.i, w) : w)); return Owt(h) } function Wgn(t, e) { var n, r, s, o, h; for (n = new Y_(c9), s = (rx(), ct(ot(c9, 1), se, 227, 0, [o9, oS, a9, Dy, H4, q4])), o = 0, h = s.length; o < h; ++o)r = s[o], Ibt(n, r, new le); return Ts(Cu(Qi(oc(new kn(null, new Cn(t.b, 16)), new WP), new KP), new wg(e)), new hd(n)), n } function Xz(t, e, n) { var r, s, o, h, d, w, k, _, L, F; for (o = e.Kc(); o.Ob();)s = u(o.Pb(), 33), _ = s.i + s.g / 2, F = s.j + s.f / 2, w = t.f, h = w.i + w.g / 2, d = w.j + w.f / 2, k = _ - h, L = F - d, r = b.Math.sqrt(k * k + L * L), k *= t.e / r, L *= t.e / r, n ? (_ -= k, F -= L) : (_ += k, F += L), Du(s, _ - s.g / 2), Iu(s, F - s.f / 2) } function b4(t) { var e, n, r; if (!t.c && t.b != null) { for (e = t.b.length - 4; e >= 0; e -= 2)for (n = 0; n <= e; n += 2)(t.b[n] > t.b[n + 2] || t.b[n] === t.b[n + 2] && t.b[n + 1] > t.b[n + 3]) && (r = t.b[n + 2], t.b[n + 2] = t.b[n], t.b[n] = r, r = t.b[n + 3], t.b[n + 3] = t.b[n + 1], t.b[n + 1] = r); t.c = !0 } } function moe(t, e) { var n, r, s, o, h, d, w, k; for (h = e == 1 ? jut : Rut, o = h.a.ec().Kc(); o.Ob();)for (s = u(o.Pb(), 103), w = u(ji(t.f.c, s), 21).Kc(); w.Ob();)switch (d = u(w.Pb(), 46), r = u(d.b, 81), k = u(d.a, 189), n = k.c, s.g) { case 2: case 1: r.g.d += n; break; case 4: case 3: r.g.c += n } } function Kgn(t, e) { var n, r, s, o, h, d, w, k, _; for (k = -1, _ = 0, h = t, d = 0, w = h.length; d < w; ++d) { for (o = h[d], n = new qWt(k == -1 ? t[0] : t[k], e, (H_(), tG)), r = 0; r < o.length; r++)for (s = r + 1; s < o.length; s++)ia(o[r], (ie(), Bc)) && ia(o[s], Bc) && $le(n, o[r], o[s]) > 0 && ++_; ++k } return _ } function kf(t) { var e, n; return n = new jl(Mp(t.gm)), n.a += "@", ni(n, (e = ns(t) >>> 0, e.toString(16))), t.kh() ? (n.a += " (eProxyURI: ", Cc(n, t.qh()), t.$g() && (n.a += " eClass: ", Cc(n, t.$g())), n.a += ")") : t.$g() && (n.a += " (eClass: ", Cc(n, t.$g()), n.a += ")"), n.a } function uC(t) { var e, n, r, s; if (t.e) throw et(new Yo((A0(wut), iot + wut.k + sot))); for (t.d == (xo(), h0) && vq(t, Wh), n = new S(t.a.a); n.a < n.c.c.length;)e = u(Q(n), 307), e.g = e.i; for (s = new S(t.a.b); s.a < s.c.c.length;)r = u(Q(s), 57), r.i = Rs; return t.b.Le(t), t } function Ygn(t, e) { var n, r, s, o, h; if (e < 2 * t.b) throw et(new Bn("The knot vector must have at least two time the dimension elements.")); for (t.f = 1, s = 0; s < t.b; s++)ue(t.e, 0); for (h = e + 1 - 2 * t.b, n = h, o = 1; o < h; o++)ue(t.e, o / n); if (t.d) for (r = 0; r < t.b; r++)ue(t.e, 1) } function yoe(t, e) { var n, r, s, o, h, d, w, k, _; if (k = e, _ = u(G$(Fnt(t.i), k), 33), !_) throw s = I0(k, Dd), d = "Unable to find elk node for json object '" + s, w = d + "' Panic!", et(new fd(w)); o = Hv(k, "edges"), n = new TVt(t, _), D0n(n.a, n.b, o), h = Hv(k, Ict), r = new a$t(t), Hhn(r.a, h) } function xoe(t, e, n, r) { var s, o, h, d, w; if (r != null) { if (s = t.d[e], s) { for (o = s.g, w = s.i, d = 0; d < w; ++d)if (h = u(o[d], 133), h.Sh() == n && Ni(r, h.cd())) return d } } else if (s = t.d[e], s) { for (o = s.g, w = s.i, d = 0; d < w; ++d)if (h = u(o[d], 133), qt(h.cd()) === qt(r)) return d } return -1 } function w7(t, e) { var n, r, s; return n = e == null ? gc(qo(t.f, null)) : $T(t.g, e), Et(n, 235) ? (s = u(n, 235), s.Qh() == null, s) : Et(n, 498) ? (r = u(n, 1938), s = r.a, s && (s.yb == null || (e == null ? du(t.f, null, s) : Jv(t.g, e, s))), s) : null } function Xgn(t) { p5t(); var e, n, r, s, o, h, d; if (t == null || (s = t.length, s % 2 != 0)) return null; for (e = L$(t), o = s / 2 | 0, n = Ot(tl, N4, 25, o, 15, 1), r = 0; r < o; r++) { if (h = iA[e[r * 2]], h == -1 || (d = iA[e[r * 2 + 1]], d == -1)) return null; n[r] = (h << 4 | d) << 24 >> 24 } return n } function Qgn(t, e, n) { var r, s, o; if (s = u(Ao(t.i, e), 306), !s) if (s = new yte(t.d, e, n), O6(t.i, e, s), o3t(e)) dYe(t.a, e.c, e.b, s); else switch (o = Rdn(e), r = u(Ao(t.p, o), 244), o.g) { case 1: case 3: s.j = !0, ztt(r, e.b, s); break; case 4: case 2: s.k = !0, ztt(r, e.c, s) }return s } function Zgn(t, e, n, r) { var s, o, h, d, w, k; if (d = new J5, w = gu(t.e.Tg(), e), s = u(t.g, 119), go(), u(e, 66).Oj()) for (h = 0; h < t.i; ++h)o = s[h], w.rl(o.ak()) && Hr(d, o); else for (h = 0; h < t.i; ++h)o = s[h], w.rl(o.ak()) && (k = o.dd(), Hr(d, r ? oC(t, e, h, d.i, k) : k)); return Jyt(d, n) } function koe(t, e) { var n, r, s, o, h, d, w, k; if (s = t.b[e.p], s >= 0) return s; for (o = 1, d = new S(e.j); d.a < d.c.c.length;)for (h = u(Q(d), 11), r = new S(h.g); r.a < r.c.c.length;)n = u(Q(r), 17), k = n.d.i, e != k && (w = koe(t, k), o = b.Math.max(o, w + 1)); return Zcn(t, e, o), o } function Eoe(t, e, n) { var r, s, o; for (r = 1; r < t.c.length; r++) { for (o = (An(r, t.c.length), u(t.c[r], 10)), s = r; s > 0 && e.ue((An(s - 1, t.c.length), u(t.c[s - 1], 10)), o) > 0;)gh(t, s, (An(s - 1, t.c.length), u(t.c[s - 1], 10))), --s; An(s, t.c.length), t.c[s] = o } n.a = new Rr, n.b = new Rr } function Jgn(t, e, n) { var r, s, o, h, d, w, k, _; for (_ = (r = u(e.e && e.e(), 9), new hh(r, u(pf(r, r.length), 9), 0)), w = dy(n, "[\\[\\]\\s,]+"), o = w, h = 0, d = o.length; h < d; ++h)if (s = o[h], oy(s).length != 0) { if (k = Fae(t, s), k == null) return null; xf(_, u(k, 22)) } return _ } function tpn(t) { var e, n, r; for (n = new S(t.a.a.b); n.a < n.c.c.length;)e = u(Q(n), 81), r = (Pn(0), 0), r > 0 && (!(Pp(t.a.c) && e.n.d) && !(c8(t.a.c) && e.n.b) && (e.g.d -= b.Math.max(0, r / 2 - .5)), !(Pp(t.a.c) && e.n.a) && !(c8(t.a.c) && e.n.c) && (e.g.a += b.Math.max(0, r - 1))) } function Toe(t, e, n) { var r, s; if ((t.c - t.b & t.a.length - 1) == 2) e == (we(), Fn) || e == Wn ? (F$(u(q_(t), 15), (Wl(), f0)), F$(u(q_(t), 15), y2)) : (F$(u(q_(t), 15), (Wl(), y2)), F$(u(q_(t), 15), f0)); else for (s = new T_(t); s.a != s.b;)r = u(lz(s), 15), F$(r, n) } function epn(t, e) { var n, r, s, o, h, d, w; for (s = d8(new Qgt(t)), d = new Ca(s, s.c.length), o = d8(new Qgt(e)), w = new Ca(o, o.c.length), h = null; d.b > 0 && w.b > 0 && (n = (ir(d.b > 0), u(d.a.Xb(d.c = --d.b), 33)), r = (ir(w.b > 0), u(w.a.Xb(w.c = --w.b), 33)), n == r);)h = n; return h } function wl(t, e) { var n, r, s, o, h, d; return o = t.a * tot + t.b * 1502, d = t.b * tot + 11, n = b.Math.floor(d * NI), o += n, d -= n * w6t, o %= w6t, t.a = o, t.b = d, e <= 24 ? b.Math.floor(t.a * i7t[e]) : (s = t.a * (1 << e - 24), h = b.Math.floor(t.b * s7t[e]), r = s + h, r >= 2147483648 && (r -= Xat), r) } function _oe(t, e, n) { var r, s, o, h; YXt(t, e) > YXt(t, n) ? (r = uc(n, (we(), Wn)), t.d = r.dc() ? 0 : dnt(u(r.Xb(0), 11)), h = uc(e, jn), t.b = h.dc() ? 0 : dnt(u(h.Xb(0), 11))) : (s = uc(n, (we(), jn)), t.d = s.dc() ? 0 : dnt(u(s.Xb(0), 11)), o = uc(e, Wn), t.b = o.dc() ? 0 : dnt(u(o.Xb(0), 11))) } function Coe(t) { var e, n, r, s, o, h, d; if (t && (e = t.Hh(Hh), e && (h = Kr(e1((!e.b && (e.b = new Ml((hn(), uo), xc, e)), e.b), "conversionDelegates")), h != null))) { for (d = new le, r = dy(h, "\\w+"), s = 0, o = r.length; s < o; ++s)n = r[s], d.c[d.c.length] = n; return d } return pn(), pn(), wo } function Soe(t, e) { var n, r, s, o; for (n = t.o.a, o = u(u(ji(t.r, e), 21), 84).Kc(); o.Ob();)s = u(o.Pb(), 111), s.e.a = n * Xt(xe(s.b.We(HH))), s.e.b = (r = s.b, r.Xe((Ti(), kl)) ? r.Hf() == (we(), Fn) ? -r.rf().b - Xt(xe(r.We(kl))) : Xt(xe(r.We(kl))) : r.Hf() == (we(), Fn) ? -r.rf().b : 0) } function npn(t) { var e, n, r, s, o, h, d, w; e = !0, s = null, o = null; t: for (w = new S(t.a); w.a < w.c.c.length;)for (d = u(Q(w), 10), r = new pr(mr(Zo(d).a.Kc(), new H)); Zr(r);) { if (n = u(qr(r), 17), s && s != d) { e = !1; break t } if (s = d, h = n.c.i, o && o != h) { e = !1; break t } o = h } return e } function rpn(t, e, n) { var r, s, o, h, d, w; for (o = -1, d = -1, h = 0; h < e.c.length && (s = (An(h, e.c.length), u(e.c[h], 329)), !(s.c > t.c)); h++)s.a >= t.s && (o < 0 && (o = h), d = h); return w = (t.s + t.c) / 2, o >= 0 && (r = Rbn(t, e, o, d), w = WWe((An(r, e.c.length), u(e.c[r], 329))), K0n(e, r, n)), w } function Fst() { Fst = J, nye = new po((Ti(), jx), 1.3), wCt = wSt, _Ct = new Sv(15), uye = new po($b, _Ct), hye = new po(zb, 15), rye = AG, aye = jb, oye = a5, cye = m2, sye = s5, kCt = KO, lye = Uy, TCt = (W4t(), Jme), xCt = Qme, ECt = Zme, CCt = tye, mCt = Xme, yCt = LG, iye = ySt, BO = Yme, vCt = Kme, SCt = eye } function Vr(t, e, n) { var r, s, o, h, d, w, k; for (h = (o = new VF, o), Nmt(h, (Pn(e), e)), k = (!h.b && (h.b = new Ml((hn(), uo), xc, h)), h.b), w = 1; w < n.length; w += 2)$z(k, n[w - 1], n[w]); for (r = (!t.Ab && (t.Ab = new he(li, t, 0, 3)), t.Ab), d = 0; d < 0; ++d)s = otn(u(St(r, r.i - 1), 590)), r = s; Hr(r, h) } function Aoe(t, e, n) { var r, s, o; for (YYe.call(this, new le), this.a = e, this.b = n, this.e = t, r = (t.b && iat(t), t.a), this.d = NYt(r.a, this.a), this.c = NYt(r.b, this.b), Icn(this, this.d, this.c), T0n(this), o = this.e.e.a.ec().Kc(); o.Ob();)s = u(o.Pb(), 266), s.c.c.length > 0 && Dmn(this, s) } function t5t(t, e, n, r, s, o) { var h, d, w; if (!s[e.b]) { for (s[e.b] = !0, h = r, !h && (h = new v$), ue(h.e, e), w = o[e.b].Kc(); w.Ob();)d = u(w.Pb(), 282), !(d.d == n || d.c == n) && (d.c != e && t5t(t, d.c, e, h, s, o), d.d != e && t5t(t, d.d, e, h, s, o), ue(h.c, d), Hs(h.d, d.b)); return h } return null } function ipn(t) { var e, n, r, s, o, h, d; for (e = 0, s = new S(t.e); s.a < s.c.c.length;)r = u(Q(s), 17), n = A8(new kn(null, new Cn(r.b, 16)), new aY), n && ++e; for (h = new S(t.g); h.a < h.c.c.length;)o = u(Q(h), 17), d = A8(new kn(null, new Cn(o.b, 16)), new oY), d && ++e; return e >= 2 } function spn(t, e) { var n, r, s, o; for (Ar(e, "Self-Loop pre-processing", 1), r = new S(t.a); r.a < r.c.c.length;)n = u(Q(r), 10), zcn(n) && (s = (o = new Vre(n), Jt(n, (ie(), d9), o), Evn(o), o), Ts(Cu(oc(new kn(null, new Cn(s.d, 16)), new iF), new qY), new HY), w2n(s)); br(e) } function apn(t, e, n, r, s) { var o, h, d, w, k, _; for (o = t.c.d.j, h = u(r1(n, 0), 8), _ = 1; _ < n.b; _++)k = u(r1(n, _), 8), Cs(r, h, r.c.b, r.c), d = pd($i(new No(h), k), .5), w = pd(new irt(hyt(o)), s), $i(d, w), Cs(r, d, r.c.b, r.c), h = k, o = e == 0 ? dz(o) : Nyt(o); pi(r, (ir(n.b != 0), u(n.c.b.c, 8))) } function opn(t) { ly(); var e, n, r; return n = Zi(th, ct(ot(_o, 1), se, 93, 0, [Df])), !(SD(n$(n, t)) > 1 || (e = Zi(Lf, ct(ot(_o, 1), se, 93, 0, [Z0, Mf])), SD(n$(e, t)) > 1) || (r = Zi(If, ct(ot(_o, 1), se, 93, 0, [d0, Yh])), SD(n$(r, t)) > 1)) } function cpn(t, e) { var n, r, s; return n = e.Hh(t.a), n && (s = Kr(e1((!n.b && (n.b = new Ml((hn(), uo), xc, n)), n.b), "affiliation")), s != null) ? (r = ij(s, Nu(35)), r == -1 ? Eit(t, b_(t, Vl(e.Hj())), s) : r == 0 ? Eit(t, null, s.substr(1)) : Eit(t, s.substr(0, r), s.substr(r + 1))) : null } function upn(t) { var e, n, r; try { return t == null ? Pu : Jo(t) } catch (s) { if (s = os(s), Et(s, 102)) return e = s, r = Mp(bl(t)) + "@" + (n = (Gd(), d3t(t) >>> 0), n.toString(16)), Qun(Xan(), (s8(), "Exception during lenientFormat for " + r), e), "<" + r + " threw " + Mp(e.gm) + ">"; throw et(s) } } function Loe(t) { switch (t.g) { case 0: return new IJ; case 1: return new kB; case 2: return new DHt; case 3: return new DL; case 4: return new ZUt; case 5: return new OJ; default: throw et(new Bn("No implementation is available for the layerer " + (t.f != null ? t.f : "" + t.g))) } } function e5t(t, e, n) { var r, s, o; for (o = new S(t.t); o.a < o.c.c.length;)r = u(Q(o), 268), r.b.s < 0 && r.c > 0 && (r.b.n -= r.c, r.b.n <= 0 && r.b.u > 0 && pi(e, r.b)); for (s = new S(t.i); s.a < s.c.c.length;)r = u(Q(s), 268), r.a.s < 0 && r.c > 0 && (r.a.u -= r.c, r.a.u <= 0 && r.a.n > 0 && pi(n, r.a)) } function Qz(t) { var e, n, r, s, o; if (t.g == null && (t.d = t.si(t.f), Hr(t, t.d), t.c)) return o = t.f, o; if (e = u(t.g[t.i - 1], 47), s = e.Pb(), t.e = e, n = t.si(s), n.Ob()) t.d = n, Hr(t, n); else for (t.d = null; !e.Ob() && (ds(t.g, --t.i, null), t.i != 0);)r = u(t.g[t.i - 1], 47), e = r; return s } function lpn(t, e) { var n, r, s, o, h, d; if (r = e, s = r.ak(), V0(t.e, s)) { if (s.hi() && d$(t, s, r.dd())) return !1 } else for (d = gu(t.e.Tg(), s), n = u(t.g, 119), o = 0; o < t.i; ++o)if (h = n[o], d.rl(h.ak())) return Ni(h, r) ? !1 : (u(u4(t, o, e), 72), !0); return Hr(t, e) } function hpn(t, e, n, r) { var s, o, h, d; for (s = new q0(t), _0(s, (Kn(), Bl)), Jt(s, (ie(), Bi), e), Jt(s, EO, r), Jt(s, (Ce(), xs), (xa(), eu)), Jt(s, c1, e.c), Jt(s, Uh, e.d), ece(e, s), d = b.Math.floor(n / 2), h = new S(s.j); h.a < h.c.c.length;)o = u(Q(h), 11), o.n.b = d; return s } function fpn(t, e) { var n, r, s, o, h, d, w, k, _; for (w = Ud(t.c - t.b & t.a.length - 1), k = null, _ = null, o = new T_(t); o.a != o.b;)s = u(lz(o), 10), n = (d = u(K(s, (ie(), c1)), 11), d ? d.i : null), r = (h = u(K(s, Uh), 11), h ? h.i : null), (k != n || _ != r) && (boe(w, e), k = n, _ = r), w.c[w.c.length] = s; boe(w, e) } function Moe(t) { var e, n, r, s, o, h, d; for (e = 0, r = new S(t.a); r.a < r.c.c.length;)for (n = u(Q(r), 10), o = new pr(mr(Gs(n).a.Kc(), new H)); Zr(o);)s = u(qr(o), 17), t == s.d.i.c && s.c.j == (we(), jn) && (h = I1(s.c).b, d = I1(s.d).b, e = b.Math.max(e, b.Math.abs(d - h))); return e } function dpn(t, e, n) { var r, s, o; Ar(n, "Remove overlaps", 1), n.n && e && vf(n, wf(e), (Pl(), rh)), r = u(ze(e, (l_(), NS)), 33), t.f = r, t.a = Uit(u(ze(e, (iy(), FO)), 293)), s = xe(ze(e, (Ti(), zb))), bT(t, (Pn(s), s)), o = fy(r), yle(t, e, o, n), n.n && e && vf(n, wf(e), (Pl(), rh)) } function n5t(t, e, n) { switch (n.g) { case 1: return new je(e.a, b.Math.min(t.d.b, e.b)); case 2: return new je(b.Math.max(t.c.a, e.a), e.b); case 3: return new je(e.a, b.Math.max(t.c.b, e.b)); case 4: return new je(b.Math.min(e.a, t.d.a), e.b) }return new je(e.a, e.b) } function gpn(t, e, n, r) { var s, o, h, d, w, k, _, L, F; for (L = r ? (we(), jn) : (we(), Wn), s = !1, w = e[n], k = 0, _ = w.length; k < _; ++k)d = w[k], !D6(u(K(d, (Ce(), xs)), 98)) && (h = d.e, F = !uc(d, L).dc() && !!h, F && (o = J3t(h), t.b = new t4t(o, r ? 0 : o.length - 1)), s = s | fvn(t, d, L, F)); return s } function hI(t) { var e, n, r; for (e = Ud(1 + (!t.c && (t.c = new he(El, t, 9, 9)), t.c).i), ue(e, (!t.d && (t.d = new Tn(aa, t, 8, 5)), t.d)), r = new lr((!t.c && (t.c = new he(El, t, 9, 9)), t.c)); r.e != r.i.gc();)n = u(kr(r), 118), ue(e, (!n.d && (n.d = new Tn(aa, n, 8, 5)), n.d)); return zr(e), new r_(e) } function H0(t) { var e, n, r; for (e = Ud(1 + (!t.c && (t.c = new he(El, t, 9, 9)), t.c).i), ue(e, (!t.e && (t.e = new Tn(aa, t, 7, 4)), t.e)), r = new lr((!t.c && (t.c = new he(El, t, 9, 9)), t.c)); r.e != r.i.gc();)n = u(kr(r), 118), ue(e, (!n.e && (n.e = new Tn(aa, n, 7, 4)), n.e)); return zr(e), new r_(e) } function ppn(t) { var e, n, r, s; if (t == null) return null; if (r = Xc(t, !0), s = eO.length, ln(r.substr(r.length - s, s), eO)) { if (n = r.length, n == 4) { if (e = (Yr(0, r.length), r.charCodeAt(0)), e == 43) return QAt; if (e == 45) return F4e } else if (n == 3) return QAt } return cy(r) } function bpn(t) { var e, n, r, s; for (e = 0, n = 0, s = new S(t.j); s.a < s.c.c.length;)if (r = u(Q(s), 11), e = $r(Wa(e, HZt(Qi(new kn(null, new Cn(r.e, 16)), new oQ)))), n = $r(Wa(n, HZt(Qi(new kn(null, new Cn(r.g, 16)), new cQ)))), e > 1 || n > 1) return 2; return e + n == 1 ? 2 : 0 } function Doe(t, e, n) { var r, s, o, h, d; for (Ar(n, "ELK Force", 1), Re(Be(ze(e, (i1(), W7t)))) || t$((r = new fr((Lm(), new _m(e))), r)), d = one(e), Phn(d), gon(t, u(K(d, U7t), 424)), h = yue(t.a, d), o = h.Kc(); o.Ob();)s = u(o.Pb(), 231), Xbn(t.b, s, Kc(n, 1 / h.gc())); d = Ole(h), Mle(d), br(n) } function vpn(t, e) { var n, r, s, o, h; if (Ar(e, "Breaking Point Processor", 1), Byn(t), Re(Be(K(t, (Ce(), t_t))))) { for (s = new S(t.b); s.a < s.c.c.length;)for (r = u(Q(s), 29), n = 0, h = new S(r.a); h.a < h.c.c.length;)o = u(Q(h), 10), o.p = n++; jwn(t), tce(t, !0), tce(t, !1) } br(e) } function wpn(t, e, n) { var r, s, o, h, d, w; for (d = t.c, h = (n.q ? n.q : (pn(), pn(), u0)).vc().Kc(); h.Ob();)o = u(h.Pb(), 42), r = !OT(Qi(new kn(null, new Cn(d, 16)), new Zt(new pVt(e, o)))).sd((G2(), J7)), r && (w = o.dd(), Et(w, 4) && (s = a3t(w), s != null && (w = s)), e.Ye(u(o.cd(), 146), w)) } function Zz(t, e) { var n, r, s, o, h; if (e) { for (o = Et(t.Cb, 88) || Et(t.Cb, 99), h = !o && Et(t.Cb, 322), r = new lr((!e.a && (e.a = new p_(e, Co, e)), e.a)); r.e != r.i.gc();)if (n = u(kr(r), 87), s = uq(n), o ? Et(s, 88) : h ? Et(s, 148) : s) return s; return o ? (hn(), ef) : (hn(), J1) } else return null } function mpn(t, e) { var n, r, s, o, h, d; for (Ar(e, "Constraints Postprocessor", 1), h = 0, o = new S(t.b); o.a < o.c.c.length;) { for (s = u(Q(o), 29), d = 0, r = new S(s.a); r.a < r.c.c.length;)n = u(Q(r), 10), n.k == (Kn(), Ws) && (Jt(n, (Ce(), GV), pe(h)), Jt(n, zV, pe(d)), ++d); ++h } br(e) } function ypn(t, e, n, r) { var s, o, h, d, w, k, _; for (w = new je(n, r), ba(w, u(K(e, (Sc(), DS)), 8)), _ = gi(e.b, 0); _.b != _.d.c;)k = u(di(_), 86), $i(k.e, w), pi(t.b, k); for (d = gi(e.a, 0); d.b != d.d.c;) { for (h = u(di(d), 188), o = gi(h.a, 0); o.b != o.d.c;)s = u(di(o), 8), $i(s, w); pi(t.a, h) } } function r5t(t, e, n) { var r, s, o; if (o = E4((Yu(), Pa), t.Tg(), e), o) { if (go(), !u(o, 66).Oj() && (o = z6(Bo(Pa, o)), !o)) throw et(new Bn(c2 + e.ne() + zC)); s = (r = t.Yg(o), u(r >= 0 ? t._g(r, !0, !0) : ow(t, o, !0), 153)), u(s, 215).ml(e, n) } else throw et(new Bn(c2 + e.ne() + zC)) } function xpn(t, e) { var n, r, s, o, h; for (n = new le, s = oc(new kn(null, new Cn(t, 16)), new LQ), o = oc(new kn(null, new Cn(t, 16)), new MQ), h = Kin(uin(Vj(t2n(ct(ot(M4n, 1), De, 833, 0, [s, o])), new DQ))), r = 1; r < h.length; r++)h[r] - h[r - 1] >= 2 * e && ue(n, new cnt(h[r - 1] + e, h[r] - e)); return n } function kpn(t, e, n) { Ar(n, "Eades radial", 1), n.n && e && vf(n, wf(e), (Pl(), rh)), t.d = u(ze(e, (l_(), NS)), 33), t.c = Xt(xe(ze(e, (iy(), wG)))), t.e = Uit(u(ze(e, FO), 293)), t.a = eun(u(ze(e, iCt), 426)), t.b = Efn(u(ze(e, rCt), 340)), rfn(t), n.n && e && vf(n, wf(e), (Pl(), rh)) } function Epn(t, e, n) { var r, s, o, h, d, w, k, _; if (n) for (o = n.a.length, r = new Y2(o), d = (r.b - r.a) * r.c < 0 ? (Op(), M2) : new Bp(r); d.Ob();)h = u(d.Pb(), 19), s = C8(n, h.a), s && (w = xrn(t, (k = (xv(), _ = new wpt, _), e && i5t(k, e), k), s), F_(w, I0(s, Dd)), Vz(s, w), A4t(s, w), ait(t, s, w)) } function Jz(t) { var e, n, r, s, o, h; if (!t.j) { if (h = new GE, e = tA, o = e.a.zc(t, e), o == null) { for (r = new lr(zo(t)); r.e != r.i.gc();)n = u(kr(r), 26), s = Jz(n), vs(h, s), Hr(h, n); e.a.Bc(t) != null } Jm(h), t.j = new q3((u(St(Ut((zp(), Ln).o), 11), 18), h.i), h.g), gl(t).b &= -33 } return t.j } function Tpn(t) { var e, n, r, s; if (t == null) return null; if (r = Xc(t, !0), s = eO.length, ln(r.substr(r.length - s, s), eO)) { if (n = r.length, n == 4) { if (e = (Yr(0, r.length), r.charCodeAt(0)), e == 43) return ZAt; if (e == 45) return B4e } else if (n == 3) return ZAt } return new opt(r) } function _pn(t) { var e, n, r; return n = t.l, n & n - 1 || (r = t.m, r & r - 1) || (e = t.h, e & e - 1) || e == 0 && r == 0 && n == 0 ? -1 : e == 0 && r == 0 && n != 0 ? Smt(n) : e == 0 && r != 0 && n == 0 ? Smt(r) + 22 : e != 0 && r == 0 && n == 0 ? Smt(e) + 44 : -1 } function Cpn(t, e) { var n, r, s, o, h; for (Ar(e, "Edge joining", 1), n = Re(Be(K(t, (Ce(), Vlt)))), s = new S(t.b); s.a < s.c.c.length;)for (r = u(Q(s), 29), h = new Ca(r.a, 0); h.b < h.d.gc();)o = (ir(h.b < h.d.gc()), u(h.d.Xb(h.c = h.b++), 10)), o.k == (Kn(), ha) && (gat(o, n), Ol(h)); br(e) } function Spn(t, e, n) { var r, s; if (u$(t.b), Yd(t.b, (HD(), mG), (BT(), RO)), Yd(t.b, yG, e.g), Yd(t.b, xG, e.a), t.a = pq(t.b, e), Ar(n, "Compaction by shrinking a tree", t.a.c.length), e.i.c.length > 1) for (s = new S(t.a); s.a < s.c.c.length;)r = u(Q(s), 51), r.pf(e, Kc(n, 1)); br(n) } function v4(t, e) { var n, r, s, o, h; for (s = e.a & t.f, o = null, r = t.b[s]; ; r = r.b) { if (r == e) { o ? o.b = e.b : t.b[s] = e.b; break } o = r } for (h = e.f & t.f, o = null, n = t.c[h]; ; n = n.d) { if (n == e) { o ? o.d = e.d : t.c[h] = e.d; break } o = n } e.e ? e.e.c = e.c : t.a = e.c, e.c ? e.c.e = e.e : t.e = e.e, --t.i, ++t.g } function Apn(t) { var e, n, r, s, o, h, d, w, k, _; for (n = t.o, e = t.p, h = Di, s = $a, d = Di, o = $a, k = 0; k < n; ++k)for (_ = 0; _ < e; ++_)l4(t, k, _) && (h = b.Math.min(h, k), s = b.Math.max(s, k), d = b.Math.min(d, _), o = b.Math.max(o, _)); return w = s - h + 1, r = o - d + 1, new OYt(pe(h), pe(d), pe(w), pe(r)) } function Bst(t, e) { var n, r, s, o; for (o = new Ca(t, 0), n = (ir(o.b < o.d.gc()), u(o.d.Xb(o.c = o.b++), 140)); o.b < o.d.gc();)r = (ir(o.b < o.d.gc()), u(o.d.Xb(o.c = o.b++), 140)), s = new dvt(r.c, n.d, e), ir(o.b > 0), o.a.Xb(o.c = --o.b), Fm(o, s), ir(o.b < o.d.gc()), o.d.Xb(o.c = o.b++), s.a = !1, n = r } function Ioe(t) { var e, n, r, s, o, h; for (s = u(K(t, (ie(), IV)), 11), h = new S(t.j); h.a < h.c.c.length;) { for (o = u(Q(h), 11), r = new S(o.g); r.a < r.c.c.length;)return e = u(Q(r), 17), ma(e, s), o; for (n = new S(o.e); n.a < n.c.c.length;)return e = u(Q(n), 17), Ua(e, s), o } return null } function Lpn(t, e, n) { var r, s; r = Ou(n.q.getTime()), Oc(r, 0) < 0 ? (s = jg - $r(GD(O8(r), jg)), s == jg && (s = 0)) : s = $r(GD(r, jg)), e == 1 ? (s = b.Math.min((s + 50) / 100 | 0, 9), $p(t, 48 + s & Ns)) : e == 2 ? (s = b.Math.min((s + 5) / 10 | 0, 99), Jd(t, s, 2)) : (Jd(t, s, 3), e > 3 && Jd(t, 0, e - 3)) } function Mpn(t) { var e, n, r, s; return qt(K(t, (Ce(), By))) === qt((j0(), Qg)) ? !t.e && qt(K(t, _O)) !== qt((W8(), wO)) : (r = u(K(t, Ilt), 292), s = Re(Be(K(t, Olt))) || qt(K(t, vS)) === qt((K6(), vO)), e = u(K(t, vTt), 19).a, n = t.a.c.length, !s && r != (W8(), wO) && (e == 0 || e > n)) } function Dpn(t) { var e, n; for (n = 0; n < t.c.length && !(nKt((An(n, t.c.length), u(t.c[n], 113))) > 0); n++); if (n > 0 && n < t.c.length - 1) return n; for (e = 0; e < t.c.length && !(nKt((An(e, t.c.length), u(t.c[e], 113))) > 0); e++); return e > 0 && n < t.c.length - 1 ? e : t.c.length / 2 | 0 } function Ooe(t, e) { var n, r; if (e != t.Cb || t.Db >> 16 != 6 && e) { if (l7(t, e)) throw et(new Bn(qC + Qae(t))); r = null, t.Cb && (r = (n = t.Db >> 16, n >= 0 ? M3t(t, r) : t.Cb.ih(t, -1 - n, null, r))), e && (r = tx(e, t, 6, r)), r = Abt(t, e, r), r && r.Fi() } else t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 6, e, e)) } function i5t(t, e) { var n, r; if (e != t.Cb || t.Db >> 16 != 9 && e) { if (l7(t, e)) throw et(new Bn(qC + Oce(t))); r = null, t.Cb && (r = (n = t.Db >> 16, n >= 0 ? I3t(t, r) : t.Cb.ih(t, -1 - n, null, r))), e && (r = tx(e, t, 9, r)), r = Lbt(t, e, r), r && r.Fi() } else t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 9, e, e)) } function Rst(t, e) { var n, r; if (e != t.Cb || t.Db >> 16 != 3 && e) { if (l7(t, e)) throw et(new Bn(qC + Iue(t))); r = null, t.Cb && (r = (n = t.Db >> 16, n >= 0 ? N3t(t, r) : t.Cb.ih(t, -1 - n, null, r))), e && (r = tx(e, t, 12, r)), r = Sbt(t, e, r), r && r.Fi() } else t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 3, e, e)) } function m7(t) { var e, n, r, s, o; if (r = Bh(t), o = t.j, o == null && r) return t.$j() ? null : r.zj(); if (Et(r, 148)) { if (n = r.Aj(), n && (s = n.Nh(), s != t.i)) { if (e = u(r, 148), e.Ej()) try { t.g = s.Kh(e, o) } catch (h) { if (h = os(h), Et(h, 78)) t.g = null; else throw et(h) } t.i = s } return t.g } return null } function Noe(t) { var e; return e = new le, ue(e, new E6(new je(t.c, t.d), new je(t.c + t.b, t.d))), ue(e, new E6(new je(t.c, t.d), new je(t.c, t.d + t.a))), ue(e, new E6(new je(t.c + t.b, t.d + t.a), new je(t.c + t.b, t.d))), ue(e, new E6(new je(t.c + t.b, t.d + t.a), new je(t.c, t.d + t.a))), e } function Poe(t, e, n, r) { var s, o, h; if (h = q3t(e, n), r.c[r.c.length] = e, t.j[h.p] == -1 || t.j[h.p] == 2 || t.a[e.p]) return r; for (t.j[h.p] = -1, o = new pr(mr($0(h).a.Kc(), new H)); Zr(o);)if (s = u(qr(o), 17), !(!(!ro(s) && !(!ro(s) && s.c.i.c == s.d.i.c)) || s == e)) return Poe(t, s, h, r); return r } function Ipn(t, e, n) { var r, s, o; for (o = e.a.ec().Kc(); o.Ob();)s = u(o.Pb(), 79), r = u(or(t.b, s), 266), !r && (gs(e0(s)) == gs(Zp(s)) ? W2n(t, s, n) : e0(s) == gs(Zp(s)) ? or(t.c, s) == null && or(t.b, Zp(s)) != null && gle(t, s, n, !1) : or(t.d, s) == null && or(t.b, e0(s)) != null && gle(t, s, n, !0)) } function Opn(t, e) { var n, r, s, o, h, d, w; for (s = t.Kc(); s.Ob();)for (r = u(s.Pb(), 10), d = new zc, ac(d, r), Qs(d, (we(), Wn)), Jt(d, (ie(), FV), (Rn(), !0)), h = e.Kc(); h.Ob();)o = u(h.Pb(), 10), w = new zc, ac(w, o), Qs(w, jn), Jt(w, FV, !0), n = new Rv, Jt(n, FV, !0), Ua(n, d), ma(n, w) } function Npn(t, e, n, r) { var s, o, h, d; s = Mre(t, e, n), o = Mre(t, n, e), h = u(or(t.c, e), 112), d = u(or(t.c, n), 112), s < o ? new Z2((Qf(), Vy), h, d, o - s) : o < s ? new Z2((Qf(), Vy), d, h, s - o) : (s != 0 || !(!e.i || !n.i) && r[e.i.c][n.i.c]) && (new Z2((Qf(), Vy), h, d, 0), new Z2(Vy, d, h, 0)) } function Foe(t, e) { var n, r, s, o, h, d, w; for (s = 0, h = new S(e.a); h.a < h.c.c.length;)for (o = u(Q(h), 10), s += o.o.b + o.d.a + o.d.d + t.e, r = new pr(mr(Zo(o).a.Kc(), new H)); Zr(r);)n = u(qr(r), 17), n.c.i.k == (Kn(), Jc) && (w = n.c.i, d = u(K(w, (ie(), Bi)), 10), s += d.o.b + d.d.a + d.d.d); return s } function Boe(t, e, n) { var r, s, o, h, d, w, k; for (o = new le, k = new hs, h = new hs, Ewn(t, k, h, e), Oyn(t, k, h, e, n), w = new S(t); w.a < w.c.c.length;)for (d = u(Q(w), 112), s = new S(d.k); s.a < s.c.c.length;)r = u(Q(s), 129), (!e || r.c == (Qf(), v2)) && d.g > r.b.g && (o.c[o.c.length] = r); return o } function y7() { y7 = J, n5 = new _M("CANDIDATE_POSITION_LAST_PLACED_RIGHT", 0), Bx = new _M("CANDIDATE_POSITION_LAST_PLACED_BELOW", 1), FS = new _M("CANDIDATE_POSITION_WHOLE_DRAWING_RIGHT", 2), PS = new _M("CANDIDATE_POSITION_WHOLE_DRAWING_BELOW", 3), BS = new _M("WHOLE_DRAWING", 4) } function Ppn(t, e) { if (Et(e, 239)) return hcn(t, u(e, 33)); if (Et(e, 186)) return Tcn(t, u(e, 118)); if (Et(e, 354)) return Btn(t, u(e, 137)); if (Et(e, 352)) return own(t, u(e, 79)); if (e) return null; throw et(new Bn(n8t + Jp(new Al(ct(ot(nr, 1), De, 1, 5, [e]))))) } function Fpn(t) { var e, n, r, s, o, h, d; for (o = new hs, s = new S(t.d.a); s.a < s.c.c.length;)r = u(Q(s), 121), r.b.a.c.length == 0 && Cs(o, r, o.c.b, o.c); if (o.b > 1) for (e = Lv((n = new V2, ++t.b, n), t.d), d = gi(o, 0); d.b != d.d.c;)h = u(di(d), 121), Ef(df(ff(gf(hf(new Dh, 1), 0), e), h)) } function s5t(t, e) { var n, r; if (e != t.Cb || t.Db >> 16 != 11 && e) { if (l7(t, e)) throw et(new Bn(qC + E5t(t))); r = null, t.Cb && (r = (n = t.Db >> 16, n >= 0 ? P3t(t, r) : t.Cb.ih(t, -1 - n, null, r))), e && (r = tx(e, t, 10, r)), r = Bbt(t, e, r), r && r.Fi() } else t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 11, e, e)) } function Bpn(t) { var e, n, r, s; for (r = new ub(new vg(t.b).a); r.b;)n = Uv(r), s = u(n.cd(), 11), e = u(n.dd(), 10), Jt(e, (ie(), Bi), s), Jt(s, ul, e), Jt(s, xO, (Rn(), !0)), Qs(s, u(K(e, yc), 61)), K(e, yc), Jt(s.i, (Ce(), xs), (xa(), L9)), u(K(Qa(s.i), tu), 21).Fc((ko(), f9)) } function Rpn(t, e, n) { var r, s, o, h, d, w; if (o = 0, h = 0, t.c) for (w = new S(t.d.i.j); w.a < w.c.c.length;)d = u(Q(w), 11), o += d.e.c.length; else o = 1; if (t.d) for (w = new S(t.c.i.j); w.a < w.c.c.length;)d = u(Q(w), 11), h += d.g.c.length; else h = 1; return s = Ms(WM(h - o)), r = (n + e) / 2 + (n - e) * (.4 * s), r } function jpn(t) { g4(); var e, n; if (t.Hc((we(), fc))) throw et(new Bn("Port sides must not contain UNDEFINED")); switch (t.gc()) { case 1: return yV; case 2: return e = t.Hc(Wn) && t.Hc(jn), n = t.Hc(Fn) && t.Hc(Lr), e || n ? EV : kV; case 3: return xV; case 4: return mV; default: return null } } function $pn(t, e, n) { var r, s, o, h, d; for (Ar(n, "Breaking Point Removing", 1), t.a = u(K(e, (Ce(), Y0)), 218), o = new S(e.b); o.a < o.c.c.length;)for (s = u(Q(o), 29), d = new S(zv(s.a)); d.a < d.c.c.length;)h = u(Q(d), 10), fte(h) && (r = u(K(h, (ie(), Cw)), 305), !r.d && Nle(t, r)); br(n) } function jst(t, e, n) { return y4(), H8(t, e) && H8(t, n) ? !1 : bat(new je(t.c, t.d), new je(t.c + t.b, t.d), e, n) || bat(new je(t.c + t.b, t.d), new je(t.c + t.b, t.d + t.a), e, n) || bat(new je(t.c + t.b, t.d + t.a), new je(t.c, t.d + t.a), e, n) || bat(new je(t.c, t.d + t.a), new je(t.c, t.d), e, n) } function a5t(t, e) { var n, r, s, o; if (!t.dc()) { for (n = 0, r = t.gc(); n < r; ++n)if (o = Kr(t.Xb(n)), o == null ? e == null : ln(o.substr(0, 3), "!##") ? e != null && (s = e.length, !ln(o.substr(o.length - s, s), e) || o.length != e.length + 3) && !ln(Sb, e) : ln(o, Uct) && !ln(Sb, e) || ln(o, e)) return !0 } return !1 } function zpn(t, e, n, r) { var s, o, h, d, w, k; for (h = t.j.c.length, w = Ot(O4n, A6t, 306, h, 0, 1), d = 0; d < h; d++)o = u(Fe(t.j, d), 11), o.p = d, w[d] = W0n(coe(o), n, r); for (h2n(t, w, n, e, r), k = new Rr, s = 0; s < w.length; s++)w[s] && Pi(k, u(Fe(t.j, s), 11), w[s]); k.f.c + k.g.c != 0 && (Jt(t, (ie(), dS), k), pdn(t, w)) } function qpn(t, e, n) { var r, s, o; for (s = new S(t.a.b); s.a < s.c.c.length;)if (r = u(Q(s), 57), o = Z3(r), o && o.k == (Kn(), Fs)) switch (u(K(o, (ie(), yc)), 61).g) { case 4: o.n.a = e.a; break; case 2: o.n.a = n.a - (o.o.a + o.d.c); break; case 1: o.n.b = e.b; break; case 3: o.n.b = n.b - (o.o.b + o.d.a) } } function w4() { w4 = J, nG = new T6(W0, 0), LO = new T6("NIKOLOV", 1), MO = new T6("NIKOLOV_PIXEL", 2), h_t = new T6("NIKOLOV_IMPROVED", 3), f_t = new T6("NIKOLOV_IMPROVED_PIXEL", 4), l_t = new T6("DUMMYNODE_PERCENTAGE", 5), d_t = new T6("NODECOUNT_PERCENTAGE", 6), rG = new T6("NO_BOUNDARY", 7) } function Hpn(t, e, n) { var r, s, o, h, d; return s = u(ze(e, (Uz(), cSt)), 19), !s && (s = pe(0)), o = u(ze(n, cSt), 19), !o && (o = pe(0)), s.a > o.a ? -1 : s.a < o.a ? 1 : t.a && (r = Vs(e.j, n.j), r != 0 || (r = Vs(e.i, n.i), r != 0)) ? r : (h = e.g * e.f, d = n.g * n.f, Vs(h, d)) } function Vpn(t, e) { var n, r, s, o, h, d, w, k, _, L; if (++t.e, w = t.d == null ? 0 : t.d.length, e > w) { for (_ = t.d, t.d = Ot(EAt, h8t, 63, 2 * w + 4, 0, 1), o = 0; o < w; ++o)if (k = _[o], k) for (r = k.g, L = k.i, d = 0; d < L; ++d)s = u(r[d], 133), h = Mbt(t, s.Sh()), n = t.d[h], !n && (n = t.d[h] = t.uj()), n.Fc(s); return !0 } else return !1 } function Gpn(t, e, n) { var r, s, o, h, d, w; if (s = n, o = s.ak(), V0(t.e, o)) { if (o.hi()) { for (r = u(t.g, 119), h = 0; h < t.i; ++h)if (d = r[h], Ni(d, s) && h != e) throw et(new Bn(YI)) } } else for (w = gu(t.e.Tg(), o), r = u(t.g, 119), h = 0; h < t.i; ++h)if (d = r[h], w.rl(d.ak())) throw et(new Bn(tO)); W_(t, e, n) } function Roe(t, e) { var n, r, s, o, h, d; for (n = u(K(e, (ie(), Iy)), 21), h = u(ji((mat(), Wi), n), 21), d = u(ji(ui, n), 21), o = h.Kc(); o.Ob();)if (r = u(o.Pb(), 21), !u(ji(t.b, r), 15).dc()) return !1; for (s = d.Kc(); s.Ob();)if (r = u(s.Pb(), 21), !u(ji(t.b, r), 15).dc()) return !1; return !0 } function Upn(t, e) { var n, r, s, o, h, d; for (Ar(e, "Partition postprocessing", 1), r = new S(t.b); r.a < r.c.c.length;)for (n = u(Q(r), 29), o = new S(n.a); o.a < o.c.c.length;)for (s = u(Q(o), 10), d = new S(s.j); d.a < d.c.c.length;)h = u(Q(d), 11), Re(Be(K(h, (ie(), FV)))) && y_(d); br(e) } function joe(t, e) { var n, r, s, o, h, d, w, k, _; if (t.a.c.length == 1) return Hse(u(Fe(t.a, 0), 187), e); for (h = Yon(t), w = 0, k = t.d, o = h, _ = t.d, d = (k - o) / 2 + o; o + 1 < k;) { for (w = 0, r = new S(t.a); r.a < r.c.c.length;)n = u(Q(r), 187), w += (s = vC(n, d, !1), s.a); w < e ? (_ = d, k = d) : o = d, d = (k - o) / 2 + o } return _ } function Wpn(t) { var e, n, r, s, o; return isNaN(t) ? (N8(), N8t) : t < -9223372036854776e3 ? (N8(), M0e) : t >= 9223372036854776e3 ? (N8(), I8t) : (s = !1, t < 0 && (s = !0, t = -t), r = 0, t >= mb && (r = Ms(t / mb), t -= r * mb), n = 0, t >= hx && (n = Ms(t / hx), t -= n * hx), e = Ms(t), o = hu(e, n, r), s && sit(o), o) } function Kpn(t, e) { var n, r, s, o; for (n = !e || !t.u.Hc((cl(), J0)), o = 0, s = new S(t.e.Cf()); s.a < s.c.c.length;) { if (r = u(Q(s), 838), r.Hf() == (we(), fc)) throw et(new Bn("Label and node size calculator can only be used with ports that have port sides assigned.")); r.vf(o++), Uon(t, r, n) } } function Ypn(t, e) { var n, r, s, o, h; return s = e.Hh(t.a), s && (r = (!s.b && (s.b = new Ml((hn(), uo), xc, s)), s.b), n = Kr(e1(r, za)), n != null && (o = n.lastIndexOf("#"), h = o == -1 ? ybt(t, e.Aj(), n) : o == 0 ? gD(t, null, n.substr(1)) : gD(t, n.substr(0, o), n.substr(o + 1)), Et(h, 148))) ? u(h, 148) : null } function Xpn(t, e) { var n, r, s, o, h; return r = e.Hh(t.a), r && (n = (!r.b && (r.b = new Ml((hn(), uo), xc, r)), r.b), o = Kr(e1(n, Gct)), o != null && (s = o.lastIndexOf("#"), h = s == -1 ? ybt(t, e.Aj(), o) : s == 0 ? gD(t, null, o.substr(1)) : gD(t, o.substr(0, s), o.substr(s + 1)), Et(h, 148))) ? u(h, 148) : null } function o5t(t) { var e, n, r, s, o; for (n = new S(t.a.a); n.a < n.c.c.length;) { for (e = u(Q(n), 307), e.j = null, o = e.a.a.ec().Kc(); o.Ob();)r = u(o.Pb(), 57), Xf(r.b), (!e.j || r.d.c < e.j.d.c) && (e.j = r); for (s = e.a.a.ec().Kc(); s.Ob();)r = u(s.Pb(), 57), r.b.a = r.d.c - e.j.d.c, r.b.b = r.d.d - e.j.d.d } return t } function tq(t) { var e, n, r, s, o; for (n = new S(t.a.a); n.a < n.c.c.length;) { for (e = u(Q(n), 189), e.f = null, o = e.a.a.ec().Kc(); o.Ob();)r = u(o.Pb(), 81), Xf(r.e), (!e.f || r.g.c < e.f.g.c) && (e.f = r); for (s = e.a.a.ec().Kc(); s.Ob();)r = u(s.Pb(), 81), r.e.a = r.g.c - e.f.g.c, r.e.b = r.g.d - e.f.g.d } return t } function Qpn(t) { var e, n, r; return n = u(t.a, 19).a, r = u(t.b, 19).a, e = b.Math.max(b.Math.abs(n), b.Math.abs(r)), n < e && r == -e ? new _a(pe(n + 1), pe(r)) : n == e && r < e ? new _a(pe(n), pe(r + 1)) : n >= -e && r == e ? new _a(pe(n - 1), pe(r)) : new _a(pe(n), pe(r - 1)) } function $oe() { return vo(), ct(ot(R4n, 1), se, 77, 0, [C9t, E9t, sS, Gut, G9t, sV, pV, r9, H9t, N9t, z9t, n9, V9t, D9t, U9t, v9t, uV, Uut, rV, fV, K9t, hV, w9t, q9t, Y9t, dV, W9t, iV, A9t, j9t, R9t, bV, x9t, nV, oV, y9t, e9, F9t, I9t, $9t, aS, T9t, k9t, B9t, O9t, cV, gV, m9t, lV, P9t, aV, L9t, S9t, pO, eV, M9t, _9t]) } function Zpn(t, e, n) { t.d = 0, t.b = 0, e.k == (Kn(), Jc) && n.k == Jc && u(K(e, (ie(), Bi)), 10) == u(K(n, Bi), 10) && (Irt(e).j == (we(), Fn) ? _oe(t, e, n) : _oe(t, n, e)), e.k == Jc && n.k == ha ? Irt(e).j == (we(), Fn) ? t.d = 1 : t.b = 1 : n.k == Jc && e.k == ha && (Irt(n).j == (we(), Fn) ? t.b = 1 : t.d = 1), jln(t, e, n) } function Jpn(t) { var e, n, r, s, o, h, d, w, k, _, L; return L = i4t(t), e = t.a, w = e != null, w && p8(L, "category", t.a), s = hM(new km(t.d)), h = !s, h && (k = new pg, Jf(L, "knownOptions", k), n = new A$t(k), Oa(new km(t.d), n)), o = hM(t.g), d = !o, d && (_ = new pg, Jf(L, "supportedFeatures", _), r = new L$t(_), Oa(t.g, r)), L } function t2n(t) { var e, n, r, s, o, h, d, w, k; for (r = !1, e = 336, n = 0, o = new qUt(t.length), d = t, w = 0, k = d.length; w < k; ++w)h = d[w], r = r | (hb(h), !1), s = (qp(h), h.a), ue(o.a, zr(s)), e &= s.qd(), n = Lon(n, s.rd()); return u(u(KKt(new kn(null, wst(new Cn((qm(), Xyt(o.a)), 16), new rt, e, n)), new itt(t)), 670), 833) } function e2n(t, e) { var n; t.d && (e.c != t.e.c || han(t.e.b, e.b)) && (ue(t.f, t.d), t.a = t.d.c + t.d.b, t.d = null, t.e = null), yKe(e.b) ? t.c = e : t.b = e, (e.b == (K8(), Ew) && !e.a || e.b == Ly && e.a || e.b == j4 && e.a || e.b == My && !e.a) && t.c && t.b && (n = new fh(t.a, t.c.d, e.c - t.a, t.b.d - t.c.d), t.d = n, t.e = e) } function fI(t) { var e; if ($zt.call(this), this.i = new sZ, this.g = t, this.f = u(t.e && t.e(), 9).length, this.f == 0) throw et(new Bn("There must be at least one phase in the phase enumeration.")); this.c = (e = u(Yf(this.g), 9), new hh(e, u(pf(e, e.length), 9), 0)), this.a = new ra, this.b = new Rr } function c5t(t, e) { var n, r; if (e != t.Cb || t.Db >> 16 != 7 && e) { if (l7(t, e)) throw et(new Bn(qC + Wse(t))); r = null, t.Cb && (r = (n = t.Db >> 16, n >= 0 ? D3t(t, r) : t.Cb.ih(t, -1 - n, null, r))), e && (r = u(e, 49).gh(t, 1, iN, r)), r = Lvt(t, e, r), r && r.Fi() } else t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 7, e, e)) } function zoe(t, e) { var n, r; if (e != t.Cb || t.Db >> 16 != 3 && e) { if (l7(t, e)) throw et(new Bn(qC + nre(t))); r = null, t.Cb && (r = (n = t.Db >> 16, n >= 0 ? O3t(t, r) : t.Cb.ih(t, -1 - n, null, r))), e && (r = u(e, 49).gh(t, 0, aN, r)), r = Mvt(t, e, r), r && r.Fi() } else t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 3, e, e)) } function $st(t, e) { b7(); var n, r, s, o, h, d, w, k, _; return e.d > t.d && (d = t, t = e, e = d), e.d < 63 ? V2n(t, e) : (h = (t.d & -2) << 4, k = Hwt(t, h), _ = Hwt(e, h), r = nat(t, H6(k, h)), s = nat(e, H6(_, h)), w = $st(k, _), n = $st(r, s), o = $st(nat(k, r), nat(s, _)), o = lat(lat(o, w), n), o = H6(o, h), w = H6(w, h << 1), lat(lat(w, o), n)) } function n2n(t, e, n) { var r, s, o, h, d; for (h = G_(t, n), d = Ot(l0, $g, 10, e.length, 0, 1), r = 0, o = h.Kc(); o.Ob();)s = u(o.Pb(), 11), Re(Be(K(s, (ie(), xO)))) && (d[r++] = u(K(s, ul), 10)); if (r < e.length) throw et(new Yo("Expected " + e.length + " hierarchical ports, but found only " + r + ".")); return d } function r2n(t, e) { var n, r, s, o, h, d; if (!t.tb) { for (o = (!t.rb && (t.rb = new $m(t, l1, t)), t.rb), d = new x6(o.i), s = new lr(o); s.e != s.i.gc();)r = u(kr(s), 138), h = r.ne(), n = u(h == null ? du(d.f, null, r) : Jv(d.g, h, r), 138), n && (h == null ? du(d.f, null, n) : Jv(d.g, h, n)); t.tb = d } return u(Uc(t.tb, e), 138) } function dI(t, e) { var n, r, s, o, h; if ((t.i == null && xd(t), t.i).length, !t.p) { for (h = new x6((3 * t.g.i / 2 | 0) + 1), s = new L6(t.g); s.e != s.i.gc();)r = u(Vit(s), 170), o = r.ne(), n = u(o == null ? du(h.f, null, r) : Jv(h.g, o, r), 170), n && (o == null ? du(h.f, null, n) : Jv(h.g, o, n)); t.p = h } return u(Uc(t.p, e), 170) } function u5t(t, e, n, r, s) { var o, h, d, w, k; for ($un(r + Xnt(n, n.$d()), s), lYt(e, fun(n)), o = n.f, o && u5t(t, e, o, "Caused by: ", !1), d = (n.k == null && (n.k = Ot(cut, te, 78, 0, 0, 1)), n.k), w = 0, k = d.length; w < k; ++w)h = d[w], u5t(t, e, h, "Suppressed: ", !1); console.groupEnd != null && console.groupEnd.call(console) } function gI(t, e, n, r) { var s, o, h, d, w; for (w = e.e, d = w.length, h = e.q._f(w, n ? 0 : d - 1, n), s = w[n ? 0 : d - 1], h = h | Cce(t, s, n, r), o = n ? 1 : d - 2; n ? o < d : o >= 0; o += n ? 1 : -1)h = h | e.c.Sf(w, o, n, r && !Re(Be(K(e.j, (ie(), Sw)))) && !Re(Be(K(e.j, (ie(), K4))))), h = h | e.q._f(w, o, n), h = h | Cce(t, w[o], n, r); return Ys(t.c, e), h } function eq(t, e, n) { var r, s, o, h, d, w, k, _, L, F; for (_ = _Qt(t.j), L = 0, F = _.length; L < F; ++L) { if (k = _[L], n == (yo(), ll) || n == TS) for (w = yd(k.g), s = w, o = 0, h = s.length; o < h; ++o)r = s[o], gdn(e, r) && lw(r, !0); if (n == lu || n == TS) for (d = yd(k.e), s = d, o = 0, h = s.length; o < h; ++o)r = s[o], ddn(e, r) && lw(r, !0) } } function i2n(t) { var e, n; switch (e = null, n = null, Sfn(t).g) { case 1: e = (we(), Wn), n = jn; break; case 2: e = (we(), Lr), n = Fn; break; case 3: e = (we(), jn), n = Wn; break; case 4: e = (we(), Fn), n = Lr }jB(t, u(Mv(Nj(u(ji(t.k, e), 15).Oc(), z4)), 113)), RB(t, u(Mv(Oj(u(ji(t.k, n), 15).Oc(), z4)), 113)) } function s2n(t) { var e, n, r, s, o, h; if (s = u(Fe(t.j, 0), 11), s.e.c.length + s.g.c.length == 0) t.n.a = 0; else { for (h = 0, r = jp(B1(ct(ot(G1, 1), De, 20, 0, [new ca(s), new Fr(s)]))); Zr(r);)n = u(qr(r), 11), h += n.i.n.a + n.n.a + n.a.a; e = u(K(t, (Ce(), Iw)), 8), o = e ? e.a : 0, t.n.a = h / (s.e.c.length + s.g.c.length) - o } } function qoe(t, e) { var n, r, s; for (r = new S(e.a); r.a < r.c.c.length;)n = u(Q(r), 221), mnt(u(n.b, 65), ba(pc(u(e.b, 65).c), u(e.b, 65).a)), s = sue(u(e.b, 65).b, u(n.b, 65).b), s > 1 && (t.a = !0), wJe(u(n.b, 65), $i(pc(u(e.b, 65).c), pd(ba(pc(u(n.b, 65).a), u(e.b, 65).a), s))), jXt(t, e), qoe(t, n) } function Hoe(t) { var e, n, r, s, o, h, d; for (o = new S(t.a.a); o.a < o.c.c.length;)r = u(Q(o), 189), r.e = 0, r.d.a.$b(); for (s = new S(t.a.a); s.a < s.c.c.length;)for (r = u(Q(s), 189), n = r.a.a.ec().Kc(); n.Ob();)for (e = u(n.Pb(), 81), d = e.f.Kc(); d.Ob();)h = u(d.Pb(), 81), h.d != r && (Ys(r.d, h), ++h.d.e) } function a2n(t) { var e, n, r, s, o, h, d, w; for (w = t.j.c.length, n = 0, e = w, s = 2 * w, d = new S(t.j); d.a < d.c.c.length;)switch (h = u(Q(d), 11), h.j.g) { case 2: case 4: h.p = -1; break; case 1: case 3: r = h.e.c.length, o = h.g.c.length, r > 0 && o > 0 ? h.p = e++ : r > 0 ? h.p = n++ : o > 0 ? h.p = s++ : h.p = n++ }pn(), ua(t.j, new _L) } function o2n(t) { var e, n; n = null, e = u(Fe(t.g, 0), 17); do { if (n = e.d.i, ia(n, (ie(), Uh))) return u(K(n, Uh), 11).i; if (n.k != (Kn(), Ws) && Zr(new pr(mr(Gs(n).a.Kc(), new H)))) e = u(qr(new pr(mr(Gs(n).a.Kc(), new H))), 17); else if (n.k != Ws) return null } while (n && n.k != (Kn(), Ws)); return n } function c2n(t, e) { var n, r, s, o, h, d, w, k, _; for (d = e.j, h = e.g, w = u(Fe(d, d.c.length - 1), 113), _ = (An(0, d.c.length), u(d.c[0], 113)), k = sst(t, h, w, _), o = 1; o < d.c.length; o++)n = (An(o - 1, d.c.length), u(d.c[o - 1], 113)), s = (An(o, d.c.length), u(d.c[o], 113)), r = sst(t, h, n, s), r > k && (w = n, _ = s, k = r); e.a = _, e.c = w } function u2n(t, e) { var n, r; if (r = KM(t.b, e.b), !r) throw et(new Yo("Invalid hitboxes for scanline constraint calculation.")); (Xee(e.b, u(uXe(t.b, e.b), 57)) || Xee(e.b, u(cXe(t.b, e.b), 57))) && (Gd(), e.b + ""), t.a[e.b.f] = u(nnt(t.b, e.b), 57), n = u(ent(t.b, e.b), 57), n && (t.a[n.f] = e.b) } function Ef(t) { if (!t.a.d || !t.a.e) throw et(new Yo((A0(ige), ige.k + " must have a source and target " + (A0(O7t), O7t.k) + " specified."))); if (t.a.d == t.a.e) throw et(new Yo("Network simplex does not support self-loops: " + t.a + " " + t.a.d + " " + t.a.e)); return aj(t.a.d.g, t.a), aj(t.a.e.b, t.a), t.a } function l2n(t, e, n) { var r, s, o, h, d, w, k; for (k = new Dp(new Sjt(t)), h = ct(ot(Gpe, 1), rfe, 11, 0, [e, n]), d = 0, w = h.length; d < w; ++d)for (o = h[d], az(k.a, o, (Rn(), Lb)) == null, s = new P1(o.b); sc(s.a) || sc(s.b);)r = u(sc(s.a) ? Q(s.a) : Q(s.b), 17), r.c == r.d || KM(k, o == r.c ? r.d : r.c); return zr(k), new Uu(k) } function Voe(t, e, n) { var r, s, o, h, d, w; if (r = 0, e.b != 0 && n.b != 0) { o = gi(e, 0), h = gi(n, 0), d = Xt(xe(di(o))), w = Xt(xe(di(h))), s = !0; do { if (d > w - t.b && d < w + t.b) return -1; d > w - t.a && d < w + t.a && ++r, d <= w && o.b != o.d.c ? d = Xt(xe(di(o))) : w <= d && h.b != h.d.c ? w = Xt(xe(di(h))) : s = !1 } while (s) } return r } function h2n(t, e, n, r, s) { var o, h, d, w; for (w = (o = u(Yf(co), 9), new hh(o, u(pf(o, o.length), 9), 0)), d = new S(t.j); d.a < d.c.c.length;)h = u(Q(d), 11), e[h.p] && (T3n(h, e[h.p], r), xf(w, h.j)); s ? (gst(t, e, (we(), Wn), 2 * n, r), gst(t, e, jn, 2 * n, r)) : (gst(t, e, (we(), Fn), 2 * n, r), gst(t, e, Lr, 2 * n, r)) } function f2n(t) { var e, n, r, s, o; if (o = new le, Mu(t.b, new er(o)), t.b.c = Ot(nr, De, 1, 0, 5, 1), o.c.length != 0) { for (e = (An(0, o.c.length), u(o.c[0], 78)), n = 1, r = o.c.length; n < r; ++n)s = (An(n, o.c.length), u(o.c[n], 78)), s != e && T1n(e, s); if (Et(e, 60)) throw et(u(e, 60)); if (Et(e, 289)) throw et(u(e, 289)) } } function d2n(t, e) { var n, r, s, o; for (t = t == null ? Pu : (Pn(t), t), n = new Sm, o = 0, r = 0; r < e.length && (s = t.indexOf("%s", o), s != -1);)ni(n, t.substr(o, s - o)), Cc(n, e[r++]), o = s + 2; if (ni(n, t.substr(o)), r < e.length) { for (n.a += " [", Cc(n, e[r++]); r < e.length;)n.a += ao, Cc(n, e[r++]); n.a += "]" } return n.a } function g2n(t) { var e, n, r, s; for (e = 0, r = t.length, s = r - 4, n = 0; n < s;)e = (Yr(n + 3, t.length), t.charCodeAt(n + 3) + (Yr(n + 2, t.length), 31 * (t.charCodeAt(n + 2) + (Yr(n + 1, t.length), 31 * (t.charCodeAt(n + 1) + (Yr(n, t.length), 31 * (t.charCodeAt(n) + 31 * e))))))), e = e | 0, n += 4; for (; n < r;)e = e * 31 + Ia(t, n++); return e = e | 0, e } function p2n(t) { var e, n; for (n = new pr(mr(Gs(t).a.Kc(), new H)); Zr(n);)if (e = u(qr(n), 17), e.d.i.k != (Kn(), Bl)) throw et(new F3(Cot + QD(t) + "' has its layer constraint set to LAST, but has at least one outgoing edge that  does not go to a LAST_SEPARATE node. That must not happen.")) } function b2n(t, e, n, r) { var s, o, h, d, w, k, _, L, F; for (w = 0, _ = new S(t.a); _.a < _.c.c.length;) { for (k = u(Q(_), 10), d = 0, o = new pr(mr(Zo(k).a.Kc(), new H)); Zr(o);)s = u(qr(o), 17), L = I1(s.c).b, F = I1(s.d).b, d = b.Math.max(d, b.Math.abs(F - L)); w = b.Math.max(w, d) } return h = r * b.Math.min(1, e / n) * w, h } function l5t(t) { var e; return e = new DT, t & 256 && (e.a += "F"), t & 128 && (e.a += "H"), t & 512 && (e.a += "X"), t & 2 && (e.a += "i"), t & 8 && (e.a += "m"), t & 4 && (e.a += "s"), t & 32 && (e.a += "u"), t & 64 && (e.a += "w"), t & 16 && (e.a += "x"), t & Tf && (e.a += ","), Spt(e.a) } function v2n(t, e) { var n, r, s, o; for (Ar(e, "Resize child graph to fit parent.", 1), r = new S(t.b); r.a < r.c.c.length;)n = u(Q(r), 29), Hs(t.a, n.a), n.a.c = Ot(nr, De, 1, 0, 5, 1); for (o = new S(t.a); o.a < o.c.c.length;)s = u(Q(o), 10), Fo(s, null); t.b.c = Ot(nr, De, 1, 0, 5, 1), $2n(t), t.e && Cvn(t.e, t), br(e) } function w2n(t) { var e, n, r, s, o, h, d, w, k; if (r = t.b, o = r.e, h = D6(u(K(r, (Ce(), xs)), 98)), n = !!o && u(K(o, (ie(), tu)), 21).Hc((ko(), Th)), !(h || n)) for (k = (d = new T1(t.e).a.vc().Kc(), new _1(d)); k.a.Ob();)w = (e = u(k.a.Pb(), 42), u(e.dd(), 113)), w.a && (s = w.d, ac(s, null), w.c = !0, t.a = !0) } function m2n(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q; for (F = -1, q = 0, k = t, _ = 0, L = k.length; _ < L; ++_) { for (w = k[_], o = w, h = 0, d = o.length; h < d; ++h)for (s = o[h], e = new sVt(F == -1 ? t[0] : t[F], Gie(s)), n = 0; n < s.j.c.length; n++)for (r = n + 1; r < s.j.c.length; r++)BKt(e, u(Fe(s.j, n), 11), u(Fe(s.j, r), 11)) > 0 && ++q; ++F } return q } function y2n(t, e) { var n, r, s, o, h; for (h = u(K(e, (cw(), $_t)), 425), o = gi(e.b, 0); o.b != o.d.c;)if (s = u(di(o), 86), t.b[s.g] == 0) { switch (h.g) { case 0: vie(t, s); break; case 1: kgn(t, s) }t.b[s.g] = 2 } for (r = gi(t.a, 0); r.b != r.d.c;)n = u(di(r), 188), ey(n.b.d, n, !0), ey(n.c.b, n, !0); Jt(e, (Sc(), O_t), t.a) } function gu(t, e) { go(); var n, r, s, o; return e ? e == (Vi(), P4e) || (e == E4e || e == Vb || e == k4e) && t != XAt ? new e6t(t, e) : (r = u(e, 677), n = r.pk(), n || (k8(Bo((Yu(), Pa), e)), n = r.pk()), o = (!n.i && (n.i = new Rr), n.i), s = u(gc(qo(o.f, t)), 1942), !s && Pi(o, t, s = new e6t(t, e)), s) : m4e } function x2n(t, e) { var n, r, s, o, h, d, w, k, _; for (w = u(K(t, (ie(), Bi)), 11), k = cc(ct(ot(sa, 1), te, 8, 0, [w.i.n, w.n, w.a])).a, _ = t.i.n.b, n = yd(t.e), s = n, o = 0, h = s.length; o < h; ++o)r = s[o], ma(r, w), U2(r.a, new je(k, _)), e && (d = u(K(r, (Ce(), $o)), 74), d || (d = new Hu, Jt(r, $o, d)), pi(d, new je(k, _))) } function k2n(t, e) { var n, r, s, o, h, d, w, k, _; for (s = u(K(t, (ie(), Bi)), 11), k = cc(ct(ot(sa, 1), te, 8, 0, [s.i.n, s.n, s.a])).a, _ = t.i.n.b, n = yd(t.g), h = n, d = 0, w = h.length; d < w; ++d)o = h[d], Ua(o, s), QVt(o.a, new je(k, _)), e && (r = u(K(o, (Ce(), $o)), 74), r || (r = new Hu, Jt(o, $o, r)), pi(r, new je(k, _))) } function E2n(t, e) { var n, r, s, o, h, d; for (t.b = new le, t.d = u(K(e, (ie(), Ix)), 230), t.e = Onn(t.d), o = new hs, s = N1(ct(ot(qpe, 1), efe, 37, 0, [e])), h = 0; h < s.c.length;)r = (An(h, s.c.length), u(s.c[h], 37)), r.p = h++, n = new rle(r, t.a, t.b), Hs(s, n.b), ue(t.b, n), n.s && (d = gi(o, 0), YM(d, n)); return t.c = new na, o } function T2n(t, e) { var n, r, s, o, h, d; for (h = u(u(ji(t.r, e), 21), 84).Kc(); h.Ob();)o = u(h.Pb(), 111), n = o.c ? vvt(o.c) : 0, n > 0 ? o.a ? (d = o.b.rf().a, n > d && (s = (n - d) / 2, o.d.b = s, o.d.c = s)) : o.d.c = t.s + n : w_(t.u) && (r = s4t(o.b), r.c < 0 && (o.d.b = -r.c), r.c + r.b > o.b.rf().a && (o.d.c = r.c + r.b - o.b.rf().a)) } function _2n(t, e) { var n, r, s, o; for (Ar(e, "Semi-Interactive Crossing Minimization Processor", 1), n = !1, s = new S(t.b); s.a < s.c.c.length;)r = u(Q(s), 29), o = zD(P$(Qi(Qi(new kn(null, new Cn(r.a, 16)), new IE), new LL), new sF), new aF), n = n | o.a != null; n && Jt(t, (ie(), IEt), (Rn(), !0)), br(e) } function C2n(t, e, n) { var r, s, o, h, d; if (s = n, !s && (s = new Yk), Ar(s, "Layout", t.a.c.length), Re(Be(K(e, (cw(), B_t))))) for (Gd(), r = 0; r < t.a.c.length; r++)d = (r < 10 ? "0" : "") + r++, "" + d + Mp(bl(u(Fe(t.a, r), 51))); for (h = new S(t.a); h.a < h.c.c.length;)o = u(Q(h), 51), o.pf(e, Kc(s, 1)); br(s) } function S2n(t) { var e, n; if (e = u(t.a, 19).a, n = u(t.b, 19).a, e >= 0) { if (e == n) return new _a(pe(-e - 1), pe(-e - 1)); if (e == -n) return new _a(pe(-e), pe(n + 1)) } return b.Math.abs(e) > b.Math.abs(n) ? e < 0 ? new _a(pe(-e), pe(n)) : new _a(pe(-e), pe(n + 1)) : new _a(pe(e + 1), pe(n)) } function A2n(t) { var e, n; n = u(K(t, (Ce(), bu)), 163), e = u(K(t, (ie(), Db)), 303), n == (mh(), g2) ? (Jt(t, bu, TO), Jt(t, Db, (F0(), U4))) : n == Ny ? (Jt(t, bu, TO), Jt(t, Db, (F0(), Sx))) : e == (F0(), U4) ? (Jt(t, bu, g2), Jt(t, Db, mO)) : e == Sx && (Jt(t, bu, Ny), Jt(t, Db, mO)) } function nq() { nq = J, OO = new bQ, Vwe = Mi(new ra, (so(), pu), (vo(), rV)), Wwe = sl(Mi(new ra, pu, hV), Go, lV), Kwe = rw(rw(TR(sl(Mi(new ra, Nd, pV), Go, gV), Zc), dV), bV), Gwe = sl(Mi(Mi(Mi(new ra, f2, sV), Zc, oV), Zc, e9), Go, aV), Uwe = sl(Mi(Mi(new ra, Zc, e9), Zc, nV), Go, eV) } function lC() { lC = J, Qwe = Mi(sl(new ra, (so(), Go), (vo(), L9t)), pu, rV), eme = rw(rw(TR(sl(Mi(new ra, Nd, pV), Go, gV), Zc), dV), bV), Zwe = sl(Mi(Mi(Mi(new ra, f2, sV), Zc, oV), Zc, e9), Go, aV), tme = Mi(Mi(new ra, pu, hV), Go, lV), Jwe = sl(Mi(Mi(new ra, Zc, e9), Zc, nV), Go, eV) } function L2n(t, e, n, r, s) { var o, h; (!ro(e) && e.c.i.c == e.d.i.c || !iee(cc(ct(ot(sa, 1), te, 8, 0, [s.i.n, s.n, s.a])), n)) && !ro(e) && (e.c == s ? h8(e.a, 0, new No(n)) : pi(e.a, new No(n)), r && !C0(t.a, n) && (h = u(K(e, (Ce(), $o)), 74), h || (h = new Hu, Jt(e, $o, h)), o = new No(n), Cs(h, o, h.c.b, h.c), Ys(t.a, o))) } function M2n(t) { var e, n; for (n = new pr(mr(Zo(t).a.Kc(), new H)); Zr(n);)if (e = u(qr(n), 17), e.c.i.k != (Kn(), Bl)) throw et(new F3(Cot + QD(t) + "' has its layer constraint set to FIRST, but has at least one incoming edge that  does not come from a FIRST_SEPARATE node. That must not happen.")) } function D2n(t, e, n) { var r, s, o, h, d, w, k; if (s = cre(t.Db & 254), s == 0) t.Eb = n; else { if (s == 1) d = Ot(nr, De, 1, 2, 5, 1), o = ist(t, e), o == 0 ? (d[0] = n, d[1] = t.Eb) : (d[0] = t.Eb, d[1] = n); else for (d = Ot(nr, De, 1, s + 1, 5, 1), h = rb(t.Eb), r = 2, w = 0, k = 0; r <= 128; r <<= 1)r == e ? d[k++] = n : t.Db & r && (d[k++] = h[w++]); t.Eb = d } t.Db |= e } function Goe(t, e, n) { var r, s, o, h; for (this.b = new le, s = 0, r = 0, h = new S(t); h.a < h.c.c.length;)o = u(Q(h), 167), n && Mwn(o), ue(this.b, o), s += o.o, r += o.p; this.b.c.length > 0 && (o = u(Fe(this.b, 0), 167), s += o.o, r += o.p), s *= 2, r *= 2, e > 1 ? s = Ms(b.Math.ceil(s * e)) : r = Ms(b.Math.ceil(r / e)), this.a = new Zyt(s, r) } function Uoe(t, e, n, r, s, o) { var h, d, w, k, _, L, F, q, G, W, Z, bt; for (_ = r, e.j && e.o ? (q = u(or(t.f, e.A), 57), W = q.d.c + q.d.b, --_) : W = e.a.c + e.a.b, L = s, n.q && n.o ? (q = u(or(t.f, n.C), 57), k = q.d.c, ++L) : k = n.a.c, Z = k - W, w = b.Math.max(2, L - _), d = Z / w, G = W + d, F = _; F < L; ++F)h = u(o.Xb(F), 128), bt = h.a.b, h.a.c = G - bt / 2, G += d } function h5t(t, e, n, r, s, o) { var h, d, w, k, _, L; for (k = n.c.length, o && (t.c = Ot(Br, oi, 25, e.length, 15, 1)), h = s ? 0 : e.length - 1; s ? h < e.length : h >= 0; h += s ? 1 : -1) { for (d = e[h], w = r == (we(), Wn) ? s ? uc(d, r) : ib(uc(d, r)) : s ? ib(uc(d, r)) : uc(d, r), o && (t.c[d.p] = w.gc()), L = w.Kc(); L.Ob();)_ = u(L.Pb(), 11), t.d[_.p] = k++; Hs(n, w) } } function Woe(t, e, n) { var r, s, o, h, d, w, k, _; for (o = Xt(xe(t.b.Kc().Pb())), k = Xt(xe($an(e.b))), r = pd(pc(t.a), k - n), s = pd(pc(e.a), n - o), _ = $i(r, s), pd(_, 1 / (k - o)), this.a = _, this.b = new le, d = !0, h = t.b.Kc(), h.Pb(); h.Ob();)w = Xt(xe(h.Pb())), d && w - n > act && (this.b.Fc(n), d = !1), this.b.Fc(w); d && this.b.Fc(n) } function I2n(t) { var e, n, r, s; if (Hbn(t, t.n), t.d.c.length > 0) { for (LT(t.c); V4t(t, u(Q(new S(t.e.a)), 121)) < t.e.a.c.length;) { for (e = Ehn(t), s = e.e.e - e.d.e - e.a, e.e.j && (s = -s), r = new S(t.e.a); r.a < r.c.c.length;)n = u(Q(r), 121), n.j && (n.e += s); LT(t.c) } LT(t.c), O4t(t, u(Q(new S(t.e.a)), 121)), tle(t) } } function O2n(t, e) { var n, r, s, o, h; for (s = u(ji(t.a, (g4(), yV)), 15).Kc(); s.Ob();)switch (r = u(s.Pb(), 101), n = u(Fe(r.j, 0), 113).d.j, o = new Uu(r.j), ua(o, new yX), e.g) { case 1: dst(t, o, n, (Xv(), d2), 1); break; case 0: h = Dpn(o), dst(t, new Qd(o, 0, h), n, (Xv(), d2), 0), dst(t, new Qd(o, h, o.c.length), n, d2, 1) } } function N2n(t, e) { X6(); var n, r; if (n = yrt(z8(), e.tg()), n) { if (r = n.j, Et(t, 239)) return zen(u(t, 33)) ? Gu(r, (n1(), fa)) || Gu(r, Un) : Gu(r, (n1(), fa)); if (Et(t, 352)) return Gu(r, (n1(), Bd)); if (Et(t, 186)) return Gu(r, (n1(), Rb)); if (Et(t, 354)) return Gu(r, (n1(), Yg)) } return !0 } function P2n(t, e, n) { var r, s, o, h, d, w; if (s = n, o = s.ak(), V0(t.e, o)) { if (o.hi()) { for (r = u(t.g, 119), h = 0; h < t.i; ++h)if (d = r[h], Ni(d, s) && h != e) throw et(new Bn(YI)) } } else for (w = gu(t.e.Tg(), o), r = u(t.g, 119), h = 0; h < t.i; ++h)if (d = r[h], w.rl(d.ak()) && h != e) throw et(new Bn(tO)); return u(u4(t, e, n), 72) } function Koe(t, e) { if (e instanceof Object) try { if (e.__java$exception = t, navigator.userAgent.toLowerCase().indexOf("msie") != -1 && $doc.documentMode < 9) return; var n = t; Object.defineProperties(e, { cause: { get: function () { var r = n.Zd(); return r && r.Xd() } }, suppressed: { get: function () { return n.Yd() } } }) } catch { } } function Yoe(t, e) { var n, r, s, o, h; if (r = e >> 5, e &= 31, r >= t.d) return t.e < 0 ? (e2(), gut) : (e2(), Q7); if (o = t.d - r, s = Ot(Br, oi, 25, o + 1, 15, 1), _dn(s, o, t.a, r, e), t.e < 0) { for (n = 0; n < r && t.a[n] == 0; n++); if (n < r || e > 0 && t.a[n] << 32 - e) { for (n = 0; n < o && s[n] == -1; n++)s[n] = 0; n == o && ++o, ++s[n] } } return h = new K3(t.e, o, s), S_(h), h } function Xoe(t) { var e, n, r, s; return s = M1(t), n = new Ii(s), r = new oa(s), e = new le, Hs(e, (!t.d && (t.d = new Tn(aa, t, 8, 5)), t.d)), Hs(e, (!t.e && (t.e = new Tn(aa, t, 7, 4)), t.e)), u(Hl(Cu(Qi(new kn(null, new Cn(e, 16)), n), r), Wm(new oe, new Or, new ur, new gn, ct(ot(xl, 1), se, 132, 0, [(j1(), Sy), Zl]))), 21) } function Qoe(t, e, n, r) { var s, o, h, d, w; if (d = (go(), u(e, 66).Oj()), V0(t.e, e)) { if (e.hi() && lq(t, e, r, Et(e, 99) && (u(e, 18).Bb & oo) != 0)) throw et(new Bn(YI)) } else for (w = gu(t.e.Tg(), e), s = u(t.g, 119), h = 0; h < t.i; ++h)if (o = s[h], w.rl(o.ak())) throw et(new Bn(tO)); W_(t, y4t(t, e, n), d ? u(r, 72) : Zd(e, r)) } function V0(t, e) { go(); var n, r, s; return e.$j() ? !0 : e.Zj() == -2 ? e == (sx(), Ux) || e == Gx || e == wft || e == mft ? !0 : (s = t.Tg(), is(s, e) >= 0 ? !1 : (n = E4((Yu(), Pa), s, e), n ? (r = n.Zj(), (r > 1 || r == -1) && Bv(Bo(Pa, n)) != 3) : !0)) : !1 } function F2n(t, e, n, r) { var s, o, h, d, w; return d = Vo(u(St((!e.b && (e.b = new Tn(Cr, e, 4, 7)), e.b), 0), 82)), w = Vo(u(St((!e.c && (e.c = new Tn(Cr, e, 5, 8)), e.c), 0), 82)), gs(d) == gs(w) || Xm(w, d) ? null : (h = nD(e), h == n ? r : (o = u(or(t.a, h), 10), o && (s = o.e, s) ? s : null)) } function B2n(t, e) { var n; switch (n = u(K(t, (Ce(), HV)), 276), Ar(e, "Label side selection (" + n + ")", 1), n.g) { case 0: hoe(t, (Wl(), f0)); break; case 1: hoe(t, (Wl(), y2)); break; case 2: Cue(t, (Wl(), f0)); break; case 3: Cue(t, (Wl(), y2)); break; case 4: oce(t, (Wl(), f0)); break; case 5: oce(t, (Wl(), y2)) }br(e) } function f5t(t, e, n) { var r, s, o, h, d, w; if (r = kWe(n, t.length), h = t[r], h[0].k == (Kn(), Fs)) for (o = hqt(n, h.length), w = e.j, s = 0; s < w.c.length; s++)d = (An(s, w.c.length), u(w.c[s], 11)), (n ? d.j == (we(), Wn) : d.j == (we(), jn)) && Re(Be(K(d, (ie(), xO)))) && (gh(w, s, u(K(h[o], (ie(), Bi)), 11)), o += n ? 1 : -1) } function R2n(t, e) { var n, r, s, o, h; h = new le, n = e; do o = u(or(t.b, n), 128), o.B = n.c, o.D = n.d, h.c[h.c.length] = o, n = u(or(t.k, n), 17); while (n); return r = (An(0, h.c.length), u(h.c[0], 128)), r.j = !0, r.A = u(r.d.a.ec().Kc().Pb(), 17).c.i, s = u(Fe(h, h.c.length - 1), 128), s.q = !0, s.C = u(s.d.a.ec().Kc().Pb(), 17).d.i, h } function Zoe(t) { if (t.g == null) switch (t.p) { case 0: t.g = qen(t) ? (Rn(), Y7) : (Rn(), Lb); break; case 1: t.g = kD(krn(t)); break; case 2: t.g = DD(Lnn(t)); break; case 3: t.g = ftn(t); break; case 4: t.g = new I3(htn(t)); break; case 6: t.g = fb(dtn(t)); break; case 5: t.g = pe(Den(t)); break; case 7: t.g = e7(_rn(t)) }return t.g } function d5t(t) { if (t.n == null) switch (t.p) { case 0: t.n = Hen(t) ? (Rn(), Y7) : (Rn(), Lb); break; case 1: t.n = kD(Ern(t)); break; case 2: t.n = DD(Mnn(t)); break; case 3: t.n = ptn(t); break; case 4: t.n = new I3(btn(t)); break; case 6: t.n = fb(gtn(t)); break; case 5: t.n = pe(Ien(t)); break; case 7: t.n = e7(Trn(t)) }return t.n } function Joe(t) { var e, n, r, s, o, h, d; for (o = new S(t.a.a); o.a < o.c.c.length;)r = u(Q(o), 307), r.g = 0, r.i = 0, r.e.a.$b(); for (s = new S(t.a.a); s.a < s.c.c.length;)for (r = u(Q(s), 307), n = r.a.a.ec().Kc(); n.Ob();)for (e = u(n.Pb(), 57), d = e.c.Kc(); d.Ob();)h = u(d.Pb(), 57), h.a != r && (Ys(r.e, h), ++h.a.g, ++h.a.i) } function j2n(t, e) { var n, r, s, o, h, d; if (d = KM(t.a, e.b), !d) throw et(new Yo("Invalid hitboxes for scanline overlap calculation.")); for (h = !1, o = (r = new h_(new c_(new y(t.a.a).a).b), new g(r)); wM(o.a.a);)if (s = (n = uj(o.a), u(n.cd(), 65)), ron(e.b, s)) SWe(t.b.a, e.b, s), h = !0; else if (h) break } function $2n(t) { var e, n, r, s, o; s = u(K(t, (Ce(), Nb)), 21), o = u(K(t, YV), 21), n = new je(t.f.a + t.d.b + t.d.c, t.f.b + t.d.d + t.d.a), e = new No(n), s.Hc((Fl(), Ky)) && (r = u(K(t, p9), 8), o.Hc((ml(), M9)) && (r.a <= 0 && (r.a = 20), r.b <= 0 && (r.b = 20)), e.a = b.Math.max(n.a, r.a), e.b = b.Math.max(n.b, r.b)), Own(t, n, e) } function tce(t, e) { var n, r, s, o, h, d, w, k, _, L, F; s = e ? new FX : new BX, o = !1; do for (o = !1, k = e ? ib(t.b) : t.b, w = k.Kc(); w.Ob();)for (d = u(w.Pb(), 29), F = zv(d.a), e || new bv(F), L = new S(F); L.a < L.c.c.length;)_ = u(Q(L), 10), s.Mb(_) && (r = _, n = u(K(_, (ie(), Cw)), 305), h = e ? n.b : n.k, o = xce(r, h, e, !1)); while (o) } function z2n(t, e, n) { var r, s, o, h, d; for (Ar(n, "Longest path layering", 1), t.a = e, d = t.a.a, t.b = Ot(Br, oi, 25, d.c.length, 15, 1), r = 0, h = new S(d); h.a < h.c.c.length;)s = u(Q(h), 10), s.p = r, t.b[r] = -1, ++r; for (o = new S(d); o.a < o.c.c.length;)s = u(Q(o), 10), koe(t, s); d.c = Ot(nr, De, 1, 0, 5, 1), t.a = null, t.b = null, br(n) } function q2n(t, e) { var n, r, s; e.a ? (KM(t.b, e.b), t.a[e.b.i] = u(nnt(t.b, e.b), 81), n = u(ent(t.b, e.b), 81), n && (t.a[n.i] = e.b)) : (r = u(nnt(t.b, e.b), 81), r && r == t.a[e.b.i] && r.d && r.d != e.b.d && r.f.Fc(e.b), s = u(ent(t.b, e.b), 81), s && t.a[s.i] == e.b && s.d && s.d != e.b.d && e.b.f.Fc(s), Het(t.b, e.b)) } function ece(t, e) { var n, r, s, o, h, d; return o = t.d, d = Xt(xe(K(t, (Ce(), Gg)))), d < 0 && (d = 0, Jt(t, Gg, d)), e.o.b = d, h = b.Math.floor(d / 2), r = new zc, Qs(r, (we(), jn)), ac(r, e), r.n.b = h, s = new zc, Qs(s, Wn), ac(s, e), s.n.b = h, ma(t, r), n = new Rv, Ho(n, t), Jt(n, $o, null), Ua(n, s), ma(n, o), Kvn(e, t, n), Qdn(t, n), n } function H2n(t) { var e, n; return n = u(K(t, (ie(), tu)), 21), e = new ra, n.Hc((ko(), hS)) && (Ul(e, $we), Ul(e, D_t)), (n.Hc(f9) || Re(Be(K(t, (Ce(), Blt))))) && (Ul(e, D_t), n.Hc(G4) && Ul(e, qwe)), n.Hc(Th) && Ul(e, jwe), n.Hc(fS) && Ul(e, Hwe), n.Hc(MV) && Ul(e, zwe), n.Hc(l9) && Ul(e, Bwe), n.Hc(h9) && Ul(e, Rwe), e } function V2n(t, e) { var n, r, s, o, h, d, w, k, _, L, F; return r = t.d, o = e.d, d = r + o, w = t.e != e.e ? -1 : 1, d == 2 ? (_ = ja(Xs(t.a[0], Eo), Xs(e.a[0], Eo)), F = $r(_), L = $r(jm(_, 32)), L == 0 ? new Ag(w, F) : new K3(w, 2, ct(ot(Br, 1), oi, 25, 15, [F, L]))) : (n = t.a, s = e.a, h = Ot(Br, oi, 25, d, 15, 1), acn(n, r, s, o, h), k = new K3(w, d, h), S_(k), k) } function nce(t, e, n, r) { var s, o; if (e) { if (s = t.a.ue(n.d, e.d), s == 0) return r.d = Obt(e, n.e), r.b = !0, e; o = s < 0 ? 0 : 1, e.a[o] = nce(t, e.a[o], n, r), Cm(e.a[o]) && (Cm(e.a[1 - o]) ? (e.b = !0, e.a[0].b = !1, e.a[1].b = !1) : Cm(e.a[o].a[o]) ? e = W$(e, 1 - o) : Cm(e.a[o].a[1 - o]) && (e = wQt(e, 1 - o))) } else return n; return e } function rce(t, e, n) { var r, s, o, h; s = t.i, r = t.n, Gwt(t, (t1(), wc), s.c + r.b, n), Gwt(t, mc, s.c + s.b - r.c - n[2], n), h = s.b - r.b - r.c, n[0] > 0 && (n[0] += t.d, h -= n[0]), n[2] > 0 && (n[2] += t.d, h -= n[2]), o = b.Math.max(0, h), n[1] = b.Math.max(n[1], h), Gwt(t, uu, s.c + r.b + n[0] - (n[1] - h) / 2, n), e == uu && (t.c.b = o, t.c.c = s.c + r.b + (o - h) / 2) } function ice() { this.c = Ot(wa, Do, 25, (we(), ct(ot(co, 1), Nc, 61, 0, [fc, Fn, Wn, Lr, jn])).length, 15, 1), this.b = Ot(wa, Do, 25, ct(ot(co, 1), Nc, 61, 0, [fc, Fn, Wn, Lr, jn]).length, 15, 1), this.a = Ot(wa, Do, 25, ct(ot(co, 1), Nc, 61, 0, [fc, Fn, Wn, Lr, jn]).length, 15, 1), e2t(this.c, ms), e2t(this.b, Rs), e2t(this.a, Rs) } function Yc(t, e, n) { var r, s, o, h; if (e <= n ? (s = e, o = n) : (s = n, o = e), r = 0, t.b == null) t.b = Ot(Br, oi, 25, 2, 15, 1), t.b[0] = s, t.b[1] = o, t.c = !0; else { if (r = t.b.length, t.b[r - 1] + 1 == s) { t.b[r - 1] = o; return } h = Ot(Br, oi, 25, r + 2, 15, 1), qc(t.b, 0, h, 0, r), t.b = h, t.b[r - 1] >= s && (t.c = !1, t.a = !1), t.b[r++] = s, t.b[r] = o, t.c || b4(t) } } function G2n(t, e, n) { var r, s, o, h, d, w, k; for (k = e.d, t.a = new iu(k.c.length), t.c = new Rr, d = new S(k); d.a < d.c.c.length;)h = u(Q(d), 101), o = new AD(null), ue(t.a, o), Pi(t.c, h, o); for (t.b = new Rr, t0n(t, e), r = 0; r < k.c.length - 1; r++)for (w = u(Fe(e.d, r), 101), s = r + 1; s < k.c.length; s++)Npn(t, w, u(Fe(e.d, s), 101), n) } function sce(t, e, n) { var r, s, o, h, d, w; if (!S8(e)) { for (w = Kc(n, (Et(e, 14) ? u(e, 14).gc() : O0(e.Kc())) / t.a | 0), Ar(w, jfe, 1), d = new PQ, h = 0, o = e.Kc(); o.Ob();)r = u(o.Pb(), 86), d = B1(ct(ot(G1, 1), De, 20, 0, [d, new Sp(r)])), h < r.f.b && (h = r.f.b); for (s = e.Kc(); s.Ob();)r = u(s.Pb(), 86), Jt(r, (Sc(), fG), h); br(w), sce(t, d, n) } } function U2n(t, e) { var n, r, s, o, h, d, w; for (n = Rs, d = (Kn(), Ws), s = new S(e.a); s.a < s.c.c.length;)r = u(Q(s), 10), o = r.k, o != Ws && (h = xe(K(r, (ie(), NEt))), h == null ? (n = b.Math.max(n, 0), r.n.b = n + lbt(t.a, o, d)) : r.n.b = (Pn(h), h)), w = lbt(t.a, o, d), r.n.b < n + w + r.d.d && (r.n.b = n + w + r.d.d), n = r.n.b + r.o.b + r.d.a, d = o } function W2n(t, e, n) { var r, s, o, h, d, w, k, _, L; for (o = m4(e, !1, !1), k = iI(o), L = Xt(xe(ze(e, (Z_(), Aut)))), s = Wle(k, L + t.a), _ = new Ost(s), Ho(_, e), Pi(t.b, e, _), n.c[n.c.length] = _, w = (!e.n && (e.n = new he(ec, e, 1, 7)), e.n), d = new lr(w); d.e != d.i.gc();)h = u(kr(d), 137), r = pI(t, h, !0, 0, 0), n.c[n.c.length] = r; return _ } function ace(t, e, n, r, s) { var o, h, d, w, k, _; if (t.d && t.d.lg(s), o = u(s.Xb(0), 33), die(t, n, o, !1) || (h = u(s.Xb(s.gc() - 1), 33), die(t, r, h, !0)) || h4t(t, s)) return !0; for (_ = s.Kc(); _.Ob();)for (k = u(_.Pb(), 33), w = e.Kc(); w.Ob();)if (d = u(w.Pb(), 33), iq(t, k, d)) return !0; return !1 } function K2n(t, e, n) { var r, s, o, h, d, w, k, _, L, F; F = e.c.length, L = (k = t.Yg(n), u(k >= 0 ? t._g(k, !1, !0) : ow(t, n, !1), 58)); t: for (o = L.Kc(); o.Ob();) { for (s = u(o.Pb(), 56), _ = 0; _ < F; ++_)if (h = (An(_, e.c.length), u(e.c[_], 72)), w = h.dd(), d = h.ak(), r = s.bh(d, !1), w == null ? r != null : !Ni(w, r)) continue t; return s } return null } function Y2n(t, e, n, r) { var s, o, h, d; for (s = u(Bg(e, (we(), jn)).Kc().Pb(), 11), o = u(Bg(e, Wn).Kc().Pb(), 11), d = new S(t.j); d.a < d.c.c.length;) { for (h = u(Q(d), 11); h.e.c.length != 0;)ma(u(Fe(h.e, 0), 17), s); for (; h.g.c.length != 0;)Ua(u(Fe(h.g, 0), 17), o) } n || Jt(e, (ie(), c1), null), r || Jt(e, (ie(), Uh), null) } function m4(t, e, n) { var r, s; if ((!t.a && (t.a = new he(fs, t, 6, 6)), t.a).i == 0) return Zmt(t); if (r = u(St((!t.a && (t.a = new he(fs, t, 6, 6)), t.a), 0), 202), e && (Ir((!r.a && (r.a = new qs(Qh, r, 5)), r.a)), B8(r, 0), j8(r, 0), F8(r, 0), R8(r, 0)), n) for (s = (!t.a && (t.a = new he(fs, t, 6, 6)), t.a); s.i > 1;)hy(s, s.i - 1); return r } function X2n(t, e) { var n, r, s, o, h, d, w; for (Ar(e, "Comment post-processing", 1), o = new S(t.b); o.a < o.c.c.length;) { for (s = u(Q(o), 29), r = new le, d = new S(s.a); d.a < d.c.c.length;)h = u(Q(d), 10), w = u(K(h, (ie(), Ox)), 15), n = u(K(h, Ax), 15), (w || n) && (Qyn(h, w, n), w && Hs(r, w), n && Hs(r, n)); Hs(s.a, r) } br(e) } function oce(t, e) { var n, r, s, o, h, d, w; for (n = new P3, o = new S(t.b); o.a < o.c.c.length;) { for (s = u(Q(o), 29), w = !0, r = 0, d = new S(s.a); d.a < d.c.c.length;)switch (h = u(Q(d), 10), h.k.g) { case 4: ++r; case 1: Dwt(n, h); break; case 0: Xdn(h, e); default: n.b == n.c || Xce(n, r, w, !1, e), w = !1, r = 0 }n.b == n.c || Xce(n, r, w, !0, e) } } function Q2n(t, e) { var n, r, s, o, h, d, w; for (s = new le, n = 0; n <= t.i; n++)r = new Oh(e), r.p = t.i - n, s.c[s.c.length] = r; for (d = new S(t.o); d.a < d.c.c.length;)h = u(Q(d), 10), Fo(h, u(Fe(s, t.i - t.f[h.p]), 29)); for (o = new S(s); o.a < o.c.c.length;)w = u(Q(o), 29), w.a.c.length == 0 && y_(o); e.b.c = Ot(nr, De, 1, 0, 5, 1), Hs(e.b, s) } function g5t(t, e) { var n, r, s, o, h, d; for (n = 0, d = new S(e); d.a < d.c.c.length;) { for (h = u(Q(d), 11), vyt(t.b, t.d[h.p]), s = new P1(h.b); sc(s.a) || sc(s.b);)r = u(sc(s.a) ? Q(s.a) : Q(s.b), 17), o = Hpt(t, h == r.c ? r.d : r.c), o > t.d[h.p] && (n += jwt(t.b, o), Vp(t.a, pe(o))); for (; !AT(t.a);)bmt(t.b, u(P6(t.a), 19).a) } return n } function cce(t, e, n) { var r, s, o, h; for (o = (!e.a && (e.a = new he(bs, e, 10, 11)), e.a).i, s = new lr((!e.a && (e.a = new he(bs, e, 10, 11)), e.a)); s.e != s.i.gc();)r = u(kr(s), 33), (!r.a && (r.a = new he(bs, r, 10, 11)), r.a).i == 0 || (o += cce(t, r, !1)); if (n) for (h = gs(e); h;)o += (!h.a && (h.a = new he(bs, h, 10, 11)), h.a).i, h = gs(h); return o } function hy(t, e) { var n, r, s, o; return t.ej() ? (r = null, s = t.fj(), t.ij() && (r = t.kj(t.pi(e), null)), n = t.Zi(4, o = nx(t, e), null, e, s), t.bj() && o != null && (r = t.dj(o, r)), r ? (r.Ei(n), r.Fi()) : t.$i(n), o) : (o = nx(t, e), t.bj() && o != null && (r = t.dj(o, null), r && r.Fi()), o) } function Z2n(t) { var e, n, r, s, o, h, d, w, k, _; for (k = t.a, e = new na, w = 0, r = new S(t.d); r.a < r.c.c.length;) { for (n = u(Q(r), 222), _ = 0, e4(n.b, new Va), h = gi(n.b, 0); h.b != h.d.c;)o = u(di(h), 222), e.a._b(o) && (s = n.c, d = o.c, _ < d.d + d.a + k && _ + s.a + k > d.d && (_ = d.d + d.a + k)); n.c.d = _, e.a.zc(n, e), w = b.Math.max(w, n.c.d + n.c.a) } return w } function ko() { ko = J, LV = new Mm("COMMENTS", 0), Th = new Mm("EXTERNAL_PORTS", 1), hS = new Mm("HYPEREDGES", 2), MV = new Mm("HYPERNODES", 3), f9 = new Mm("NON_FREE_PORTS", 4), G4 = new Mm("NORTH_SOUTH_PORTS", 5), fS = new Mm(kfe, 6), l9 = new Mm("CENTER_LABELS", 7), h9 = new Mm("END_LABELS", 8), DV = new Mm("PARTITIONS", 9) } function fy(t) { var e, n, r, s, o; for (s = new le, e = new g_((!t.a && (t.a = new he(bs, t, 10, 11)), t.a)), r = new pr(mr(H0(t).a.Kc(), new H)); Zr(r);)n = u(qr(r), 79), Et(St((!n.b && (n.b = new Tn(Cr, n, 4, 7)), n.b), 0), 186) || (o = Vo(u(St((!n.c && (n.c = new Tn(Cr, n, 5, 8)), n.c), 0), 82)), e.a._b(o) || (s.c[s.c.length] = o)); return s } function J2n(t) { var e, n, r, s, o, h; for (o = new na, e = new g_((!t.a && (t.a = new he(bs, t, 10, 11)), t.a)), s = new pr(mr(H0(t).a.Kc(), new H)); Zr(s);)r = u(qr(s), 79), Et(St((!r.b && (r.b = new Tn(Cr, r, 4, 7)), r.b), 0), 186) || (h = Vo(u(St((!r.c && (r.c = new Tn(Cr, r, 5, 8)), r.c), 0), 82)), e.a._b(h) || (n = o.a.zc(h, o), n == null)); return o } function tbn(t, e, n, r, s) { return r < 0 ? (r = p4(t, s, ct(ot(Me, 1), te, 2, 6, [Aat, Lat, Mat, Dat, ux, Iat, Oat, Nat, Pat, Fat, Bat, Rat]), e), r < 0 && (r = p4(t, s, ct(ot(Me, 1), te, 2, 6, ["Jan", "Feb", "Mar", "Apr", ux, "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]), e)), r < 0 ? !1 : (n.k = r, !0)) : r > 0 ? (n.k = r - 1, !0) : !1 } function ebn(t, e, n, r, s) { return r < 0 ? (r = p4(t, s, ct(ot(Me, 1), te, 2, 6, [Aat, Lat, Mat, Dat, ux, Iat, Oat, Nat, Pat, Fat, Bat, Rat]), e), r < 0 && (r = p4(t, s, ct(ot(Me, 1), te, 2, 6, ["Jan", "Feb", "Mar", "Apr", ux, "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]), e)), r < 0 ? !1 : (n.k = r, !0)) : r > 0 ? (n.k = r - 1, !0) : !1 } function nbn(t, e, n, r, s, o) { var h, d, w, k; if (d = 32, r < 0) { if (e[0] >= t.length || (d = Ia(t, e[0]), d != 43 && d != 45) || (++e[0], r = Kz(t, e), r < 0)) return !1; d == 45 && (r = -r) } return d == 32 && e[0] - n == 2 && s.b == 2 && (w = new vR, k = w.q.getFullYear() - i2 + i2 - 80, h = k % 100, o.a = r == h, r += (k / 100 | 0) * 100 + (r < h ? 100 : 0)), o.p = r, !0 } function uce(t, e) { var n, r, s, o, h; gs(t) && (h = u(K(e, (Ce(), Nb)), 174), qt(ze(t, xs)) === qt((xa(), k2)) && Mo(t, xs, Q1), r = (Lm(), new _m(gs(t))), o = new Get(gs(t) ? new _m(gs(t)) : null, t), s = mle(r, o, !1, !0), xf(h, (Fl(), Ky)), n = u(K(e, p9), 8), n.a = b.Math.max(s.a, n.a), n.b = b.Math.max(s.b, n.b)) } function rbn(t, e, n) { var r, s, o, h, d, w; for (h = u(K(t, (ie(), klt)), 15).Kc(); h.Ob();) { switch (o = u(h.Pb(), 10), u(K(o, (Ce(), bu)), 163).g) { case 2: Fo(o, e); break; case 4: Fo(o, n) }for (s = new pr(mr($0(o).a.Kc(), new H)); Zr(s);)r = u(qr(s), 17), !(r.c && r.d) && (d = !r.d, w = u(K(r, FEt), 11), d ? ma(r, w) : Ua(r, w)) } } function rq() { rq = J, Zut = new B6(Lq, 0, (we(), Fn), Fn), elt = new B6(lot, 1, Lr, Lr), Qut = new B6(uot, 2, Wn, Wn), ilt = new B6(hot, 3, jn, jn), tlt = new B6("NORTH_WEST_CORNER", 4, jn, Fn), Jut = new B6("NORTH_EAST_CORNER", 5, Fn, Wn), rlt = new B6("SOUTH_WEST_CORNER", 6, Lr, jn), nlt = new B6("SOUTH_EAST_CORNER", 7, Wn, Lr) } function y4() { y4 = J, tSt = ct(ot(D2, 1), Kat, 25, 14, [1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800, 39916800, 479001600, 6227020800, 87178291200, 1307674368e3, { l: 3506176, m: 794077, h: 1 }, { l: 884736, m: 916411, h: 20 }, { l: 3342336, m: 3912489, h: 363 }, { l: 589824, m: 3034138, h: 6914 }, { l: 3407872, m: 1962506, h: 138294 }]), b.Math.pow(2, -65) } function lce(t, e) { var n, r, s, o, h; if (t.c.length == 0) return new _a(pe(0), pe(0)); for (n = (An(0, t.c.length), u(t.c[0], 11)).j, h = 0, o = e.g, r = e.g + 1; h < t.c.length - 1 && n.g < o;)++h, n = (An(h, t.c.length), u(t.c[h], 11)).j; for (s = h; s < t.c.length - 1 && n.g < r;)++s, n = (An(h, t.c.length), u(t.c[h], 11)).j; return new _a(pe(h), pe(s)) } function ibn(t, e, n) { var r, s, o, h, d, w, k, _, L, F; for (o = e.c.length, h = (An(n, e.c.length), u(e.c[n], 286)), d = h.a.o.a, L = h.c, F = 0, k = h.c; k <= h.f; k++) { if (d <= t.a[k]) return k; for (_ = t.a[k], w = null, s = n + 1; s < o; s++)r = (An(s, e.c.length), u(e.c[s], 286)), r.c <= k && r.f >= k && (w = r); w && (_ = b.Math.max(_, w.a.o.a)), _ > F && (L = k, F = _) } return L } function sbn(t, e, n) { var r, s, o; if (t.e = n, t.d = 0, t.b = 0, t.f = 1, t.i = e, (t.e & 16) == 16 && (t.i = Gbn(t.i)), t.j = t.i.length, Si(t), o = nw(t), t.d != t.j) throw et(new Wr(Jr((Ur(), V1e)))); if (t.g) { for (r = 0; r < t.g.a.c.length; r++)if (s = u(Pv(t.g, r), 584), t.f <= s.a) throw et(new Wr(Jr((Ur(), G1e)))); t.g.a.c = Ot(nr, De, 1, 0, 5, 1) } return o } function abn(t, e) { var n, r, s; if (e == null) { for (r = (!t.a && (t.a = new he(tg, t, 9, 5)), new lr(t.a)); r.e != r.i.gc();)if (n = u(kr(r), 678), s = n.c, (s ?? n.zb) == null) return n } else for (r = (!t.a && (t.a = new he(tg, t, 9, 5)), new lr(t.a)); r.e != r.i.gc();)if (n = u(kr(r), 678), ln(e, (s = n.c, s ?? n.zb))) return n; return null } function zst(t, e) { var n; switch (n = null, e.g) { case 1: t.e.Xe((Ti(), Yht)) && (n = u(t.e.We(Yht), 249)); break; case 3: t.e.Xe((Ti(), Xht)) && (n = u(t.e.We(Xht), 249)); break; case 2: t.e.Xe((Ti(), Kht)) && (n = u(t.e.We(Kht), 249)); break; case 4: t.e.Xe((Ti(), Qht)) && (n = u(t.e.We(Qht), 249)) }return !n && (n = u(t.e.We((Ti(), DSt)), 249)), n } function hce(t, e, n) { var r, s, o, h, d, w, k, _, L; for (e.p = 1, o = e.c, L = ew(e, (yo(), lu)).Kc(); L.Ob();)for (_ = u(L.Pb(), 11), s = new S(_.g); s.a < s.c.c.length;)r = u(Q(s), 17), k = r.d.i, e != k && (h = k.c, h.p <= o.p && (d = o.p + 1, d == n.b.c.length ? (w = new Oh(n), w.p = d, ue(n.b, w), Fo(k, w)) : (w = u(Fe(n.b, d), 29), Fo(k, w)), hce(t, k, n))) } function fce(t, e, n) { var r, s, o, h, d, w; for (s = n, o = 0, d = new S(e); d.a < d.c.c.length;)h = u(Q(d), 33), Mo(h, (iy(), vG), pe(s++)), w = fy(h), r = b.Math.atan2(h.j + h.f / 2, h.i + h.g / 2), r += r < 0 ? D4 : 0, r < .7853981633974483 || r > Gfe ? ua(w, t.b) : r <= Gfe && r > Ufe ? ua(w, t.d) : r <= Ufe && r > Wfe ? ua(w, t.c) : r <= Wfe && ua(w, t.a), o = fce(t, w, o); return s } function e2() { e2 = J; var t; for (PH = new Ag(1, 1), put = new Ag(1, 10), Q7 = new Ag(0, 0), gut = new Ag(-1, 1), Z8t = ct(ot(B4, 1), te, 91, 0, [Q7, PH, new Ag(1, 2), new Ag(1, 3), new Ag(1, 4), new Ag(1, 5), new Ag(1, 6), new Ag(1, 7), new Ag(1, 8), new Ag(1, 9), put]), FH = Ot(B4, te, 91, 32, 0, 1), t = 0; t < FH.length; t++)FH[t] = WD(L0(1, t)) } function obn(t, e, n, r, s, o) { var h, d, w, k; for (d = !OT(Qi(t.Oc(), new Zt(new EY))).sd((G2(), J7)), h = t, o == (xo(), Q0) && (h = Et(h, 152) ? V6(u(h, 152)) : Et(h, 131) ? u(h, 131).a : Et(h, 54) ? new bv(h) : new Am(h)), k = h.Kc(); k.Ob();)w = u(k.Pb(), 70), w.n.a = e.a, d ? w.n.b = e.b + (r.b - w.o.b) / 2 : s ? w.n.b = e.b : w.n.b = e.b + r.b - w.o.b, e.a += w.o.a + n } function dce(t, e, n, r) { var s, o, h, d, w, k; for (s = (r.c + r.a) / 2, Nh(e.j), pi(e.j, s), Nh(n.e), pi(n.e, s), k = new wqt, d = new S(t.f); d.a < d.c.c.length;)o = u(Q(d), 129), w = o.a, hst(k, e, w), hst(k, n, w); for (h = new S(t.k); h.a < h.c.c.length;)o = u(Q(h), 129), w = o.b, hst(k, e, w), hst(k, n, w); return k.b += 2, k.a += WYt(e, t.q), k.a += WYt(t.q, n), k } function gce(t, e, n) { var r, s, o, h, d; if (!S8(e)) { for (d = Kc(n, (Et(e, 14) ? u(e, 14).gc() : O0(e.Kc())) / t.a | 0), Ar(d, jfe, 1), h = new DF, o = null, s = e.Kc(); s.Ob();)r = u(s.Pb(), 86), h = B1(ct(ot(G1, 1), De, 20, 0, [h, new Sp(r)])), o && (Jt(o, (Sc(), cme), r), Jt(r, pht, o), Lrt(r) == Lrt(o) && (Jt(o, bht, r), Jt(r, hG, o))), o = r; br(d), gce(t, h, n) } } function pce(t) { var e, n, r, s, o, h, d; for (n = t.i, e = t.n, d = n.d, t.f == (Lu(), h2) ? d += (n.a - t.e.b) / 2 : t.f == Cf && (d += n.a - t.e.b), s = new S(t.d); s.a < s.c.c.length;) { switch (r = u(Q(s), 181), h = r.rf(), o = new Ra, o.b = d, d += h.b + t.a, t.b.g) { case 0: o.a = n.c + e.b; break; case 1: o.a = n.c + e.b + (n.b - h.a) / 2; break; case 2: o.a = n.c + n.b - e.c - h.a }r.tf(o) } } function bce(t) { var e, n, r, s, o, h, d; for (n = t.i, e = t.n, d = n.c, t.b == (ol(), l2) ? d += (n.b - t.e.a) / 2 : t.b == _f && (d += n.b - t.e.a), s = new S(t.d); s.a < s.c.c.length;) { switch (r = u(Q(s), 181), h = r.rf(), o = new Ra, o.a = d, d += h.a + t.a, t.f.g) { case 0: o.b = n.d + e.d; break; case 1: o.b = n.d + e.d + (n.a - h.b) / 2; break; case 2: o.b = n.d + n.a - e.a - h.b }r.tf(o) } } function cbn(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G; _ = n.a.c, h = n.a.c + n.a.b, o = u(or(n.c, e), 459), q = o.f, G = o.a, w = new je(_, q), L = new je(h, G), s = _, n.p || (s += t.c), s += n.F + n.v * t.b, k = new je(s, q), F = new je(s, G), P_(e.a, ct(ot(sa, 1), te, 8, 0, [w, k])), d = n.d.a.gc() > 1, d && (r = new je(s, n.b), pi(e.a, r)), P_(e.a, ct(ot(sa, 1), te, 8, 0, [F, L])) } function vce(t) { Tv(t, new bb(yv(vv(mv(wv(new gg, cH), "ELK Randomizer"), 'Distributes the nodes randomly on the plane, leading to very obfuscating layouts. Can be useful to demonstrate the power of "real" layout algorithms.'), new LZ))), ke(t, cH, pw, cAt), ke(t, cH, yy, 15), ke(t, cH, Nq, pe(0)), ke(t, cH, px, B7) } function p5t() { p5t = J; var t, e, n, r, s, o; for (iA = Ot(tl, N4, 25, 255, 15, 1), tU = Ot(Sh, Ed, 25, 16, 15, 1), e = 0; e < 255; e++)iA[e] = -1; for (n = 57; n >= 48; n--)iA[n] = n - 48 << 24 >> 24; for (r = 70; r >= 65; r--)iA[r] = r - 65 + 10 << 24 >> 24; for (s = 102; s >= 97; s--)iA[s] = s - 97 + 10 << 24 >> 24; for (o = 0; o < 10; o++)tU[o] = 48 + o & Ns; for (t = 10; t <= 15; t++)tU[t] = 65 + t - 10 & Ns } function iq(t, e, n) { var r, s, o, h, d, w, k, _; return d = e.i - t.g / 2, w = n.i - t.g / 2, k = e.j - t.g / 2, _ = n.j - t.g / 2, o = e.g + t.g / 2, h = n.g + t.g / 2, r = e.f + t.g / 2, s = n.f + t.g / 2, d < w + h && w < d && k < _ + s && _ < k || w < d + o && d < w && _ < k + r && k < _ || d < w + h && w < d && k < _ && _ < k + r ? !0 : w < d + o && d < w && k < _ + s && _ < k } function ubn(t) { var e, n, r, s, o; s = u(K(t, (Ce(), Nb)), 21), o = u(K(t, YV), 21), n = new je(t.f.a + t.d.b + t.d.c, t.f.b + t.d.d + t.d.a), e = new No(n), s.Hc((Fl(), Ky)) && (r = u(K(t, p9), 8), o.Hc((ml(), M9)) && (r.a <= 0 && (r.a = 20), r.b <= 0 && (r.b = 20)), e.a = b.Math.max(n.a, r.a), e.b = b.Math.max(n.b, r.b)), Re(Be(K(t, $lt))) || Iwn(t, n, e) } function lbn(t, e) { var n, r, s, o; for (o = uc(e, (we(), Lr)).Kc(); o.Ob();)r = u(o.Pb(), 11), n = u(K(r, (ie(), ul)), 10), n && Ef(df(ff(gf(hf(new Dh, 0), .1), t.i[e.p].d), t.i[n.p].a)); for (s = uc(e, Fn).Kc(); s.Ob();)r = u(s.Pb(), 11), n = u(K(r, (ie(), ul)), 10), n && Ef(df(ff(gf(hf(new Dh, 0), .1), t.i[n.p].d), t.i[e.p].a)) } function qst(t) { var e, n, r, s, o, h; if (!t.c) { if (h = new e6, e = tA, o = e.a.zc(t, e), o == null) { for (r = new lr($c(t)); r.e != r.i.gc();)n = u(kr(r), 87), s = uq(n), Et(s, 88) && vs(h, qst(u(s, 26))), Hr(h, n); e.a.Bc(t) != null, e.a.gc() == 0 } hun(h), Jm(h), t.c = new q3((u(St(Ut((zp(), Ln).o), 15), 18), h.i), h.g), gl(t).b &= -33 } return t.c } function b5t(t) { var e; if (t.c != 10) throw et(new Wr(Jr((Ur(), dH)))); switch (e = t.a, e) { case 110: e = 10; break; case 114: e = 13; break; case 116: e = 9; break; case 92: case 124: case 46: case 94: case 45: case 63: case 42: case 43: case 123: case 125: case 40: case 41: case 91: case 93: break; default: throw et(new Wr(Jr((Ur(), kh)))) }return e } function wce(t) { var e, n, r, s, o; if (t.l == 0 && t.m == 0 && t.h == 0) return "0"; if (t.h == MI && t.m == 0 && t.l == 0) return "-9223372036854775808"; if (t.h >> 19) return "-" + wce(Y8(t)); for (n = t, r = ""; !(n.l == 0 && n.m == 0 && n.h == 0);) { if (s = xrt(_q), n = W5t(n, s, !0), e = "" + Mqt(u2), !(n.l == 0 && n.m == 0 && n.h == 0)) for (o = 9 - e.length; o > 0; o--)e = "0" + e; r = e + r } return r } function hbn() { if (!Object.create || !Object.getOwnPropertyNames) return !1; var t = "__proto__", e = Object.create(null); if (e[t] !== void 0) return !1; var n = Object.getOwnPropertyNames(e); return !(n.length != 0 || (e[t] = 42, e[t] !== 42) || Object.getOwnPropertyNames(e).length == 0) } function fbn(t) { var e, n, r, s, o, h, d; for (e = !1, n = 0, s = new S(t.d.b); s.a < s.c.c.length;)for (r = u(Q(s), 29), r.p = n++, h = new S(r.a); h.a < h.c.c.length;)o = u(Q(h), 10), !e && !S8($0(o)) && (e = !0); d = Zi((xo(), h0), ct(ot(zS, 1), se, 103, 0, [Wh, Af])), e || (xf(d, Q0), xf(d, X0)), t.a = new wte(d), al(t.f), al(t.b), al(t.e), al(t.g) } function dbn(t, e, n) { var r, s, o, h, d, w, k, _, L; for (r = n.c, s = n.d, d = I1(e.c), w = I1(e.d), r == e.c ? (d = n5t(t, d, s), w = _se(e.d)) : (d = _se(e.c), w = n5t(t, w, s)), k = new hR(e.a), Cs(k, d, k.a, k.a.a), Cs(k, w, k.c.b, k.c), h = e.c == r, L = new uzt, o = 0; o < k.b - 1; ++o)_ = new _a(u(r1(k, o), 8), u(r1(k, o + 1), 8)), h && o == 0 || !h && o == k.b - 2 ? L.b = _ : ue(L.a, _); return L } function gbn(t, e) { var n, r, s, o; if (o = t.j.g - e.j.g, o != 0) return o; if (n = u(K(t, (Ce(), Ug)), 19), r = u(K(e, Ug), 19), n && r && (s = n.a - r.a, s != 0)) return s; switch (t.j.g) { case 1: return Vs(t.n.a, e.n.a); case 2: return Vs(t.n.b, e.n.b); case 3: return Vs(e.n.a, t.n.a); case 4: return Vs(e.n.b, t.n.b); default: throw et(new Yo(X6t)) } } function v5t(t, e, n, r) { var s, o, h, d, w; if (O0((HM(), new pr(mr($0(e).a.Kc(), new H)))) >= t.a || !n4t(e, n)) return -1; if (S8(u(r.Kb(e), 20))) return 1; for (s = 0, h = u(r.Kb(e), 20).Kc(); h.Ob();)if (o = u(h.Pb(), 17), w = o.c.i == e ? o.d.i : o.c.i, d = v5t(t, w, n, r), d == -1 || (s = b.Math.max(s, d), s > t.c - 1)) return -1; return s + 1 } function mce(t, e) { var n, r, s, o, h, d; if (qt(e) === qt(t)) return !0; if (!Et(e, 15) || (r = u(e, 15), d = t.gc(), r.gc() != d)) return !1; if (h = r.Kc(), t.ni()) { for (n = 0; n < d; ++n)if (s = t.ki(n), o = h.Pb(), s == null ? o != null : !Ni(s, o)) return !1 } else for (n = 0; n < d; ++n)if (s = t.ki(n), o = h.Pb(), qt(s) !== qt(o)) return !1; return !0 } function yce(t, e) { var n, r, s, o, h, d; if (t.f > 0) { if (t.qj(), e != null) { for (o = 0; o < t.d.length; ++o)if (n = t.d[o], n) { for (r = u(n.g, 367), d = n.i, h = 0; h < d; ++h)if (s = r[h], Ni(e, s.dd())) return !0 } } else for (o = 0; o < t.d.length; ++o)if (n = t.d[o], n) { for (r = u(n.g, 367), d = n.i, h = 0; h < d; ++h)if (s = r[h], qt(e) === qt(s.dd())) return !0 } } return !1 } function pbn(t, e, n) { var r, s, o, h; Ar(n, "Orthogonally routing hierarchical port edges", 1), t.a = 0, r = rmn(e), oyn(e, r), qmn(t, e, r), a3n(e), s = u(K(e, (Ce(), xs)), 98), o = e.b, vle((An(0, o.c.length), u(o.c[0], 29)), s, e), vle(u(Fe(o, o.c.length - 1), 29), s, e), h = e.b, Lue((An(0, h.c.length), u(h.c[0], 29))), Lue(u(Fe(h, h.c.length - 1), 29)), br(n) } function w5t(t) { switch (t) { case 48: case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: return t - 48 << 24 >> 24; case 97: case 98: case 99: case 100: case 101: case 102: return t - 97 + 10 << 24 >> 24; case 65: case 66: case 67: case 68: case 69: case 70: return t - 65 + 10 << 24 >> 24; default: throw et(new dd("Invalid hexadecimal")) } } function bbn(t, e, n) { var r, s, o, h; for (Ar(n, "Processor order nodes", 2), t.a = Xt(xe(K(e, (cw(), z_t)))), s = new hs, h = gi(e.b, 0); h.b != h.d.c;)o = u(di(h), 86), Re(Be(K(o, (Sc(), Gy)))) && Cs(s, o, s.c.b, s.c); r = (ir(s.b != 0), u(s.a.a.c, 86)), jue(t, r), !n.b && Urt(n, 1), k5t(t, r, 0 - Xt(xe(K(r, (Sc(), fG)))) / 2, 0), !n.b && Urt(n, 1), br(n) } function sq() { sq = J, D7t = new j3("SPIRAL", 0), S7t = new j3("LINE_BY_LINE", 1), A7t = new j3("MANHATTAN", 2), C7t = new j3("JITTER", 3), xut = new j3("QUADRANTS_LINE_BY_LINE", 4), M7t = new j3("QUADRANTS_MANHATTAN", 5), L7t = new j3("QUADRANTS_JITTER", 6), _7t = new j3("COMBINE_LINE_BY_LINE_MANHATTAN", 7), T7t = new j3("COMBINE_JITTER_MANHATTAN", 8) } function xce(t, e, n, r) { var s, o, h, d, w, k; for (w = lst(t, n), k = lst(e, n), s = !1; w && k && (r || fhn(w, k, n));)h = lst(w, n), d = lst(k, n), bD(e), bD(t), o = w.c, gat(w, !1), gat(k, !1), n ? (sy(e, k.p, o), e.p = k.p, sy(t, w.p + 1, o), t.p = w.p) : (sy(t, w.p, o), t.p = w.p, sy(e, k.p + 1, o), e.p = k.p), Fo(w, null), Fo(k, null), w = h, k = d, s = !0; return s } function vbn(t, e, n, r) { var s, o, h, d, w; for (s = !1, o = !1, d = new S(r.j); d.a < d.c.c.length;)h = u(Q(d), 11), qt(K(h, (ie(), Bi))) === qt(n) && (h.g.c.length == 0 ? h.e.c.length == 0 || (s = !0) : o = !0); return w = 0, s && s ^ o ? w = n.j == (we(), Fn) ? -t.e[r.c.p][r.p] : e - t.e[r.c.p][r.p] : o && s ^ o ? w = t.e[r.c.p][r.p] + 1 : s && o && (w = n.j == (we(), Fn) ? 0 : e / 2), w } function Hst(t, e, n, r, s, o, h, d) { var w, k, _; for (w = 0, e != null && (w ^= Fg(e.toLowerCase())), n != null && (w ^= Fg(n)), r != null && (w ^= Fg(r)), h != null && (w ^= Fg(h)), d != null && (w ^= Fg(d)), k = 0, _ = o.length; k < _; k++)w ^= Fg(o[k]); t ? w |= 256 : w &= -257, s ? w |= 16 : w &= -17, this.f = w, this.i = e == null ? null : (Pn(e), e), this.a = n, this.d = r, this.j = o, this.g = h, this.e = d } function m5t(t, e, n) { var r, s; switch (s = null, e.g) { case 1: s = (Ku(), f9t); break; case 2: s = (Ku(), g9t) }switch (r = null, n.g) { case 1: r = (Ku(), d9t); break; case 2: r = (Ku(), h9t); break; case 3: r = (Ku(), p9t); break; case 4: r = (Ku(), b9t) }return s && r ? I6(t.j, new lT(new Al(ct(ot(k4n, 1), De, 169, 0, [u(zr(s), 169), u(zr(r), 169)])))) : (pn(), pn(), wo) } function wbn(t) { var e, n, r; switch (e = u(K(t, (Ce(), p9)), 8), Jt(t, p9, new je(e.b, e.a)), u(K(t, Pd), 248).g) { case 1: Jt(t, Pd, (t0(), SG)); break; case 2: Jt(t, Pd, (t0(), _G)); break; case 3: Jt(t, Pd, (t0(), jO)); break; case 4: Jt(t, Pd, (t0(), $O)) }(t.q ? t.q : (pn(), pn(), u0))._b(zy) && (n = u(K(t, zy), 8), r = n.a, n.a = n.b, n.b = r) } function kce(t, e, n, r, s, o) { if (this.b = n, this.d = s, t >= e.length) throw et(new Oo("Greedy SwitchDecider: Free layer not in graph.")); this.c = e[t], this.e = new qM(r), Xrt(this.e, this.c, (we(), jn)), this.i = new qM(r), Xrt(this.i, this.c, Wn), this.f = new mKt(this.c), this.a = !o && s.i && !s.s && this.c[0].k == (Kn(), Fs), this.a && Ndn(this, t, e.length) } function Ece(t, e) { var n, r, s, o, h, d; o = !t.B.Hc((ml(), nN)), h = t.B.Hc(sft), t.a = new wre(h, o, t.c), t.n && owt(t.a.n, t.n), ztt(t.g, (t1(), uu), t.a), e || (r = new Q_(1, o, t.c), r.n.a = t.k, O6(t.p, (we(), Fn), r), s = new Q_(1, o, t.c), s.n.d = t.k, O6(t.p, Lr, s), d = new Q_(0, o, t.c), d.n.c = t.k, O6(t.p, jn, d), n = new Q_(0, o, t.c), n.n.b = t.k, O6(t.p, Wn, n)) } function mbn(t) { var e, n, r; switch (e = u(K(t.d, (Ce(), Y0)), 218), e.g) { case 2: n = Y3n(t); break; case 3: n = (r = new le, Ts(Qi(Cu(oc(oc(new kn(null, new Cn(t.d.b, 16)), new dX), new gX), new NE), new rX), new Ett(r)), r); break; default: throw et(new Yo("Compaction not supported for " + e + " edges.")) }vmn(t, n), Oa(new km(t.g), new xtt(t)) } function ybn(t, e) { var n; return n = new k3, e && Ho(n, u(or(t.a, iN), 94)), Et(e, 470) && Ho(n, u(or(t.a, sN), 94)), Et(e, 354) ? (Ho(n, u(or(t.a, ec), 94)), n) : (Et(e, 82) && Ho(n, u(or(t.a, Cr), 94)), Et(e, 239) ? (Ho(n, u(or(t.a, bs), 94)), n) : Et(e, 186) ? (Ho(n, u(or(t.a, El), 94)), n) : (Et(e, 352) && Ho(n, u(or(t.a, aa), 94)), n)) } function i1() { i1 = J, t9 = new po((Ti(), IG), pe(1)), XH = new po(zb, 80), gpe = new po(jSt, 5), spe = new po(jx, B7), fpe = new po(tft, pe(1)), dpe = new po(eft, (Rn(), !0)), K7t = new Sv(50), lpe = new po($b, K7t), G7t = LG, Y7t = $S, ape = new po(Ght, !1), W7t = KO, upe = m2, cpe = jb, ope = s5, hpe = Uy, U7t = (p4t(), Zge), Out = npe, YH = Qge, Iut = Jge, X7t = epe } function xbn(t) { var e, n, r, s, o, h, d, w; for (w = new _Zt, d = new S(t.a); d.a < d.c.c.length;)if (h = u(Q(d), 10), h.k != (Kn(), Fs)) { for (xgn(w, h, new Ra), o = new pr(mr(Gs(h).a.Kc(), new H)); Zr(o);)if (s = u(qr(o), 17), !(s.c.i.k == Fs || s.d.i.k == Fs)) for (r = gi(s.a, 0); r.b != r.d.c;)n = u(di(r), 8), e = n, iC(w, new a8(e.a, e.b)) } return w } function Vst() { Vst = J, VCt = new rs(gct), HCt = (BT(), RO), qCt = new vn(vct, HCt), zCt = (OD(), TG), Iye = new vn(Nkt, zCt), $Ct = (rI(), Oht), Dye = new vn(Pkt, $Ct), Aye = new vn(pct, null), jCt = (lD(), kG), Mye = new vn(bct, jCt), RCt = (xR(), Mht), Tye = new vn(Fkt, RCt), _ye = new vn(Bkt, (Rn(), !1)), Cye = new vn(Rkt, pe(64)), Sye = new vn(jkt, !0), Lye = Iht } function Tce(t) { var e, n, r, s, o, h; if (t.a == null) if (t.a = Ot(Tl, o0, 25, t.c.b.c.length, 16, 1), t.a[0] = !1, ia(t.c, (Ce(), Ult))) for (r = u(K(t.c, Ult), 15), n = r.Kc(); n.Ob();)e = u(n.Pb(), 19).a, e > 0 && e < t.a.length && (t.a[e] = !1); else for (h = new S(t.c.b), h.a < h.c.c.length && Q(h), s = 1; h.a < h.c.c.length;)o = u(Q(h), 29), t.a[s++] = npn(o) } function _ce(t, e) { var n, r, s, o; switch (s = t.b, e) { case 1: { t.b |= 1, t.b |= 4, t.b |= 8; break } case 2: { t.b |= 2, t.b |= 4, t.b |= 8; break } case 4: { t.b |= 1, t.b |= 2, t.b |= 4, t.b |= 8; break } case 3: { t.b |= 16, t.b |= 8; break } case 0: { t.b |= 32, t.b |= 16, t.b |= 8, t.b |= 1, t.b |= 2, t.b |= 4; break } }if (t.b != s && t.c) for (r = new lr(t.c); r.e != r.i.gc();)o = u(kr(r), 473), n = gl(o), uy(n, e) } function Cce(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q, G; for (s = !1, h = e, d = 0, w = h.length; d < w; ++d)o = h[d], Re((Rn(), !!o.e)) && !u(Fe(t.b, o.e.p), 214).s && (s = s | (k = o.e, _ = u(Fe(t.b, k.p), 214), L = _.e, F = hqt(n, L.length), q = L[F][0], q.k == (Kn(), Fs) ? L[F] = n2n(o, L[F], n ? (we(), jn) : (we(), Wn)) : _.c.Tf(L, n), G = gI(t, _, n, r), f5t(_.e, _.o, n), G)); return s } function Sce(t, e) { var n, r, s, o, h; for (o = (!e.a && (e.a = new he(bs, e, 10, 11)), e.a).i, s = new lr((!e.a && (e.a = new he(bs, e, 10, 11)), e.a)); s.e != s.i.gc();)r = u(kr(s), 33), qt(ze(r, (Ti(), r5))) !== qt((j0(), HS)) && (h = u(ze(e, _9), 149), n = u(ze(r, _9), 149), (h == n || h && zwt(h, n)) && (!r.a && (r.a = new he(bs, r, 10, 11)), r.a).i != 0 && (o += Sce(t, r))); return o } function kbn(t) { var e, n, r, s, o, h, d; for (r = 0, d = 0, h = new S(t.d); h.a < h.c.c.length;)o = u(Q(h), 101), s = u(Hl(Qi(new kn(null, new Cn(o.j, 16)), new FE), nb(new Ee, new ne, new tr, ct(ot(xl, 1), se, 132, 0, [(j1(), Zl)]))), 15), n = null, r <= d ? (n = (we(), Fn), r += s.gc()) : d < r && (n = (we(), Lr), d += s.gc()), e = n, Ts(Cu(s.Oc(), new mF), new Ctt(e)) } function Ebn(t) { var e, n, r, s, o, h, d, w; for (t.b = new Hae(new Al((we(), ct(ot(co, 1), Nc, 61, 0, [fc, Fn, Wn, Lr, jn]))), new Al((Xv(), ct(ot(Xut, 1), se, 361, 0, [_w, d2, Tw])))), h = ct(ot(co, 1), Nc, 61, 0, [fc, Fn, Wn, Lr, jn]), d = 0, w = h.length; d < w; ++d)for (o = h[d], n = ct(ot(Xut, 1), se, 361, 0, [_w, d2, Tw]), r = 0, s = n.length; r < s; ++r)e = n[r], Tfn(t.b, o, e, new le) } function Ace(t, e) { var n, r, s, o, h, d, w, k, _, L; if (h = u(u(ji(t.r, e), 21), 84), d = t.u.Hc((cl(), E2)), n = t.u.Hc(WS), r = t.u.Hc(US), k = t.u.Hc(Hx), L = t.B.Hc((ml(), jG)), _ = !n && !r && (k || h.gc() == 2), T2n(t, e), s = null, w = null, d) { for (o = h.Kc(), s = u(o.Pb(), 111), w = s; o.Ob();)w = u(o.Pb(), 111); s.d.b = 0, w.d.c = 0, _ && !s.a && (s.d.c = 0) } L && (k1n(h), d && (s.d.b = 0, w.d.c = 0)) } function Lce(t, e) { var n, r, s, o, h, d, w, k, _, L; if (h = u(u(ji(t.r, e), 21), 84), d = t.u.Hc((cl(), E2)), n = t.u.Hc(WS), r = t.u.Hc(US), w = t.u.Hc(Hx), L = t.B.Hc((ml(), jG)), k = !n && !r && (w || h.gc() == 2), jvn(t, e), _ = null, s = null, d) { for (o = h.Kc(), _ = u(o.Pb(), 111), s = _; o.Ob();)s = u(o.Pb(), 111); _.d.d = 0, s.d.a = 0, k && !_.a && (_.d.a = 0) } L && (E1n(h), d && (_.d.d = 0, s.d.a = 0)) } function Mce(t, e, n) { var r, s, o, h, d, w, k, _; if (s = e.k, e.p >= 0) return !1; if (e.p = n.b, ue(n.e, e), s == (Kn(), ha) || s == Jc) { for (h = new S(e.j); h.a < h.c.c.length;)for (o = u(Q(h), 11), _ = (r = new S(new Fr(o).a.g), new Qt(r)); sc(_.a);)if (k = u(Q(_.a), 17).d, d = k.i, w = d.k, e.c != d.c && (w == ha || w == Jc) && Mce(t, d, n)) return !0 } return !0 } function aq(t) { var e; return t.Db & 64 ? j4t(t) : (e = new Ih(j4t(t)), e.a += " (changeable: ", xg(e, (t.Bb & Tf) != 0), e.a += ", volatile: ", xg(e, (t.Bb & Cy) != 0), e.a += ", transient: ", xg(e, (t.Bb & wy) != 0), e.a += ", defaultValueLiteral: ", So(e, t.j), e.a += ", unsettable: ", xg(e, (t.Bb & Zu) != 0), e.a += ", derived: ", xg(e, (t.Bb & kd) != 0), e.a += ")", e.a) } function Tbn(t) { var e, n, r, s, o, h, d, w, k, _, L, F; for (s = Apn(t.d), h = u(K(t.b, (Z_(), z7t)), 116), d = h.b + h.c, w = h.d + h.a, _ = s.d.a * t.e + d, k = s.b.a * t.f + w, Rgt(t.b, new je(_, k)), F = new S(t.g); F.a < F.c.c.length;)L = u(Q(F), 562), e = L.g - s.a.a, n = L.i - s.c.a, r = $i(RYe(new je(e, n), L.a, L.b), pd(FM(pc(j2t(L.e)), L.d * L.a, L.c * L.b), -.5)), o = $2t(L.e), gWe(L.e, ba(r, o)) } function _bn(t, e, n, r) { var s, o, h, d, w; for (w = Ot(wa, te, 104, (we(), ct(ot(co, 1), Nc, 61, 0, [fc, Fn, Wn, Lr, jn])).length, 0, 2), o = ct(ot(co, 1), Nc, 61, 0, [fc, Fn, Wn, Lr, jn]), h = 0, d = o.length; h < d; ++h)s = o[h], w[s.g] = Ot(wa, Do, 25, t.c[s.g], 15, 1); return Qie(w, t, Fn), Qie(w, t, Lr), rst(w, t, Fn, e, n, r), rst(w, t, Wn, e, n, r), rst(w, t, Lr, e, n, r), rst(w, t, jn, e, n, r), w } function Cbn(t, e, n) { if (Il(t.a, e)) { if (C0(u(or(t.a, e), 53), n)) return 1 } else Pi(t.a, e, new na); if (Il(t.a, n)) { if (C0(u(or(t.a, n), 53), e)) return -1 } else Pi(t.a, n, new na); if (Il(t.b, e)) { if (C0(u(or(t.b, e), 53), n)) return -1 } else Pi(t.b, e, new na); if (Il(t.b, n)) { if (C0(u(or(t.b, n), 53), e)) return 1 } else Pi(t.b, n, new na); return 0 } function y5t(t, e, n, r) { var s, o, h, d, w, k; if (n == null) { for (s = u(t.g, 119), d = 0; d < t.i; ++d)if (h = s[d], h.ak() == e) return Za(t, h, r) } return o = (go(), u(e, 66).Oj() ? u(n, 72) : Zd(e, n)), Ll(t.e) ? (k = !VD(t, e), r = au(t, o, r), w = e.$j() ? Hp(t, 3, e, null, n, E7(t, e, n, Et(e, 99) && (u(e, 18).Bb & oo) != 0), k) : Hp(t, 1, e, e.zj(), n, -1, k), r ? r.Ei(w) : r = w) : r = au(t, o, r), r } function Sbn(t) { var e, n, r, s, o, h; t.q == (xa(), g0) || t.q == eu || (s = t.f.n.d + yj(u(Ao(t.b, (we(), Fn)), 124)) + t.c, e = t.f.n.a + yj(u(Ao(t.b, Lr), 124)) + t.c, r = u(Ao(t.b, Wn), 124), h = u(Ao(t.b, jn), 124), o = b.Math.max(0, r.n.d - s), o = b.Math.max(o, h.n.d - s), n = b.Math.max(0, r.n.a - e), n = b.Math.max(n, h.n.a - e), r.n.d = o, h.n.d = o, r.n.a = n, h.n.a = n) } function Abn(t, e) { var n, r, s, o, h, d, w, k, _, L, F; for (Ar(e, "Restoring reversed edges", 1), w = new S(t.b); w.a < w.c.c.length;)for (d = u(Q(w), 29), _ = new S(d.a); _.a < _.c.c.length;)for (k = u(Q(_), 10), F = new S(k.j); F.a < F.c.c.length;)for (L = u(Q(F), 11), h = yd(L.g), r = h, s = 0, o = r.length; s < o; ++s)n = r[s], Re(Be(K(n, (ie(), K1)))) && lw(n, !1); br(e) } function Dce() { this.b = new tb, this.d = new tb, this.e = new tb, this.c = new tb, this.a = new Rr, this.f = new Rr, Q3(sa, new uZ, new lZ), Q3(eSt, new dc, new ru), Q3(u9t, new ts, new PL), Q3(l9t, new yZ, new xZ), Q3(I3e, new Q5, new vm), Q3(E4n, new hZ, new fZ), Q3(C4n, new dZ, new gZ), Q3(T4n, new pZ, new bZ), Q3(_4n, new vZ, new jc), Q3(L4n, new wZ, new qE) } function Ice(t) { var e, n, r, s, o, h; return o = 0, e = Bh(t), e.Bj() && (o |= 4), t.Bb & Zu && (o |= 2), Et(t, 99) ? (n = u(t, 18), s = bo(n), n.Bb & Ac && (o |= 32), s && (ar(Hm(s)), o |= 8, h = s.t, (h > 1 || h == -1) && (o |= 16), s.Bb & Ac && (o |= 64)), n.Bb & oo && (o |= Cy), o |= Tf) : Et(e, 457) ? o |= 512 : (r = e.Bj(), r && r.i & 1 && (o |= 256)), t.Bb & 512 && (o |= 128), o } function hC(t, e) { var n, r, s, o, h; for (t = t == null ? Pu : (Pn(t), t), s = 0; s < e.length; s++)e[s] = upn(e[s]); for (n = new Sm, h = 0, r = 0; r < e.length && (o = t.indexOf("%s", h), o != -1);)n.a += "" + $l(t == null ? Pu : (Pn(t), t), h, o), Cc(n, e[r++]), h = o + 2; if (gQt(n, t, h, t.length), r < e.length) { for (n.a += " [", Cc(n, e[r++]); r < e.length;)n.a += ao, Cc(n, e[r++]); n.a += "]" } return n.a } function Lbn(t) { var e, n, r, s, o; for (o = new iu(t.a.c.length), s = new S(t.a); s.a < s.c.c.length;) { switch (r = u(Q(s), 10), n = u(K(r, (Ce(), bu)), 163), e = null, n.g) { case 1: case 2: e = (ob(), V4); break; case 3: case 4: e = (ob(), u9) }e ? (Jt(r, (ie(), NV), (ob(), V4)), e == u9 ? eq(r, n, (yo(), ll)) : e == V4 && eq(r, n, (yo(), lu))) : o.c[o.c.length] = r } return o } function x5t(t, e) { var n, r, s, o, h, d, w; for (n = 0, w = new S(e); w.a < w.c.c.length;) { for (d = u(Q(w), 11), vyt(t.b, t.d[d.p]), h = 0, s = new P1(d.b); sc(s.a) || sc(s.b);)r = u(sc(s.a) ? Q(s.a) : Q(s.b), 17), bYt(r) ? (o = Hpt(t, d == r.c ? r.d : r.c), o > t.d[d.p] && (n += jwt(t.b, o), Vp(t.a, pe(o)))) : ++h; for (n += t.b.d * h; !AT(t.a);)bmt(t.b, u(P6(t.a), 19).a) } return n } function Mbn(t, e) { var n; return t.f == vft ? (n = Bv(Bo((Yu(), Pa), e)), t.e ? n == 4 && e != (sx(), Ux) && e != (sx(), Gx) && e != (sx(), wft) && e != (sx(), mft) : n == 2) : t.d && (t.d.Hc(e) || t.d.Hc(z6(Bo((Yu(), Pa), e))) || t.d.Hc(E4((Yu(), Pa), t.b, e))) ? !0 : t.f && a5t((Yu(), t.f), QM(Bo(Pa, e))) ? (n = Bv(Bo(Pa, e)), t.e ? n == 4 : n == 2) : !1 } function Dbn(t, e, n, r) { var s, o, h, d, w, k, _, L; return h = u(ze(n, (Ti(), $x)), 8), w = h.a, _ = h.b + t, s = b.Math.atan2(_, w), s < 0 && (s += D4), s += e, s > D4 && (s -= D4), d = u(ze(r, $x), 8), k = d.a, L = d.b + t, o = b.Math.atan2(L, k), o < 0 && (o += D4), o += e, o > D4 && (o -= D4), A1(), yf(1e-10), b.Math.abs(s - o) <= 1e-10 || s == o || isNaN(s) && isNaN(o) ? 0 : s < o ? -1 : s > o ? 1 : Cv(isNaN(s), isNaN(o)) } function Gst(t) { var e, n, r, s, o, h, d; for (d = new Rr, r = new S(t.a.b); r.a < r.c.c.length;)e = u(Q(r), 57), Pi(d, e, new le); for (s = new S(t.a.b); s.a < s.c.c.length;)for (e = u(Q(s), 57), e.i = Rs, h = e.c.Kc(); h.Ob();)o = u(h.Pb(), 57), u(gc(qo(d.f, o)), 15).Fc(e); for (n = new S(t.a.b); n.a < n.c.c.length;)e = u(Q(n), 57), e.c.$b(), e.c = u(gc(qo(d.f, e)), 15); Joe(t) } function Ust(t) { var e, n, r, s, o, h, d; for (d = new Rr, r = new S(t.a.b); r.a < r.c.c.length;)e = u(Q(r), 81), Pi(d, e, new le); for (s = new S(t.a.b); s.a < s.c.c.length;)for (e = u(Q(s), 81), e.o = Rs, h = e.f.Kc(); h.Ob();)o = u(h.Pb(), 81), u(gc(qo(d.f, o)), 15).Fc(e); for (n = new S(t.a.b); n.a < n.c.c.length;)e = u(Q(n), 81), e.f.$b(), e.f = u(gc(qo(d.f, e)), 15); Hoe(t) } function Ibn(t, e, n, r) { var s, o; for (Uhn(t, e, n, r), jgt(e, t.j - e.j + n), $gt(e, t.k - e.k + r), o = new S(e.f); o.a < o.c.c.length;)switch (s = u(Q(o), 324), s.a.g) { case 0: X8(t, e.g + s.b.a, 0, e.g + s.c.a, e.i - 1); break; case 1: X8(t, e.g + e.o, e.i + s.b.a, t.o - 1, e.i + s.c.a); break; case 2: X8(t, e.g + s.b.a, e.i + e.p, e.g + s.c.a, t.p - 1); break; default: X8(t, 0, e.i + s.b.a, e.g - 1, e.i + s.c.a) } } function oq(t, e, n, r, s) { var o, h, d; try { if (e >= t.o) throw et(new apt); d = e >> 5, h = e & 31, o = L0(1, $r(L0(h, 1))), s ? t.n[n][d] = O1(t.n[n][d], o) : t.n[n][d] = Xs(t.n[n][d], hvt(o)), o = L0(o, 1), r ? t.n[n][d] = O1(t.n[n][d], o) : t.n[n][d] = Xs(t.n[n][d], hvt(o)) } catch (w) { throw w = os(w), Et(w, 320) ? et(new Oo(fot + t.o + "*" + t.p + dot + e + ao + n + got)) : et(w) } } function k5t(t, e, n, r) { var s, o, h; e && (o = Xt(xe(K(e, (Sc(), Kg)))) + r, h = n + Xt(xe(K(e, fG))) / 2, Jt(e, vht, pe($r(Ou(b.Math.round(o))))), Jt(e, N_t, pe($r(Ou(b.Math.round(h))))), e.d.b == 0 || k5t(t, u(ej((s = gi(new Sp(e).a.d, 0), new p6(s))), 86), n + Xt(xe(K(e, fG))) + t.a, r + Xt(xe(K(e, k9)))), K(e, bht) != null && k5t(t, u(K(e, bht), 86), n, r)) } function Obn(t, e) { var n, r, s, o, h, d, w, k, _, L, F; for (w = Qa(e.a), s = Xt(xe(K(w, (Ce(), Fb)))) * 2, _ = Xt(xe(K(w, Z4))), k = b.Math.max(s, _), o = Ot(wa, Do, 25, e.f - e.c + 1, 15, 1), r = -k, n = 0, d = e.b.Kc(); d.Ob();)h = u(d.Pb(), 10), r += t.a[h.c.p] + k, o[n++] = r; for (r += t.a[e.a.c.p] + k, o[n++] = r, F = new S(e.e); F.a < F.c.c.length;)L = u(Q(F), 10), r += t.a[L.c.p] + k, o[n++] = r; return o } function Nbn(t, e, n, r) { var s, o, h, d, w, k, _, L, F; for (F = new Dp(new Cjt(t)), d = ct(ot(l0, 1), $g, 10, 0, [e, n]), w = 0, k = d.length; w < k; ++w)for (h = d[w], L = G_(h, r).Kc(); L.Ob();)for (_ = u(L.Pb(), 11), o = new P1(_.b); sc(o.a) || sc(o.b);)s = u(sc(o.a) ? Q(o.a) : Q(o.b), 17), ro(s) || (az(F.a, _, (Rn(), Lb)) == null, bYt(s) && KM(F, _ == s.c ? s.d : s.c)); return zr(F), new Uu(F) } function Pbn(t, e) { var n, r, s, o; if (o = u(ze(t, (Ti(), o5)), 61).g - u(ze(e, o5), 61).g, o != 0) return o; if (n = u(ze(t, Zht), 19), r = u(ze(e, Zht), 19), n && r && (s = n.a - r.a, s != 0)) return s; switch (u(ze(t, o5), 61).g) { case 1: return Vs(t.i, e.i); case 2: return Vs(t.j, e.j); case 3: return Vs(e.i, t.i); case 4: return Vs(e.j, t.j); default: throw et(new Yo(X6t)) } } function E5t(t) { var e, n, r; return t.Db & 64 ? xst(t) : (e = new jl(Ukt), n = t.k, n ? ni(ni((e.a += ' "', e), n), '"') : (!t.n && (t.n = new he(ec, t, 1, 7)), t.n.i > 0 && (r = (!t.n && (t.n = new he(ec, t, 1, 7)), u(St(t.n, 0), 137)).a, !r || ni(ni((e.a += ' "', e), r), '"'))), ni(kv(ni(kv(ni(kv(ni(kv((e.a += " (", e), t.i), ","), t.j), " | "), t.g), ","), t.f), ")"), e.a) } function Oce(t) { var e, n, r; return t.Db & 64 ? xst(t) : (e = new jl(Wkt), n = t.k, n ? ni(ni((e.a += ' "', e), n), '"') : (!t.n && (t.n = new he(ec, t, 1, 7)), t.n.i > 0 && (r = (!t.n && (t.n = new he(ec, t, 1, 7)), u(St(t.n, 0), 137)).a, !r || ni(ni((e.a += ' "', e), r), '"'))), ni(kv(ni(kv(ni(kv(ni(kv((e.a += " (", e), t.i), ","), t.j), " | "), t.g), ","), t.f), ")"), e.a) } function Wst(t, e) { var n, r, s, o, h, d, w; if (e == null || e.length == 0) return null; if (s = u(Uc(t.a, e), 149), !s) { for (r = (d = new T1(t.b).a.vc().Kc(), new _1(d)); r.a.Ob();)if (n = (o = u(r.a.Pb(), 42), u(o.dd(), 149)), h = n.c, w = e.length, ln(h.substr(h.length - w, w), e) && (e.length == h.length || Ia(h, h.length - e.length - 1) == 46)) { if (s) return null; s = n } s && Po(t.a, e, s) } return s } function Fbn(t, e) { var n, r, s, o; return n = new mu, r = u(Hl(Cu(new kn(null, new Cn(t.f, 16)), n), Wm(new oe, new Or, new ur, new gn, ct(ot(xl, 1), se, 132, 0, [(j1(), Sy), Zl]))), 21), s = r.gc(), r = u(Hl(Cu(new kn(null, new Cn(e.f, 16)), n), Wm(new oe, new Or, new ur, new gn, ct(ot(xl, 1), se, 132, 0, [Sy, Zl]))), 21), o = r.gc(), s < o ? -1 : s == o ? 0 : 1 } function Nce(t) { var e, n, r; ia(t, (Ce(), Mw)) && (r = u(K(t, Mw), 21), !r.dc() && (n = (e = u(Yf(_o), 9), new hh(e, u(pf(e, e.length), 9), 0)), r.Hc((ly(), th)) ? xf(n, th) : xf(n, Df), r.Hc(Kh) || xf(n, Kh), r.Hc(Lf) ? xf(n, If) : r.Hc(Z0) ? xf(n, d0) : r.Hc(Mf) && xf(n, Yh), r.Hc(If) ? xf(n, Lf) : r.Hc(d0) ? xf(n, Z0) : r.Hc(Yh) && xf(n, Mf), Jt(t, Mw, n))) } function Bbn(t) { var e, n, r, s, o, h, d; for (s = u(K(t, (ie(), Aw)), 10), r = t.j, n = (An(0, r.c.length), u(r.c[0], 11)), h = new S(s.j); h.a < h.c.c.length;)if (o = u(Q(h), 11), qt(o) === qt(K(n, Bi))) { o.j == (we(), Fn) && t.p > s.p ? (Qs(o, Lr), o.d && (d = o.o.b, e = o.a.b, o.a.b = d - e)) : o.j == Lr && s.p > t.p && (Qs(o, Fn), o.d && (d = o.o.b, e = o.a.b, o.a.b = -(d - e))); break } return s } function Rbn(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q, G; if (o = n, n < r) for (F = (q = new AD(t.p), G = new AD(t.p), io(q.e, t.e), q.q = t.q, q.r = G, jj(q), io(G.j, t.j), G.r = q, jj(G), new _a(q, G)), L = u(F.a, 112), _ = u(F.b, 112), s = (An(o, e.c.length), u(e.c[o], 329)), h = dce(t, L, _, s), k = n + 1; k <= r; k++)d = (An(k, e.c.length), u(e.c[k], 329)), w = dce(t, L, _, d), wln(d, w, s, h) && (s = d, h = w); return o } function pI(t, e, n, r, s) { var o, h, d, w, k, _, L; if (!(Et(e, 239) || Et(e, 354) || Et(e, 186))) throw et(new Bn("Method only works for ElkNode-, ElkLabel and ElkPort-objects.")); return h = t.a / 2, w = e.i + r - h, _ = e.j + s - h, k = w + e.g + t.a, L = _ + e.f + t.a, o = new Hu, pi(o, new je(w, _)), pi(o, new je(w, L)), pi(o, new je(k, L)), pi(o, new je(k, _)), d = new Ost(o), Ho(d, e), n && Pi(t.b, e, d), d } function fC(t, e, n) { var r, s, o, h, d, w, k, _, L, F; for (o = new je(e, n), _ = new S(t.a); _.a < _.c.c.length;)for (k = u(Q(_), 10), $i(k.n, o), F = new S(k.j); F.a < F.c.c.length;)for (L = u(Q(F), 11), s = new S(L.g); s.a < s.c.c.length;)for (r = u(Q(s), 17), Qm(r.a, o), h = u(K(r, (Ce(), $o)), 74), h && Qm(h, o), w = new S(r.b); w.a < w.c.c.length;)d = u(Q(w), 70), $i(d.n, o) } function jbn(t, e, n) { var r, s, o, h, d, w, k, _, L, F; for (o = new je(e, n), _ = new S(t.a); _.a < _.c.c.length;)for (k = u(Q(_), 10), $i(k.n, o), F = new S(k.j); F.a < F.c.c.length;)for (L = u(Q(F), 11), s = new S(L.g); s.a < s.c.c.length;)for (r = u(Q(s), 17), Qm(r.a, o), h = u(K(r, (Ce(), $o)), 74), h && Qm(h, o), w = new S(r.b); w.a < w.c.c.length;)d = u(Q(w), 70), $i(d.n, o) } function Pce(t) { if ((!t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b).i == 0) throw et(new MT("Edges must have a source.")); if ((!t.c && (t.c = new Tn(Cr, t, 5, 8)), t.c).i == 0) throw et(new MT("Edges must have a target.")); if (!t.b && (t.b = new Tn(Cr, t, 4, 7)), !(t.b.i <= 1 && (!t.c && (t.c = new Tn(Cr, t, 5, 8)), t.c.i <= 1))) throw et(new MT("Hyperedges are not supported.")) } function Fce(t, e) { var n, r, s, o, h, d, w, k, _, L; for (L = 0, o = new P3, Vp(o, e); o.b != o.c;)for (w = u(P6(o), 214), k = 0, _ = u(K(e.j, (Ce(), p2)), 339), h = Xt(xe(K(e.j, $V))), d = Xt(xe(K(e.j, pTt))), _ != (R0(), b2) && (k += h * Kgn(w.e, _), k += d * m2n(w.e)), L += Pie(w.d, w.e) + k, s = new S(w.b); s.a < s.c.c.length;)r = u(Q(s), 37), n = u(Fe(t.b, r.p), 214), n.s || (L += Cst(t, n)); return L } function $bn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z; for (q = e.length, w = q, Yr(0, e.length), e.charCodeAt(0) == 45 ? (L = -1, F = 1, --q) : (L = 1, F = 0), o = (aat(), P0e)[10], s = q / o | 0, Z = q % o, Z != 0 && ++s, d = Ot(Br, oi, 25, s, 15, 1), n = N0e[8], h = 0, G = F + (Z == 0 ? o : Z), W = F; W < w; W = G, G = W + o)r = Kl(e.substr(W, G - W), $a, Di), k = (b7(), p3t(d, d, h, n)), k += bun(d, h, r), d[h++] = k; _ = h, t.e = L, t.d = _, t.a = d, S_(t) } function Bce(t, e, n, r, s, o, h) { if (t.c = r.qf().a, t.d = r.qf().b, s && (t.c += s.qf().a, t.d += s.qf().b), t.b = e.rf().a, t.a = e.rf().b, !s) n ? t.c -= h + e.rf().a : t.c += r.rf().a + h; else switch (s.Hf().g) { case 0: case 2: t.c += s.rf().a + h + o.a + h; break; case 4: t.c -= h + o.a + h + e.rf().a; break; case 1: t.c += s.rf().a + h, t.d -= h + o.b + h + e.rf().b; break; case 3: t.c += s.rf().a + h, t.d += s.rf().b + h + o.b + h } } function Rce(t, e) { var n, r; for (this.b = new le, this.e = new le, this.a = t, this.d = e, gln(this), Eun(this), this.b.dc() ? this.c = t.c.p : this.c = u(this.b.Xb(0), 10).c.p, this.e.c.length == 0 ? this.f = t.c.p : this.f = u(Fe(this.e, this.e.c.length - 1), 10).c.p, r = u(K(t, (ie(), EO)), 15).Kc(); r.Ob();)if (n = u(r.Pb(), 70), ia(n, (Ce(), qV))) { this.d = u(K(n, qV), 227); break } } function x7(t, e, n) { var r, s, o, h, d, w, k, _; for (r = u(or(t.a, e), 53), o = u(or(t.a, n), 53), s = u(or(t.e, e), 53), h = u(or(t.e, n), 53), r.a.zc(n, r), h.a.zc(e, h), _ = o.a.ec().Kc(); _.Ob();)k = u(_.Pb(), 10), r.a.zc(k, r), Ys(u(or(t.e, k), 53), e), io(u(or(t.e, k), 53), s); for (w = s.a.ec().Kc(); w.Ob();)d = u(w.Pb(), 10), h.a.zc(d, h), Ys(u(or(t.a, d), 53), n), io(u(or(t.a, d), 53), o) } function bI(t, e, n) { var r, s, o, h, d, w, k, _; for (r = u(or(t.a, e), 53), o = u(or(t.a, n), 53), s = u(or(t.b, e), 53), h = u(or(t.b, n), 53), r.a.zc(n, r), h.a.zc(e, h), _ = o.a.ec().Kc(); _.Ob();)k = u(_.Pb(), 10), r.a.zc(k, r), Ys(u(or(t.b, k), 53), e), io(u(or(t.b, k), 53), s); for (w = s.a.ec().Kc(); w.Ob();)d = u(w.Pb(), 10), h.a.zc(d, h), Ys(u(or(t.a, d), 53), n), io(u(or(t.a, d), 53), o) } function zbn(t, e) { var n, r, s; switch (Ar(e, "Breaking Point Insertion", 1), r = new U4t(t), u(K(t, (Ce(), Glt)), 337).g) { case 2: s = new CF; case 0: s = new EF; break; default: s = new SF }if (n = s.Vf(t, r), Re(Be(K(t, JTt))) && (n = Imn(t, n)), !s.Wf() && ia(t, QV)) switch (u(K(t, QV), 338).g) { case 2: n = Eae(r, n); break; case 1: n = kse(r, n) }if (n.dc()) { br(e); return } I3n(t, n), br(e) } function qbn(t, e, n) { var r, s, o, h, d, w, k, _, L, F; if (_ = null, F = e, L = VQt(t, $Qt(n), F), F_(L, I0(F, Dd)), h = Hv(F, Ykt), r = new _Vt(t, L), p0n(r.a, r.b, h), d = Hv(F, Oct), s = new CVt(t, L), b0n(s.a, s.b, d), (!L.b && (L.b = new Tn(Cr, L, 4, 7)), L.b).i == 0 || (!L.c && (L.c = new Tn(Cr, L, 5, 8)), L.c).i == 0) throw o = I0(F, Dd), w = F1e + o, k = w + G7, et(new fd(k)); return Vz(F, L), R3n(t, F, L), _ = ait(t, F, L), _ } function Hbn(t, e) { var n, r, s, o, h, d, w; for (s = Ot(Br, oi, 25, t.e.a.c.length, 15, 1), h = new S(t.e.a); h.a < h.c.c.length;)o = u(Q(h), 121), s[o.d] += o.b.a.c.length; for (d = GM(e); d.b != 0;)for (o = u(d.b == 0 ? null : (ir(d.b != 0), bh(d, d.a.a)), 121), r = W6(new S(o.g.a)); r.Ob();)n = u(r.Pb(), 213), w = n.e, w.e = b.Math.max(w.e, o.e + n.a), --s[w.d], s[w.d] == 0 && Cs(d, w, d.c.b, d.c) } function jce(t) { var e, n, r, s, o, h, d, w, k, _, L; for (n = $a, s = Di, d = new S(t.e.a); d.a < d.c.c.length;)o = u(Q(d), 121), s = b.Math.min(s, o.e), n = b.Math.max(n, o.e); for (e = Ot(Br, oi, 25, n - s + 1, 15, 1), h = new S(t.e.a); h.a < h.c.c.length;)o = u(Q(h), 121), o.e -= s, ++e[o.e]; if (r = 0, t.k != null) for (k = t.k, _ = 0, L = k.length; _ < L && (w = k[_], e[r++] += w, e.length != r); ++_); return e } function $ce(t) { switch (t.d) { case 9: case 8: return !0; case 3: case 5: case 4: case 6: return !1; case 7: return u(d5t(t), 19).a == t.o; case 1: case 2: { if (t.o == -2) return !1; switch (t.p) { case 0: case 1: case 2: case 6: case 5: case 7: return _v(t.k, t.f); case 3: case 4: return t.j == t.e; default: return t.n == null ? t.g == null : Ni(t.n, t.g) } } default: return !1 } } function zce(t) { Tv(t, new bb(yv(vv(mv(wv(new gg, jC), "ELK Fixed"), "Keeps the current layout as it is, without any automatic modification. Optional coordinates can be given for nodes and edge bend points."), new FL))), ke(t, jC, pw, rAt), ke(t, jC, tH, Ie(qS)), ke(t, jC, qkt, Ie(JSt)), ke(t, jC, L4, Ie(tAt)), ke(t, jC, vx, Ie(nAt)), ke(t, jC, tct, Ie(eAt)) } function cq(t, e, n) { var r, s, o, h, d; if (r = $r(ja(i0, Xd($r(ja(e == null ? 0 : ns(e), s0)), 15))), d = $r(ja(i0, Xd($r(ja(n == null ? 0 : ns(n), s0)), 15))), o = B_(t, e, r), o && d == o.f && wd(n, o.i)) return n; if (h = R_(t, n, d), h) throw et(new Bn("value already present: " + n)); return s = new zj(e, r, n, d), o ? (v4(t, o), aI(t, s, o), o.e = null, o.c = null, o.i) : (aI(t, s, null), Zie(t), null) } function Vbn(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G; _ = n.a.c, h = n.a.c + n.a.b, o = u(or(n.c, e), 459), q = o.f, G = o.a, o.b ? w = new je(h, q) : w = new je(_, q), o.c ? L = new je(_, G) : L = new je(h, G), s = _, n.p || (s += t.c), s += n.F + n.v * t.b, k = new je(s, q), F = new je(s, G), P_(e.a, ct(ot(sa, 1), te, 8, 0, [w, k])), d = n.d.a.gc() > 1, d && (r = new je(s, n.b), pi(e.a, r)), P_(e.a, ct(ot(sa, 1), te, 8, 0, [F, L])) } function Kst(t, e, n) { var r, s, o, h, d, w; if (e) if (n <= -1) { if (r = wn(e.Tg(), -1 - n), Et(r, 99)) return u(r, 18); for (h = u(e.ah(r), 153), d = 0, w = h.gc(); d < w; ++d)if (qt(h.jl(d)) === qt(t) && (s = h.il(d), Et(s, 99) && (o = u(s, 18), o.Bb & Ac))) return o; throw et(new Yo("The containment feature could not be located")) } else return bo(u(wn(t.Tg(), n), 18)); else return null } function Gbn(t) { var e, n, r, s, o; for (r = t.length, e = new DT, o = 0; o < r;)if (n = Ia(t, o++), !(n == 9 || n == 10 || n == 12 || n == 13 || n == 32)) { if (n == 35) { for (; o < r && (n = Ia(t, o++), !(n == 13 || n == 10));); continue } n == 92 && o < r ? (s = (Yr(o, t.length), t.charCodeAt(o))) == 35 || s == 9 || s == 10 || s == 12 || s == 13 || s == 32 ? (m8(e, s & Ns), ++o) : (e.a += "\\", m8(e, s & Ns), ++o) : m8(e, n & Ns) } return e.a } function Ubn(t, e) { var n, r, s; for (r = new S(e); r.a < r.c.c.length;)if (n = u(Q(r), 33), cn(t.a, n, n), cn(t.b, n, n), s = fy(n), s.c.length != 0) for (t.d && t.d.lg(s), cn(t.a, n, (An(0, s.c.length), u(s.c[0], 33))), cn(t.b, n, u(Fe(s, s.c.length - 1), 33)); nit(s).c.length != 0;)s = nit(s), t.d && t.d.lg(s), cn(t.a, n, (An(0, s.c.length), u(s.c[0], 33))), cn(t.b, n, u(Fe(s, s.c.length - 1), 33)) } function Wbn(t) { var e, n, r, s, o, h, d, w, k, _; for (n = 0, d = new S(t.d); d.a < d.c.c.length;)h = u(Q(d), 101), h.i && (h.i.c = n++); for (e = K2(Tl, [te, o0], [177, 25], 16, [n, n], 2), _ = t.d, s = 0; s < _.c.length; s++)if (w = (An(s, _.c.length), u(_.c[s], 101)), w.i) for (o = s + 1; o < _.c.length; o++)k = (An(o, _.c.length), u(_.c[o], 101)), k.i && (r = I1n(w, k), e[w.i.c][k.i.c] = r, e[k.i.c][w.i.c] = r); return e } function T5t(t, e, n, r) { var s, o, h; return h = new cHt(e, n), t.a ? r ? (s = u(or(t.b, e), 283), ++s.a, h.d = r.d, h.e = r.e, h.b = r, h.c = r, r.e ? r.e.c = h : u(or(t.b, e), 283).b = h, r.d ? r.d.b = h : t.a = h, r.d = h, r.e = h) : (t.e.b = h, h.d = t.e, t.e = h, s = u(or(t.b, e), 283), s ? (++s.a, o = s.c, o.c = h, h.e = o, s.c = h) : (Pi(t.b, e, s = new hwt(h)), ++t.c)) : (t.a = t.e = h, Pi(t.b, e, new hwt(h)), ++t.c), ++t.d, h } function dy(t, e) { var n, r, s, o, h, d, w, k; for (n = new RegExp(e, "g"), w = Ot(Me, te, 2, 0, 6, 1), r = 0, k = t, o = null; ;)if (d = n.exec(k), d == null || k == "") { w[r] = k; break } else h = d.index, w[r] = k.substr(0, h), k = $l(k, h + d[0].length, k.length), n.lastIndex = 0, o == k && (w[r] = k.substr(0, 1), k = k.substr(1)), o = k, ++r; if (t.length > 0) { for (s = w.length; s > 0 && w[s - 1] == "";)--s; s < w.length && (w.length = s) } return w } function _5t(t, e) { var n, r, s, o, h, d, w, k, _, L; for (L = zo(e), k = null, s = !1, d = 0, _ = $c(L.a).i; d < _; ++d)h = u(kI(L, d, (o = u(St($c(L.a), d), 87), w = o.c, Et(w, 88) ? u(w, 26) : (hn(), ef))), 26), n = _5t(t, h), n.dc() || (k ? (s || (s = !0, k = new _j(k)), k.Gc(n)) : k = n); return r = I0n(t, e), r.dc() ? k || (pn(), pn(), wo) : k ? (s || (k = new _j(k)), k.Gc(r), k) : r } function Yst(t, e) { var n, r, s, o, h, d, w, k, _, L; for (L = zo(e), k = null, r = !1, d = 0, _ = $c(L.a).i; d < _; ++d)o = u(kI(L, d, (s = u(St($c(L.a), d), 87), w = s.c, Et(w, 88) ? u(w, 26) : (hn(), ef))), 26), n = Yst(t, o), n.dc() || (k ? (r || (r = !0, k = new _j(k)), k.Gc(n)) : k = n); return h = ogn(t, e), h.dc() ? k || (pn(), pn(), wo) : k ? (r || (k = new _j(k)), k.Gc(h), k) : h } function vI(t, e, n) { var r, s, o, h, d, w; if (Et(e, 72)) return Za(t, e, n); for (d = null, o = null, r = u(t.g, 119), h = 0; h < t.i; ++h)if (s = r[h], Ni(e, s.dd()) && (o = s.ak(), Et(o, 99) && u(o, 18).Bb & Ac)) { d = s; break } return d && (Ll(t.e) && (w = o.$j() ? Hp(t, 4, o, e, null, E7(t, o, e, Et(o, 99) && (u(o, 18).Bb & oo) != 0), !0) : Hp(t, o.Kj() ? 2 : 1, o, e, o.zj(), -1, !0), n ? n.Ei(w) : n = w), n = vI(t, d, n)), n } function Kbn(t) { var e, n, r, s; r = t.o, Pm(), t.A.dc() || Ni(t.A, N7t) ? s = r.a : (s = cI(t.f), t.A.Hc((Fl(), tN)) && !t.B.Hc((ml(), YS)) && (s = b.Math.max(s, cI(u(Ao(t.p, (we(), Fn)), 244))), s = b.Math.max(s, cI(u(Ao(t.p, Lr), 244)))), e = Bee(t), e && (s = b.Math.max(s, e.a))), Re(Be(t.e.yf().We((Ti(), MG)))) ? r.a = b.Math.max(r.a, s) : r.a = s, n = t.f.i, n.c = 0, n.b = s, tat(t.f) } function Ybn(t, e) { var n, r, s, o, h, d, w, k, _; if (n = e.Hh(t.a), n && (w = Kr(e1((!n.b && (n.b = new Ml((hn(), uo), xc, n)), n.b), "memberTypes")), w != null)) { for (k = new le, o = dy(w, "\\w"), h = 0, d = o.length; h < d; ++h)s = o[h], r = s.lastIndexOf("#"), _ = r == -1 ? ybt(t, e.Aj(), s) : r == 0 ? gD(t, null, s.substr(1)) : gD(t, s.substr(0, r), s.substr(r + 1)), Et(_, 148) && ue(k, u(_, 148)); return k } return pn(), pn(), wo } function Xbn(t, e, n) { var r, s, o, h, d, w, k, _; for (Ar(n, Yhe, 1), t.bf(e), o = 0; t.df(o);) { for (_ = new S(e.e); _.a < _.c.c.length;)for (w = u(Q(_), 144), d = jp(B1(ct(ot(G1, 1), De, 20, 0, [e.e, e.d, e.b]))); Zr(d);)h = u(qr(d), 357), h != w && (s = t.af(h, w), s && $i(w.a, s)); for (k = new S(e.e); k.a < k.c.c.length;)w = u(Q(k), 144), r = w.a, Vse(r, -t.d, -t.d, t.d, t.d), $i(w.d, r), Xf(r); t.cf(), ++o } br(n) } function Qbn(t, e, n) { var r, s, o, h; if (h = gu(t.e.Tg(), e), r = u(t.g, 119), go(), u(e, 66).Oj()) { for (o = 0; o < t.i; ++o)if (s = r[o], h.rl(s.ak()) && Ni(s, n)) return hy(t, o), !0 } else if (n != null) { for (o = 0; o < t.i; ++o)if (s = r[o], h.rl(s.ak()) && Ni(n, s.dd())) return hy(t, o), !0 } else for (o = 0; o < t.i; ++o)if (s = r[o], h.rl(s.ak()) && s.dd() == null) return hy(t, o), !0; return !1 } function Zbn(t, e) { var n, r, s, o, h; for (t.c == null || t.c.length < e.c.length ? t.c = Ot(Tl, o0, 25, e.c.length, 16, 1) : LT(t.c), t.a = new le, r = 0, h = new S(e); h.a < h.c.c.length;)s = u(Q(h), 10), s.p = r++; for (n = new hs, o = new S(e); o.a < o.c.c.length;)s = u(Q(o), 10), t.c[s.p] || (Lae(t, s), n.b == 0 || (ir(n.b != 0), u(n.a.a.c, 15)).gc() < t.a.c.length ? QVt(n, t.a) : U2(n, t.a), t.a = new le); return n } function Jbn(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q, G; for (h = u(St(e, 0), 33), Du(h, 0), Iu(h, 0), F = new le, F.c[F.c.length] = h, d = h, o = new fnt(t.a, h.g, h.f, (y7(), BS)), q = 1; q < e.i; q++)G = u(St(e, q), 33), w = sat(t, n5, G, d, o, F, n), k = sat(t, Bx, G, d, o, F, n), _ = sat(t, FS, G, d, o, F, n), L = sat(t, PS, G, d, o, F, n), s = fmn(t, w, k, _, L, G, d, r), Du(G, s.d), Iu(G, s.e), Vk(s, BS), o = s, d = G, F.c[F.c.length] = G; return o } function qce(t) { Tv(t, new bb(yv(vv(mv(wv(new gg, $7), "ELK SPOrE Overlap Removal"), 'A node overlap removal algorithm proposed by Nachmanson et al. in "Node overlap removal by growing a tree".'), new XQ))), ke(t, $7, gct, Ie(KCt)), ke(t, $7, pw, WCt), ke(t, $7, yy, 8), ke(t, $7, vct, Ie(Nye)), ke(t, $7, Rkt, Ie(GCt)), ke(t, $7, jkt, Ie(UCt)), ke(t, $7, WI, (Rn(), !1)) } function Hce(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q; for (h = Nm(e.c, n, r), L = new S(e.a); L.a < L.c.c.length;) { for (_ = u(Q(L), 10), $i(_.n, h), q = new S(_.j); q.a < q.c.c.length;)for (F = u(Q(q), 11), o = new S(F.g); o.a < o.c.c.length;)for (s = u(Q(o), 17), Qm(s.a, h), d = u(K(s, (Ce(), $o)), 74), d && Qm(d, h), k = new S(s.b); k.a < k.c.c.length;)w = u(Q(k), 70), $i(w.n, h); ue(t.a, _), _.a = t } } function tvn(t, e) { var n, r, s, o, h; if (Ar(e, "Node and Port Label Placement and Node Sizing", 1), _Gt((PT(), new qnt(t, !0, !0, new kY))), u(K(t, (ie(), tu)), 21).Hc((ko(), Th))) for (o = u(K(t, (Ce(), $y)), 21), s = o.Hc((cl(), JO)), h = Re(Be(K(t, VTt))), r = new S(t.b); r.a < r.c.c.length;)n = u(Q(r), 29), Ts(Qi(new kn(null, new Cn(n.a, 16)), new qd), new SWt(o, s, h)); br(e) } function evn(t, e) { var n, r, s, o, h, d; if (n = e.Hh(t.a), n && (d = Kr(e1((!n.b && (n.b = new Ml((hn(), uo), xc, n)), n.b), lH)), d != null)) switch (s = ij(d, Nu(35)), r = e.Hj(), s == -1 ? (h = b_(t, Vl(r)), o = d) : s == 0 ? (h = null, o = d.substr(1)) : (h = d.substr(0, s), o = d.substr(s + 1)), Bv(Bo(t, e))) { case 2: case 3: return uon(t, r, h, o); case 0: case 4: case 5: case 6: return lon(t, r, h, o) }return null } function C5t(t, e, n) { var r, s, o, h, d; if (h = (go(), u(e, 66).Oj()), V0(t.e, e)) { if (e.hi() && lq(t, e, n, Et(e, 99) && (u(e, 18).Bb & oo) != 0)) return !1 } else for (d = gu(t.e.Tg(), e), r = u(t.g, 119), o = 0; o < t.i; ++o)if (s = r[o], d.rl(s.ak())) return (h ? Ni(s, n) : n == null ? s.dd() == null : Ni(n, s.dd())) ? !1 : (u(u4(t, o, h ? u(n, 72) : Zd(e, n)), 72), !0); return Hr(t, h ? u(n, 72) : Zd(e, n)) } function wI(t) { var e, n, r, s, o, h, d, w; if (t.d) throw et(new Yo((A0($ut), iot + $ut.k + sot))); for (t.c == (xo(), h0) && T4(t, Wh), n = new S(t.a.a); n.a < n.c.c.length;)e = u(Q(n), 189), e.e = 0; for (h = new S(t.a.b); h.a < h.c.c.length;)for (o = u(Q(h), 81), o.o = Rs, s = o.f.Kc(); s.Ob();)r = u(s.Pb(), 81), ++r.d.e; for (Kyn(t), w = new S(t.a.b); w.a < w.c.c.length;)d = u(Q(w), 81), d.k = !0; return t } function nvn(t, e) { var n, r, s, o, h, d, w, k; for (d = new Jse(t), n = new hs, Cs(n, e, n.c.b, n.c); n.b != 0;) { for (r = u(n.b == 0 ? null : (ir(n.b != 0), bh(n, n.a.a)), 113), r.d.p = 1, h = new S(r.e); h.a < h.c.c.length;)s = u(Q(h), 409), yse(d, s), k = s.d, k.d.p == 0 && Cs(n, k, n.c.b, n.c); for (o = new S(r.b); o.a < o.c.c.length;)s = u(Q(o), 409), yse(d, s), w = s.c, w.d.p == 0 && Cs(n, w, n.c.b, n.c) } return d } function Vce(t) { var e, n, r, s, o; if (r = Xt(xe(ze(t, (Ti(), a3e)))), r != 1) for (XR(t, r * t.g, r * t.f), n = vKe(AZe((!t.c && (t.c = new he(El, t, 9, 9)), t.c), new kZ)), o = jp(B1(ct(ot(G1, 1), De, 20, 0, [(!t.n && (t.n = new he(ec, t, 1, 7)), t.n), (!t.c && (t.c = new he(El, t, 9, 9)), t.c), n]))); Zr(o);)s = u(qr(o), 470), s.Gg(r * s.Dg(), r * s.Eg()), s.Fg(r * s.Cg(), r * s.Bg()), e = u(s.We(OSt), 8), e && (e.a *= r, e.b *= r) } function rvn(t, e, n, r, s) { var o, h, d, w, k, _, L, F; for (h = new S(t.b); h.a < h.c.c.length;)for (o = u(Q(h), 29), F = iD(o.a), k = F, _ = 0, L = k.length; _ < L; ++_)switch (w = k[_], u(K(w, (Ce(), bu)), 163).g) { case 1: M2n(w), Fo(w, e), hie(w, !0, r); break; case 3: p2n(w), Fo(w, n), hie(w, !1, s) }for (d = new Ca(t.b, 0); d.b < d.d.gc();)(ir(d.b < d.d.gc()), u(d.d.Xb(d.c = d.b++), 29)).a.c.length == 0 && Ol(d) } function ivn(t, e) { var n, r, s, o, h, d, w; if (n = e.Hh(t.a), n && (w = Kr(e1((!n.b && (n.b = new Ml((hn(), uo), xc, n)), n.b), v8t)), w != null)) { for (r = new le, o = dy(w, "\\w"), h = 0, d = o.length; h < d; ++h)s = o[h], ln(s, "##other") ? ue(r, "!##" + b_(t, Vl(e.Hj()))) : ln(s, "##local") ? r.c[r.c.length] = null : ln(s, JI) ? ue(r, b_(t, Vl(e.Hj()))) : r.c[r.c.length] = s; return r } return pn(), pn(), wo } function svn(t, e) { var n, r, s, o; return n = new yu, r = u(Hl(Cu(new kn(null, new Cn(t.f, 16)), n), Wm(new oe, new Or, new ur, new gn, ct(ot(xl, 1), se, 132, 0, [(j1(), Sy), Zl]))), 21), s = r.gc(), r = u(Hl(Cu(new kn(null, new Cn(e.f, 16)), n), Wm(new oe, new Or, new ur, new gn, ct(ot(xl, 1), se, 132, 0, [Sy, Zl]))), 21), o = r.gc(), s = s == 1 ? 1 : 0, o = o == 1 ? 1 : 0, s < o ? -1 : s == o ? 0 : 1 } function avn(t) { var e, n, r, s, o, h, d, w, k, _, L, F; for (d = t.i, s = Re(Be(K(d, (Ce(), Ry)))), _ = 0, r = 0, k = new S(t.g); k.a < k.c.c.length;)w = u(Q(k), 17), h = ro(w), o = h && s && Re(Be(K(w, Ob))), F = w.d.i, h && o ? ++r : h && !o ? ++_ : Qa(F).e == d ? ++r : ++_; for (n = new S(t.e); n.a < n.c.c.length;)e = u(Q(n), 17), h = ro(e), o = h && s && Re(Be(K(e, Ob))), L = e.c.i, h && o ? ++_ : h && !o ? ++r : Qa(L).e == d ? ++_ : ++r; return _ - r } function x4(t, e, n, r) { this.e = t, this.k = u(K(t, (ie(), Y4)), 304), this.g = Ot(l0, $g, 10, e, 0, 1), this.b = Ot(ka, te, 333, e, 7, 1), this.a = Ot(l0, $g, 10, e, 0, 1), this.d = Ot(ka, te, 333, e, 7, 1), this.j = Ot(l0, $g, 10, e, 0, 1), this.i = Ot(ka, te, 333, e, 7, 1), this.p = Ot(ka, te, 333, e, 7, 1), this.n = Ot(Zs, te, 476, e, 8, 1), mM(this.n, (Rn(), !1)), this.f = Ot(Zs, te, 476, e, 8, 1), mM(this.f, !0), this.o = n, this.c = r } function Gce(t, e) { var n, r, s, o, h, d; if (!e.dc()) if (u(e.Xb(0), 286).d == (rx(), Dy)) Rhn(t, e); else for (r = e.Kc(); r.Ob();) { switch (n = u(r.Pb(), 286), n.d.g) { case 5: p7(t, n, Kcn(t, n)); break; case 0: p7(t, n, (h = n.f - n.c + 1, d = (h - 1) / 2 | 0, n.c + d)); break; case 4: p7(t, n, csn(t, n)); break; case 2: vre(n), p7(t, n, (o = X3t(n), o ? n.c : n.f)); break; case 1: vre(n), p7(t, n, (s = X3t(n), s ? n.f : n.c)) }P1n(n.a) } } function ovn(t, e) { var n, r, s, o, h, d, w; if (!e.e) { for (e.e = !0, r = e.d.a.ec().Kc(); r.Ob();) { if (n = u(r.Pb(), 17), e.o && e.d.a.gc() <= 1) { h = e.a.c, d = e.a.c + e.a.b, w = new je(h + (d - h) / 2, e.b), pi(u(e.d.a.ec().Kc().Pb(), 17).a, w); continue } if (s = u(or(e.c, n), 459), s.b || s.c) { Vbn(t, n, e); continue } o = t.d == (t7(), _S) && (s.d || s.e) && egn(t, e) && e.d.a.gc() <= 1, o ? Syn(n, e) : cbn(t, n, e) } e.k && Oa(e.d, new E3) } } function S5t(t, e, n, r, s, o) { var h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct; for (F = o, d = (r + s) / 2 + F, Z = n * b.Math.cos(d), bt = n * b.Math.sin(d), Lt = Z - e.g / 2, Ct = bt - e.f / 2, Du(e, Lt), Iu(e, Ct), L = t.a.jg(e), W = 2 * b.Math.acos(n / n + t.c), W < s - r ? (q = W / L, h = (r + s - W) / 2) : (q = (s - r) / L, h = r), G = fy(e), t.e && (t.e.kg(t.d), t.e.lg(G)), k = new S(G); k.a < k.c.c.length;)w = u(Q(k), 33), _ = t.a.jg(w), S5t(t, w, n + t.c, h, h + q * _, o), h += q * _ } function cvn(t, e, n) { var r; switch (r = n.q.getMonth(), e) { case 5: ni(t, ct(ot(Me, 1), te, 2, 6, ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"])[r]); break; case 4: ni(t, ct(ot(Me, 1), te, 2, 6, [Aat, Lat, Mat, Dat, ux, Iat, Oat, Nat, Pat, Fat, Bat, Rat])[r]); break; case 3: ni(t, ct(ot(Me, 1), te, 2, 6, ["Jan", "Feb", "Mar", "Apr", ux, "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"])[r]); break; default: Jd(t, r + 1, e) } } function Xst(t, e) { var n, r, s, o, h; if (Ar(e, "Network simplex", 1), t.e.a.c.length < 1) { br(e); return } for (o = new S(t.e.a); o.a < o.c.c.length;)s = u(Q(o), 121), s.e = 0; for (h = t.e.a.c.length >= 40, h && Yvn(t), Jwn(t), I2n(t), n = ire(t), r = 0; n && r < t.f;)hvn(t, n, Dgn(t, n)), n = ire(t), ++r; h && e1n(t), t.a ? Ggn(t, jce(t)) : jce(t), t.b = null, t.d = null, t.p = null, t.c = null, t.g = null, t.i = null, t.n = null, t.o = null, br(e) } function uvn(t, e, n, r) { var s, o, h, d, w, k, _, L, F; for (w = new je(n, r), ba(w, u(K(e, (Up(), iS)), 8)), F = new S(e.e); F.a < F.c.c.length;)L = u(Q(F), 144), $i(L.d, w), ue(t.e, L); for (d = new S(e.c); d.a < d.c.c.length;) { for (h = u(Q(d), 282), o = new S(h.a); o.a < o.c.c.length;)s = u(Q(o), 559), $i(s.d, w); ue(t.c, h) } for (_ = new S(e.d); _.a < _.c.c.length;)k = u(Q(_), 447), $i(k.d, w), ue(t.d, k) } function A5t(t, e) { var n, r, s, o, h, d, w, k; for (w = new S(e.j); w.a < w.c.c.length;)for (d = u(Q(w), 11), s = new P1(d.b); sc(s.a) || sc(s.b);)r = u(sc(s.a) ? Q(s.a) : Q(s.b), 17), n = r.c == d ? r.d : r.c, o = n.i, e != o && (k = u(K(r, (Ce(), w9)), 19).a, k < 0 && (k = 0), h = o.p, t.b[h] == 0 && (r.d == n ? (t.a[h] -= k + 1, t.a[h] <= 0 && t.c[h] > 0 && pi(t.f, o)) : (t.c[h] -= k + 1, t.c[h] <= 0 && t.a[h] > 0 && pi(t.e, o)))) } function lvn(t) { var e, n, r, s, o, h, d, w, k; for (d = new Dp(u(zr(new gp), 62)), k = Rs, n = new S(t.d); n.a < n.c.c.length;) { for (e = u(Q(n), 222), k = e.c.c; d.a.c != 0 && (w = u(RJe(qin(d.a)), 222), w.c.c + w.c.b < k);)__(d.a, w) != null; for (h = (s = new h_(new c_(new y(d.a).a).b), new g(s)); wM(h.a.a);)o = (r = uj(h.a), u(r.cd(), 222)), pi(o.b, e), pi(e.b, o); az(d.a, e, (Rn(), Lb)) == null } } function Uce(t, e, n) { var r, s, o, h, d, w, k, _, L; for (o = new iu(e.c.length), k = new S(e); k.a < k.c.c.length;)h = u(Q(k), 10), ue(o, t.b[h.c.p][h.p]); for (mmn(t, o, n), L = null; L = yyn(o);)lwn(t, u(L.a, 233), u(L.b, 233), o); for (e.c = Ot(nr, De, 1, 0, 5, 1), s = new S(o); s.a < s.c.c.length;)for (r = u(Q(s), 233), d = r.d, w = 0, _ = d.length; w < _; ++w)h = d[w], e.c[e.c.length] = h, t.a[h.c.p][h.p].a = L1(r.g, r.d[0]).a } function L5t(t, e) { var n, r, s, o; if (0 < (Et(t, 14) ? u(t, 14).gc() : O0(t.Kc()))) { if (s = e, 1 < s) { for (--s, o = new TQ, r = t.Kc(); r.Ob();)n = u(r.Pb(), 86), o = B1(ct(ot(G1, 1), De, 20, 0, [o, new Sp(n)])); return L5t(o, s) } if (s < 0) { for (o = new _Q, r = t.Kc(); r.Ob();)n = u(r.Pb(), 86), o = B1(ct(ot(G1, 1), De, 20, 0, [o, new Sp(n)])); if (0 < (Et(o, 14) ? u(o, 14).gc() : O0(o.Kc()))) return L5t(o, s) } } return u(ej(t.Kc()), 86) } function ml() { ml = J, M9 = new z3("DEFAULT_MINIMUM_SIZE", 0), rN = new z3("MINIMUM_SIZE_ACCOUNTS_FOR_PADDING", 1), FG = new z3("COMPUTE_PADDING", 2), YS = new z3("OUTSIDE_NODE_LABELS_OVERHANG", 3), BG = new z3("PORTS_OVERHANG", 4), jG = new z3("UNIFORM_PORT_SPACING", 5), RG = new z3("SPACE_EFFICIENT_PORT_LABELS", 6), sft = new z3("FORCE_TABULAR_NODE_LABELS", 7), nN = new z3("ASYMMETRICAL", 8) } function Qst(t, e) { var n, r, s, o, h, d, w, k; if (e) { if (n = (o = e.Tg(), o ? Vl(o).Nh().Jh(o) : null), n) { for (db(t, e, n), s = e.Tg(), w = 0, k = (s.i == null && xd(s), s.i).length; w < k; ++w)d = (r = (s.i == null && xd(s), s.i), w >= 0 && w < r.length ? r[w] : null), d.Ij() && !d.Jj() && (Et(d, 322) ? yln(t, u(d, 34), e, n) : (h = u(d, 18), h.Bb & Ac && Mfn(t, h, e, n))); e.kh() && u(n, 49).vh(u(e, 49).qh()) } return n } else return null } function hvn(t, e, n) { var r, s, o; if (!e.f) throw et(new Bn("Given leave edge is no tree edge.")); if (n.f) throw et(new Bn("Given enter edge is a tree edge already.")); for (e.f = !1, U2t(t.p, e), n.f = !0, Ys(t.p, n), r = n.e.e - n.d.e - n.a, Ast(t, n.e, e) || (r = -r), o = new S(t.e.a); o.a < o.c.c.length;)s = u(Q(o), 121), Ast(t, s, e) || (s.e += r); t.j = 1, LT(t.c), O4t(t, u(Q(new S(t.e.a)), 121)), tle(t) } function Wce(t, e) { var n, r, s, o, h, d; if (d = u(K(e, (Ce(), xs)), 98), d == (xa(), g0) || d == eu) for (s = new je(e.f.a + e.d.b + e.d.c, e.f.b + e.d.d + e.d.a).b, h = new S(t.a); h.a < h.c.c.length;)o = u(Q(h), 10), o.k == (Kn(), Fs) && (n = u(K(o, (ie(), yc)), 61), !(n != (we(), Wn) && n != jn) && (r = Xt(xe(K(o, Lw))), d == g0 && (r *= s), o.n.b = r - u(K(o, Iw), 8).b, rz(o, !1, !0))) } function Kce(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q; if (Msn(t, e, n), o = e[n], q = r ? (we(), jn) : (we(), Wn), hYe(e.length, n, r)) { for (s = e[r ? n - 1 : n + 1], Jwt(t, s, r ? (yo(), lu) : (yo(), ll)), w = o, _ = 0, F = w.length; _ < F; ++_)h = w[_], w3t(t, h, q); for (Jwt(t, o, r ? (yo(), ll) : (yo(), lu)), d = s, k = 0, L = d.length; k < L; ++k)h = d[k], h.e || w3t(t, h, qD(q)) } else for (d = o, k = 0, L = d.length; k < L; ++k)h = d[k], w3t(t, h, q); return !1 } function fvn(t, e, n, r) { var s, o, h, d, w, k, _; w = uc(e, n), (n == (we(), Lr) || n == jn) && (w = Et(w, 152) ? V6(u(w, 152)) : Et(w, 131) ? u(w, 131).a : Et(w, 54) ? new bv(w) : new Am(w)), h = !1; do for (s = !1, o = 0; o < w.gc() - 1; o++)k = u(w.Xb(o), 11), d = u(w.Xb(o + 1), 11), H1n(t, k, d, r) && (h = !0, urt(t.a, u(w.Xb(o), 11), u(w.Xb(o + 1), 11)), _ = u(w.Xb(o + 1), 11), w._c(o + 1, u(w.Xb(o), 11)), w._c(o, _), s = !0); while (s); return h } function dvn(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G; if (Ll(t.e)) { if (e != n && (s = u(t.g, 119), q = s[n], h = q.ak(), V0(t.e, h))) { for (G = gu(t.e.Tg(), h), w = -1, d = -1, r = 0, k = 0, L = e > n ? e : n; k <= L; ++k)k == n ? d = r++ : (o = s[k], _ = G.rl(o.ak()), k == e && (w = k == L && !_ ? r - 1 : r), _ && ++r); return F = u(K_(t, e, n), 72), d != w && Kk(t, new dD(t.e, 7, h, pe(d), q.dd(), w)), F } } else return u(Mst(t, e, n), 72); return u(K_(t, e, n), 72) } function gvn(t, e) { var n, r, s, o, h, d, w; for (Ar(e, "Port order processing", 1), w = u(K(t, (Ce(), GTt)), 421), r = new S(t.b); r.a < r.c.c.length;)for (n = u(Q(r), 29), o = new S(n.a); o.a < o.c.c.length;)s = u(Q(o), 10), h = u(K(s, xs), 98), d = s.j, h == (xa(), qb) || h == g0 || h == eu ? (pn(), ua(d, Q9t)) : h != Q1 && h != k2 && (pn(), ua(d, n2e), Lln(d), w == (mD(), nht) && ua(d, e2e)), s.i = !0, M4t(s); br(e) } function pvn(t) { var e, n, r, s, o, h, d, w; for (w = new Rr, e = new Itt, h = t.Kc(); h.Ob();)s = u(h.Pb(), 10), d = Lv(pM(new V2, s), e), du(w.f, s, d); for (o = t.Kc(); o.Ob();)for (s = u(o.Pb(), 10), r = new pr(mr(Gs(s).a.Kc(), new H)); Zr(r);)n = u(qr(r), 17), !ro(n) && Ef(df(ff(hf(gf(new Dh, b.Math.max(1, u(K(n, (Ce(), UTt)), 19).a)), 1), u(or(w, n.c.i), 121)), u(or(w, n.d.i), 121))); return e } function Yce() { Yce = J, $we = Mi(new ra, (so(), Zc), (vo(), F9t)), D_t = Mi(new ra, pu, rV), qwe = sl(Mi(new ra, pu, hV), Go, lV), jwe = sl(Mi(Mi(new ra, pu, D9t), Zc, I9t), Go, O9t), Hwe = rw(rw(TR(sl(Mi(new ra, Nd, pV), Go, gV), Zc), dV), bV), zwe = sl(new ra, Go, B9t), Bwe = sl(Mi(Mi(Mi(new ra, f2, sV), Zc, oV), Zc, e9), Go, aV), Rwe = sl(Mi(Mi(new ra, Zc, e9), Zc, nV), Go, eV) } function bvn(t, e, n, r, s, o) { var h, d, w, k, _, L, F; for (k = lne(e) - lne(t), h = jse(e, k), w = hu(0, 0, 0); k >= 0 && (d = vhn(t, h), !(d && (k < 22 ? w.l |= 1 << k : k < 44 ? w.m |= 1 << k - 22 : w.h |= 1 << k - 44, t.l == 0 && t.m == 0 && t.h == 0)));)_ = h.m, L = h.h, F = h.l, h.h = L >>> 1, h.m = _ >>> 1 | (L & 1) << 21, h.l = F >>> 1 | (_ & 1) << 21, --k; return n && sit(w), o && (r ? (u2 = Y8(t), s && (u2 = Uee(u2, (N8(), O8t)))) : u2 = hu(t.l, t.m, t.h)), w } function vvn(t, e) { var n, r, s, o, h, d, w, k, _, L; for (k = t.e[e.c.p][e.p] + 1, w = e.c.a.c.length + 1, d = new S(t.a); d.a < d.c.c.length;) { for (h = u(Q(d), 11), L = 0, o = 0, s = jp(B1(ct(ot(G1, 1), De, 20, 0, [new ca(h), new Fr(h)]))); Zr(s);)r = u(qr(s), 11), r.i.c == e.c && (L += sYe(t, r.i) + 1, ++o); n = L / o, _ = h.j, _ == (we(), Wn) ? n < k ? t.f[h.p] = t.c - n : t.f[h.p] = t.b + (w - n) : _ == jn && (n < k ? t.f[h.p] = t.b + n : t.f[h.p] = t.c - (w - n)) } } function Kl(t, e, n) { var r, s, o, h, d; if (t == null) throw et(new dd(Pu)); for (o = t.length, h = o > 0 && (Yr(0, t.length), t.charCodeAt(0) == 45 || (Yr(0, t.length), t.charCodeAt(0) == 43)) ? 1 : 0, r = h; r < o; r++)if (jre((Yr(r, t.length), t.charCodeAt(r))) == -1) throw et(new dd(gw + t + '"')); if (d = parseInt(t, 10), s = d < e, isNaN(d)) throw et(new dd(gw + t + '"')); if (s || d > n) throw et(new dd(gw + t + '"')); return d } function wvn(t) { var e, n, r, s, o, h, d; for (h = new hs, o = new S(t.a); o.a < o.c.c.length;)s = u(Q(o), 112), eM(s, s.f.c.length), pT(s, s.k.c.length), s.i == 0 && (s.o = 0, Cs(h, s, h.c.b, h.c)); for (; h.b != 0;)for (s = u(h.b == 0 ? null : (ir(h.b != 0), bh(h, h.a.a)), 112), r = s.o + 1, n = new S(s.f); n.a < n.c.c.length;)e = u(Q(n), 129), d = e.a, $B(d, b.Math.max(d.o, r)), pT(d, d.i - 1), d.i == 0 && Cs(h, d, h.c.b, h.c) } function mvn(t) { var e, n, r, s, o, h, d, w; for (h = new S(t); h.a < h.c.c.length;) { for (o = u(Q(h), 79), r = Vo(u(St((!o.b && (o.b = new Tn(Cr, o, 4, 7)), o.b), 0), 82)), d = r.i, w = r.j, s = u(St((!o.a && (o.a = new he(fs, o, 6, 6)), o.a), 0), 202), ZR(s, s.j + d, s.k + w), QR(s, s.b + d, s.c + w), n = new lr((!s.a && (s.a = new qs(Qh, s, 5)), s.a)); n.e != n.i.gc();)e = u(kr(n), 469), F2t(e, e.a + d, e.b + w); $mt(u(ze(o, (Ti(), i5)), 74), d, w) } } function k7(t) { var e; switch (t) { case 100: return _4(ZC, !0); case 68: return _4(ZC, !1); case 119: return _4(Yct, !0); case 87: return _4(Yct, !1); case 115: return _4(Xct, !0); case 83: return _4(Xct, !1); case 99: return _4(Qct, !0); case 67: return _4(Qct, !1); case 105: return _4(Zct, !0); case 73: return _4(Zct, !1); default: throw et(new ic((e = t, u0e + e.toString(16)))) } } function yvn(t) { var e, n, r, s, o; switch (s = u(Fe(t.a, 0), 10), e = new q0(t), ue(t.a, e), e.o.a = b.Math.max(1, s.o.a), e.o.b = b.Math.max(1, s.o.b), e.n.a = s.n.a, e.n.b = s.n.b, u(K(s, (ie(), yc)), 61).g) { case 4: e.n.a += 2; break; case 1: e.n.b += 2; break; case 2: e.n.a -= 2; break; case 3: e.n.b -= 2 }return r = new zc, ac(r, e), n = new Rv, o = u(Fe(s.j, 0), 11), Ua(n, o), ma(n, r), $i(Xf(r.n), o.n), $i(Xf(r.a), o.a), e } function Xce(t, e, n, r, s) { n && (!r || (t.c - t.b & t.a.length - 1) > 1) && e == 1 && u(t.a[t.b], 10).k == (Kn(), Bl) ? ox(u(t.a[t.b], 10), (Wl(), f0)) : r && (!n || (t.c - t.b & t.a.length - 1) > 1) && e == 1 && u(t.a[t.c - 1 & t.a.length - 1], 10).k == (Kn(), Bl) ? ox(u(t.a[t.c - 1 & t.a.length - 1], 10), (Wl(), y2)) : (t.c - t.b & t.a.length - 1) == 2 ? (ox(u(q_(t), 10), (Wl(), f0)), ox(u(q_(t), 10), y2)) : fpn(t, s), Bwt(t) } function xvn(t, e, n) { var r, s, o, h, d; for (o = 0, s = new lr((!t.a && (t.a = new he(bs, t, 10, 11)), t.a)); s.e != s.i.gc();)r = u(kr(s), 33), h = "", (!r.n && (r.n = new he(ec, r, 1, 7)), r.n).i == 0 || (h = u(St((!r.n && (r.n = new he(ec, r, 1, 7)), r.n), 0), 137).a), d = new cit(o++, e, h), Ho(d, r), Jt(d, (Sc(), OS), r), d.e.b = r.j + r.f / 2, d.f.a = b.Math.max(r.g, 1), d.e.a = r.i + r.g / 2, d.f.b = b.Math.max(r.f, 1), pi(e.b, d), du(n.f, r, d) } function kvn(t) { var e, n, r, s, o; r = u(K(t, (ie(), Bi)), 33), o = u(ze(r, (Ce(), Nb)), 174).Hc((Fl(), Hb)), t.e || (s = u(K(t, tu), 21), e = new je(t.f.a + t.d.b + t.d.c, t.f.b + t.d.d + t.d.a), s.Hc((ko(), Th)) ? (Mo(r, xs, (xa(), eu)), hw(r, e.a, e.b, !1, !0)) : Re(Be(ze(r, $lt))) || hw(r, e.a, e.b, !0, !0)), o ? Mo(r, Nb, on(Hb)) : Mo(r, Nb, (n = u(Yf(KS), 9), new hh(n, u(pf(n, n.length), 9), 0))) } function M5t(t, e, n) { var r, s, o, h; if (e[0] >= t.length) return n.o = 0, !0; switch (Ia(t, e[0])) { case 43: s = 1; break; case 45: s = -1; break; default: return n.o = 0, !0 }if (++e[0], o = e[0], h = Kz(t, e), h == 0 && e[0] == o) return !1; if (e[0] < t.length && Ia(t, e[0]) == 58) { if (r = h * 60, ++e[0], o = e[0], h = Kz(t, e), h == 0 && e[0] == o) return !1; r += h } else r = h, r < 24 && e[0] - o <= 2 ? r *= 60 : r = r % 100 + (r / 100 | 0) * 60; return r *= s, n.o = -r, !0 } function Evn(t) { var e, n, r, s, o, h, d, w, k; for (h = new le, r = new pr(mr(Gs(t.b).a.Kc(), new H)); Zr(r);)n = u(qr(r), 17), ro(n) && ue(h, new BZt(n, kJt(t, n.c), kJt(t, n.d))); for (k = (o = new T1(t.e).a.vc().Kc(), new _1(o)); k.a.Ob();)d = (e = u(k.a.Pb(), 42), u(e.dd(), 113)), d.d.p = 0; for (w = (s = new T1(t.e).a.vc().Kc(), new _1(s)); w.a.Ob();)d = (e = u(w.a.Pb(), 42), u(e.dd(), 113)), d.d.p == 0 && ue(t.d, nvn(t, d)) } function Tvn(t) { var e, n, r, s, o, h, d; for (o = M1(t), s = new lr((!t.e && (t.e = new Tn(aa, t, 7, 4)), t.e)); s.e != s.i.gc();)if (r = u(kr(s), 79), d = Vo(u(St((!r.c && (r.c = new Tn(Cr, r, 5, 8)), r.c), 0), 82)), !Xm(d, o)) return !0; for (n = new lr((!t.d && (t.d = new Tn(aa, t, 8, 5)), t.d)); n.e != n.i.gc();)if (e = u(kr(n), 79), h = Vo(u(St((!e.b && (e.b = new Tn(Cr, e, 4, 7)), e.b), 0), 82)), !Xm(h, o)) return !0; return !1 } function _vn(t) { var e, n, r, s, o, h, d, w; for (w = new Hu, e = gi(t, 0), d = null, n = u(di(e), 8), s = u(di(e), 8); e.b != e.d.c;)d = n, n = s, s = u(di(e), 8), o = pte(ba(new je(d.a, d.b), n)), h = pte(ba(new je(s.a, s.b), n)), r = 10, r = b.Math.min(r, b.Math.abs(o.a + o.b) / 2), r = b.Math.min(r, b.Math.abs(h.a + h.b) / 2), o.a = WM(o.a) * r, o.b = WM(o.b) * r, h.a = WM(h.a) * r, h.b = WM(h.b) * r, pi(w, $i(o, n)), pi(w, $i(h, n)); return w } function Yl(t, e, n, r) { var s, o, h, d, w; return h = t.eh(), w = t.Zg(), s = null, w ? e && !(Kst(t, e, n).Bb & oo) ? (r = Za(w.Vk(), t, r), t.uh(null), s = e.fh()) : w = null : (h && (w = h.fh()), e && (s = e.fh())), w != s && w && w.Zk(t), d = t.Vg(), t.Rg(e, n), w != s && s && s.Yk(t), t.Lg() && t.Mg() && (h && d >= 0 && d != n && (o = new la(t, 1, d, h, null), r ? r.Ei(o) : r = o), n >= 0 && (o = new la(t, 1, n, d == n ? h : null, e), r ? r.Ei(o) : r = o)), r } function Qce(t) { var e, n, r; if (t.b == null) { if (r = new yg, t.i != null && (So(r, t.i), r.a += ":"), t.f & 256) { for (t.f & 256 && t.a != null && (Rtn(t.i) || (r.a += "//"), So(r, t.a)), t.d != null && (r.a += "/", So(r, t.d)), t.f & 16 && (r.a += "/"), e = 0, n = t.j.length; e < n; e++)e != 0 && (r.a += "/"), So(r, t.j[e]); t.g != null && (r.a += "?", So(r, t.g)) } else So(r, t.a); t.e != null && (r.a += "#", So(r, t.e)), t.b = r.a } return t.b } function Cvn(t, e) { var n, r, s, o, h, d; for (s = new S(e.a); s.a < s.c.c.length;)r = u(Q(s), 10), o = K(r, (ie(), Bi)), Et(o, 11) && (h = u(o, 11), d = bue(e, r, h.o.a, h.o.b), h.n.a = d.a, h.n.b = d.b, Qs(h, u(K(r, yc), 61))); n = new je(e.f.a + e.d.b + e.d.c, e.f.b + e.d.d + e.d.a), u(K(e, (ie(), tu)), 21).Hc((ko(), Th)) ? (Jt(t, (Ce(), xs), (xa(), eu)), u(K(Qa(t), tu), 21).Fc(f9), Jue(t, n, !1)) : Jue(t, n, !0) } function Svn(t, e, n) { var r, s, o, h, d, w; if (Ar(n, "Minimize Crossings " + t.a, 1), r = e.b.c.length == 0 || !OT(Qi(new kn(null, new Cn(e.b, 16)), new Zt(new Ek))).sd((G2(), J7)), w = e.b.c.length == 1 && u(Fe(e.b, 0), 29).a.c.length == 1, o = qt(K(e, (Ce(), By))) === qt((j0(), Qg)), r || w && !o) { br(n); return } s = E2n(t, e), h = (d = u(r1(s, 0), 214), d.c.Rf() ? d.c.Lf() ? new xjt(t) : new kjt(t) : new yjt(t)), Ton(s, h), Xon(t), br(n) } function Avn(t, e, n, r) { var s, o, h, d, w; if (w = $r(ja(i0, Xd($r(ja(e == null ? 0 : ns(e), s0)), 15))), s = $r(ja(i0, Xd($r(ja(n == null ? 0 : ns(n), s0)), 15))), d = R_(t, e, w), h = B_(t, n, s), d && s == d.a && wd(n, d.g)) return n; if (h && !r) throw et(new Bn("key already present: " + n)); return d && v4(t, d), h && v4(t, h), o = new zj(n, s, e, w), aI(t, o, h), h && (h.e = null, h.c = null), d && (d.e = null, d.c = null), Zie(t), d ? d.g : null } function Zce(t, e, n) { var r, s, o, h, d; for (o = 0; o < e; o++) { for (r = 0, d = o + 1; d < e; d++)r = Wa(Wa(ja(Xs(t[o], Eo), Xs(t[d], Eo)), Xs(n[o + d], Eo)), Xs($r(r), Eo)), n[o + d] = $r(r), r = jm(r, 32); n[o + e] = $r(r) } for (san(n, n, e << 1), r = 0, s = 0, h = 0; s < e; ++s, h++)r = Wa(Wa(ja(Xs(t[s], Eo), Xs(t[s], Eo)), Xs(n[h], Eo)), Xs($r(r), Eo)), n[h] = $r(r), r = jm(r, 32), ++h, r = Wa(r, Xs(n[h], Eo)), n[h] = $r(r), r = jm(r, 32); return n } function Jce(t, e, n) { var r, s, o, h, d, w, k, _; if (!S8(e)) { for (w = Xt(xe(ny(n.c, (Ce(), yS)))), k = u(ny(n.c, AO), 142), !k && (k = new TT), r = n.a, s = null, d = e.Kc(); d.Ob();)h = u(d.Pb(), 11), _ = 0, s ? (_ = w, _ += s.o.b) : _ = k.d, o = Lv(pM(new V2, h), t.f), Pi(t.k, h, o), Ef(df(ff(hf(gf(new Dh, 0), Ms(b.Math.ceil(_))), r), o)), s = h, r = o; Ef(df(ff(hf(gf(new Dh, 0), Ms(b.Math.ceil(k.a + s.o.b))), r), n.d)) } } function Lvn(t, e, n, r, s, o, h, d) { var w, k, _, L, F, q; return q = !1, F = o - n.s, _ = n.t - e.f + (k = vC(n, F, !1), k.a), r.g + d > F ? !1 : (L = (w = vC(r, F, !1), w.a), _ + d + L <= e.b && (fD(n, o - n.s), n.c = !0, fD(r, o - n.s), KD(r, n.s, n.t + n.d + d), r.k = !0, qmt(n.q, r), q = !0, s && ($$(e, r), r.j = e, t.c.length > h && (JD((An(h, t.c.length), u(t.c[h], 200)), r), (An(h, t.c.length), u(t.c[h], 200)).a.c.length == 0 && Sg(t, h)))), q) } function Mvn(t, e) { var n, r, s, o, h, d; if (Ar(e, "Partition midprocessing", 1), s = new $v, Ts(Qi(new kn(null, new Cn(t.a, 16)), new CY), new dv(s)), s.d != 0) { for (d = u(Hl(VXt((o = s.i, new kn(null, (o || (s.i = new W3(s, s.c))).Nc()))), nb(new Ee, new ne, new tr, ct(ot(xl, 1), se, 132, 0, [(j1(), Zl)]))), 15), r = d.Kc(), n = u(r.Pb(), 19); r.Ob();)h = u(r.Pb(), 19), Opn(u(ji(s, n), 21), u(ji(s, h), 21)), n = h; br(e) } } function tue(t, e, n) { var r, s, o, h, d, w, k, _; if (e.p == 0) { for (e.p = 1, h = n, h || (s = new le, o = (r = u(Yf(co), 9), new hh(r, u(pf(r, r.length), 9), 0)), h = new _a(s, o)), u(h.a, 15).Fc(e), e.k == (Kn(), Fs) && u(h.b, 21).Fc(u(K(e, (ie(), yc)), 61)), w = new S(e.j); w.a < w.c.c.length;)for (d = u(Q(w), 11), _ = jp(B1(ct(ot(G1, 1), De, 20, 0, [new ca(d), new Fr(d)]))); Zr(_);)k = u(qr(_), 11), tue(t, k.i, h); return h } return null } function dC(t, e) { var n, r, s, o, h; if (t.Ab) { if (t.Ab) { if (h = t.Ab.i, h > 0) { if (s = u(t.Ab.g, 1934), e == null) { for (o = 0; o < h; ++o)if (n = s[o], n.d == null) return n } else for (o = 0; o < h; ++o)if (n = s[o], ln(e, n.d)) return n } } else if (e == null) { for (r = new lr(t.Ab); r.e != r.i.gc();)if (n = u(kr(r), 590), n.d == null) return n } else for (r = new lr(t.Ab); r.e != r.i.gc();)if (n = u(kr(r), 590), ln(e, n.d)) return n } return null } function Dvn(t, e) { var n, r, s, o, h, d, w, k; if (k = Be(K(e, (cw(), wme))), k == null || (Pn(k), k)) { for (rgn(t, e), s = new le, w = gi(e.b, 0); w.b != w.d.c;)h = u(di(w), 86), n = k4t(t, h, null), n && (Ho(n, e), s.c[s.c.length] = n); if (t.a = null, t.b = null, s.c.length > 1) for (r = new S(s); r.a < r.c.c.length;)for (n = u(Q(r), 135), o = 0, d = gi(n.b, 0); d.b != d.d.c;)h = u(di(d), 86), h.g = o++; return s } return N1(ct(ot(q4n, 1), R6t, 135, 0, [e])) } function Ivn(t, e, n, r, s) { var o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt; q = yrn(t, Zmt(e), s), Fmt(q, I0(s, Dd)), E = null, G = s, W = L_(G, P1e), Z = new s$t(q), J1n(Z.a, W), bt = L_(G, "endPoint"), Lt = new u$t(q), Z1n(Lt.a, bt), Ct = Hv(G, uH), Pt = new f$t(q), $fn(Pt.a, Ct), L = I0(s, Zkt), o = new SVt(t, q), hXe(o.a, o.b, L), F = I0(s, Qkt), h = new AVt(t, q), fXe(h.a, h.b, F), k = Hv(s, t8t), d = new LVt(n, q), Thn(d.b, d.a, k), _ = Hv(s, Jkt), w = new MVt(r, q), _hn(w.b, w.a, _) } function D5t(t, e, n) { var r, s, o, h, d; switch (d = null, e.g) { case 1: for (s = new S(t.j); s.a < s.c.c.length;)if (r = u(Q(s), 11), Re(Be(K(r, (ie(), Elt))))) return r; d = new zc, Jt(d, (ie(), Elt), (Rn(), !0)); break; case 2: for (h = new S(t.j); h.a < h.c.c.length;)if (o = u(Q(h), 11), Re(Be(K(o, (ie(), _lt))))) return o; d = new zc, Jt(d, (ie(), _lt), (Rn(), !0)) }return d && (ac(d, t), Qs(d, n), _ln(d.n, t.o, n)), d } function eue(t, e) { var n, r, s, o, h, d; for (d = -1, h = new hs, r = new P1(t.b); sc(r.a) || sc(r.b);) { for (n = u(sc(r.a) ? Q(r.a) : Q(r.b), 17), d = b.Math.max(d, Xt(xe(K(n, (Ce(), Gg))))), n.c == t ? Ts(Qi(new kn(null, new Cn(n.b, 16)), new rY), new Vc(h)) : Ts(Qi(new kn(null, new Cn(n.b, 16)), new iY), new ho(h)), o = gi(h, 0); o.b != o.d.c;)s = u(di(o), 70), ia(s, (ie(), Lx)) || Jt(s, Lx, n); Hs(e, h), Nh(h) } return d } function Ovn(t, e, n, r, s) { var o, h, d, w; o = new q0(t), _0(o, (Kn(), Jc)), Jt(o, (Ce(), xs), (xa(), eu)), Jt(o, (ie(), Bi), e.c.i), h = new zc, Jt(h, Bi, e.c), Qs(h, s), ac(h, o), Jt(e.c, ul, o), d = new q0(t), _0(d, Jc), Jt(d, xs, eu), Jt(d, Bi, e.d.i), w = new zc, Jt(w, Bi, e.d), Qs(w, s), ac(w, d), Jt(e.d, ul, d), Ua(e, h), ma(e, w), Vm(0, n.c.length), zT(n.c, 0, o), r.c[r.c.length] = d, Jt(o, OV, pe(1)), Jt(d, OV, pe(1)) } function uw(t, e, n, r, s) { var o, h, d, w, k; d = s ? r.b : r.a, !C0(t.a, r) && (k = d > n.s && d < n.c, w = !1, n.e.b != 0 && n.j.b != 0 && (w = w | (b.Math.abs(d - Xt(xe(Ket(n.e)))) < Cd && b.Math.abs(d - Xt(xe(Ket(n.j)))) < Cd), w = w | (b.Math.abs(d - Xt(xe(cj(n.e)))) < Cd && b.Math.abs(d - Xt(xe(cj(n.j)))) < Cd)), (k || w) && (h = u(K(e, (Ce(), $o)), 74), h || (h = new Hu, Jt(e, $o, h)), o = new No(r), Cs(h, o, h.c.b, h.c), Ys(t.a, o))) } function Nvn(t, e, n, r) { var s, o, h, d, w, k, _; if ($0n(t, e, n, r)) return !0; for (h = new S(e.f); h.a < h.c.c.length;) { switch (o = u(Q(h), 324), d = !1, w = t.j - e.j + n, k = w + e.o, _ = t.k - e.k + r, s = _ + e.p, o.a.g) { case 0: d = dit(t, w + o.b.a, 0, w + o.c.a, _ - 1); break; case 1: d = dit(t, k, _ + o.b.a, t.o - 1, _ + o.c.a); break; case 2: d = dit(t, w + o.b.a, s, w + o.c.a, t.p - 1); break; default: d = dit(t, 0, _ + o.b.a, w - 1, _ + o.c.a) }if (d) return !0 } return !1 } function Pvn(t, e) { var n, r, s, o, h, d, w, k, _; for (h = new S(e.b); h.a < h.c.c.length;)for (o = u(Q(h), 29), k = new S(o.a); k.a < k.c.c.length;) { for (w = u(Q(k), 10), _ = new le, d = 0, r = new pr(mr(Zo(w).a.Kc(), new H)); Zr(r);)n = u(qr(r), 17), !(ro(n) || !ro(n) && n.c.i.c == n.d.i.c) && (s = u(K(n, (Ce(), Px)), 19).a, s > d && (d = s, _.c = Ot(nr, De, 1, 0, 5, 1)), s == d && ue(_, new _a(n.c.i, n))); pn(), ua(_, t.c), Rm(t.b, w.p, _) } } function Fvn(t, e) { var n, r, s, o, h, d, w, k, _; for (h = new S(e.b); h.a < h.c.c.length;)for (o = u(Q(h), 29), k = new S(o.a); k.a < k.c.c.length;) { for (w = u(Q(k), 10), _ = new le, d = 0, r = new pr(mr(Gs(w).a.Kc(), new H)); Zr(r);)n = u(qr(r), 17), !(ro(n) || !ro(n) && n.c.i.c == n.d.i.c) && (s = u(K(n, (Ce(), Px)), 19).a, s > d && (d = s, _.c = Ot(nr, De, 1, 0, 5, 1)), s == d && ue(_, new _a(n.d.i, n))); pn(), ua(_, t.c), Rm(t.f, w.p, _) } } function nue(t) { Tv(t, new bb(yv(vv(mv(wv(new gg, ww), "ELK Box"), "Algorithm for packing of unconnected boxes, i.e. graphs without edges."), new mZ))), ke(t, ww, pw, oSt), ke(t, ww, yy, 15), ke(t, ww, RI, pe(0)), ke(t, ww, sH, Ie(iSt)), ke(t, ww, L4, Ie(Wye)), ke(t, ww, bx, Ie(Kye)), ke(t, ww, px, t1e), ke(t, ww, jI, Ie(sSt)), ke(t, ww, vx, Ie(aSt)), ke(t, ww, zkt, Ie(zht)), ke(t, ww, Jq, Ie(Uye)) } function rue(t, e) { var n, r, s, o, h, d, w, k, _; if (s = t.i, h = s.o.a, o = s.o.b, h <= 0 && o <= 0) return we(), fc; switch (k = t.n.a, _ = t.n.b, d = t.o.a, n = t.o.b, e.g) { case 2: case 1: if (k < 0) return we(), jn; if (k + d > h) return we(), Wn; break; case 4: case 3: if (_ < 0) return we(), Fn; if (_ + n > o) return we(), Lr }return w = (k + d / 2) / h, r = (_ + n / 2) / o, w + r <= 1 && w - r <= 0 ? (we(), jn) : w + r >= 1 && w - r >= 0 ? (we(), Wn) : r < .5 ? (we(), Fn) : (we(), Lr) } function Bvn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W; for (n = !1, _ = Xt(xe(K(e, (Ce(), Nw)))), G = r2 * _, s = new S(e.b); s.a < s.c.c.length;)for (r = u(Q(s), 29), k = new S(r.a), o = u(Q(k), 10), L = jvt(t.a[o.p]); k.a < k.c.c.length;)d = u(Q(k), 10), F = jvt(t.a[d.p]), L != F && (q = G3(t.b, o, d), h = o.n.b + o.o.b + o.d.a + L.a + q, w = d.n.b - d.d.d + F.a, h > w + G && (W = L.g + F.g, F.a = (F.g * F.a + L.g * L.a) / W, F.g = W, L.f = F, n = !0)), o = d, L = F; return n } function iue(t, e, n, r, s, o, h) { var d, w, k, _, L, F; for (F = new S6, k = e.Kc(); k.Ob();)for (d = u(k.Pb(), 839), L = new S(d.wf()); L.a < L.c.c.length;)_ = u(Q(L), 181), qt(_.We((Ti(), Uht))) === qt((F1(), S9)) && (Bce(F, _, !1, r, s, o, h), sC(t, F)); for (w = n.Kc(); w.Ob();)for (d = u(w.Pb(), 839), L = new S(d.wf()); L.a < L.c.c.length;)_ = u(Q(L), 181), qt(_.We((Ti(), Uht))) === qt((F1(), Wy)) && (Bce(F, _, !0, r, s, o, h), sC(t, F)) } function Rvn(t, e, n) { var r, s, o, h, d, w, k; for (h = new lr((!t.a && (t.a = new he(bs, t, 10, 11)), t.a)); h.e != h.i.gc();)for (o = u(kr(h), 33), s = new pr(mr(H0(o).a.Kc(), new H)); Zr(s);)r = u(qr(s), 79), !cC(r) && !cC(r) && !aw(r) && (w = u(gc(qo(n.f, o)), 86), k = u(or(n, Vo(u(St((!r.c && (r.c = new Tn(Cr, r, 5, 8)), r.c), 0), 82))), 86), w && k && (d = new uwt(w, k), Jt(d, (Sc(), OS), r), Ho(d, r), pi(w.d, d), pi(k.b, d), pi(e.a, d))) } function jvn(t, e) { var n, r, s, o, h, d, w, k; for (w = u(u(ji(t.r, e), 21), 84).Kc(); w.Ob();)d = u(w.Pb(), 111), s = d.c ? QWt(d.c) : 0, s > 0 ? d.a ? (k = d.b.rf().b, s > k && (t.v || d.c.d.c.length == 1 ? (h = (s - k) / 2, d.d.d = h, d.d.a = h) : (n = u(Fe(d.c.d, 0), 181).rf().b, r = (n - k) / 2, d.d.d = b.Math.max(0, r), d.d.a = s - r - k))) : d.d.a = t.t + s : w_(t.u) && (o = s4t(d.b), o.d < 0 && (d.d.d = -o.d), o.d + o.a > d.b.rf().b && (d.d.a = o.d + o.a - d.b.rf().b)) } function $vn(t, e) { var n; switch (yD(t)) { case 6: return pa(e); case 7: return Im(e); case 8: return Dm(e); case 3: return Array.isArray(e) && (n = yD(e), !(n >= 14 && n <= 16)); case 11: return e != null && typeof e === kat; case 12: return e != null && (typeof e === TI || typeof e == kat); case 0: return Git(e, t.__elementTypeId$); case 2: return Lnt(e) && e.im !== de; case 1: return Lnt(e) && e.im !== de || Git(e, t.__elementTypeId$); default: return !0 } } function sue(t, e) { var n, r, s, o; return r = b.Math.min(b.Math.abs(t.c - (e.c + e.b)), b.Math.abs(t.c + t.b - e.c)), o = b.Math.min(b.Math.abs(t.d - (e.d + e.a)), b.Math.abs(t.d + t.a - e.d)), n = b.Math.abs(t.c + t.b / 2 - (e.c + e.b / 2)), n > t.b / 2 + e.b / 2 || (s = b.Math.abs(t.d + t.a / 2 - (e.d + e.a / 2)), s > t.a / 2 + e.a / 2) ? 1 : n == 0 && s == 0 ? 0 : n == 0 ? o / s + 1 : s == 0 ? r / n + 1 : b.Math.min(r / n, o / s) + 1 } function aue(t, e) { var n, r, s, o, h, d; return s = Cmt(t), d = Cmt(e), s == d ? t.e == e.e && t.a < 54 && e.a < 54 ? t.f < e.f ? -1 : t.f > e.f ? 1 : 0 : (r = t.e - e.e, n = (t.d > 0 ? t.d : b.Math.floor((t.a - 1) * vhe) + 1) - (e.d > 0 ? e.d : b.Math.floor((e.a - 1) * vhe) + 1), n > r + 1 ? s : n < r - 1 ? -s : (o = (!t.c && (t.c = RD(t.f)), t.c), h = (!e.c && (e.c = RD(e.f)), e.c), r < 0 ? o = J3(o, Aue(-r)) : r > 0 && (h = J3(h, Aue(r))), Rre(o, h))) : s < d ? -1 : 1 } function zvn(t, e) { var n, r, s, o, h, d, w; for (o = 0, d = 0, w = 0, s = new S(t.f.e); s.a < s.c.c.length;)r = u(Q(s), 144), e != r && (h = t.i[e.b][r.b], o += h, n = Gp(e.d, r.d), n > 0 && t.d != (O_(), Fut) && (d += h * (r.d.a + t.a[e.b][r.b] * (e.d.a - r.d.a) / n)), n > 0 && t.d != (O_(), Nut) && (w += h * (r.d.b + t.a[e.b][r.b] * (e.d.b - r.d.b) / n))); switch (t.d.g) { case 1: return new je(d / o, e.d.b); case 2: return new je(e.d.a, w / o); default: return new je(d / o, w / o) } } function oue(t, e) { J8(); var n, r, s, o, h; if (h = u(K(t.i, (Ce(), xs)), 98), o = t.j.g - e.j.g, o != 0 || !(h == (xa(), qb) || h == g0 || h == eu)) return 0; if (h == (xa(), qb) && (n = u(K(t, Ug), 19), r = u(K(e, Ug), 19), n && r && (s = n.a - r.a, s != 0))) return s; switch (t.j.g) { case 1: return Vs(t.n.a, e.n.a); case 2: return Vs(t.n.b, e.n.b); case 3: return Vs(e.n.a, t.n.a); case 4: return Vs(e.n.b, t.n.b); default: throw et(new Yo(X6t)) } } function cue(t) { var e, n, r, s, o, h; for (n = (!t.a && (t.a = new qs(Qh, t, 5)), t.a).i + 2, h = new iu(n), ue(h, new je(t.j, t.k)), Ts(new kn(null, (!t.a && (t.a = new qs(Qh, t, 5)), new Cn(t.a, 16))), new n$t(h)), ue(h, new je(t.b, t.c)), e = 1; e < h.c.length - 1;)r = (An(e - 1, h.c.length), u(h.c[e - 1], 8)), s = (An(e, h.c.length), u(h.c[e], 8)), o = (An(e + 1, h.c.length), u(h.c[e + 1], 8)), r.a == s.a && s.a == o.a || r.b == s.b && s.b == o.b ? Sg(h, e) : ++e; return h } function uue(t, e) { var n, r, s, o, h, d, w; for (n = hUt(_Ht(EHt(THt(new fpt, e), new Zj(e.e)), s2e), t.a), e.j.c.length == 0 || CJt(u(Fe(e.j, 0), 57).a, n), w = new Mtt, Pi(t.e, n, w), h = new na, d = new na, o = new S(e.k); o.a < o.c.c.length;)s = u(Q(o), 17), Ys(h, s.c), Ys(d, s.d); r = h.a.gc() - d.a.gc(), r < 0 ? (ND(w, !0, (xo(), Wh)), ND(w, !1, Af)) : r > 0 && (ND(w, !1, (xo(), Wh)), ND(w, !0, Af)), Mu(e.g, new JHt(t, n)), Pi(t.g, e, n) } function lue() { lue = J; var t; for (z8t = ct(ot(Br, 1), oi, 25, 15, [-1, -1, 30, 19, 15, 13, 11, 11, 10, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5]), fut = Ot(Br, oi, 25, 37, 15, 1), I0e = ct(ot(Br, 1), oi, 25, 15, [-1, -1, 63, 40, 32, 28, 25, 23, 21, 20, 19, 19, 18, 18, 17, 17, 16, 16, 16, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13]), q8t = Ot(D2, Kat, 25, 37, 14, 1), t = 2; t <= 36; t++)fut[t] = Ms(b.Math.pow(t, z8t[t])), q8t[t] = tI(kq, fut[t]) } function qvn(t) { var e; if ((!t.a && (t.a = new he(fs, t, 6, 6)), t.a).i != 1) throw et(new Bn(m1e + (!t.a && (t.a = new he(fs, t, 6, 6)), t.a).i)); return e = new Hu, ID(u(St((!t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b), 0), 82)) && io(e, Ule(t, ID(u(St((!t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b), 0), 82)), !1)), ID(u(St((!t.c && (t.c = new Tn(Cr, t, 5, 8)), t.c), 0), 82)) && io(e, Ule(t, ID(u(St((!t.c && (t.c = new Tn(Cr, t, 5, 8)), t.c), 0), 82)), !0)), e } function hue(t, e) { var n, r, s, o, h; for (e.d ? s = t.a.c == (md(), Pw) ? Zo(e.b) : Gs(e.b) : s = t.a.c == (md(), Wg) ? Zo(e.b) : Gs(e.b), o = !1, r = new pr(mr(s.a.Kc(), new H)); Zr(r);)if (n = u(qr(r), 17), h = Re(t.a.f[t.a.g[e.b.p].p]), !(!h && !ro(n) && n.c.i.c == n.d.i.c) && !(Re(t.a.n[t.a.g[e.b.p].p]) || Re(t.a.n[t.a.g[e.b.p].p])) && (o = !0, C0(t.b, t.a.g[Zln(n, e.b).p]))) return e.c = !0, e.a = n, e; return e.c = o, e.a = null, e } function Hvn(t, e, n, r, s) { var o, h, d, w, k, _, L; for (pn(), ua(t, new SZ), d = new Ca(t, 0), L = new le, o = 0; d.b < d.d.gc();)h = (ir(d.b < d.d.gc()), u(d.d.Xb(d.c = d.b++), 157)), L.c.length != 0 && Wu(h) * Dl(h) > o * 2 ? (_ = new B$(L), k = Wu(h) / Dl(h), w = wat(_, e, new v6, n, r, s, k), $i(Xf(_.e), w), L.c = Ot(nr, De, 1, 0, 5, 1), o = 0, L.c[L.c.length] = _, L.c[L.c.length] = h, o = Wu(_) * Dl(_) + Wu(h) * Dl(h)) : (L.c[L.c.length] = h, o += Wu(h) * Dl(h)); return L } function I5t(t, e, n) { var r, s, o, h, d, w, k; if (r = n.gc(), r == 0) return !1; if (t.ej()) if (w = t.fj(), Wyt(t, e, n), h = r == 1 ? t.Zi(3, null, n.Kc().Pb(), e, w) : t.Zi(5, null, n, e, w), t.bj()) { for (d = r < 100 ? null : new Lp(r), o = e + r, s = e; s < o; ++s)k = t.Oi(s), d = t.cj(k, d), d = d; d ? (d.Ei(h), d.Fi()) : t.$i(h) } else t.$i(h); else if (Wyt(t, e, n), t.bj()) { for (d = r < 100 ? null : new Lp(r), o = e + r, s = e; s < o; ++s)d = t.cj(t.Oi(s), d); d && d.Fi() } return !0 } function fue(t, e, n) { var r, s, o, h, d; return t.ej() ? (s = null, o = t.fj(), r = t.Zi(1, d = (h = t.Ui(e, t.oi(e, n)), h), n, e, o), t.bj() && !(t.ni() && d ? Ni(d, n) : qt(d) === qt(n)) && (d && (s = t.dj(d, s)), s = t.cj(n, s)), s ? (s.Ei(r), s.Fi()) : t.$i(r), d) : (d = (h = t.Ui(e, t.oi(e, n)), h), t.bj() && !(t.ni() && d ? Ni(d, n) : qt(d) === qt(n)) && (s = null, d && (s = t.dj(d, null)), s = t.cj(n, s), s && s.Fi()), d) } function O5t(t, e) { var n, r, s, o, h, d, w, k, _; if (t.e = e, t.f = u(K(e, (Up(), QH)), 230), C1n(e), t.d = b.Math.max(e.e.c.length * 16 + e.c.c.length, 256), !Re(Be(K(e, (i1(), G7t))))) for (_ = t.e.e.c.length, w = new S(e.e); w.a < w.c.c.length;)d = u(Q(w), 144), k = d.d, k.a = _vt(t.f) * _, k.b = _vt(t.f) * _; for (n = e.b, o = new S(e.c); o.a < o.c.c.length;)if (s = u(Q(o), 282), r = u(K(s, X7t), 19).a, r > 0) { for (h = 0; h < r; h++)ue(n, new ZKt(s)); xae(s) } } function ox(t, e) { var n, r, s, o, h, d; if (t.k == (Kn(), Bl) && (n = OT(Qi(u(K(t, (ie(), EO)), 15).Oc(), new Zt(new EL))).sd((G2(), J7)) ? e : (Wl(), XO), Jt(t, Dx, n), n != (Wl(), y2))) for (r = u(K(t, Bi), 17), d = Xt(xe(K(r, (Ce(), Gg)))), h = 0, n == f0 ? h = t.o.b - b.Math.ceil(d / 2) : n == XO && (t.o.b -= Xt(xe(K(Qa(t), Fx))), h = (t.o.b - b.Math.ceil(d)) / 2), o = new S(t.j); o.a < o.c.c.length;)s = u(Q(o), 11), s.n.b = h } function N5t() { N5t = J, tet(), W4e = new mB, ct(ot(Vx, 2), te, 368, 0, [ct(ot(Vx, 1), SH, 592, 0, [new lM(Jde)])]), ct(ot(Vx, 2), te, 368, 0, [ct(ot(Vx, 1), SH, 592, 0, [new lM(x8t)])]), ct(ot(Vx, 2), te, 368, 0, [ct(ot(Vx, 1), SH, 592, 0, [new lM(t0e)]), ct(ot(Vx, 1), SH, 592, 0, [new lM(x8t)])]), new Fp("-1"), ct(ot(Vx, 2), te, 368, 0, [ct(ot(Vx, 1), SH, 592, 0, [new lM("\\c+")])]), new Fp("0"), new Fp("0"), new Fp("1"), new Fp("0"), new Fp(a0e) } function uq(t) { var e, n; return t.c && t.c.kh() && (n = u(t.c, 49), t.c = u(Xp(t, n), 138), t.c != n && (t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 9, 2, n, t.c)), Et(t.Cb, 399) ? t.Db >> 16 == -15 && t.Cb.nh() && Nrt(new Mrt(t.Cb, 9, 13, n, t.c, Pg(pl(u(t.Cb, 59)), t))) : Et(t.Cb, 88) && t.Db >> 16 == -23 && t.Cb.nh() && (e = t.c, Et(e, 88) || (e = (hn(), ef)), Et(n, 88) || (n = (hn(), ef)), Nrt(new Mrt(t.Cb, 9, 10, n, e, Pg($c(u(t.Cb, 26)), t)))))), t.c } function Vvn(t, e) { var n, r, s, o, h, d, w, k, _, L; for (Ar(e, "Hypernodes processing", 1), s = new S(t.b); s.a < s.c.c.length;)for (r = u(Q(s), 29), d = new S(r.a); d.a < d.c.c.length;)if (h = u(Q(d), 10), Re(Be(K(h, (Ce(), VV)))) && h.j.c.length <= 2) { for (L = 0, _ = 0, n = 0, o = 0, k = new S(h.j); k.a < k.c.c.length;)switch (w = u(Q(k), 11), w.j.g) { case 1: ++L; break; case 2: ++_; break; case 3: ++n; break; case 4: ++o }L == 0 && n == 0 && W3n(t, h, o <= _) } br(e) } function Gvn(t, e) { var n, r, s, o, h, d, w, k, _; for (Ar(e, "Layer constraint edge reversal", 1), h = new S(t.b); h.a < h.c.c.length;) { for (o = u(Q(h), 29), _ = -1, n = new le, k = iD(o.a), s = 0; s < k.length; s++)r = u(K(k[s], (ie(), Db)), 303), _ == -1 ? r != (F0(), U4) && (_ = s) : r == (F0(), U4) && (Fo(k[s], null), sy(k[s], _++, o)), r == (F0(), Sx) && ue(n, k[s]); for (w = new S(n); w.a < w.c.c.length;)d = u(Q(w), 10), Fo(d, null), Fo(d, o) } br(e) } function Uvn(t, e, n) { var r, s, o, h, d, w, k, _, L; for (Ar(n, "Hyperedge merging", 1), ygn(t, e), w = new Ca(e.b, 0); w.b < w.d.gc();)if (d = (ir(w.b < w.d.gc()), u(w.d.Xb(w.c = w.b++), 29)), _ = d.a, _.c.length != 0) for (r = null, s = null, o = null, h = null, k = 0; k < _.c.length; k++)r = (An(k, _.c.length), u(_.c[k], 10)), s = r.k, s == (Kn(), ha) && h == ha && (L = $wn(r, o), L.a && (Y2n(r, o, L.b, L.c), An(k, _.c.length), Vpt(_.c, k, 1), --k, r = o, s = h)), o = r, h = s; br(n) } function Wvn(t, e) { var n, r, s; r = wl(t.d, 1) != 0, !Re(Be(K(e.j, (ie(), Sw)))) && !Re(Be(K(e.j, K4))) || qt(K(e.j, (Ce(), p2))) === qt((R0(), b2)) ? e.c.Tf(e.e, r) : r = Re(Be(K(e.j, Sw))), gI(t, e, r, !0), Re(Be(K(e.j, K4))) && Jt(e.j, K4, (Rn(), !1)), Re(Be(K(e.j, Sw))) && (Jt(e.j, Sw, (Rn(), !1)), Jt(e.j, K4, !0)), n = Fce(t, e); do { if (Rmt(t), n == 0) return 0; r = !r, s = n, gI(t, e, r, !1), n = Fce(t, e) } while (s > n); return s } function due(t, e) { var n, r, s; r = wl(t.d, 1) != 0, !Re(Be(K(e.j, (ie(), Sw)))) && !Re(Be(K(e.j, K4))) || qt(K(e.j, (Ce(), p2))) === qt((R0(), b2)) ? e.c.Tf(e.e, r) : r = Re(Be(K(e.j, Sw))), gI(t, e, r, !0), Re(Be(K(e.j, K4))) && Jt(e.j, K4, (Rn(), !1)), Re(Be(K(e.j, Sw))) && (Jt(e.j, Sw, (Rn(), !1)), Jt(e.j, K4, !0)), n = Cst(t, e); do { if (Rmt(t), n == 0) return 0; r = !r, s = n, gI(t, e, r, !1), n = Cst(t, e) } while (s > n); return s } function gue(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G; if (e == n) return !0; if (e = q4t(t, e), n = q4t(t, n), r = Zit(e), r) { if (_ = Zit(n), _ != r) return _ ? (w = r.Dj(), G = _.Dj(), w == G && w != null) : !1; if (h = (!e.d && (e.d = new qs(Co, e, 1)), e.d), o = h.i, F = (!n.d && (n.d = new qs(Co, n, 1)), n.d), o == F.i) { for (k = 0; k < o; ++k)if (s = u(St(h, k), 87), L = u(St(F, k), 87), !gue(t, s, L)) return !1 } return !0 } else return d = e.e, q = n.e, d == q } function pue(t, e, n, r) { var s, o, h, d, w, k, _, L; if (V0(t.e, e)) { for (L = gu(t.e.Tg(), e), o = u(t.g, 119), _ = null, w = -1, d = -1, s = 0, k = 0; k < t.i; ++k)h = o[k], L.rl(h.ak()) && (s == n && (w = k), s == r && (d = k, _ = h.dd()), ++s); if (w == -1) throw et(new Oo(Pct + n + _b + s)); if (d == -1) throw et(new Oo(Fct + r + _b + s)); return K_(t, w, d), Ll(t.e) && Kk(t, Hp(t, 7, e, pe(r), _, n, !0)), _ } else throw et(new Bn("The feature must be many-valued to support move")) } function bue(t, e, n, r) { var s, o, h, d, w; switch (w = new No(e.n), w.a += e.o.a / 2, w.b += e.o.b / 2, d = Xt(xe(K(e, (Ce(), jy)))), o = t.f, h = t.d, s = t.c, u(K(e, (ie(), yc)), 61).g) { case 1: w.a += h.b + s.a - n / 2, w.b = -r - d, e.n.b = -(h.d + d + s.b); break; case 2: w.a = o.a + h.b + h.c + d, w.b += h.d + s.b - r / 2, e.n.a = o.a + h.c + d - s.a; break; case 3: w.a += h.b + s.a - n / 2, w.b = o.b + h.d + h.a + d, e.n.b = o.b + h.a + d - s.b; break; case 4: w.a = -n - d, w.b += h.d + s.b - r / 2, e.n.a = -(h.b + d + s.a) }return w } function vue(t) { var e, n, r, s, o, h; return r = new Amt, Ho(r, t), qt(K(r, (Ce(), Jl))) === qt((xo(), h0)) && Jt(r, Jl, gz(r)), K(r, (y$(), RS)) == null && (h = u(Ise(t), 160), Jt(r, RS, WR(h.We(RS)))), Jt(r, (ie(), Bi), t), Jt(r, tu, (e = u(Yf(blt), 9), new hh(e, u(pf(e, e.length), 9), 0))), s = Pyn((gs(t) && (Lm(), new _m(gs(t))), Lm(), new Get(gs(t) ? new _m(gs(t)) : null, t)), Af), o = u(K(r, $Tt), 116), n = r.d, TXt(n, o), TXt(n, s), r } function Kvn(t, e, n) { var r, s; r = e.c.i, s = n.d.i, r.k == (Kn(), ha) ? (Jt(t, (ie(), c1), u(K(r, c1), 11)), Jt(t, Uh, u(K(r, Uh), 11)), Jt(t, Oy, Be(K(r, Oy)))) : r.k == Bl ? (Jt(t, (ie(), c1), u(K(r, c1), 11)), Jt(t, Uh, u(K(r, Uh), 11)), Jt(t, Oy, (Rn(), !0))) : s.k == Bl ? (Jt(t, (ie(), c1), u(K(s, c1), 11)), Jt(t, Uh, u(K(s, Uh), 11)), Jt(t, Oy, (Rn(), !0))) : (Jt(t, (ie(), c1), e.c), Jt(t, Uh, n.d)) } function Yvn(t) { var e, n, r, s, o, h, d; for (t.o = new P3, r = new hs, h = new S(t.e.a); h.a < h.c.c.length;)o = u(Q(h), 121), o4(o).c.length == 1 && Cs(r, o, r.c.b, r.c); for (; r.b != 0;)o = u(r.b == 0 ? null : (ir(r.b != 0), bh(r, r.a.a)), 121), o4(o).c.length != 0 && (e = u(Fe(o4(o), 0), 213), n = o.g.a.c.length > 0, d = vz(e, o), ubt(n ? d.b : d.g, e), o4(d).c.length == 1 && Cs(r, d, r.c.b, r.c), s = new _a(o, e), Vp(t.o, s), Au(t.e.a, o)) } function wue(t, e) { var n, r, s, o, h, d, w; return r = b.Math.abs(Pj(t.b).a - Pj(e.b).a), d = b.Math.abs(Pj(t.b).b - Pj(e.b).b), s = 0, w = 0, n = 1, h = 1, r > t.b.b / 2 + e.b.b / 2 && (s = b.Math.min(b.Math.abs(t.b.c - (e.b.c + e.b.b)), b.Math.abs(t.b.c + t.b.b - e.b.c)), n = 1 - s / r), d > t.b.a / 2 + e.b.a / 2 && (w = b.Math.min(b.Math.abs(t.b.d - (e.b.d + e.b.a)), b.Math.abs(t.b.d + t.b.a - e.b.d)), h = 1 - w / d), o = b.Math.min(n, h), (1 - o) * b.Math.sqrt(r * r + d * d) } function Xvn(t) { var e, n, r, s; for (vat(t, t.e, t.f, (jv(), w2), !0, t.c, t.i), vat(t, t.e, t.f, w2, !1, t.c, t.i), vat(t, t.e, t.f, e5, !0, t.c, t.i), vat(t, t.e, t.f, e5, !1, t.c, t.i), Zvn(t, t.c, t.e, t.f, t.i), r = new Ca(t.i, 0); r.b < r.d.gc();)for (e = (ir(r.b < r.d.gc()), u(r.d.Xb(r.c = r.b++), 128)), s = new Ca(t.i, r.b); s.b < s.d.gc();)n = (ir(s.b < s.d.gc()), u(s.d.Xb(s.c = s.b++), 128)), Mmn(e, n); Z3n(t.i, u(K(t.d, (ie(), Ix)), 230)), dyn(t.i) } function Zst(t, e) { var n, r; if (e != null) { if (r = sw(t), r) if (r.i & 1) { if (r == Tl) return Dm(e); if (r == Br) return Et(e, 19); if (r == e3) return Et(e, 155); if (r == tl) return Et(e, 217); if (r == Sh) return Et(e, 172); if (r == wa) return Im(e); if (r == f5) return Et(e, 184); if (r == D2) return Et(e, 162) } else return _R(), n = u(or(WG, r), 55), !n || n.wj(e); else if (Et(e, 56)) return t.uk(u(e, 56)) } return !1 } function P5t() { P5t = J; var t, e, n, r, s, o, h, d, w; for (td = Ot(tl, N4, 25, 255, 15, 1), np = Ot(Sh, Ed, 25, 64, 15, 1), e = 0; e < 255; e++)td[e] = -1; for (n = 90; n >= 65; n--)td[n] = n - 65 << 24 >> 24; for (r = 122; r >= 97; r--)td[r] = r - 97 + 26 << 24 >> 24; for (s = 57; s >= 48; s--)td[s] = s - 48 + 52 << 24 >> 24; for (td[43] = 62, td[47] = 63, o = 0; o <= 25; o++)np[o] = 65 + o & Ns; for (h = 26, w = 0; h <= 51; ++h, w++)np[h] = 97 + w & Ns; for (t = 52, d = 0; t <= 61; ++t, d++)np[t] = 48 + d & Ns; np[62] = 43, np[63] = 47 } function Qvn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q; if (t.dc()) return new Ra; for (k = 0, L = 0, s = t.Kc(); s.Ob();)r = u(s.Pb(), 37), o = r.f, k = b.Math.max(k, o.a), L += o.a * o.b; for (k = b.Math.max(k, b.Math.sqrt(L) * Xt(xe(K(u(t.Kc().Pb(), 37), (Ce(), BV))))), F = 0, q = 0, w = 0, n = e, d = t.Kc(); d.Ob();)h = u(d.Pb(), 37), _ = h.f, F + _.a > k && (F = 0, q += w + e, w = 0), fC(h, F, q), n = b.Math.max(n, F + _.a), w = b.Math.max(w, _.b), F += _.a + e; return new je(n + e, q + w + e) } function Zvn(t, e, n, r, s) { var o, h, d, w, k, _, L; for (h = new S(e); h.a < h.c.c.length;) { if (o = u(Q(h), 17), w = o.c, n.a._b(w)) k = (jv(), w2); else if (r.a._b(w)) k = (jv(), e5); else throw et(new Bn("Source port must be in one of the port sets.")); if (_ = o.d, n.a._b(_)) L = (jv(), w2); else if (r.a._b(_)) L = (jv(), e5); else throw et(new Bn("Target port must be in one of the port sets.")); d = new lae(o, k, L), Pi(t.b, o, d), s.c[s.c.length] = d } } function F5t(t, e) { var n, r, s, o, h, d, w; if (!M1(t)) throw et(new Yo(w1e)); if (r = M1(t), o = r.g, s = r.f, o <= 0 && s <= 0) return we(), fc; switch (d = t.i, w = t.j, e.g) { case 2: case 1: if (d < 0) return we(), jn; if (d + t.g > o) return we(), Wn; break; case 4: case 3: if (w < 0) return we(), Fn; if (w + t.f > s) return we(), Lr }return h = (d + t.g / 2) / o, n = (w + t.f / 2) / s, h + n <= 1 && h - n <= 0 ? (we(), jn) : h + n >= 1 && h - n >= 0 ? (we(), Wn) : n < .5 ? (we(), Fn) : (we(), Lr) } function Jvn(t, e, n, r, s) { var o, h; if (o = Wa(Xs(e[0], Eo), Xs(r[0], Eo)), t[0] = $r(o), o = Rp(o, 32), n >= s) { for (h = 1; h < s; h++)o = Wa(o, Wa(Xs(e[h], Eo), Xs(r[h], Eo))), t[h] = $r(o), o = Rp(o, 32); for (; h < n; h++)o = Wa(o, Xs(e[h], Eo)), t[h] = $r(o), o = Rp(o, 32) } else { for (h = 1; h < n; h++)o = Wa(o, Wa(Xs(e[h], Eo), Xs(r[h], Eo))), t[h] = $r(o), o = Rp(o, 32); for (; h < s; h++)o = Wa(o, Xs(r[h], Eo)), t[h] = $r(o), o = Rp(o, 32) } Oc(o, 0) != 0 && (t[h] = $r(o)) } function gy(t) { Ai(); var e, n, r, s, o, h; if (t.e != 4 && t.e != 5) throw et(new Bn("Token#complementRanges(): must be RANGE: " + t.e)); for (o = t, b4(o), wC(o), r = o.b.length + 2, o.b[0] == 0 && (r -= 2), n = o.b[o.b.length - 1], n == W7 && (r -= 2), s = new ql(4), s.b = Ot(Br, oi, 25, r, 15, 1), h = 0, o.b[0] > 0 && (s.b[h++] = 0, s.b[h++] = o.b[0] - 1), e = 1; e < o.b.length - 2; e += 2)s.b[h++] = o.b[e] + 1, s.b[h++] = o.b[e + 1] - 1; return n != W7 && (s.b[h++] = n + 1, s.b[h] = W7), s.a = !0, s } function Jst(t, e, n) { var r, s, o, h, d, w, k, _; if (r = n.gc(), r == 0) return !1; if (t.ej()) if (k = t.fj(), vst(t, e, n), h = r == 1 ? t.Zi(3, null, n.Kc().Pb(), e, k) : t.Zi(5, null, n, e, k), t.bj()) { for (d = r < 100 ? null : new Lp(r), o = e + r, s = e; s < o; ++s)_ = t.g[s], d = t.cj(_, d), d = t.jj(_, d); d ? (d.Ei(h), d.Fi()) : t.$i(h) } else t.$i(h); else if (vst(t, e, n), t.bj()) { for (d = r < 100 ? null : new Lp(r), o = e + r, s = e; s < o; ++s)w = t.g[s], d = t.cj(w, d); d && d.Fi() } return !0 } function B5t(t, e, n, r) { var s, o, h, d, w; for (h = new S(t.k); h.a < h.c.c.length;)s = u(Q(h), 129), (!r || s.c == (Qf(), v2)) && (w = s.b, w.g < 0 && s.d > 0 && (eM(w, w.d - s.d), s.c == (Qf(), v2) && Hgt(w, w.a - s.d), w.d <= 0 && w.i > 0 && Cs(e, w, e.c.b, e.c))); for (o = new S(t.f); o.a < o.c.c.length;)s = u(Q(o), 129), (!r || s.c == (Qf(), v2)) && (d = s.a, d.g < 0 && s.d > 0 && (pT(d, d.i - s.d), s.c == (Qf(), v2) && hv(d, d.b - s.d), d.i <= 0 && d.d > 0 && Cs(n, d, n.c.b, n.c))) } function twn(t, e, n) { var r, s, o, h, d, w, k, _; for (Ar(n, "Processor compute fanout", 1), al(t.b), al(t.a), d = null, o = gi(e.b, 0); !d && o.b != o.d.c;)k = u(di(o), 86), Re(Be(K(k, (Sc(), Gy)))) && (d = k); for (w = new hs, Cs(w, d, w.c.b, w.c), Lle(t, w), _ = gi(e.b, 0); _.b != _.d.c;)k = u(di(_), 86), h = Kr(K(k, (Sc(), IS))), s = Uc(t.b, h) != null ? u(Uc(t.b, h), 19).a : 0, Jt(k, lG, pe(s)), r = 1 + (Uc(t.a, h) != null ? u(Uc(t.a, h), 19).a : 0), Jt(k, ome, pe(r)); br(n) } function ewn(t, e, n, r, s) { var o, h, d, w, k, _, L, F, q, G; for (F = Rfn(t, n), w = 0; w < e; w++) { for (Fm(s, n), q = new le, G = (ir(r.b < r.d.gc()), u(r.d.Xb(r.c = r.b++), 407)), _ = F + w; _ < t.b; _++)d = G, G = (ir(r.b < r.d.gc()), u(r.d.Xb(r.c = r.b++), 407)), ue(q, new Woe(d, G, n)); for (L = F + w; L < t.b; L++)ir(r.b > 0), r.a.Xb(r.c = --r.b), L > F + w && Ol(r); for (h = new S(q); h.a < h.c.c.length;)o = u(Q(h), 407), Fm(r, o); if (w < e - 1) for (k = F + w; k < t.b; k++)ir(r.b > 0), r.a.Xb(r.c = --r.b) } } function nwn() { Ai(); var t, e, n, r, s, o; if (xft) return xft; for (t = new ql(4), py(t, n2(Jct, !0)), yC(t, n2("M", !0)), yC(t, n2("C", !0)), o = new ql(4), r = 0; r < 11; r++)Yc(o, r, r); return e = new ql(4), py(e, n2("M", !0)), Yc(e, 4448, 4607), Yc(e, 65438, 65439), s = new i_(2), vb(s, t), vb(s, aA), n = new i_(2), n.$l(Aj(o, n2("L", !0))), n.$l(e), n = new Gm(3, n), n = new Uvt(s, n), xft = n, xft } function rwn(t) { var e, n; if (e = Kr(ze(t, (Ti(), jS))), !Nee(e, t) && !eb(t, _9) && ((!t.a && (t.a = new he(bs, t, 10, 11)), t.a).i != 0 || Re(Be(ze(t, UO))))) if (e == null || oy(e).length == 0) { if (!Nee(Xn, t)) throw n = ni(ni(new jl("Unable to load default layout algorithm "), Xn), " for unconfigured node "), bq(t, n), et(new F3(n.a)) } else throw n = ni(ni(new jl("Layout algorithm '"), e), "' not found for "), bq(t, n), et(new F3(n.a)) } function tat(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q; if (n = t.i, e = t.n, t.b == 0) for (q = n.c + e.b, F = n.b - e.b - e.c, h = t.a, w = 0, _ = h.length; w < _; ++w)s = h[w], Mj(s, q, F); else r = bie(t, !1), Mj(t.a[0], n.c + e.b, r[0]), Mj(t.a[2], n.c + n.b - e.c - r[2], r[2]), L = n.b - e.b - e.c, r[0] > 0 && (L -= r[0] + t.c, r[0] += t.c), r[2] > 0 && (L -= r[2] + t.c), r[1] = b.Math.max(r[1], L), Mj(t.a[1], n.c + e.b + r[0] - (r[1] - L) / 2, r[1]); for (o = t.a, d = 0, k = o.length; d < k; ++d)s = o[d], Et(s, 326) && u(s, 326).Te() } function iwn(t) { var e, n, r, s, o, h, d, w, k, _, L; for (L = new gQ, L.d = 0, h = new S(t.b); h.a < h.c.c.length;)o = u(Q(h), 29), L.d += o.a.c.length; for (r = 0, s = 0, L.a = Ot(Br, oi, 25, t.b.c.length, 15, 1), k = 0, _ = 0, L.e = Ot(Br, oi, 25, L.d, 15, 1), n = new S(t.b); n.a < n.c.c.length;)for (e = u(Q(n), 29), e.p = r++, L.a[e.p] = s++, _ = 0, w = new S(e.a); w.a < w.c.c.length;)d = u(Q(w), 10), d.p = k++, L.e[d.p] = _++; return L.c = new $jt(L), L.b = Ud(L.d), Pvn(L, t), L.f = Ud(L.d), Fvn(L, t), L } function mue(t, e) { var n, r, s, o; for (o = u(Fe(t.n, t.n.c.length - 1), 211).d, t.p = b.Math.min(t.p, e.g), t.r = b.Math.max(t.r, o), t.g = b.Math.max(t.g, e.g + (t.b.c.length == 1 ? 0 : t.i)), t.o = b.Math.min(t.o, e.f), t.e += e.f + (t.b.c.length == 1 ? 0 : t.i), t.f = b.Math.max(t.f, e.f), s = t.n.c.length > 0 ? (t.n.c.length - 1) * t.i : 0, r = new S(t.n); r.a < r.c.c.length;)n = u(Q(r), 211), s += n.a; t.d = s, t.a = t.e / t.b.c.length - t.i * ((t.b.c.length - 1) / t.b.c.length), T3t(t.j) } function yue(t, e) { var n, r, s, o, h, d, w, k, _, L; if (_ = Be(K(e, (i1(), dpe))), _ == null || (Pn(_), _)) { for (L = Ot(Tl, o0, 25, e.e.c.length, 16, 1), h = X0n(e), s = new hs, k = new S(e.e); k.a < k.c.c.length;)d = u(Q(k), 144), n = t5t(t, d, null, null, L, h), n && (Ho(n, e), Cs(s, n, s.c.b, s.c)); if (s.b > 1) for (r = gi(s, 0); r.b != r.d.c;)for (n = u(di(r), 231), o = 0, w = new S(n.e); w.a < w.c.c.length;)d = u(Q(w), 144), d.b = o++; return s } return N1(ct(ot(P4n, 1), R6t, 231, 0, [e])) } function xd(t) { var e, n, r, s, o, h, d; if (!t.g) { if (d = new $2, e = tA, h = e.a.zc(t, e), h == null) { for (r = new lr(zo(t)); r.e != r.i.gc();)n = u(kr(r), 26), vs(d, xd(n)); e.a.Bc(t) != null, e.a.gc() == 0 } for (s = d.i, o = (!t.s && (t.s = new he(ju, t, 21, 17)), new lr(t.s)); o.e != o.i.gc(); ++s)htt(u(kr(o), 449), s); vs(d, (!t.s && (t.s = new he(ju, t, 21, 17)), t.s)), Jm(d), t.g = new une(t, d), t.i = u(d.g, 247), t.i == null && (t.i = gft), t.p = null, gl(t).b &= -5 } return t.g } function eat(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G; if (r = t.i, n = t.n, t.b == 0) e = pie(t, !1), Dj(t.a[0], r.d + n.d, e[0]), Dj(t.a[2], r.d + r.a - n.a - e[2], e[2]), F = r.a - n.d - n.a, L = F, e[0] > 0 && (e[0] += t.c, L -= e[0]), e[2] > 0 && (L -= e[2] + t.c), e[1] = b.Math.max(e[1], L), Dj(t.a[1], r.d + n.d + e[0] - (e[1] - L) / 2, e[1]); else for (G = r.d + n.d, q = r.a - n.d - n.a, h = t.a, w = 0, _ = h.length; w < _; ++w)s = h[w], Dj(s, G, q); for (o = t.a, d = 0, k = o.length; d < k; ++d)s = o[d], Et(s, 326) && u(s, 326).Ue() } function swn(t) { var e, n, r, s, o, h, d, w, k, _; for (_ = Ot(Br, oi, 25, t.b.c.length + 1, 15, 1), k = new na, r = 0, o = new S(t.b); o.a < o.c.c.length;) { for (s = u(Q(o), 29), _[r++] = k.a.gc(), w = new S(s.a); w.a < w.c.c.length;)for (h = u(Q(w), 10), n = new pr(mr(Gs(h).a.Kc(), new H)); Zr(n);)e = u(qr(n), 17), k.a.zc(e, k); for (d = new S(s.a); d.a < d.c.c.length;)for (h = u(Q(d), 10), n = new pr(mr(Zo(h).a.Kc(), new H)); Zr(n);)e = u(qr(n), 17), k.a.Bc(e) != null } return _ } function lq(t, e, n, r) { var s, o, h, d, w; if (w = gu(t.e.Tg(), e), s = u(t.g, 119), go(), u(e, 66).Oj()) { for (h = 0; h < t.i; ++h)if (o = s[h], w.rl(o.ak()) && Ni(o, n)) return !0 } else if (n != null) { for (d = 0; d < t.i; ++d)if (o = s[d], w.rl(o.ak()) && Ni(n, o.dd())) return !0; if (r) { for (h = 0; h < t.i; ++h)if (o = s[h], w.rl(o.ak()) && qt(n) === qt(Xet(t, u(o.dd(), 56)))) return !0 } } else for (h = 0; h < t.i; ++h)if (o = s[h], w.rl(o.ak()) && o.dd() == null) return !1; return !1 } function xue(t, e, n, r) { var s, o, h, d, w, k; if (k = gu(t.e.Tg(), e), h = u(t.g, 119), V0(t.e, e)) { if (e.hi() && (o = E7(t, e, r, Et(e, 99) && (u(e, 18).Bb & oo) != 0), o >= 0 && o != n)) throw et(new Bn(YI)); for (s = 0, w = 0; w < t.i; ++w)if (d = h[w], k.rl(d.ak())) { if (s == n) return u(u4(t, w, (go(), u(e, 66).Oj() ? u(r, 72) : Zd(e, r))), 72); ++s } throw et(new Oo(VC + n + _b + s)) } else { for (w = 0; w < t.i; ++w)if (d = h[w], k.rl(d.ak())) return go(), u(e, 66).Oj() ? d : d.dd(); return null } } function kue(t, e, n, r) { var s, o, h, d; for (d = n, h = new S(e.a); h.a < h.c.c.length;) { if (o = u(Q(h), 221), s = u(o.b, 65), tw(t.b.c, s.b.c + s.b.b) <= 0 && tw(s.b.c, t.b.c + t.b.b) <= 0 && tw(t.b.d, s.b.d + s.b.a) <= 0 && tw(s.b.d, t.b.d + t.b.a) <= 0) { if (tw(s.b.c, t.b.c + t.b.b) == 0 && r.a < 0 || tw(s.b.c + s.b.b, t.b.c) == 0 && r.a > 0 || tw(s.b.d, t.b.d + t.b.a) == 0 && r.b < 0 || tw(s.b.d + s.b.a, t.b.d) == 0 && r.b > 0) { d = 0; break } } else d = b.Math.min(d, kae(t, s, r)); d = b.Math.min(d, kue(t, o, d, r)) } return d } function mI(t, e) { var n, r, s, o, h, d, w; if (t.b < 2) throw et(new Bn("The vector chain must contain at least a source and a target point.")); for (s = (ir(t.b != 0), u(t.a.a.c, 8)), ZR(e, s.a, s.b), w = new A6((!e.a && (e.a = new qs(Qh, e, 5)), e.a)), h = gi(t, 1); h.a < t.b - 1;)d = u(di(h), 8), w.e != w.i.gc() ? n = u(kr(w), 469) : (n = (xv(), r = new mp, r), Ere(w, n)), F2t(n, d.a, d.b); for (; w.e != w.i.gc();)kr(w), rC(w); o = (ir(t.b != 0), u(t.c.b.c, 8)), QR(e, o.a, o.b) } function Eue(t, e) { var n, r, s, o, h, d, w, k, _; for (n = 0, s = new S((An(0, t.c.length), u(t.c[0], 101)).g.b.j); s.a < s.c.c.length;)r = u(Q(s), 11), r.p = n++; for (e == (we(), Fn) ? ua(t, new kX) : ua(t, new EX), d = 0, _ = t.c.length - 1; d < _;)h = (An(d, t.c.length), u(t.c[d], 101)), k = (An(_, t.c.length), u(t.c[_], 101)), o = e == Fn ? h.c : h.a, w = e == Fn ? k.a : k.c, _g(h, e, (R1(), s9), o), _g(k, e, i9, w), ++d, --_; d == _ && _g((An(d, t.c.length), u(t.c[d], 101)), e, (R1(), _x), null) } function awn(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt; return L = t.a.i + t.a.g / 2, F = t.a.i + t.a.g / 2, G = e.i + e.g / 2, Z = e.j + e.f / 2, d = new je(G, Z), k = u(ze(e, (Ti(), $x)), 8), k.a = k.a + L, k.b = k.b + F, o = (d.b - k.b) / (d.a - k.a), r = d.b - o * d.a, W = n.i + n.g / 2, bt = n.j + n.f / 2, w = new je(W, bt), _ = u(ze(n, $x), 8), _.a = _.a + L, _.b = _.b + F, h = (w.b - _.b) / (w.a - _.a), s = w.b - h * w.a, q = (r - s) / (h - o), k.a < q && d.a < q || q < k.a && q < d.a ? !1 : !(_.a < q && w.a < q || q < _.a && q < w.a) } function own(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q; if (F = u(or(t.c, e), 183), !F) throw et(new fd("Edge did not exist in input.")); return k = o7(F), o = hM((!e.a && (e.a = new he(fs, e, 6, 6)), e.a)), d = !o, d && (q = new pg, n = new LWt(t, k, q), fKe((!e.a && (e.a = new he(fs, e, 6, 6)), e.a), n), Jf(F, Xkt, q)), s = eb(e, (Ti(), i5)), s && (_ = u(ze(e, i5), 74), h = !_ || gYt(_), w = !h, w && (L = new pg, r = new k$t(L), Oa(_, r), Jf(F, "junctionPoints", L))), p8(F, "container", nD(e).k), null } function R5t(t, e, n) { var r, s, o, h, d, w, k, _; this.a = t, this.b = e, this.c = n, this.e = N1(ct(ot(I4n, 1), De, 168, 0, [new E6(t, e), new E6(e, n), new E6(n, t)])), this.f = N1(ct(ot(sa, 1), te, 8, 0, [t, e, n])), this.d = (r = ba(pc(this.b), this.a), s = ba(pc(this.c), this.a), o = ba(pc(this.c), this.b), h = r.a * (this.a.a + this.b.a) + r.b * (this.a.b + this.b.b), d = s.a * (this.a.a + this.c.a) + s.b * (this.a.b + this.c.b), w = 2 * (r.a * o.b - r.b * o.a), k = (s.b * h - r.b * d) / w, _ = (r.a * d - s.a * h) / w, new je(k, _)) } function Tue(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q, G; if (F = new zm(t.p), Jf(e, ki, F), n && !(t.f ? ZM(t.f) : null).a.dc()) for (_ = new pg, Jf(e, "logs", _), d = 0, G = new A((t.f ? ZM(t.f) : null).b.Kc()); G.b.Ob();)q = Kr(G.b.Pb()), L = new zm(q), Km(_, d), grt(_, d, L), ++d; if (r && (k = new gT(t.q), Jf(e, "executionTime", k)), !ZM(t.a).a.dc()) for (h = new pg, Jf(e, Ict, h), d = 0, o = new A(ZM(t.a).b.Kc()); o.b.Ob();)s = u(o.b.Pb(), 1949), w = new w6, Km(h, d), grt(h, d, w), Tue(s, w, n, r), ++d } function lw(t, e) { var n, r, s, o, h, d; for (o = t.c, h = t.d, Ua(t, null), ma(t, null), e && Re(Be(K(h, (ie(), Elt)))) ? Ua(t, D5t(h.i, (yo(), lu), (we(), Wn))) : Ua(t, h), e && Re(Be(K(o, (ie(), _lt)))) ? ma(t, D5t(o.i, (yo(), ll), (we(), jn))) : ma(t, o), r = new S(t.b); r.a < r.c.c.length;)n = u(Q(r), 70), s = u(K(n, (Ce(), Fd)), 272), s == (F1(), S9) ? Jt(n, Fd, Wy) : s == Wy && Jt(n, Fd, S9); d = Re(Be(K(t, (ie(), K1)))), Jt(t, K1, (Rn(), !d)), t.a = FD(t.a) } function cwn(t, e, n) { var r, s, o, h, d, w; for (r = 0, o = new lr((!t.a && (t.a = new he(bs, t, 10, 11)), t.a)); o.e != o.i.gc();)s = u(kr(o), 33), h = "", (!s.n && (s.n = new he(ec, s, 1, 7)), s.n).i == 0 || (h = u(St((!s.n && (s.n = new he(ec, s, 1, 7)), s.n), 0), 137).a), d = new aYt(h), Ho(d, s), Jt(d, (Up(), Tx), s), d.b = r++, d.d.a = s.i + s.g / 2, d.d.b = s.j + s.f / 2, d.e.a = b.Math.max(s.g, 1), d.e.b = b.Math.max(s.f, 1), ue(e.e, d), du(n.f, s, d), w = u(ze(s, (i1(), Y7t)), 98), w == (xa(), k2) && (w = Q1) } function uwn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z; n = Lv(new V2, t.f), k = t.i[e.c.i.p], q = t.i[e.d.i.p], w = e.c, F = e.d, d = w.a.b, L = F.a.b, k.b || (d += w.n.b), q.b || (L += F.n.b), _ = Ms(b.Math.max(0, d - L)), h = Ms(b.Math.max(0, L - d)), G = (W = b.Math.max(1, u(K(e, (Ce(), Px)), 19).a), Z = Nwt(e.c.i.k, e.d.i.k), W * Z), s = Ef(df(ff(hf(gf(new Dh, G), h), n), u(or(t.k, e.c), 121))), o = Ef(df(ff(hf(gf(new Dh, G), _), n), u(or(t.k, e.d), 121))), r = new cVt(s, o), t.c[e.p] = r } function lwn(t, e, n, r) { var s, o, h, d, w, k; for (h = new Que(t, e, n), w = new Ca(r, 0), s = !1; w.b < w.d.gc();)d = (ir(w.b < w.d.gc()), u(w.d.Xb(w.c = w.b++), 233)), d == e || d == n ? Ol(w) : !s && Xt(L1(d.g, d.d[0]).a) > Xt(L1(h.g, h.d[0]).a) ? (ir(w.b > 0), w.a.Xb(w.c = --w.b), Fm(w, h), s = !0) : d.e && d.e.gc() > 0 && (o = (!d.e && (d.e = new le), d.e).Mc(e), k = (!d.e && (d.e = new le), d.e).Mc(n), (o || k) && ((!d.e && (d.e = new le), d.e).Fc(h), ++h.c)); s || (r.c[r.c.length] = h) } function _ue(t) { var e, n, r; if (H3(u(K(t, (Ce(), xs)), 98))) for (n = new S(t.j); n.a < n.c.c.length;)e = u(Q(n), 11), e.j == (we(), fc) && (r = u(K(e, (ie(), ul)), 10), r ? Qs(e, u(K(r, yc), 61)) : e.e.c.length - e.g.c.length < 0 ? Qs(e, Wn) : Qs(e, jn)); else { for (n = new S(t.j); n.a < n.c.c.length;)e = u(Q(n), 11), r = u(K(e, (ie(), ul)), 10), r ? Qs(e, u(K(r, yc), 61)) : e.e.c.length - e.g.c.length < 0 ? Qs(e, (we(), Wn)) : Qs(e, (we(), jn)); Jt(t, xs, (xa(), L9)) } } function yI(t) { var e, n, r; switch (t) { case 91: case 93: case 45: case 94: case 44: case 92: r = "\\" + String.fromCharCode(t & Ns); break; case 12: r = "\\f"; break; case 10: r = "\\n"; break; case 13: r = "\\r"; break; case 9: r = "\\t"; break; case 27: r = "\\e"; break; default: t < 32 ? (n = (e = t >>> 0, "0" + e.toString(16)), r = "\\x" + $l(n, n.length - 2, n.length)) : t >= oo ? (n = (e = t >>> 0, "0" + e.toString(16)), r = "\\v" + $l(n, n.length - 6, n.length)) : r = "" + String.fromCharCode(t & Ns) }return r } function nat(t, e) { var n, r, s, o, h, d, w, k, _, L; if (h = t.e, w = e.e, w == 0) return t; if (h == 0) return e.e == 0 ? e : new K3(-e.e, e.d, e.a); if (o = t.d, d = e.d, o + d == 2) return n = Xs(t.a[0], Eo), r = Xs(e.a[0], Eo), h < 0 && (n = O8(n)), w < 0 && (r = O8(r)), WD(Qp(n, r)); if (s = o != d ? o > d ? 1 : -1 : pyt(t.a, e.a, o), s == -1) L = -w, _ = h == w ? Trt(e.a, d, t.a, o) : Crt(e.a, d, t.a, o); else if (L = h, h == w) { if (s == 0) return e2(), Q7; _ = Trt(t.a, o, e.a, d) } else _ = Crt(t.a, o, e.a, d); return k = new K3(L, _.length, _), S_(k), k } function j5t(t) { var e, n, r, s, o, h; for (this.e = new le, this.a = new le, n = t.b - 1; n < 3; n++)h8(t, 0, u(r1(t, 0), 8)); if (t.b < 4) throw et(new Bn("At (least dimension + 1) control points are necessary!")); for (this.b = 3, this.d = !0, this.c = !1, Ygn(this, t.b + this.b - 1), h = new le, o = new S(this.e), e = 0; e < this.b - 1; e++)ue(h, xe(Q(o))); for (s = gi(t, 0); s.b != s.d.c;)r = u(di(s), 8), ue(h, xe(Q(o))), ue(this.a, new fXt(r, h)), An(0, h.c.length), h.c.splice(0, 1) } function Cue(t, e) { var n, r, s, o, h, d, w, k, _; for (o = new S(t.b); o.a < o.c.c.length;)for (s = u(Q(o), 29), d = new S(s.a); d.a < d.c.c.length;)for (h = u(Q(d), 10), h.k == (Kn(), Bl) && (w = (k = u(qr(new pr(mr(Zo(h).a.Kc(), new H))), 17), _ = u(qr(new pr(mr(Gs(h).a.Kc(), new H))), 17), !Re(Be(K(k, (ie(), K1)))) || !Re(Be(K(_, K1))) ? e : ene(e)), ox(h, w)), r = new pr(mr(Gs(h).a.Kc(), new H)); Zr(r);)n = u(qr(r), 17), w = Re(Be(K(n, (ie(), K1)))) ? ene(e) : e, Kee(n, w) } function hwn(t, e, n, r, s) { var o, h, d; if (n.f >= e.o && n.f <= e.f || e.a * .5 <= n.f && e.a * 1.5 >= n.f) { if (h = u(Fe(e.n, e.n.c.length - 1), 211), h.e + h.d + n.g + s <= r && (o = u(Fe(e.n, e.n.c.length - 1), 211), o.f - t.f + n.f <= t.b || t.a.c.length == 1)) return Ryt(e, n), !0; if (e.s + n.g <= r && (e.t + e.d + n.f + s <= t.b || t.a.c.length == 1)) return ue(e.b, n), d = u(Fe(e.n, e.n.c.length - 1), 211), ue(e.n, new r$(e.s, d.f + d.a + e.i, e.i)), y3t(u(Fe(e.n, e.n.c.length - 1), 211), n), mue(e, n), !0 } return !1 } function Sue(t, e, n) { var r, s, o, h; return t.ej() ? (s = null, o = t.fj(), r = t.Zi(1, h = Frt(t, e, n), n, e, o), t.bj() && !(t.ni() && h != null ? Ni(h, n) : qt(h) === qt(n)) ? (h != null && (s = t.dj(h, s)), s = t.cj(n, s), t.ij() && (s = t.lj(h, n, s)), s ? (s.Ei(r), s.Fi()) : t.$i(r)) : (t.ij() && (s = t.lj(h, n, s)), s ? (s.Ei(r), s.Fi()) : t.$i(r)), h) : (h = Frt(t, e, n), t.bj() && !(t.ni() && h != null ? Ni(h, n) : qt(h) === qt(n)) && (s = null, h != null && (s = t.dj(h, null)), s = t.cj(n, s), s && s.Fi()), h) } function gC(t, e) { var n, r, s, o, h, d, w, k; e %= 24, t.q.getHours() != e && (r = new b.Date(t.q.getTime()), r.setDate(r.getDate() + 1), d = t.q.getTimezoneOffset() - r.getTimezoneOffset(), d > 0 && (w = d / 60 | 0, k = d % 60, s = t.q.getDate(), n = t.q.getHours(), n + w >= 24 && ++s, o = new b.Date(t.q.getFullYear(), t.q.getMonth(), s, e + w, t.q.getMinutes() + k, t.q.getSeconds(), t.q.getMilliseconds()), t.q.setTime(o.getTime()))), h = t.q.getTime(), t.q.setTime(h + 36e5), t.q.getHours() != e && t.q.setTime(h) } function fwn(t, e) { var n, r, s, o, h; if (Ar(e, "Path-Like Graph Wrapping", 1), t.b.c.length == 0) { br(e); return } if (s = new U4t(t), h = (s.i == null && (s.i = jmt(s, new TF)), Xt(s.i) * s.f), n = h / (s.i == null && (s.i = jmt(s, new TF)), Xt(s.i)), s.b > n) { br(e); return } switch (u(K(t, (Ce(), Glt)), 337).g) { case 2: o = new CF; break; case 0: o = new EF; break; default: o = new SF }if (r = o.Vf(t, s), !o.Wf()) switch (u(K(t, QV), 338).g) { case 2: r = Eae(s, r); break; case 1: r = kse(s, r) }umn(t, s, r), br(e) } function dwn(t, e) { var n, r, s, o; if (Qen(t.d, t.e), t.c.a.$b(), Xt(xe(K(e.j, (Ce(), $V)))) != 0 || Xt(xe(K(e.j, $V))) != 0) for (n = F7, qt(K(e.j, p2)) !== qt((R0(), b2)) && Jt(e.j, (ie(), Sw), (Rn(), !0)), o = u(K(e.j, xS), 19).a, s = 0; s < o && (r = Wvn(t, e), !(r < n && (n = r, dee(t), n == 0))); s++); else for (n = Di, qt(K(e.j, p2)) !== qt((R0(), b2)) && Jt(e.j, (ie(), Sw), (Rn(), !0)), o = u(K(e.j, xS), 19).a, s = 0; s < o && (r = due(t, e), !(r < n && (n = r, dee(t), n == 0))); s++); } function gwn(t, e) { var n, r, s, o, h, d, w, k; for (h = new le, d = 0, n = 0, w = 0; d < e.c.length - 1 && n < t.gc();) { for (r = u(t.Xb(n), 19).a + w; (An(d + 1, e.c.length), u(e.c[d + 1], 19)).a < r;)++d; for (k = 0, o = r - (An(d, e.c.length), u(e.c[d], 19)).a, s = (An(d + 1, e.c.length), u(e.c[d + 1], 19)).a - r, o > s && ++k, ue(h, (An(d + k, e.c.length), u(e.c[d + k], 19))), w += (An(d + k, e.c.length), u(e.c[d + k], 19)).a - r, ++n; n < t.gc() && u(t.Xb(n), 19).a + w <= (An(d + k, e.c.length), u(e.c[d + k], 19)).a;)++n; d += 1 + k } return h } function rat(t) { var e, n, r, s, o, h, d; if (!t.d) { if (d = new S3, e = tA, o = e.a.zc(t, e), o == null) { for (r = new lr(zo(t)); r.e != r.i.gc();)n = u(kr(r), 26), vs(d, rat(n)); e.a.Bc(t) != null, e.a.gc() == 0 } for (h = d.i, s = (!t.q && (t.q = new he(Jh, t, 11, 10)), new lr(t.q)); s.e != s.i.gc(); ++h)u(kr(s), 399); vs(d, (!t.q && (t.q = new he(Jh, t, 11, 10)), t.q)), Jm(d), t.d = new q3((u(St(Ut((zp(), Ln).o), 9), 18), d.i), d.g), t.e = u(d.g, 673), t.e == null && (t.e = g4e), gl(t).b &= -17 } return t.d } function E7(t, e, n, r) { var s, o, h, d, w, k; if (k = gu(t.e.Tg(), e), w = 0, s = u(t.g, 119), go(), u(e, 66).Oj()) { for (h = 0; h < t.i; ++h)if (o = s[h], k.rl(o.ak())) { if (Ni(o, n)) return w; ++w } } else if (n != null) { for (d = 0; d < t.i; ++d)if (o = s[d], k.rl(o.ak())) { if (Ni(n, o.dd())) return w; ++w } if (r) { for (w = 0, h = 0; h < t.i; ++h)if (o = s[h], k.rl(o.ak())) { if (qt(n) === qt(Xet(t, u(o.dd(), 56)))) return w; ++w } } } else for (h = 0; h < t.i; ++h)if (o = s[h], k.rl(o.ak())) { if (o.dd() == null) return w; ++w } return -1 } function pwn(t, e, n, r, s) { var o, h, d, w, k, _, L, F, q; for (pn(), ua(t, new CZ), h = GM(t), q = new le, F = new le, d = null, w = 0; h.b != 0;)o = u(h.b == 0 ? null : (ir(h.b != 0), bh(h, h.a.a)), 157), !d || Wu(d) * Dl(d) / 2 < Wu(o) * Dl(o) ? (d = o, q.c[q.c.length] = o) : (w += Wu(o) * Dl(o), F.c[F.c.length] = o, F.c.length > 1 && (w > Wu(d) * Dl(d) / 2 || h.b == 0) && (L = new B$(F), _ = Wu(d) / Dl(d), k = wat(L, e, new v6, n, r, s, _), $i(Xf(L.e), k), d = L, q.c[q.c.length] = L, w = 0, F.c = Ot(nr, De, 1, 0, 5, 1))); return Hs(q, F), q } function bwn(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q, G, W; if (n.mh(e) && (_ = (q = e, q ? u(r, 49).xh(q) : null), _)) if (W = n.bh(e, t.a), G = e.t, G > 1 || G == -1) if (L = u(W, 69), F = u(_, 69), L.dc()) F.$b(); else for (h = !!bo(e), o = 0, d = t.a ? L.Kc() : L.Zh(); d.Ob();)k = u(d.Pb(), 56), s = u(Vv(t, k), 56), s ? (h ? (w = F.Xc(s), w == -1 ? F.Xh(o, s) : o != w && F.ji(o, s)) : F.Xh(o, s), ++o) : t.b && !h && (F.Xh(o, k), ++o); else W == null ? _.Wb(null) : (s = Vv(t, W), s == null ? t.b && !bo(e) && _.Wb(W) : _.Wb(s)) } function vwn(t, e) { var n, r, s, o, h, d, w, k; for (n = new dY, s = new pr(mr(Zo(e).a.Kc(), new H)); Zr(s);)if (r = u(qr(s), 17), !ro(r) && (d = r.c.i, n4t(d, tV))) { if (k = v5t(t, d, tV, JH), k == -1) continue; n.b = b.Math.max(n.b, k), !n.a && (n.a = new le), ue(n.a, d) } for (h = new pr(mr(Gs(e).a.Kc(), new H)); Zr(h);)if (o = u(qr(h), 17), !ro(o) && (w = o.d.i, n4t(w, JH))) { if (k = v5t(t, w, JH, tV), k == -1) continue; n.d = b.Math.max(n.d, k), !n.c && (n.c = new le), ue(n.c, w) } return n } function Aue(t) { b7(); var e, n, r, s; if (e = Ms(t), t < eS.length) return eS[e]; if (t <= 50) return lI((e2(), put), e); if (t <= jg) return H6(lI(Ex[1], e), e); if (t > 1e6) throw et(new aR("power of ten too big")); if (t <= Di) return H6(lI(Ex[1], e), e); for (r = lI(Ex[1], Di), s = r, n = Ou(t - Di), e = Ms(t % Di); Oc(n, Di) > 0;)s = J3(s, r), n = Qp(n, Di); for (s = J3(s, lI(Ex[1], e)), s = H6(s, Di), n = Ou(t - Di); Oc(n, Di) > 0;)s = H6(s, Di), n = Qp(n, Di); return s = H6(s, e), s } function wwn(t, e) { var n, r, s, o, h, d, w, k, _; for (Ar(e, "Hierarchical port dummy size processing", 1), w = new le, _ = new le, r = Xt(xe(K(t, (Ce(), Q4)))), n = r * 2, o = new S(t.b); o.a < o.c.c.length;) { for (s = u(Q(o), 29), w.c = Ot(nr, De, 1, 0, 5, 1), _.c = Ot(nr, De, 1, 0, 5, 1), d = new S(s.a); d.a < d.c.c.length;)h = u(Q(d), 10), h.k == (Kn(), Fs) && (k = u(K(h, (ie(), yc)), 61), k == (we(), Fn) ? w.c[w.c.length] = h : k == Lr && (_.c[_.c.length] = h)); toe(w, !0, n), toe(_, !1, n) } br(e) } function mwn(t, e) { var n, r, s, o, h, d, w; Ar(e, "Layer constraint postprocessing", 1), w = t.b, w.c.length != 0 && (r = (An(0, w.c.length), u(w.c[0], 29)), h = u(Fe(w, w.c.length - 1), 29), n = new Oh(t), o = new Oh(t), rvn(t, r, h, n, o), n.a.c.length == 0 || (Vm(0, w.c.length), zT(w.c, 0, n)), o.a.c.length == 0 || (w.c[w.c.length] = o)), ia(t, (ie(), klt)) && (s = new Oh(t), d = new Oh(t), rbn(t, s, d), s.a.c.length == 0 || (Vm(0, w.c.length), zT(w.c, 0, s)), d.a.c.length == 0 || (w.c[w.c.length] = d)), br(e) } function Lue(t) { var e, n, r, s, o, h, d, w, k, _; for (w = new S(t.a); w.a < w.c.c.length;)if (d = u(Q(w), 10), d.k == (Kn(), Fs) && (s = u(K(d, (ie(), yc)), 61), s == (we(), Wn) || s == jn)) for (r = new pr(mr($0(d).a.Kc(), new H)); Zr(r);)n = u(qr(r), 17), e = n.a, e.b != 0 && (k = n.c, k.i == d && (o = (ir(e.b != 0), u(e.a.a.c, 8)), o.b = cc(ct(ot(sa, 1), te, 8, 0, [k.i.n, k.n, k.a])).b), _ = n.d, _.i == d && (h = (ir(e.b != 0), u(e.c.b.c, 8)), h.b = cc(ct(ot(sa, 1), te, 8, 0, [_.i.n, _.n, _.a])).b)) } function ywn(t, e) { var n, r, s, o, h, d, w; for (Ar(e, "Sort By Input Model " + K(t, (Ce(), p2)), 1), s = 0, r = new S(t.b); r.a < r.c.c.length;) { for (n = u(Q(r), 29), w = s == 0 ? 0 : s - 1, d = u(Fe(t.b, w), 29), h = new S(n.a); h.a < h.c.c.length;)o = u(Q(h), 10), qt(K(o, xs)) !== qt((xa(), qb)) && qt(K(o, xs)) !== qt(eu) && (pn(), ua(o.j, new WJt(d, Gie(o))), W2(e, "Node " + o + " ports: " + o.j)); pn(), ua(n.a, new bee(d, u(K(t, p2), 339), u(K(t, bTt), 378))), W2(e, "Layer " + s + ": " + n), ++s } br(e) } function xwn(t, e) { var n, r, s, o; if (o = vue(e), Ts(new kn(null, (!e.c && (e.c = new he(El, e, 9, 9)), new Cn(e.c, 16))), new Hn(o)), s = u(K(o, (ie(), tu)), 21), kyn(e, s), s.Hc((ko(), Th))) for (r = new lr((!e.c && (e.c = new he(El, e, 9, 9)), e.c)); r.e != r.i.gc();)n = u(kr(r), 118), Jyn(t, e, o, n); return u(ze(e, (Ce(), Nb)), 174).gc() != 0 && uce(e, o), Re(Be(K(o, qTt))) && s.Fc(DV), ia(o, CO) && Kzt(new Vyt(Xt(xe(K(o, CO)))), o), qt(ze(e, By)) === qt((j0(), Qg)) ? f4n(t, e, o) : O3n(t, e, o), o } function pC(t, e, n, r) { var s, o, h; if (this.j = new le, this.k = new le, this.b = new le, this.c = new le, this.e = new S6, this.i = new Hu, this.f = new Mtt, this.d = new le, this.g = new le, ue(this.b, t), ue(this.b, e), this.e.c = b.Math.min(t.a, e.a), this.e.d = b.Math.min(t.b, e.b), this.e.b = b.Math.abs(t.a - e.a), this.e.a = b.Math.abs(t.b - e.b), s = u(K(r, (Ce(), $o)), 74), s) for (h = gi(s, 0); h.b != h.d.c;)o = u(di(h), 8), mmt(o.a, t.a) && pi(this.i, o); n && ue(this.j, n), ue(this.k, r) } function kwn(t, e, n) { var r, s, o, h, d, w, k, _, L, F; for (_ = new Fj(new Fi(n)), d = Ot(Tl, o0, 25, t.f.e.c.length, 16, 1), $vt(d, d.length), n[e.b] = 0, k = new S(t.f.e); k.a < k.c.c.length;)w = u(Q(k), 144), w.b != e.b && (n[w.b] = Di), M8(d7(_, w)); for (; _.b.c.length != 0;)for (L = u(jrt(_), 144), d[L.b] = !0, o = uUt(new Ztt(t.b, L), 0); o.c;)s = u(vwt(o), 282), F = Qln(s, L), !d[F.b] && (ia(s, (ZD(), ZH)) ? h = Xt(xe(K(s, ZH))) : h = t.c, r = n[L.b] + h, r < n[F.b] && (n[F.b] = r, aee(_, F), M8(d7(_, F)))) } function Mue(t, e, n) { var r, s, o, h, d, w, k, _, L; for (s = !0, h = new S(t.b); h.a < h.c.c.length;) { for (o = u(Q(h), 29), k = Rs, _ = null, w = new S(o.a); w.a < w.c.c.length;)if (d = u(Q(w), 10), L = Xt(e.p[d.p]) + Xt(e.d[d.p]) - d.d.d, r = Xt(e.p[d.p]) + Xt(e.d[d.p]) + d.o.b + d.d.a, L > k && r > k) _ = d, k = Xt(e.p[d.p]) + Xt(e.d[d.p]) + d.o.b + d.d.a; else { s = !1, n.n && W2(n, "bk node placement breaks on " + d + " which should have been after " + _); break } if (!s) break } return n.n && W2(n, e + " is feasible: " + s), s } function Ewn(t, e, n, r) { var s, o, h, d, w, k, _; for (d = -1, _ = new S(t); _.a < _.c.c.length;)k = u(Q(_), 112), k.g = d--, s = $r(l$(Gj(Qi(new kn(null, new Cn(k.f, 16)), new vQ), new wQ)).d), o = $r(l$(Gj(Qi(new kn(null, new Cn(k.k, 16)), new mQ), new Y5)).d), h = s, w = o, r || (h = $r(l$(Gj(new kn(null, new Cn(k.f, 16)), new yQ)).d), w = $r(l$(Gj(new kn(null, new Cn(k.k, 16)), new xQ)).d)), k.d = h, k.a = s, k.i = w, k.b = o, w == 0 ? Cs(n, k, n.c.b, n.c) : h == 0 && Cs(e, k, e.c.b, e.c) } function Twn(t, e, n, r) { var s, o, h, d, w, k, _; if (n.d.i != e.i) { for (s = new q0(t), _0(s, (Kn(), ha)), Jt(s, (ie(), Bi), n), Jt(s, (Ce(), xs), (xa(), eu)), r.c[r.c.length] = s, h = new zc, ac(h, s), Qs(h, (we(), jn)), d = new zc, ac(d, s), Qs(d, Wn), _ = n.d, ma(n, h), o = new Rv, Ho(o, n), Jt(o, $o, null), Ua(o, d), ma(o, _), k = new Ca(n.b, 0); k.b < k.d.gc();)w = (ir(k.b < k.d.gc()), u(k.d.Xb(k.c = k.b++), 70)), qt(K(w, Fd)) === qt((F1(), Wy)) && (Jt(w, Lx, n), Ol(k), ue(o.b, w)); uoe(s, h, d) } } function _wn(t, e, n, r) { var s, o, h, d, w, k, _; if (n.c.i != e.i) for (s = new q0(t), _0(s, (Kn(), ha)), Jt(s, (ie(), Bi), n), Jt(s, (Ce(), xs), (xa(), eu)), r.c[r.c.length] = s, h = new zc, ac(h, s), Qs(h, (we(), jn)), d = new zc, ac(d, s), Qs(d, Wn), ma(n, h), o = new Rv, Ho(o, n), Jt(o, $o, null), Ua(o, d), ma(o, e), uoe(s, h, d), k = new Ca(n.b, 0); k.b < k.d.gc();)w = (ir(k.b < k.d.gc()), u(k.d.Xb(k.c = k.b++), 70)), _ = u(K(w, Fd), 272), _ == (F1(), Wy) && (ia(w, Lx) || Jt(w, Lx, n), Ol(k), ue(o.b, w)) } function Cwn(t, e, n, r, s) { var o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct; for (F = new le, bt = g$(r), Z = e * t.a, L = 0, G = 0, o = new na, h = new na, d = new le, Lt = 0, Ct = 0, q = 0, W = 0, k = 0, _ = 0; bt.a.gc() != 0;)w = Mcn(bt, s, h), w && (bt.a.Bc(w) != null, d.c[d.c.length] = w, o.a.zc(w, o), G = t.f[w.p], Lt += t.e[w.p] - G * t.b, L = t.c[w.p], Ct += L * t.b, _ += G * t.b, W += t.e[w.p]), (!w || bt.a.gc() == 0 || Lt >= Z && t.e[w.p] > G * t.b || Ct >= n * Z) && (F.c[F.c.length] = d, d = new le, io(h, o), o.a.$b(), k -= _, q = b.Math.max(q, k * t.b + W), k += Ct, Lt = Ct, Ct = 0, _ = 0, W = 0); return new _a(q, F) } function Swn(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q; for (n = (k = new T1(t.c.b).a.vc().Kc(), new _1(k)); n.a.Ob();)e = (d = u(n.a.Pb(), 42), u(d.dd(), 149)), s = e.a, s == null && (s = ""), r = JYe(t.c, s), !r && s.length == 0 && (r = tcn(t)), r && !ey(r.c, e, !1) && pi(r.c, e); for (h = gi(t.a, 0); h.b != h.d.c;)o = u(di(h), 478), _ = yrt(t.c, o.a), q = yrt(t.c, o.b), _ && q && pi(_.c, new _a(q, o.c)); for (Nh(t.a), F = gi(t.b, 0); F.b != F.d.c;)L = u(di(F), 478), e = ZYe(t.c, L.a), w = yrt(t.c, L.b), e && w && qWe(e, w, L.c); Nh(t.b) } function Awn(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q; o = new Hk(t), h = new Kie, s = (oD(h.g), oD(h.j), al(h.b), oD(h.d), oD(h.i), al(h.k), al(h.c), al(h.e), q = Dae(h, o, null), yoe(h, o), q), e && (k = new Hk(e), d = Rwn(k), g4t(s, ct(ot(ZCt, 1), De, 527, 0, [d]))), F = !1, L = !1, n && (k = new Hk(n), fH in k.a && (F = D0(k, fH).ge().a), H1e in k.a && (L = D0(k, H1e).ge().a)), _ = fqt(zte(new Yk, F), L), xdn(new nZ, s, _), fH in o.a && Jf(o, fH, null), (F || L) && (w = new w6, Tue(_, w, F, L), Jf(o, fH, w)), r = new m$t(h), pon(new B2t(s), r) } function Lwn(t, e, n) { var r, s, o, h, d, w, k, _, L; for (h = new Jie, k = ct(ot(Br, 1), oi, 25, 15, [0]), s = -1, o = 0, r = 0, w = 0; w < t.b.c.length; ++w)if (_ = u(Fe(t.b, w), 434), _.b > 0) { if (s < 0 && _.a && (s = w, o = k[0], r = 0), s >= 0) { if (d = _.b, w == s && (d -= r++, d == 0)) return 0; if (!Dle(e, k, _, d, h)) { w = s - 1, k[0] = o; continue } } else if (s = -1, !Dle(e, k, _, 0, h)) return 0 } else { if (s = -1, Ia(_.c, 0) == 32) { if (L = k[0], ZJt(e, k), k[0] > L) continue } else if (uen(e, _.c, k[0])) { k[0] += _.c.length; continue } return 0 } return u3n(h, n) ? k[0] : 0 } function bC(t) { var e, n, r, s, o, h, d, w; if (!t.f) { if (w = new T0, d = new T0, e = tA, h = e.a.zc(t, e), h == null) { for (o = new lr(zo(t)); o.e != o.i.gc();)s = u(kr(o), 26), vs(w, bC(s)); e.a.Bc(t) != null, e.a.gc() == 0 } for (r = (!t.s && (t.s = new he(ju, t, 21, 17)), new lr(t.s)); r.e != r.i.gc();)n = u(kr(r), 170), Et(n, 99) && Hr(d, u(n, 18)); Jm(d), t.r = new VWt(t, (u(St(Ut((zp(), Ln).o), 6), 18), d.i), d.g), vs(w, t.r), Jm(w), t.f = new q3((u(St(Ut(Ln.o), 5), 18), w.i), w.g), gl(t).b &= -3 } return t.f } function Mwn(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G; for (h = t.o, r = Ot(Br, oi, 25, h, 15, 1), s = Ot(Br, oi, 25, h, 15, 1), n = t.p, e = Ot(Br, oi, 25, n, 15, 1), o = Ot(Br, oi, 25, n, 15, 1), k = 0; k < h; k++) { for (L = 0; L < n && !l4(t, k, L);)++L; r[k] = L } for (_ = 0; _ < h; _++) { for (L = n - 1; L >= 0 && !l4(t, _, L);)--L; s[_] = L } for (q = 0; q < n; q++) { for (d = 0; d < h && !l4(t, d, q);)++d; e[q] = d } for (G = 0; G < n; G++) { for (d = h - 1; d >= 0 && !l4(t, d, G);)--d; o[G] = d } for (w = 0; w < h; w++)for (F = 0; F < n; F++)w < o[F] && w > e[F] && F < s[w] && F > r[w] && oq(t, w, F, !1, !0) } function $5t(t) { var e, n, r, s, o, h, d, w; n = Re(Be(K(t, (i1(), ape)))), o = t.a.c.d, d = t.a.d.d, n ? (h = pd(ba(new je(d.a, d.b), o), .5), w = pd(pc(t.e), .5), e = ba($i(new je(o.a, o.b), h), w), bbt(t.d, e)) : (s = Xt(xe(K(t.a, gpe))), r = t.d, o.a >= d.a ? o.b >= d.b ? (r.a = d.a + (o.a - d.a) / 2 + s, r.b = d.b + (o.b - d.b) / 2 - s - t.e.b) : (r.a = d.a + (o.a - d.a) / 2 + s, r.b = o.b + (d.b - o.b) / 2 + s) : o.b >= d.b ? (r.a = o.a + (d.a - o.a) / 2 + s, r.b = d.b + (o.b - d.b) / 2 + s) : (r.a = o.a + (d.a - o.a) / 2 + s, r.b = o.b + (d.b - o.b) / 2 - s - t.e.b)) } function Xc(t, e) { var n, r, s, o, h, d, w; if (t == null) return null; if (o = t.length, o == 0) return ""; for (w = Ot(Sh, Ed, 25, o, 15, 1), nmt(0, o, t.length), nmt(0, o, w.length), XKt(t, 0, o, w, 0), n = null, d = e, s = 0, h = 0; s < o; s++)r = w[s], Qle(), r <= 32 && vt[r] & 2 ? d ? (!n && (n = new Ih(t)), ren(n, s - h++)) : (d = e, r != 32 && (!n && (n = new Ih(t)), Ttn(n, s - h, s - h + 1, String.fromCharCode(32)))) : d = !1; return d ? n ? (o = n.a.length, o > 0 ? $l(n.a, 0, o - 1) : "") : t.substr(0, o - 1) : n ? n.a : t } function Due(t) { Tv(t, new bb(yv(vv(mv(wv(new gg, kb), "ELK DisCo"), "Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out."), new Ei))), ke(t, kb, bot, Ie(q7t)), ke(t, kb, vot, Ie(Aut)), ke(t, kb, px, Ie(Gge)), ke(t, kb, pw, Ie(z7t)), ke(t, kb, _6t, Ie(Yge)), ke(t, kb, C6t, Ie(Kge)), ke(t, kb, T6t, Ie(Xge)), ke(t, kb, S6t, Ie(Wge)), ke(t, kb, N6t, Ie(Uge)), ke(t, kb, P6t, Ie(Sut)), ke(t, kb, F6t, Ie($7t)), ke(t, kb, B6t, Ie(UH)) } function z5t(t, e, n, r) { var s, o, h, d, w, k, _, L, F; if (o = new q0(t), _0(o, (Kn(), Jc)), Jt(o, (Ce(), xs), (xa(), eu)), s = 0, e) { for (h = new zc, Jt(h, (ie(), Bi), e), Jt(o, Bi, e.i), Qs(h, (we(), jn)), ac(h, o), F = yd(e.e), k = F, _ = 0, L = k.length; _ < L; ++_)w = k[_], ma(w, h); Jt(e, ul, o), ++s } if (n) { for (d = new zc, Jt(o, (ie(), Bi), n.i), Jt(d, Bi, n), Qs(d, (we(), Wn)), ac(d, o), F = yd(n.g), k = F, _ = 0, L = k.length; _ < L; ++_)w = k[_], Ua(w, d); Jt(n, ul, o), ++s } return Jt(o, (ie(), OV), pe(s)), r.c[r.c.length] = o, o } function hq() {
                                hq = J, xAt = ct(ot(Sh, 1), Ed, 25, 15, [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70]), V3e = new RegExp(`[ 	
    \r\f]+`); try { QS = ct(ot(Y4n, 1), De, 2015, 0, [new aM((z2t(), xz("yyyy-MM-dd'T'HH:mm:ss'.'SSSZ", $M((oR(), oR(), JC))))), new aM(xz("yyyy-MM-dd'T'HH:mm:ss'.'SSS", $M(JC))), new aM(xz("yyyy-MM-dd'T'HH:mm:ss", $M(JC))), new aM(xz("yyyy-MM-dd'T'HH:mm", $M(JC))), new aM(xz("yyyy-MM-dd", $M(JC)))]) } catch (t) { if (t = os(t), !Et(t, 78)) throw et(t) }
                            } function Dwn(t) { var e, n, r, s; if (r = yat((!t.c && (t.c = RD(t.f)), t.c), 0), t.e == 0 || t.a == 0 && t.f != -1 && t.e < 0) return r; if (e = Cmt(t) < 0 ? 1 : 0, n = t.e, s = (r.length + 1 + b.Math.abs(Ms(t.e)), new Sm), e == 1 && (s.a += "-"), t.e > 0) if (n -= r.length - e, n >= 0) { for (s.a += "0."; n > Mb.length; n -= Mb.length)uKt(s, Mb); GUt(s, Mb, Ms(n)), ni(s, r.substr(e)) } else n = e - n, ni(s, $l(r, e, Ms(n))), s.a += ".", ni(s, IM(r, Ms(n))); else { for (ni(s, r.substr(e)); n < -Mb.length; n += Mb.length)uKt(s, Mb); GUt(s, Mb, Ms(-n)) } return s.a } function q5t(t, e, n, r) { var s, o, h, d, w, k, _, L, F; return w = ba(new je(n.a, n.b), t), k = w.a * e.b - w.b * e.a, _ = e.a * r.b - e.b * r.a, L = (w.a * r.b - w.b * r.a) / _, F = k / _, _ == 0 ? k == 0 ? (s = $i(new je(n.a, n.b), pd(new je(r.a, r.b), .5)), o = Gp(t, s), h = Gp($i(new je(t.a, t.b), e), s), d = b.Math.sqrt(r.a * r.a + r.b * r.b) * .5, o < h && o <= d ? new je(t.a, t.b) : h <= d ? $i(new je(t.a, t.b), e) : null) : null : L >= 0 && L <= 1 && F >= 0 && F <= 1 ? $i(new je(t.a, t.b), pd(new je(e.a, e.b), L)) : null } function Iwn(t, e, n) { var r, s, o, h, d; if (r = u(K(t, (Ce(), Dlt)), 21), n.a > e.a && (r.Hc((ay(), zO)) ? t.c.a += (n.a - e.a) / 2 : r.Hc(qO) && (t.c.a += n.a - e.a)), n.b > e.b && (r.Hc((ay(), VO)) ? t.c.b += (n.b - e.b) / 2 : r.Hc(HO) && (t.c.b += n.b - e.b)), u(K(t, (ie(), tu)), 21).Hc((ko(), Th)) && (n.a > e.a || n.b > e.b)) for (d = new S(t.a); d.a < d.c.c.length;)h = u(Q(d), 10), h.k == (Kn(), Fs) && (s = u(K(h, yc), 61), s == (we(), Wn) ? h.n.a += n.a - e.a : s == Lr && (h.n.b += n.b - e.b)); o = t.d, t.f.a = n.a - o.b - o.c, t.f.b = n.b - o.d - o.a } function Own(t, e, n) { var r, s, o, h, d; if (r = u(K(t, (Ce(), Dlt)), 21), n.a > e.a && (r.Hc((ay(), zO)) ? t.c.a += (n.a - e.a) / 2 : r.Hc(qO) && (t.c.a += n.a - e.a)), n.b > e.b && (r.Hc((ay(), VO)) ? t.c.b += (n.b - e.b) / 2 : r.Hc(HO) && (t.c.b += n.b - e.b)), u(K(t, (ie(), tu)), 21).Hc((ko(), Th)) && (n.a > e.a || n.b > e.b)) for (h = new S(t.a); h.a < h.c.c.length;)o = u(Q(h), 10), o.k == (Kn(), Fs) && (s = u(K(o, yc), 61), s == (we(), Wn) ? o.n.a += n.a - e.a : s == Lr && (o.n.b += n.b - e.b)); d = t.d, t.f.a = n.a - d.b - d.c, t.f.b = n.b - d.d - d.a } function Nwn(t) { var e, n, r, s, o, h, d, w, k, _, L, F; for (e = Xae(t), _ = (d = new km(e).a.vc().Kc(), new nM(d)); _.a.Ob();) { for (k = (s = u(_.a.Pb(), 42), u(s.cd(), 10)), L = 0, F = 0, L = k.d.d, F = k.o.b + k.d.a, t.d[k.p] = 0, n = k; (o = t.a[n.p]) != k;)r = Uun(n, o), w = 0, t.c == (md(), Wg) ? w = r.d.n.b + r.d.a.b - r.c.n.b - r.c.a.b : w = r.c.n.b + r.c.a.b - r.d.n.b - r.d.a.b, h = Xt(t.d[n.p]) + w, t.d[o.p] = h, L = b.Math.max(L, o.d.d - h), F = b.Math.max(F, h + o.o.b + o.d.a), n = o; n = k; do t.d[n.p] = Xt(t.d[n.p]) + L, n = t.a[n.p]; while (n != k); t.b[k.p] = L + F } } function iat(t) { var e, n, r, s, o, h, d, w, k, _, L, F; for (t.b = !1, L = ms, w = Rs, F = ms, k = Rs, r = t.e.a.ec().Kc(); r.Ob();)for (n = u(r.Pb(), 266), s = n.a, L = b.Math.min(L, s.c), w = b.Math.max(w, s.c + s.b), F = b.Math.min(F, s.d), k = b.Math.max(k, s.d + s.a), h = new S(n.c); h.a < h.c.c.length;)o = u(Q(h), 395), e = o.a, e.a ? (_ = s.d + o.b.b, d = _ + o.c, F = b.Math.min(F, _), k = b.Math.max(k, d)) : (_ = s.c + o.b.a, d = _ + o.c, L = b.Math.min(L, _), w = b.Math.max(w, d)); t.a = new je(w - L, k - F), t.c = new je(L + t.d.a, F + t.d.b) } function Pwn(t, e, n) { var r, s, o, h, d, w, k, _, L; for (L = new le, _ = new _wt(0, n), o = 0, $$(_, new uit(0, 0, _, n)), s = 0, k = new lr(t); k.e != k.i.gc();)w = u(kr(k), 33), r = u(Fe(_.a, _.a.c.length - 1), 187), d = s + w.g + (u(Fe(_.a, 0), 187).b.c.length == 0 ? 0 : n), d > e && (s = 0, o += _.b + n, L.c[L.c.length] = _, _ = new _wt(o, n), r = new uit(0, _.f, _, n), $$(_, r), s = 0), r.b.c.length == 0 || w.f >= r.o && w.f <= r.f || r.a * .5 <= w.f && r.a * 1.5 >= w.f ? Ryt(r, w) : (h = new uit(r.s + r.r + n, _.f, _, n), $$(_, h), Ryt(h, w)), s = w.i + w.g; return L.c[L.c.length] = _, L } function k4(t) { var e, n, r, s, o, h, d, w; if (!t.a) { if (t.o = null, w = new j$t(t), e = new xp, n = tA, d = n.a.zc(t, n), d == null) { for (h = new lr(zo(t)); h.e != h.i.gc();)o = u(kr(h), 26), vs(w, k4(o)); n.a.Bc(t) != null, n.a.gc() == 0 } for (s = (!t.s && (t.s = new he(ju, t, 21, 17)), new lr(t.s)); s.e != s.i.gc();)r = u(kr(s), 170), Et(r, 322) && Hr(e, u(r, 34)); Jm(e), t.k = new HWt(t, (u(St(Ut((zp(), Ln).o), 7), 18), e.i), e.g), vs(w, t.k), Jm(w), t.a = new q3((u(St(Ut(Ln.o), 4), 18), w.i), w.g), gl(t).b &= -2 } return t.a } function Fwn(t, e, n, r, s, o, h) { var d, w, k, _, L, F; return L = !1, w = joe(n.q, e.f + e.b - n.q.f), F = s - (n.q.e + w - h), F < r.g || (k = o == t.c.length - 1 && F >= (An(o, t.c.length), u(t.c[o], 200)).e, _ = (d = vC(r, F, !1), d.a), _ > e.b && !k) ? !1 : ((k || _ <= e.b) && (k && _ > e.b ? (n.d = _, fD(n, Hse(n, _))) : (cse(n.q, w), n.c = !0), fD(r, s - (n.s + n.r)), KD(r, n.q.e + n.q.d, e.f), $$(e, r), t.c.length > o && (JD((An(o, t.c.length), u(t.c[o], 200)), r), (An(o, t.c.length), u(t.c[o], 200)).a.c.length == 0 && Sg(t, o)), L = !0), L) } function H5t(t, e, n, r) { var s, o, h, d, w, k, _; if (_ = gu(t.e.Tg(), e), s = 0, o = u(t.g, 119), w = null, go(), u(e, 66).Oj()) { for (d = 0; d < t.i; ++d)if (h = o[d], _.rl(h.ak())) { if (Ni(h, n)) { w = h; break } ++s } } else if (n != null) { for (d = 0; d < t.i; ++d)if (h = o[d], _.rl(h.ak())) { if (Ni(n, h.dd())) { w = h; break } ++s } } else for (d = 0; d < t.i; ++d)if (h = o[d], _.rl(h.ak())) { if (h.dd() == null) { w = h; break } ++s } return w && (Ll(t.e) && (k = e.$j() ? new brt(t.e, 4, e, n, null, s, !0) : Hp(t, e.Kj() ? 2 : 1, e, n, e.zj(), -1, !0), r ? r.Ei(k) : r = k), r = vI(t, w, r)), r } function sat(t, e, n, r, s, o, h) { var d, w, k, _, L, F, q, G, W; switch (G = 0, W = 0, w = s.c, d = s.b, _ = n.f, q = n.g, e.g) { case 0: G = r.i + r.g + h, t.c ? W = h1n(G, o, r, h) : W = r.j, F = b.Math.max(w, G + q), k = b.Math.max(d, W + _); break; case 1: W = r.j + r.f + h, t.c ? G = l1n(W, o, r, h) : G = r.i, F = b.Math.max(w, G + q), k = b.Math.max(d, W + _); break; case 2: G = w + h, W = 0, F = w + h + q, k = b.Math.max(d, _); break; case 3: G = 0, W = d + h, F = b.Math.max(w, q), k = d + h + _; break; default: throw et(new Bn("IllegalPlacementOption.")) }return L = new Hyt(t.a, F, k, e, G, W), L } function Bwn(t) { var e, n, r, s, o, h, d, w, k, _, L, F; if (d = t.d, L = u(K(t, (ie(), Ox)), 15), e = u(K(t, Ax), 15), !(!L && !e)) { if (o = Xt(xe(ny(t, (Ce(), zlt)))), h = Xt(xe(ny(t, WTt))), F = 0, L) { for (k = 0, s = L.Kc(); s.Ob();)r = u(s.Pb(), 10), k = b.Math.max(k, r.o.b), F += r.o.a; F += o * (L.gc() - 1), d.d += k + h } if (n = 0, e) { for (k = 0, s = e.Kc(); s.Ob();)r = u(s.Pb(), 10), k = b.Math.max(k, r.o.b), n += r.o.a; n += o * (e.gc() - 1), d.a += k + h } w = b.Math.max(F, n), w > t.o.a && (_ = (w - t.o.a) / 2, d.b = b.Math.max(d.b, _), d.c = b.Math.max(d.c, _)) } } function Rwn(t) { var e, n, r, s, o, h, d, w; for (o = new lQt, kKe(o, (X6(), Bye)), r = (s = Qrt(t, Ot(Me, te, 2, 0, 6, 1)), new h6(new Al(new Jtt(t, s).b))); r.b < r.d.gc();)n = (ir(r.b < r.d.gc()), Kr(r.d.Xb(r.c = r.b++))), h = X5t(C2, n), h && (e = D0(t, n), e.je() ? d = e.je().a : e.ge() ? d = "" + e.ge().a : e.he() ? d = "" + e.he().a : d = e.Ib(), w = K5t(h, d), w != null && ((Gu(h.j, (n1(), fa)) || Gu(h.j, Un)) && PD($rt(o, bs), h, w), Gu(h.j, Bd) && PD($rt(o, aa), h, w), Gu(h.j, Rb) && PD($rt(o, El), h, w), Gu(h.j, Yg) && PD($rt(o, ec), h, w))); return o } function fq(t, e, n, r) { var s, o, h, d, w, k; if (w = gu(t.e.Tg(), e), o = u(t.g, 119), V0(t.e, e)) { for (s = 0, d = 0; d < t.i; ++d)if (h = o[d], w.rl(h.ak())) { if (s == n) return go(), u(e, 66).Oj() ? h : (k = h.dd(), k != null && r && Et(e, 99) && u(e, 18).Bb & oo && (k = oC(t, e, d, s, k)), k); ++s } throw et(new Oo(VC + n + _b + s)) } else { for (s = 0, d = 0; d < t.i; ++d) { if (h = o[d], w.rl(h.ak())) return go(), u(e, 66).Oj() ? h : (k = h.dd(), k != null && r && Et(e, 99) && u(e, 18).Bb & oo && (k = oC(t, e, d, s, k)), k); ++s } return e.zj() } } function xI(t, e, n) { var r, s, o, h, d, w, k, _; if (s = u(t.g, 119), V0(t.e, e)) return go(), u(e, 66).Oj() ? new kj(e, t) : new DM(e, t); for (k = gu(t.e.Tg(), e), r = 0, d = 0; d < t.i; ++d) { if (o = s[d], h = o.ak(), k.rl(h)) { if (go(), u(e, 66).Oj()) return o; if (h == (sx(), Ux) || h == Gx) { for (w = new jl(Jo(o.dd())); ++d < t.i;)o = s[d], h = o.ak(), (h == Ux || h == Gx) && ni(w, Jo(o.dd())); return zbt(u(e.Yj(), 148), w.a) } else return _ = o.dd(), _ != null && n && Et(e, 99) && u(e, 18).Bb & oo && (_ = oC(t, e, d, r, _)), _ } ++r } return e.zj() } function vC(t, e, n) { var r, s, o, h, d, w, k, _, L, F; for (o = 0, h = t.t, s = 0, r = 0, w = 0, F = 0, L = 0, n && (t.n.c = Ot(nr, De, 1, 0, 5, 1), ue(t.n, new r$(t.s, t.t, t.i))), d = 0, _ = new S(t.b); _.a < _.c.c.length;)k = u(Q(_), 33), o + k.g + (d > 0 ? t.i : 0) > e && w > 0 && (o = 0, h += w + t.i, s = b.Math.max(s, F), r += w + t.i, w = 0, F = 0, n && (++L, ue(t.n, new r$(t.s, h, t.i))), d = 0), F += k.g + (d > 0 ? t.i : 0), w = b.Math.max(w, k.f), n && y3t(u(Fe(t.n, L), 211), k), o += k.g + (d > 0 ? t.i : 0), ++d; return s = b.Math.max(s, F), r += w, n && (t.r = s, t.d = r, T3t(t.j)), new fh(t.s, t.t, s, r) } function qc(t, e, n, r, s) { Gd(); var o, h, d, w, k, _, L, F, q; if (Hvt(t, "src"), Hvt(n, "dest"), F = bl(t), w = bl(n), fvt((F.i & 4) != 0, "srcType is not an array"), fvt((w.i & 4) != 0, "destType is not an array"), L = F.c, h = w.c, fvt(L.i & 1 ? L == h : (h.i & 1) == 0, "Array types don't match"), q = t.length, k = n.length, e < 0 || r < 0 || s < 0 || e + s > q || r + s > k) throw et(new ipt); if (!(L.i & 1) && F != w) if (_ = rb(t), o = rb(n), qt(t) === qt(n) && e < r) for (e += s, d = r + s; d-- > r;)ds(o, d, _[--e]); else for (d = r + s; r < d;)ds(o, r++, _[e++]); else s > 0 && L4t(t, e, n, r, s, !0) } function aat() { aat = J, N0e = ct(ot(Br, 1), oi, 25, 15, [$a, 1162261467, kC, 1220703125, 362797056, 1977326743, kC, 387420489, _q, 214358881, 429981696, 815730721, 1475789056, 170859375, 268435456, 410338673, 612220032, 893871739, 128e7, 1801088541, 113379904, 148035889, 191102976, 244140625, 308915776, 387420489, 481890304, 594823321, 729e6, 887503681, kC, 1291467969, 1544804416, 1838265625, 60466176]), P0e = ct(ot(Br, 1), oi, 25, 15, [-1, -1, 31, 19, 15, 13, 11, 11, 10, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5]) } function jwn(t) { var e, n, r, s, o, h, d, w; for (s = new S(t.b); s.a < s.c.c.length;)for (r = u(Q(s), 29), h = new S(zv(r.a)); h.a < h.c.c.length;)if (o = u(Q(h), 10), dte(o) && (n = u(K(o, (ie(), Cw)), 305), !n.g && n.d)) for (e = n, w = n.d; w;)xce(w.i, w.k, !1, !0), bD(e.a), bD(w.i), bD(w.k), bD(w.b), ma(w.c, e.c.d), ma(e.c, null), Fo(e.a, null), Fo(w.i, null), Fo(w.k, null), Fo(w.b, null), d = new Iwt(e.i, w.a, e.e, w.j, w.f), d.k = e.k, d.n = e.n, d.b = e.b, d.c = w.c, d.g = e.g, d.d = w.d, Jt(e.i, Cw, d), Jt(w.a, Cw, d), w = w.d, e = d } function py(t, e) { var n, r, s, o, h; if (h = u(e, 136), b4(t), b4(h), h.b != null) { if (t.c = !0, t.b == null) { t.b = Ot(Br, oi, 25, h.b.length, 15, 1), qc(h.b, 0, t.b, 0, h.b.length); return } for (o = Ot(Br, oi, 25, t.b.length + h.b.length, 15, 1), n = 0, r = 0, s = 0; n < t.b.length || r < h.b.length;)n >= t.b.length ? (o[s++] = h.b[r++], o[s++] = h.b[r++]) : r >= h.b.length ? (o[s++] = t.b[n++], o[s++] = t.b[n++]) : h.b[r] < t.b[n] || h.b[r] === t.b[n] && h.b[r + 1] < t.b[n + 1] ? (o[s++] = h.b[r++], o[s++] = h.b[r++]) : (o[s++] = t.b[n++], o[s++] = t.b[n++]); t.b = o } } function $wn(t, e) { var n, r, s, o, h, d, w, k, _, L; return n = Re(Be(K(t, (ie(), Oy)))), d = Re(Be(K(e, Oy))), r = u(K(t, c1), 11), w = u(K(e, c1), 11), s = u(K(t, Uh), 11), k = u(K(e, Uh), 11), _ = !!r && r == w, L = !!s && s == k, !n && !d ? new Zbt(u(Q(new S(t.j)), 11).p == u(Q(new S(e.j)), 11).p, _, L) : (o = (!Re(Be(K(t, Oy))) || Re(Be(K(t, kO)))) && (!Re(Be(K(e, Oy))) || Re(Be(K(e, kO)))), h = (!Re(Be(K(t, Oy))) || !Re(Be(K(t, kO)))) && (!Re(Be(K(e, Oy))) || !Re(Be(K(e, kO)))), new Zbt(_ && o || L && h, _, L)) } function zwn(t) { var e, n, r, s, o, h, d, w; for (r = 0, n = 0, w = new hs, e = 0, d = new S(t.n); d.a < d.c.c.length;)h = u(Q(d), 211), h.c.c.length == 0 ? Cs(w, h, w.c.b, w.c) : (r = b.Math.max(r, h.d), n += h.a + (e > 0 ? t.i : 0)), ++e; for (Qcn(t.n, w), t.d = n, t.r = r, t.g = 0, t.f = 0, t.e = 0, t.o = ms, t.p = ms, o = new S(t.b); o.a < o.c.c.length;)s = u(Q(o), 33), t.p = b.Math.min(t.p, s.g), t.g = b.Math.max(t.g, s.g), t.f = b.Math.max(t.f, s.f), t.o = b.Math.min(t.o, s.f), t.e += s.f + t.i; t.a = t.e / t.b.c.length - t.i * ((t.b.c.length - 1) / t.b.c.length), T3t(t.j) } function Iue(t) { var e, n, r, s; return t.Db & 64 ? Sit(t) : (e = new jl(Vkt), r = t.k, r ? ni(ni((e.a += ' "', e), r), '"') : (!t.n && (t.n = new he(ec, t, 1, 7)), t.n.i > 0 && (s = (!t.n && (t.n = new he(ec, t, 1, 7)), u(St(t.n, 0), 137)).a, !s || ni(ni((e.a += ' "', e), s), '"'))), n = (!t.b && (t.b = new Tn(Cr, t, 4, 7)), !(t.b.i <= 1 && (!t.c && (t.c = new Tn(Cr, t, 5, 8)), t.c.i <= 1))), n ? e.a += " [" : e.a += " ", ni(e, J2t(new Ktt, new lr(t.b))), n && (e.a += "]"), e.a += Eot, n && (e.a += "["), ni(e, J2t(new Ktt, new lr(t.c))), n && (e.a += "]"), e.a) } function oat(t, e) { var n, r, s, o, h, d, w; if (t.a) { if (d = t.a.ne(), w = null, d != null ? e.a += "" + d : (h = t.a.Dj(), h != null && (o = gd(h, Nu(91)), o != -1 ? (w = h.substr(o), e.a += "" + $l(h == null ? Pu : (Pn(h), h), 0, o)) : e.a += "" + h)), t.d && t.d.i != 0) { for (s = !0, e.a += "<", r = new lr(t.d); r.e != r.i.gc();)n = u(kr(r), 87), s ? s = !1 : e.a += ao, oat(n, e); e.a += ">" } w != null && (e.a += "" + w) } else t.e ? (d = t.e.zb, d != null && (e.a += "" + d)) : (e.a += "?", t.b ? (e.a += " super ", oat(t.b, e)) : t.f && (e.a += " extends ", oat(t.f, e))) } function qwn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n; for (Yt = t.c, ce = e.c, n = Qo(Yt.a, t, 0), r = Qo(ce.a, e, 0), Ct = u(ew(t, (yo(), ll)).Kc().Pb(), 11), Qe = u(ew(t, lu).Kc().Pb(), 11), Pt = u(ew(e, ll).Kc().Pb(), 11), $n = u(ew(e, lu).Kc().Pb(), 11), bt = yd(Ct.e), Se = yd(Qe.g), Lt = yd(Pt.e), Ge = yd($n.g), sy(t, r, ce), h = Lt, _ = 0, G = h.length; _ < G; ++_)s = h[_], ma(s, Ct); for (d = Ge, L = 0, W = d.length; L < W; ++L)s = d[L], Ua(s, Qe); for (sy(e, n, Yt), w = bt, F = 0, Z = w.length; F < Z; ++F)s = w[F], ma(s, Pt); for (o = Se, k = 0, q = o.length; k < q; ++k)s = o[k], Ua(s, $n) } function Oue(t, e, n, r) { var s, o, h, d, w, k, _; if (o = gz(r), d = Re(Be(K(r, (Ce(), FTt)))), (d || Re(Be(K(t, VV)))) && !H3(u(K(t, xs), 98))) s = Z6(o), w = D5t(t, n, n == (yo(), lu) ? s : qD(s)); else switch (w = new zc, ac(w, t), e ? (_ = w.n, _.a = e.a - t.n.a, _.b = e.b - t.n.b, Vse(_, 0, 0, t.o.a, t.o.b), Qs(w, rue(w, o))) : (s = Z6(o), Qs(w, n == (yo(), lu) ? s : qD(s))), h = u(K(r, (ie(), tu)), 21), k = w.j, o.g) { case 2: case 1: (k == (we(), Fn) || k == Lr) && h.Fc((ko(), G4)); break; case 4: case 3: (k == (we(), Wn) || k == jn) && h.Fc((ko(), G4)) }return w } function V5t(t, e, n) { var r, s, o, h, d, w, k, _; return b.Math.abs(e.s - e.c) < Cd || b.Math.abs(n.s - n.c) < Cd ? 0 : (r = Voe(t, e.j, n.e), s = Voe(t, n.j, e.e), o = r == -1 || s == -1, h = 0, o ? (r == -1 && (new Z2((Qf(), v2), n, e, 1), ++h), s == -1 && (new Z2((Qf(), v2), e, n, 1), ++h)) : (d = a4(e.j, n.s, n.c), d += a4(n.e, e.s, e.c), w = a4(n.j, e.s, e.c), w += a4(e.e, n.s, n.c), k = r + 16 * d, _ = s + 16 * w, k < _ ? new Z2((Qf(), Vy), e, n, _ - k) : k > _ ? new Z2((Qf(), Vy), n, e, k - _) : k > 0 && _ > 0 && (new Z2((Qf(), Vy), e, n, 0), new Z2(Vy, n, e, 0))), h) } function Nue(t, e) { var n, r, s, o, h, d; for (h = new ub(new vg(t.f.b).a); h.b;) { if (o = Uv(h), s = u(o.cd(), 594), e == 1) { if (s.gf() != (xo(), Q0) && s.gf() != X0) continue } else if (s.gf() != (xo(), Wh) && s.gf() != Af) continue; switch (r = u(u(o.dd(), 46).b, 81), d = u(u(o.dd(), 46).a, 189), n = d.c, s.gf().g) { case 2: r.g.c = t.e.a, r.g.b = b.Math.max(1, r.g.b + n); break; case 1: r.g.c = r.g.c + n, r.g.b = b.Math.max(1, r.g.b - n); break; case 4: r.g.d = t.e.b, r.g.a = b.Math.max(1, r.g.a + n); break; case 3: r.g.d = r.g.d + n, r.g.a = b.Math.max(1, r.g.a - n) } } } function Hwn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W; for (d = Ot(Br, oi, 25, e.b.c.length, 15, 1), k = Ot(Hut, se, 267, e.b.c.length, 0, 1), w = Ot(l0, $g, 10, e.b.c.length, 0, 1), L = t.a, F = 0, q = L.length; F < q; ++F) { for (_ = L[F], W = 0, h = new S(_.e); h.a < h.c.c.length;)s = u(Q(h), 10), r = N2t(s.c), ++d[r], G = Xt(xe(K(e, (Ce(), Sf)))), d[r] > 0 && w[r] && (G = G3(t.b, w[r], s)), W = b.Math.max(W, s.c.c.b + G); for (o = new S(_.e); o.a < o.c.c.length;)s = u(Q(o), 10), s.n.b = W + s.d.d, n = s.c, n.c.b = W + s.d.d + s.o.b + s.d.a, k[Qo(n.b.b, n, 0)] = s.k, w[Qo(n.b.b, n, 0)] = s } } function Pue(t, e) { var n, r, s, o, h, d, w, k, _, L, F; for (r = new pr(mr(H0(e).a.Kc(), new H)); Zr(r);)n = u(qr(r), 79), Et(St((!n.b && (n.b = new Tn(Cr, n, 4, 7)), n.b), 0), 186) || (w = Vo(u(St((!n.c && (n.c = new Tn(Cr, n, 5, 8)), n.c), 0), 82)), cC(n) || (h = e.i + e.g / 2, d = e.j + e.f / 2, _ = w.i + w.g / 2, L = w.j + w.f / 2, F = new Ra, F.a = _ - h, F.b = L - d, o = new je(F.a, F.b), h7(o, e.g, e.f), F.a -= o.a, F.b -= o.b, h = _ - F.a, d = L - F.b, k = new je(F.a, F.b), h7(k, w.g, w.f), F.a -= k.a, F.b -= k.b, _ = h + F.a, L = d + F.b, s = m4(n, !0, !0), B8(s, h), j8(s, d), F8(s, _), R8(s, L), Pue(t, w))) } function Fue(t) { Tv(t, new bb(yv(vv(mv(wv(new gg, bw), "ELK SPOrE Compaction"), "ShrinkTree is a compaction algorithm that maintains the topology of a layout. The relocation of diagram elements is based on contracting a spanning tree."), new NL))), ke(t, bw, gct, Ie(EG)), ke(t, bw, Nkt, Ie(Bht)), ke(t, bw, Pkt, Ie(Fht)), ke(t, bw, pct, Ie(BCt)), ke(t, bw, bct, Ie(Pht)), ke(t, bw, pw, FCt), ke(t, bw, yy, 8), ke(t, bw, vct, Ie(Eye)), ke(t, bw, Fkt, Ie(NCt)), ke(t, bw, Bkt, Ie(PCt)), ke(t, bw, WI, (Rn(), !1)) } function Vwn(t, e) { var n, r, s, o, h, d, w, k, _, L; for (Ar(e, "Simple node placement", 1), L = u(K(t, (ie(), Y4)), 304), d = 0, o = new S(t.b); o.a < o.c.c.length;) { for (r = u(Q(o), 29), h = r.c, h.b = 0, n = null, k = new S(r.a); k.a < k.c.c.length;)w = u(Q(k), 10), n && (h.b += r3t(w, n, L.c)), h.b += w.d.d + w.o.b + w.d.a, n = w; d = b.Math.max(d, h.b) } for (s = new S(t.b); s.a < s.c.c.length;)for (r = u(Q(s), 29), h = r.c, _ = (d - h.b) / 2, n = null, k = new S(r.a); k.a < k.c.c.length;)w = u(Q(k), 10), n && (_ += r3t(w, n, L.c)), _ += w.d.d, w.n.b = _, _ += w.o.b + w.d.a, n = w; br(e) } function Gwn(t, e, n, r) { var s, o, h, d, w, k, _, L; if (r.gc() == 0) return !1; if (w = (go(), u(e, 66).Oj()), h = w ? r : new Gv(r.gc()), V0(t.e, e)) { if (e.hi()) for (_ = r.Kc(); _.Ob();)k = _.Pb(), lq(t, e, k, Et(e, 99) && (u(e, 18).Bb & oo) != 0) || (o = Zd(e, k), h.Fc(o)); else if (!w) for (_ = r.Kc(); _.Ob();)k = _.Pb(), o = Zd(e, k), h.Fc(o) } else { for (L = gu(t.e.Tg(), e), s = u(t.g, 119), d = 0; d < t.i; ++d)if (o = s[d], L.rl(o.ak())) throw et(new Bn(tO)); if (r.gc() > 1) throw et(new Bn(tO)); w || (o = Zd(e, r.Kc().Pb()), h.Fc(o)) } return tyt(t, y4t(t, e, n), h) } function Uwn(t, e) { var n, r, s, o; for (Lsn(e.b.j), Ts(Cu(new kn(null, new Cn(e.d, 16)), new SX), new AX), o = new S(e.d); o.a < o.c.c.length;) { switch (s = u(Q(o), 101), s.e.g) { case 0: n = u(Fe(s.j, 0), 113).d.j, jB(s, u(Mv(Nj(u(ji(s.k, n), 15).Oc(), z4)), 113)), RB(s, u(Mv(Oj(u(ji(s.k, n), 15).Oc(), z4)), 113)); break; case 1: r = S3t(s), jB(s, u(Mv(Nj(u(ji(s.k, r[0]), 15).Oc(), z4)), 113)), RB(s, u(Mv(Oj(u(ji(s.k, r[1]), 15).Oc(), z4)), 113)); break; case 2: qdn(t, s); break; case 3: i2n(s); break; case 4: c2n(t, s) }Asn(s) } t.a = null } function cat(t, e, n) { var r, s, o, h, d, w, k, _; return r = t.a.o == (D1(), Y1) ? ms : Rs, d = hue(t, new fVt(e, n)), !d.a && d.c ? (pi(t.d, d), r) : d.a ? (s = d.a.c, w = d.a.d, n ? (k = t.a.c == (md(), Pw) ? w : s, o = t.a.c == Pw ? s : w, h = t.a.g[o.i.p], _ = Xt(t.a.p[h.p]) + Xt(t.a.d[o.i.p]) + o.n.b + o.a.b - Xt(t.a.d[k.i.p]) - k.n.b - k.a.b) : (k = t.a.c == (md(), Wg) ? w : s, o = t.a.c == Wg ? s : w, _ = Xt(t.a.p[t.a.g[o.i.p].p]) + Xt(t.a.d[o.i.p]) + o.n.b + o.a.b - Xt(t.a.d[k.i.p]) - k.n.b - k.a.b), t.a.n[t.a.g[s.i.p].p] = (Rn(), !0), t.a.n[t.a.g[w.i.p].p] = !0, _) : r } function dq(t, e, n) { var r, s, o, h, d, w, k, _; if (V0(t.e, e)) w = (go(), u(e, 66).Oj() ? new kj(e, t) : new DM(e, t)), Yz(w.c, w.b), s_(w, u(n, 14)); else { for (_ = gu(t.e.Tg(), e), r = u(t.g, 119), h = 0; h < t.i; ++h)if (s = r[h], o = s.ak(), _.rl(o)) { if (o == (sx(), Ux) || o == Gx) { for (k = v3t(t, e, n), d = h, k ? hy(t, h) : ++h; h < t.i;)s = r[h], o = s.ak(), o == Ux || o == Gx ? hy(t, h) : ++h; k || u(u4(t, d, Zd(e, n)), 72) } else v3t(t, e, n) ? hy(t, h) : u(u4(t, h, (go(), u(e, 66).Oj() ? u(n, 72) : Zd(e, n))), 72); return } v3t(t, e, n) || Hr(t, (go(), u(e, 66).Oj() ? u(n, 72) : Zd(e, n))) } } function Bue(t, e, n) { var r, s, o, h, d, w, k, _; return Ni(n, t.b) || (t.b = n, o = new v1, h = u(Hl(Cu(new kn(null, new Cn(n.f, 16)), o), Wm(new oe, new Or, new ur, new gn, ct(ot(xl, 1), se, 132, 0, [(j1(), Sy), Zl]))), 21), t.e = !0, t.f = !0, t.c = !0, t.d = !0, s = h.Hc((ex(), oO)), r = h.Hc(cO), s && !r && (t.f = !1), !s && r && (t.d = !1), s = h.Hc(aO), r = h.Hc(uO), s && !r && (t.c = !1), !s && r && (t.e = !1)), _ = u(t.a.Ce(e, n), 46), w = u(_.a, 19).a, k = u(_.b, 19).a, d = !1, w < 0 ? t.c || (d = !0) : t.e || (d = !0), k < 0 ? t.d || (d = !0) : t.f || (d = !0), d ? Bue(t, _, n) : _ } function Wwn(t) { var e, n, r, s; s = t.o, Pm(), t.A.dc() || Ni(t.A, N7t) ? e = s.b : (e = oI(t.f), t.A.Hc((Fl(), tN)) && !t.B.Hc((ml(), YS)) && (e = b.Math.max(e, oI(u(Ao(t.p, (we(), Wn)), 244))), e = b.Math.max(e, oI(u(Ao(t.p, jn), 244)))), n = Bee(t), n && (e = b.Math.max(e, n.b)), t.A.Hc(eN) && (t.q == (xa(), g0) || t.q == eu) && (e = b.Math.max(e, yj(u(Ao(t.b, (we(), Wn)), 124))), e = b.Math.max(e, yj(u(Ao(t.b, jn), 124))))), Re(Be(t.e.yf().We((Ti(), MG)))) ? s.b = b.Math.max(s.b, e) : s.b = e, r = t.f.i, r.d = 0, r.a = e, eat(t.f) } function Rue(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W; for (L = 0; L < e.length; L++) { for (d = t.Kc(); d.Ob();)o = u(d.Pb(), 225), o.Of(L, e); for (F = 0; F < e[L].length; F++) { for (w = t.Kc(); w.Ob();)o = u(w.Pb(), 225), o.Pf(L, F, e); for (W = e[L][F].j, q = 0; q < W.c.length; q++) { for (k = t.Kc(); k.Ob();)o = u(k.Pb(), 225), o.Qf(L, F, q, e); for (G = (An(q, W.c.length), u(W.c[q], 11)), n = 0, s = new P1(G.b); sc(s.a) || sc(s.b);)for (r = u(sc(s.a) ? Q(s.a) : Q(s.b), 17), _ = t.Kc(); _.Ob();)o = u(_.Pb(), 225), o.Nf(L, F, q, n++, r, e) } } } for (h = t.Kc(); h.Ob();)o = u(h.Pb(), 225), o.Mf() } function Kwn(t, e) { var n, r, s, o, h, d, w; for (t.b = Xt(xe(K(e, (Ce(), Q4)))), t.c = Xt(xe(K(e, Fb))), t.d = u(K(e, Flt), 336), t.a = u(K(e, jV), 275), zln(e), d = u(Hl(Qi(Qi(oc(oc(new kn(null, new Cn(e.b, 16)), new uY), new AE), new yL), new HP), nb(new Ee, new ne, new tr, ct(ot(xl, 1), se, 132, 0, [(j1(), Zl)]))), 15), s = d.Kc(); s.Ob();)n = u(s.Pb(), 17), h = u(K(n, (ie(), Ib)), 15), h.Jc(new Ic(t)), Jt(n, Ib, null); for (r = d.Kc(); r.Ob();)n = u(r.Pb(), 17), w = u(K(n, (ie(), REt)), 17), o = u(K(n, X4), 15), n4n(t, o, w), Jt(n, X4, null) } function Ywn(t) { t.b = null, t.a = null, t.o = null, t.q = null, t.v = null, t.w = null, t.B = null, t.p = null, t.Q = null, t.R = null, t.S = null, t.T = null, t.U = null, t.V = null, t.W = null, t.bb = null, t.eb = null, t.ab = null, t.H = null, t.db = null, t.c = null, t.d = null, t.f = null, t.n = null, t.r = null, t.s = null, t.u = null, t.G = null, t.J = null, t.e = null, t.j = null, t.i = null, t.g = null, t.k = null, t.t = null, t.F = null, t.I = null, t.L = null, t.M = null, t.O = null, t.P = null, t.$ = null, t.N = null, t.Z = null, t.cb = null, t.K = null, t.D = null, t.A = null, t.C = null, t._ = null, t.fb = null, t.X = null, t.Y = null, t.gb = !1, t.hb = !1 } function uat(t) { var e, n, r, s, o, h, d, w, k; return !(t.k != (Kn(), Ws) || t.j.c.length <= 1 || (o = u(K(t, (Ce(), xs)), 98), o == (xa(), eu)) || (s = (ry(), (t.q ? t.q : (pn(), pn(), u0))._b(Dw) ? r = u(K(t, Dw), 197) : r = u(K(Qa(t), mS), 197), r), s == eG) || !(s == t5 || s == J4) && (h = Xt(xe(ny(t, yS))), e = u(K(t, AO), 142), !e && (e = new Fbt(h, h, h, h)), k = uc(t, (we(), jn)), w = e.d + e.a + (k.gc() - 1) * h, w > t.o.b || (n = uc(t, Wn), d = e.d + e.a + (n.gc() - 1) * h, d > t.o.b))) } function lat(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G; if (h = t.e, w = e.e, h == 0) return e; if (w == 0) return t; if (o = t.d, d = e.d, o + d == 2) return n = Xs(t.a[0], Eo), r = Xs(e.a[0], Eo), h == w ? (_ = Wa(n, r), G = $r(_), q = $r(jm(_, 32)), q == 0 ? new Ag(h, G) : new K3(h, 2, ct(ot(Br, 1), oi, 25, 15, [G, q]))) : WD(h < 0 ? Qp(r, n) : Qp(n, r)); if (h == w) F = h, L = o >= d ? Crt(t.a, o, e.a, d) : Crt(e.a, d, t.a, o); else { if (s = o != d ? o > d ? 1 : -1 : pyt(t.a, e.a, o), s == 0) return e2(), Q7; s == 1 ? (F = h, L = Trt(t.a, o, e.a, d)) : (F = w, L = Trt(e.a, d, t.a, o)) } return k = new K3(F, L.length, L), S_(k), k } function hat(t, e, n, r, s, o, h) { var d, w, k, _, L, F, q; return L = Re(Be(K(e, (Ce(), BTt)))), F = null, o == (yo(), ll) && r.c.i == n ? F = r.c : o == lu && r.d.i == n && (F = r.d), k = h, !k || !L || F ? (_ = (we(), fc), F ? _ = F.j : H3(u(K(n, xs), 98)) && (_ = o == ll ? jn : Wn), w = Xwn(t, e, n, o, _, r), d = krt((Qa(n), r)), o == ll ? (Ua(d, u(Fe(w.j, 0), 11)), ma(d, s)) : (Ua(d, s), ma(d, u(Fe(w.j, 0), 11))), k = new Jne(r, d, w, u(K(w, (ie(), Bi)), 11), o, !F)) : (ue(k.e, r), q = b.Math.max(Xt(xe(K(k.d, Gg))), Xt(xe(K(r, Gg)))), Jt(k.d, Gg, q)), cn(t.a, r, new pj(k.d, e, o)), k } function gq(t, e) { var n, r, s, o, h, d, w, k, _, L; if (_ = null, t.d && (_ = u(Uc(t.d, e), 138)), !_) { if (o = t.a.Mh(), L = o.i, !t.d || NT(t.d) != L) { for (w = new Rr, t.d && j_(w, t.d), k = w.f.c + w.g.c, d = k; d < L; ++d)r = u(St(o, d), 138), s = Ig(t.e, r).ne(), n = u(s == null ? du(w.f, null, r) : Jv(w.g, s, r), 138), n && n != r && (s == null ? du(w.f, null, n) : Jv(w.g, s, n)); if (w.f.c + w.g.c != L) for (h = 0; h < k; ++h)r = u(St(o, h), 138), s = Ig(t.e, r).ne(), n = u(s == null ? du(w.f, null, r) : Jv(w.g, s, r), 138), n && n != r && (s == null ? du(w.f, null, n) : Jv(w.g, s, n)); t.d = w } _ = u(Uc(t.d, e), 138) } return _ } function Xwn(t, e, n, r, s, o) { var h, d, w, k, _, L; return h = null, k = r == (yo(), ll) ? o.c : o.d, w = gz(e), k.i == n ? (h = u(or(t.b, k), 10), h || (h = EI(k, u(K(n, (Ce(), xs)), 98), s, avn(k), null, k.n, k.o, w, e), Jt(h, (ie(), Bi), k), Pi(t.b, k, h))) : (h = EI((_ = new k3, L = Xt(xe(K(e, (Ce(), Sf)))) / 2, PD(_, jy, L), _), u(K(n, xs), 98), s, r == ll ? -1 : 1, null, new Ra, new je(0, 0), w, e), d = Vfn(h, n, r), Jt(h, (ie(), Bi), d), Pi(t.b, d, h)), u(K(e, (ie(), tu)), 21).Fc((ko(), Th)), H3(u(K(e, (Ce(), xs)), 98)) ? Jt(e, xs, (xa(), L9)) : Jt(e, xs, (xa(), Q1)), h } function Qwn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z; Ar(e, "Orthogonal edge routing", 1), k = Xt(xe(K(t, (Ce(), Z4)))), n = Xt(xe(K(t, Q4))), r = Xt(xe(K(t, Fb))), F = new Int(0, n), Z = 0, h = new Ca(t.b, 0), d = null, _ = null, w = null, L = null; do _ = h.b < h.d.gc() ? (ir(h.b < h.d.gc()), u(h.d.Xb(h.c = h.b++), 29)) : null, L = _ ? _.a : null, d && (U5t(d, Z), Z += d.c.a), W = d ? Z + r : Z, G = Q5t(F, t, w, L, W), s = !d || UR(w, (nq(), OO)), o = !_ || UR(L, (nq(), OO)), G > 0 ? (q = (G - 1) * n, d && (q += r), _ && (q += r), q < k && !s && !o && (q = k), Z += q) : !s && !o && (Z += k), d = _, w = L; while (_); t.f.a = Z, br(e) } function fat() { fat = J; var t; DAt = new Azt, J3e = Ot(Me, te, 2, 0, 6, 1), Q3e = O1(Q6(33, 58), Q6(1, 26)), Z3e = O1(Q6(97, 122), Q6(65, 90)), CAt = Q6(48, 57), Y3e = O1(Q3e, 0), X3e = O1(Z3e, CAt), SAt = O1(O1(0, Q6(1, 6)), Q6(33, 38)), AAt = O1(O1(CAt, Q6(65, 70)), Q6(97, 102)), t4e = O1(Y3e, Cz("-_.!~*'()")), e4e = O1(X3e, yz("-_.!~*'()")), Cz(wde), yz(wde), O1(t4e, Cz(";:@&=+$,")), O1(e4e, yz(";:@&=+$,")), LAt = Cz(":/?#"), MAt = yz(":/?#"), ZS = Cz("/?#"), JS = yz("/?#"), t = new na, t.a.zc("jar", t), t.a.zc("zip", t), t.a.zc("archive", t), KG = (pn(), new Qk(t)) } function jue(t, e) { var n, r, s, o, h, d, w, k, _, L; if (Jt(e, (Sc(), k9), 0), w = u(K(e, hG), 86), e.d.b == 0) w ? (_ = Xt(xe(K(w, Kg))) + t.a + qwt(w, e), Jt(e, Kg, _)) : Jt(e, Kg, 0); else { for (r = (o = gi(new Sp(e).a.d, 0), new p6(o)); dR(r.a);)n = u(di(r.a), 188).c, jue(t, n); d = u(ej((h = gi(new Sp(e).a.d, 0), new p6(h))), 86), L = u(wYe((s = gi(new Sp(e).a.d, 0), new p6(s))), 86), k = (Xt(xe(K(L, Kg))) + Xt(xe(K(d, Kg)))) / 2, w ? (_ = Xt(xe(K(w, Kg))) + t.a + qwt(w, e), Jt(e, Kg, _), Jt(e, k9, Xt(xe(K(e, Kg))) - k), syn(t, e)) : Jt(e, Kg, k) } } function T7(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G; d = 0, G = 0, w = e$(t.f, t.f.length), o = t.d, h = t.i, r = t.a, s = t.b; do { for (q = 0, _ = new S(t.p); _.a < _.c.c.length;)k = u(Q(_), 10), F = ile(t, k), n = !0, (t.q == (w4(), LO) || t.q == MO) && (n = Re(Be(F.b))), u(F.a, 19).a < 0 && n ? (++q, w = e$(t.f, t.f.length), t.d = t.d + u(F.a, 19).a, G += o - t.d, o = t.d + u(F.a, 19).a, h = t.i, r = zv(t.a), s = zv(t.b)) : (t.f = e$(w, w.length), t.d = o, t.a = (zr(r), r ? new Uu(r) : d8(new S(r))), t.b = (zr(s), s ? new Uu(s) : d8(new S(s))), t.i = h); ++d, L = q != 0 && Re(Be(e.Kb(new _a(pe(G), pe(d))))) } while (L) } function Zwn(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe; return h = t.f, F = e.f, d = h == (y7(), Bx) || h == PS, q = F == Bx || F == PS, w = h == n5 || h == FS, G = F == n5 || F == FS, k = h == n5 || h == Bx, W = F == n5 || F == Bx, d && q ? t.f == PS ? t : e : w && G ? t.f == FS ? t : e : k && W ? (h == n5 ? (L = t, _ = e) : (L = e, _ = t), o = (Z = n.j + n.f, bt = L.e + r.f, Lt = b.Math.max(Z, bt), Ct = Lt - b.Math.min(n.j, L.e), Pt = L.d + r.g - n.i, Pt * Ct), s = (Yt = n.i + n.g, ce = _.d + r.g, Se = b.Math.max(Yt, ce), Ge = Se - b.Math.min(n.i, _.d), Qe = _.e + r.f - n.j, Ge * Qe), o <= s ? t.f == n5 ? t : e : t.f == Bx ? t : e) : t } function Jwn(t) { var e, n, r, s, o, h, d, w, k, _, L; for (_ = t.e.a.c.length, h = new S(t.e.a); h.a < h.c.c.length;)o = u(Q(h), 121), o.j = !1; for (t.i = Ot(Br, oi, 25, _, 15, 1), t.g = Ot(Br, oi, 25, _, 15, 1), t.n = new le, s = 0, L = new le, w = new S(t.e.a); w.a < w.c.c.length;)d = u(Q(w), 121), d.d = s++, d.b.a.c.length == 0 && ue(t.n, d), Hs(L, d.g); for (e = 0, r = new S(L); r.a < r.c.c.length;)n = u(Q(r), 213), n.c = e++, n.f = !1; k = L.c.length, t.b == null || t.b.length < k ? (t.b = Ot(wa, Do, 25, k, 15, 1), t.c = Ot(Tl, o0, 25, k, 16, 1)) : LT(t.c), t.d = L, t.p = new Vet(Ym(t.d.c.length)), t.j = 1 } function tmn(t, e) { var n, r, s, o, h, d, w, k, _; if (!(e.e.c.length <= 1)) { for (t.f = e, t.d = u(K(t.f, (ZD(), Z7t)), 379), t.g = u(K(t.f, n9t), 19).a, t.e = Xt(xe(K(t.f, J7t))), t.c = Xt(xe(K(t.f, ZH))), QKt(t.b), s = new S(t.f.c); s.a < s.c.c.length;)r = u(Q(s), 282), T5t(t.b, r.c, r, null), T5t(t.b, r.d, r, null); for (d = t.f.e.c.length, t.a = K2(wa, [te, Do], [104, 25], 15, [d, d], 2), k = new S(t.f.e); k.a < k.c.c.length;)w = u(Q(k), 144), kwn(t, w, t.a[w.b]); for (t.i = K2(wa, [te, Do], [104, 25], 15, [d, d], 2), o = 0; o < d; ++o)for (h = 0; h < d; ++h)n = t.a[o][h], _ = 1 / (n * n), t.i[o][h] = _ } } function wC(t) { var e, n, r, s; if (!(t.b == null || t.b.length <= 2) && !t.a) { for (e = 0, s = 0; s < t.b.length;) { for (e != s ? (t.b[e] = t.b[s++], t.b[e + 1] = t.b[s++]) : s += 2, n = t.b[e + 1]; s < t.b.length && !(n + 1 < t.b[s]);)if (n + 1 == t.b[s]) t.b[e + 1] = t.b[s + 1], n = t.b[e + 1], s += 2; else if (n >= t.b[s + 1]) s += 2; else if (n < t.b[s + 1]) t.b[e + 1] = t.b[s + 1], n = t.b[e + 1], s += 2; else throw et(new ic("Token#compactRanges(): Internel Error: [" + t.b[e] + "," + t.b[e + 1] + "] [" + t.b[s] + "," + t.b[s + 1] + "]")); e += 2 } e != t.b.length && (r = Ot(Br, oi, 25, e, 15, 1), qc(t.b, 0, r, 0, e), t.b = r), t.a = !0 } } function emn(t, e) { var n, r, s, o, h, d, w; for (h = N6(t.a).Kc(); h.Ob();) { if (o = u(h.Pb(), 17), o.b.c.length > 0) for (r = new Uu(u(ji(t.a, o), 21)), pn(), ua(r, new Ri(e)), s = new Ca(o.b, 0); s.b < s.d.gc();) { switch (n = (ir(s.b < s.d.gc()), u(s.d.Xb(s.c = s.b++), 70)), d = -1, u(K(n, (Ce(), Fd)), 272).g) { case 1: d = r.c.length - 1; break; case 0: d = _fn(r); break; case 2: d = 0 }d != -1 && (w = (An(d, r.c.length), u(r.c[d], 243)), ue(w.b.b, n), u(K(Qa(w.b.c.i), (ie(), tu)), 21).Fc((ko(), h9)), u(K(Qa(w.b.c.i), tu), 21).Fc(l9), Ol(s), Jt(n, PEt, o)) } Ua(o, null), ma(o, null) } } function nmn(t, e) { var n, r, s, o; return n = new Rl, r = u(Hl(Cu(new kn(null, new Cn(t.f, 16)), n), Wm(new oe, new Or, new ur, new gn, ct(ot(xl, 1), se, 132, 0, [(j1(), Sy), Zl]))), 21), s = r.gc(), s = s == 2 ? 1 : 0, s == 1 && _v(GD(u(Hl(Qi(r.Lc(), new $u), Oee(fb(0), new Yn)), 162).a, 2), 0) && (s = 0), r = u(Hl(Cu(new kn(null, new Cn(e.f, 16)), n), Wm(new oe, new Or, new ur, new gn, ct(ot(xl, 1), se, 132, 0, [Sy, Zl]))), 21), o = r.gc(), o = o == 2 ? 1 : 0, o == 1 && _v(GD(u(Hl(Qi(r.Lc(), new Gi), Oee(fb(0), new Yn)), 162).a, 2), 0) && (o = 0), s < o ? -1 : s == o ? 0 : 1 } function rmn(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q; if (k = new le, !ia(t, (ie(), xlt))) return k; for (r = u(K(t, xlt), 15).Kc(); r.Ob();)e = u(r.Pb(), 10), bmn(e, t), k.c[k.c.length] = e; for (o = new S(t.b); o.a < o.c.c.length;)for (s = u(Q(o), 29), d = new S(s.a); d.a < d.c.c.length;)h = u(Q(d), 10), h.k == (Kn(), Fs) && (w = u(K(h, PV), 10), w && (_ = new zc, ac(_, h), L = u(K(h, yc), 61), Qs(_, L), F = u(Fe(w.j, 0), 11), q = new Rv, Ua(q, _), ma(q, F))); for (n = new S(k); n.a < n.c.c.length;)e = u(Q(n), 10), Fo(e, u(Fe(t.b, t.b.c.length - 1), 29)); return k } function $ue(t) { var e, n, r, s, o, h, d, w, k, _, L, F; for (e = M1(t), o = Re(Be(ze(e, (Ce(), Ry)))), _ = 0, s = 0, k = new lr((!t.e && (t.e = new Tn(aa, t, 7, 4)), t.e)); k.e != k.i.gc();)w = u(kr(k), 79), d = aw(w), h = d && o && Re(Be(ze(w, Ob))), F = Vo(u(St((!w.c && (w.c = new Tn(Cr, w, 5, 8)), w.c), 0), 82)), d && h ? ++s : d && !h ? ++_ : gs(F) == e || F == e ? ++s : ++_; for (r = new lr((!t.d && (t.d = new Tn(aa, t, 8, 5)), t.d)); r.e != r.i.gc();)n = u(kr(r), 79), d = aw(n), h = d && o && Re(Be(ze(n, Ob))), L = Vo(u(St((!n.b && (n.b = new Tn(Cr, n, 4, 7)), n.b), 0), 82)), d && h ? ++_ : d && !h ? ++s : gs(L) == e || L == e ? ++_ : ++s; return _ - s } function imn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q; if (Ar(e, "Edge splitting", 1), t.b.c.length <= 2) { br(e); return } for (o = new Ca(t.b, 0), h = (ir(o.b < o.d.gc()), u(o.d.Xb(o.c = o.b++), 29)); o.b < o.d.gc();)for (s = h, h = (ir(o.b < o.d.gc()), u(o.d.Xb(o.c = o.b++), 29)), w = new S(s.a); w.a < w.c.c.length;)for (d = u(Q(w), 10), _ = new S(d.j); _.a < _.c.c.length;)for (k = u(Q(_), 11), r = new S(k.g); r.a < r.c.c.length;)n = u(Q(r), 17), F = n.d, L = F.i.c, L != s && L != h && ece(n, (q = new q0(t), _0(q, (Kn(), ha)), Jt(q, (ie(), Bi), n), Jt(q, (Ce(), xs), (xa(), eu)), Fo(q, h), q)); br(e) } function zue(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q; if (d = e.p != null && !e.b, d || Ar(e, Yhe, 1), n = u(K(t, (ie(), Clt)), 15), h = 1 / n.gc(), e.n) for (W2(e, "ELK Layered uses the following " + n.gc() + " modules:"), q = 0, F = n.Kc(); F.Ob();)_ = u(F.Pb(), 51), r = (q < 10 ? "0" : "") + q++, W2(e, "   Slot " + r + ": " + Mp(bl(_))); for (L = n.Kc(); L.Ob();)_ = u(L.Pb(), 51), _.pf(t, Kc(e, h)); for (o = new S(t.b); o.a < o.c.c.length;)s = u(Q(o), 29), Hs(t.a, s.a), s.a.c = Ot(nr, De, 1, 0, 5, 1); for (k = new S(t.a); k.a < k.c.c.length;)w = u(Q(k), 10), Fo(w, null); t.b.c = Ot(nr, De, 1, 0, 5, 1), d || br(e) } function smn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se; r = Xt(xe(K(e, (Ce(), jTt)))), Yt = u(K(e, xS), 19).a, F = 4, s = 3, ce = 20 / Yt, q = !1, w = 0, h = Di; do { for (o = w != 1, L = w != 0, Se = 0, Z = t.a, Lt = 0, Pt = Z.length; Lt < Pt; ++Lt)G = Z[Lt], G.f = null, Uyn(t, G, o, L, r), Se += b.Math.abs(G.a); do d = Bvn(t, e); while (d); for (W = t.a, bt = 0, Ct = W.length; bt < Ct; ++bt)if (G = W[bt], n = jvt(G).a, n != 0) for (_ = new S(G.e); _.a < _.c.c.length;)k = u(Q(_), 10), k.n.b += n; w == 0 || w == 1 ? (--F, F <= 0 && (Se < h || -F > Yt) ? (w = 2, h = Di) : w == 0 ? (w = 1, h = Se) : (w = 0, h = Se)) : (q = Se >= h || h - Se < ce, h = Se, q && --s) } while (!(q && s <= 0)) } function dat(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G; for (G = new Rr, o = t.a.ec().Kc(); o.Ob();)r = u(o.Pb(), 168), Pi(G, r, n.Je(r)); for (h = (zr(t), t ? new Uu(t) : d8(t.a.ec().Kc())), ua(h, new Jn(G)), d = g$(h), w = new JR(e), q = new Rr, du(q.f, e, w); d.a.gc() != 0;) { for (k = null, _ = null, L = null, s = d.a.ec().Kc(); s.Ob();)if (r = u(s.Pb(), 168), Xt(xe(gc(qo(G.f, r)))) <= ms) { if (Il(q, r.a) && !Il(q, r.b)) { _ = r.b, L = r.a, k = r; break } if (Il(q, r.b) && !Il(q, r.a)) { _ = r.a, L = r.b, k = r; break } } if (!k) break; F = new JR(_), ue(u(gc(qo(q.f, L)), 221).a, F), du(q.f, _, F), d.a.Bc(k) != null } return w } function amn(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q; for (Ar(n, "Depth-first cycle removal", 1), L = e.a, _ = L.c.length, t.c = new le, t.d = Ot(Tl, o0, 25, _, 16, 1), t.a = Ot(Tl, o0, 25, _, 16, 1), t.b = new le, h = 0, k = new S(L); k.a < k.c.c.length;)w = u(Q(k), 10), w.p = h, S8(Zo(w)) && ue(t.c, w), ++h; for (q = new S(t.c); q.a < q.c.c.length;)F = u(Q(q), 10), E4t(t, F); for (o = 0; o < _; o++)t.d[o] || (d = (An(o, L.c.length), u(L.c[o], 10)), E4t(t, d)); for (s = new S(t.b); s.a < s.c.c.length;)r = u(Q(s), 17), lw(r, !0), Jt(e, (ie(), yO), (Rn(), !0)); t.c = null, t.d = null, t.a = null, t.b = null, br(n) } function omn(t, e) { var n, r, s, o, h, d, w; for (t.a.c = Ot(nr, De, 1, 0, 5, 1), r = gi(e.b, 0); r.b != r.d.c;)n = u(di(r), 86), n.b.b == 0 && (Jt(n, (Sc(), Gy), (Rn(), !0)), ue(t.a, n)); switch (t.a.c.length) { case 0: s = new cit(0, e, "DUMMY_ROOT"), Jt(s, (Sc(), Gy), (Rn(), !0)), Jt(s, ght, !0), pi(e.b, s); break; case 1: break; default: for (o = new cit(0, e, "SUPER_ROOT"), d = new S(t.a); d.a < d.c.c.length;)h = u(Q(d), 86), w = new uwt(o, h), Jt(w, (Sc(), ght), (Rn(), !0)), pi(o.a.a, w), pi(o.d, w), pi(h.b, w), Jt(h, Gy, !1); Jt(o, (Sc(), Gy), (Rn(), !0)), Jt(o, ght, !0), pi(e.b, o) } } function cmn(t, e) { y4(); var n, r, s, o, h, d; return o = e.c - (t.c + t.b), s = t.c - (e.c + e.b), h = t.d - (e.d + e.a), n = e.d - (t.d + t.a), r = b.Math.max(s, o), d = b.Math.max(h, n), A1(), yf(Ld), (b.Math.abs(r) <= Ld || r == 0 || isNaN(r) && isNaN(0) ? 0 : r < 0 ? -1 : r > 0 ? 1 : Cv(isNaN(r), isNaN(0))) >= 0 ^ (yf(Ld), (b.Math.abs(d) <= Ld || d == 0 || isNaN(d) && isNaN(0) ? 0 : d < 0 ? -1 : d > 0 ? 1 : Cv(isNaN(d), isNaN(0))) >= 0) ? b.Math.max(d, r) : (yf(Ld), (b.Math.abs(r) <= Ld || r == 0 || isNaN(r) && isNaN(0) ? 0 : r < 0 ? -1 : r > 0 ? 1 : Cv(isNaN(r), isNaN(0))) > 0 ? b.Math.sqrt(d * d + r * r) : -b.Math.sqrt(d * d + r * r)) } function vb(t, e) { var n, r, s, o, h, d; if (e) { if (!t.a && (t.a = new rR), t.e == 2) { nR(t.a, e); return } if (e.e == 1) { for (s = 0; s < e.em(); s++)vb(t, e.am(s)); return } if (d = t.a.a.c.length, d == 0) { nR(t.a, e); return } if (h = u(Pv(t.a, d - 1), 117), !((h.e == 0 || h.e == 10) && (e.e == 0 || e.e == 10))) { nR(t.a, e); return } o = e.e == 0 ? 2 : e.bm().length, h.e == 0 ? (n = new DT, r = h._l(), r >= oo ? So(n, Byt(r)) : m8(n, r & Ns), h = new Jnt(10, null, 0), BJe(t.a, h, d - 1)) : (n = (h.bm().length + o, new DT), So(n, h.bm())), e.e == 0 ? (r = e._l(), r >= oo ? So(n, Byt(r)) : m8(n, r & Ns)) : So(n, e.bm()), u(h, 521).b = n.a } } function que(t) { var e, n, r, s, o; return t.g != null ? t.g : t.a < 32 ? (t.g = x3n(Ou(t.f), Ms(t.e)), t.g) : (s = yat((!t.c && (t.c = RD(t.f)), t.c), 0), t.e == 0 ? s : (e = (!t.c && (t.c = RD(t.f)), t.c).e < 0 ? 2 : 1, n = s.length, r = -t.e + n - e, o = new Ap, o.a += "" + s, t.e > 0 && r >= -6 ? r >= 0 ? rD(o, n - Ms(t.e), String.fromCharCode(46)) : (o.a = $l(o.a, 0, e - 1) + "0." + IM(o.a, e - 1), rD(o, e + 1, Fh(Mb, 0, -Ms(r) - 1))) : (n - e >= 1 && (rD(o, e, String.fromCharCode(46)), ++n), rD(o, n, String.fromCharCode(69)), r > 0 && rD(o, ++n, String.fromCharCode(43)), rD(o, ++n, "" + v_(Ou(r)))), t.g = o.a, t.g)) } function umn(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z; if (!n.dc()) { for (d = 0, F = 0, r = n.Kc(), G = u(r.Pb(), 19).a; d < e.f;) { if (d == G && (F = 0, r.Ob() ? G = u(r.Pb(), 19).a : G = e.f + 1), d != F) { for (Z = u(Fe(t.b, d), 29), q = u(Fe(t.b, F), 29), W = zv(Z.a), L = new S(W); L.a < L.c.c.length;)if (_ = u(Q(L), 10), sy(_, q.a.c.length, q), F == 0) for (h = zv(Zo(_)), o = new S(h); o.a < o.c.c.length;)s = u(Q(o), 17), lw(s, !0), Jt(t, (ie(), yO), (Rn(), !0)), Kue(t, s, 1) } ++F, ++d } for (w = new Ca(t.b, 0); w.b < w.d.gc();)k = (ir(w.b < w.d.gc()), u(w.d.Xb(w.c = w.b++), 29)), k.a.c.length == 0 && Ol(w) } } function lmn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct; for (h = e.b, _ = h.o, w = h.d, r = Xt(xe(Sz(h, (Ce(), Sf)))), s = Xt(xe(Sz(h, Fx))), k = Xt(xe(Sz(h, Hlt))), d = new Ott, cvt(d, w.d, w.c, w.a, w.b), F = _bn(e, r, s, k), bt = new S(e.d); bt.a < bt.c.c.length;) { for (Z = u(Q(bt), 101), G = Z.f.a.ec().Kc(); G.Ob();)q = u(G.Pb(), 409), o = q.a, L = b1n(q), n = (Lt = new Hu, mse(q, q.c, F, Lt), q1n(q, L, F, Lt), mse(q, q.d, F, Lt), Lt), n = t.Uf(q, L, n), Nh(o.a), io(o.a, n), Ts(new kn(null, new Cn(n, 16)), new rVt(_, d)); W = Z.i, W && (i1n(Z, W, F, s), Ct = new No(W.g), c3t(_, d, Ct), $i(Ct, W.j), c3t(_, d, Ct)) } cvt(w, d.d, d.c, d.a, d.b) } function hmn(t, e, n) { var r, s, o; if (s = u(K(e, (Ce(), jV)), 275), s != (g7(), lS)) { switch (Ar(n, "Horizontal Compaction", 1), t.a = e, o = new UJt, r = new Gae((o.d = e, o.c = u(K(o.d, Y0), 218), fbn(o), ryn(o), mbn(o), o.a)), lWe(r, t.b), u(K(e, gTt), 422).g) { case 1: lqt(r, new oee(t.a)); break; default: lqt(r, (cwt(), J0e)) }switch (s.g) { case 1: uC(r); break; case 2: uC(vq(r, (xo(), Af))); break; case 3: uC(uqt(vq(uC(r), (xo(), Af)), new OE)); break; case 4: uC(uqt(vq(uC(r), (xo(), Af)), new Vd(o))); break; case 5: uC(uWe(r, r2e)) }vq(r, (xo(), Wh)), r.e = !0, $yn(o), br(n) } } function fmn(t, e, n, r, s, o, h, d) { var w, k, _, L; switch (w = N1(ct(ot(V4n, 1), De, 220, 0, [e, n, r, s])), L = null, t.b.g) { case 1: L = N1(ct(ot(fCt, 1), De, 526, 0, [new zE, new $E, new OL])); break; case 0: L = N1(ct(ot(fCt, 1), De, 526, 0, [new OL, new $E, new zE])); break; case 2: L = N1(ct(ot(fCt, 1), De, 526, 0, [new $E, new zE, new OL])) }for (_ = new S(L); _.a < _.c.c.length;)k = u(Q(_), 526), w.c.length > 1 && (w = k.mg(w, t.a, d)); return w.c.length == 1 ? u(Fe(w, w.c.length - 1), 220) : w.c.length == 2 ? Zwn((An(0, w.c.length), u(w.c[0], 220)), (An(1, w.c.length), u(w.c[1], 220)), h, o) : null } function Hue(t) { var e, n, r, s, o, h; for (Mu(t.a, new bL), n = new S(t.a); n.a < n.c.c.length;)e = u(Q(n), 221), r = ba(pc(u(t.b, 65).c), u(e.b, 65).c), Rge ? (h = u(t.b, 65).b, o = u(e.b, 65).b, b.Math.abs(r.a) >= b.Math.abs(r.b) ? (r.b = 0, o.d + o.a > h.d && o.d < h.d + h.a && mj(r, b.Math.max(h.c - (o.c + o.b), o.c - (h.c + h.b)))) : (r.a = 0, o.c + o.b > h.c && o.c < h.c + h.b && mj(r, b.Math.max(h.d - (o.d + o.a), o.d - (h.d + h.a))))) : mj(r, wue(u(t.b, 65), u(e.b, 65))), s = b.Math.sqrt(r.a * r.a + r.b * r.b), s = gse(nS, e, s, r), mj(r, s), mnt(u(e.b, 65), r), Mu(e.a, new fi(r)), u(nS.b, 65), emt(nS, P7t, e) } function dmn(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G; for (t.f = new Itt, k = 0, s = 0, h = new S(t.e.b); h.a < h.c.c.length;)for (o = u(Q(h), 29), w = new S(o.a); w.a < w.c.c.length;) { for (d = u(Q(w), 10), d.p = k++, r = new pr(mr(Gs(d).a.Kc(), new H)); Zr(r);)n = u(qr(r), 17), n.p = s++; for (e = uat(d), F = new S(d.j); F.a < F.c.c.length;)L = u(Q(F), 11), e && (G = L.a.b, G != b.Math.floor(G) && (_ = G - qv(Ou(b.Math.round(G))), L.a.b -= _)), q = L.n.b + L.a.b, q != b.Math.floor(q) && (_ = q - qv(Ou(b.Math.round(q))), L.n.b -= _) } t.g = k, t.b = s, t.i = Ot(z4n, De, 401, k, 0, 1), t.c = Ot($4n, De, 649, s, 0, 1), t.d.a.$b() } function Ir(t) { var e, n, r, s, o, h, d, w, k; if (t.ej()) if (w = t.fj(), t.i > 0) { if (e = new L2t(t.i, t.g), n = t.i, o = n < 100 ? null : new Lp(n), t.ij()) for (r = 0; r < t.i; ++r)h = t.g[r], o = t.kj(h, o); if (I_(t), s = n == 1 ? t.Zi(4, St(e, 0), null, 0, w) : t.Zi(6, e, null, -1, w), t.bj()) { for (r = new L6(e); r.e != r.i.gc();)o = t.dj(Vit(r), o); o ? (o.Ei(s), o.Fi()) : t.$i(s) } else o ? (o.Ei(s), o.Fi()) : t.$i(s) } else I_(t), t.$i(t.Zi(6, (pn(), wo), null, -1, w)); else if (t.bj()) if (t.i > 0) { for (d = t.g, k = t.i, I_(t), o = k < 100 ? null : new Lp(k), r = 0; r < k; ++r)h = d[r], o = t.dj(h, o); o && o.Fi() } else I_(t); else I_(t) } function G5t(t, e, n) { var r, s, o, h, d, w, k, _, L, F; for (qee(this), n == (jv(), w2) ? Ys(this.r, t) : Ys(this.w, t), _ = ms, k = Rs, h = e.a.ec().Kc(); h.Ob();)s = u(h.Pb(), 46), d = u(s.a, 455), r = u(s.b, 17), w = r.c, w == t && (w = r.d), d == w2 ? Ys(this.r, w) : Ys(this.w, w), F = (we(), Bu).Hc(w.j) ? Xt(xe(K(w, (ie(), g9)))) : cc(ct(ot(sa, 1), te, 8, 0, [w.i.n, w.n, w.a])).b, _ = b.Math.min(_, F), k = b.Math.max(k, F); for (L = (we(), Bu).Hc(t.j) ? Xt(xe(K(t, (ie(), g9)))) : cc(ct(ot(sa, 1), te, 8, 0, [t.i.n, t.n, t.a])).b, Fse(this, L, _, k), o = e.a.ec().Kc(); o.Ob();)s = u(o.Pb(), 46), Use(this, u(s.b, 17)); this.o = !1 } function gmn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn, yr; return n = t.l & 8191, r = t.l >> 13 | (t.m & 15) << 9, s = t.m >> 4 & 8191, o = t.m >> 17 | (t.h & 255) << 5, h = (t.h & 1048320) >> 8, d = e.l & 8191, w = e.l >> 13 | (e.m & 15) << 9, k = e.m >> 4 & 8191, _ = e.m >> 17 | (e.h & 255) << 5, L = (e.h & 1048320) >> 8, Ge = n * d, Qe = r * d, $n = s * d, Gn = o * d, yr = h * d, w != 0 && (Qe += n * w, $n += r * w, Gn += s * w, yr += o * w), k != 0 && ($n += n * k, Gn += r * k, yr += s * k), _ != 0 && (Gn += n * _, yr += r * _), L != 0 && (yr += n * L), q = Ge & yl, G = (Qe & 511) << 13, F = q + G, Z = Ge >> 22, bt = Qe >> 9, Lt = ($n & 262143) << 4, Ct = (Gn & 31) << 17, W = Z + bt + Lt + Ct, Yt = $n >> 18, ce = Gn >> 5, Se = (yr & 4095) << 8, Pt = Yt + ce + Se, W += F >> 22, F &= yl, Pt += W >> 22, W &= yl, Pt &= U0, hu(F, W, Pt) } function Vue(t) { var e, n, r, s, o, h, d; if (d = u(Fe(t.j, 0), 11), d.g.c.length != 0 && d.e.c.length != 0) throw et(new Yo("Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges.")); if (d.g.c.length != 0) { for (o = ms, n = new S(d.g); n.a < n.c.c.length;)e = u(Q(n), 17), h = e.d.i, r = u(K(h, (Ce(), UV)), 142), o = b.Math.min(o, h.n.a - r.b); return new jk(zr(o)) } if (d.e.c.length != 0) { for (s = Rs, n = new S(d.e); n.a < n.c.c.length;)e = u(Q(n), 17), h = e.c.i, r = u(K(h, (Ce(), UV)), 142), s = b.Math.max(s, h.n.a + h.o.a + r.c); return new jk(zr(s)) } return _T(), _T(), nut } function Gue(t, e) { var n, r, s, o, h, d, w; if (t.Fk()) { if (t.i > 4) if (t.wj(e)) { if (t.rk()) { if (s = u(e, 49), r = s.Ug(), w = r == t.e && (t.Dk() ? s.Og(s.Vg(), t.zk()) == t.Ak() : -1 - s.Vg() == t.aj()), t.Ek() && !w && !r && s.Zg()) { for (o = 0; o < t.i; ++o)if (n = t.Gk(u(t.g[o], 56)), qt(n) === qt(e)) return !0 } return w } else if (t.Dk() && !t.Ck()) { if (h = u(e, 56).ah(bo(u(t.ak(), 18))), qt(h) === qt(t.e)) return !0; if (h == null || !u(h, 56).kh()) return !1 } } else return !1; if (d = f7(t, e), t.Ek() && !d) { for (o = 0; o < t.i; ++o)if (s = t.Gk(u(t.g[o], 56)), qt(s) === qt(e)) return !0 } return d } else return f7(t, e) } function pmn(t, e) { var n, r, s, o, h, d, w, k, _, L, F; for (_ = new le, F = new na, h = e.b, s = 0; s < h.c.length; s++) { for (k = (An(s, h.c.length), u(h.c[s], 29)).a, _.c = Ot(nr, De, 1, 0, 5, 1), o = 0; o < k.c.length; o++)d = t.a[s][o], d.p = o, d.k == (Kn(), Jc) && (_.c[_.c.length] = d), gh(u(Fe(e.b, s), 29).a, o, d), d.j.c = Ot(nr, De, 1, 0, 5, 1), Hs(d.j, u(u(Fe(t.b, s), 15).Xb(o), 14)), D6(u(K(d, (Ce(), xs)), 98)) || Jt(d, xs, (xa(), qb)); for (r = new S(_); r.a < r.c.c.length;)n = u(Q(r), 10), L = Bbn(n), F.a.zc(L, F), F.a.zc(n, F) } for (w = F.a.ec().Kc(); w.Ob();)d = u(w.Pb(), 10), pn(), ua(d.j, (J8(), Q9t)), d.i = !0, M4t(d) } function bmn(t, e) { var n, r, s, o, h, d, w, k, _, L; if (_ = u(K(t, (ie(), yc)), 61), r = u(Fe(t.j, 0), 11), _ == (we(), Fn) ? Qs(r, Lr) : _ == Lr && Qs(r, Fn), u(K(e, (Ce(), Nb)), 174).Hc((Fl(), Hb))) { if (w = Xt(xe(K(t, m9))), k = Xt(xe(K(t, y9))), h = Xt(xe(K(t, qy))), d = u(K(e, $y), 21), d.Hc((cl(), J0))) for (n = k, L = t.o.a / 2 - r.n.a, o = new S(r.f); o.a < o.c.c.length;)s = u(Q(o), 70), s.n.b = n, s.n.a = L - s.o.a / 2, n += s.o.b + h; else if (d.Hc(E2)) for (o = new S(r.f); o.a < o.c.c.length;)s = u(Q(o), 70), s.n.a = w + t.o.a - r.n.a; Rnn(new cr((PT(), new qnt(e, !1, !1, new $P))), new bj(null, t, !1)) } } function vmn(t, e) { var n, r, s, o, h, d, w, k, _; if (e.c.length != 0) { for (pn(), vnt(e.c, e.c.length, null), s = new S(e), r = u(Q(s), 145); s.a < s.c.c.length;)n = u(Q(s), 145), mmt(r.e.c, n.e.c) && !(s3t(NUt(r.e).b, n.e.d) || s3t(NUt(n.e).b, r.e.d)) ? r = (Hs(r.k, n.k), Hs(r.b, n.b), Hs(r.c, n.c), io(r.i, n.i), Hs(r.d, n.d), Hs(r.j, n.j), o = b.Math.min(r.e.c, n.e.c), h = b.Math.min(r.e.d, n.e.d), d = b.Math.max(r.e.c + r.e.b, n.e.c + n.e.b), w = d - o, k = b.Math.max(r.e.d + r.e.a, n.e.d + n.e.a), _ = k - h, WWt(r.e, o, h, w, _), Inn(r.f, n.f), !r.a && (r.a = n.a), Hs(r.g, n.g), ue(r.g, n), r) : (uue(t, r), r = n); uue(t, r) } } function wmn(t, e, n, r) { var s, o, h, d, w, k; if (d = t.j, d == (we(), fc) && e != (xa(), Q1) && e != (xa(), k2) && (d = rue(t, n), Qs(t, d), !(t.q ? t.q : (pn(), pn(), u0))._b((Ce(), jy)) && d != fc && (t.n.a != 0 || t.n.b != 0) && Jt(t, jy, Fhn(t, d))), e == (xa(), g0)) { switch (k = 0, d.g) { case 1: case 3: o = t.i.o.a, o > 0 && (k = t.n.a / o); break; case 2: case 4: s = t.i.o.b, s > 0 && (k = t.n.b / s) }Jt(t, (ie(), Lw), k) } if (w = t.o, h = t.a, r) h.a = r.a, h.b = r.b, t.d = !0; else if (e != Q1 && e != k2 && d != fc) switch (d.g) { case 1: h.a = w.a / 2; break; case 2: h.a = w.a, h.b = w.b / 2; break; case 3: h.a = w.a / 2, h.b = w.b; break; case 4: h.b = w.b / 2 } else h.a = w.a / 2, h.b = w.b / 2 } function mC(t) { var e, n, r, s, o, h, d, w, k, _; if (t.ej()) if (_ = t.Vi(), w = t.fj(), _ > 0) if (e = new zmt(t.Gi()), n = _, o = n < 100 ? null : new Lp(n), RM(t, n, e.g), s = n == 1 ? t.Zi(4, St(e, 0), null, 0, w) : t.Zi(6, e, null, -1, w), t.bj()) { for (r = new lr(e); r.e != r.i.gc();)o = t.dj(kr(r), o); o ? (o.Ei(s), o.Fi()) : t.$i(s) } else o ? (o.Ei(s), o.Fi()) : t.$i(s); else RM(t, t.Vi(), t.Wi()), t.$i(t.Zi(6, (pn(), wo), null, -1, w)); else if (t.bj()) if (_ = t.Vi(), _ > 0) { for (d = t.Wi(), k = _, RM(t, _, d), o = k < 100 ? null : new Lp(k), r = 0; r < k; ++r)h = d[r], o = t.dj(h, o); o && o.Fi() } else RM(t, t.Vi(), t.Wi()); else RM(t, t.Vi(), t.Wi()) } function mmn(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q; for (d = new S(e); d.a < d.c.c.length;)o = u(Q(d), 233), o.e = null, o.c = 0; for (w = null, h = new S(e); h.a < h.c.c.length;)if (o = u(Q(h), 233), L = o.d[0], !(n && L.k != (Kn(), Ws))) { for (q = u(K(L, (ie(), Mx)), 15).Kc(); q.Ob();)F = u(q.Pb(), 10), (!n || F.k == (Kn(), Ws)) && ((!o.e && (o.e = new le), o.e).Fc(t.b[F.c.p][F.p]), ++t.b[F.c.p][F.p].c); if (!n && L.k == (Kn(), Ws)) { if (w) for (_ = u(ji(t.d, w), 21).Kc(); _.Ob();)for (k = u(_.Pb(), 10), s = u(ji(t.d, L), 21).Kc(); s.Ob();)r = u(s.Pb(), 10), DZe(t.b[k.c.p][k.p]).Fc(t.b[r.c.p][r.p]), ++t.b[r.c.p][r.p].c; w = L } } } function ymn(t, e) { var n, r, s, o, h, d, w, k, _; for (n = 0, _ = new le, d = new S(e); d.a < d.c.c.length;) { switch (h = u(Q(d), 11), vyt(t.b, t.d[h.p]), _.c = Ot(nr, De, 1, 0, 5, 1), h.i.k.g) { case 0: r = u(K(h, (ie(), ul)), 10), Mu(r.j, new Ajt(_)); break; case 1: VKe(oit(Qi(new kn(null, new Cn(h.i.j, 16)), new Ljt(h))), new Mjt(_)); break; case 3: s = u(K(h, (ie(), Bi)), 11), ue(_, new _a(s, pe(h.e.c.length + h.g.c.length))) }for (k = new S(_); k.a < k.c.c.length;)w = u(Q(k), 46), o = Hpt(t, u(w.a, 11)), o > t.d[h.p] && (n += jwt(t.b, o) * u(w.b, 19).a, Vp(t.a, pe(o))); for (; !AT(t.a);)bmt(t.b, u(P6(t.a), 19).a) } return n } function xmn(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q, G, W, Z; for (L = new No(u(ze(t, (Uz(), aSt)), 8)), L.a = b.Math.max(L.a - n.b - n.c, 0), L.b = b.Math.max(L.b - n.d - n.a, 0), s = xe(ze(t, rSt)), (s == null || (Pn(s), s <= 0)) && (s = 1.3), d = new le, G = new lr((!t.a && (t.a = new he(bs, t, 10, 11)), t.a)); G.e != G.i.gc();)q = u(kr(G), 33), h = new xUt(q), d.c[d.c.length] = h; switch (F = u(ze(t, zht), 311), F.g) { case 3: Z = Hvn(d, e, L.a, L.b, (k = r, Pn(s), k)); break; case 1: Z = pwn(d, e, L.a, L.b, (_ = r, Pn(s), _)); break; default: Z = Tmn(d, e, L.a, L.b, (w = r, Pn(s), w)) }o = new B$(Z), W = wat(o, e, n, L.a, L.b, r, (Pn(s), s)), hw(t, W.a, W.b, !1, !0) } function kmn(t, e) { var n, r, s, o; n = e.b, o = new Uu(n.j), s = 0, r = n.j, r.c = Ot(nr, De, 1, 0, 5, 1), Nv(u(sb(t.b, (we(), Fn), (Xv(), _w)), 15), n), s = XD(o, s, new bX, r), Nv(u(sb(t.b, Fn, d2), 15), n), s = XD(o, s, new PE, r), Nv(u(sb(t.b, Fn, Tw), 15), n), Nv(u(sb(t.b, Wn, _w), 15), n), Nv(u(sb(t.b, Wn, d2), 15), n), s = XD(o, s, new gF, r), Nv(u(sb(t.b, Wn, Tw), 15), n), Nv(u(sb(t.b, Lr, _w), 15), n), s = XD(o, s, new pF, r), Nv(u(sb(t.b, Lr, d2), 15), n), s = XD(o, s, new bF, r), Nv(u(sb(t.b, Lr, Tw), 15), n), Nv(u(sb(t.b, jn, _w), 15), n), s = XD(o, s, new mX, r), Nv(u(sb(t.b, jn, d2), 15), n), Nv(u(sb(t.b, jn, Tw), 15), n) } function Emn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W; for (Ar(e, "Layer size calculation", 1), _ = ms, k = Rs, s = !1, d = new S(t.b); d.a < d.c.c.length;)if (h = u(Q(d), 29), w = h.c, w.a = 0, w.b = 0, h.a.c.length != 0) { for (s = !0, F = new S(h.a); F.a < F.c.c.length;)L = u(Q(F), 10), G = L.o, q = L.d, w.a = b.Math.max(w.a, G.a + q.b + q.c); r = u(Fe(h.a, 0), 10), W = r.n.b - r.d.d, r.k == (Kn(), Fs) && (W -= u(K(t, (Ce(), AO)), 142).d), o = u(Fe(h.a, h.a.c.length - 1), 10), n = o.n.b + o.o.b + o.d.a, o.k == Fs && (n += u(K(t, (Ce(), AO)), 142).a), w.b = n - W, _ = b.Math.min(_, W), k = b.Math.max(k, n) } s || (_ = 0, k = 0), t.f.b = k - _, t.c.b -= _, br(e) } function U5t(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt; for (o = 0, h = 0, k = new S(t.a); k.a < k.c.c.length;)d = u(Q(k), 10), o = b.Math.max(o, d.d.b), h = b.Math.max(h, d.d.c); for (w = new S(t.a); w.a < w.c.c.length;) { switch (d = u(Q(w), 10), n = u(K(d, (Ce(), Pd)), 248), n.g) { case 1: G = 0; break; case 2: G = 1; break; case 5: G = .5; break; default: for (r = 0, L = 0, q = new S(d.j); q.a < q.c.c.length;)F = u(Q(q), 11), F.e.c.length == 0 || ++r, F.g.c.length == 0 || ++L; r + L == 0 ? G = .5 : G = L / (r + L) }Z = t.c, _ = d.o.a, bt = (Z.a - _) * G, G > .5 ? bt -= h * 2 * (G - .5) : G < .5 && (bt += o * 2 * (.5 - G)), s = d.d.b, bt < s && (bt = s), W = d.d.c, bt > Z.a - W - _ && (bt = Z.a - W - _), d.n.a = e + bt } } function Tmn(t, e, n, r, s) { var o, h, d, w, k, _, L, F, q, G, W, Z; for (d = Ot(wa, Do, 25, t.c.length, 15, 1), F = new Fj(new jF), A3t(F, t), k = 0, W = new le; F.b.c.length != 0;)if (h = u(F.b.c.length == 0 ? null : Fe(F.b, 0), 157), k > 1 && Wu(h) * Dl(h) / 2 > d[0]) { for (o = 0; o < W.c.length - 1 && Wu(h) * Dl(h) / 2 > d[o];)++o; G = new Qd(W, 0, o + 1), L = new B$(G), _ = Wu(h) / Dl(h), w = wat(L, e, new v6, n, r, s, _), $i(Xf(L.e), w), M8(d7(F, L)), q = new Qd(W, o + 1, W.c.length), A3t(F, q), W.c = Ot(nr, De, 1, 0, 5, 1), k = 0, yKt(d, d.length, 0) } else Z = F.b.c.length == 0 ? null : Fe(F.b, 0), Z != null && Yrt(F, 0), k > 0 && (d[k] = d[k - 1]), d[k] += Wu(h) * Dl(h), ++k, W.c[W.c.length] = h; return W } function _mn(t) { var e, n, r, s, o; if (r = u(K(t, (Ce(), bu)), 163), r == (mh(), g2)) { for (n = new pr(mr(Zo(t).a.Kc(), new H)); Zr(n);)if (e = u(qr(n), 17), !DZt(e)) throw et(new F3(Cot + QD(t) + "' has its layer constraint set to FIRST_SEPARATE, but has at least one incoming edge. FIRST_SEPARATE nodes must not have incoming edges.")) } else if (r == Ny) { for (o = new pr(mr(Gs(t).a.Kc(), new H)); Zr(o);)if (s = u(qr(o), 17), !DZt(s)) throw et(new F3(Cot + QD(t) + "' has its layer constraint set to LAST_SEPARATE, but has at least one outgoing edge. LAST_SEPARATE nodes must not have outgoing edges.")) } } function Cmn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G; for (Ar(e, "Label dummy removal", 1), r = Xt(xe(K(t, (Ce(), Fx)))), s = Xt(xe(K(t, qy))), k = u(K(t, Jl), 103), w = new S(t.b); w.a < w.c.c.length;)for (d = u(Q(w), 29), L = new Ca(d.a, 0); L.b < L.d.gc();)_ = (ir(L.b < L.d.gc()), u(L.d.Xb(L.c = L.b++), 10)), _.k == (Kn(), Bl) && (F = u(K(_, (ie(), Bi)), 17), G = Xt(xe(K(F, Gg))), h = qt(K(_, Dx)) === qt((Wl(), y2)), n = new No(_.n), h && (n.b += G + r), o = new je(_.o.a, _.o.b - G - r), q = u(K(_, EO), 15), k == (xo(), Q0) || k == X0 ? obn(q, n, s, o, h, k) : qon(q, n, s, o), Hs(F.b, q), gat(_, qt(K(t, Y0)) === qt((z0(), YO))), Ol(L)); br(e) } function Smn(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt; for (w = new le, o = new S(e.a); o.a < o.c.c.length;)for (s = u(Q(o), 10), d = new S(s.j); d.a < d.c.c.length;) { for (h = u(Q(d), 11), _ = null, Ct = yd(h.g), Pt = 0, Yt = Ct.length; Pt < Yt; ++Pt)Lt = Ct[Pt], G8(Lt.d.i, n) || (bt = hat(t, e, n, Lt, Lt.c, (yo(), lu), _), bt != _ && (w.c[w.c.length] = bt), bt.c && (_ = bt)); for (k = null, G = yd(h.e), W = 0, Z = G.length; W < Z; ++W)q = G[W], G8(q.c.i, n) || (bt = hat(t, e, n, q, q.d, (yo(), ll), k), bt != k && (w.c[w.c.length] = bt), bt.c && (k = bt)) } for (F = new S(w); F.a < F.c.c.length;)L = u(Q(F), 441), Qo(e.a, L.a, 0) != -1 || ue(e.a, L.a), L.c && (r.c[r.c.length] = L) } function Amn(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z; for (Ar(n, "Interactive cycle breaking", 1), L = new le, q = new S(e.a); q.a < q.c.c.length;)for (F = u(Q(q), 10), F.p = 1, G = H3t(F).a, _ = ew(F, (yo(), lu)).Kc(); _.Ob();)for (k = u(_.Pb(), 11), o = new S(k.g); o.a < o.c.c.length;)r = u(Q(o), 17), W = r.d.i, W != F && (Z = H3t(W).a, Z < G && (L.c[L.c.length] = r)); for (h = new S(L); h.a < h.c.c.length;)r = u(Q(h), 17), lw(r, !0); for (L.c = Ot(nr, De, 1, 0, 5, 1), w = new S(e.a); w.a < w.c.c.length;)d = u(Q(w), 10), d.p > 0 && Qse(t, d, L); for (s = new S(L); s.a < s.c.c.length;)r = u(Q(s), 17), lw(r, !0); L.c = Ot(nr, De, 1, 0, 5, 1), br(n) } function Uue(t, e) { var n, r, s, o, h, d, w, k, _; return k = "", e.length == 0 ? t.de(g6t, Cat, -1, -1) : (_ = oy(e), ln(_.substr(0, 3), "at ") && (_ = _.substr(3)), _ = _.replace(/\[.*?\]/g, ""), h = _.indexOf("("), h == -1 ? (h = _.indexOf("@"), h == -1 ? (k = _, _ = "") : (k = oy(_.substr(h + 1)), _ = oy(_.substr(0, h)))) : (n = _.indexOf(")", h), k = _.substr(h + 1, n - (h + 1)), _ = oy(_.substr(0, h))), h = gd(_, Nu(46)), h != -1 && (_ = _.substr(h + 1)), (_.length == 0 || ln(_, "Anonymous function")) && (_ = Cat), d = ij(k, Nu(58)), s = Hbt(k, Nu(58), d - 1), w = -1, r = -1, o = g6t, d != -1 && s != -1 && (o = k.substr(0, s), w = dUt(k.substr(s + 1, d - (s + 1))), r = dUt(k.substr(d + 1))), t.de(o, _, w, r)) } function W5t(t, e, n) { var r, s, o, h, d, w; if (e.l == 0 && e.m == 0 && e.h == 0) throw et(new aR("divide by zero")); if (t.l == 0 && t.m == 0 && t.h == 0) return n && (u2 = hu(0, 0, 0)), hu(0, 0, 0); if (e.h == MI && e.m == 0 && e.l == 0) return Hcn(t, n); if (w = !1, e.h >> 19 && (e = Y8(e), w = !w), h = _pn(e), o = !1, s = !1, r = !1, t.h == MI && t.m == 0 && t.l == 0) if (s = !0, o = !0, h == -1) t = fGt((N8(), I8t)), r = !0, w = !w; else return d = G4t(t, h), w && sit(d), n && (u2 = hu(0, 0, 0)), d; else t.h >> 19 && (o = !0, t = Y8(t), r = !0, w = !w); return h != -1 ? fon(t, h, w, o, n) : F3t(t, e) < 0 ? (n && (o ? u2 = Y8(t) : u2 = hu(t.l, t.m, t.h)), hu(0, 0, 0)) : bvn(r ? t : hu(t.l, t.m, t.h), e, w, o, s, n) } function pq(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G; if (t.e && t.c.c < t.f) throw et(new Yo("Expected " + t.f + " phases to be configured; only found " + t.c.c)); for (_ = u(Yf(t.g), 9), q = Ud(t.f), o = _, d = 0, k = o.length; d < k; ++d)r = o[d], L = u(vD(t, r.g), 246), L ? ue(q, u(fre(t, L), 123)) : q.c[q.c.length] = null; for (G = new ra, Ts(Qi(Cu(Qi(new kn(null, new Cn(q, 16)), new rZ), new Xjt(e)), new iZ), new Qjt(G)), Ul(G, t.a), n = new le, s = _, h = 0, w = s.length; h < w; ++h)r = s[h], Hs(n, Qee(t, Xj(u(vD(G, r.g), 20)))), F = u(Fe(q, r.g), 123), F && (n.c[n.c.length] = F); return Hs(n, Qee(t, Xj(u(vD(G, _[_.length - 1].g + 1), 20)))), n } function Lmn(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z; for (Ar(n, "Model order cycle breaking", 1), t.a = 0, t.b = 0, q = new le, _ = e.a.c.length, k = new S(e.a); k.a < k.c.c.length;)w = u(Q(k), 10), ia(w, (ie(), Bc)) && (_ = b.Math.max(_, u(K(w, Bc), 19).a + 1)); for (W = new S(e.a); W.a < W.c.c.length;)for (G = u(Q(W), 10), h = oae(t, G, _), F = ew(G, (yo(), lu)).Kc(); F.Ob();)for (L = u(F.Pb(), 11), o = new S(L.g); o.a < o.c.c.length;)r = u(Q(o), 17), Z = r.d.i, d = oae(t, Z, _), d < h && (q.c[q.c.length] = r); for (s = new S(q); s.a < s.c.c.length;)r = u(Q(s), 17), lw(r, !0), Jt(e, (ie(), yO), (Rn(), !0)); q.c = Ot(nr, De, 1, 0, 5, 1), br(n) } function Mmn(t, e) { var n, r, s, o, h, d, w; if (!(t.g > e.f || e.g > t.f)) { for (n = 0, r = 0, h = t.w.a.ec().Kc(); h.Ob();)s = u(h.Pb(), 11), vit(cc(ct(ot(sa, 1), te, 8, 0, [s.i.n, s.n, s.a])).b, e.g, e.f) && ++n; for (d = t.r.a.ec().Kc(); d.Ob();)s = u(d.Pb(), 11), vit(cc(ct(ot(sa, 1), te, 8, 0, [s.i.n, s.n, s.a])).b, e.g, e.f) && --n; for (w = e.w.a.ec().Kc(); w.Ob();)s = u(w.Pb(), 11), vit(cc(ct(ot(sa, 1), te, 8, 0, [s.i.n, s.n, s.a])).b, t.g, t.f) && ++r; for (o = e.r.a.ec().Kc(); o.Ob();)s = u(o.Pb(), 11), vit(cc(ct(ot(sa, 1), te, 8, 0, [s.i.n, s.n, s.a])).b, t.g, t.f) && --r; n < r ? new w$(t, e, r - n) : r < n ? new w$(e, t, n - r) : (new w$(e, t, 0), new w$(t, e, 0)) } } function Dmn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt; for (k = e.c, s = $2t(t.e), L = pd(FM(pc(j2t(t.e)), t.d * t.a, t.c * t.b), -.5), n = s.a - L.a, r = s.b - L.b, h = e.a, n = h.c - n, r = h.d - r, w = new S(k); w.a < w.c.c.length;) { switch (d = u(Q(w), 395), F = d.b, q = n + F.a, Z = r + F.b, G = Ms(q / t.a), bt = Ms(Z / t.b), o = d.a, o.g) { case 0: _ = (ex(), oO); break; case 1: _ = (ex(), aO); break; case 2: _ = (ex(), cO); break; default: _ = (ex(), uO) }o.a ? (Lt = Ms((Z + d.c) / t.b), ue(t.f, new Qbt(_, pe(bt), pe(Lt))), o == (J_(), hO) ? X8(t, 0, bt, G, Lt) : X8(t, G, bt, t.d - 1, Lt)) : (W = Ms((q + d.c) / t.a), ue(t.f, new Qbt(_, pe(G), pe(W))), o == (J_(), lO) ? X8(t, G, 0, W, bt) : X8(t, G, bt, W, t.c - 1)) } } function Imn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt; for (F = new le, s = new le, W = null, d = e.Kc(); d.Ob();)h = u(d.Pb(), 19), o = new Cp(h.a), s.c[s.c.length] = o, W && (o.d = W, W.e = o), W = o; for (Ct = swn(t), _ = 0; _ < s.c.length; ++_) { for (q = null, Z = Zwt((An(0, s.c.length), u(s.c[0], 652))), n = null, r = ms, L = 1; L < t.b.c.length; ++L)bt = Z ? b.Math.abs(Z.b - L) : b.Math.abs(L - q.b) + 1, G = q ? b.Math.abs(L - q.b) : bt + 1, G < bt ? (k = q, w = G) : (k = Z, w = bt), Lt = (Pt = Xt(xe(K(t, (Ce(), ZTt)))), Ct[L] + b.Math.pow(w, Pt)), Lt < r && (r = Lt, n = k, n.c = L), Z && L == Z.b && (q = Z, Z = MJe(Z)); n && (ue(F, pe(n.c)), n.a = !0, mcn(n)) } return pn(), vnt(F.c, F.c.length, null), F } function Omn(t) { var e, n, r, s, o, h, d, w, k, _; for (e = new $2, n = new $2, k = ln(QI, (s = dC(t.b, si), s ? Kr(e1((!s.b && (s.b = new Ml((hn(), uo), xc, s)), s.b), qh)) : null)), w = 0; w < t.i; ++w)d = u(t.g[w], 170), Et(d, 99) ? (h = u(d, 18), h.Bb & Ac ? (!(h.Bb & kd) || !k && (o = dC(h, si), (o ? Kr(e1((!o.b && (o.b = new Ml((hn(), uo), xc, o)), o.b), lH)) : null) == null)) && Hr(e, h) : (_ = bo(h), _ && _.Bb & Ac || (!(h.Bb & kd) || !k && (r = dC(h, si), (r ? Kr(e1((!r.b && (r.b = new Ml((hn(), uo), xc, r)), r.b), lH)) : null) == null)) && Hr(n, h))) : (go(), u(d, 66).Oj() && (d.Jj() || (Hr(e, d), Hr(n, d)))); Jm(e), Jm(n), t.a = u(e.g, 247), u(n.g, 247) } function Nmn(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z; for (k = wdn(e), W = u(K(e, (Ce(), vS)), 314), W != (K6(), Cx) && Oa(k, new R5), Z = u(K(e, _O), 292), Oa(k, new Ci(Z)), G = 0, _ = new le, o = new T_(k); o.a != o.b;)s = u(lz(o), 37), sle(t.c, s), F = u(K(s, (ie(), Clt)), 15), G += F.gc(), r = F.Kc(), ue(_, new _a(s, r)); for (Ar(n, "Recursive hierarchical layout", G), q = u(u(Fe(_, _.c.length - 1), 46).b, 47); q.Ob();)for (w = new S(_); w.a < w.c.c.length;)for (d = u(Q(w), 46), F = u(d.b, 47), h = u(d.a, 37); F.Ob();)if (L = u(F.Pb(), 51), Et(L, 507)) { if (h.e) break; L.pf(h, Kc(n, 1)); break } else L.pf(h, Kc(n, 1)); br(n) } function Wue(t, e) { var n, r, s, o, h, d, w, k, _, L; if (w = e.length - 1, d = (Yr(w, e.length), e.charCodeAt(w)), d == 93) { if (h = gd(e, Nu(91)), h >= 0) return s = Pcn(t, e.substr(1, h - 1)), _ = e.substr(h + 1, w - (h + 1)), M3n(t, _, s) } else { if (n = -1, B8t == null && (B8t = new RegExp("\\d")), B8t.test(String.fromCharCode(d)) && (n = Hbt(e, Nu(46), w - 1), n >= 0)) { r = u(Ert(t, Ete(t, e.substr(1, n - 1)), !1), 58), k = 0; try { k = Kl(e.substr(n + 1), $a, Di) } catch (F) { throw F = os(F), Et(F, 127) ? (o = F, et(new S$(o))) : et(F) } if (k < r.gc()) return L = r.Xb(k), Et(L, 72) && (L = u(L, 72).dd()), u(L, 56) } if (n < 0) return u(Ert(t, Ete(t, e.substr(1)), !1), 56) } return null } function E4(t, e, n) { var r, s, o, h, d, w, k, _, L; if (is(e, n) >= 0) return n; switch (Bv(Bo(t, n))) { case 2: { if (ln("", Ig(t, n.Hj()).ne())) { if (w = QM(Bo(t, n)), d = k8(Bo(t, n)), _ = Z4t(t, e, w, d), _) return _; for (s = _5t(t, e), h = 0, L = s.gc(); h < L; ++h)if (_ = u(s.Xb(h), 170), a5t(Snt(Bo(t, _)), w)) return _ } return null } case 4: { if (ln("", Ig(t, n.Hj()).ne())) { for (r = n; r; r = Dnn(Bo(t, r)))if (k = QM(Bo(t, r)), d = k8(Bo(t, r)), _ = J4t(t, e, k, d), _) return _; if (w = QM(Bo(t, n)), ln(Sb, w)) return $3t(t, e); for (o = Yst(t, e), h = 0, L = o.gc(); h < L; ++h)if (_ = u(o.Xb(h), 170), a5t(Snt(Bo(t, _)), w)) return _ } return null } default: return null } } function Pmn(t, e, n) { var r, s, o, h, d, w, k, _; if (n.gc() == 0) return !1; if (d = (go(), u(e, 66).Oj()), o = d ? n : new Gv(n.gc()), V0(t.e, e)) { if (e.hi()) for (k = n.Kc(); k.Ob();)w = k.Pb(), lq(t, e, w, Et(e, 99) && (u(e, 18).Bb & oo) != 0) || (s = Zd(e, w), o.Hc(s) || o.Fc(s)); else if (!d) for (k = n.Kc(); k.Ob();)w = k.Pb(), s = Zd(e, w), o.Fc(s) } else { if (n.gc() > 1) throw et(new Bn(tO)); for (_ = gu(t.e.Tg(), e), r = u(t.g, 119), h = 0; h < t.i; ++h)if (s = r[h], _.rl(s.ak())) { if (n.Hc(d ? s : s.dd())) return !1; for (k = n.Kc(); k.Ob();)w = k.Pb(), u(u4(t, h, d ? u(w, 72) : Zd(e, w)), 72); return !0 } d || (s = Zd(e, n.Kc().Pb()), o.Fc(s)) } return vs(t, o) } function Fmn(t, e) { var n, r, s, o, h, d, w, k, _; for (_ = new hs, d = (k = new T1(t.c).a.vc().Kc(), new _1(k)); d.a.Ob();)o = (s = u(d.a.Pb(), 42), u(s.dd(), 458)), o.b == 0 && Cs(_, o, _.c.b, _.c); for (; _.b != 0;)for (o = u(_.b == 0 ? null : (ir(_.b != 0), bh(_, _.a.a)), 458), o.a == null && (o.a = 0), r = new S(o.d); r.a < r.c.c.length;)n = u(Q(r), 654), n.b.a == null ? n.b.a = Xt(o.a) + n.a : e.o == (D1(), Bb) ? n.b.a = b.Math.min(Xt(n.b.a), Xt(o.a) + n.a) : n.b.a = b.Math.max(Xt(n.b.a), Xt(o.a) + n.a), --n.b.b, n.b.b == 0 && pi(_, n.b); for (h = (w = new T1(t.c).a.vc().Kc(), new _1(w)); h.a.Ob();)o = (s = u(h.a.Pb(), 42), u(s.dd(), 458)), e.i[o.c.p] = o.a } function Sc() { Sc = J, OS = new rs(V6t), new Ks("DEPTH", pe(0)), lG = new Ks("FAN", pe(0)), ome = new Ks($fe, pe(0)), Gy = new Ks("ROOT", (Rn(), !1)), pht = new Ks("LEFTNEIGHBOR", null), cme = new Ks("RIGHTNEIGHBOR", null), hG = new Ks("LEFTSIBLING", null), bht = new Ks("RIGHTSIBLING", null), ght = new Ks("DUMMY", !1), new Ks("LEVEL", pe(0)), O_t = new Ks("REMOVABLE_EDGES", new hs), vht = new Ks("XCOOR", pe(0)), N_t = new Ks("YCOOR", pe(0)), fG = new Ks("LEVELHEIGHT", 0), IS = new Ks("ID", ""), dG = new Ks("POSITION", pe(0)), Kg = new Ks("PRELIM", 0), k9 = new Ks("MODIFIER", 0), DS = new rs(Qhe), PO = new rs(Zhe) } function Bmn(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q, G; for (_ = n + e.c.c.a, q = new S(e.j); q.a < q.c.c.length;) { if (F = u(Q(q), 11), s = cc(ct(ot(sa, 1), te, 8, 0, [F.i.n, F.n, F.a])), e.k == (Kn(), Jc) && (d = u(K(F, (ie(), Bi)), 11), s.a = cc(ct(ot(sa, 1), te, 8, 0, [d.i.n, d.n, d.a])).a, e.n.a = s.a), h = new je(0, s.b), F.j == (we(), Wn)) h.a = _; else if (F.j == jn) h.a = n; else continue; if (G = b.Math.abs(s.a - h.a), !(G <= r && !zhn(e))) for (o = F.g.c.length + F.e.c.length > 1, k = new P1(F.b); sc(k.a) || sc(k.b);)w = u(sc(k.a) ? Q(k.a) : Q(k.b), 17), L = w.c == F ? w.d : w.c, b.Math.abs(cc(ct(ot(sa, 1), te, 8, 0, [L.i.n, L.n, L.a])).b - h.b) > 1 && L2n(t, w, h, o, F) } } function Rmn(t) { var e, n, r, s, o, h; if (s = new Ca(t.e, 0), r = new Ca(t.a, 0), t.d) for (n = 0; n < t.b; n++)ir(s.b < s.d.gc()), s.d.Xb(s.c = s.b++); else for (n = 0; n < t.b - 1; n++)ir(s.b < s.d.gc()), s.d.Xb(s.c = s.b++), Ol(s); for (e = Xt((ir(s.b < s.d.gc()), xe(s.d.Xb(s.c = s.b++)))); t.f - e > act;) { for (o = e, h = 0; b.Math.abs(e - o) < act;)++h, e = Xt((ir(s.b < s.d.gc()), xe(s.d.Xb(s.c = s.b++)))), ir(r.b < r.d.gc()), r.d.Xb(r.c = r.b++); h < t.b && (ir(s.b > 0), s.a.Xb(s.c = --s.b), ewn(t, t.b - h, o, r, s), ir(s.b < s.d.gc()), s.d.Xb(s.c = s.b++)), ir(r.b > 0), r.a.Xb(r.c = --r.b) } if (!t.d) for (n = 0; n < t.b - 1; n++)ir(s.b < s.d.gc()), s.d.Xb(s.c = s.b++), Ol(s); t.d = !0, t.c = !0 } function Vi() { Vi = J, XAt = (jpt(), Mc).b, E4e = u(St(Ut(Mc.b), 0), 34), Vb = u(St(Ut(Mc.b), 1), 34), k4e = u(St(Ut(Mc.b), 2), 34), u5 = Mc.bb, u(St(Ut(Mc.bb), 0), 34), u(St(Ut(Mc.bb), 1), 34), l5 = Mc.fb, eA = u(St(Ut(Mc.fb), 0), 34), u(St(Ut(Mc.fb), 1), 34), u(St(Ut(Mc.fb), 2), 18), zw = Mc.qb, P4e = u(St(Ut(Mc.qb), 0), 34), u(St(Ut(Mc.qb), 1), 18), u(St(Ut(Mc.qb), 2), 18), dN = u(St(Ut(Mc.qb), 3), 34), gN = u(St(Ut(Mc.qb), 4), 34), rA = u(St(Ut(Mc.qb), 6), 34), nA = u(St(Ut(Mc.qb), 5), 18), T4e = Mc.j, _4e = Mc.k, C4e = Mc.q, S4e = Mc.w, A4e = Mc.B, L4e = Mc.A, M4e = Mc.C, D4e = Mc.D, I4e = Mc._, O4e = Mc.cb, N4e = Mc.hb } function jmn(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q; t.c = 0, t.b = 0, r = 2 * e.c.a.c.length + 1; t: for (L = n.Kc(); L.Ob();) { if (_ = u(L.Pb(), 11), d = _.j == (we(), Fn) || _.j == Lr, q = 0, d) { if (F = u(K(_, (ie(), ul)), 10), !F) continue; q += vbn(t, r, _, F) } else { for (k = new S(_.g); k.a < k.c.c.length;)if (w = u(Q(k), 17), s = w.d, s.i.c == e.c) { ue(t.a, _); continue t } else q += t.g[s.p]; for (h = new S(_.e); h.a < h.c.c.length;)if (o = u(Q(h), 17), s = o.c, s.i.c == e.c) { ue(t.a, _); continue t } else q -= t.g[s.p] } _.e.c.length + _.g.c.length > 0 ? (t.f[_.p] = q / (_.e.c.length + _.g.c.length), t.c = b.Math.min(t.c, t.f[_.p]), t.b = b.Math.max(t.b, t.f[_.p])) : d && (t.f[_.p] = q) } } function $mn(t) { t.b = null, t.bb = null, t.fb = null, t.qb = null, t.a = null, t.c = null, t.d = null, t.e = null, t.f = null, t.n = null, t.M = null, t.L = null, t.Q = null, t.R = null, t.K = null, t.db = null, t.eb = null, t.g = null, t.i = null, t.j = null, t.k = null, t.gb = null, t.o = null, t.p = null, t.q = null, t.r = null, t.$ = null, t.ib = null, t.S = null, t.T = null, t.t = null, t.s = null, t.u = null, t.v = null, t.w = null, t.B = null, t.A = null, t.C = null, t.D = null, t.F = null, t.G = null, t.H = null, t.I = null, t.J = null, t.P = null, t.Z = null, t.U = null, t.V = null, t.W = null, t.X = null, t.Y = null, t._ = null, t.ab = null, t.cb = null, t.hb = null, t.nb = null, t.lb = null, t.mb = null, t.ob = null, t.pb = null, t.jb = null, t.kb = null, t.N = !1, t.O = !1 } function zmn(t, e, n) { var r, s, o, h; for (Ar(n, "Graph transformation (" + t.a + ")", 1), h = zv(e.a), o = new S(e.b); o.a < o.c.c.length;)s = u(Q(o), 29), Hs(h, s.a); if (r = u(K(e, (Ce(), mTt)), 419), r == (ED(), _V)) switch (u(K(e, Jl), 103).g) { case 2: A_(e, h); break; case 3: X_(e, h); break; case 4: t.a == (q8(), gO) ? (X_(e, h), drt(e, h)) : (drt(e, h), X_(e, h)) } else if (t.a == (q8(), gO)) switch (u(K(e, Jl), 103).g) { case 2: A_(e, h), drt(e, h); break; case 3: X_(e, h), A_(e, h); break; case 4: A_(e, h), X_(e, h) } else switch (u(K(e, Jl), 103).g) { case 2: A_(e, h), drt(e, h); break; case 3: A_(e, h), X_(e, h); break; case 4: X_(e, h), A_(e, h) }br(n) } function qmn(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W; for (k = new S0, _ = new S0, G = new S0, W = new S0, w = Xt(xe(K(e, (Ce(), Nw)))), o = Xt(xe(K(e, Sf))), d = new S(n); d.a < d.c.c.length;)if (h = u(Q(d), 10), L = u(K(h, (ie(), yc)), 61), L == (we(), Fn)) for (_.a.zc(h, _), s = new pr(mr(Zo(h).a.Kc(), new H)); Zr(s);)r = u(qr(s), 17), Ys(k, r.c.i); else if (L == Lr) for (W.a.zc(h, W), s = new pr(mr(Zo(h).a.Kc(), new H)); Zr(s);)r = u(qr(s), 17), Ys(G, r.c.i); k.a.gc() != 0 && (F = new Int(2, o), q = Q5t(F, e, k, _, -w - e.c.b), q > 0 && (t.a = w + (q - 1) * o, e.c.b += t.a, e.f.b += t.a)), G.a.gc() != 0 && (F = new Int(1, o), q = Q5t(F, e, G, W, e.f.b + w - e.c.b), q > 0 && (e.f.b += w + (q - 1) * o)) } function _7(t, e) { var n, r, s, o; o = t.F, e == null ? (t.F = null, Z8(t, null)) : (t.F = (Pn(e), e), r = gd(e, Nu(60)), r != -1 ? (s = e.substr(0, r), gd(e, Nu(46)) == -1 && !ln(s, cx) && !ln(s, GC) && !ln(s, pH) && !ln(s, UC) && !ln(s, WC) && !ln(s, KC) && !ln(s, YC) && !ln(s, XC) && (s = Ide), n = ij(e, Nu(62)), n != -1 && (s += "" + e.substr(n + 1)), Z8(t, s)) : (s = e, gd(e, Nu(46)) == -1 && (r = gd(e, Nu(91)), r != -1 && (s = e.substr(0, r)), !ln(s, cx) && !ln(s, GC) && !ln(s, pH) && !ln(s, UC) && !ln(s, WC) && !ln(s, KC) && !ln(s, YC) && !ln(s, XC) ? (s = Ide, r != -1 && (s += "" + e.substr(r))) : s = e), Z8(t, s), s == e && (t.F = t.D))), t.Db & 4 && !(t.Db & 1) && Oi(t, new la(t, 1, 5, o, e)) } function Hmn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct; if (W = e.b.c.length, !(W < 3)) { for (q = Ot(Br, oi, 25, W, 15, 1), L = 0, _ = new S(e.b); _.a < _.c.c.length;)k = u(Q(_), 29), q[L++] = k.a.c.length; for (F = new Ca(e.b, 2), r = 1; r < W - 1; r++)for (n = (ir(F.b < F.d.gc()), u(F.d.Xb(F.c = F.b++), 29)), G = new S(n.a), o = 0, d = 0, w = 0; w < q[r + 1]; w++)if (Ct = u(Q(G), 10), w == q[r + 1] - 1 || w4t(t, Ct, r + 1, r)) { for (h = q[r] - 1, w4t(t, Ct, r + 1, r) && (h = t.c.e[u(u(u(Fe(t.c.b, Ct.p), 15).Xb(0), 46).a, 10).p]); d <= w;) { if (Lt = u(Fe(n.a, d), 10), !w4t(t, Lt, r + 1, r)) for (bt = u(Fe(t.c.b, Lt.p), 15).Kc(); bt.Ob();)Z = u(bt.Pb(), 46), s = t.c.e[u(Z.a, 10).p], (s < o || s > h) && Ys(t.b, u(Z.b, 17)); ++d } o = h } } } function K5t(t, e) { var n; if (e == null || ln(e, Pu) || e.length == 0 && t.k != (Rg(), Rx)) return null; switch (t.k.g) { case 1: return Tz(e, q7) ? (Rn(), Y7) : Tz(e, xct) ? (Rn(), Lb) : null; case 2: try { return pe(Kl(e, $a, Di)) } catch (r) { if (r = os(r), Et(r, 127)) return null; throw et(r) } case 4: try { return cy(e) } catch (r) { if (r = os(r), Et(r, 127)) return null; throw et(r) } case 3: return e; case 5: return Mne(t), Fae(t, e); case 6: return Mne(t), Jgn(t, t.a, e); case 7: try { return n = hgn(t), n.Jf(e), n } catch (r) { if (r = os(r), Et(r, 32)) return null; throw et(r) } default: throw et(new Yo("Invalid type set for this layout option.")) } } function Vmn(t) { N_(); var e, n, r, s, o, h, d; for (d = new ozt, n = new S(t); n.a < n.c.c.length;)e = u(Q(n), 140), (!d.b || e.c >= d.b.c) && (d.b = e), (!d.c || e.c <= d.c.c) && (d.d = d.c, d.c = e), (!d.e || e.d >= d.e.d) && (d.e = e), (!d.f || e.d <= d.f.d) && (d.f = e); return r = new Az((K8(), Ew)), sD(t, Rpe, new Al(ct(ot(dO, 1), De, 369, 0, [r]))), h = new Az(My), sD(t, Bpe, new Al(ct(ot(dO, 1), De, 369, 0, [h]))), s = new Az(Ly), sD(t, Fpe, new Al(ct(ot(dO, 1), De, 369, 0, [s]))), o = new Az(j4), sD(t, Ppe, new Al(ct(ot(dO, 1), De, 369, 0, [o]))), Bst(r.c, Ew), Bst(s.c, Ly), Bst(o.c, j4), Bst(h.c, My), d.a.c = Ot(nr, De, 1, 0, 5, 1), Hs(d.a, r.c), Hs(d.a, ib(s.c)), Hs(d.a, o.c), Hs(d.a, ib(h.c)), d } function Y5t(t) { var e; switch (t.d) { case 1: { if (t.hj()) return t.o != -2; break } case 2: { if (t.hj()) return t.o == -2; break } case 3: case 5: case 4: case 6: case 7: return t.o > -2; default: return !1 }switch (e = t.gj(), t.p) { case 0: return e != null && Re(Be(e)) != t_(t.k, 0); case 1: return e != null && u(e, 217).a != $r(t.k) << 24 >> 24; case 2: return e != null && u(e, 172).a != ($r(t.k) & Ns); case 6: return e != null && t_(u(e, 162).a, t.k); case 5: return e != null && u(e, 19).a != $r(t.k); case 7: return e != null && u(e, 184).a != $r(t.k) << 16 >> 16; case 3: return e != null && Xt(xe(e)) != t.j; case 4: return e != null && u(e, 155).a != t.j; default: return e == null ? t.n != null : !Ni(e, t.n) } } function kI(t, e, n) { var r, s, o, h; return t.Fk() && t.Ek() && (h = Tnt(t, u(n, 56)), qt(h) !== qt(n)) ? (t.Oi(e), t.Ui(e, TJt(t, e, h)), t.rk() && (o = (s = u(n, 49), t.Dk() ? t.Bk() ? s.ih(t.b, bo(u(wn(Su(t.b), t.aj()), 18)).n, u(wn(Su(t.b), t.aj()).Yj(), 26).Bj(), null) : s.ih(t.b, is(s.Tg(), bo(u(wn(Su(t.b), t.aj()), 18))), null, null) : s.ih(t.b, -1 - t.aj(), null, null)), !u(h, 49).eh() && (o = (r = u(h, 49), t.Dk() ? t.Bk() ? r.gh(t.b, bo(u(wn(Su(t.b), t.aj()), 18)).n, u(wn(Su(t.b), t.aj()).Yj(), 26).Bj(), o) : r.gh(t.b, is(r.Tg(), bo(u(wn(Su(t.b), t.aj()), 18))), null, o) : r.gh(t.b, -1 - t.aj(), null, o))), o && o.Fi()), Ll(t.b) && t.$i(t.Zi(9, n, h, e, !1)), h) : n } function Kue(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt; for (_ = Xt(xe(K(t, (Ce(), Ow)))), r = Xt(xe(K(t, KTt))), F = new il, Jt(F, Ow, _ + r), k = e, bt = k.d, W = k.c.i, Lt = k.d.i, Z = N2t(W.c), Ct = N2t(Lt.c), s = new le, L = Z; L <= Ct; L++)d = new q0(t), _0(d, (Kn(), ha)), Jt(d, (ie(), Bi), k), Jt(d, xs, (xa(), eu)), Jt(d, XV, F), q = u(Fe(t.b, L), 29), L == Z ? sy(d, q.a.c.length - n, q) : Fo(d, q), Pt = Xt(xe(K(k, Gg))), Pt < 0 && (Pt = 0, Jt(k, Gg, Pt)), d.o.b = Pt, G = b.Math.floor(Pt / 2), h = new zc, Qs(h, (we(), jn)), ac(h, d), h.n.b = G, w = new zc, Qs(w, Wn), ac(w, d), w.n.b = G, ma(k, h), o = new Rv, Ho(o, k), Jt(o, $o, null), Ua(o, w), ma(o, bt), Whn(d, k, o), s.c[s.c.length] = o, k = o; return s } function gat(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct; for (w = u(Bg(t, (we(), jn)).Kc().Pb(), 11).e, q = u(Bg(t, Wn).Kc().Pb(), 11).g, d = w.c.length, Ct = I1(u(Fe(t.j, 0), 11)); d-- > 0;) { for (W = (An(0, w.c.length), u(w.c[0], 17)), s = (An(0, q.c.length), u(q.c[0], 17)), Lt = s.d.e, o = Qo(Lt, s, 0), Qnn(W, s.d, o), Ua(s, null), ma(s, null), G = W.a, e && pi(G, new No(Ct)), r = gi(s.a, 0); r.b != r.d.c;)n = u(di(r), 8), pi(G, new No(n)); for (bt = W.b, F = new S(s.b); F.a < F.c.c.length;)L = u(Q(F), 70), bt.c[bt.c.length] = L; if (Z = u(K(W, (Ce(), $o)), 74), h = u(K(s, $o), 74), h) for (Z || (Z = new Hu, Jt(W, $o, Z)), _ = gi(h, 0); _.b != _.d.c;)k = u(di(_), 8), pi(Z, new No(k)) } } function Yue(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q; if (n = u(Ao(t.b, e), 124), w = u(u(ji(t.r, e), 21), 84), w.dc()) { n.n.b = 0, n.n.c = 0; return } for (k = t.u.Hc((cl(), J0)), h = 0, d = w.Kc(), _ = null, L = 0, F = 0; d.Ob();)r = u(d.Pb(), 111), s = Xt(xe(r.b.We((sj(), HH)))), o = r.b.rf().a, t.A.Hc((Fl(), Hb)) && Ace(t, e), _ ? (q = F + _.d.c + t.w + r.d.b, h = b.Math.max(h, (A1(), yf(H1), b.Math.abs(L - s) <= H1 || L == s || isNaN(L) && isNaN(s) ? 0 : q / (s - L)))) : t.C && t.C.b > 0 && (h = b.Math.max(h, kee(t.C.b + r.d.b, s))), _ = r, L = s, F = o; t.C && t.C.c > 0 && (q = F + t.C.c, k && (q += _.d.c), h = b.Math.max(h, (A1(), yf(H1), b.Math.abs(L - 1) <= H1 || L == 1 || isNaN(L) && isNaN(1) ? 0 : q / (1 - L)))), n.n.b = 0, n.a.a = h } function Xue(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q; if (n = u(Ao(t.b, e), 124), w = u(u(ji(t.r, e), 21), 84), w.dc()) { n.n.d = 0, n.n.a = 0; return } for (k = t.u.Hc((cl(), J0)), h = 0, t.A.Hc((Fl(), Hb)) && Lce(t, e), d = w.Kc(), _ = null, F = 0, L = 0; d.Ob();)r = u(d.Pb(), 111), o = Xt(xe(r.b.We((sj(), HH)))), s = r.b.rf().b, _ ? (q = L + _.d.a + t.w + r.d.d, h = b.Math.max(h, (A1(), yf(H1), b.Math.abs(F - o) <= H1 || F == o || isNaN(F) && isNaN(o) ? 0 : q / (o - F)))) : t.C && t.C.d > 0 && (h = b.Math.max(h, kee(t.C.d + r.d.d, o))), _ = r, F = o, L = s; t.C && t.C.a > 0 && (q = L + t.C.a, k && (q += _.d.a), h = b.Math.max(h, (A1(), yf(H1), b.Math.abs(F - 1) <= H1 || F == 1 || isNaN(F) && isNaN(1) ? 0 : q / (1 - F)))), n.n.d = 0, n.a.b = h } function Que(t, e, n) { var r, s, o, h, d, w; for (this.g = t, d = e.d.length, w = n.d.length, this.d = Ot(l0, $g, 10, d + w, 0, 1), h = 0; h < d; h++)this.d[h] = e.d[h]; for (o = 0; o < w; o++)this.d[d + o] = n.d[o]; if (e.e) { if (this.e = GM(e.e), this.e.Mc(n), n.e) for (s = n.e.Kc(); s.Ob();)r = u(s.Pb(), 233), r != e && (this.e.Hc(r) ? --r.c : this.e.Fc(r)) } else n.e && (this.e = GM(n.e), this.e.Mc(e)); this.f = e.f + n.f, this.a = e.a + n.a, this.a > 0 ? zrt(this, this.f / this.a) : L1(e.g, e.d[0]).a != null && L1(n.g, n.d[0]).a != null ? zrt(this, (Xt(L1(e.g, e.d[0]).a) + Xt(L1(n.g, n.d[0]).a)) / 2) : L1(e.g, e.d[0]).a != null ? zrt(this, L1(e.g, e.d[0]).a) : L1(n.g, n.d[0]).a != null && zrt(this, L1(n.g, n.d[0]).a) } function Gmn(t, e) { var n, r, s, o, h, d, w, k, _, L; for (t.a = new sYt(yan(zS)), r = new S(e.a); r.a < r.c.c.length;) { for (n = u(Q(r), 841), d = new Rit(ct(ot(But, 1), De, 81, 0, [])), ue(t.a.a, d), k = new S(n.d); k.a < k.c.c.length;)w = u(Q(k), 110), _ = new cbt(t, w), Z5t(_, u(K(n.c, (ie(), Iy)), 21)), Il(t.g, n) || (Pi(t.g, n, new je(w.c, w.d)), Pi(t.f, n, _)), ue(t.a.b, _), hrt(d, _); for (h = new S(n.b); h.a < h.c.c.length;)o = u(Q(h), 594), _ = new cbt(t, o.kf()), Pi(t.b, o, new _a(d, _)), Z5t(_, u(K(n.c, (ie(), Iy)), 21)), o.hf() && (L = new u3t(t, o.hf(), 1), Z5t(L, u(K(n.c, Iy), 21)), s = new Rit(ct(ot(But, 1), De, 81, 0, [])), hrt(s, L), cn(t.c, o.gf(), new _a(d, L))) } return t.a } function Zue(t) { var e; this.a = t, e = (Kn(), ct(ot(Hut, 1), se, 267, 0, [Ws, ha, Fs, Jc, Bl, W1])).length, this.b = K2(jht, [te, gkt], [593, 146], 0, [e, e], 2), this.c = K2(jht, [te, gkt], [593, 146], 0, [e, e], 2), Qnt(this, Ws, (Ce(), Nw), Z4), z_(this, Ws, ha, Ow, Fb), tD(this, Ws, Jc, Ow), tD(this, Ws, Fs, Ow), z_(this, Ws, Bl, Nw, Z4), Qnt(this, ha, Sf, Q4), tD(this, ha, Jc, Sf), tD(this, ha, Fs, Sf), z_(this, ha, Bl, Ow, Fb), CGt(this, Jc, Sf), tD(this, Jc, Fs, Sf), tD(this, Jc, Bl, qlt), CGt(this, Fs, yS), z_(this, Fs, Bl, y9, m9), Qnt(this, Bl, Sf, Sf), Qnt(this, W1, Sf, Q4), z_(this, W1, Ws, Ow, Fb), z_(this, W1, Bl, Ow, Fb), z_(this, W1, ha, Ow, Fb) } function Umn(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z; if (h = n.ak(), Et(h, 99) && u(h, 18).Bb & oo && (F = u(n.dd(), 49), W = Xp(t.e, F), W != F)) { if (_ = Zd(h, W), a_(t, e, pst(t, e, _)), L = null, Ll(t.e) && (r = E4((Yu(), Pa), t.e.Tg(), h), r != wn(t.e.Tg(), t.c))) { for (Z = gu(t.e.Tg(), h), d = 0, o = u(t.g, 119), w = 0; w < e; ++w)s = o[w], Z.rl(s.ak()) && ++d; L = new brt(t.e, 9, r, F, W, d, !1), L.Ei(new P0(t.e, 9, t.c, n, _, e, !1)) } return G = u(h, 18), q = bo(G), q ? (L = F.ih(t.e, is(F.Tg(), q), null, L), L = u(W, 49).gh(t.e, is(W.Tg(), q), null, L)) : G.Bb & Ac && (k = -1 - is(t.e.Tg(), G), L = F.ih(t.e, k, null, null), !u(W, 49).eh() && (L = u(W, 49).gh(t.e, k, null, L))), L && L.Fi(), _ } return n } function Wmn(t) { var e, n, r, s, o, h, d, w; for (o = new S(t.a.b); o.a < o.c.c.length;)s = u(Q(o), 81), s.b.c = s.g.c, s.b.d = s.g.d; for (w = new je(ms, ms), e = new je(Rs, Rs), r = new S(t.a.b); r.a < r.c.c.length;)n = u(Q(r), 81), w.a = b.Math.min(w.a, n.g.c), w.b = b.Math.min(w.b, n.g.d), e.a = b.Math.max(e.a, n.g.c + n.g.b), e.b = b.Math.max(e.b, n.g.d + n.g.a); for (d = $j(t.c).a.nc(); d.Ob();)h = u(d.Pb(), 46), n = u(h.b, 81), w.a = b.Math.min(w.a, n.g.c), w.b = b.Math.min(w.b, n.g.d), e.a = b.Math.max(e.a, n.g.c + n.g.b), e.b = b.Math.max(e.b, n.g.d + n.g.a); t.d = lj(new je(w.a, w.b)), t.e = ba(new je(e.a, e.b), w), t.a.a.c = Ot(nr, De, 1, 0, 5, 1), t.a.b.c = Ot(nr, De, 1, 0, 5, 1) } function Kmn(t) { var e, n, r; for (s4(C2, ct(ot(R4, 1), De, 130, 0, [new kp])), n = new u6(t), r = 0; r < n.a.length; ++r)e = Km(n, r).je().a, ln(e, "layered") ? s4(C2, ct(ot(R4, 1), De, 130, 0, [new NJ])) : ln(e, "force") ? s4(C2, ct(ot(R4, 1), De, 130, 0, [new yJ])) : ln(e, "stress") ? s4(C2, ct(ot(R4, 1), De, 130, 0, [new xJ])) : ln(e, "mrtree") ? s4(C2, ct(ot(R4, 1), De, 130, 0, [new L3])) : ln(e, "radial") ? s4(C2, ct(ot(R4, 1), De, 130, 0, [new $J])) : ln(e, "disco") ? s4(C2, ct(ot(R4, 1), De, 130, 0, [new GL, new mJ])) : ln(e, "sporeOverlap") || ln(e, "sporeCompaction") ? s4(C2, ct(ot(R4, 1), De, 130, 0, [new AB])) : ln(e, "rectpacking") && s4(C2, ct(ot(R4, 1), De, 130, 0, [new MB])) } function Jue(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt; if (F = new No(t.o), bt = e.a / F.a, d = e.b / F.b, W = e.a - F.a, o = e.b - F.b, n) for (s = qt(K(t, (Ce(), xs))) === qt((xa(), eu)), G = new S(t.j); G.a < G.c.c.length;)switch (q = u(Q(G), 11), q.j.g) { case 1: s || (q.n.a *= bt); break; case 2: q.n.a += W, s || (q.n.b *= d); break; case 3: s || (q.n.a *= bt), q.n.b += o; break; case 4: s || (q.n.b *= d) }for (k = new S(t.b); k.a < k.c.c.length;)w = u(Q(k), 70), _ = w.n.a + w.o.a / 2, L = w.n.b + w.o.b / 2, Z = _ / F.a, h = L / F.b, Z + h >= 1 && (Z - h > 0 && L >= 0 ? (w.n.a += W, w.n.b += o * h) : Z - h < 0 && _ >= 0 && (w.n.a += W * Z, w.n.b += o)); t.o.a = e.a, t.o.b = e.b, Jt(t, (Ce(), Nb), (Fl(), r = u(Yf(KS), 9), new hh(r, u(pf(r, r.length), 9), 0))) } function Ymn(t, e, n, r, s, o) { var h; if (!(e == null || !Dit(e, LAt, MAt))) throw et(new Bn("invalid scheme: " + e)); if (!t && !(n != null && gd(n, Nu(35)) == -1 && n.length > 0 && (Yr(0, n.length), n.charCodeAt(0) != 47))) throw et(new Bn("invalid opaquePart: " + n)); if (t && !(e != null && gM(KG, e.toLowerCase())) && !(n == null || !Dit(n, ZS, JS))) throw et(new Bn(mde + n)); if (t && e != null && gM(KG, e.toLowerCase()) && !qfn(n)) throw et(new Bn(mde + n)); if (!Ucn(r)) throw et(new Bn("invalid device: " + r)); if (!jon(s)) throw h = s == null ? "invalid segments: null" : "invalid segment: " + Pon(s), et(new Bn(h)); if (!(o == null || gd(o, Nu(35)) == -1)) throw et(new Bn("invalid query: " + o)) } function Xmn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt; for (Ar(e, "Calculate Graph Size", 1), e.n && t && vf(e, wf(t), (Pl(), rh)), d = F7, w = F7, o = mkt, h = mkt, L = new lr((!t.a && (t.a = new he(bs, t, 10, 11)), t.a)); L.e != L.i.gc();)k = u(kr(L), 33), G = k.i, W = k.j, bt = k.g, r = k.f, s = u(ze(k, (Ti(), WO)), 142), d = b.Math.min(d, G - s.b), w = b.Math.min(w, W - s.d), o = b.Math.max(o, G + bt + s.c), h = b.Math.max(h, W + r + s.a); for (q = u(ze(t, (Ti(), $b)), 116), F = new je(d - q.b, w - q.d), _ = new lr((!t.a && (t.a = new he(bs, t, 10, 11)), t.a)); _.e != _.i.gc();)k = u(kr(_), 33), Du(k, k.i - F.a), Iu(k, k.j - F.b); Z = o - d + (q.b + q.c), n = h - w + (q.d + q.a), Kv(t, Z), Wv(t, n), e.n && t && vf(e, wf(t), (Pl(), rh)) } function tle(t) { var e, n, r, s, o, h, d, w, k, _; for (r = new le, h = new S(t.e.a); h.a < h.c.c.length;) { for (s = u(Q(h), 121), _ = 0, s.k.c = Ot(nr, De, 1, 0, 5, 1), n = new S(o4(s)); n.a < n.c.c.length;)e = u(Q(n), 213), e.f && (ue(s.k, e), ++_); _ == 1 && (r.c[r.c.length] = s) } for (o = new S(r); o.a < o.c.c.length;)for (s = u(Q(o), 121); s.k.c.length == 1;) { for (k = u(Q(new S(s.k)), 213), t.b[k.c] = k.g, d = k.d, w = k.e, n = new S(o4(s)); n.a < n.c.c.length;)e = u(Q(n), 213), Ni(e, k) || (e.f ? d == e.d || w == e.e ? t.b[k.c] -= t.b[e.c] - e.g : t.b[k.c] += t.b[e.c] - e.g : s == d ? e.d == s ? t.b[k.c] += e.g : t.b[k.c] -= e.g : e.d == s ? t.b[k.c] -= e.g : t.b[k.c] += e.g); Au(d.k, k), Au(w.k, k), d == s ? s = k.e : s = k.d } } function X5t(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G; if (e == null || e.length == 0) return null; if (o = u(Uc(t.f, e), 23), !o) { for (s = (q = new T1(t.d).a.vc().Kc(), new _1(q)); s.a.Ob();)if (n = (h = u(s.a.Pb(), 42), u(h.dd(), 23)), d = n.f, G = e.length, ln(d.substr(d.length - G, G), e) && (e.length == d.length || Ia(d, d.length - e.length - 1) == 46)) { if (o) return null; o = n } if (!o) { for (r = (F = new T1(t.d).a.vc().Kc(), new _1(F)); r.a.Ob();)if (n = (h = u(r.a.Pb(), 42), u(h.dd(), 23)), L = n.g, L != null) { for (w = L, k = 0, _ = w.length; k < _; ++k)if (d = w[k], G = e.length, ln(d.substr(d.length - G, G), e) && (e.length == d.length || Ia(d, d.length - e.length - 1) == 46)) { if (o) return null; o = n } } } o && Po(t.f, e, o) } return o } function Qmn(t, e) { var n, r, s, o, h; for (n = new Sm, h = !1, o = 0; o < e.length; o++) { if (r = (Yr(o, e.length), e.charCodeAt(o)), r == 32) { for (Lz(t, n, 0), n.a += " ", Lz(t, n, 0); o + 1 < e.length && (Yr(o + 1, e.length), e.charCodeAt(o + 1) == 32);)++o; continue } if (h) { r == 39 ? o + 1 < e.length && (Yr(o + 1, e.length), e.charCodeAt(o + 1) == 39) ? (n.a += String.fromCharCode(r), ++o) : h = !1 : n.a += String.fromCharCode(r); continue } if (gd("GyMLdkHmsSEcDahKzZv", Nu(r)) > 0) { Lz(t, n, 0), n.a += String.fromCharCode(r), s = Pun(e, o), Lz(t, n, s), o += s - 1; continue } r == 39 ? o + 1 < e.length && (Yr(o + 1, e.length), e.charCodeAt(o + 1) == 39) ? (n.a += "'", ++o) : h = !0 : n.a += String.fromCharCode(r) } Lz(t, n, 0), f1n(t) } function Zmn(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt; if (Ar(n, "Network simplex layering", 1), t.b = e, bt = u(K(e, (Ce(), xS)), 19).a * 4, Z = t.b.a, Z.c.length < 1) { br(n); return } for (o = Zbn(t, Z), W = null, s = gi(o, 0); s.b != s.d.c;) { for (r = u(di(s), 15), d = bt * Ms(b.Math.sqrt(r.gc())), h = pvn(r), Xst(Opt(hWe(Npt(ont(h), d), W), !0), Kc(n, 1)), F = t.b.b, G = new S(h.a); G.a < G.c.c.length;) { for (q = u(Q(G), 121); F.c.length <= q.e;)Rm(F, F.c.length, new Oh(t.b)); _ = u(q.f, 10), Fo(_, u(Fe(F, q.e), 29)) } if (o.b > 1) for (W = Ot(Br, oi, 25, t.b.b.c.length, 15, 1), L = 0, k = new S(t.b.b); k.a < k.c.c.length;)w = u(Q(k), 29), W[L++] = w.a.c.length } Z.c = Ot(nr, De, 1, 0, 5, 1), t.a = null, t.b = null, t.c = null, br(n) } function ele(t) { var e, n, r, s, o, h, d; for (e = 0, o = new S(t.b.a); o.a < o.c.c.length;)r = u(Q(o), 189), r.b = 0, r.c = 0; for ($se(t, 0), Iit(t, t.g), tq(t.c), Apt(t.c), n = (xo(), Wh), wI(Det(T4(wI(Det(T4(wI(T4(t.c, n)), sre(n)))), n))), T4(t.c, Wh), _it(t, t.g), Ase(t, 0), Nue(t, 0), moe(t, 1), $se(t, 1), Iit(t, t.d), tq(t.c), h = new S(t.b.a); h.a < h.c.c.length;)r = u(Q(h), 189), e += b.Math.abs(r.c); for (d = new S(t.b.a); d.a < d.c.c.length;)r = u(Q(d), 189), r.b = 0, r.c = 0; for (n = Q0, wI(Det(T4(wI(Det(T4(wI(Apt(T4(t.c, n))), sre(n)))), n))), T4(t.c, Wh), _it(t, t.d), Ase(t, 1), Nue(t, 1), moe(t, 0), Apt(t.c), s = new S(t.b.a); s.a < s.c.c.length;)r = u(Q(s), 189), e += b.Math.abs(r.c); return e } function nle(t, e) { var n, r, s, o, h, d, w, k, _; if (k = e, !(k.b == null || t.b == null)) { for (b4(t), wC(t), b4(k), wC(k), n = Ot(Br, oi, 25, t.b.length + k.b.length, 15, 1), _ = 0, r = 0, h = 0; r < t.b.length && h < k.b.length;)if (s = t.b[r], o = t.b[r + 1], d = k.b[h], w = k.b[h + 1], o < d) r += 2; else if (o >= d && s <= w) d <= s && o <= w ? (n[_++] = s, n[_++] = o, r += 2) : d <= s ? (n[_++] = s, n[_++] = w, t.b[r] = w + 1, h += 2) : o <= w ? (n[_++] = d, n[_++] = o, r += 2) : (n[_++] = d, n[_++] = w, t.b[r] = w + 1); else if (w < s) h += 2; else throw et(new ic("Token#intersectRanges(): Internal Error: [" + t.b[r] + "," + t.b[r + 1] + "] & [" + k.b[h] + "," + k.b[h + 1] + "]")); for (; r < t.b.length;)n[_++] = t.b[r++], n[_++] = t.b[r++]; t.b = Ot(Br, oi, 25, _, 15, 1), qc(n, 0, t.b, 0, _) } } function Jmn(t) { var e, n, r, s, o, h, d; for (e = new le, t.g = new le, t.d = new le, h = new ub(new vg(t.f.b).a); h.b;)o = Uv(h), ue(e, u(u(o.dd(), 46).b, 81)), Pp(u(o.cd(), 594).gf()) ? ue(t.d, u(o.dd(), 46)) : ue(t.g, u(o.dd(), 46)); for (Iit(t, t.d), Iit(t, t.g), t.c = new Rae(t.b), dWe(t.c, (Wpt(), Mpe)), _it(t, t.d), _it(t, t.g), Hs(e, t.c.a.b), t.e = new je(ms, ms), t.a = new je(Rs, Rs), r = new S(e); r.a < r.c.c.length;)n = u(Q(r), 81), t.e.a = b.Math.min(t.e.a, n.g.c), t.e.b = b.Math.min(t.e.b, n.g.d), t.a.a = b.Math.max(t.a.a, n.g.c + n.g.b), t.a.b = b.Math.max(t.a.b, n.g.d + n.g.a); Fpt(t.c, new w1), d = 0; do s = ele(t), ++d; while ((d < 2 || s > r2) && d < 10); Fpt(t.c, new vp), ele(t), jJe(t.c), Wmn(t.f) } function tyn(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z; if (Re(Be(K(n, (Ce(), Ry))))) for (d = new S(n.j); d.a < d.c.c.length;)for (h = u(Q(d), 11), F = yd(h.g), k = F, _ = 0, L = k.length; _ < L; ++_)w = k[_], o = w.d.i == n, s = o && Re(Be(K(w, Ob))), s && (G = w.c, q = u(or(t.b, G), 10), q || (q = EI(G, (xa(), Q1), G.j, -1, null, null, G.o, u(K(e, Jl), 103), e), Jt(q, (ie(), Bi), G), Pi(t.b, G, q), ue(e.a, q)), Z = w.d, W = u(or(t.b, Z), 10), W || (W = EI(Z, (xa(), Q1), Z.j, 1, null, null, Z.o, u(K(e, Jl), 103), e), Jt(W, (ie(), Bi), Z), Pi(t.b, Z, W), ue(e.a, W)), r = krt(w), Ua(r, u(Fe(q.j, 0), 11)), ma(r, u(Fe(W.j, 0), 11)), cn(t.a, w, new pj(r, e, (yo(), lu))), u(K(e, (ie(), tu)), 21).Fc((ko(), Th))) } function eyn(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G; for (Ar(n, "Label dummy switching", 1), r = u(K(e, (Ce(), qV)), 227), dan(e), s = Wgn(e, r), t.a = Ot(wa, Do, 25, e.b.c.length, 15, 1), d = (rx(), ct(ot(c9, 1), se, 227, 0, [o9, oS, a9, Dy, H4, q4])), _ = 0, q = d.length; _ < q; ++_)if (o = d[_], (o == H4 || o == q4 || o == Dy) && !u(Gu(s.a, o) ? s.b[o.g] : null, 15).dc()) { Tan(t, e); break } for (w = ct(ot(c9, 1), se, 227, 0, [o9, oS, a9, Dy, H4, q4]), L = 0, G = w.length; L < G; ++L)o = w[L], o == H4 || o == q4 || o == Dy || Gce(t, u(Gu(s.a, o) ? s.b[o.g] : null, 15)); for (h = ct(ot(c9, 1), se, 227, 0, [o9, oS, a9, Dy, H4, q4]), k = 0, F = h.length; k < F; ++k)o = h[k], (o == H4 || o == q4 || o == Dy) && Gce(t, u(Gu(s.a, o) ? s.b[o.g] : null, 15)); t.a = null, br(n) } function nyn(t, e) { var n, r, s, o, h, d, w, k, _, L, F; switch (t.k.g) { case 1: if (r = u(K(t, (ie(), Bi)), 17), n = u(K(r, OEt), 74), n ? Re(Be(K(r, K1))) && (n = FD(n)) : n = new Hu, k = u(K(t, c1), 11), k) { if (_ = cc(ct(ot(sa, 1), te, 8, 0, [k.i.n, k.n, k.a])), e <= _.a) return _.b; Cs(n, _, n.a, n.a.a) } if (L = u(K(t, Uh), 11), L) { if (F = cc(ct(ot(sa, 1), te, 8, 0, [L.i.n, L.n, L.a])), F.a <= e) return F.b; Cs(n, F, n.c.b, n.c) } if (n.b >= 2) { for (w = gi(n, 0), h = u(di(w), 8), d = u(di(w), 8); d.a < e && w.b != w.d.c;)h = d, d = u(di(w), 8); return h.b + (e - h.a) / (d.a - h.a) * (d.b - h.b) } break; case 3: switch (o = u(K(u(Fe(t.j, 0), 11), (ie(), Bi)), 11), s = o.i, o.j.g) { case 1: return s.n.b; case 3: return s.n.b + s.o.b } }return H3t(t).b } function ryn(t) { var e, n, r, s, o, h, d, w, k, _, L; for (h = new S(t.d.b); h.a < h.c.c.length;)for (o = u(Q(h), 29), w = new S(o.a); w.a < w.c.c.length;) { if (d = u(Q(w), 10), Re(Be(K(d, (Ce(), bS)))) && !S8($0(d))) { r = u(nen($0(d)), 17), _ = r.c.i, _ == d && (_ = r.d.i), L = new _a(_, ba(pc(d.n), _.n)), Pi(t.b, d, L); continue } s = new fh(d.n.a - d.d.b, d.n.b - d.d.d, d.o.a + d.d.b + d.d.c, d.o.b + d.d.d + d.d.a), e = hUt(_Ht(EHt(THt(new fpt, d), s), i2e), t.a), lUt($We(qte(new hpt, ct(ot(zH, 1), De, 57, 0, [e])), e), t.a), k = new Mtt, Pi(t.e, e, k), n = O0(new pr(mr(Zo(d).a.Kc(), new H))) - O0(new pr(mr(Gs(d).a.Kc(), new H))), n < 0 ? ND(k, !0, (xo(), Wh)) : n > 0 && ND(k, !0, (xo(), Af)), d.k == (Kn(), Fs) && AYt(k), Pi(t.f, d, e) } } function iyn(t, e, n) { var r, s, o, h, d, w, k, _, L, F; switch (Ar(n, "Node promotion heuristic", 1), t.g = e, l3n(t), t.q = u(K(e, (Ce(), Rlt)), 260), _ = u(K(t.g, NTt), 19).a, o = new YP, t.q.g) { case 2: case 1: T7(t, o); break; case 3: for (t.q = (w4(), rG), T7(t, o), w = 0, d = new S(t.a); d.a < d.c.c.length;)h = u(Q(d), 19), w = b.Math.max(w, h.a); w > t.j && (t.q = LO, T7(t, o)); break; case 4: for (t.q = (w4(), rG), T7(t, o), k = 0, s = new S(t.b); s.a < s.c.c.length;)r = xe(Q(s)), k = b.Math.max(k, (Pn(r), r)); k > t.k && (t.q = MO, T7(t, o)); break; case 6: F = Ms(b.Math.ceil(t.f.length * _ / 100)), T7(t, new Tp(F)); break; case 5: L = Ms(b.Math.ceil(t.d * _ / 100)), T7(t, new Kf(L)); break; default: T7(t, o) }Q2n(t, e), br(n) } function rle(t, e, n) { var r, s, o, h; this.j = t, this.e = J3t(t), this.o = this.j.e, this.i = !!this.o, this.p = this.i ? u(Fe(n, Qa(this.o).p), 214) : null, s = u(K(t, (ie(), tu)), 21), this.g = s.Hc((ko(), Th)), this.b = new le, this.d = new _re(this.e), h = u(K(this.j, Ix), 230), this.q = Fan(e, h, this.e), this.k = new CXt(this), o = N1(ct(ot(a2e, 1), De, 225, 0, [this, this.d, this.k, this.q])), e == (Yv(), IO) && !Re(Be(K(t, (Ce(), Py)))) ? (r = new e4t(this.e), o.c[o.c.length] = r, this.c = new Mwt(r, h, u(this.q, 402))) : e == IO && Re(Be(K(t, (Ce(), Py)))) ? (r = new e4t(this.e), o.c[o.c.length] = r, this.c = new cee(r, h, u(this.q, 402))) : this.c = new aVt(e, this), ue(o, this.c), Rue(o, this.e), this.s = $3n(this.k) } function syn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt; for (L = u(ej((h = gi(new Sp(e).a.d, 0), new p6(h))), 86), G = L ? u(K(L, (Sc(), pht)), 86) : null, s = 1; L && G;) { for (w = 0, Pt = 0, n = L, r = G, d = 0; d < s; d++)n = Lrt(n), r = Lrt(r), Pt += Xt(xe(K(n, (Sc(), k9)))), w += Xt(xe(K(r, k9))); if (Ct = Xt(xe(K(G, (Sc(), Kg)))), Lt = Xt(xe(K(L, Kg))), F = qwt(L, G), q = Ct + w + t.a + F - Lt - Pt, 0 < q) { for (k = e, _ = 0; k && k != r;)++_, k = u(K(k, hG), 86); if (k) for (bt = q / _, k = e; k != r;)Z = Xt(xe(K(k, Kg))) + q, Jt(k, Kg, Z), W = Xt(xe(K(k, k9))) + q, Jt(k, k9, W), q -= bt, k = u(K(k, hG), 86); else return } ++s, L.d.b == 0 ? L = L5t(new Sp(e), s) : L = u(ej((o = gi(new Sp(L).a.d, 0), new p6(o))), 86), G = L ? u(K(L, pht), 86) : null } } function ile(t, e) { var n, r, s, o, h, d, w, k, _, L; for (w = !0, s = 0, k = t.f[e.p], _ = e.o.b + t.n, n = t.c[e.p][2], gh(t.a, k, pe(u(Fe(t.a, k), 19).a - 1 + n)), gh(t.b, k, Xt(xe(Fe(t.b, k))) - _ + n * t.e), ++k, k >= t.i ? (++t.i, ue(t.a, pe(1)), ue(t.b, _)) : (r = t.c[e.p][1], gh(t.a, k, pe(u(Fe(t.a, k), 19).a + 1 - r)), gh(t.b, k, Xt(xe(Fe(t.b, k))) + _ - r * t.e)), (t.q == (w4(), LO) && (u(Fe(t.a, k), 19).a > t.j || u(Fe(t.a, k - 1), 19).a > t.j) || t.q == MO && (Xt(xe(Fe(t.b, k))) > t.k || Xt(xe(Fe(t.b, k - 1))) > t.k)) && (w = !1), h = new pr(mr(Zo(e).a.Kc(), new H)); Zr(h);)o = u(qr(h), 17), d = o.c.i, t.f[d.p] == k && (L = ile(t, d), s = s + u(L.a, 19).a, w = w && Re(Be(L.b))); return t.f[e.p] = k, s = s + t.c[e.p][0], new _a(pe(s), (Rn(), !!w)) } function Q5t(t, e, n, r, s) { var o, h, d, w, k, _, L, F, q, G, W, Z, bt; for (L = new Rr, h = new le, Cae(t, n, t.d.fg(), h, L), Cae(t, r, t.d.gg(), h, L), t.b = .2 * (W = poe(oc(new kn(null, new Cn(h, 16)), new IQ)), Z = poe(oc(new kn(null, new Cn(h, 16)), new OQ)), b.Math.min(W, Z)), o = 0, d = 0; d < h.c.length - 1; d++)for (w = (An(d, h.c.length), u(h.c[d], 112)), G = d + 1; G < h.c.length; G++)o += V5t(t, w, (An(G, h.c.length), u(h.c[G], 112))); for (F = u(K(e, (ie(), Ix)), 230), o >= 2 && (bt = Boe(h, !0, F), !t.e && (t.e = new zjt(t)), Bun(t.e, bt, h, t.b)), vse(h, F), xyn(h), q = -1, _ = new S(h); _.a < _.c.c.length;)k = u(Q(_), 112), !(b.Math.abs(k.s - k.c) < Cd) && (q = b.Math.max(q, k.o), t.d.dg(k, s, t.c)); return t.d.a.a.$b(), q + 1 } function sle(t, e) { var n, r, s, o, h; n = Xt(xe(K(e, (Ce(), Sf)))), n < 2 && Jt(e, Sf, 2), r = u(K(e, Jl), 103), r == (xo(), h0) && Jt(e, Jl, gz(e)), s = u(K(e, Gve), 19), s.a == 0 ? Jt(e, (ie(), Ix), new Lit) : Jt(e, (ie(), Ix), new p$(s.a)), o = Be(K(e, wS)), o == null && Jt(e, wS, (Rn(), qt(K(e, Y0)) === qt((z0(), A9)))), Ts(new kn(null, new Cn(e.a, 16)), new Ls(t)), Ts(oc(new kn(null, new Cn(e.b, 16)), new j5), new es(t)), h = new Zue(e), Jt(e, (ie(), Y4), h), u$(t.a), Yd(t.a, (so(), Nd), u(K(e, Fy), 246)), Yd(t.a, f2, u(K(e, PTt), 246)), Yd(t.a, pu, u(K(e, vS), 246)), Yd(t.a, Zc, u(K(e, KV), 246)), Yd(t.a, Go, Oan(u(K(e, Y0), 218))), bGt(t.a, J3n(e)), Jt(e, Clt, pq(t.a, e)) } function ayn(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce; return F = t.c[e], q = t.c[n], G = u(K(F, (ie(), Mx)), 15), !!G && G.gc() != 0 && G.Hc(q) || (W = F.k != (Kn(), ha) && q.k != ha, Z = u(K(F, Aw), 10), bt = u(K(q, Aw), 10), Lt = Z != bt, Ct = !!Z && Z != F || !!bt && bt != q, Pt = tst(F, (we(), Fn)), Yt = tst(q, Lr), Ct = Ct | (tst(F, Lr) || tst(q, Fn)), ce = Ct && Lt || Pt || Yt, W && ce) || F.k == (Kn(), Jc) && q.k == Ws || q.k == (Kn(), Jc) && F.k == Ws ? !1 : (_ = t.c[e], o = t.c[n], s = nse(t.e, _, o, (we(), jn)), w = nse(t.i, _, o, Wn), Zpn(t.f, _, o), k = _ne(t.b, _, o) + u(s.a, 19).a + u(w.a, 19).a + t.f.d, d = _ne(t.b, o, _) + u(s.b, 19).a + u(w.b, 19).a + t.f.b, t.a && (L = u(K(_, Bi), 11), h = u(K(o, Bi), 11), r = $ie(t.g, L, h), k += u(r.a, 19).a, d += u(r.b, 19).a), k > d) } function oyn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W; for (n = u(K(t, (Ce(), xs)), 98), h = t.f, o = t.d, d = h.a + o.b + o.c, w = 0 - o.d - t.c.b, _ = h.b + o.d + o.a - t.c.b, k = new le, L = new le, s = new S(e); s.a < s.c.c.length;) { switch (r = u(Q(s), 10), n.g) { case 1: case 2: case 3: s2n(r); break; case 4: F = u(K(r, Iw), 8), q = F ? F.a : 0, r.n.a = d * Xt(xe(K(r, (ie(), Lw)))) - q, rz(r, !0, !1); break; case 5: G = u(K(r, Iw), 8), W = G ? G.a : 0, r.n.a = Xt(xe(K(r, (ie(), Lw)))) - W, rz(r, !0, !1), h.a = b.Math.max(h.a, r.n.a + r.o.a / 2) }switch (u(K(r, (ie(), yc)), 61).g) { case 1: r.n.b = w, k.c[k.c.length] = r; break; case 3: r.n.b = _, L.c[L.c.length] = r } } switch (n.g) { case 1: case 2: Xne(k, t), Xne(L, t); break; case 3: Qne(k, t), Qne(L, t) } } function cyn(t, e) { var n, r, s, o, h, d, w, k, _, L; for (_ = new le, L = new P3, o = null, s = 0, r = 0; r < e.length; ++r)switch (n = e[r], Son(o, n) && (s = n3t(t, L, _, sG, s)), ia(n, (ie(), Aw)) && (o = u(K(n, Aw), 10)), n.k.g) { case 0: for (w = R2t(I6(uc(n, (we(), Fn)), new AF)); Wrt(w);)h = u(hmt(w), 11), t.d[h.p] = s++, _.c[_.c.length] = h; for (s = n3t(t, L, _, sG, s), k = R2t(I6(uc(n, Lr), new AF)); Wrt(k);)h = u(hmt(k), 11), t.d[h.p] = s++, _.c[_.c.length] = h; break; case 3: uc(n, M_t).dc() || (h = u(uc(n, M_t).Xb(0), 11), t.d[h.p] = s++, _.c[_.c.length] = h), uc(n, sG).dc() || Vp(L, n); break; case 1: for (d = uc(n, (we(), jn)).Kc(); d.Ob();)h = u(d.Pb(), 11), t.d[h.p] = s++, _.c[_.c.length] = h; uc(n, Wn).Jc(new oVt(L, n)) }return n3t(t, L, _, sG, s), _ } function ale(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt; for (k = ms, _ = ms, d = Rs, w = Rs, F = new S(e.i); F.a < F.c.c.length;)L = u(Q(F), 65), s = u(u(or(t.g, L.a), 46).b, 33), S1(s, L.b.c, L.b.d), k = b.Math.min(k, s.i), _ = b.Math.min(_, s.j), d = b.Math.max(d, s.i + s.g), w = b.Math.max(w, s.j + s.f); for (q = u(ze(t.c, (nI(), xye)), 116), hw(t.c, d - k + (q.b + q.c), w - _ + (q.d + q.a), !0, !0), c4t(t.c, -k + q.b, -_ + q.d), r = new lr(PYt(t.c)); r.e != r.i.gc();)n = u(kr(r), 79), h = m4(n, !0, !0), G = e0(n), Z = Zp(n), W = new je(G.i + G.g / 2, G.j + G.f / 2), o = new je(Z.i + Z.g / 2, Z.j + Z.f / 2), bt = ba(new je(o.a, o.b), W), h7(bt, G.g, G.f), $i(W, bt), Lt = ba(new je(W.a, W.b), o), h7(Lt, Z.g, Z.f), $i(o, Lt), ZR(h, W.a, W.b), QR(h, o.a, o.b) } function uyn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G; if (t.c = t.d, G = Be(K(e, (Ce(), Uve))), q = G == null || (Pn(G), G), o = u(K(e, (ie(), tu)), 21).Hc((ko(), Th)), s = u(K(e, xs), 98), n = !(s == (xa(), qb) || s == g0 || s == eu), q && (n || !o)) { for (L = new S(e.a); L.a < L.c.c.length;)k = u(Q(L), 10), k.p = 0; for (F = new le, _ = new S(e.a); _.a < _.c.c.length;)if (k = u(Q(_), 10), r = tue(t, k, null), r) { for (w = new Amt, Ho(w, e), Jt(w, Iy, u(r.b, 21)), owt(w.d, e.d), Jt(w, p9, null), d = u(r.a, 15).Kc(); d.Ob();)h = u(d.Pb(), 10), ue(w.a, h), h.a = w; F.Fc(w) } o && (qt(K(e, Nx)) === qt((Zv(), zut)) ? t.c = t.b : t.c = t.a) } else F = new Al(ct(ot(qpe, 1), efe, 37, 0, [e])); return qt(K(e, Nx)) !== qt((Zv(), $4)) && (pn(), F.ad(new zK)), F } function ole(t) { Tv(t, new bb(Bpt(lR(yv(vv(mv(wv(new gg, qg), "ELK Mr. Tree"), "Tree-based algorithm provided by the Eclipse Layout Kernel. Computes a spanning tree of the input graph and arranges all nodes according to the resulting parent-children hierarchy. I pity the fool who doesn't use Mr. Tree Layout."), new BQ), zfe), on((v7(), cft))))), ke(t, qg, pw, j_t), ke(t, qg, yy, 20), ke(t, qg, px, B7), ke(t, qg, RI, pe(1)), ke(t, qg, LC, (Rn(), !0)), ke(t, qg, WI, Ie(B_t)), ke(t, qg, L4, Ie(dme)), ke(t, qg, vx, Ie(gme)), ke(t, qg, bx, Ie(pme)), ke(t, qg, R7, Ie(fme)), ke(t, qg, MC, Ie(R_t)), ke(t, qg, j7, Ie(vme)), ke(t, qg, bkt, Ie(mme)), ke(t, qg, vkt, Ie($_t)) } function lyn(t) { t.q || (t.q = !0, t.p = vc(t, 0), t.a = vc(t, 1), Yi(t.a, 0), t.f = vc(t, 2), Yi(t.f, 1), ps(t.f, 2), t.n = vc(t, 3), ps(t.n, 3), ps(t.n, 4), ps(t.n, 5), ps(t.n, 6), t.g = vc(t, 4), Yi(t.g, 7), ps(t.g, 8), t.c = vc(t, 5), Yi(t.c, 7), Yi(t.c, 8), t.i = vc(t, 6), Yi(t.i, 9), Yi(t.i, 10), Yi(t.i, 11), Yi(t.i, 12), ps(t.i, 13), t.j = vc(t, 7), Yi(t.j, 9), t.d = vc(t, 8), Yi(t.d, 3), Yi(t.d, 4), Yi(t.d, 5), Yi(t.d, 6), ps(t.d, 7), ps(t.d, 8), ps(t.d, 9), ps(t.d, 10), t.b = vc(t, 9), ps(t.b, 0), ps(t.b, 1), t.e = vc(t, 10), ps(t.e, 1), ps(t.e, 2), ps(t.e, 3), ps(t.e, 4), Yi(t.e, 5), Yi(t.e, 6), Yi(t.e, 7), Yi(t.e, 8), Yi(t.e, 9), Yi(t.e, 10), ps(t.e, 11), t.k = vc(t, 11), ps(t.k, 0), ps(t.k, 1), t.o = mi(t, 12), t.s = mi(t, 13)) } function Z5t(t, e) { e.dc() && Wd(t.j, !0, !0, !0, !0), Ni(e, (we(), Of)) && Wd(t.j, !0, !0, !0, !1), Ni(e, _h) && Wd(t.j, !1, !0, !0, !0), Ni(e, eh) && Wd(t.j, !0, !0, !1, !0), Ni(e, Xh) && Wd(t.j, !0, !1, !0, !0), Ni(e, hl) && Wd(t.j, !1, !0, !0, !1), Ni(e, Ch) && Wd(t.j, !1, !0, !1, !0), Ni(e, nh) && Wd(t.j, !0, !1, !1, !0), Ni(e, Nf) && Wd(t.j, !0, !1, !0, !1), Ni(e, Bu) && Wd(t.j, !0, !0, !0, !0), Ni(e, vu) && Wd(t.j, !0, !0, !0, !0), Ni(e, Bu) && Wd(t.j, !0, !0, !0, !0), Ni(e, Fu) && Wd(t.j, !0, !0, !0, !0), Ni(e, Ru) && Wd(t.j, !0, !0, !0, !0), Ni(e, fl) && Wd(t.j, !0, !0, !0, !0), Ni(e, nu) && Wd(t.j, !0, !0, !0, !0) } function hyn(t, e, n, r, s) { var o, h, d, w, k, _, L, F, q, G, W, Z; for (o = new le, k = new S(r); k.a < k.c.c.length;)if (d = u(Q(k), 441), h = null, d.f == (yo(), lu)) for (G = new S(d.e); G.a < G.c.c.length;)q = u(Q(G), 17), Z = q.d.i, Qa(Z) == e ? kte(t, e, d, q, d.b, q.d) : !n || G8(Z, n) ? G1n(t, e, d, r, q) : (F = hat(t, e, n, q, d.b, lu, h), F != h && (o.c[o.c.length] = F), F.c && (h = F)); else for (L = new S(d.e); L.a < L.c.c.length;)if (_ = u(Q(L), 17), W = _.c.i, Qa(W) == e) kte(t, e, d, _, _.c, d.b); else { if (!n || G8(W, n)) continue; F = hat(t, e, n, _, d.b, ll, h), F != h && (o.c[o.c.length] = F), F.c && (h = F) } for (w = new S(o); w.a < w.c.c.length;)d = u(Q(w), 441), Qo(e.a, d.a, 0) != -1 || ue(e.a, d.a), d.c && (s.c[s.c.length] = d) } function fyn(t, e, n) { var r, s, o, h, d, w, k, _, L, F; for (k = new le, w = new S(e.a); w.a < w.c.c.length;)for (h = u(Q(w), 10), F = uc(h, (we(), Wn)).Kc(); F.Ob();)for (L = u(F.Pb(), 11), s = new S(L.g); s.a < s.c.c.length;)r = u(Q(s), 17), !(!ro(r) && r.c.i.c == r.d.i.c || ro(r) || r.d.i.c != n) && (k.c[k.c.length] = r); for (d = ib(n.a).Kc(); d.Ob();)for (h = u(d.Pb(), 10), F = uc(h, (we(), jn)).Kc(); F.Ob();)for (L = u(F.Pb(), 11), s = new S(L.e); s.a < s.c.c.length;)if (r = u(Q(s), 17), !(!ro(r) && r.c.i.c == r.d.i.c || ro(r) || r.c.i.c != e)) { for (_ = new Ca(k, k.c.length), o = (ir(_.b > 0), u(_.a.Xb(_.c = --_.b), 17)); o != r && _.b > 0;)t.a[o.p] = !0, t.a[r.p] = !0, o = (ir(_.b > 0), u(_.a.Xb(_.c = --_.b), 17)); _.b > 0 && Ol(_) } } function cle(t, e, n) { var r, s, o, h, d, w, k, _, L; if (t.a != e.Aj()) throw et(new Bn(H7 + e.ne() + mw)); if (r = Ig((Yu(), Pa), e).$k(), r) return r.Aj().Nh().Ih(r, n); if (h = Ig(Pa, e).al(), h) { if (n == null) return null; if (d = u(n, 15), d.dc()) return ""; for (L = new yg, o = d.Kc(); o.Ob();)s = o.Pb(), So(L, h.Aj().Nh().Ih(h, s)), L.a += " "; return Pet(L, L.a.length - 1) } if (_ = Ig(Pa, e).bl(), !_.dc()) { for (k = _.Kc(); k.Ob();)if (w = u(k.Pb(), 148), w.wj(n)) try { if (L = w.Aj().Nh().Ih(w, n), L != null) return L } catch (F) { if (F = os(F), !Et(F, 102)) throw et(F) } throw et(new Bn("Invalid value: '" + n + "' for datatype :" + e.ne())) } return u(e, 834).Fj(), n == null ? null : Et(n, 172) ? "" + u(n, 172).a : bl(n) == NH ? FGt(QS[0], u(n, 199)) : Jo(n) } function dyn(t) { var e, n, r, s, o, h, d, w, k, _; for (k = new hs, d = new hs, o = new S(t); o.a < o.c.c.length;)r = u(Q(o), 128), r.v = 0, r.n = r.i.c.length, r.u = r.t.c.length, r.n == 0 && Cs(k, r, k.c.b, k.c), r.u == 0 && r.r.a.gc() == 0 && Cs(d, r, d.c.b, d.c); for (h = -1; k.b != 0;)for (r = u(cst(k, 0), 128), n = new S(r.t); n.a < n.c.c.length;)e = u(Q(n), 268), _ = e.b, _.v = b.Math.max(_.v, r.v + 1), h = b.Math.max(h, _.v), --_.n, _.n == 0 && Cs(k, _, k.c.b, k.c); if (h > -1) { for (s = gi(d, 0); s.b != s.d.c;)r = u(di(s), 128), r.v = h; for (; d.b != 0;)for (r = u(cst(d, 0), 128), n = new S(r.i); n.a < n.c.c.length;)e = u(Q(n), 268), w = e.a, w.r.a.gc() == 0 && (w.v = b.Math.min(w.v, r.v - 1), --w.u, w.u == 0 && Cs(d, w, d.c.b, d.c)) } } function ule(t, e, n, r, s) { var o, h, d, w; return w = ms, h = !1, d = q5t(t, ba(new je(e.a, e.b), t), $i(new je(n.a, n.b), s), ba(new je(r.a, r.b), n)), o = !!d && !(b.Math.abs(d.a - t.a) <= vw && b.Math.abs(d.b - t.b) <= vw || b.Math.abs(d.a - e.a) <= vw && b.Math.abs(d.b - e.b) <= vw), d = q5t(t, ba(new je(e.a, e.b), t), n, s), d && ((b.Math.abs(d.a - t.a) <= vw && b.Math.abs(d.b - t.b) <= vw) == (b.Math.abs(d.a - e.a) <= vw && b.Math.abs(d.b - e.b) <= vw) || o ? w = b.Math.min(w, k_(ba(d, n))) : h = !0), d = q5t(t, ba(new je(e.a, e.b), t), r, s), d && (h || (b.Math.abs(d.a - t.a) <= vw && b.Math.abs(d.b - t.b) <= vw) == (b.Math.abs(d.a - e.a) <= vw && b.Math.abs(d.b - e.b) <= vw) || o) && (w = b.Math.min(w, k_(ba(d, r)))), w } function lle(t) { Tv(t, new bb(lR(yv(vv(mv(wv(new gg, s2), Jhe), "Minimizes the stress within a layout using stress majorization. Stress exists if the euclidean distance between a pair of nodes doesn't match their graph theoretic distance, that is, the shortest path between the two nodes. The method allows to specify individual edge lengths."), new ah), Xl))), ke(t, s2, jI, Ie(e9t)), ke(t, s2, Pq, (Rn(), !0)), ke(t, s2, L4, Ie(xpe)), ke(t, s2, vx, Ie(kpe)), ke(t, s2, bx, Ie(Epe)), ke(t, s2, R7, Ie(ype)), ke(t, s2, MC, Ie(r9t)), ke(t, s2, j7, Ie(Tpe)), ke(t, s2, G6t, Ie(t9t)), ke(t, s2, W6t, Ie(Z7t)), ke(t, s2, K6t, Ie(J7t)), ke(t, s2, Y6t, Ie(n9t)), ke(t, s2, U6t, Ie(ZH)) } function gyn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt; for (Ar(e, "Interactive crossing minimization", 1), h = 0, o = new S(t.b); o.a < o.c.c.length;)r = u(Q(o), 29), r.p = h++; for (F = J3t(t), Z = new Rpt(F.length), Rue(new Al(ct(ot(a2e, 1), De, 225, 0, [Z])), F), W = 0, h = 0, s = new S(t.b); s.a < s.c.c.length;) { for (r = u(Q(s), 29), n = 0, L = 0, _ = new S(r.a); _.a < _.c.c.length;)for (w = u(Q(_), 10), w.n.a > 0 && (n += w.n.a + w.o.a / 2, ++L), G = new S(w.j); G.a < G.c.c.length;)q = u(Q(G), 11), q.p = W++; for (L > 0 && (n /= L), bt = Ot(wa, Do, 25, r.a.c.length, 15, 1), d = 0, k = new S(r.a); k.a < k.c.c.length;)w = u(Q(k), 10), w.p = d++, bt[w.p] = nyn(w, n), w.k == (Kn(), ha) && Jt(w, (ie(), NEt), bt[w.p]); pn(), ua(r.a, new mjt(bt)), Kce(Z, F, h, !0), ++h } br(e) } function yC(t, e) { var n, r, s, o, h, d, w, k, _; if (e.e == 5) { nle(t, e); return } if (k = e, !(k.b == null || t.b == null)) { for (b4(t), wC(t), b4(k), wC(k), n = Ot(Br, oi, 25, t.b.length + k.b.length, 15, 1), _ = 0, r = 0, h = 0; r < t.b.length && h < k.b.length;)if (s = t.b[r], o = t.b[r + 1], d = k.b[h], w = k.b[h + 1], o < d) n[_++] = t.b[r++], n[_++] = t.b[r++]; else if (o >= d && s <= w) d <= s && o <= w ? r += 2 : d <= s ? (t.b[r] = w + 1, h += 2) : o <= w ? (n[_++] = s, n[_++] = d - 1, r += 2) : (n[_++] = s, n[_++] = d - 1, t.b[r] = w + 1, h += 2); else if (w < s) h += 2; else throw et(new ic("Token#subtractRanges(): Internal Error: [" + t.b[r] + "," + t.b[r + 1] + "] - [" + k.b[h] + "," + k.b[h + 1] + "]")); for (; r < t.b.length;)n[_++] = t.b[r++], n[_++] = t.b[r++]; t.b = Ot(Br, oi, 25, _, 15, 1), qc(n, 0, t.b, 0, _) } } function pyn(t) { var e, n, r, s, o, h, d; if (!t.A.dc()) { if (t.A.Hc((Fl(), eN)) && (u(Ao(t.b, (we(), Fn)), 124).k = !0, u(Ao(t.b, Lr), 124).k = !0, e = t.q != (xa(), g0) && t.q != eu, tM(u(Ao(t.b, Wn), 124), e), tM(u(Ao(t.b, jn), 124), e), tM(t.g, e), t.A.Hc(Hb) && (u(Ao(t.b, Fn), 124).j = !0, u(Ao(t.b, Lr), 124).j = !0, u(Ao(t.b, Wn), 124).k = !0, u(Ao(t.b, jn), 124).k = !0, t.g.k = !0)), t.A.Hc(tN)) for (t.a.j = !0, t.a.k = !0, t.g.j = !0, t.g.k = !0, d = t.B.Hc((ml(), YS)), s = zit(), o = 0, h = s.length; o < h; ++o)r = s[o], n = u(Ao(t.i, r), 306), n && (o3t(r) ? (n.j = !0, n.k = !0) : (n.j = !d, n.k = !d)); t.A.Hc(Ky) && t.B.Hc((ml(), rN)) && (t.g.j = !0, t.g.j = !0, t.a.j || (t.a.j = !0, t.a.k = !0, t.a.e = !0)) } } function byn(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt; for (r = new S(t.e.b); r.a < r.c.c.length;)for (n = u(Q(r), 29), o = new S(n.a); o.a < o.c.c.length;)if (s = u(Q(o), 10), q = t.i[s.p], k = q.a.e, w = q.d.e, s.n.b = k, bt = w - k - s.o.b, e = uat(s), F = (ry(), (s.q ? s.q : (pn(), pn(), u0))._b((Ce(), Dw)) ? L = u(K(s, Dw), 197) : L = u(K(Qa(s), mS), 197), L), e && (F == t5 || F == J4) && (s.o.b += bt), e && (F == Xlt || F == t5 || F == J4)) { for (W = new S(s.j); W.a < W.c.c.length;)G = u(Q(W), 11), (we(), vu).Hc(G.j) && (_ = u(or(t.k, G), 121), G.n.b = _.e - k); for (d = new S(s.b); d.a < d.c.c.length;)h = u(Q(d), 70), Z = u(K(s, Mw), 21), Z.Hc((ly(), Yh)) ? h.n.b += bt : Z.Hc(d0) && (h.n.b += bt / 2); (F == t5 || F == J4) && uc(s, (we(), Lr)).Jc(new Pjt(bt)) } } function hle(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q; if (!t.b) return !1; for (h = null, F = null, w = new Art(null, null), s = 1, w.a[1] = t.b, L = w; L.a[s];)k = s, d = F, F = L, L = L.a[s], r = t.a.ue(e, L.d), s = r < 0 ? 0 : 1, r == 0 && (!n.c || Gc(L.e, n.d)) && (h = L), !(L && L.b) && !Cm(L.a[s]) && (Cm(L.a[1 - s]) ? F = F.a[k] = W$(L, s) : Cm(L.a[1 - s]) || (q = F.a[1 - k], q && (!Cm(q.a[1 - k]) && !Cm(q.a[k]) ? (F.b = !1, q.b = !0, L.b = !0) : (o = d.a[1] == F ? 1 : 0, Cm(q.a[k]) ? d.a[o] = wQt(F, k) : Cm(q.a[1 - k]) && (d.a[o] = W$(F, k)), L.b = d.a[o].b = !0, d.a[o].a[0].b = !1, d.a[o].a[1].b = !1)))); return h && (n.b = !0, n.d = h.e, L != h && (_ = new Art(L.d, L.e), F1n(t, w, h, _), F == h && (F = _)), F.a[F.a[1] == L ? 1 : 0] = L.a[L.a[0] ? 0 : 1], --t.c), t.b = w.a[1], t.b && (t.b.b = !1), n.b } function vyn(t) { var e, n, r, s, o, h, d, w, k, _, L, F; for (s = new S(t.a.a.b); s.a < s.c.c.length;)for (r = u(Q(s), 57), w = r.c.Kc(); w.Ob();)d = u(w.Pb(), 57), r.a != d.a && (Pp(t.a.d) ? L = t.a.g.Oe(r, d) : L = t.a.g.Pe(r, d), o = r.b.a + r.d.b + L - d.b.a, o = b.Math.ceil(o), o = b.Math.max(0, o), pmt(r, d) ? (h = Lv(new V2, t.d), k = Ms(b.Math.ceil(d.b.a - r.b.a)), e = k - (d.b.a - r.b.a), _ = q6(r).a, n = r, _ || (_ = q6(d).a, e = -e, n = d), _ && (n.b.a -= e, _.n.a -= e), Ef(df(ff(gf(hf(new Dh, b.Math.max(0, k)), 1), h), t.c[r.a.d])), Ef(df(ff(gf(hf(new Dh, b.Math.max(0, -k)), 1), h), t.c[d.a.d]))) : (F = 1, (Et(r.g, 145) && Et(d.g, 10) || Et(d.g, 145) && Et(r.g, 10)) && (F = 2), Ef(df(ff(gf(hf(new Dh, Ms(o)), F), t.c[r.a.d]), t.c[d.a.d])))) } function fle(t, e, n) { var r, s, o, h, d, w, k, _, L, F; if (n) for (r = -1, _ = new Ca(e, 0); _.b < _.d.gc();) { if (d = (ir(_.b < _.d.gc()), u(_.d.Xb(_.c = _.b++), 10)), L = t.c[d.c.p][d.p].a, L == null) { for (h = r + 1, o = new Ca(e, _.b); o.b < o.d.gc();)if (F = aYe(t, (ir(o.b < o.d.gc()), u(o.d.Xb(o.c = o.b++), 10))).a, F != null) { h = (Pn(F), F); break } L = (r + h) / 2, t.c[d.c.p][d.p].a = L, t.c[d.c.p][d.p].d = (Pn(L), L), t.c[d.c.p][d.p].b = 1 } r = (Pn(L), L) } else { for (s = 0, k = new S(e); k.a < k.c.c.length;)d = u(Q(k), 10), t.c[d.c.p][d.p].a != null && (s = b.Math.max(s, Xt(t.c[d.c.p][d.p].a))); for (s += 2, w = new S(e); w.a < w.c.c.length;)d = u(Q(w), 10), t.c[d.c.p][d.p].a == null && (L = wl(t.i, 24) * NI * s - 1, t.c[d.c.p][d.p].a = L, t.c[d.c.p][d.p].d = L, t.c[d.c.p][d.p].b = 1) } } function wyn() { bi(Xy, new ZF), bi(li, new rB), bi(Zh, new tJ), bi(l1, new RL), bi(dft, new jL), bi(YG, new n6), bi(tg, new eJ), bi(XS, new nJ), bi(aN, new jZ), bi(oft, new $Z), bi(T2, new zZ), bi(Jh, new qZ), bi(u1, new HZ), bi(Rw, new VZ), bi(Qy, new QF), bi(ju, new GZ), bi(Yy, new UZ), bi(xc, new WZ), bi(Co, new Dk), bi(wu, new UE), bi(Zs, new JF), bi(ot(tl, 1), new KZ), bi(kx, new tB), bi(tS, new eB), bi(NH, new YZ), bi(oLt, new WE), bi(ka, new ym), bi(kAt, new nB), bi(_At, new XZ), bi(KAt, new QZ), bi(XG, new KE), bi(X7, new iB), bi(to, new sB), bi(C8t, new Tc), bi(xw, new ZZ), bi(S8t, new aB), bi(VAt, new YE), bi(cLt, new JZ), bi(kw, new XE), bi(Me, new oB), bi(TAt, new QE), bi(uLt, new ZE) } function myn(t, e, n) { var r, s, o, h, d, w, k, _, L; for (!n && (n = eon(e.q.getTimezoneOffset())), s = (e.q.getTimezoneOffset() - n.a) * 6e4, d = new Ebt(Wa(Ou(e.q.getTime()), s)), w = d, d.q.getTimezoneOffset() != e.q.getTimezoneOffset() && (s > 0 ? s -= 864e5 : s += 864e5, w = new Ebt(Wa(Ou(e.q.getTime()), s))), _ = new Sm, k = t.a.length, o = 0; o < k;)if (r = Ia(t.a, o), r >= 97 && r <= 122 || r >= 65 && r <= 90) { for (h = o + 1; h < k && Ia(t.a, h) == r; ++h); d4n(_, r, h - o, d, w, n), o = h } else if (r == 39) { if (++o, o < k && Ia(t.a, o) == 39) { _.a += "'", ++o; continue } for (L = !1; !L;) { for (h = o; h < k && Ia(t.a, h) != 39;)++h; if (h >= k) throw et(new Bn("Missing trailing '")); h + 1 < k && Ia(t.a, h + 1) == 39 ? ++h : L = !0, ni(_, $l(t.a, o, h)), o = h + 1 } } else _.a += String.fromCharCode(r), ++o; return _.a } function yyn(t) { var e, n, r, s, o, h, d, w; for (e = null, r = new S(t); r.a < r.c.c.length;)n = u(Q(r), 233), Xt(L1(n.g, n.d[0]).a), n.b = null, n.e && n.e.gc() > 0 && n.c == 0 && (!e && (e = new le), e.c[e.c.length] = n); if (e) for (; e.c.length != 0;) { if (n = u(Sg(e, 0), 233), n.b && n.b.c.length > 0) { for (o = (!n.b && (n.b = new le), new S(n.b)); o.a < o.c.c.length;)if (s = u(Q(o), 233), uM(L1(s.g, s.d[0]).a) == uM(L1(n.g, n.d[0]).a)) { if (Qo(t, s, 0) > Qo(t, n, 0)) return new _a(s, n) } else if (Xt(L1(s.g, s.d[0]).a) > Xt(L1(n.g, n.d[0]).a)) return new _a(s, n) } for (d = (!n.e && (n.e = new le), n.e).Kc(); d.Ob();)h = u(d.Pb(), 233), w = (!h.b && (h.b = new le), h.b), Vm(0, w.c.length), zT(w.c, 0, n), h.c == w.c.length && (e.c[e.c.length] = h) } return null } function dle(t, e) { var n, r, s, o, h, d, w, k, _; if (t == null) return Pu; if (w = e.a.zc(t, e), w != null) return "[...]"; for (n = new ab(ao, "[", "]"), s = t, o = 0, h = s.length; o < h; ++o)r = s[o], r != null && bl(r).i & 4 ? Array.isArray(r) && (_ = yD(r), !(_ >= 14 && _ <= 16)) ? e.a._b(r) ? (n.a ? ni(n.a, n.b) : n.a = new jl(n.d), n_(n.a, "[...]")) : (d = rb(r), k = new g_(e), N0(n, dle(d, k))) : Et(r, 177) ? N0(n, l0n(u(r, 177))) : Et(r, 190) ? N0(n, Jfn(u(r, 190))) : Et(r, 195) ? N0(n, udn(u(r, 195))) : Et(r, 2012) ? N0(n, t1n(u(r, 2012))) : Et(r, 48) ? N0(n, u0n(u(r, 48))) : Et(r, 364) ? N0(n, E0n(u(r, 364))) : Et(r, 832) ? N0(n, c0n(u(r, 832))) : Et(r, 104) && N0(n, o0n(u(r, 104))) : N0(n, r == null ? Pu : Jo(r)); return n.a ? n.e.length == 0 ? n.a.a : n.a.a + ("" + n.e) : n.c } function gle(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct; for (d = m4(e, !1, !1), bt = iI(d), r && (bt = FD(bt)), Ct = Xt(xe(ze(e, (Z_(), Aut)))), Z = (ir(bt.b != 0), u(bt.a.a.c, 8)), L = u(r1(bt, 1), 8), bt.b > 2 ? (_ = new le, Hs(_, new Qd(bt, 1, bt.b)), o = Wle(_, Ct + t.a), Lt = new Ost(o), Ho(Lt, e), n.c[n.c.length] = Lt) : r ? Lt = u(or(t.b, e0(e)), 266) : Lt = u(or(t.b, Zp(e)), 266), w = e0(e), r && (w = Zp(e)), h = Ldn(Z, w), k = Ct + t.a, h.a ? (k += b.Math.abs(Z.b - L.b), W = new je(L.a, (L.b + Z.b) / 2)) : (k += b.Math.abs(Z.a - L.a), W = new je((L.a + Z.a) / 2, L.b)), r ? Pi(t.d, e, new k3t(Lt, h, W, k)) : Pi(t.c, e, new k3t(Lt, h, W, k)), Pi(t.b, e, Lt), G = (!e.n && (e.n = new he(ec, e, 1, 7)), e.n), q = new lr(G); q.e != q.i.gc();)F = u(kr(q), 137), s = pI(t, F, !0, 0, 0), n.c[n.c.length] = s } function xyn(t) { var e, n, r, s, o, h, d, w, k, _; for (k = new le, d = new le, h = new S(t); h.a < h.c.c.length;)s = u(Q(h), 112), eM(s, s.f.c.length), pT(s, s.k.c.length), s.d == 0 && (k.c[k.c.length] = s), s.i == 0 && s.e.b == 0 && (d.c[d.c.length] = s); for (r = -1; k.c.length != 0;)for (s = u(Sg(k, 0), 112), n = new S(s.k); n.a < n.c.c.length;)e = u(Q(n), 129), _ = e.b, $B(_, b.Math.max(_.o, s.o + 1)), r = b.Math.max(r, _.o), eM(_, _.d - 1), _.d == 0 && (k.c[k.c.length] = _); if (r > -1) { for (o = new S(d); o.a < o.c.c.length;)s = u(Q(o), 112), s.o = r; for (; d.c.length != 0;)for (s = u(Sg(d, 0), 112), n = new S(s.f); n.a < n.c.c.length;)e = u(Q(n), 129), w = e.a, !(w.e.b > 0) && ($B(w, b.Math.min(w.o, s.o - 1)), pT(w, w.i - 1), w.i == 0 && (d.c[d.c.length] = w)) } } function C7(t, e, n) { var r, s, o, h, d, w, k; if (k = t.c, !e && (e = NAt), t.c = e, t.Db & 4 && !(t.Db & 1) && (w = new la(t, 1, 2, k, t.c), n ? n.Ei(w) : n = w), k != e) { if (Et(t.Cb, 284)) t.Db >> 16 == -10 ? n = u(t.Cb, 284).nk(e, n) : t.Db >> 16 == -15 && (!e && (e = (hn(), J1)), !k && (k = (hn(), J1)), t.Cb.nh() && (w = new P0(t.Cb, 1, 13, k, e, Pg(pl(u(t.Cb, 59)), t), !1), n ? n.Ei(w) : n = w)); else if (Et(t.Cb, 88)) t.Db >> 16 == -23 && (Et(e, 88) || (e = (hn(), ef)), Et(k, 88) || (k = (hn(), ef)), t.Cb.nh() && (w = new P0(t.Cb, 1, 10, k, e, Pg($c(u(t.Cb, 26)), t), !1), n ? n.Ei(w) : n = w)); else if (Et(t.Cb, 444)) for (d = u(t.Cb, 836), h = (!d.b && (d.b = new JB(new Btt)), d.b), o = (r = new ub(new vg(h.a).a), new tR(r)); o.a.b;)s = u(Uv(o.a).cd(), 87), n = C7(s, Zz(s, d), n) } return n } function kyn(t, e) { var n, r, s, o, h, d, w, k, _, L, F; for (h = Re(Be(ze(t, (Ce(), Ry)))), F = u(ze(t, $y), 21), w = !1, k = !1, L = new lr((!t.c && (t.c = new he(El, t, 9, 9)), t.c)); L.e != L.i.gc() && (!w || !k);) { for (o = u(kr(L), 118), d = 0, s = jp(B1(ct(ot(G1, 1), De, 20, 0, [(!o.d && (o.d = new Tn(aa, o, 8, 5)), o.d), (!o.e && (o.e = new Tn(aa, o, 7, 4)), o.e)]))); Zr(s) && (r = u(qr(s), 79), _ = h && aw(r) && Re(Be(ze(r, Ob))), n = Gue((!r.b && (r.b = new Tn(Cr, r, 4, 7)), r.b), o) ? t == gs(Vo(u(St((!r.c && (r.c = new Tn(Cr, r, 5, 8)), r.c), 0), 82))) : t == gs(Vo(u(St((!r.b && (r.b = new Tn(Cr, r, 4, 7)), r.b), 0), 82))), !((_ || n) && (++d, d > 1)));); (d > 0 || F.Hc((cl(), J0)) && (!o.n && (o.n = new he(ec, o, 1, 7)), o.n).i > 0) && (w = !0), d > 1 && (k = !0) } w && e.Fc((ko(), Th)), k && e.Fc((ko(), hS)) } function ple(t) { var e, n, r, s, o, h, d, w, k, _, L, F; if (F = u(ze(t, (Ti(), jb)), 21), F.dc()) return null; if (d = 0, h = 0, F.Hc((Fl(), eN))) { for (_ = u(ze(t, $S), 98), r = 2, n = 2, s = 2, o = 2, e = gs(t) ? u(ze(gs(t), Fw), 103) : u(ze(t, Fw), 103), k = new lr((!t.c && (t.c = new he(El, t, 9, 9)), t.c)); k.e != k.i.gc();)if (w = u(kr(k), 118), L = u(ze(w, o5), 61), L == (we(), fc) && (L = F5t(w, e), Mo(w, o5, L)), _ == (xa(), eu)) switch (L.g) { case 1: r = b.Math.max(r, w.i + w.g); break; case 2: n = b.Math.max(n, w.j + w.f); break; case 3: s = b.Math.max(s, w.i + w.g); break; case 4: o = b.Math.max(o, w.j + w.f) } else switch (L.g) { case 1: r += w.g + 2; break; case 2: n += w.f + 2; break; case 3: s += w.g + 2; break; case 4: o += w.f + 2 }d = b.Math.max(r, s), h = b.Math.max(n, o) } return hw(t, d, h, !0, !0) } function pat(t, e, n, r, s) { var o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt; for (Lt = u(Hl(P$(Qi(new kn(null, new Cn(e.d, 16)), new Uk(n)), new iM(n)), nb(new Ee, new ne, new tr, ct(ot(xl, 1), se, 132, 0, [(j1(), Zl)]))), 15), L = Di, _ = $a, w = new S(e.b.j); w.a < w.c.c.length;)d = u(Q(w), 11), d.j == n && (L = b.Math.min(L, d.p), _ = b.Math.max(_, d.p)); if (L == Di) for (h = 0; h < Lt.gc(); h++)omt(u(Lt.Xb(h), 101), n, h); else for (Ct = Ot(Br, oi, 25, s.length, 15, 1), fJe(Ct, Ct.length), bt = Lt.Kc(); bt.Ob();) { for (Z = u(bt.Pb(), 101), o = u(or(t.b, Z), 177), k = 0, W = L; W <= _; W++)o[W] && (k = b.Math.max(k, r[W])); if (Z.i) { for (q = Z.i.c, Pt = new na, F = 0; F < s.length; F++)s[q][F] && Ys(Pt, pe(Ct[F])); for (; C0(Pt, pe(k));)++k } for (omt(Z, n, k), G = L; G <= _; G++)o[G] && (r[G] = k + 1); Z.i && (Ct[Z.i.c] = k) } } function Eyn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W; for (s = null, r = new S(e.a); r.a < r.c.c.length;)n = u(Q(r), 10), uat(n) ? o = (d = Lv(pM(new V2, n), t.f), w = Lv(pM(new V2, n), t.f), k = new awt(n, !0, d, w), _ = n.o.b, L = (ry(), (n.q ? n.q : (pn(), pn(), u0))._b((Ce(), Dw)) ? F = u(K(n, Dw), 197) : F = u(K(Qa(n), mS), 197), F), q = 1e4, L == J4 && (q = 1), G = Ef(df(ff(hf(gf(new Dh, q), Ms(b.Math.ceil(_))), d), w)), L == t5 && Ys(t.d, G), Jce(t, ib(uc(n, (we(), jn))), k), Jce(t, uc(n, Wn), k), k) : o = (W = Lv(pM(new V2, n), t.f), Ts(Qi(new kn(null, new Cn(n.j, 16)), new JX), new uVt(t, W)), new awt(n, !1, W, W)), t.i[n.p] = o, s && (h = s.c.d.a + G3(t.n, s.c, n) + n.d.d, s.b || (h += s.c.o.b), Ef(df(ff(gf(hf(new Dh, Ms(b.Math.ceil(h))), 0), s.d), o.a))), s = o } function Tyn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W; for (Ar(e, "Label dummy insertions", 1), L = new le, h = Xt(xe(K(t, (Ce(), Fx)))), k = Xt(xe(K(t, qy))), _ = u(K(t, Jl), 103), q = new S(t.a); q.a < q.c.c.length;)for (F = u(Q(q), 10), o = new pr(mr(Gs(F).a.Kc(), new H)); Zr(o);)if (s = u(qr(o), 17), s.c.i != s.d.i && zet(s.b, Qpe)) { for (W = bsn(s), G = Ud(s.b.c.length), n = hpn(t, s, W, G), L.c[L.c.length] = n, r = n.o, d = new Ca(s.b, 0); d.b < d.d.gc();)w = (ir(d.b < d.d.gc()), u(d.d.Xb(d.c = d.b++), 70)), qt(K(w, Fd)) === qt((F1(), C9)) && (_ == (xo(), Q0) || _ == X0 ? (r.a += w.o.a + k, r.b = b.Math.max(r.b, w.o.b)) : (r.a = b.Math.max(r.a, w.o.a), r.b += w.o.b + k), G.c[G.c.length] = w, Ol(d)); _ == (xo(), Q0) || _ == X0 ? (r.a -= k, r.b += h + W) : r.b += h - k + W } Hs(t.a, L), br(e) } function _yn(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q; for (o = new $ae(e), L = dbn(t, e, o), q = b.Math.max(Xt(xe(K(e, (Ce(), Gg)))), 1), _ = new S(L.a); _.a < _.c.c.length;)k = u(Q(_), 46), w = Kre(u(k.a, 8), u(k.b, 8), q), E = !0, E = E & Dv(n, new je(w.c, w.d)), E = E & Dv(n, Nm(new je(w.c, w.d), w.b, 0)), E = E & Dv(n, Nm(new je(w.c, w.d), 0, w.a)), E & Dv(n, Nm(new je(w.c, w.d), w.b, w.a)); switch (F = o.d, d = Kre(u(L.b.a, 8), u(L.b.b, 8), q), F == (we(), jn) || F == Wn ? (r.c[F.g] = b.Math.min(r.c[F.g], d.d), r.b[F.g] = b.Math.max(r.b[F.g], d.d + d.a)) : (r.c[F.g] = b.Math.min(r.c[F.g], d.c), r.b[F.g] = b.Math.max(r.b[F.g], d.c + d.b)), s = Rs, h = o.c.i.d, F.g) { case 4: s = h.c; break; case 2: s = h.b; break; case 1: s = h.a; break; case 3: s = h.d }return r.a[F.g] = b.Math.max(r.a[F.g], s), o } function Cyn(t) { var e, n, r, s; if (n = t.D != null ? t.D : t.B, e = gd(n, Nu(91)), e != -1) { r = n.substr(0, e), s = new yg; do s.a += "["; while ((e = l8(n, 91, ++e)) != -1); ln(r, cx) ? s.a += "Z" : ln(r, GC) ? s.a += "B" : ln(r, pH) ? s.a += "C" : ln(r, UC) ? s.a += "D" : ln(r, WC) ? s.a += "F" : ln(r, KC) ? s.a += "I" : ln(r, YC) ? s.a += "J" : ln(r, XC) ? s.a += "S" : (s.a += "L", s.a += "" + r, s.a += ";"); try { return null } catch (o) { if (o = os(o), !Et(o, 60)) throw et(o) } } else if (gd(n, Nu(46)) == -1) { if (ln(n, cx)) return Tl; if (ln(n, GC)) return tl; if (ln(n, pH)) return Sh; if (ln(n, UC)) return wa; if (ln(n, WC)) return e3; if (ln(n, KC)) return Br; if (ln(n, YC)) return D2; if (ln(n, XC)) return f5 } return null } function ble(t, e, n) { var r, s, o, h, d, w, k, _; for (k = new q0(n), Ho(k, e), Jt(k, (ie(), Bi), e), k.o.a = e.g, k.o.b = e.f, k.n.a = e.i, k.n.b = e.j, ue(n.a, k), Pi(t.a, e, k), ((!e.a && (e.a = new he(bs, e, 10, 11)), e.a).i != 0 || Re(Be(ze(e, (Ce(), Ry))))) && Jt(k, AEt, (Rn(), !0)), w = u(K(n, tu), 21), _ = u(K(k, (Ce(), xs)), 98), _ == (xa(), k2) ? Jt(k, xs, Q1) : _ != Q1 && w.Fc((ko(), f9)), r = u(K(n, Jl), 103), d = new lr((!e.c && (e.c = new he(El, e, 9, 9)), e.c)); d.e != d.i.gc();)h = u(kr(d), 118), Re(Be(ze(h, Pb))) || e3n(t, h, k, w, r, _); for (o = new lr((!e.n && (e.n = new he(ec, e, 1, 7)), e.n)); o.e != o.i.gc();)s = u(kr(o), 137), !Re(Be(ze(s, Pb))) && s.a && ue(k.b, xit(s)); return Re(Be(K(k, bS))) && w.Fc((ko(), LV)), Re(Be(K(k, VV))) && (w.Fc((ko(), MV)), w.Fc(hS), Jt(k, xs, Q1)), k } function Syn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n; d = u(or(e.c, t), 459), Lt = e.a.c, w = e.a.c + e.a.b, Qe = d.f, $n = d.a, h = Qe < $n, W = new je(Lt, Qe), Ct = new je(w, $n), s = (Lt + w) / 2, Z = new je(s, Qe), Pt = new je(s, $n), o = Rpn(t, Qe, $n), ce = I1(e.B), Se = new je(s, o), Ge = I1(e.D), n = oon(ct(ot(sa, 1), te, 8, 0, [ce, Se, Ge])), q = !1, bt = e.B.i, bt && bt.c && d.d && (k = h && bt.p < bt.c.a.c.length - 1 || !h && bt.p > 0, k ? k && (F = bt.p, h ? ++F : --F, L = u(Fe(bt.c.a, F), 10), r = ane(L), q = !(jst(r, ce, n[0]) || RKt(r, ce, n[0]))) : q = !0), G = !1, Yt = e.D.i, Yt && Yt.c && d.e && (_ = h && Yt.p > 0 || !h && Yt.p < Yt.c.a.c.length - 1, _ ? (F = Yt.p, h ? --F : ++F, L = u(Fe(Yt.c.a, F), 10), r = ane(L), G = !(jst(r, n[0], Ge) || RKt(r, n[0], Ge))) : G = !0), q && G && pi(t.a, Se), q || P_(t.a, ct(ot(sa, 1), te, 8, 0, [W, Z])), G || P_(t.a, ct(ot(sa, 1), te, 8, 0, [Pt, Ct])) } function bq(t, e) { var n, r, s, o, h, d, w, k; if (Et(t.Ug(), 160) ? (bq(u(t.Ug(), 160), e), e.a += " > ") : e.a += "Root ", n = t.Tg().zb, ln(n.substr(0, 3), "Elk") ? ni(e, n.substr(3)) : e.a += "" + n, s = t.zg(), s) { ni((e.a += " ", e), s); return } if (Et(t, 354) && (k = u(t, 137).a, k)) { ni((e.a += " ", e), k); return } for (h = new lr(t.Ag()); h.e != h.i.gc();)if (o = u(kr(h), 137), k = o.a, k) { ni((e.a += " ", e), k); return } if (Et(t, 352) && (r = u(t, 79), !r.b && (r.b = new Tn(Cr, r, 4, 7)), r.b.i != 0 && (!r.c && (r.c = new Tn(Cr, r, 5, 8)), r.c.i != 0))) { for (e.a += " (", d = new A6((!r.b && (r.b = new Tn(Cr, r, 4, 7)), r.b)); d.e != d.i.gc();)d.e > 0 && (e.a += ao), bq(u(kr(d), 160), e); for (e.a += Eot, w = new A6((!r.c && (r.c = new Tn(Cr, r, 5, 8)), r.c)); w.e != w.i.gc();)w.e > 0 && (e.a += ao), bq(u(kr(w), 160), e); e.a += ")" } } function Ayn(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q; if (o = u(K(t, (ie(), Bi)), 79), !!o) { for (r = t.a, s = new No(n), $i(s, wfn(t)), G8(t.d.i, t.c.i) ? (F = t.c, L = cc(ct(ot(sa, 1), te, 8, 0, [F.n, F.a])), ba(L, n)) : L = I1(t.c), Cs(r, L, r.a, r.a.a), q = I1(t.d), K(t, Alt) != null && $i(q, u(K(t, Alt), 8)), Cs(r, q, r.c.b, r.c), Qm(r, s), h = m4(o, !0, !0), H$(h, u(St((!o.b && (o.b = new Tn(Cr, o, 4, 7)), o.b), 0), 82)), V$(h, u(St((!o.c && (o.c = new Tn(Cr, o, 5, 8)), o.c), 0), 82)), mI(r, h), _ = new S(t.b); _.a < _.c.c.length;)k = u(Q(_), 70), d = u(K(k, Bi), 137), Kv(d, k.o.a), Wv(d, k.o.b), S1(d, k.n.a + s.a, k.n.b + s.b), Mo(d, (Y6(), Wut), Be(K(k, Wut))); w = u(K(t, (Ce(), $o)), 74), w ? (Qm(w, s), Mo(o, $o, w)) : Mo(o, $o, null), e == (z0(), qx) ? Mo(o, Y0, qx) : Mo(o, Y0, null) } } function Lyn(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt; for (q = e.c.length, F = 0, L = new S(t.b); L.a < L.c.c.length;)if (_ = u(Q(L), 29), bt = _.a, bt.c.length != 0) { for (Z = new S(bt), k = 0, Lt = null, s = u(Q(Z), 10), o = null; s;) { if (o = u(Fe(e, s.p), 257), o.c >= 0) { for (w = null, d = new Ca(_.a, k + 1); d.b < d.d.gc() && (h = (ir(d.b < d.d.gc()), u(d.d.Xb(d.c = d.b++), 10)), w = u(Fe(e, h.p), 257), !(w.d == o.d && w.c < o.c));)w = null; w && (Lt && (gh(r, s.p, pe(u(Fe(r, s.p), 19).a - 1)), u(Fe(n, Lt.p), 15).Mc(o)), o = u1n(o, s, q++), e.c[e.c.length] = o, ue(n, new le), Lt ? (u(Fe(n, Lt.p), 15).Fc(o), ue(r, pe(1))) : ue(r, pe(0))) } G = null, Z.a < Z.c.c.length && (G = u(Q(Z), 10), W = u(Fe(e, G.p), 257), u(Fe(n, s.p), 15).Fc(W), gh(r, G.p, pe(u(Fe(r, G.p), 19).a + 1))), o.d = F, o.c = k++, Lt = s, s = G } ++F } } function bat(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct; return w = t, _ = ba(new je(e.a, e.b), t), k = n, L = ba(new je(r.a, r.b), n), F = w.a, Z = w.b, G = k.a, Lt = k.b, q = _.a, bt = _.b, W = L.a, Ct = L.b, s = W * bt - q * Ct, A1(), yf(Ld), b.Math.abs(0 - s) <= Ld || s == 0 || isNaN(0) && isNaN(s) ? !1 : (h = 1 / s * ((F - G) * bt - (Z - Lt) * q), d = 1 / s * -(-(F - G) * Ct + (Z - Lt) * W), o = (yf(Ld), (b.Math.abs(0 - h) <= Ld || h == 0 || isNaN(0) && isNaN(h) ? 0 : 0 < h ? -1 : 0 > h ? 1 : Cv(isNaN(0), isNaN(h))) < 0 && (yf(Ld), (b.Math.abs(h - 1) <= Ld || h == 1 || isNaN(h) && isNaN(1) ? 0 : h < 1 ? -1 : h > 1 ? 1 : Cv(isNaN(h), isNaN(1))) < 0) && (yf(Ld), (b.Math.abs(0 - d) <= Ld || d == 0 || isNaN(0) && isNaN(d) ? 0 : 0 < d ? -1 : 0 > d ? 1 : Cv(isNaN(0), isNaN(d))) < 0) && (yf(Ld), (b.Math.abs(d - 1) <= Ld || d == 1 || isNaN(d) && isNaN(1) ? 0 : d < 1 ? -1 : d > 1 ? 1 : Cv(isNaN(d), isNaN(1))) < 0)), o) } function Myn(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce; for (L = new twt(new Mt(t)); L.b != L.c.a.d;)for (_ = yJt(L), d = u(_.d, 56), e = u(_.e, 56), h = d.Tg(), W = 0, Pt = (h.i == null && xd(h), h.i).length; W < Pt; ++W)if (k = (o = (h.i == null && xd(h), h.i), W >= 0 && W < o.length ? o[W] : null), k.Ij() && !k.Jj()) { if (Et(k, 99)) w = u(k, 18), !(w.Bb & Ac) && (ce = bo(w), !(ce && ce.Bb & Ac)) && bwn(t, w, d, e); else if (go(), u(k, 66).Oj() && (n = (Yt = k, u(Yt ? u(e, 49).xh(Yt) : null, 153)), n)) for (q = u(d.ah(k), 153), r = n.gc(), Z = 0, G = q.gc(); Z < G; ++Z)if (F = q.il(Z), Et(F, 99)) { if (Ct = q.jl(Z), s = Vv(t, Ct), s == null && Ct != null) { if (Lt = u(F, 18), !t.b || Lt.Bb & Ac || bo(Lt)) continue; s = Ct } if (!n.dl(F, s)) { for (bt = 0; bt < r; ++bt)if (n.il(bt) == F && qt(n.jl(bt)) === qt(s)) { n.ii(n.gc() - 1, bt), --r; break } } } else n.dl(q.il(Z), q.jl(Z)) } } function Dyn(t, e, n, r, s, o, h) { var d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct; if (bt = Pwn(e, n, t.g), s.n && s.n && o && vf(s, wf(o), (Pl(), rh)), t.b) for (Z = 0; Z < bt.c.length; Z++)L = (An(Z, bt.c.length), u(bt.c[Z], 200)), Z != 0 && (q = (An(Z - 1, bt.c.length), u(bt.c[Z - 1], 200)), Nne(L, q.f + q.b + t.g)), G3n(Z, bt, n, t.g), Ghn(t, L), s.n && o && vf(s, wf(o), (Pl(), rh)); else for (W = new S(bt); W.a < W.c.c.length;)for (G = u(Q(W), 200), _ = new S(G.a); _.a < _.c.c.length;)k = u(Q(_), 187), Lt = new pwt(k.s, k.t, t.g), qmt(Lt, k), ue(G.d, Lt); return thn(t, bt), s.n && s.n && o && vf(s, wf(o), (Pl(), rh)), Ct = b.Math.max(t.d, r.a - (h.b + h.c)), F = b.Math.max(t.c, r.b - (h.d + h.a)), d = F - t.c, t.e && t.f && (w = Ct / F, w < t.a ? Ct = F * t.a : d += Ct / t.a - F), t.e && Cun(bt, Ct, d), s.n && s.n && o && vf(s, wf(o), (Pl(), rh)), new fnt(t.a, Ct, t.c + d, (y7(), BS)) } function Iyn(t) { var e, n, r, s, o, h, d, w, k, _, L; for (t.j = Ot(Br, oi, 25, t.g, 15, 1), t.o = new le, Ts(oc(new kn(null, new Cn(t.e.b, 16)), new K5), new Fjt(t)), t.a = Ot(Tl, o0, 25, t.b, 16, 1), zD(new kn(null, new Cn(t.e.b, 16)), new Rjt(t)), r = (L = new le, Ts(Qi(oc(new kn(null, new Cn(t.e.b, 16)), new aQ), new Bjt(t)), new lVt(t, L)), L), w = new S(r); w.a < w.c.c.length;)if (d = u(Q(w), 508), !(d.c.length <= 1)) { if (d.c.length == 2) { Tgn(d), uat((An(0, d.c.length), u(d.c[0], 17)).d.i) || ue(t.o, d); continue } if (!(Xfn(d) || jdn(d, new LF))) for (k = new S(d), s = null; k.a < k.c.c.length;)e = u(Q(k), 17), n = t.c[e.p], !s || k.a >= k.c.c.length ? _ = Nwt((Kn(), Ws), ha) : _ = Nwt((Kn(), ha), ha), _ *= 2, o = n.a.g, n.a.g = b.Math.max(o, o + (_ - o)), h = n.b.g, n.b.g = b.Math.max(h, h + (_ - h)), s = e } } function Oyn(t, e, n, r, s) { var o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt; for (Yt = FWt(t), _ = new le, d = t.c.length, L = d - 1, F = d + 1; Yt.a.c != 0;) { for (; n.b != 0;)Ct = (ir(n.b != 0), u(bh(n, n.a.a), 112)), __(Yt.a, Ct) != null, Ct.g = L--, B5t(Ct, e, n, r); for (; e.b != 0;)Pt = (ir(e.b != 0), u(bh(e, e.a.a), 112)), __(Yt.a, Pt) != null, Pt.g = F++, B5t(Pt, e, n, r); for (k = $a, bt = (h = new h_(new c_(new y(Yt.a).a).b), new g(h)); wM(bt.a.a);) { if (Z = (o = uj(bt.a), u(o.cd(), 112)), !r && Z.b > 0 && Z.a <= 0) { _.c = Ot(nr, De, 1, 0, 5, 1), _.c[_.c.length] = Z; break } W = Z.i - Z.d, W >= k && (W > k && (_.c = Ot(nr, De, 1, 0, 5, 1), k = W), _.c[_.c.length] = Z) } _.c.length != 0 && (w = u(Fe(_, Iz(s, _.c.length)), 112), __(Yt.a, w) != null, w.g = F++, B5t(w, e, n, r), _.c = Ot(nr, De, 1, 0, 5, 1)) } for (Lt = t.c.length + 1, G = new S(t); G.a < G.c.c.length;)q = u(Q(G), 112), q.g < d && (q.g = q.g + Lt) } function vq(t, e) { var n; if (t.e) throw et(new Yo((A0(wut), iot + wut.k + sot))); if (!eKe(t.a, e)) throw et(new ic(Ahe + e + Lhe)); if (e == t.d) return t; switch (n = t.d, t.d = e, n.g) { case 0: switch (e.g) { case 2: iw(t); break; case 1: Yp(t), iw(t); break; case 4: f4(t), iw(t); break; case 3: f4(t), Yp(t), iw(t) }break; case 2: switch (e.g) { case 1: Yp(t), Gst(t); break; case 4: f4(t), iw(t); break; case 3: f4(t), Yp(t), iw(t) }break; case 1: switch (e.g) { case 2: Yp(t), Gst(t); break; case 4: Yp(t), f4(t), iw(t); break; case 3: Yp(t), f4(t), Yp(t), iw(t) }break; case 4: switch (e.g) { case 2: f4(t), iw(t); break; case 1: f4(t), Yp(t), iw(t); break; case 3: Yp(t), Gst(t) }break; case 3: switch (e.g) { case 2: Yp(t), f4(t), iw(t); break; case 1: Yp(t), f4(t), Yp(t), iw(t); break; case 4: Yp(t), Gst(t) } }return t } function T4(t, e) { var n; if (t.d) throw et(new Yo((A0($ut), iot + $ut.k + sot))); if (!nKe(t.a, e)) throw et(new ic(Ahe + e + Lhe)); if (e == t.c) return t; switch (n = t.c, t.c = e, n.g) { case 0: switch (e.g) { case 2: cb(t); break; case 1: Kp(t), cb(t); break; case 4: d4(t), cb(t); break; case 3: d4(t), Kp(t), cb(t) }break; case 2: switch (e.g) { case 1: Kp(t), Ust(t); break; case 4: d4(t), cb(t); break; case 3: d4(t), Kp(t), cb(t) }break; case 1: switch (e.g) { case 2: Kp(t), Ust(t); break; case 4: Kp(t), d4(t), cb(t); break; case 3: Kp(t), d4(t), Kp(t), cb(t) }break; case 4: switch (e.g) { case 2: d4(t), cb(t); break; case 1: d4(t), Kp(t), cb(t); break; case 3: Kp(t), Ust(t) }break; case 3: switch (e.g) { case 2: Kp(t), d4(t), cb(t); break; case 1: Kp(t), d4(t), Kp(t), cb(t); break; case 4: Kp(t), Ust(t) } }return t } function Nyn(t, e, n) { var r, s, o, h, d, w, k, _; for (w = new lr((!t.a && (t.a = new he(bs, t, 10, 11)), t.a)); w.e != w.i.gc();)for (d = u(kr(w), 33), s = new pr(mr(H0(d).a.Kc(), new H)); Zr(s);) { if (r = u(qr(s), 79), !r.b && (r.b = new Tn(Cr, r, 4, 7)), !(r.b.i <= 1 && (!r.c && (r.c = new Tn(Cr, r, 5, 8)), r.c.i <= 1))) throw et(new MT("Graph must not contain hyperedges.")); if (!cC(r) && d != Vo(u(St((!r.c && (r.c = new Tn(Cr, r, 5, 8)), r.c), 0), 82))) for (k = new WUt, Ho(k, r), Jt(k, (Up(), Tx), r), att(k, u(gc(qo(n.f, d)), 144)), E1(k, u(or(n, Vo(u(St((!r.c && (r.c = new Tn(Cr, r, 5, 8)), r.c), 0), 82))), 144)), ue(e.c, k), h = new lr((!r.n && (r.n = new he(ec, r, 1, 7)), r.n)); h.e != h.i.gc();)o = u(kr(h), 137), _ = new XQt(k, o.a), Ho(_, o), Jt(_, Tx, o), _.e.a = b.Math.max(o.g, 1), _.e.b = b.Math.max(o.f, 1), $5t(_), ue(e.d, _) } } function Pyn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct; for (L = new t6t(t), Oen(L, !(e == (xo(), Q0) || e == X0)), _ = L.a, F = new v6, s = (t1(), ct(ot(Ay, 1), se, 232, 0, [wc, uu, mc])), h = 0, w = s.length; h < w; ++h)n = s[h], k = qet(_, wc, n), k && (F.d = b.Math.max(F.d, k.Re())); for (r = ct(ot(Ay, 1), se, 232, 0, [wc, uu, mc]), o = 0, d = r.length; o < d; ++o)n = r[o], k = qet(_, mc, n), k && (F.a = b.Math.max(F.a, k.Re())); for (W = ct(ot(Ay, 1), se, 232, 0, [wc, uu, mc]), bt = 0, Ct = W.length; bt < Ct; ++bt)q = W[bt], k = qet(_, q, wc), k && (F.b = b.Math.max(F.b, k.Se())); for (G = ct(ot(Ay, 1), se, 232, 0, [wc, uu, mc]), Z = 0, Lt = G.length; Z < Lt; ++Z)q = G[Z], k = qet(_, q, mc), k && (F.c = b.Math.max(F.c, k.Se())); return F.d > 0 && (F.d += _.n.d, F.d += _.d), F.a > 0 && (F.a += _.n.a, F.a += _.d), F.b > 0 && (F.b += _.n.b, F.b += _.d), F.c > 0 && (F.c += _.n.c, F.c += _.d), F } function vle(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G; for (F = n.d, L = n.c, o = new je(n.f.a + n.d.b + n.d.c, n.f.b + n.d.d + n.d.a), h = o.b, k = new S(t.a); k.a < k.c.c.length;)if (d = u(Q(k), 10), d.k == (Kn(), Fs)) { switch (r = u(K(d, (ie(), yc)), 61), s = u(K(d, DEt), 8), _ = d.n, r.g) { case 2: _.a = n.f.a + F.c - L.a; break; case 4: _.a = -L.a - F.b }switch (G = 0, r.g) { case 2: case 4: e == (xa(), g0) ? (q = Xt(xe(K(d, Lw))), _.b = o.b * q - u(K(d, (Ce(), Iw)), 8).b, G = _.b + s.b, rz(d, !1, !0)) : e == eu && (_.b = Xt(xe(K(d, Lw))) - u(K(d, (Ce(), Iw)), 8).b, G = _.b + s.b, rz(d, !1, !0)) }h = b.Math.max(h, G) } for (n.f.b += h - o.b, w = new S(t.a); w.a < w.c.c.length;)if (d = u(Q(w), 10), d.k == (Kn(), Fs)) switch (r = u(K(d, (ie(), yc)), 61), _ = d.n, r.g) { case 1: _.b = -L.b - F.d; break; case 3: _.b = n.f.b + F.a - L.b } } function Fyn(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge; for (s = u(K(t, (Sc(), OS)), 33), k = Di, _ = Di, d = $a, w = $a, ce = gi(t.b, 0); ce.b != ce.d.c;)Pt = u(di(ce), 86), W = Pt.e, Z = Pt.f, k = b.Math.min(k, W.a - Z.a / 2), _ = b.Math.min(_, W.b - Z.b / 2), d = b.Math.max(d, W.a + Z.a / 2), w = b.Math.max(w, W.b + Z.b / 2); for (G = u(ze(s, (cw(), bme)), 116), q = new je(G.b - k, G.d - _), Yt = gi(t.b, 0); Yt.b != Yt.d.c;)Pt = u(di(Yt), 86), F = K(Pt, OS), Et(F, 239) && (o = u(F, 33), L = $i(Pt.e, q), S1(o, L.a - o.g / 2, L.b - o.f / 2)); for (Ct = gi(t.a, 0); Ct.b != Ct.d.c;)Lt = u(di(Ct), 188), r = u(K(Lt, OS), 79), r && (e = Lt.a, bt = new No(Lt.b.e), Cs(e, bt, e.a, e.a.a), Se = new No(Lt.c.e), Cs(e, Se, e.c.b, e.c), Rse(bt, u(r1(e, 1), 8), Lt.b.f), Rse(Se, u(r1(e, e.b - 2), 8), Lt.c.f), n = m4(r, !0, !0), mI(e, n)); Ge = d - k + (G.b + G.c), h = w - _ + (G.d + G.a), hw(s, Ge, h, !1, !1) } function Byn(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct; for (L = t.b, _ = new Ca(L, 0), Fm(_, new Oh(t)), Lt = !1, h = 1; _.b < _.d.gc();) { for (k = (ir(_.b < _.d.gc()), u(_.d.Xb(_.c = _.b++), 29)), W = (An(h, L.c.length), u(L.c[h], 29)), Z = zv(k.a), bt = Z.c.length, G = new S(Z); G.a < G.c.c.length;)F = u(Q(G), 10), Fo(F, W); if (Lt) { for (q = xwt(new bv(Z), 0); q.c.Sb();)for (F = u(EZt(q), 10), o = new S(zv(Zo(F))); o.a < o.c.c.length;)s = u(Q(o), 17), lw(s, !0), Jt(t, (ie(), yO), (Rn(), !0)), r = Kue(t, s, bt), n = u(K(F, Cw), 305), Ct = u(Fe(r, r.c.length - 1), 17), n.k = Ct.c.i, n.n = Ct, n.b = s.d.i, n.c = s; Lt = !1 } else Z.c.length != 0 && (e = (An(0, Z.c.length), u(Z.c[0], 10)), e.k == (Kn(), W1) && (Lt = !0, h = -1)); ++h } for (d = new Ca(t.b, 0); d.b < d.d.gc();)w = (ir(d.b < d.d.gc()), u(d.d.Xb(d.c = d.b++), 29)), w.a.c.length == 0 && Ol(d) } function Ryn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt; if (_ = u(u(ji(t.r, e), 21), 84), _.gc() <= 2 || e == (we(), Wn) || e == (we(), jn)) { Ble(t, e); return } for (W = t.u.Hc((cl(), Hx)), n = e == (we(), Fn) ? (Qv(), sO) : (Qv(), iO), bt = e == Fn ? (Lu(), Cf) : (Lu(), o1), r = Ppt(Jbt(n), t.s), Z = e == Fn ? ms : Rs, k = _.Kc(); k.Ob();)d = u(k.Pb(), 111), !(!d.c || d.c.d.c.length <= 0) && (G = d.b.rf(), q = d.e, L = d.c, F = L.i, F.b = (o = L.n, L.e.a + o.b + o.c), F.a = (h = L.n, L.e.b + h.d + h.a), W ? (F.c = q.a - (s = L.n, L.e.a + s.b + s.c) - t.s, W = !1) : F.c = q.a + G.a + t.s, JM(bt, L6t), L.f = bt, Zf(L, (ol(), _f)), ue(r.d, new ynt(F, Oyt(r, F))), Z = e == Fn ? b.Math.min(Z, q.b) : b.Math.max(Z, q.b + d.b.rf().b)); for (Z += e == Fn ? -t.t : t.t, Yyt((r.e = Z, r)), w = _.Kc(); w.Ob();)d = u(w.Pb(), 111), !(!d.c || d.c.d.c.length <= 0) && (F = d.c.i, F.c -= d.e.a, F.d -= d.e.b) } function jyn(t, e, n) { var r; if (Ar(n, "StretchWidth layering", 1), e.a.c.length == 0) { br(n); return } for (t.c = e, t.t = 0, t.u = 0, t.i = ms, t.g = Rs, t.d = Xt(xe(K(e, (Ce(), Sf)))), pln(t), vgn(t), bgn(t), yfn(t), kun(t), t.i = b.Math.max(1, t.i), t.g = b.Math.max(1, t.g), t.d = t.d / t.i, t.f = t.g / t.i, t.s = Mln(t), r = new Oh(t.c), ue(t.c.b, r), t.r = zv(t.p), t.n = e$(t.k, t.k.length); t.r.c.length != 0;)t.o = Von(t), !t.o || hne(t) && t.b.a.gc() != 0 ? (Gfn(t, r), r = new Oh(t.c), ue(t.c.b, r), io(t.a, t.b), t.b.a.$b(), t.t = t.u, t.u = 0) : hne(t) ? (t.c.b.c = Ot(nr, De, 1, 0, 5, 1), r = new Oh(t.c), ue(t.c.b, r), t.t = 0, t.u = 0, t.b.a.$b(), t.a.a.$b(), ++t.f, t.r = zv(t.p), t.n = e$(t.k, t.k.length)) : (Fo(t.o, r), Au(t.r, t.o), Ys(t.b, t.o), t.t = t.t - t.k[t.o.p] * t.d + t.j[t.o.p], t.u += t.e[t.o.p] * t.d); e.a.c = Ot(nr, De, 1, 0, 5, 1), _st(e.b), br(n) } function $yn(t) { var e, n, r, s; for (Ts(Qi(new kn(null, new Cn(t.a.b, 16)), new sX), new aX), Ifn(t), Ts(Qi(new kn(null, new Cn(t.a.b, 16)), new oX), new cX), t.c == (z0(), qx) && (Ts(Qi(oc(new kn(null, new Cn(new km(t.f), 1)), new uX), new lX), new ytt(t)), Ts(Qi(Cu(oc(oc(new kn(null, new Cn(t.d.b, 16)), new fF), new hX), new dF), new fX), new ktt(t))), s = new je(ms, ms), e = new je(Rs, Rs), r = new S(t.a.b); r.a < r.c.c.length;)n = u(Q(r), 57), s.a = b.Math.min(s.a, n.d.c), s.b = b.Math.min(s.b, n.d.d), e.a = b.Math.max(e.a, n.d.c + n.d.b), e.b = b.Math.max(e.b, n.d.d + n.d.a); $i(Xf(t.d.c), lj(new je(s.a, s.b))), $i(Xf(t.d.f), ba(new je(e.a, e.b), s)), qpn(t, s, e), al(t.f), al(t.b), al(t.g), al(t.e), t.a.a.c = Ot(nr, De, 1, 0, 5, 1), t.a.b.c = Ot(nr, De, 1, 0, 5, 1), t.a = null, t.d = null } function wle(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct; for (s = new le, W = new S(e.a); W.a < W.c.c.length;)if (G = u(Q(W), 10), q = G.e, q && (r = wle(t, q, G), Hs(s, r), tyn(t, q, G), u(K(q, (ie(), tu)), 21).Hc((ko(), Th)))) for (Lt = u(K(G, (Ce(), xs)), 98), F = u(K(G, $y), 174).Hc((cl(), J0)), bt = new S(G.j); bt.a < bt.c.c.length;)for (Z = u(Q(bt), 11), o = u(or(t.b, Z), 10), o || (o = EI(Z, Lt, Z.j, -(Z.e.c.length - Z.g.c.length), null, new Ra, Z.o, u(K(q, Jl), 103), q), Jt(o, Bi, Z), Pi(t.b, Z, o), ue(q.a, o)), h = u(Fe(o.j, 0), 11), _ = new S(Z.f); _.a < _.c.c.length;)k = u(Q(_), 70), d = new vqt, d.o.a = k.o.a, d.o.b = k.o.b, ue(h.f, d), F || (Ct = Z.j, L = 0, w_(u(K(G, $y), 21)) && (L = N4t(k.n, k.o, Z.o, 0, Ct)), Lt == (xa(), Q1) || (we(), vu).Hc(Ct) ? d.o.a = L : d.o.b = L); return w = new le, hyn(t, e, n, s, w), n && Smn(t, e, n, w), w } function J5t(t, e, n) { var r, s, o, h, d, w, k, _, L; if (!t.c[e.c.p][e.p].e) { for (t.c[e.c.p][e.p].e = !0, t.c[e.c.p][e.p].b = 0, t.c[e.c.p][e.p].d = 0, t.c[e.c.p][e.p].a = null, _ = new S(e.j); _.a < _.c.c.length;)for (k = u(Q(_), 11), L = n ? new ca(k) : new Fr(k), w = L.Kc(); w.Ob();)d = u(w.Pb(), 11), h = d.i, h.c == e.c ? h != e && (J5t(t, h, n), t.c[e.c.p][e.p].b += t.c[h.c.p][h.p].b, t.c[e.c.p][e.p].d += t.c[h.c.p][h.p].d) : (t.c[e.c.p][e.p].d += t.g[d.p], ++t.c[e.c.p][e.p].b); if (o = u(K(e, (ie(), SEt)), 15), o) for (s = o.Kc(); s.Ob();)r = u(s.Pb(), 10), e.c == r.c && (J5t(t, r, n), t.c[e.c.p][e.p].b += t.c[r.c.p][r.p].b, t.c[e.c.p][e.p].d += t.c[r.c.p][r.p].d); t.c[e.c.p][e.p].b > 0 && (t.c[e.c.p][e.p].d += wl(t.i, 24) * NI * .07000000029802322 - .03500000014901161, t.c[e.c.p][e.p].a = t.c[e.c.p][e.p].d / t.c[e.c.p][e.p].b) } } function zyn(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z; for (G = new S(t); G.a < G.c.c.length;) { for (q = u(Q(G), 10), Eg(q.n), Eg(q.o), tmt(q.f), Nce(q), wbn(q), Z = new S(q.j); Z.a < Z.c.c.length;) { for (W = u(Q(Z), 11), Eg(W.n), Eg(W.a), Eg(W.o), Qs(W, yie(W.j)), o = u(K(W, (Ce(), Ug)), 19), o && Jt(W, Ug, pe(-o.a)), s = new S(W.g); s.a < s.c.c.length;) { for (r = u(Q(s), 17), n = gi(r.a, 0); n.b != n.d.c;)e = u(di(n), 8), Eg(e); if (w = u(K(r, $o), 74), w) for (d = gi(w, 0); d.b != d.d.c;)h = u(di(d), 8), Eg(h); for (L = new S(r.b); L.a < L.c.c.length;)k = u(Q(L), 70), Eg(k.n), Eg(k.o) } for (F = new S(W.f); F.a < F.c.c.length;)k = u(Q(F), 70), Eg(k.n), Eg(k.o) } for (q.k == (Kn(), Fs) && (Jt(q, (ie(), yc), yie(u(K(q, yc), 61))), A2n(q)), _ = new S(q.b); _.a < _.c.c.length;)k = u(Q(_), 70), Nce(k), Eg(k.o), Eg(k.n) } } function qyn(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se; for (t.e = e, d = q0n(e), ce = new le, r = new S(d); r.a < r.c.c.length;) { for (n = u(Q(r), 15), Se = new le, ce.c[ce.c.length] = Se, w = new na, G = n.Kc(); G.Ob();) { for (q = u(G.Pb(), 33), o = pI(t, q, !0, 0, 0), Se.c[Se.c.length] = o, W = q.i, Z = q.j, F = (!q.n && (q.n = new he(ec, q, 1, 7)), q.n), L = new lr(F); L.e != L.i.gc();)k = u(kr(L), 137), s = pI(t, k, !1, W, Z), Se.c[Se.c.length] = s; for (Yt = (!q.c && (q.c = new he(El, q, 9, 9)), q.c), Lt = new lr(Yt); Lt.e != Lt.i.gc();)for (bt = u(kr(Lt), 118), h = pI(t, bt, !1, W, Z), Se.c[Se.c.length] = h, Ct = bt.i + W, Pt = bt.j + Z, F = (!bt.n && (bt.n = new he(ec, bt, 1, 7)), bt.n), _ = new lr(F); _.e != _.i.gc();)k = u(kr(_), 137), s = pI(t, k, !1, Ct, Pt), Se.c[Se.c.length] = s; io(w, Xj(B1(ct(ot(G1, 1), De, 20, 0, [H0(q), hI(q)])))) } Ipn(t, w, Se) } return t.f = new gqt(ce), Ho(t.f, e), t.f } function Hyn(t, e, n, r, s) { var o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn, yr; $n = or(t.e, r), $n == null && ($n = new w6, q = u($n, 183), Lt = e + "_s", Ct = Lt + s, F = new zm(Ct), Jf(q, Dd, F)), Qe = u($n, 183), F6(n, Qe), yr = new w6, Q2(yr, "x", r.j), Q2(yr, "y", r.k), Jf(Qe, P1e, yr), Se = new w6, Q2(Se, "x", r.b), Q2(Se, "y", r.c), Jf(Qe, "endPoint", Se), L = hM((!r.a && (r.a = new qs(Qh, r, 5)), r.a)), G = !L, G && (ce = new pg, o = new y$t(ce), Oa((!r.a && (r.a = new qs(Qh, r, 5)), r.a), o), Jf(Qe, uH, ce)), w = Wit(r), Pt = !!w, Pt && o4t(t.a, Qe, Zkt, Tst(t, Wit(r))), bt = Kit(r), Yt = !!bt, Yt && o4t(t.a, Qe, Qkt, Tst(t, Kit(r))), k = (!r.e && (r.e = new Tn(fs, r, 10, 9)), r.e).i == 0, W = !k, W && (Ge = new pg, h = new $Vt(t, Ge), Oa((!r.e && (r.e = new Tn(fs, r, 10, 9)), r.e), h), Jf(Qe, t8t, Ge)), _ = (!r.g && (r.g = new Tn(fs, r, 9, 10)), r.g).i == 0, Z = !_, Z && (Gn = new pg, d = new zVt(t, Gn), Oa((!r.g && (r.g = new Tn(fs, r, 9, 10)), r.g), d), Jf(Qe, Jkt, Gn)) } function Vyn(t) { Pm(); var e, n, r, s, o, h, d; for (r = t.f.n, h = Kvt(t.r).a.nc(); h.Ob();) { if (o = u(h.Pb(), 111), s = 0, o.b.Xe((Ti(), kl)) && (s = Xt(xe(o.b.We(kl))), s < 0)) switch (o.b.Hf().g) { case 1: r.d = b.Math.max(r.d, -s); break; case 3: r.a = b.Math.max(r.a, -s); break; case 2: r.c = b.Math.max(r.c, -s); break; case 4: r.b = b.Math.max(r.b, -s) }if (w_(t.u)) switch (e = gan(o.b, s), d = !u(t.e.We(m2), 174).Hc((ml(), nN)), n = !1, o.b.Hf().g) { case 1: n = e > r.d, r.d = b.Math.max(r.d, e), d && n && (r.d = b.Math.max(r.d, r.a), r.a = r.d + s); break; case 3: n = e > r.a, r.a = b.Math.max(r.a, e), d && n && (r.a = b.Math.max(r.a, r.d), r.d = r.a + s); break; case 2: n = e > r.c, r.c = b.Math.max(r.c, e), d && n && (r.c = b.Math.max(r.b, r.c), r.b = r.c + s); break; case 4: n = e > r.b, r.b = b.Math.max(r.b, e), d && n && (r.b = b.Math.max(r.b, r.c), r.c = r.b + s) } } } function Gyn(t) { var e, n, r, s, o, h, d, w, k, _, L; for (k = new S(t); k.a < k.c.c.length;) { switch (w = u(Q(k), 10), h = u(K(w, (Ce(), bu)), 163), o = null, h.g) { case 1: case 2: o = (ob(), V4); break; case 3: case 4: o = (ob(), u9) }if (o) Jt(w, (ie(), NV), (ob(), V4)), o == u9 ? eq(w, h, (yo(), ll)) : o == V4 && eq(w, h, (yo(), lu)); else if (H3(u(K(w, xs), 98)) && w.j.c.length != 0) { for (e = !0, L = new S(w.j); L.a < L.c.c.length;) { if (_ = u(Q(L), 11), !(_.j == (we(), Wn) && _.e.c.length - _.g.c.length > 0 || _.j == jn && _.e.c.length - _.g.c.length < 0)) { e = !1; break } for (s = new S(_.g); s.a < s.c.c.length;)if (n = u(Q(s), 17), d = u(K(n.d.i, bu), 163), d == (mh(), pS) || d == Ny) { e = !1; break } for (r = new S(_.e); r.a < r.c.c.length;)if (n = u(Q(r), 17), d = u(K(n.c.i, bu), 163), d == (mh(), gS) || d == g2) { e = !1; break } } e && eq(w, h, (yo(), TS)) } } } function Uyn(t, e, n, r, s) { var o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce; for (ce = 0, q = 0, L = new S(e.e); L.a < L.c.c.length;) { for (_ = u(Q(L), 10), F = 0, d = 0, w = n ? u(K(_, aG), 19).a : $a, bt = r ? u(K(_, oG), 19).a : $a, k = b.Math.max(w, bt), Ct = new S(_.j); Ct.a < Ct.c.c.length;) { if (Lt = u(Q(Ct), 11), Pt = _.n.b + Lt.n.b + Lt.a.b, r) for (h = new S(Lt.g); h.a < h.c.c.length;)o = u(Q(h), 17), W = o.d, G = W.i, e != t.a[G.p] && (Z = b.Math.max(u(K(G, aG), 19).a, u(K(G, oG), 19).a), Yt = u(K(o, (Ce(), Px)), 19).a, Yt >= k && Yt >= Z && (F += G.n.b + W.n.b + W.a.b - Pt, ++d)); if (n) for (h = new S(Lt.e); h.a < h.c.c.length;)o = u(Q(h), 17), W = o.c, G = W.i, e != t.a[G.p] && (Z = b.Math.max(u(K(G, aG), 19).a, u(K(G, oG), 19).a), Yt = u(K(o, (Ce(), Px)), 19).a, Yt >= k && Yt >= Z && (F += G.n.b + W.n.b + W.a.b - Pt, ++d)) } d > 0 && (ce += F / d, ++q) } q > 0 ? (e.a = s * ce / q, e.g = q) : (e.a = 0, e.g = 0) } function Wyn(t, e) { var n, r, s, o, h, d, w, k, _, L, F; for (s = new S(t.a.b); s.a < s.c.c.length;)for (n = u(Q(s), 29), w = new S(n.a); w.a < w.c.c.length;)d = u(Q(w), 10), e.j[d.p] = d, e.i[d.p] = e.o == (D1(), Y1) ? Rs : ms; for (al(t.c), h = t.a.b, e.c == (md(), Wg) && (h = Et(h, 152) ? V6(u(h, 152)) : Et(h, 131) ? u(h, 131).a : Et(h, 54) ? new bv(h) : new Am(h)), $in(t.e, e, t.b), mM(e.p, null), o = h.Kc(); o.Ob();)for (n = u(o.Pb(), 29), k = n.a, e.o == (D1(), Y1) && (k = Et(k, 152) ? V6(u(k, 152)) : Et(k, 131) ? u(k, 131).a : Et(k, 54) ? new bv(k) : new Am(k)), F = k.Kc(); F.Ob();)L = u(F.Pb(), 10), e.g[L.p] == L && jle(t, L, e); for (Fmn(t, e), r = h.Kc(); r.Ob();)for (n = u(r.Pb(), 29), F = new S(n.a); F.a < F.c.c.length;)L = u(Q(F), 10), e.p[L.p] = e.p[e.g[L.p].p], L == e.g[L.p] && (_ = Xt(e.i[e.j[L.p].p]), (e.o == (D1(), Y1) && _ > Rs || e.o == Bb && _ < ms) && (e.p[L.p] = Xt(e.p[L.p]) + _)); t.e.cg() } function mle(t, e, n, r) { var s, o, h, d, w; return d = new t6t(e), Kpn(d, r), s = !0, t && t.Xe((Ti(), Fw)) && (o = u(t.We((Ti(), Fw)), 103), s = o == (xo(), h0) || o == Wh || o == Af), Ece(d, !1), Mu(d.e.wf(), new Xbt(d, !1, s)), trt(d, d.f, (t1(), wc), (we(), Fn)), trt(d, d.f, mc, Lr), trt(d, d.g, wc, jn), trt(d, d.g, mc, Wn), oie(d, Fn), oie(d, Lr), CYt(d, Wn), CYt(d, jn), Pm(), h = d.A.Hc((Fl(), Ky)) && d.B.Hc((ml(), rN)) ? mre(d) : null, h && pWe(d.a, h), Vyn(d), ahn(d), ohn(d), pyn(d), Kbn(d), Ohn(d), jit(d, Fn), jit(d, Lr), Sbn(d), Wwn(d), n && (Gcn(d), Nhn(d), jit(d, Wn), jit(d, jn), w = d.B.Hc((ml(), YS)), wae(d, w, Fn), wae(d, w, Lr), mae(d, w, Wn), mae(d, w, jn), Ts(new kn(null, new Cn(new T1(d.i), 0)), new Bs), Ts(Qi(new kn(null, Kvt(d.r).a.oc()), new Ta), new La), Yfn(d), d.e.uf(d.o), Ts(new kn(null, Kvt(d.r).a.oc()), new sv)), d.o } function Kyn(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W; for (k = ms, r = new S(t.a.b); r.a < r.c.c.length;)e = u(Q(r), 81), k = b.Math.min(k, e.d.f.g.c + e.e.a); for (q = new hs, h = new S(t.a.a); h.a < h.c.c.length;)o = u(Q(h), 189), o.i = k, o.e == 0 && Cs(q, o, q.c.b, q.c); for (; q.b != 0;) { for (o = u(q.b == 0 ? null : (ir(q.b != 0), bh(q, q.a.a)), 189), s = o.f.g.c, F = o.a.a.ec().Kc(); F.Ob();)_ = u(F.Pb(), 81), W = o.i + _.e.a, _.d.g || _.g.c < W ? _.o = W : _.o = _.g.c; for (s -= o.f.o, o.b += s, t.c == (xo(), Af) || t.c == X0 ? o.c += s : o.c -= s, L = o.a.a.ec().Kc(); L.Ob();)for (_ = u(L.Pb(), 81), w = _.f.Kc(); w.Ob();)d = u(w.Pb(), 81), Pp(t.c) ? G = t.f.ef(_, d) : G = t.f.ff(_, d), d.d.i = b.Math.max(d.d.i, _.o + _.g.b + G - d.e.a), d.k || (d.d.i = b.Math.max(d.d.i, d.g.c - d.e.a)), --d.d.e, d.d.e == 0 && pi(q, d.d) } for (n = new S(t.a.b); n.a < n.c.c.length;)e = u(Q(n), 81), e.g.c = e.o } function Yyn(t) { var e, n, r, s, o, h, d, w; switch (d = t.b, e = t.a, u(K(t, (jz(), y7t)), 427).g) { case 0: ua(d, new dt(new ci)); break; case 1: default: ua(d, new dt(new Xa)) }switch (u(K(t, w7t), 428).g) { case 1: ua(d, new Er), ua(d, new kc), ua(d, new sd); break; case 0: default: ua(d, new Er), ua(d, new He) }switch (u(K(t, k7t), 250).g) { case 0: w = new x3; break; case 1: w = new xu; break; case 2: w = new cf; break; case 3: w = new mo; break; case 5: w = new xr(new cf); break; case 4: w = new xr(new xu); break; case 7: w = new r2t(new xr(new xu), new xr(new cf)); break; case 8: w = new r2t(new xr(new mo), new xr(new cf)); break; case 6: default: w = new xr(new mo) }for (h = new S(d); h.a < h.c.c.length;) { for (o = u(Q(h), 167), r = 0, s = 0, n = new _a(pe(r), pe(s)); Nvn(e, o, r, s);)n = u(w.Ce(n, o), 46), r = u(n.a, 19).a, s = u(n.b, 19).a; Ibn(e, o, r, s) } } function Xyn(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se; for (o = t.f.b, F = o.a, _ = o.b, G = t.e.g, q = t.e.f, XR(t.e, o.a, o.b), ce = F / G, Se = _ / q, k = new lr(Hj(t.e)); k.e != k.i.gc();)w = u(kr(k), 137), Du(w, w.i * ce), Iu(w, w.j * Se); for (Lt = new lr($nt(t.e)); Lt.e != Lt.i.gc();)bt = u(kr(Lt), 118), Pt = bt.i, Yt = bt.j, Pt > 0 && Du(bt, Pt * ce), Yt > 0 && Iu(bt, Yt * Se); for ($_(t.b, new lm), e = new le, d = new ub(new vg(t.c).a); d.b;)h = Uv(d), r = u(h.cd(), 79), n = u(h.dd(), 395).a, s = m4(r, !1, !1), L = wse(e0(r), iI(s), n), mI(L, s), Ct = Mse(r), Ct && Qo(e, Ct, 0) == -1 && (e.c[e.c.length] = Ct, FYt(Ct, (ir(L.b != 0), u(L.a.a.c, 8)), n)); for (Z = new ub(new vg(t.d).a); Z.b;)W = Uv(Z), r = u(W.cd(), 79), n = u(W.dd(), 395).a, s = m4(r, !1, !1), L = wse(Zp(r), FD(iI(s)), n), L = FD(L), mI(L, s), Ct = Dse(r), Ct && Qo(e, Ct, 0) == -1 && (e.c[e.c.length] = Ct, FYt(Ct, (ir(L.b != 0), u(L.c.b.c, 8)), n)) } function yle(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se; if (n.c.length != 0) { for (q = new le, F = new S(n); F.a < F.c.c.length;)L = u(Q(F), 33), ue(q, new je(L.i, L.j)); for (r.n && e && vf(r, wf(e), (Pl(), rh)); h4t(t, n);)Xz(t, n, !1); for (r.n && e && vf(r, wf(e), (Pl(), rh)), h = 0, d = 0, s = null, n.c.length != 0 && (s = (An(0, n.c.length), u(n.c[0], 33)), h = s.i - (An(0, q.c.length), u(q.c[0], 8)).a, d = s.j - (An(0, q.c.length), u(q.c[0], 8)).b), o = b.Math.sqrt(h * h + d * d), _ = zne(n); _.a.gc() != 0;) { for (k = _.a.ec().Kc(); k.Ob();)w = u(k.Pb(), 33), G = t.f, W = G.i + G.g / 2, Z = G.j + G.f / 2, bt = w.i + w.g / 2, Lt = w.j + w.f / 2, Ct = bt - W, Pt = Lt - Z, Yt = b.Math.sqrt(Ct * Ct + Pt * Pt), ce = Ct / Yt, Se = Pt / Yt, Du(w, w.i + ce * o), Iu(w, w.j + Se * o); r.n && e && vf(r, wf(e), (Pl(), rh)), _ = zne(new Uu(_)) } t.a && t.a.lg(new Uu(_)), r.n && e && vf(r, wf(e), (Pl(), rh)), yle(t, e, new Uu(_), r) } } function Qyn(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt; if (W = t.n, Z = t.o, F = t.d, L = Xt(xe(ny(t, (Ce(), zlt)))), e) { for (_ = L * (e.gc() - 1), q = 0, w = e.Kc(); w.Ob();)h = u(w.Pb(), 10), _ += h.o.a, q = b.Math.max(q, h.o.b); for (bt = W.a - (_ - Z.a) / 2, o = W.b - F.d + q, r = Z.a / (e.gc() + 1), s = r, d = e.Kc(); d.Ob();)h = u(d.Pb(), 10), h.n.a = bt, h.n.b = o - h.o.b, bt += h.o.a + L, k = Ioe(h), k.n.a = h.o.a / 2 - k.a.a, k.n.b = h.o.b, G = u(K(h, (ie(), IV)), 11), G.e.c.length + G.g.c.length == 1 && (G.n.a = s - G.a.a, G.n.b = 0, ac(G, t)), s += r } if (n) { for (_ = L * (n.gc() - 1), q = 0, w = n.Kc(); w.Ob();)h = u(w.Pb(), 10), _ += h.o.a, q = b.Math.max(q, h.o.b); for (bt = W.a - (_ - Z.a) / 2, o = W.b + Z.b + F.a - q, r = Z.a / (n.gc() + 1), s = r, d = n.Kc(); d.Ob();)h = u(d.Pb(), 10), h.n.a = bt, h.n.b = o, bt += h.o.a + L, k = Ioe(h), k.n.a = h.o.a / 2 - k.a.a, k.n.b = 0, G = u(K(h, (ie(), IV)), 11), G.e.c.length + G.g.c.length == 1 && (G.n.a = s - G.a.a, G.n.b = Z.b, ac(G, t)), s += r } } function Zyn(t, e) { var n, r, s, o, h, d; if (u(K(e, (ie(), tu)), 21).Hc((ko(), Th))) { for (d = new S(e.a); d.a < d.c.c.length;)o = u(Q(d), 10), o.k == (Kn(), Ws) && (s = u(K(o, (Ce(), UV)), 142), t.c = b.Math.min(t.c, o.n.a - s.b), t.a = b.Math.max(t.a, o.n.a + o.o.a + s.c), t.d = b.Math.min(t.d, o.n.b - s.d), t.b = b.Math.max(t.b, o.n.b + o.o.b + s.a)); for (h = new S(e.a); h.a < h.c.c.length;)if (o = u(Q(h), 10), o.k != (Kn(), Ws)) switch (o.k.g) { case 2: if (r = u(K(o, (Ce(), bu)), 163), r == (mh(), g2)) { o.n.a = t.c - 10, Hie(o, new vY).Jb(new fo(o)); break } if (r == Ny) { o.n.a = t.a + 10, Hie(o, new wY).Jb(new Sl(o)); break } if (n = u(K(o, Db), 303), n == (F0(), U4)) { Vue(o).Jb(new Wf(o)), o.n.b = t.d - 10; break } if (n == Sx) { Vue(o).Jb(new Ep(o)), o.n.b = t.b + 10; break } break; default: throw et(new Bn("The node type " + o.k + " is not supported by the " + B4n)) } } } function Jyn(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q, G, W, Z; for (w = new je(r.i + r.g / 2, r.j + r.f / 2), q = $ue(r), G = u(ze(e, (Ce(), xs)), 98), Z = u(ze(r, v9), 61), YVt(tie(r), jy) || (r.i == 0 && r.j == 0 ? W = 0 : W = D1n(r, Z), Mo(r, jy, W)), k = new je(e.g, e.f), s = EI(r, G, Z, q, k, w, new je(r.g, r.f), u(K(n, Jl), 103), n), Jt(s, (ie(), Bi), r), o = u(Fe(s.j, 0), 11), ctt(o, Tvn(r)), Jt(s, $y, (cl(), on(E2))), L = u(ze(e, $y), 174).Hc(J0), d = new lr((!r.n && (r.n = new he(ec, r, 1, 7)), r.n)); d.e != d.i.gc();)if (h = u(kr(d), 137), !Re(Be(ze(h, Pb))) && h.a && (F = xit(h), ue(o.f, F), !L)) switch (_ = 0, w_(u(ze(e, $y), 21)) && (_ = N4t(new je(h.i, h.j), new je(h.g, h.f), new je(r.g, r.f), 0, Z)), Z.g) { case 2: case 4: F.o.a = _; break; case 1: case 3: F.o.b = _ }Jt(s, m9, xe(ze(gs(e), m9))), Jt(s, y9, xe(ze(gs(e), y9))), Jt(s, qy, xe(ze(gs(e), qy))), ue(n.a, s), Pi(t.a, r, s) } function xle(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt; for (Ar(n, "Processor arrange level", 1), _ = 0, pn(), e4(e, new Xgt((Sc(), lG))), o = e.b, d = gi(e, e.b), k = !0; k && d.b.b != d.d.a;)bt = u(lrt(d), 86), u(K(bt, lG), 19).a == 0 ? --o : k = !1; if (Yt = new Qd(e, 0, o), h = new int(Yt), Yt = new Qd(e, o, e.b), w = new int(Yt), h.b == 0) for (G = gi(w, 0); G.b != G.d.c;)q = u(di(G), 86), Jt(q, dG, pe(_++)); else for (L = h.b, Pt = gi(h, 0); Pt.b != Pt.d.c;) { for (Ct = u(di(Pt), 86), Jt(Ct, dG, pe(_++)), r = Xmt(Ct), xle(t, r, Kc(n, 1 / L | 0)), e4(r, rwt(new Xgt(dG))), F = new hs, Lt = gi(r, 0); Lt.b != Lt.d.c;)for (bt = u(di(Lt), 86), Z = gi(Ct.d, 0); Z.b != Z.d.c;)W = u(di(Z), 188), W.c == bt && Cs(F, W, F.c.b, F.c); for (Nh(Ct.d), io(Ct.d, F), d = gi(w, w.b), s = Ct.d.b, k = !0; 0 < s && k && d.b.b != d.d.a;)bt = u(lrt(d), 86), u(K(bt, lG), 19).a == 0 ? (Jt(bt, dG, pe(_++)), --s, N$(d)) : k = !1 } br(n) } function t3n(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct; for (Ar(e, "Inverted port preprocessing", 1), _ = t.b, k = new Ca(_, 0), n = null, Ct = new le; k.b < k.d.gc();) { for (Lt = n, n = (ir(k.b < k.d.gc()), u(k.d.Xb(k.c = k.b++), 29)), q = new S(Ct); q.a < q.c.c.length;)L = u(Q(q), 10), Fo(L, Lt); for (Ct.c = Ot(nr, De, 1, 0, 5, 1), G = new S(n.a); G.a < G.c.c.length;)if (L = u(Q(G), 10), L.k == (Kn(), Ws) && H3(u(K(L, (Ce(), xs)), 98))) { for (bt = m5t(L, (yo(), ll), (we(), Wn)).Kc(); bt.Ob();)for (W = u(bt.Pb(), 11), w = W.e, d = u($1(w, Ot(qut, Tot, 17, w.c.length, 0, 1)), 474), s = d, o = 0, h = s.length; o < h; ++o)r = s[o], _wn(t, W, r, Ct); for (Z = m5t(L, lu, jn).Kc(); Z.Ob();)for (W = u(Z.Pb(), 11), w = W.g, d = u($1(w, Ot(qut, Tot, 17, w.c.length, 0, 1)), 474), s = d, o = 0, h = s.length; o < h; ++o)r = s[o], Twn(t, W, r, Ct) } } for (F = new S(Ct); F.a < F.c.c.length;)L = u(Q(F), 10), Fo(L, n); br(e) } function e3n(t, e, n, r, s, o) { var h, d, w, k, _, L; for (k = new zc, Ho(k, e), Qs(k, u(ze(e, (Ce(), v9)), 61)), Jt(k, (ie(), Bi), e), ac(k, n), L = k.o, L.a = e.g, L.b = e.f, _ = k.n, _.a = e.i, _.b = e.j, Pi(t.a, e, k), h = A8(Cu(oc(new kn(null, (!e.e && (e.e = new Tn(aa, e, 7, 4)), new Cn(e.e, 16))), new zP), new $5), new dr(e)), h || (h = A8(Cu(oc(new kn(null, (!e.d && (e.d = new Tn(aa, e, 8, 5)), new Cn(e.d, 16))), new bk), new CE), new gr(e))), h || (h = A8(new kn(null, (!e.e && (e.e = new Tn(aa, e, 7, 4)), new Cn(e.e, 16))), new GK)), Jt(k, xO, (Rn(), !!h)), wmn(k, o, s, u(ze(e, Iw), 8)), w = new lr((!e.n && (e.n = new he(ec, e, 1, 7)), e.n)); w.e != w.i.gc();)d = u(kr(w), 137), !Re(Be(ze(d, Pb))) && d.a && ue(k.f, xit(d)); switch (s.g) { case 2: case 1: (k.j == (we(), Fn) || k.j == Lr) && r.Fc((ko(), G4)); break; case 4: case 3: (k.j == (we(), Wn) || k.j == jn) && r.Fc((ko(), G4)) }return k } function vat(t, e, n, r, s, o, h) { var d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct; for (F = null, r == (jv(), w2) ? F = e : r == e5 && (F = n), W = F.a.ec().Kc(); W.Ob();) { for (G = u(W.Pb(), 11), Z = cc(ct(ot(sa, 1), te, 8, 0, [G.i.n, G.n, G.a])).b, Ct = new na, d = new na, k = new P1(G.b); sc(k.a) || sc(k.b);)if (w = u(sc(k.a) ? Q(k.a) : Q(k.b), 17), Re(Be(K(w, (ie(), K1)))) == s && Qo(o, w, 0) != -1) { if (w.d == G ? bt = w.c : bt = w.d, Lt = cc(ct(ot(sa, 1), te, 8, 0, [bt.i.n, bt.n, bt.a])).b, b.Math.abs(Lt - Z) < .2) continue; Lt < Z ? e.a._b(bt) ? Ys(Ct, new _a(w2, w)) : Ys(Ct, new _a(e5, w)) : e.a._b(bt) ? Ys(d, new _a(w2, w)) : Ys(d, new _a(e5, w)) } if (Ct.a.gc() > 1) for (q = new G5t(G, Ct, r), Oa(Ct, new dVt(t, q)), h.c[h.c.length] = q, L = Ct.a.ec().Kc(); L.Ob();)_ = u(L.Pb(), 46), Au(o, _.b); if (d.a.gc() > 1) for (q = new G5t(G, d, r), Oa(d, new gVt(t, q)), h.c[h.c.length] = q, L = d.a.ec().Kc(); L.Ob();)_ = u(L.Pb(), 46), Au(o, _.b) } } function kle(t) { Tv(t, new bb(lR(yv(vv(mv(wv(new gg, Md), "ELK Radial"), 'A radial layout provider which is based on the algorithm of Peter Eades published in "Drawing free trees.", published by International Institute for Advanced Study of Social Information Science, Fujitsu Limited in 1991. The radial layouter takes a tree and places the nodes in radial order around the root. The nodes of the same tree level are placed on the same radius.'), new VQ), Md))), ke(t, Md, tH, Ie(Hme)), ke(t, Md, yy, Ie(Vme)), ke(t, Md, L4, Ie(jme)), ke(t, Md, vx, Ie($me)), ke(t, Md, bx, Ie(zme)), ke(t, Md, R7, Ie(Rme)), ke(t, Md, MC, Ie(nCt)), ke(t, Md, j7, Ie(qme)), ke(t, Md, hct, Ie(Tht)), ke(t, Md, lct, Ie(_ht)), ke(t, Md, _kt, Ie(rCt)), ke(t, Md, xkt, Ie(vG)), ke(t, Md, kkt, Ie(wG)), ke(t, Md, Ekt, Ie(FO)), ke(t, Md, Tkt, Ie(iCt)) } function t6t(t) { var e; if (this.r = Mtn(new ga, new Es), this.b = new Y_(u(zr(co), 290)), this.p = new Y_(u(zr(co), 290)), this.i = new Y_(u(zr(Ige), 290)), this.e = t, this.o = new No(t.rf()), this.D = t.Df() || Re(Be(t.We((Ti(), UO)))), this.A = u(t.We((Ti(), jb)), 21), this.B = u(t.We(m2), 21), this.q = u(t.We($S), 98), this.u = u(t.We(Uy), 21), !B1n(this.u)) throw et(new F3("Invalid port label placement: " + this.u)); if (this.v = Re(Be(t.We(FSt))), this.j = u(t.We(s5), 21), !opn(this.j)) throw et(new F3("Invalid node label placement: " + this.j)); this.n = u(eC(t, ESt), 116), this.k = Xt(xe(eC(t, OG))), this.d = Xt(xe(eC(t, $St))), this.w = Xt(xe(eC(t, GSt))), this.s = Xt(xe(eC(t, zSt))), this.t = Xt(xe(eC(t, qSt))), this.C = u(eC(t, HSt), 142), this.c = 2 * this.d, e = !this.B.Hc((ml(), nN)), this.f = new Q_(0, e, 0), this.g = new Q_(1, e, 0), ztt(this.f, (t1(), uu), this.g) } function n3n(t, e, n, r, s) { var o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n; for (Ct = 0, G = 0, q = 0, F = 1, Lt = new lr((!t.a && (t.a = new he(bs, t, 10, 11)), t.a)); Lt.e != Lt.i.gc();)Z = u(kr(Lt), 33), F += O0(new pr(mr(H0(Z).a.Kc(), new H))), Ge = Z.g, G = b.Math.max(G, Ge), L = Z.f, q = b.Math.max(q, L), Ct += Ge * L; for (W = (!t.a && (t.a = new he(bs, t, 10, 11)), t.a).i, h = Ct + 2 * r * r * F * W, o = b.Math.sqrt(h), w = b.Math.max(o * n, G), d = b.Math.max(o / n, q), bt = new lr((!t.a && (t.a = new he(bs, t, 10, 11)), t.a)); bt.e != bt.i.gc();)Z = u(kr(bt), 33), Qe = s.b + (wl(e, 26) * EC + wl(e, 27) * TC) * (w - Z.g), $n = s.b + (wl(e, 26) * EC + wl(e, 27) * TC) * (d - Z.f), Du(Z, Qe), Iu(Z, $n); for (Se = w + (s.b + s.c), ce = d + (s.d + s.a), Yt = new lr((!t.a && (t.a = new he(bs, t, 10, 11)), t.a)); Yt.e != Yt.i.gc();)for (Pt = u(kr(Yt), 33), _ = new pr(mr(H0(Pt).a.Kc(), new H)); Zr(_);)k = u(qr(_), 79), cC(k) || r4n(k, e, Se, ce); Se += s.b + s.c, ce += s.d + s.a, hw(t, Se, ce, !1, !0) } function wq(t) { var e, n, r, s, o, h, d, w, k, _, L; if (t == null) throw et(new dd(Pu)); if (k = t, o = t.length, w = !1, o > 0 && (e = (Yr(0, t.length), t.charCodeAt(0)), (e == 45 || e == 43) && (t = t.substr(1), --o, w = e == 45)), o == 0) throw et(new dd(gw + k + '"')); for (; t.length > 0 && (Yr(0, t.length), t.charCodeAt(0) == 48);)t = t.substr(1), --o; if (o > (lue(), I0e)[10]) throw et(new dd(gw + k + '"')); for (s = 0; s < o; s++)if (jre((Yr(s, t.length), t.charCodeAt(s))) == -1) throw et(new dd(gw + k + '"')); for (L = 0, h = z8t[10], _ = fut[10], d = O8(q8t[10]), n = !0, r = o % h, r > 0 && (L = -parseInt(t.substr(0, r), 10), t = t.substr(r), o -= r, n = !1); o >= h;) { if (r = parseInt(t.substr(0, h), 10), t = t.substr(h), o -= h, n) n = !1; else { if (Oc(L, d) < 0) throw et(new dd(gw + k + '"')); L = ja(L, _) } L = Qp(L, r) } if (Oc(L, 0) > 0) throw et(new dd(gw + k + '"')); if (!w && (L = O8(L), Oc(L, 0) < 0)) throw et(new dd(gw + k + '"')); return L } function e6t(t, e) { JWt(); var n, r, s, o, h, d, w; if (this.a = new G2t(this), this.b = t, this.c = e, this.f = Snt(Bo((Yu(), Pa), e)), this.f.dc()) if ((d = $3t(Pa, t)) == e) for (this.e = !0, this.d = new le, this.f = new _k, this.f.Fc(Sb), u(gq(wD(Pa, Vl(t)), ""), 26) == t && this.f.Fc(b_(Pa, Vl(t))), s = Yst(Pa, t).Kc(); s.Ob();)switch (r = u(s.Pb(), 170), Bv(Bo(Pa, r))) { case 4: { this.d.Fc(r); break } case 5: { this.f.Gc(Snt(Bo(Pa, r))); break } } else if (go(), u(e, 66).Oj()) for (this.e = !0, this.f = null, this.d = new le, h = 0, w = (t.i == null && xd(t), t.i).length; h < w; ++h)for (r = (n = (t.i == null && xd(t), t.i), h >= 0 && h < n.length ? n[h] : null), o = z6(Bo(Pa, r)); o; o = z6(Bo(Pa, o)))o == e && this.d.Fc(r); else Bv(Bo(Pa, e)) == 1 && d ? (this.f = null, this.d = (sx(), y4e)) : (this.f = null, this.e = !0, this.d = (pn(), new I(e))); else this.e = Bv(Bo(Pa, e)) == 5, this.f.Fb(vft) && (this.f = vft) } function Ele(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G; for (n = 0, r = Yln(t, e), F = t.s, q = t.t, k = u(u(ji(t.r, e), 21), 84).Kc(); k.Ob();)if (w = u(k.Pb(), 111), !(!w.c || w.c.d.c.length <= 0)) { switch (G = w.b.rf(), d = w.b.Xe((Ti(), kl)) ? Xt(xe(w.b.We(kl))) : 0, _ = w.c, L = _.i, L.b = (h = _.n, _.e.a + h.b + h.c), L.a = (o = _.n, _.e.b + o.d + o.a), e.g) { case 1: L.c = w.a ? (G.a - L.b) / 2 : G.a + F, L.d = G.b + d + r, Zf(_, (ol(), l2)), bd(_, (Lu(), o1)); break; case 3: L.c = w.a ? (G.a - L.b) / 2 : G.a + F, L.d = -d - r - L.a, Zf(_, (ol(), l2)), bd(_, (Lu(), Cf)); break; case 2: L.c = -d - r - L.b, w.a ? (s = t.v ? L.a : u(Fe(_.d, 0), 181).rf().b, L.d = (G.b - s) / 2) : L.d = G.b + q, Zf(_, (ol(), _f)), bd(_, (Lu(), h2)); break; case 4: L.c = G.a + d + r, w.a ? (s = t.v ? L.a : u(Fe(_.d, 0), 181).rf().b, L.d = (G.b - s) / 2) : L.d = G.b + q, Zf(_, (ol(), Od)), bd(_, (Lu(), h2)) }(e == (we(), Fn) || e == Lr) && (n = b.Math.max(n, L.a)) } n > 0 && (u(Ao(t.b, e), 124).a.b = n) } function r3n(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt; for (Ar(e, "Comment pre-processing", 1), n = 0, w = new S(t.a); w.a < w.c.c.length;)if (d = u(Q(w), 10), Re(Be(K(d, (Ce(), bS))))) { for (++n, s = 0, r = null, k = null, G = new S(d.j); G.a < G.c.c.length;)F = u(Q(G), 11), s += F.e.c.length + F.g.c.length, F.e.c.length == 1 && (r = u(Fe(F.e, 0), 17), k = r.c), F.g.c.length == 1 && (r = u(Fe(F.g, 0), 17), k = r.d); if (s == 1 && k.e.c.length + k.g.c.length == 1 && !Re(Be(K(k.i, bS)))) D3n(d, r, k, k.i), y_(w); else { for (bt = new le, q = new S(d.j); q.a < q.c.c.length;) { for (F = u(Q(q), 11), L = new S(F.g); L.a < L.c.c.length;)_ = u(Q(L), 17), _.d.g.c.length == 0 || (bt.c[bt.c.length] = _); for (h = new S(F.e); h.a < h.c.c.length;)o = u(Q(h), 17), o.c.e.c.length == 0 || (bt.c[bt.c.length] = o) } for (Z = new S(bt); Z.a < Z.c.c.length;)W = u(Q(Z), 17), lw(W, !0) } } e.n && W2(e, "Found " + n + " comment boxes"), br(e) } function i3n(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q, G, W; if (F = Xt(xe(K(t, (Ce(), m9)))), q = Xt(xe(K(t, y9))), L = Xt(xe(K(t, qy))), d = t.o, o = u(Fe(t.j, 0), 11), h = o.n, W = Pdn(o, L), !!W) { if (e.Hc((cl(), J0))) switch (u(K(t, (ie(), yc)), 61).g) { case 1: W.c = (d.a - W.b) / 2 - h.a, W.d = q; break; case 3: W.c = (d.a - W.b) / 2 - h.a, W.d = -q - W.a; break; case 2: n && o.e.c.length == 0 && o.g.c.length == 0 ? (_ = r ? W.a : u(Fe(o.f, 0), 70).o.b, W.d = (d.b - _) / 2 - h.b) : W.d = d.b + q - h.b, W.c = -F - W.b; break; case 4: n && o.e.c.length == 0 && o.g.c.length == 0 ? (_ = r ? W.a : u(Fe(o.f, 0), 70).o.b, W.d = (d.b - _) / 2 - h.b) : W.d = d.b + q - h.b, W.c = F } else if (e.Hc(E2)) switch (u(K(t, (ie(), yc)), 61).g) { case 1: case 3: W.c = h.a + F; break; case 2: case 4: n && !o.c ? (_ = r ? W.a : u(Fe(o.f, 0), 70).o.b, W.d = (d.b - _) / 2 - h.b) : W.d = h.b + q }for (s = W.d, k = new S(o.f); k.a < k.c.c.length;)w = u(Q(k), 70), G = w.n, G.a = W.c, G.b = s, s += w.o.b + L } } function s3n() { bi(hN, new aJ), bi(JG, new lJ), bi(fN, new Ok), bi(YAt, new pJ), bi(Me, new Fk), bi(ot(tl, 1), new sT), bi(Zs, new vJ), bi(kx, new s6), bi(Me, new m1), bi(Me, new uB), bi(Me, new lB), bi(ka, new hB), bi(Me, new fB), bi(Eh, new dB), bi(Eh, new gB), bi(Me, new Gf), bi(X7, new ku), bi(Me, new sJ), bi(Me, new oJ), bi(Me, new Eu), bi(Me, new JE), bi(Me, new pB), bi(ot(tl, 1), new bB), bi(Me, new i6), bi(Me, new cJ), bi(Eh, new Ik), bi(Eh, new uJ), bi(Me, new vB), bi(to, new hJ), bi(Me, new tT), bi(xw, new wB), bi(Me, new $L), bi(Me, new eT), bi(Me, new fJ), bi(Me, new dJ), bi(Eh, new zL), bi(Eh, new nT), bi(Me, new y1), bi(Me, new gJ), bi(Me, new Nk), bi(Me, new qL), bi(Me, new z2), bi(Me, new rT), bi(kw, new HL), bi(Me, new Uf), bi(Me, new iT), bi(Me, new x1), bi(kw, new k1), bi(xw, new bJ), bi(Me, new A3), bi(to, new Pk) } function n6t(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct; if (F = e.length, F > 0 && (w = (Yr(0, e.length), e.charCodeAt(0)), w != 64)) { if (w == 37 && (L = e.lastIndexOf("%"), k = !1, L != 0 && (L == F - 1 || (k = (Yr(L + 1, e.length), e.charCodeAt(L + 1) == 46))))) { if (h = e.substr(1, L - 1), Ct = ln("%", h) ? null : r6t(h), r = 0, k) try { r = Kl(e.substr(L + 2), $a, Di) } catch (Pt) { throw Pt = os(Pt), Et(Pt, 127) ? (d = Pt, et(new S$(d))) : et(Pt) } for (Z = Bmt(t.Wg()); Z.Ob();)if (G = nz(Z), Et(G, 510) && (s = u(G, 590), Lt = s.d, (Ct == null ? Lt == null : ln(Ct, Lt)) && r-- == 0)) return s; return null } if (_ = e.lastIndexOf("."), q = _ == -1 ? e : e.substr(0, _), n = 0, _ != -1) try { n = Kl(e.substr(_ + 1), $a, Di) } catch (Pt) { if (Pt = os(Pt), Et(Pt, 127)) q = e; else throw et(Pt) } for (q = ln("%", q) ? null : r6t(q), W = Bmt(t.Wg()); W.Ob();)if (G = nz(W), Et(G, 191) && (o = u(G, 191), bt = o.ne(), (q == null ? bt == null : ln(q, bt)) && n-- == 0)) return o; return null } return Wue(t, e) } function a3n(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn; for (ce = new le, G = new S(t.b); G.a < G.c.c.length;)for (q = u(Q(G), 29), bt = new S(q.a); bt.a < bt.c.c.length;)if (W = u(Q(bt), 10), W.k == (Kn(), Fs) && ia(W, (ie(), PV))) { for (Lt = null, Pt = null, Ct = null, Qe = new S(W.j); Qe.a < Qe.c.c.length;)switch (Ge = u(Q(Qe), 11), Ge.j.g) { case 4: Lt = Ge; break; case 2: Pt = Ge; break; default: Ct = Ge }for (Yt = u(Fe(Ct.g, 0), 17), _ = new hR(Yt.a), k = new No(Ct.n), $i(k, W.n), L = gi(_, 0), YM(L, k), Se = FD(Yt.a), F = new No(Ct.n), $i(F, W.n), Cs(Se, F, Se.c.b, Se.c), $n = u(K(W, PV), 10), Gn = u(Fe($n.j, 0), 11), w = u($1(Lt.e, Ot(qut, Tot, 17, 0, 0, 1)), 474), r = w, o = 0, d = r.length; o < d; ++o)e = r[o], ma(e, Gn), bit(e.a, e.a.b, _); for (w = yd(Pt.g), n = w, s = 0, h = n.length; s < h; ++s)e = n[s], Ua(e, Gn), bit(e.a, 0, Se); Ua(Yt, null), ma(Yt, null), ce.c[ce.c.length] = W } for (Z = new S(ce); Z.a < Z.c.c.length;)W = u(Q(Z), 10), Fo(W, null) } function Tle() { Tle = J; var t, e, n; for (new xD(1, 0), new xD(10, 0), new xD(0, 0), O0e = Ot(dut, te, 240, 11, 0, 1), Mb = Ot(Sh, Ed, 25, 100, 15, 1), U8t = ct(ot(wa, 1), Do, 25, 15, [1, 5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, 48828125, 244140625, 1220703125, 6103515625, 30517578125, 152587890625, 762939453125, 3814697265625, 19073486328125, 95367431640625, 476837158203125, 0x878678326eac9]), W8t = Ot(Br, oi, 25, U8t.length, 15, 1), K8t = ct(ot(wa, 1), Do, 25, 15, [1, 10, 100, jg, 1e4, Yat, 1e6, 1e7, 1e8, _q, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16]), Y8t = Ot(Br, oi, 25, K8t.length, 15, 1), X8t = Ot(dut, te, 240, 11, 0, 1), t = 0; t < X8t.length; t++)O0e[t] = new xD(t, 0), X8t[t] = new xD(0, t), Mb[t] = 48; for (; t < Mb.length; t++)Mb[t] = 48; for (n = 0; n < W8t.length; n++)W8t[n] = I4t(U8t[n]); for (e = 0; e < Y8t.length; e++)Y8t[e] = I4t(K8t[e]); b7() } function o3n() { function t() { this.obj = this.createObject() } return t.prototype.createObject = function (e) { return Object.create(null) }, t.prototype.get = function (e) { return this.obj[e] }, t.prototype.set = function (e, n) { this.obj[e] = n }, t.prototype[Jat] = function (e) { delete this.obj[e] }, t.prototype.keys = function () { return Object.getOwnPropertyNames(this.obj) }, t.prototype.entries = function () { var e = this.keys(), n = this, r = 0; return { next: function () { if (r >= e.length) return { done: !0 }; var s = e[r++]; return { value: [s, n.get(s)], done: !1 } } } }, hbn() || (t.prototype.createObject = function () { return {} }, t.prototype.get = function (e) { return this.obj[":" + e] }, t.prototype.set = function (e, n) { this.obj[":" + e] = n }, t.prototype[Jat] = function (e) { delete this.obj[":" + e] }, t.prototype.keys = function () { var e = []; for (var n in this.obj) n.charCodeAt(0) == 58 && e.push(n.substring(1)); return e }), t } function c3n(t) { P5t(); var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z; if (t == null) return null; if (L = t.length * 8, L == 0) return ""; for (d = L % 24, q = L / 24 | 0, F = d != 0 ? q + 1 : q, o = null, o = Ot(Sh, Ed, 25, F * 4, 15, 1), k = 0, _ = 0, e = 0, n = 0, r = 0, h = 0, s = 0, w = 0; w < q; w++)e = t[s++], n = t[s++], r = t[s++], _ = (n & 15) << 24 >> 24, k = (e & 3) << 24 >> 24, G = e & -128 ? (e >> 2 ^ 192) << 24 >> 24 : e >> 2 << 24 >> 24, W = n & -128 ? (n >> 4 ^ 240) << 24 >> 24 : n >> 4 << 24 >> 24, Z = r & -128 ? (r >> 6 ^ 252) << 24 >> 24 : r >> 6 << 24 >> 24, o[h++] = np[G], o[h++] = np[W | k << 4], o[h++] = np[_ << 2 | Z], o[h++] = np[r & 63]; return d == 8 ? (e = t[s], k = (e & 3) << 24 >> 24, G = e & -128 ? (e >> 2 ^ 192) << 24 >> 24 : e >> 2 << 24 >> 24, o[h++] = np[G], o[h++] = np[k << 4], o[h++] = 61, o[h++] = 61) : d == 16 && (e = t[s], n = t[s + 1], _ = (n & 15) << 24 >> 24, k = (e & 3) << 24 >> 24, G = e & -128 ? (e >> 2 ^ 192) << 24 >> 24 : e >> 2 << 24 >> 24, W = n & -128 ? (n >> 4 ^ 240) << 24 >> 24 : n >> 4 << 24 >> 24, o[h++] = np[G], o[h++] = np[W | k << 4], o[h++] = np[_ << 2], o[h++] = 61), Fh(o, 0, o.length) } function u3n(t, e) { var n, r, s, o, h, d, w; if (t.e == 0 && t.p > 0 && (t.p = -(t.p - 1)), t.p > $a && Fwt(e, t.p - i2), h = e.q.getDate(), eD(e, 1), t.k >= 0 && Gen(e, t.k), t.c >= 0 ? eD(e, t.c) : t.k >= 0 ? (w = new ryt(e.q.getFullYear() - i2, e.q.getMonth(), 35), r = 35 - w.q.getDate(), eD(e, b.Math.min(r, h))) : eD(e, h), t.f < 0 && (t.f = e.q.getHours()), t.b > 0 && t.f < 12 && (t.f += 12), nYe(e, t.f == 24 && t.g ? 0 : t.f), t.j >= 0 && nin(e, t.j), t.n >= 0 && yin(e, t.n), t.i >= 0 && ZVt(e, Wa(ja(tI(Ou(e.q.getTime()), jg), jg), t.i)), t.a && (s = new vR, Fwt(s, s.q.getFullYear() - i2 - 80), eet(Ou(e.q.getTime()), Ou(s.q.getTime())) && Fwt(e, s.q.getFullYear() - i2 + 100)), t.d >= 0) { if (t.c == -1) n = (7 + t.d - e.q.getDay()) % 7, n > 3 && (n -= 7), d = e.q.getMonth(), eD(e, e.q.getDate() + n), e.q.getMonth() != d && eD(e, e.q.getDate() + (n > 0 ? -7 : 7)); else if (e.q.getDay() != t.d) return !1 } return t.o > $a && (o = e.q.getTimezoneOffset(), ZVt(e, Wa(Ou(e.q.getTime()), (t.o - o) * 60 * jg))), !0 } function _le(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt; if (s = K(e, (ie(), Bi)), !!Et(s, 239)) { for (G = u(s, 33), W = e.e, F = new No(e.c), o = e.d, F.a += o.b, F.b += o.d, Pt = u(ze(G, (Ce(), YV)), 174), Gu(Pt, (ml(), FG)) && (q = u(ze(G, $Tt), 116), Pgt(q, o.a), ott(q, o.d), Fgt(q, o.b), zgt(q, o.c)), n = new le, _ = new S(e.a); _.a < _.c.c.length;)for (w = u(Q(_), 10), Et(K(w, Bi), 239) ? p3n(w, F) : Et(K(w, Bi), 186) && !W && (r = u(K(w, Bi), 118), Lt = bue(e, w, r.g, r.f), S1(r, Lt.a, Lt.b)), bt = new S(w.j); bt.a < bt.c.c.length;)Z = u(Q(bt), 11), Ts(Qi(new kn(null, new Cn(Z.g, 16)), new Ga(w)), new Qr(n)); if (W) for (bt = new S(W.j); bt.a < bt.c.c.length;)Z = u(Q(bt), 11), Ts(Qi(new kn(null, new Cn(Z.g, 16)), new us(W)), new Ko(n)); for (Ct = u(ze(G, Y0), 218), d = new S(n); d.a < d.c.c.length;)h = u(Q(d), 17), Ayn(h, Ct, F); for (kvn(e), k = new S(e.a); k.a < k.c.c.length;)w = u(Q(k), 10), L = w.e, L && _le(t, L) } } function Cle(t) { Tv(t, new bb(Bpt(lR(yv(vv(mv(wv(new gg, Xl), "ELK Force"), "Force-based algorithm provided by the Eclipse Layout Kernel. Implements methods that follow physical analogies by simulating forces that move the nodes into a balanced distribution. Currently the original Eades model and the Fruchterman - Reingold model are supported."), new B5), Xl), Zi((v7(), GG), ct(ot(UG, 1), se, 237, 0, [HG]))))), ke(t, Xl, RI, pe(1)), ke(t, Xl, yy, 80), ke(t, Xl, xot, 5), ke(t, Xl, px, B7), ke(t, Xl, Nq, pe(1)), ke(t, Xl, LC, (Rn(), !0)), ke(t, Xl, pw, K7t), ke(t, Xl, jI, Ie(G7t)), ke(t, Xl, kot, Ie(Y7t)), ke(t, Xl, Pq, !1), ke(t, Xl, MC, Ie(W7t)), ke(t, Xl, bx, Ie(upe)), ke(t, Xl, L4, Ie(cpe)), ke(t, Xl, R7, Ie(ope)), ke(t, Xl, j7, Ie(hpe)), ke(t, Xl, Oq, Ie(U7t)), ke(t, Xl, mot, Ie(Out)), ke(t, Xl, q6t, Ie(YH)), ke(t, Xl, yot, Ie(Iut)), ke(t, Xl, H6t, Ie(X7t)) } function Sle(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q; if (!u(u(ji(t.r, e), 21), 84).dc()) { if (h = u(Ao(t.b, e), 124), w = h.i, d = h.n, _ = zst(t, e), r = w.b - d.b - d.c, s = h.a.a, o = w.c + d.b, q = t.w, (_ == (c4(), x2) || _ == ZO) && u(u(ji(t.r, e), 21), 84).gc() == 1 && (s = _ == x2 ? s - 2 * t.w : s, _ = VS), r < s && !t.B.Hc((ml(), BG))) _ == x2 ? (q += (r - s) / (u(u(ji(t.r, e), 21), 84).gc() + 1), o += q) : q += (r - s) / (u(u(ji(t.r, e), 21), 84).gc() - 1); else switch (r < s && (s = _ == x2 ? s - 2 * t.w : s, _ = VS), _.g) { case 3: o += (r - s) / 2; break; case 4: o += r - s; break; case 0: n = (r - s) / (u(u(ji(t.r, e), 21), 84).gc() + 1), q += b.Math.max(0, n), o += q; break; case 1: n = (r - s) / (u(u(ji(t.r, e), 21), 84).gc() - 1), q += b.Math.max(0, n) }for (F = u(u(ji(t.r, e), 21), 84).Kc(); F.Ob();)L = u(F.Pb(), 111), L.e.a = o + L.d.b, L.e.b = (k = L.b, k.Xe((Ti(), kl)) ? k.Hf() == (we(), Fn) ? -k.rf().b - Xt(xe(k.We(kl))) : Xt(xe(k.We(kl))) : k.Hf() == (we(), Fn) ? -k.rf().b : 0), o += L.d.b + L.b.rf().a + L.d.c + q } } function Ale(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G; if (!u(u(ji(t.r, e), 21), 84).dc()) { if (h = u(Ao(t.b, e), 124), w = h.i, d = h.n, L = zst(t, e), r = w.a - d.d - d.a, s = h.a.b, o = w.d + d.d, G = t.w, k = t.o.a, (L == (c4(), x2) || L == ZO) && u(u(ji(t.r, e), 21), 84).gc() == 1 && (s = L == x2 ? s - 2 * t.w : s, L = VS), r < s && !t.B.Hc((ml(), BG))) L == x2 ? (G += (r - s) / (u(u(ji(t.r, e), 21), 84).gc() + 1), o += G) : G += (r - s) / (u(u(ji(t.r, e), 21), 84).gc() - 1); else switch (r < s && (s = L == x2 ? s - 2 * t.w : s, L = VS), L.g) { case 3: o += (r - s) / 2; break; case 4: o += r - s; break; case 0: n = (r - s) / (u(u(ji(t.r, e), 21), 84).gc() + 1), G += b.Math.max(0, n), o += G; break; case 1: n = (r - s) / (u(u(ji(t.r, e), 21), 84).gc() - 1), G += b.Math.max(0, n) }for (q = u(u(ji(t.r, e), 21), 84).Kc(); q.Ob();)F = u(q.Pb(), 111), F.e.a = (_ = F.b, _.Xe((Ti(), kl)) ? _.Hf() == (we(), jn) ? -_.rf().a - Xt(xe(_.We(kl))) : k + Xt(xe(_.We(kl))) : _.Hf() == (we(), jn) ? -_.rf().a : k), F.e.b = o + F.d.d, o += F.d.d + F.b.rf().b + F.d.a + G } } function l3n(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W; for (t.n = Xt(xe(K(t.g, (Ce(), Nw)))), t.e = Xt(xe(K(t.g, Fb))), t.i = t.g.b.c.length, d = t.i - 1, F = 0, t.j = 0, t.k = 0, t.a = N1(Ot(to, te, 19, t.i, 0, 1)), t.b = N1(Ot(ka, te, 333, t.i, 7, 1)), h = new S(t.g.b); h.a < h.c.c.length;) { for (s = u(Q(h), 29), s.p = d, L = new S(s.a); L.a < L.c.c.length;)_ = u(Q(L), 10), _.p = F, ++F; --d } for (t.f = Ot(Br, oi, 25, F, 15, 1), t.c = K2(Br, [te, oi], [48, 25], 15, [F, 3], 2), t.o = new le, t.p = new le, e = 0, t.d = 0, o = new S(t.g.b); o.a < o.c.c.length;) { for (s = u(Q(o), 29), d = s.p, r = 0, W = 0, w = s.a.c.length, k = 0, L = new S(s.a); L.a < L.c.c.length;)_ = u(Q(L), 10), F = _.p, t.f[F] = _.c.p, k += _.o.b + t.n, n = O0(new pr(mr(Zo(_).a.Kc(), new H))), G = O0(new pr(mr(Gs(_).a.Kc(), new H))), t.c[F][0] = G - n, t.c[F][1] = n, t.c[F][2] = G, r += n, W += G, n > 0 && ue(t.p, _), ue(t.o, _); e -= r, q = w + e, k += e * t.e, gh(t.a, d, pe(q)), gh(t.b, d, k), t.j = b.Math.max(t.j, q), t.k = b.Math.max(t.k, k), t.d += e, e += W } } function we() { we = J; var t; fc = new MM(SC, 0), Fn = new MM(Lq, 1), Wn = new MM(uot, 2), Lr = new MM(lot, 3), jn = new MM(hot, 4), Z1 = (pn(), new Qk((t = u(Yf(co), 9), new hh(t, u(pf(t, t.length), 9), 0)))), Of = Dg(Zi(Fn, ct(ot(co, 1), Nc, 61, 0, []))), _h = Dg(Zi(Wn, ct(ot(co, 1), Nc, 61, 0, []))), eh = Dg(Zi(Lr, ct(ot(co, 1), Nc, 61, 0, []))), Xh = Dg(Zi(jn, ct(ot(co, 1), Nc, 61, 0, []))), Bu = Dg(Zi(Fn, ct(ot(co, 1), Nc, 61, 0, [Lr]))), vu = Dg(Zi(Wn, ct(ot(co, 1), Nc, 61, 0, [jn]))), Nf = Dg(Zi(Fn, ct(ot(co, 1), Nc, 61, 0, [jn]))), hl = Dg(Zi(Fn, ct(ot(co, 1), Nc, 61, 0, [Wn]))), nh = Dg(Zi(Lr, ct(ot(co, 1), Nc, 61, 0, [jn]))), Ch = Dg(Zi(Wn, ct(ot(co, 1), Nc, 61, 0, [Lr]))), fl = Dg(Zi(Fn, ct(ot(co, 1), Nc, 61, 0, [Wn, jn]))), Fu = Dg(Zi(Wn, ct(ot(co, 1), Nc, 61, 0, [Lr, jn]))), Ru = Dg(Zi(Fn, ct(ot(co, 1), Nc, 61, 0, [Lr, jn]))), Ju = Dg(Zi(Fn, ct(ot(co, 1), Nc, 61, 0, [Wn, Lr]))), nu = Dg(Zi(Fn, ct(ot(co, 1), Nc, 61, 0, [Wn, Lr, jn]))) } function Lle(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct; if (e.b != 0) { for (q = new hs, d = null, G = null, r = Ms(b.Math.floor(b.Math.log(e.b) * b.Math.LOG10E) + 1), w = 0, Ct = gi(e, 0); Ct.b != Ct.d.c;)for (bt = u(di(Ct), 86), qt(G) !== qt(K(bt, (Sc(), IS))) && (G = Kr(K(bt, IS)), w = 0), G != null ? d = G + XXt(w++, r) : d = XXt(w++, r), Jt(bt, IS, d), Z = (s = gi(new Sp(bt).a.d, 0), new p6(s)); dR(Z.a);)W = u(di(Z.a), 188).c, Cs(q, W, q.c.b, q.c), Jt(W, IS, d); for (F = new Rr, h = 0; h < d.length - r; h++)for (Lt = gi(e, 0); Lt.b != Lt.d.c;)bt = u(di(Lt), 86), k = $l(Kr(K(bt, (Sc(), IS))), 0, h + 1), n = (k == null ? gc(qo(F.f, null)) : $T(F.g, k)) != null ? u(k == null ? gc(qo(F.f, null)) : $T(F.g, k), 19).a + 1 : 1, Po(F, k, pe(n)); for (L = new ub(new vg(F).a); L.b;)_ = Uv(L), o = pe(or(t.a, _.cd()) != null ? u(or(t.a, _.cd()), 19).a : 0), Po(t.a, Kr(_.cd()), pe(u(_.dd(), 19).a + o.a)), o = u(or(t.b, _.cd()), 19), (!o || o.a < u(_.dd(), 19).a) && Po(t.b, Kr(_.cd()), u(_.dd(), 19)); Lle(t, q) } } function h3n(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt; for (Ar(n, "Interactive node layering", 1), r = new le, q = new S(e.a); q.a < q.c.c.length;) { for (L = u(Q(q), 10), k = L.n.a, w = k + L.o.a, w = b.Math.max(k + 1, w), bt = new Ca(r, 0), s = null; bt.b < bt.d.gc();)if (W = (ir(bt.b < bt.d.gc()), u(bt.d.Xb(bt.c = bt.b++), 569)), W.c >= w) { ir(bt.b > 0), bt.a.Xb(bt.c = --bt.b); break } else W.a > k && (s ? (Hs(s.b, W.b), s.a = b.Math.max(s.a, W.a), Ol(bt)) : (ue(W.b, L), W.c = b.Math.min(W.c, k), W.a = b.Math.max(W.a, w), s = W)); s || (s = new gzt, s.c = k, s.a = w, Fm(bt, s), ue(s.b, L)) } for (d = e.b, _ = 0, Z = new S(r); Z.a < Z.c.c.length;)for (W = u(Q(Z), 569), o = new Oh(e), o.p = _++, d.c[d.c.length] = o, G = new S(W.b); G.a < G.c.c.length;)L = u(Q(G), 10), Fo(L, o), L.p = 0; for (F = new S(e.a); F.a < F.c.c.length;)L = u(Q(F), 10), L.p == 0 && hce(t, L, e); for (h = new Ca(d, 0); h.b < h.d.gc();)(ir(h.b < h.d.gc()), u(h.d.Xb(h.c = h.b++), 29)).a.c.length == 0 && Ol(h); e.a.c = Ot(nr, De, 1, 0, 5, 1), br(n) } function f3n(t, e, n) { var r, s, o, h, d, w, k, _, L, F; if (e.e.c.length != 0 && n.e.c.length != 0) { if (r = u(Fe(e.e, 0), 17).c.i, h = u(Fe(n.e, 0), 17).c.i, r == h) return Tu(u(K(u(Fe(e.e, 0), 17), (ie(), Bc)), 19).a, u(K(u(Fe(n.e, 0), 17), Bc), 19).a); for (_ = t.a, L = 0, F = _.length; L < F; ++L) { if (k = _[L], k == r) return 1; if (k == h) return -1 } } return e.g.c.length != 0 && n.g.c.length != 0 ? (o = u(K(e, (ie(), Tlt)), 10), w = u(K(n, Tlt), 10), s = 0, d = 0, ia(u(Fe(e.g, 0), 17), Bc) && (s = u(K(u(Fe(e.g, 0), 17), Bc), 19).a), ia(u(Fe(n.g, 0), 17), Bc) && (d = u(K(u(Fe(e.g, 0), 17), Bc), 19).a), o && o == w ? Re(Be(K(u(Fe(e.g, 0), 17), K1))) && !Re(Be(K(u(Fe(n.g, 0), 17), K1))) ? 1 : !Re(Be(K(u(Fe(e.g, 0), 17), K1))) && Re(Be(K(u(Fe(n.g, 0), 17), K1))) || s < d ? -1 : s > d ? 1 : 0 : (t.b && (t.b._b(o) && (s = u(t.b.xc(o), 19).a), t.b._b(w) && (d = u(t.b.xc(w), 19).a)), s < d ? -1 : s > d ? 1 : 0)) : e.e.c.length != 0 && n.g.c.length != 0 ? 1 : -1 } function d3n(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se; for (Ar(e, mfe, 1), W = new le, ce = new le, k = new S(t.b); k.a < k.c.c.length;)for (w = u(Q(k), 29), bt = -1, G = iD(w.a), L = G, F = 0, q = L.length; F < q; ++F)if (_ = L[F], ++bt, !!(_.k == (Kn(), Ws) && H3(u(K(_, (Ce(), xs)), 98)))) { for (D6(u(K(_, (Ce(), xs)), 98)) || a2n(_), Jt(_, (ie(), Aw), _), W.c = Ot(nr, De, 1, 0, 5, 1), ce.c = Ot(nr, De, 1, 0, 5, 1), n = new le, Pt = new hs, Zrt(Pt, Bg(_, (we(), Fn))), qle(t, Pt, W, ce, n), d = bt, Se = _, o = new S(W); o.a < o.c.c.length;)r = u(Q(o), 10), sy(r, d, w), ++bt, Jt(r, Aw, _), h = u(Fe(r.j, 0), 11), Z = u(K(h, Bi), 11), Re(Be(K(Z, Llt))) || u(K(r, Mx), 15).Fc(Se); for (Nh(Pt), Ct = Bg(_, Lr).Kc(); Ct.Ob();)Lt = u(Ct.Pb(), 11), Cs(Pt, Lt, Pt.a, Pt.a.a); for (qle(t, Pt, ce, null, n), Yt = _, s = new S(ce); s.a < s.c.c.length;)r = u(Q(s), 10), sy(r, ++bt, w), Jt(r, Aw, _), h = u(Fe(r.j, 0), 11), Z = u(K(h, Bi), 11), Re(Be(K(Z, Llt))) || u(K(Yt, Mx), 15).Fc(r); n.c.length == 0 || Jt(_, SEt, n) } br(e) } function Mle(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn, yr, Li, Js; for (L = u(K(t, (Up(), Tx)), 33), bt = Di, Lt = Di, W = $a, Z = $a, Pt = new S(t.e); Pt.a < Pt.c.c.length;)Ct = u(Q(Pt), 144), Qe = Ct.d, $n = Ct.e, bt = b.Math.min(bt, Qe.a - $n.a / 2), Lt = b.Math.min(Lt, Qe.b - $n.b / 2), W = b.Math.max(W, Qe.a + $n.a / 2), Z = b.Math.max(Z, Qe.b + $n.b / 2); for (Ge = u(ze(L, (i1(), lpe)), 116), Se = new je(Ge.b - bt, Ge.d - Lt), d = new S(t.e); d.a < d.c.c.length;)h = u(Q(d), 144), ce = K(h, Tx), Et(ce, 239) && (q = u(ce, 33), Yt = $i(h.d, Se), S1(q, Yt.a - q.g / 2, Yt.b - q.f / 2)); for (r = new S(t.c); r.a < r.c.c.length;)n = u(Q(r), 282), k = u(K(n, Tx), 79), _ = m4(k, !0, !0), Gn = (Li = ba(pc(n.d.d), n.c.d), h7(Li, n.c.e.a, n.c.e.b), $i(Li, n.c.d)), ZR(_, Gn.a, Gn.b), e = (Js = ba(pc(n.c.d), n.d.d), h7(Js, n.d.e.a, n.d.e.b), $i(Js, n.d.d)), QR(_, e.a, e.b); for (o = new S(t.d); o.a < o.c.c.length;)s = u(Q(o), 447), F = u(K(s, Tx), 137), G = $i(s.d, Se), S1(F, G.a, G.b); yr = W - bt + (Ge.b + Ge.c), w = Z - Lt + (Ge.d + Ge.a), hw(L, yr, w, !1, !0) } function g3n(t) { var e, n, r, s, o, h, d, w, k, _, L, F; for (n = null, w = null, s = u(K(t.b, (Ce(), Plt)), 376), s == (uD(), DO) && (n = new le, w = new le), d = new S(t.d); d.a < d.c.c.length;)if (h = u(Q(d), 101), o = h.i, !!o) switch (h.e.g) { case 0: e = u(M_(new k6(h.b)), 61), s == DO && e == (we(), Fn) ? n.c[n.c.length] = h : s == DO && e == (we(), Lr) ? w.c[w.c.length] = h : Jln(h, e); break; case 1: k = h.a.d.j, _ = h.c.d.j, k == (we(), Fn) ? _g(h, Fn, (R1(), i9), h.a) : _ == Fn ? _g(h, Fn, (R1(), s9), h.c) : k == Lr ? _g(h, Lr, (R1(), s9), h.a) : _ == Lr && _g(h, Lr, (R1(), i9), h.c); break; case 2: case 3: r = h.b, Gu(r, (we(), Fn)) ? Gu(r, Lr) ? Gu(r, jn) ? Gu(r, Wn) || _g(h, Fn, (R1(), s9), h.c) : _g(h, Fn, (R1(), i9), h.a) : _g(h, Fn, (R1(), _x), null) : _g(h, Lr, (R1(), _x), null); break; case 4: L = h.a.d.j, F = h.a.d.j, L == (we(), Fn) || F == Fn ? _g(h, Lr, (R1(), _x), null) : _g(h, Fn, (R1(), _x), null) }n && (n.c.length == 0 || Eue(n, (we(), Fn)), w.c.length == 0 || Eue(w, (we(), Lr))) } function p3n(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W; for (r = u(K(t, (ie(), Bi)), 33), G = u(K(t, (Ce(), zV)), 19).a, o = u(K(t, GV), 19).a, Mo(r, zV, pe(G)), Mo(r, GV, pe(o)), Du(r, t.n.a + e.a), Iu(r, t.n.b + e.b), (u(ze(r, Nb), 174).gc() != 0 || t.e || qt(K(Qa(t), KV)) === qt((tC(), ES)) && wGt((ry(), (t.q ? t.q : (pn(), pn(), u0))._b(Dw) ? F = u(K(t, Dw), 197) : F = u(K(Qa(t), mS), 197), F))) && (Kv(r, t.o.a), Wv(r, t.o.b)), L = new S(t.j); L.a < L.c.c.length;)k = u(Q(L), 11), W = K(k, Bi), Et(W, 186) && (s = u(W, 118), S1(s, k.n.a, k.n.b), Mo(s, v9, k.j)); for (q = u(K(t, Mw), 174).gc() != 0, w = new S(t.b); w.a < w.c.c.length;)h = u(Q(w), 70), (q || u(K(h, Mw), 174).gc() != 0) && (n = u(K(h, Bi), 137), XR(n, h.o.a, h.o.b), S1(n, h.n.a, h.n.b)); if (!w_(u(K(t, $y), 21))) for (_ = new S(t.j); _.a < _.c.c.length;)for (k = u(Q(_), 11), d = new S(k.f); d.a < d.c.c.length;)h = u(Q(d), 70), n = u(K(h, Bi), 137), Kv(n, h.o.a), Wv(n, h.o.b), S1(n, h.n.a, h.n.b) } function b3n(t) { var e, n, r, s, o; switch (JM(t, q1e), (!t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b).i + (!t.c && (t.c = new Tn(Cr, t, 5, 8)), t.c).i) { case 0: throw et(new Bn("The edge must have at least one source or target.")); case 1: return (!t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b).i == 0 ? gs(Vo(u(St((!t.c && (t.c = new Tn(Cr, t, 5, 8)), t.c), 0), 82))) : gs(Vo(u(St((!t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b), 0), 82))) }if ((!t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b).i == 1 && (!t.c && (t.c = new Tn(Cr, t, 5, 8)), t.c).i == 1) { if (s = Vo(u(St((!t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b), 0), 82)), o = Vo(u(St((!t.c && (t.c = new Tn(Cr, t, 5, 8)), t.c), 0), 82)), gs(s) == gs(o)) return gs(s); if (s == gs(o)) return s; if (o == gs(s)) return o } for (r = jp(B1(ct(ot(G1, 1), De, 20, 0, [(!t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b), (!t.c && (t.c = new Tn(Cr, t, 5, 8)), t.c)]))), e = Vo(u(qr(r), 82)); Zr(r);)if (n = Vo(u(qr(r), 82)), n != e && !Xm(n, e)) { if (gs(n) == gs(e)) e = gs(n); else if (e = epn(e, n), !e) return null } return e } function v3n(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt; for (Ar(n, "Polyline edge routing", 1), Z = Xt(xe(K(e, (Ce(), kTt)))), q = Xt(xe(K(e, Z4))), s = Xt(xe(K(e, Q4))), r = b.Math.min(1, s / q), Ct = 0, w = 0, e.b.c.length != 0 && (Pt = Moe(u(Fe(e.b, 0), 29)), Ct = .4 * r * Pt), d = new Ca(e.b, 0); d.b < d.d.gc();) { for (h = (ir(d.b < d.d.gc()), u(d.d.Xb(d.c = d.b++), 29)), o = UR(h, OO), o && Ct > 0 && (Ct -= q), U5t(h, Ct), _ = 0, F = new S(h.a); F.a < F.c.c.length;) { for (L = u(Q(F), 10), k = 0, W = new pr(mr(Gs(L).a.Kc(), new H)); Zr(W);)G = u(qr(W), 17), bt = I1(G.c).b, Lt = I1(G.d).b, h == G.d.i.c && !ro(G) && (z0n(G, Ct, .4 * r * b.Math.abs(bt - Lt)), G.c.j == (we(), jn) && (bt = 0, Lt = 0)), k = b.Math.max(k, b.Math.abs(Lt - bt)); switch (L.k.g) { case 0: case 4: case 1: case 3: case 5: Bmn(t, L, Ct, Z) }_ = b.Math.max(_, k) } d.b < d.d.gc() && (Pt = Moe((ir(d.b < d.d.gc()), u(d.d.Xb(d.c = d.b++), 29))), _ = b.Math.max(_, Pt), ir(d.b > 0), d.a.Xb(d.c = --d.b)), w = .4 * r * _, !o && d.b < d.d.gc() && (w += q), Ct += h.c.a + w } t.a.a.$b(), e.f.a = Ct, br(n) } function w3n(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt; for (_ = new Rr, w = new $v, r = new S(t.a.a.b); r.a < r.c.c.length;)if (e = u(Q(r), 57), k = Z3(e), k) du(_.f, k, e); else if (Lt = q6(e), Lt) for (o = new S(Lt.k); o.a < o.c.c.length;)s = u(Q(o), 17), cn(w, s, e); for (n = new S(t.a.a.b); n.a < n.c.c.length;)if (e = u(Q(n), 57), k = Z3(e), k) { for (d = new pr(mr(Gs(k).a.Kc(), new H)); Zr(d);)if (h = u(qr(d), 17), !ro(h) && (G = h.c, bt = h.d, !((we(), Bu).Hc(h.c.j) && Bu.Hc(h.d.j)))) { if (W = u(or(_, h.d.i), 57), Ef(df(ff(gf(hf(new Dh, 0), 100), t.c[e.a.d]), t.c[W.a.d])), G.j == jn && FKt((Ku(), G))) { for (F = u(ji(w, h), 21).Kc(); F.Ob();)if (L = u(F.Pb(), 57), L.d.c < e.d.c) { if (q = t.c[L.a.d], Z = t.c[e.a.d], q == Z) continue; Ef(df(ff(gf(hf(new Dh, 1), 100), q), Z)) } } if (bt.j == Wn && PKt((Ku(), bt))) { for (F = u(ji(w, h), 21).Kc(); F.Ob();)if (L = u(F.Pb(), 57), L.d.c > e.d.c) { if (q = t.c[e.a.d], Z = t.c[L.a.d], q == Z) continue; Ef(df(ff(gf(hf(new Dh, 1), 100), q), Z)) } } } } } function r6t(t) { fat(); var e, n, r, s, o, h, d, w; if (t == null) return null; if (s = gd(t, Nu(37)), s < 0) return t; for (w = new jl(t.substr(0, s)), e = Ot(tl, N4, 25, 4, 15, 1), d = 0, r = 0, h = t.length; s < h; s++)if (Yr(s, t.length), t.charCodeAt(s) == 37 && t.length > s + 2 && iit((Yr(s + 1, t.length), t.charCodeAt(s + 1)), SAt, AAt) && iit((Yr(s + 2, t.length), t.charCodeAt(s + 2)), SAt, AAt)) if (n = $Ze((Yr(s + 1, t.length), t.charCodeAt(s + 1)), (Yr(s + 2, t.length), t.charCodeAt(s + 2))), s += 2, r > 0 ? (n & 192) == 128 ? e[d++] = n << 24 >> 24 : r = 0 : n >= 128 && ((n & 224) == 192 ? (e[d++] = n << 24 >> 24, r = 2) : (n & 240) == 224 ? (e[d++] = n << 24 >> 24, r = 3) : (n & 248) == 240 && (e[d++] = n << 24 >> 24, r = 4)), r > 0) { if (d == r) { switch (d) { case 2: { $p(w, ((e[0] & 31) << 6 | e[1] & 63) & Ns); break } case 3: { $p(w, ((e[0] & 15) << 12 | (e[1] & 63) << 6 | e[2] & 63) & Ns); break } }d = 0, r = 0 } } else { for (o = 0; o < d; ++o)$p(w, e[o] & Ns); d = 0, w.a += String.fromCharCode(n) } else { for (o = 0; o < d; ++o)$p(w, e[o] & Ns); d = 0, $p(w, (Yr(s, t.length), t.charCodeAt(s))) } return w.a } function Dle(t, e, n, r, s) { var o, h, d; if (ZJt(t, e), h = e[0], o = Ia(n.c, 0), d = -1, uyt(n)) if (r > 0) { if (h + r > t.length) return !1; d = Kz(t.substr(0, h + r), e) } else d = Kz(t, e); switch (o) { case 71: return d = p4(t, h, ct(ot(Me, 1), te, 2, 6, [hhe, fhe]), e), s.e = d, !0; case 77: return tbn(t, e, s, d, h); case 76: return ebn(t, e, s, d, h); case 69: return Udn(t, e, h, s); case 99: return Wdn(t, e, h, s); case 97: return d = p4(t, h, ct(ot(Me, 1), te, 2, 6, ["AM", "PM"]), e), s.b = d, !0; case 121: return nbn(t, e, h, d, n, s); case 100: return d <= 0 ? !1 : (s.c = d, !0); case 83: return d < 0 ? !1 : aun(d, h, e[0], s); case 104: d == 12 && (d = 0); case 75: case 72: return d < 0 ? !1 : (s.f = d, s.g = !1, !0); case 107: return d < 0 ? !1 : (s.f = d, s.g = !0, !0); case 109: return d < 0 ? !1 : (s.j = d, !0); case 115: return d < 0 ? !1 : (s.n = d, !0); case 90: if (h < t.length && (Yr(h, t.length), t.charCodeAt(h) == 90)) return ++e[0], s.o = 0, !0; case 122: case 118: return v1n(t, h, e, s); default: return !1 } } function m3n(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce; if (F = u(u(ji(t.r, e), 21), 84), e == (we(), Wn) || e == jn) { Ele(t, e); return } for (o = e == Fn ? (Qv(), iO) : (Qv(), sO), Pt = e == Fn ? (Lu(), o1) : (Lu(), Cf), n = u(Ao(t.b, e), 124), r = n.i, s = r.c + r4(ct(ot(wa, 1), Do, 25, 15, [n.n.b, t.C.b, t.k])), bt = r.c + r.b - r4(ct(ot(wa, 1), Do, 25, 15, [n.n.c, t.C.c, t.k])), h = Ppt(Jbt(o), t.t), Lt = e == Fn ? Rs : ms, L = F.Kc(); L.Ob();)k = u(L.Pb(), 111), !(!k.c || k.c.d.c.length <= 0) && (Z = k.b.rf(), W = k.e, q = k.c, G = q.i, G.b = (w = q.n, q.e.a + w.b + w.c), G.a = (d = q.n, q.e.b + d.d + d.a), JM(Pt, L6t), q.f = Pt, Zf(q, (ol(), _f)), G.c = W.a - (G.b - Z.a) / 2, Yt = b.Math.min(s, W.a), ce = b.Math.max(bt, W.a + Z.a), G.c < Yt ? G.c = Yt : G.c + G.b > ce && (G.c = ce - G.b), ue(h.d, new ynt(G, Oyt(h, G))), Lt = e == Fn ? b.Math.max(Lt, W.b + k.b.rf().b) : b.Math.min(Lt, W.b)); for (Lt += e == Fn ? t.t : -t.t, Ct = Yyt((h.e = Lt, h)), Ct > 0 && (u(Ao(t.b, e), 124).a.b = Ct), _ = F.Kc(); _.Ob();)k = u(_.Pb(), 111), !(!k.c || k.c.d.c.length <= 0) && (G = k.c.i, G.c -= k.e.a, G.d -= k.e.b) } function y3n(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q; for (e = new Rr, w = new lr(t); w.e != w.i.gc();) { for (d = u(kr(w), 33), n = new na, Pi(Mut, d, n), q = new Rc, s = u(Hl(new kn(null, new Ov(new pr(mr(hI(d).a.Kc(), new H)))), xKt(q, nb(new Ee, new ne, new tr, ct(ot(xl, 1), se, 132, 0, [(j1(), Zl)])))), 83), Vte(n, u(s.xc((Rn(), !0)), 14), new Ne), r = u(Hl(Qi(u(s.xc(!1), 15).Lc(), new pp), nb(new Ee, new ne, new tr, ct(ot(xl, 1), se, 132, 0, [Zl]))), 15), h = r.Kc(); h.Ob();)o = u(h.Pb(), 79), F = Mse(o), F && (k = u(gc(qo(e.f, F)), 21), k || (k = Xoe(F), du(e.f, F, k)), io(n, k)); for (s = u(Hl(new kn(null, new Ov(new pr(mr(H0(d).a.Kc(), new H)))), xKt(q, nb(new Ee, new ne, new tr, ct(ot(xl, 1), se, 132, 0, [Zl])))), 83), Vte(n, u(s.xc(!0), 14), new We), r = u(Hl(Qi(u(s.xc(!1), 15).Lc(), new uf), nb(new Ee, new ne, new tr, ct(ot(xl, 1), se, 132, 0, [Zl]))), 15), L = r.Kc(); L.Ob();)_ = u(L.Pb(), 79), F = Dse(_), F && (k = u(gc(qo(e.f, F)), 21), k || (k = Xoe(F), du(e.f, F, k)), io(n, k)) } } function x3n(t, e) { aat(); var n, r, s, o, h, d, w, k, _, L, F, q, G, W; if (w = Oc(t, 0) < 0, w && (t = O8(t)), Oc(t, 0) == 0) switch (e) { case 0: return "0"; case 1: return I7; case 2: return "0.00"; case 3: return "0.000"; case 4: return "0.0000"; case 5: return "0.00000"; case 6: return "0.000000"; default: return q = new Ap, e < 0 ? q.a += "0E+" : q.a += "0E", q.a += e == $a ? "2147483648" : "" + -e, q.a }_ = 18, L = Ot(Sh, Ed, 25, _ + 1, 15, 1), n = _, W = t; do k = W, W = tI(W, 10), L[--n] = $r(Wa(48, Qp(k, ja(W, 10)))) & Ns; while (Oc(W, 0) != 0); if (s = Qp(Qp(Qp(_, n), e), 1), e == 0) return w && (L[--n] = 45), Fh(L, n, _ - n); if (e > 0 && Oc(s, -6) >= 0) { if (Oc(s, 0) >= 0) { for (o = n + $r(s), d = _ - 1; d >= o; d--)L[d + 1] = L[d]; return L[++o] = 46, w && (L[--n] = 45), Fh(L, n, _ - n + 1) } for (h = 2; eet(h, Wa(O8(s), 1)); h++)L[--n] = 48; return L[--n] = 46, L[--n] = 48, w && (L[--n] = 45), Fh(L, n, _ - n) } return G = n + 1, r = _, F = new Sm, w && (F.a += "-"), r - G >= 1 ? ($p(F, L[n]), F.a += ".", F.a += Fh(L, n + 1, _ - n - 1)) : F.a += Fh(L, n, _ - n), F.a += "E", Oc(s, 0) > 0 && (F.a += "+"), F.a += "" + v_(s), F.a } function k3n(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q; if (t.e.a.$b(), t.f.a.$b(), t.c.c = Ot(nr, De, 1, 0, 5, 1), t.i.c = Ot(nr, De, 1, 0, 5, 1), t.g.a.$b(), e) for (h = new S(e.a); h.a < h.c.c.length;)for (o = u(Q(h), 10), L = Bg(o, (we(), Wn)).Kc(); L.Ob();)for (_ = u(L.Pb(), 11), Ys(t.e, _), s = new S(_.g); s.a < s.c.c.length;)r = u(Q(s), 17), !ro(r) && (ue(t.c, r), nie(t, r), d = r.c.i.k, (d == (Kn(), Ws) || d == Jc || d == Fs || d == W1) && ue(t.j, r), q = r.d, F = q.i.c, F == n ? Ys(t.f, q) : F == e ? Ys(t.e, q) : Au(t.c, r)); if (n) for (h = new S(n.a); h.a < h.c.c.length;) { for (o = u(Q(h), 10), k = new S(o.j); k.a < k.c.c.length;)for (w = u(Q(k), 11), s = new S(w.g); s.a < s.c.c.length;)r = u(Q(s), 17), ro(r) && Ys(t.g, r); for (L = Bg(o, (we(), jn)).Kc(); L.Ob();)for (_ = u(L.Pb(), 11), Ys(t.f, _), s = new S(_.g); s.a < s.c.c.length;)r = u(Q(s), 17), !ro(r) && (ue(t.c, r), nie(t, r), d = r.c.i.k, (d == (Kn(), Ws) || d == Jc || d == Fs || d == W1) && ue(t.j, r), q = r.d, F = q.i.c, F == n ? Ys(t.f, q) : F == e ? Ys(t.e, q) : Au(t.c, r)) } } function hw(t, e, n, r, s) { var o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce; if (Z = new je(t.g, t.f), W = T4t(t), W.a = b.Math.max(W.a, e), W.b = b.Math.max(W.b, n), ce = W.a / Z.a, _ = W.b / Z.b, Pt = W.a - Z.a, w = W.b - Z.b, r) for (h = gs(t) ? u(ze(gs(t), (Ti(), Fw)), 103) : u(ze(t, (Ti(), Fw)), 103), d = qt(ze(t, (Ti(), $S))) === qt((xa(), eu)), Lt = new lr((!t.c && (t.c = new he(El, t, 9, 9)), t.c)); Lt.e != Lt.i.gc();)switch (bt = u(kr(Lt), 118), Ct = u(ze(bt, o5), 61), Ct == (we(), fc) && (Ct = F5t(bt, h), Mo(bt, o5, Ct)), Ct.g) { case 1: d || Du(bt, bt.i * ce); break; case 2: Du(bt, bt.i + Pt), d || Iu(bt, bt.j * _); break; case 3: d || Du(bt, bt.i * ce), Iu(bt, bt.j + w); break; case 4: d || Iu(bt, bt.j * _) }if (XR(t, W.a, W.b), s) for (F = new lr((!t.n && (t.n = new he(ec, t, 1, 7)), t.n)); F.e != F.i.gc();)L = u(kr(F), 137), q = L.i + L.g / 2, G = L.j + L.f / 2, Yt = q / Z.a, k = G / Z.b, Yt + k >= 1 && (Yt - k > 0 && G >= 0 ? (Du(L, L.i + Pt), Iu(L, L.j + w * k)) : Yt - k < 0 && q >= 0 && (Du(L, L.i + Pt * Yt), Iu(L, L.j + w))); return Mo(t, (Ti(), jb), (Fl(), o = u(Yf(KS), 9), new hh(o, u(pf(o, o.length), 9), 0))), new je(ce, _) } function Ile(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G; if (q = gs(Vo(u(St((!t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b), 0), 82))), G = gs(Vo(u(St((!t.c && (t.c = new Tn(Cr, t, 5, 8)), t.c), 0), 82))), L = q == G, d = new Ra, e = u(ze(t, (oz(), JSt)), 74), e && e.b >= 2) { if ((!t.a && (t.a = new he(fs, t, 6, 6)), t.a).i == 0) n = (xv(), s = new ud, s), Hr((!t.a && (t.a = new he(fs, t, 6, 6)), t.a), n); else if ((!t.a && (t.a = new he(fs, t, 6, 6)), t.a).i > 1) for (F = new A6((!t.a && (t.a = new he(fs, t, 6, 6)), t.a)); F.e != F.i.gc();)rC(F); mI(e, u(St((!t.a && (t.a = new he(fs, t, 6, 6)), t.a), 0), 202)) } if (L) for (r = new lr((!t.a && (t.a = new he(fs, t, 6, 6)), t.a)); r.e != r.i.gc();)for (n = u(kr(r), 202), k = new lr((!n.a && (n.a = new qs(Qh, n, 5)), n.a)); k.e != k.i.gc();)w = u(kr(k), 469), d.a = b.Math.max(d.a, w.a), d.b = b.Math.max(d.b, w.b); for (h = new lr((!t.n && (t.n = new he(ec, t, 1, 7)), t.n)); h.e != h.i.gc();)o = u(kr(h), 137), _ = u(ze(o, qS), 8), _ && S1(o, _.a, _.b), L && (d.a = b.Math.max(d.a, o.i + o.g), d.b = b.Math.max(d.b, o.j + o.f)); return d } function E3n(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge; for (Ct = e.c.length, s = new x4(t.a, n, null, null), Ge = Ot(wa, Do, 25, Ct, 15, 1), W = Ot(wa, Do, 25, Ct, 15, 1), G = Ot(wa, Do, 25, Ct, 15, 1), Z = 0, d = 0; d < Ct; d++)W[d] = Di, G[d] = $a; for (w = 0; w < Ct; w++)for (r = (An(w, e.c.length), u(e.c[w], 180)), Ge[w] = Pst(r), Ge[Z] > Ge[w] && (Z = w), L = new S(t.a.b); L.a < L.c.c.length;)for (_ = u(Q(L), 29), Lt = new S(_.a); Lt.a < Lt.c.c.length;)bt = u(Q(Lt), 10), ce = Xt(r.p[bt.p]) + Xt(r.d[bt.p]), W[w] = b.Math.min(W[w], ce), G[w] = b.Math.max(G[w], ce + bt.o.b); for (Se = Ot(wa, Do, 25, Ct, 15, 1), k = 0; k < Ct; k++)(An(k, e.c.length), u(e.c[k], 180)).o == (D1(), Bb) ? Se[k] = W[Z] - W[k] : Se[k] = G[Z] - G[k]; for (o = Ot(wa, Do, 25, Ct, 15, 1), q = new S(t.a.b); q.a < q.c.c.length;)for (F = u(Q(q), 29), Yt = new S(F.a); Yt.a < Yt.c.c.length;) { for (Pt = u(Q(Yt), 10), h = 0; h < Ct; h++)o[h] = Xt((An(h, e.c.length), u(e.c[h], 180)).p[Pt.p]) + Xt((An(h, e.c.length), u(e.c[h], 180)).d[Pt.p]) + Se[h]; o.sort(Ste(lt.prototype.te, lt, [])), s.p[Pt.p] = (o[1] + o[2]) / 2, s.d[Pt.p] = 0 } return s } function T3n(t, e, n) { var r, s, o, h, d; switch (r = e.i, o = t.i.o, s = t.i.d, d = t.n, h = cc(ct(ot(sa, 1), te, 8, 0, [d, t.a])), t.j.g) { case 1: bd(e, (Lu(), Cf)), r.d = -s.d - n - r.a, u(u(Fe(e.d, 0), 181).We((ie(), Dx)), 285) == (Wl(), f0) ? (Zf(e, (ol(), _f)), r.c = h.a - Xt(xe(K(t, W4))) - n - r.b) : (Zf(e, (ol(), Od)), r.c = h.a + Xt(xe(K(t, W4))) + n); break; case 2: Zf(e, (ol(), Od)), r.c = o.a + s.c + n, u(u(Fe(e.d, 0), 181).We((ie(), Dx)), 285) == (Wl(), f0) ? (bd(e, (Lu(), Cf)), r.d = h.b - Xt(xe(K(t, W4))) - n - r.a) : (bd(e, (Lu(), o1)), r.d = h.b + Xt(xe(K(t, W4))) + n); break; case 3: bd(e, (Lu(), o1)), r.d = o.b + s.a + n, u(u(Fe(e.d, 0), 181).We((ie(), Dx)), 285) == (Wl(), f0) ? (Zf(e, (ol(), _f)), r.c = h.a - Xt(xe(K(t, W4))) - n - r.b) : (Zf(e, (ol(), Od)), r.c = h.a + Xt(xe(K(t, W4))) + n); break; case 4: Zf(e, (ol(), _f)), r.c = -s.b - n - r.b, u(u(Fe(e.d, 0), 181).We((ie(), Dx)), 285) == (Wl(), f0) ? (bd(e, (Lu(), Cf)), r.d = h.b - Xt(xe(K(t, W4))) - n - r.a) : (bd(e, (Lu(), o1)), r.d = h.b + Xt(xe(K(t, W4))) + n) } } function _3n(t, e, n, r, s, o, h) { var d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn, yr, Li, Js; for (q = 0, $n = 0, w = new S(t); w.a < w.c.c.length;)d = u(Q(w), 33), ple(d), q = b.Math.max(q, d.g), $n += d.g * d.f; for (G = $n / t.c.length, Qe = Shn(t, G), $n += t.c.length * Qe, q = b.Math.max(q, b.Math.sqrt($n * h)) + n.b, Li = n.b, Js = n.d, F = 0, _ = n.b + n.c, Ge = new hs, pi(Ge, pe(0)), ce = new hs, k = new Ca(t, 0); k.b < k.d.gc();)d = (ir(k.b < k.d.gc()), u(k.d.Xb(k.c = k.b++), 33)), yr = d.g, L = d.f, Li + yr > q && (o && (U2(ce, F), U2(Ge, pe(k.b - 1))), Li = n.b, Js += F + e, F = 0, _ = b.Math.max(_, n.b + n.c + yr)), Du(d, Li), Iu(d, Js), _ = b.Math.max(_, Li + yr + n.c), F = b.Math.max(F, L), Li += yr + e; if (_ = b.Math.max(_, r), Gn = Js + F + n.a, Gn < s && (F += s - Gn, Gn = s), o) for (Li = n.b, k = new Ca(t, 0), U2(Ge, pe(t.c.length)), Se = gi(Ge, 0), bt = u(di(Se), 19).a, U2(ce, F), Yt = gi(ce, 0), Pt = 0; k.b < k.d.gc();)k.b == bt && (Li = n.b, Pt = Xt(xe(di(Yt))), bt = u(di(Se), 19).a), d = (ir(k.b < k.d.gc()), u(k.d.Xb(k.c = k.b++), 33)), Lt = d.f, Wv(d, Pt), W = Pt, k.b == bt && (Z = _ - Li - n.c, Ct = d.g, Kv(d, Z), fae(d, new je(Z, W), new je(Ct, Lt))), Li += d.g + e; return new je(_, Gn) } function C3n(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe; for (Ar(e, "Compound graph postprocessor", 1), n = Re(Be(K(t, (Ce(), Vlt)))), d = u(K(t, (ie(), MEt)), 224), _ = new na, bt = d.ec().Kc(); bt.Ob();) { for (Z = u(bt.Pb(), 17), h = new Uu(d.cc(Z)), pn(), ua(h, new Ri(t)), Yt = can((An(0, h.c.length), u(h.c[0], 243))), Se = xee(u(Fe(h, h.c.length - 1), 243)), Ct = Yt.i, G8(Se.i, Ct) ? Lt = Ct.e : Lt = Qa(Ct), L = hln(Z, h), Nh(Z.a), F = null, o = new S(h); o.a < o.c.c.length;)s = u(Q(o), 243), W = new Ra, x4t(W, s.a, Lt), q = s.b, r = new Hu, bit(r, 0, q.a), Qm(r, W), Pt = new No(I1(q.c)), ce = new No(I1(q.d)), $i(Pt, W), $i(ce, W), F && (r.b == 0 ? G = ce : G = (ir(r.b != 0), u(r.a.a.c, 8)), Ge = b.Math.abs(F.a - G.a) > Cd, Qe = b.Math.abs(F.b - G.b) > Cd, (!n && Ge && Qe || n && (Ge || Qe)) && pi(Z.a, Pt)), io(Z.a, r), r.b == 0 ? F = Pt : F = (ir(r.b != 0), u(r.c.b.c, 8)), zan(q, L, W), xee(s) == Se && (Qa(Se.i) != s.a && (W = new Ra, x4t(W, Qa(Se.i), Lt)), Jt(Z, Alt, W)), hdn(q, Z, Lt), _.a.zc(q, _); Ua(Z, Yt), ma(Z, Se) } for (k = _.a.ec().Kc(); k.Ob();)w = u(k.Pb(), 17), Ua(w, null), ma(w, null); br(e) } function Ole(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt; if (t.gc() == 1) return u(t.Xb(0), 231); if (t.gc() <= 0) return new v$; for (s = t.Kc(); s.Ob();) { for (n = u(s.Pb(), 231), G = 0, _ = Di, L = Di, w = $a, k = $a, q = new S(n.e); q.a < q.c.c.length;)F = u(Q(q), 144), G += u(K(F, (i1(), t9)), 19).a, _ = b.Math.min(_, F.d.a - F.e.a / 2), L = b.Math.min(L, F.d.b - F.e.b / 2), w = b.Math.max(w, F.d.a + F.e.a / 2), k = b.Math.max(k, F.d.b + F.e.b / 2); Jt(n, (i1(), t9), pe(G)), Jt(n, (Up(), iS), new je(_, L)), Jt(n, fO, new je(w, k)) } for (pn(), t.ad(new bp), W = new v$, Ho(W, u(t.Xb(0), 94)), d = 0, Lt = 0, o = t.Kc(); o.Ob();)n = u(o.Pb(), 231), Z = ba(pc(u(K(n, (Up(), fO)), 8)), u(K(n, iS), 8)), d = b.Math.max(d, Z.a), Lt += Z.a * Z.b; for (d = b.Math.max(d, b.Math.sqrt(Lt) * Xt(xe(K(W, (i1(), spe))))), bt = Xt(xe(K(W, XH))), Ct = 0, Pt = 0, h = 0, e = bt, r = t.Kc(); r.Ob();)n = u(r.Pb(), 231), Z = ba(pc(u(K(n, (Up(), fO)), 8)), u(K(n, iS), 8)), Ct + Z.a > d && (Ct = 0, Pt += h + bt, h = 0), uvn(W, n, Ct, Pt), e = b.Math.max(e, Ct + Z.a), h = b.Math.max(h, Z.b), Ct += Z.a + bt; return W } function Nle(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G; switch (_ = new Hu, t.a.g) { case 3: F = u(K(e.e, (ie(), Ib)), 15), q = u(K(e.j, Ib), 15), G = u(K(e.f, Ib), 15), n = u(K(e.e, X4), 15), r = u(K(e.j, X4), 15), s = u(K(e.f, X4), 15), h = new le, Hs(h, F), q.Jc(new jX), Hs(h, Et(q, 152) ? V6(u(q, 152)) : Et(q, 131) ? u(q, 131).a : Et(q, 54) ? new bv(q) : new Am(q)), Hs(h, G), o = new le, Hs(o, n), Hs(o, Et(r, 152) ? V6(u(r, 152)) : Et(r, 131) ? u(r, 131).a : Et(r, 54) ? new bv(r) : new Am(r)), Hs(o, s), Jt(e.f, Ib, h), Jt(e.f, X4, o), Jt(e.f, REt, e.f), Jt(e.e, Ib, null), Jt(e.e, X4, null), Jt(e.j, Ib, null), Jt(e.j, X4, null); break; case 1: io(_, e.e.a), pi(_, e.i.n), io(_, ib(e.j.a)), pi(_, e.a.n), io(_, e.f.a); break; default: io(_, e.e.a), io(_, ib(e.j.a)), io(_, e.f.a) }Nh(e.f.a), io(e.f.a, _), Ua(e.f, e.e.c), d = u(K(e.e, (Ce(), $o)), 74), k = u(K(e.j, $o), 74), w = u(K(e.f, $o), 74), (d || k || w) && (L = new Hu, Vvt(L, w), Vvt(L, k), Vvt(L, d), Jt(e.f, $o, L)), Ua(e.j, null), ma(e.j, null), Ua(e.e, null), ma(e.e, null), Fo(e.a, null), Fo(e.i, null), e.g && Nle(t, e.g) } function S3n(t) { P5t(); var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z; if (t == null || (o = L$(t), G = gcn(o), G % 4 != 0)) return null; if (W = G / 4 | 0, W == 0) return Ot(tl, N4, 25, 0, 15, 1); for (L = null, e = 0, n = 0, r = 0, s = 0, h = 0, d = 0, w = 0, k = 0, q = 0, F = 0, _ = 0, L = Ot(tl, N4, 25, W * 3, 15, 1); q < W - 1; q++) { if (!fM(h = o[_++]) || !fM(d = o[_++]) || !fM(w = o[_++]) || !fM(k = o[_++])) return null; e = td[h], n = td[d], r = td[w], s = td[k], L[F++] = (e << 2 | n >> 4) << 24 >> 24, L[F++] = ((n & 15) << 4 | r >> 2 & 15) << 24 >> 24, L[F++] = (r << 6 | s) << 24 >> 24 } return !fM(h = o[_++]) || !fM(d = o[_++]) ? null : (e = td[h], n = td[d], w = o[_++], k = o[_++], td[w] == -1 || td[k] == -1 ? w == 61 && k == 61 ? n & 15 ? null : (Z = Ot(tl, N4, 25, q * 3 + 1, 15, 1), qc(L, 0, Z, 0, q * 3), Z[F] = (e << 2 | n >> 4) << 24 >> 24, Z) : w != 61 && k == 61 ? (r = td[w], r & 3 ? null : (Z = Ot(tl, N4, 25, q * 3 + 2, 15, 1), qc(L, 0, Z, 0, q * 3), Z[F++] = (e << 2 | n >> 4) << 24 >> 24, Z[F] = ((n & 15) << 4 | r >> 2 & 15) << 24 >> 24, Z)) : null : (r = td[w], s = td[k], L[F++] = (e << 2 | n >> 4) << 24 >> 24, L[F++] = ((n & 15) << 4 | r >> 2 & 15) << 24 >> 24, L[F++] = (r << 6 | s) << 24 >> 24, L)) } function A3n(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt; for (Ar(e, mfe, 1), G = u(K(t, (Ce(), Y0)), 218), s = new S(t.b); s.a < s.c.c.length;)for (r = u(Q(s), 29), k = iD(r.a), h = k, d = 0, w = h.length; d < w; ++d)if (o = h[d], o.k == (Kn(), Jc)) { if (G == (z0(), qx)) for (L = new S(o.j); L.a < L.c.c.length;)_ = u(Q(L), 11), _.e.c.length == 0 || Wun(_), _.g.c.length == 0 || Kun(_); else if (Et(K(o, (ie(), Bi)), 17)) Z = u(K(o, Bi), 17), bt = u(Bg(o, (we(), jn)).Kc().Pb(), 11), Lt = u(Bg(o, Wn).Kc().Pb(), 11), Ct = u(K(bt, Bi), 11), Pt = u(K(Lt, Bi), 11), Ua(Z, Pt), ma(Z, Ct), Yt = new No(Lt.i.n), Yt.a = cc(ct(ot(sa, 1), te, 8, 0, [Pt.i.n, Pt.n, Pt.a])).a, pi(Z.a, Yt), Yt = new No(bt.i.n), Yt.a = cc(ct(ot(sa, 1), te, 8, 0, [Ct.i.n, Ct.n, Ct.a])).a, pi(Z.a, Yt); else { if (o.j.c.length >= 2) { for (W = !0, F = new S(o.j), n = u(Q(F), 11), q = null; F.a < F.c.c.length;)if (q = n, n = u(Q(F), 11), !Ni(K(q, Bi), K(n, Bi))) { W = !1; break } } else W = !1; for (L = new S(o.j); L.a < L.c.c.length;)_ = u(Q(L), 11), _.e.c.length == 0 || x2n(_, W), _.g.c.length == 0 || k2n(_, W) } Fo(o, null) } br(e) } function Ple(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge; return Ct = t.c[(An(0, e.c.length), u(e.c[0], 17)).p], Se = t.c[(An(1, e.c.length), u(e.c[1], 17)).p], Ct.a.e.e - Ct.a.a - (Ct.b.e.e - Ct.b.a) == 0 && Se.a.e.e - Se.a.a - (Se.b.e.e - Se.b.a) == 0 || (bt = Ct.b.e.f, !Et(bt, 10)) ? !1 : (Z = u(bt, 10), Yt = t.i[Z.p], ce = Z.c ? Qo(Z.c.a, Z, 0) : -1, o = ms, ce > 0 && (s = u(Fe(Z.c.a, ce - 1), 10), h = t.i[s.p], Ge = b.Math.ceil(G3(t.n, s, Z)), o = Yt.a.e - Z.d.d - (h.a.e + s.o.b + s.d.a) - Ge), k = ms, ce < Z.c.a.c.length - 1 && (w = u(Fe(Z.c.a, ce + 1), 10), _ = t.i[w.p], Ge = b.Math.ceil(G3(t.n, w, Z)), k = _.a.e - w.d.d - (Yt.a.e + Z.o.b + Z.d.a) - Ge), n && (A1(), yf(Ld), b.Math.abs(o - k) <= Ld || o == k || isNaN(o) && isNaN(k)) ? !0 : (r = Dnt(Ct.a), d = -Dnt(Ct.b), L = -Dnt(Se.a), Lt = Dnt(Se.b), W = Ct.a.e.e - Ct.a.a - (Ct.b.e.e - Ct.b.a) > 0 && Se.a.e.e - Se.a.a - (Se.b.e.e - Se.b.a) < 0, G = Ct.a.e.e - Ct.a.a - (Ct.b.e.e - Ct.b.a) < 0 && Se.a.e.e - Se.a.a - (Se.b.e.e - Se.b.a) > 0, q = Ct.a.e.e + Ct.b.a < Se.b.e.e + Se.a.a, F = Ct.a.e.e + Ct.b.a > Se.b.e.e + Se.a.a, Pt = 0, !W && !G && (F ? o + L > 0 ? Pt = L : k - r > 0 && (Pt = r) : q && (o + d > 0 ? Pt = d : k - Lt > 0 && (Pt = Lt))), Yt.a.e += Pt, Yt.b && (Yt.d.e += Pt), !1)) } function Fle(t, e, n) { var r, s, o, h, d, w, k, _, L, F; if (r = new fh(e.qf().a, e.qf().b, e.rf().a, e.rf().b), s = new S6, t.c) for (h = new S(e.wf()); h.a < h.c.c.length;)o = u(Q(h), 181), s.c = o.qf().a + e.qf().a, s.d = o.qf().b + e.qf().b, s.b = o.rf().a, s.a = o.rf().b, sC(r, s); for (k = new S(e.Cf()); k.a < k.c.c.length;) { if (w = u(Q(k), 838), _ = w.qf().a + e.qf().a, L = w.qf().b + e.qf().b, t.e && (s.c = _, s.d = L, s.b = w.rf().a, s.a = w.rf().b, sC(r, s)), t.d) for (h = new S(w.wf()); h.a < h.c.c.length;)o = u(Q(h), 181), s.c = o.qf().a + _, s.d = o.qf().b + L, s.b = o.rf().a, s.a = o.rf().b, sC(r, s); if (t.b) { if (F = new je(-n, -n), u(e.We((Ti(), Uy)), 174).Hc((cl(), E2))) for (h = new S(w.wf()); h.a < h.c.c.length;)o = u(Q(h), 181), F.a += o.rf().a + n, F.b += o.rf().b + n; F.a = b.Math.max(F.a, 0), F.b = b.Math.max(F.b, 0), iue(r, w.Bf(), w.zf(), e, w, F, n) } } t.b && iue(r, e.Bf(), e.zf(), e, null, null, n), d = new ant(e.Af()), d.d = b.Math.max(0, e.qf().b - r.d), d.a = b.Math.max(0, r.d + r.a - (e.qf().b + e.rf().b)), d.b = b.Math.max(0, e.qf().a - r.c), d.c = b.Math.max(0, r.c + r.b - (e.qf().a + e.rf().a)), e.Ef(d) } function L3n() { var t = ["\\u0000", "\\u0001", "\\u0002", "\\u0003", "\\u0004", "\\u0005", "\\u0006", "\\u0007", "\\b", "\\t", "\\n", "\\u000B", "\\f", "\\r", "\\u000E", "\\u000F", "\\u0010", "\\u0011", "\\u0012", "\\u0013", "\\u0014", "\\u0015", "\\u0016", "\\u0017", "\\u0018", "\\u0019", "\\u001A", "\\u001B", "\\u001C", "\\u001D", "\\u001E", "\\u001F"]; return t[34] = '\\"', t[92] = "\\\\", t[173] = "\\u00ad", t[1536] = "\\u0600", t[1537] = "\\u0601", t[1538] = "\\u0602", t[1539] = "\\u0603", t[1757] = "\\u06dd", t[1807] = "\\u070f", t[6068] = "\\u17b4", t[6069] = "\\u17b5", t[8203] = "\\u200b", t[8204] = "\\u200c", t[8205] = "\\u200d", t[8206] = "\\u200e", t[8207] = "\\u200f", t[8232] = "\\u2028", t[8233] = "\\u2029", t[8234] = "\\u202a", t[8235] = "\\u202b", t[8236] = "\\u202c", t[8237] = "\\u202d", t[8238] = "\\u202e", t[8288] = "\\u2060", t[8289] = "\\u2061", t[8290] = "\\u2062", t[8291] = "\\u2063", t[8292] = "\\u2064", t[8298] = "\\u206a", t[8299] = "\\u206b", t[8300] = "\\u206c", t[8301] = "\\u206d", t[8302] = "\\u206e", t[8303] = "\\u206f", t[65279] = "\\ufeff", t[65529] = "\\ufff9", t[65530] = "\\ufffa", t[65531] = "\\ufffb", t } function M3n(t, e, n) { var r, s, o, h, d, w, k, _, L, F; for (w = new le, L = e.length, h = syt(n), k = 0; k < L; ++k) { switch (_ = abt(e, Nu(61), k), r = fcn(h, e.substr(k, _ - k)), s = eit(r), o = s.Aj().Nh(), Ia(e, ++_)) { case 39: { d = l8(e, 39, ++_), ue(w, new VR(r, Hnt(e.substr(_, d - _), o, s))), k = d + 1; break } case 34: { d = l8(e, 34, ++_), ue(w, new VR(r, Hnt(e.substr(_, d - _), o, s))), k = d + 1; break } case 91: { F = new le, ue(w, new VR(r, F)); t: for (; ;) { switch (Ia(e, ++_)) { case 39: { d = l8(e, 39, ++_), ue(F, Hnt(e.substr(_, d - _), o, s)), _ = d + 1; break } case 34: { d = l8(e, 34, ++_), ue(F, Hnt(e.substr(_, d - _), o, s)), _ = d + 1; break } case 110: { if (++_, e.indexOf("ull", _) == _) F.c[F.c.length] = null; else throw et(new ic(A1e)); _ += 3; break } }if (_ < L) switch (Yr(_, e.length), e.charCodeAt(_)) { case 44: break; case 93: break t; default: throw et(new ic("Expecting , or ]")) } else break } k = _ + 1; break } case 110: { if (++_, e.indexOf("ull", _) == _) ue(w, new VR(r, null)); else throw et(new ic(A1e)); k = _ + 3; break } }if (k < L) { if (Yr(k, e.length), e.charCodeAt(k) != 44) throw et(new ic("Expecting ,")) } else break } return K2n(t, w, n) } function Ble(t, e) { var n, r, s, o, h, d, w, k, _, L, F; for (k = u(u(ji(t.r, e), 21), 84), h = M1n(t, e), n = t.u.Hc((cl(), US)), w = k.Kc(); w.Ob();)if (d = u(w.Pb(), 111), !(!d.c || d.c.d.c.length <= 0)) { switch (F = d.b.rf(), _ = d.c, L = _.i, L.b = (o = _.n, _.e.a + o.b + o.c), L.a = (s = _.n, _.e.b + s.d + s.a), e.g) { case 1: d.a ? (L.c = (F.a - L.b) / 2, Zf(_, (ol(), l2))) : h || n ? (L.c = -L.b - t.s, Zf(_, (ol(), _f))) : (L.c = F.a + t.s, Zf(_, (ol(), Od))), L.d = -L.a - t.t, bd(_, (Lu(), Cf)); break; case 3: d.a ? (L.c = (F.a - L.b) / 2, Zf(_, (ol(), l2))) : h || n ? (L.c = -L.b - t.s, Zf(_, (ol(), _f))) : (L.c = F.a + t.s, Zf(_, (ol(), Od))), L.d = F.b + t.t, bd(_, (Lu(), o1)); break; case 2: d.a ? (r = t.v ? L.a : u(Fe(_.d, 0), 181).rf().b, L.d = (F.b - r) / 2, bd(_, (Lu(), h2))) : h || n ? (L.d = -L.a - t.t, bd(_, (Lu(), Cf))) : (L.d = F.b + t.t, bd(_, (Lu(), o1))), L.c = F.a + t.s, Zf(_, (ol(), Od)); break; case 4: d.a ? (r = t.v ? L.a : u(Fe(_.d, 0), 181).rf().b, L.d = (F.b - r) / 2, bd(_, (Lu(), h2))) : h || n ? (L.d = -L.a - t.t, bd(_, (Lu(), Cf))) : (L.d = F.b + t.t, bd(_, (Lu(), o1))), L.c = -L.b - t.s, Zf(_, (ol(), _f)) }h = !1 } } function n2(t, e) { Ai(); var n, r, s, o, h, d, w, k, _, L, F, q, G; if (NT(O9) == 0) { for (L = Ot(X4n, te, 117, j4e.length, 0, 1), h = 0; h < L.length; h++)L[h] = new ql(4); for (r = new DT, o = 0; o < JAt.length; o++) { if (_ = new ql(4), o < 84 ? (d = o * 2, q = (Yr(d, tut.length), tut.charCodeAt(d)), F = (Yr(d + 1, tut.length), tut.charCodeAt(d + 1)), Yc(_, q, F)) : (d = (o - 84) * 2, Yc(_, tLt[d], tLt[d + 1])), w = JAt[o], ln(w, "Specials") && Yc(_, 65520, 65533), ln(w, f0e) && (Yc(_, 983040, 1048573), Yc(_, 1048576, 1114109)), Po(O9, w, _), Po(sA, w, gy(_)), k = r.a.length, 0 < k ? r.a = r.a.substr(0, 0) : 0 > k && (r.a += zGt(Ot(Sh, Ed, 25, -k, 15, 1))), r.a += "Is", gd(w, Nu(32)) >= 0) for (s = 0; s < w.length; s++)Yr(s, w.length), w.charCodeAt(s) != 32 && m8(r, (Yr(s, w.length), w.charCodeAt(s))); else r.a += "" + w; e3t(r.a, w, !0) } e3t(Jct, "Cn", !1), e3t(T8t, "Cn", !0), n = new ql(4), Yc(n, 0, W7), Po(O9, "ALL", n), Po(sA, "ALL", gy(n)), !t3 && (t3 = new Rr), Po(t3, Jct, Jct), !t3 && (t3 = new Rr), Po(t3, T8t, T8t), !t3 && (t3 = new Rr), Po(t3, "ALL", "ALL") } return G = u(Uc(e ? O9 : sA, t), 136), G } function D3n(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt; if (F = !1, L = !1, H3(u(K(r, (Ce(), xs)), 98))) { h = !1, d = !1; t: for (G = new S(r.j); G.a < G.c.c.length;)for (q = u(Q(G), 11), Z = jp(B1(ct(ot(G1, 1), De, 20, 0, [new ca(q), new Fr(q)]))); Zr(Z);)if (W = u(qr(Z), 11), !Re(Be(K(W.i, bS)))) { if (q.j == (we(), Fn)) { h = !0; break t } if (q.j == Lr) { d = !0; break t } } F = d && !h, L = h && !d } if (!F && !L && r.b.c.length != 0) { for (_ = 0, k = new S(r.b); k.a < k.c.c.length;)w = u(Q(k), 70), _ += w.n.b + w.o.b / 2; _ /= r.b.c.length, Lt = _ >= r.o.b / 2 } else Lt = !L; Lt ? (bt = u(K(r, (ie(), Ox)), 15), bt ? F ? o = bt : (s = u(K(r, Ax), 15), s ? bt.gc() <= s.gc() ? o = bt : o = s : (o = new le, Jt(r, Ax, o))) : (o = new le, Jt(r, Ox, o))) : (s = u(K(r, (ie(), Ax)), 15), s ? L ? o = s : (bt = u(K(r, Ox), 15), bt ? s.gc() <= bt.gc() ? o = s : o = bt : (o = new le, Jt(r, Ox, o))) : (o = new le, Jt(r, Ax, o))), o.Fc(t), Jt(t, (ie(), IV), n), e.d == n ? (ma(e, null), n.e.c.length + n.g.c.length == 0 && ac(n, null), kon(n)) : (Ua(e, null), n.e.c.length + n.g.c.length == 0 && ac(n, null)), Nh(e.a) } function I3n(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn, yr, Li; for (Lt = new Ca(t.b, 0), _ = e.Kc(), G = 0, k = u(_.Pb(), 19).a, Yt = 0, n = new na, Se = new S0; Lt.b < Lt.d.gc();) { for (bt = (ir(Lt.b < Lt.d.gc()), u(Lt.d.Xb(Lt.c = Lt.b++), 29)), Pt = new S(bt.a); Pt.a < Pt.c.c.length;) { for (Ct = u(Q(Pt), 10), q = new pr(mr(Gs(Ct).a.Kc(), new H)); Zr(q);)L = u(qr(q), 17), Se.a.zc(L, Se); for (F = new pr(mr(Zo(Ct).a.Kc(), new H)); Zr(F);)L = u(qr(F), 17), Se.a.Bc(L) != null } if (G + 1 == k) { for (s = new Oh(t), Fm(Lt, s), o = new Oh(t), Fm(Lt, o), Qe = Se.a.ec().Kc(); Qe.Ob();)Ge = u(Qe.Pb(), 17), n.a._b(Ge) || (++Yt, n.a.zc(Ge, n)), h = new q0(t), Jt(h, (Ce(), xs), (xa(), L9)), Fo(h, s), _0(h, (Kn(), W1)), W = new zc, ac(W, h), Qs(W, (we(), jn)), $n = new zc, ac($n, h), Qs($n, Wn), r = new q0(t), Jt(r, xs, L9), Fo(r, o), _0(r, W1), Z = new zc, ac(Z, r), Qs(Z, jn), Gn = new zc, ac(Gn, r), Qs(Gn, Wn), ce = new Rv, Ua(ce, Ge.c), ma(ce, W), Li = new Rv, Ua(Li, $n), ma(Li, Z), Ua(Ge, Gn), d = new Iwt(h, r, ce, Li, Ge), Jt(h, (ie(), Cw), d), Jt(r, Cw, d), yr = ce.c.i, yr.k == W1 && (w = u(K(yr, Cw), 305), w.d = d, d.g = w); if (_.Ob()) k = u(_.Pb(), 19).a; else break } ++G } return pe(Yt) } function O3n(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W; for (L = 0, s = new lr((!e.a && (e.a = new he(bs, e, 10, 11)), e.a)); s.e != s.i.gc();)r = u(kr(s), 33), Re(Be(ze(r, (Ce(), Pb)))) || ((qt(ze(e, p2)) !== qt((R0(), b2)) || qt(ze(e, Fy)) === qt((pb(), uS)) || qt(ze(e, Fy)) === qt((pb(), cS)) || Re(Be(ze(e, Py))) || qt(ze(e, Nx)) !== qt((Zv(), $4))) && !Re(Be(ze(r, Mlt))) && (Mo(r, (ie(), Bc), pe(L)), ++L), ble(t, r, n)); for (L = 0, k = new lr((!e.b && (e.b = new he(aa, e, 12, 3)), e.b)); k.e != k.i.gc();)d = u(kr(k), 79), (qt(ze(e, (Ce(), p2))) !== qt((R0(), b2)) || qt(ze(e, Fy)) === qt((pb(), uS)) || qt(ze(e, Fy)) === qt((pb(), cS)) || Re(Be(ze(e, Py))) || qt(ze(e, Nx)) !== qt((Zv(), $4))) && (Mo(d, (ie(), Bc), pe(L)), ++L), G = e0(d), W = Zp(d), _ = Re(Be(ze(G, Ry))), q = !Re(Be(ze(d, Pb))), F = _ && aw(d) && Re(Be(ze(d, Ob))), o = gs(G) == e && gs(G) == gs(W), h = (gs(G) == e && W == e) ^ (gs(W) == e && G == e), q && !F && (h || o) && o6t(t, d, e, n); if (gs(e)) for (w = new lr(PYt(gs(e))); w.e != w.i.gc();)d = u(kr(w), 79), G = e0(d), G == e && aw(d) && (F = Re(Be(ze(G, (Ce(), Ry)))) && Re(Be(ze(d, Ob))), F && o6t(t, d, e, n)) } function N3n(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn, yr, Li, Js; for (Ar(n, "MinWidth layering", 1), q = e.b, Se = e.a, Js = u(K(e, (Ce(), ITt)), 19).a, d = u(K(e, OTt), 19).a, t.b = Xt(xe(K(e, Sf))), t.d = ms, Pt = new S(Se); Pt.a < Pt.c.c.length;)Lt = u(Q(Pt), 10), Lt.k == (Kn(), Ws) && ($n = Lt.o.b, t.d = b.Math.min(t.d, $n)); for (t.d = b.Math.max(1, t.d), Ge = Se.c.length, t.c = Ot(Br, oi, 25, Ge, 15, 1), t.f = Ot(Br, oi, 25, Ge, 15, 1), t.e = Ot(wa, Do, 25, Ge, 15, 1), k = 0, t.a = 0, Yt = new S(Se); Yt.a < Yt.c.c.length;)Lt = u(Q(Yt), 10), Lt.p = k++, t.c[Lt.p] = Ine(Zo(Lt)), t.f[Lt.p] = Ine(Gs(Lt)), t.e[Lt.p] = Lt.o.b / t.d, t.a += t.e[Lt.p]; for (t.b /= t.d, t.a /= Ge, ce = Q0n(Se), ua(Se, rwt(new _p(t))), W = ms, G = Di, h = null, Li = Js, yr = Js, o = d, s = d, Js < 0 && (Li = u(L_t.a.zd(), 19).a, yr = u(L_t.b.zd(), 19).a), d < 0 && (o = u(A_t.a.zd(), 19).a, s = u(A_t.b.zd(), 19).a), Gn = Li; Gn <= yr; Gn++)for (r = o; r <= s; r++)Qe = Cwn(t, Gn, r, Se, ce), bt = Xt(xe(Qe.a)), F = u(Qe.b, 15), Z = F.gc(), (bt < W || bt == W && Z < G) && (W = bt, G = Z, h = F); for (L = h.Kc(); L.Ob();) { for (_ = u(L.Pb(), 15), w = new Oh(e), Ct = _.Kc(); Ct.Ob();)Lt = u(Ct.Pb(), 10), Fo(Lt, w); q.c[q.c.length] = w } _st(q), Se.c = Ot(nr, De, 1, 0, 5, 1), br(n) } function P3n(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n; for (t.b = e, t.a = u(K(e, (Ce(), CTt)), 19).a, t.c = u(K(e, ATt), 19).a, t.c == 0 && (t.c = Di), Z = new Ca(e.b, 0); Z.b < Z.d.gc();) { for (W = (ir(Z.b < Z.d.gc()), u(Z.d.Xb(Z.c = Z.b++), 29)), d = new le, _ = -1, Pt = -1, Ct = new S(W.a); Ct.a < Ct.c.c.length;)Lt = u(Q(Ct), 10), O0((HM(), new pr(mr($0(Lt).a.Kc(), new H)))) >= t.a && (r = vwn(t, Lt), _ = b.Math.max(_, r.b), Pt = b.Math.max(Pt, r.d), ue(d, new _a(Lt, r))); for (Ge = new le, k = 0; k < _; ++k)Rm(Ge, 0, (ir(Z.b > 0), Z.a.Xb(Z.c = --Z.b), Qe = new Oh(t.b), Fm(Z, Qe), ir(Z.b < Z.d.gc()), Z.d.Xb(Z.c = Z.b++), Qe)); for (h = new S(d); h.a < h.c.c.length;)if (s = u(Q(h), 46), q = u(s.b, 571).a, !!q) for (F = new S(q); F.a < F.c.c.length;)L = u(Q(F), 10), L3t(t, L, JH, Ge); for (n = new le, w = 0; w < Pt; ++w)ue(n, ($n = new Oh(t.b), Fm(Z, $n), $n)); for (o = new S(d); o.a < o.c.c.length;)if (s = u(Q(o), 46), Se = u(s.b, 571).c, !!Se) for (ce = new S(Se); ce.a < ce.c.c.length;)Yt = u(Q(ce), 10), L3t(t, Yt, tV, n) } for (bt = new Ca(e.b, 0); bt.b < bt.d.gc();)G = (ir(bt.b < bt.d.gc()), u(bt.d.Xb(bt.c = bt.b++), 29)), G.a.c.length == 0 && Ol(bt) } function F3n(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn, yr; if (Ar(n, "Spline edge routing", 1), e.b.c.length == 0) { e.f.a = 0, br(n); return } Lt = Xt(xe(K(e, (Ce(), Z4)))), d = Xt(xe(K(e, Fb))), h = Xt(xe(K(e, Q4))), bt = u(K(e, Flt), 336), Ge = bt == (t7(), _S), Se = Xt(xe(K(e, TTt))), t.d = e, t.j.c = Ot(nr, De, 1, 0, 5, 1), t.a.c = Ot(nr, De, 1, 0, 5, 1), al(t.k), w = u(Fe(e.b, 0), 29), _ = UR(w.a, (nq(), OO)), G = u(Fe(e.b, e.b.c.length - 1), 29), L = UR(G.a, OO), W = new S(e.b), Z = null, yr = 0; do { for (Ct = W.a < W.c.c.length ? u(Q(W), 29) : null, k3n(t, Z, Ct), Xvn(t), Qe = iWe(oan(Gj(Qi(new kn(null, new Cn(t.i, 16)), new SQ), new CQ))), Gn = 0, Pt = yr, F = !Z || _ && Z == w, q = !Ct || L && Ct == G, Qe > 0 ? (k = 0, Z && (k += d), k += (Qe - 1) * h, Ct && (k += d), Ge && Ct && (k = b.Math.max(k, b2n(Ct, h, Lt, Se))), k < Lt && !F && !q && (Gn = (Lt - k) / 2, k = Lt), Pt += k) : !F && !q && (Pt += Lt), Ct && U5t(Ct, Pt), ce = new S(t.i); ce.a < ce.c.c.length;)Yt = u(Q(ce), 128), Yt.a.c = yr, Yt.a.b = Pt - yr, Yt.F = Gn, Yt.p = !Z; Hs(t.a, t.i), yr = Pt, Ct && (yr += Ct.c.a), Z = Ct, F = q } while (Ct); for (s = new S(t.j); s.a < s.c.c.length;)r = u(Q(s), 17), o = Ian(t, r), Jt(r, (ie(), X4), o), $n = R2n(t, r), Jt(r, Ib, $n); e.f.a = yr, t.d = null, br(n) } function Rle(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt; if (W = t.i != 0, Ct = !1, bt = null, Ll(t.e)) { if (_ = e.gc(), _ > 0) { for (F = _ < 100 ? null : new Lp(_), k = new zmt(e), G = k.g, bt = Ot(Br, oi, 25, _, 15, 1), r = 0, Pt = new Gv(_), s = 0; s < t.i; ++s) { d = t.g[s], q = d; t: for (Lt = 0; Lt < 2; ++Lt) { for (w = _; --w >= 0;)if (q != null ? Ni(q, G[w]) : qt(q) === qt(G[w])) { bt.length <= r && (Z = bt, bt = Ot(Br, oi, 25, 2 * bt.length, 15, 1), qc(Z, 0, bt, 0, r)), bt[r++] = s, Hr(Pt, G[w]); break t } if (q = q, qt(q) === qt(d)) break } } if (k = Pt, G = Pt.g, _ = r, r > bt.length && (Z = bt, bt = Ot(Br, oi, 25, r, 15, 1), qc(Z, 0, bt, 0, r)), r > 0) { for (Ct = !0, o = 0; o < r; ++o)q = G[o], F = bWt(t, u(q, 72), F); for (h = r; --h >= 0;)nx(t, bt[h]); if (r != _) { for (s = _; --s >= r;)nx(k, s); Z = bt, bt = Ot(Br, oi, 25, r, 15, 1), qc(Z, 0, bt, 0, r) } e = k } } } else for (e = ghn(t, e), s = t.i; --s >= 0;)e.Hc(t.g[s]) && (nx(t, s), Ct = !0); if (Ct) { if (bt != null) { for (n = e.gc(), L = n == 1 ? C_(t, 4, e.Kc().Pb(), null, bt[0], W) : C_(t, 6, e, bt, bt[0], W), F = n < 100 ? null : new Lp(n), s = e.Kc(); s.Ob();)q = s.Pb(), F = Gbt(t, u(q, 72), F); F ? (F.Ei(L), F.Fi()) : Oi(t.e, L) } else { for (F = SXe(e.gc()), s = e.Kc(); s.Ob();)q = s.Pb(), F = Gbt(t, u(q, 72), F); F && F.Fi() } return !0 } else return !1 } function B3n(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct; for (n = new lie(e), n.a || yvn(e), k = xbn(e), w = new $v, Z = new ice, W = new S(e.a); W.a < W.c.c.length;)for (G = u(Q(W), 10), s = new pr(mr(Gs(G).a.Kc(), new H)); Zr(s);)r = u(qr(s), 17), (r.c.i.k == (Kn(), Fs) || r.d.i.k == Fs) && (_ = _yn(t, r, k, Z), cn(w, qit(_.d), _.a)); for (h = new le, Ct = u(K(n.c, (ie(), Iy)), 21).Kc(); Ct.Ob();) { switch (Lt = u(Ct.Pb(), 61), q = Z.c[Lt.g], F = Z.b[Lt.g], d = Z.a[Lt.g], o = null, bt = null, Lt.g) { case 4: o = new fh(t.d.a, q, k.b.a - t.d.a, F - q), bt = new fh(t.d.a, q, d, F - q), Dv(k, new je(o.c + o.b, o.d)), Dv(k, new je(o.c + o.b, o.d + o.a)); break; case 2: o = new fh(k.a.a, q, t.c.a - k.a.a, F - q), bt = new fh(t.c.a - d, q, d, F - q), Dv(k, new je(o.c, o.d)), Dv(k, new je(o.c, o.d + o.a)); break; case 1: o = new fh(q, t.d.b, F - q, k.b.b - t.d.b), bt = new fh(q, t.d.b, F - q, d), Dv(k, new je(o.c, o.d + o.a)), Dv(k, new je(o.c + o.b, o.d + o.a)); break; case 3: o = new fh(q, k.a.b, F - q, t.c.b - k.a.b), bt = new fh(q, t.c.b - d, F - q, d), Dv(k, new je(o.c, o.d)), Dv(k, new je(o.c + o.b, o.d)) }o && (L = new hzt, L.d = Lt, L.b = o, L.c = bt, L.a = Xj(u(ji(w, qit(Lt)), 21)), h.c[h.c.length] = L) } return Hs(n.b, h), n.d = zon(Vmn(k)), n } function jle(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W; if (n.p[e.p] == null) { d = !0, n.p[e.p] = 0, h = e, W = n.o == (D1(), Bb) ? Rs : ms; do s = t.b.e[h.p], o = h.c.a.c.length, n.o == Bb && s > 0 || n.o == Y1 && s < o - 1 ? (w = null, k = null, n.o == Y1 ? w = u(Fe(h.c.a, s + 1), 10) : w = u(Fe(h.c.a, s - 1), 10), k = n.g[w.p], jle(t, k, n), W = t.e.bg(W, e, h), n.j[e.p] == e && (n.j[e.p] = n.j[k.p]), n.j[e.p] == n.j[k.p] ? (G = G3(t.d, h, w), n.o == Y1 ? (r = Xt(n.p[e.p]), L = Xt(n.p[k.p]) + Xt(n.d[w.p]) - w.d.d - G - h.d.a - h.o.b - Xt(n.d[h.p]), d ? (d = !1, n.p[e.p] = b.Math.min(L, W)) : n.p[e.p] = b.Math.min(r, b.Math.min(L, W))) : (r = Xt(n.p[e.p]), L = Xt(n.p[k.p]) + Xt(n.d[w.p]) + w.o.b + w.d.a + G + h.d.d - Xt(n.d[h.p]), d ? (d = !1, n.p[e.p] = b.Math.max(L, W)) : n.p[e.p] = b.Math.max(r, b.Math.max(L, W)))) : (G = Xt(xe(K(t.a, (Ce(), Nw)))), q = lee(t, n.j[e.p]), _ = lee(t, n.j[k.p]), n.o == Y1 ? (F = Xt(n.p[e.p]) + Xt(n.d[h.p]) + h.o.b + h.d.a + G - (Xt(n.p[k.p]) + Xt(n.d[w.p]) - w.d.d), KXt(q, _, F)) : (F = Xt(n.p[e.p]) + Xt(n.d[h.p]) - h.d.d - Xt(n.p[k.p]) - Xt(n.d[w.p]) - w.o.b - w.d.a - G, KXt(q, _, F)))) : W = t.e.bg(W, e, h), h = n.a[h.p]; while (h != e); PUe(t.e, e) } } function R3n(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn, yr; for (Ct = e, Lt = new $v, Pt = new $v, _ = Hv(Ct, Xkt), r = new RYt(t, n, Lt, Pt), kdn(r.a, r.b, r.c, r.d, _), w = (Se = Lt.i, Se || (Lt.i = new W3(Lt, Lt.c))), Qe = w.Kc(); Qe.Ob();)for (Ge = u(Qe.Pb(), 202), s = u(ji(Lt, Ge), 21), W = s.Kc(); W.Ob();)if (G = W.Pb(), Yt = u(t4(t.d, G), 202), Yt) d = (!Ge.e && (Ge.e = new Tn(fs, Ge, 10, 9)), Ge.e), Hr(d, Yt); else throw h = I0(Ct, Dd), F = B1e + G + R1e + h, q = F + G7, et(new fd(q)); for (k = (ce = Pt.i, ce || (Pt.i = new W3(Pt, Pt.c))), Gn = k.Kc(); Gn.Ob();)for ($n = u(Gn.Pb(), 202), o = u(ji(Pt, $n), 21), bt = o.Kc(); bt.Ob();)if (Z = bt.Pb(), Yt = u(t4(t.d, Z), 202), Yt) L = (!$n.g && ($n.g = new Tn(fs, $n, 9, 10)), $n.g), Hr(L, Yt); else throw h = I0(Ct, Dd), F = B1e + Z + R1e + h, q = F + G7, et(new fd(q)); !n.b && (n.b = new Tn(Cr, n, 4, 7)), n.b.i != 0 && (!n.c && (n.c = new Tn(Cr, n, 5, 8)), n.c.i != 0) && (!n.b && (n.b = new Tn(Cr, n, 4, 7)), n.b.i <= 1 && (!n.c && (n.c = new Tn(Cr, n, 5, 8)), n.c.i <= 1)) && (!n.a && (n.a = new he(fs, n, 6, 6)), n.a).i == 1 && (yr = u(St((!n.a && (n.a = new he(fs, n, 6, 6)), n.a), 0), 202), !Wit(yr) && !Kit(yr) && (H$(yr, u(St((!n.b && (n.b = new Tn(Cr, n, 4, 7)), n.b), 0), 82)), V$(yr, u(St((!n.c && (n.c = new Tn(Cr, n, 5, 8)), n.c), 0), 82)))) } function j3n(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n; for (Ct = t.a, Pt = 0, Yt = Ct.length; Pt < Yt; ++Pt) { for (Lt = Ct[Pt], k = Di, _ = Di, G = new S(Lt.e); G.a < G.c.c.length;)F = u(Q(G), 10), h = F.c ? Qo(F.c.a, F, 0) : -1, h > 0 ? (L = u(Fe(F.c.a, h - 1), 10), Ge = G3(t.b, F, L), Z = F.n.b - F.d.d - (L.n.b + L.o.b + L.d.a + Ge)) : Z = F.n.b - F.d.d, k = b.Math.min(Z, k), h < F.c.a.c.length - 1 ? (L = u(Fe(F.c.a, h + 1), 10), Ge = G3(t.b, F, L), bt = L.n.b - L.d.d - (F.n.b + F.o.b + F.d.a + Ge)) : bt = 2 * F.n.b, _ = b.Math.min(bt, _); for (w = Di, o = !1, s = u(Fe(Lt.e, 0), 10), $n = new S(s.j); $n.a < $n.c.c.length;)for (Qe = u(Q($n), 11), W = s.n.b + Qe.n.b + Qe.a.b, r = new S(Qe.e); r.a < r.c.c.length;)n = u(Q(r), 17), ce = n.c, e = ce.i.n.b + ce.n.b + ce.a.b - W, b.Math.abs(e) < b.Math.abs(w) && b.Math.abs(e) < (e < 0 ? k : _) && (w = e, o = !0); for (d = u(Fe(Lt.e, Lt.e.c.length - 1), 10), Se = new S(d.j); Se.a < Se.c.c.length;)for (ce = u(Q(Se), 11), W = d.n.b + ce.n.b + ce.a.b, r = new S(ce.g); r.a < r.c.c.length;)n = u(Q(r), 17), Qe = n.d, e = Qe.i.n.b + Qe.n.b + Qe.a.b - W, b.Math.abs(e) < b.Math.abs(w) && b.Math.abs(e) < (e < 0 ? k : _) && (w = e, o = !0); if (o && w != 0) for (q = new S(Lt.e); q.a < q.c.c.length;)F = u(Q(q), 10), F.n.b += w } } function $le(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z; if (Il(t.a, e)) { if (C0(u(or(t.a, e), 53), n)) return 1 } else Pi(t.a, e, new na); if (Il(t.a, n)) { if (C0(u(or(t.a, n), 53), e)) return -1 } else Pi(t.a, n, new na); if (Il(t.e, e)) { if (C0(u(or(t.e, e), 53), n)) return -1 } else Pi(t.e, e, new na); if (Il(t.e, n)) { if (C0(u(or(t.a, n), 53), e)) return 1 } else Pi(t.e, n, new na); if (t.c == (R0(), tht) || !ia(e, (ie(), Bc)) || !ia(n, (ie(), Bc))) { if (w = u(obt(JQt(oit(Qi(new kn(null, new Cn(e.j, 16)), new ML)), new kF)), 11), _ = u(obt(JQt(oit(Qi(new kn(null, new Cn(n.j, 16)), new DX)), new IX)), 11), w && _) { if (d = w.i, k = _.i, d && d == k) { for (F = new S(d.j); F.a < F.c.c.length;) { if (L = u(Q(F), 11), L == w) return x7(t, n, e), -1; if (L == _) return x7(t, e, n), 1 } return Tu(fst(t, e), fst(t, n)) } for (G = t.d, W = 0, Z = G.length; W < Z; ++W) { if (q = G[W], q == d) return x7(t, n, e), -1; if (q == k) return x7(t, e, n), 1 } } if (!ia(e, (ie(), Bc)) || !ia(n, Bc)) return s = fst(t, e), h = fst(t, n), s > h ? x7(t, e, n) : x7(t, n, e), s < h ? -1 : s > h ? 1 : 0 } return r = u(K(e, (ie(), Bc)), 19).a, o = u(K(n, Bc), 19).a, r > o ? x7(t, e, n) : x7(t, n, e), r < o ? -1 : r > o ? 1 : 0 } function i6t(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt; if (Re(Be(ze(e, (Ti(), DG))))) return pn(), pn(), wo; if (k = (!e.a && (e.a = new he(bs, e, 10, 11)), e.a).i != 0, L = _0n(e), _ = !L.dc(), k || _) { if (s = u(ze(e, _9), 149), !s) throw et(new F3("Resolved algorithm is not set; apply a LayoutAlgorithmResolver before computing layout.")); if (Lt = S2t(s, (v7(), VG)), Gre(e), !k && _ && !Lt) return pn(), pn(), wo; if (w = new le, qt(ze(e, r5)) === qt((j0(), Qg)) && (S2t(s, qG) || S2t(s, zG))) for (q = Sce(t, e), G = new hs, io(G, (!e.a && (e.a = new he(bs, e, 10, 11)), e.a)); G.b != 0;)F = u(G.b == 0 ? null : (ir(G.b != 0), bh(G, G.a.a)), 33), Gre(F), bt = qt(ze(F, r5)) === qt(HS), bt || eb(F, jS) && !zwt(s, ze(F, _9)) ? (d = i6t(t, F, n, r), Hs(w, d), Mo(F, r5, HS), Vce(F)) : io(G, (!F.a && (F.a = new he(bs, F, 10, 11)), F.a)); else for (q = (!e.a && (e.a = new he(bs, e, 10, 11)), e.a).i, h = new lr((!e.a && (e.a = new he(bs, e, 10, 11)), e.a)); h.e != h.i.gc();)o = u(kr(h), 33), d = i6t(t, o, n, r), Hs(w, d), Vce(o); for (Z = new S(w); Z.a < Z.c.c.length;)W = u(Q(Z), 79), Mo(W, DG, (Rn(), !0)); return tln(e, s, Kc(r, q)), mvn(w), _ && Lt ? L : (pn(), pn(), wo) } else return pn(), pn(), wo } function EI(t, e, n, r, s, o, h, d, w) { var k, _, L, F, q, G, W; switch (q = n, _ = new q0(w), _0(_, (Kn(), Fs)), Jt(_, (ie(), DEt), h), Jt(_, (Ce(), xs), (xa(), eu)), W = Xt(xe(t.We(jy))), Jt(_, jy, W), L = new zc, ac(L, _), e != Q1 && e != k2 || (r >= 0 ? q = Z6(d) : q = qD(Z6(d)), t.Ye(v9, q)), k = new Ra, F = !1, t.Xe(Iw) ? (bbt(k, u(t.We(Iw), 8)), F = !0) : fYe(k, h.a / 2, h.b / 2), q.g) { case 4: Jt(_, bu, (mh(), g2)), Jt(_, NV, (ob(), V4)), _.o.b = h.b, W < 0 && (_.o.a = -W), Qs(L, (we(), Wn)), F || (k.a = h.a), k.a -= h.a; break; case 2: Jt(_, bu, (mh(), Ny)), Jt(_, NV, (ob(), u9)), _.o.b = h.b, W < 0 && (_.o.a = -W), Qs(L, (we(), jn)), F || (k.a = 0); break; case 1: Jt(_, Db, (F0(), U4)), _.o.a = h.a, W < 0 && (_.o.b = -W), Qs(L, (we(), Lr)), F || (k.b = h.b), k.b -= h.b; break; case 3: Jt(_, Db, (F0(), Sx)), _.o.a = h.a, W < 0 && (_.o.b = -W), Qs(L, (we(), Fn)), F || (k.b = 0) }if (bbt(L.n, k), Jt(_, Iw, k), e == qb || e == g0 || e == eu) { if (G = 0, e == qb && t.Xe(Ug)) switch (q.g) { case 1: case 2: G = u(t.We(Ug), 19).a; break; case 3: case 4: G = -u(t.We(Ug), 19).a } else switch (q.g) { case 4: case 2: G = o.b, e == g0 && (G /= s.b); break; case 1: case 3: G = o.a, e == g0 && (G /= s.a) }Jt(_, Lw, G) } return Jt(_, yc, q), _ } function $3n(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe; if (n = Xt(xe(K(t.a.j, (Ce(), wTt)))), n < -1 || !t.a.i || D6(u(K(t.a.o, xs), 98)) || uc(t.a.o, (we(), Wn)).gc() < 2 && uc(t.a.o, jn).gc() < 2) return !0; if (t.a.c.Rf()) return !1; for (Yt = 0, Pt = 0, Ct = new le, w = t.a.e, k = 0, _ = w.length; k < _; ++k) { for (d = w[k], F = d, q = 0, W = F.length; q < W; ++q) { if (L = F[q], L.k == (Kn(), Jc)) { Ct.c[Ct.c.length] = L; continue } for (r = t.b[L.c.p][L.p], L.k == Fs ? (r.b = 1, u(K(L, (ie(), Bi)), 11).j == (we(), Wn) && (Pt += r.a)) : (Qe = uc(L, (we(), jn)), Qe.dc() || !zet(Qe, new WX) ? r.c = 1 : (s = uc(L, Wn), (s.dc() || !zet(s, new UX)) && (Yt += r.a))), h = new pr(mr(Gs(L).a.Kc(), new H)); Zr(h);)o = u(qr(h), 17), Yt += r.c, Pt += r.b, Ge = o.d.i, imt(t, r, Ge); for (bt = B1(ct(ot(G1, 1), De, 20, 0, [uc(L, (we(), Fn)), uc(L, Lr)])), Se = new pr(new Z2t(bt.a.length, bt.a)); Zr(Se);)ce = u(qr(Se), 11), Lt = u(K(ce, (ie(), ul)), 10), Lt && (Yt += r.c, Pt += r.b, imt(t, r, Lt)) } for (G = new S(Ct); G.a < G.c.c.length;)for (L = u(Q(G), 10), r = t.b[L.c.p][L.p], h = new pr(mr(Gs(L).a.Kc(), new H)); Zr(h);)o = u(qr(h), 17), Yt += r.c, Pt += r.b, Ge = o.d.i, imt(t, r, Ge); Ct.c = Ot(nr, De, 1, 0, 5, 1) } return e = Yt + Pt, Z = e == 0 ? ms : (Yt - Pt) / e, Z >= n } function z3n() { $pt(); function t(r) { var s = this; this.dispatch = function (o) { var h = o.data; switch (h.cmd) { case "algorithms": var d = Kyt((pn(), new T(new T1(C2.b)))); r.postMessage({ id: h.id, data: d }); break; case "categories": var w = Kyt((pn(), new T(new T1(C2.c)))); r.postMessage({ id: h.id, data: w }); break; case "options": var k = Kyt((pn(), new T(new T1(C2.d)))); r.postMessage({ id: h.id, data: k }); break; case "register": Kmn(h.algorithms), r.postMessage({ id: h.id }); break; case "layout": Awn(h.graph, h.layoutOptions || {}, h.options || {}), r.postMessage({ id: h.id, data: h.graph }); break } }, this.saveDispatch = function (o) { try { s.dispatch(o) } catch (h) { r.postMessage({ id: o.data.id, error: h }) } } } function e(r) { var s = this; this.dispatcher = new t({ postMessage: function (o) { s.onmessage({ data: o }) } }), this.postMessage = function (o) { setTimeout(function () { s.dispatcher.saveDispatch({ data: o }) }, 0) } } if (typeof document === rot && typeof self !== rot) { var n = new t(self); self.onmessage = n.saveDispatch } else typeof p !== rot && p.exports && (Object.defineProperty(v, "__esModule", { value: !0 }), p.exports = { default: e, Worker: e }) } function q3n(t) { t.N || (t.N = !0, t.b = vc(t, 0), ps(t.b, 0), ps(t.b, 1), ps(t.b, 2), t.bb = vc(t, 1), ps(t.bb, 0), ps(t.bb, 1), t.fb = vc(t, 2), ps(t.fb, 3), ps(t.fb, 4), Yi(t.fb, 5), t.qb = vc(t, 3), ps(t.qb, 0), Yi(t.qb, 1), Yi(t.qb, 2), ps(t.qb, 3), ps(t.qb, 4), Yi(t.qb, 5), ps(t.qb, 6), t.a = mi(t, 4), t.c = mi(t, 5), t.d = mi(t, 6), t.e = mi(t, 7), t.f = mi(t, 8), t.g = mi(t, 9), t.i = mi(t, 10), t.j = mi(t, 11), t.k = mi(t, 12), t.n = mi(t, 13), t.o = mi(t, 14), t.p = mi(t, 15), t.q = mi(t, 16), t.s = mi(t, 17), t.r = mi(t, 18), t.t = mi(t, 19), t.u = mi(t, 20), t.v = mi(t, 21), t.w = mi(t, 22), t.B = mi(t, 23), t.A = mi(t, 24), t.C = mi(t, 25), t.D = mi(t, 26), t.F = mi(t, 27), t.G = mi(t, 28), t.H = mi(t, 29), t.J = mi(t, 30), t.I = mi(t, 31), t.K = mi(t, 32), t.M = mi(t, 33), t.L = mi(t, 34), t.P = mi(t, 35), t.Q = mi(t, 36), t.R = mi(t, 37), t.S = mi(t, 38), t.T = mi(t, 39), t.U = mi(t, 40), t.V = mi(t, 41), t.X = mi(t, 42), t.W = mi(t, 43), t.Y = mi(t, 44), t.Z = mi(t, 45), t.$ = mi(t, 46), t._ = mi(t, 47), t.ab = mi(t, 48), t.cb = mi(t, 49), t.db = mi(t, 50), t.eb = mi(t, 51), t.gb = mi(t, 52), t.hb = mi(t, 53), t.ib = mi(t, 54), t.jb = mi(t, 55), t.kb = mi(t, 56), t.lb = mi(t, 57), t.mb = mi(t, 58), t.nb = mi(t, 59), t.ob = mi(t, 60), t.pb = mi(t, 61)) } function H3n(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt; if (Lt = 0, e.f.a == 0) for (Z = new S(t); Z.a < Z.c.c.length;)G = u(Q(Z), 10), Lt = b.Math.max(Lt, G.n.a + G.o.a + G.d.c); else Lt = e.f.a - e.c.a; for (Lt -= e.c.a, W = new S(t); W.a < W.c.c.length;) { switch (G = u(Q(W), 10), kT(G.n, Lt - G.o.a), uvt(G.f), Die(G), (G.q ? G.q : (pn(), pn(), u0))._b((Ce(), zy)) && kT(u(K(G, zy), 8), Lt - G.o.a), u(K(G, Pd), 248).g) { case 1: Jt(G, Pd, (t0(), $O)); break; case 2: Jt(G, Pd, (t0(), jO)) }for (bt = G.o, Pt = new S(G.j); Pt.a < Pt.c.c.length;) { for (Ct = u(Q(Pt), 11), kT(Ct.n, bt.a - Ct.o.a), kT(Ct.a, Ct.o.a), Qs(Ct, _ee(Ct.j)), h = u(K(Ct, Ug), 19), h && Jt(Ct, Ug, pe(-h.a)), o = new S(Ct.g); o.a < o.c.c.length;) { for (s = u(Q(o), 17), r = gi(s.a, 0); r.b != r.d.c;)n = u(di(r), 8), n.a = Lt - n.a; if (k = u(K(s, $o), 74), k) for (w = gi(k, 0); w.b != w.d.c;)d = u(di(w), 8), d.a = Lt - d.a; for (F = new S(s.b); F.a < F.c.c.length;)_ = u(Q(F), 70), kT(_.n, Lt - _.o.a) } for (q = new S(Ct.f); q.a < q.c.c.length;)_ = u(Q(q), 70), kT(_.n, Ct.o.a - _.o.a) } for (G.k == (Kn(), Fs) && (Jt(G, (ie(), yc), _ee(u(K(G, yc), 61))), Y1n(G)), L = new S(G.b); L.a < L.c.c.length;)_ = u(Q(L), 70), Die(_), kT(_.n, bt.a - _.o.a) } } function V3n(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt; if (Lt = 0, e.f.b == 0) for (Z = new S(t); Z.a < Z.c.c.length;)G = u(Q(Z), 10), Lt = b.Math.max(Lt, G.n.b + G.o.b + G.d.a); else Lt = e.f.b - e.c.b; for (Lt -= e.c.b, W = new S(t); W.a < W.c.c.length;) { switch (G = u(Q(W), 10), xT(G.n, Lt - G.o.b), lvt(G.f), Iie(G), (G.q ? G.q : (pn(), pn(), u0))._b((Ce(), zy)) && xT(u(K(G, zy), 8), Lt - G.o.b), u(K(G, Pd), 248).g) { case 3: Jt(G, Pd, (t0(), _G)); break; case 4: Jt(G, Pd, (t0(), SG)) }for (bt = G.o, Pt = new S(G.j); Pt.a < Pt.c.c.length;) { for (Ct = u(Q(Pt), 11), xT(Ct.n, bt.b - Ct.o.b), xT(Ct.a, Ct.o.b), Qs(Ct, Cee(Ct.j)), h = u(K(Ct, Ug), 19), h && Jt(Ct, Ug, pe(-h.a)), o = new S(Ct.g); o.a < o.c.c.length;) { for (s = u(Q(o), 17), r = gi(s.a, 0); r.b != r.d.c;)n = u(di(r), 8), n.b = Lt - n.b; if (k = u(K(s, $o), 74), k) for (w = gi(k, 0); w.b != w.d.c;)d = u(di(w), 8), d.b = Lt - d.b; for (F = new S(s.b); F.a < F.c.c.length;)_ = u(Q(F), 70), xT(_.n, Lt - _.o.b) } for (q = new S(Ct.f); q.a < q.c.c.length;)_ = u(Q(q), 70), xT(_.n, Ct.o.b - _.o.b) } for (G.k == (Kn(), Fs) && (Jt(G, (ie(), yc), Cee(u(K(G, yc), 61))), vcn(G)), L = new S(G.b); L.a < L.c.c.length;)_ = u(Q(L), 70), Iie(_), xT(_.n, bt.b - _.o.b) } } function G3n(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q; for (L = !1, k = t + 1, _ = (An(t, e.c.length), u(e.c[t], 200)), h = _.a, d = null, o = 0; o < _.a.c.length; o++)if (s = (An(o, h.c.length), u(h.c[o], 187)), !s.c) { if (s.b.c.length == 0) { Gd(), JD(_, s), --o, L = !0; continue } if (s.k || (d && Fz(d), d = new pwt(d ? d.e + d.d + r : 0, _.f, r), KD(s, d.e + d.d, _.f), ue(_.d, d), qmt(d, s), s.k = !0), w = null, w = (q = null, o < _.a.c.length - 1 ? q = u(Fe(_.a, o + 1), 187) : k < e.c.length && (An(k, e.c.length), u(e.c[k], 200)).a.c.length != 0 && (q = u(Fe((An(k, e.c.length), u(e.c[k], 200)).a, 0), 187)), q), F = !1, w && (F = !Ni(w.j, _)), w) { if (w.b.c.length == 0) { JD(_, w); break } else fD(s, n - s.s), Fz(s.q), L = L | X1n(_, s, w, n, r); if (w.b.c.length == 0) for (JD((An(k, e.c.length), u(e.c[k], 200)), w), w = null; e.c.length > k && (An(k, e.c.length), u(e.c[k], 200)).a.c.length == 0;)Au(e, (An(k, e.c.length), e.c[k])); if (!w) { --o; continue } if (Lvn(e, _, s, w, F, n, k, r)) { L = !0; continue } if (F) { if (Fwn(e, _, s, w, n, k, r)) { L = !0; continue } else if (xyt(_, s)) { s.c = !0, L = !0; continue } } else if (xyt(_, s)) { s.c = !0, L = !0; continue } if (L) continue } if (xyt(_, s)) { s.c = !0, L = !0, w && (w.k = !1); continue } else Fz(s.q) } return L } function wat(t, e, n, r, s, o, h) { var d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn, yr, Li, Js; for (W = 0, $n = 0, k = new S(t.b); k.a < k.c.c.length;)w = u(Q(k), 157), w.c && ple(w.c), W = b.Math.max(W, Wu(w)), $n += Wu(w) * Dl(w); for (Z = $n / t.b.c.length, Qe = ofn(t.b, Z), $n += t.b.c.length * Qe, W = b.Math.max(W, b.Math.sqrt($n * h)) + n.b, Li = n.b, Js = n.d, q = 0, L = n.b + n.c, Ge = new hs, pi(Ge, pe(0)), ce = new hs, _ = new Ca(t.b, 0), G = null, d = new le; _.b < _.d.gc();)w = (ir(_.b < _.d.gc()), u(_.d.Xb(_.c = _.b++), 157)), yr = Wu(w), F = Dl(w), Li + yr > W && (o && (U2(ce, q), U2(Ge, pe(_.b - 1)), ue(t.d, G), d.c = Ot(nr, De, 1, 0, 5, 1)), Li = n.b, Js += q + e, q = 0, L = b.Math.max(L, n.b + n.c + yr)), d.c[d.c.length] = w, rie(w, Li, Js), L = b.Math.max(L, Li + yr + n.c), q = b.Math.max(q, F), Li += yr + e, G = w; if (Hs(t.a, d), ue(t.d, u(Fe(d, d.c.length - 1), 157)), L = b.Math.max(L, r), Gn = Js + q + n.a, Gn < s && (q += s - Gn, Gn = s), o) for (Li = n.b, _ = new Ca(t.b, 0), U2(Ge, pe(t.b.c.length)), Se = gi(Ge, 0), Lt = u(di(Se), 19).a, U2(ce, q), Yt = gi(ce, 0), Pt = 0; _.b < _.d.gc();)_.b == Lt && (Li = n.b, Pt = Xt(xe(di(Yt))), Lt = u(di(Se), 19).a), w = (ir(_.b < _.d.gc()), u(_.d.Xb(_.c = _.b++), 157)), Bre(w, Pt), _.b == Lt && (bt = L - Li - n.c, Ct = Wu(w), Fre(w, bt), are(w, (bt - Ct) / 2, 0)), Li += Wu(w) + e; return new je(L, Gn) } function U3n(t) { var e, n, r, s, o; switch (e = t.c, o = null, e) { case 6: return t.Vl(); case 13: return t.Wl(); case 23: return t.Nl(); case 22: return t.Sl(); case 18: return t.Pl(); case 8: Si(t), o = (Ai(), eLt); break; case 9: return t.vl(!0); case 19: return t.wl(); case 10: switch (t.a) { case 100: case 68: case 119: case 87: case 115: case 83: return o = t.ul(t.a), Si(t), o; case 101: case 102: case 110: case 114: case 116: case 117: case 118: case 120: n = t.tl(), n < oo ? o = (Ai(), Ai(), new Kd(0, n)) : o = OKt(Byt(n)); break; case 99: return t.Fl(); case 67: return t.Al(); case 105: return t.Il(); case 73: return t.Bl(); case 103: return t.Gl(); case 88: return t.Cl(); case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: return t.xl(); case 80: case 112: if (o = F4t(t, t.a), !o) throw et(new Wr(Jr((Ur(), jct)))); break; default: o = ZWt(t.a) }Si(t); break; case 0: if (t.a == 93 || t.a == 123 || t.a == 125) throw et(new Wr(Jr((Ur(), s8t)))); o = ZWt(t.a), r = t.a, Si(t), (r & 64512) == II && t.c == 0 && (t.a & 64512) == 56320 && (s = Ot(Sh, Ed, 25, 2, 15, 1), s[0] = r & Ns, s[1] = t.a & Ns, o = Cnt(OKt(Fh(s, 0, s.length)), 0), Si(t)); break; default: throw et(new Wr(Jr((Ur(), s8t)))) }return o } function W3n(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt; if (r = new le, s = Di, o = Di, h = Di, n) for (s = t.f.a, W = new S(e.j); W.a < W.c.c.length;)for (G = u(Q(W), 11), w = new S(G.g); w.a < w.c.c.length;)d = u(Q(w), 17), d.a.b != 0 && (_ = u(Ket(d.a), 8), _.a < s && (o = s - _.a, h = Di, r.c = Ot(nr, De, 1, 0, 5, 1), s = _.a), _.a <= s && (r.c[r.c.length] = d, d.a.b > 1 && (h = b.Math.min(h, b.Math.abs(u(r1(d.a, 1), 8).b - _.b))))); else for (W = new S(e.j); W.a < W.c.c.length;)for (G = u(Q(W), 11), w = new S(G.e); w.a < w.c.c.length;)d = u(Q(w), 17), d.a.b != 0 && (F = u(cj(d.a), 8), F.a > s && (o = F.a - s, h = Di, r.c = Ot(nr, De, 1, 0, 5, 1), s = F.a), F.a >= s && (r.c[r.c.length] = d, d.a.b > 1 && (h = b.Math.min(h, b.Math.abs(u(r1(d.a, d.a.b - 2), 8).b - F.b))))); if (r.c.length != 0 && o > e.o.a / 2 && h > e.o.b / 2) { for (q = new zc, ac(q, e), Qs(q, (we(), Fn)), q.n.a = e.o.a / 2, bt = new zc, ac(bt, e), Qs(bt, Lr), bt.n.a = e.o.a / 2, bt.n.b = e.o.b, w = new S(r); w.a < w.c.c.length;)d = u(Q(w), 17), n ? (k = u(lnt(d.a), 8), Z = d.a.b == 0 ? I1(d.d) : u(Ket(d.a), 8), Z.b >= k.b ? Ua(d, bt) : Ua(d, q)) : (k = u(jZe(d.a), 8), Z = d.a.b == 0 ? I1(d.c) : u(cj(d.a), 8), Z.b >= k.b ? ma(d, bt) : ma(d, q)), L = u(K(d, (Ce(), $o)), 74), L && ey(L, k, !0); e.n.a = s - e.o.a / 2 } } function K3n(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn, yr, Li, Js, ih, nf; if ($n = null, yr = e, Gn = VQt(t, $Qt(n), yr), F_(Gn, I0(yr, Dd)), Li = u(t4(t.g, ix(D0(yr, Sct))), 33), F = D0(yr, "sourcePort"), r = null, F && (r = ix(F)), Js = u(t4(t.j, r), 118), !Li) throw d = o7(yr), G = "An edge must have a source node (edge id: '" + d, W = G + G7, et(new fd(W)); if (Js && !wd(M1(Js), Li)) throw w = I0(yr, Dd), Z = "The source port of an edge must be a port of the edge's source node (edge id: '" + w, bt = Z + G7, et(new fd(bt)); if (Ge = (!Gn.b && (Gn.b = new Tn(Cr, Gn, 4, 7)), Gn.b), o = null, Js ? o = Js : o = Li, Hr(Ge, o), ih = u(t4(t.g, ix(D0(yr, r8t))), 33), q = D0(yr, "targetPort"), s = null, q && (s = ix(q)), nf = u(t4(t.j, s), 118), !ih) throw L = o7(yr), Lt = "An edge must have a target node (edge id: '" + L, Ct = Lt + G7, et(new fd(Ct)); if (nf && !wd(M1(nf), ih)) throw k = I0(yr, Dd), Pt = "The target port of an edge must be a port of the edge's target node (edge id: '" + k, Yt = Pt + G7, et(new fd(Yt)); if (Qe = (!Gn.c && (Gn.c = new Tn(Cr, Gn, 5, 8)), Gn.c), h = null, nf ? h = nf : h = ih, Hr(Qe, h), (!Gn.b && (Gn.b = new Tn(Cr, Gn, 4, 7)), Gn.b).i == 0 || (!Gn.c && (Gn.c = new Tn(Cr, Gn, 5, 8)), Gn.c).i == 0) throw _ = I0(yr, Dd), ce = F1e + _, Se = ce + G7, et(new fd(Se)); return Vz(yr, Gn), Rgn(yr, Gn), $n = ait(t, yr, Gn), $n } function zle(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n; return L = Qvn(_u(t, (we(), Z1)), e), G = h4(_u(t, Of), e), Pt = h4(_u(t, eh), e), Ge = Bz(_u(t, Xh), e), F = Bz(_u(t, _h), e), Lt = h4(_u(t, Nf), e), W = h4(_u(t, hl), e), ce = h4(_u(t, nh), e), Yt = h4(_u(t, Ch), e), Qe = Bz(_u(t, vu), e), bt = h4(_u(t, Bu), e), Ct = h4(_u(t, fl), e), Se = h4(_u(t, Fu), e), $n = Bz(_u(t, Ru), e), q = Bz(_u(t, Ju), e), Z = h4(_u(t, nu), e), n = r4(ct(ot(wa, 1), Do, 25, 15, [Lt.a, Ge.a, ce.a, $n.a])), r = r4(ct(ot(wa, 1), Do, 25, 15, [G.a, L.a, Pt.a, Z.a])), s = bt.a, o = r4(ct(ot(wa, 1), Do, 25, 15, [W.a, F.a, Yt.a, q.a])), k = r4(ct(ot(wa, 1), Do, 25, 15, [Lt.b, G.b, W.b, Ct.b])), w = r4(ct(ot(wa, 1), Do, 25, 15, [Ge.b, L.b, F.b, Z.b])), _ = Qe.b, d = r4(ct(ot(wa, 1), Do, 25, 15, [ce.b, Pt.b, Yt.b, Se.b])), Lg(_u(t, Z1), n + s, k + _), Lg(_u(t, nu), n + s, k + _), Lg(_u(t, Of), n + s, 0), Lg(_u(t, eh), n + s, k + _ + w), Lg(_u(t, Xh), 0, k + _), Lg(_u(t, _h), n + s + r, k + _), Lg(_u(t, hl), n + s + r, 0), Lg(_u(t, nh), 0, k + _ + w), Lg(_u(t, Ch), n + s + r, k + _ + w), Lg(_u(t, vu), 0, k), Lg(_u(t, Bu), n, 0), Lg(_u(t, Fu), 0, k + _ + w), Lg(_u(t, Ju), n + s + r, 0), h = new Ra, h.a = r4(ct(ot(wa, 1), Do, 25, 15, [n + r + s + o, Qe.a, Ct.a, Se.a])), h.b = r4(ct(ot(wa, 1), Do, 25, 15, [k + w + _ + d, bt.b, $n.b, q.b])), h } function Y3n(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z; for (W = new le, F = new S(t.d.b); F.a < F.c.c.length;)for (L = u(Q(F), 29), G = new S(L.a); G.a < G.c.c.length;) { for (q = u(Q(G), 10), s = u(or(t.f, q), 57), w = new pr(mr(Gs(q).a.Kc(), new H)); Zr(w);)if (h = u(qr(w), 17), r = gi(h.a, 0), k = !0, _ = null, r.b != r.d.c) { for (e = u(di(r), 8), n = null, h.c.j == (we(), Fn) && (Z = new pC(e, new je(e.a, s.d.d), s, h), Z.f.a = !0, Z.a = h.c, W.c[W.c.length] = Z), h.c.j == Lr && (Z = new pC(e, new je(e.a, s.d.d + s.d.a), s, h), Z.f.d = !0, Z.a = h.c, W.c[W.c.length] = Z); r.b != r.d.c;)n = u(di(r), 8), mmt(e.b, n.b) || (_ = new pC(e, n, null, h), W.c[W.c.length] = _, k && (k = !1, n.b < s.d.d ? _.f.a = !0 : n.b > s.d.d + s.d.a ? _.f.d = !0 : (_.f.d = !0, _.f.a = !0))), r.b != r.d.c && (e = n); _ && (o = u(or(t.f, h.d.i), 57), e.b < o.d.d ? _.f.a = !0 : e.b > o.d.d + o.d.a ? _.f.d = !0 : (_.f.d = !0, _.f.a = !0)) } for (d = new pr(mr(Zo(q).a.Kc(), new H)); Zr(d);)h = u(qr(d), 17), h.a.b != 0 && (e = u(cj(h.a), 8), h.d.j == (we(), Fn) && (Z = new pC(e, new je(e.a, s.d.d), s, h), Z.f.a = !0, Z.a = h.d, W.c[W.c.length] = Z), h.d.j == Lr && (Z = new pC(e, new je(e.a, s.d.d + s.d.a), s, h), Z.f.d = !0, Z.a = h.d, W.c[W.c.length] = Z)) } return W } function X3n(t, e, n) { var r, s, o, h, d, w, k, _, L; if (Ar(n, "Network simplex node placement", 1), t.e = e, t.n = u(K(e, (ie(), Y4)), 304), dmn(t), Wfn(t), Ts(oc(new kn(null, new Cn(t.e.b, 16)), new tQ), new Njt(t)), Ts(Qi(oc(Qi(oc(new kn(null, new Cn(t.e.b, 16)), new RE), new lQ), new hQ), new fQ), new Ojt(t)), Re(Be(K(t.e, (Ce(), wS)))) && (h = Kc(n, 1), Ar(h, "Straight Edges Pre-Processing", 1), Iyn(t), br(h)), Aln(t.f), o = u(K(e, xS), 19).a * t.f.a.c.length, Xst(Opt(Npt(ont(t.f), o), !1), Kc(n, 1)), t.d.a.gc() != 0) { for (h = Kc(n, 1), Ar(h, "Flexible Where Space Processing", 1), d = u(Mv(Nj(Cu(new kn(null, new Cn(t.f.a, 16)), new eQ), new KX)), 19).a, w = u(Mv(Oj(Cu(new kn(null, new Cn(t.f.a, 16)), new nQ), new YX)), 19).a, k = w - d, _ = Lv(new V2, t.f), L = Lv(new V2, t.f), Ef(df(ff(hf(gf(new Dh, 2e4), k), _), L)), Ts(Qi(Qi(Ant(t.i), new rQ), new iQ), new DYt(d, _, k, L)), s = t.d.a.ec().Kc(); s.Ob();)r = u(s.Pb(), 213), r.g = 1; Xst(Opt(Npt(ont(t.f), o), !1), Kc(h, 1)), br(h) } Re(Be(K(e, wS))) && (h = Kc(n, 1), Ar(h, "Straight Edges Post-Processing", 1), Bdn(t), br(h)), byn(t), t.e = null, t.f = null, t.i = null, t.c = null, al(t.k), t.j = null, t.a = null, t.o = null, t.d.a.$b(), br(n) } function Q3n(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt; for (d = new S(t.a.b); d.a < d.c.c.length;)for (o = u(Q(d), 29), Ct = new S(o.a); Ct.a < Ct.c.c.length;)Lt = u(Q(Ct), 10), e.g[Lt.p] = Lt, e.a[Lt.p] = Lt, e.d[Lt.p] = 0; for (w = t.a.b, e.c == (md(), Wg) && (w = Et(w, 152) ? V6(u(w, 152)) : Et(w, 131) ? u(w, 131).a : Et(w, 54) ? new bv(w) : new Am(w)), h = w.Kc(); h.Ob();)for (o = u(h.Pb(), 29), q = -1, F = o.a, e.o == (D1(), Y1) && (q = Di, F = Et(F, 152) ? V6(u(F, 152)) : Et(F, 131) ? u(F, 131).a : Et(F, 54) ? new bv(F) : new Am(F)), Yt = F.Kc(); Yt.Ob();)if (Pt = u(Yt.Pb(), 10), L = null, e.c == Wg ? L = u(Fe(t.b.f, Pt.p), 15) : L = u(Fe(t.b.b, Pt.p), 15), L.gc() > 0) if (r = L.gc(), k = Ms(b.Math.floor((r + 1) / 2)) - 1, s = Ms(b.Math.ceil((r + 1) / 2)) - 1, e.o == Y1) for (_ = s; _ >= k; _--)e.a[Pt.p] == Pt && (W = u(L.Xb(_), 46), G = u(W.a, 10), !C0(n, W.b) && q > t.b.e[G.p] && (e.a[G.p] = Pt, e.g[Pt.p] = e.g[G.p], e.a[Pt.p] = e.g[Pt.p], e.f[e.g[Pt.p].p] = (Rn(), !!(Re(e.f[e.g[Pt.p].p]) & Pt.k == (Kn(), ha))), q = t.b.e[G.p])); else for (_ = k; _ <= s; _++)e.a[Pt.p] == Pt && (bt = u(L.Xb(_), 46), Z = u(bt.a, 10), !C0(n, bt.b) && q < t.b.e[Z.p] && (e.a[Z.p] = Pt, e.g[Pt.p] = e.g[Z.p], e.a[Pt.p] = e.g[Pt.p], e.f[e.g[Pt.p].p] = (Rn(), !!(Re(e.f[e.g[Pt.p].p]) & Pt.k == (Kn(), ha))), q = t.b.e[Z.p])) } function ou() { ou = J, kqt(), q3e = da.a, u(St(Ut(da.a), 0), 18), $3e = da.f, u(St(Ut(da.f), 0), 18), u(St(Ut(da.f), 1), 34), z3e = da.n, u(St(Ut(da.n), 0), 34), u(St(Ut(da.n), 1), 34), u(St(Ut(da.n), 2), 34), u(St(Ut(da.n), 3), 34), wAt = da.g, u(St(Ut(da.g), 0), 18), u(St(Ut(da.g), 1), 34), j3e = da.c, u(St(Ut(da.c), 0), 18), u(St(Ut(da.c), 1), 18), mAt = da.i, u(St(Ut(da.i), 0), 18), u(St(Ut(da.i), 1), 18), u(St(Ut(da.i), 2), 18), u(St(Ut(da.i), 3), 18), u(St(Ut(da.i), 4), 34), yAt = da.j, u(St(Ut(da.j), 0), 18), vAt = da.d, u(St(Ut(da.d), 0), 18), u(St(Ut(da.d), 1), 18), u(St(Ut(da.d), 2), 18), u(St(Ut(da.d), 3), 18), u(St(Ut(da.d), 4), 34), u(St(Ut(da.d), 5), 34), u(St(Ut(da.d), 6), 34), u(St(Ut(da.d), 7), 34), R3e = da.b, u(St(Ut(da.b), 0), 34), u(St(Ut(da.b), 1), 34), $G = da.e, u(St(Ut(da.e), 0), 34), u(St(Ut(da.e), 1), 34), u(St(Ut(da.e), 2), 34), u(St(Ut(da.e), 3), 34), u(St(Ut(da.e), 4), 18), u(St(Ut(da.e), 5), 18), u(St(Ut(da.e), 6), 18), u(St(Ut(da.e), 7), 18), u(St(Ut(da.e), 8), 18), u(St(Ut(da.e), 9), 18), u(St(Ut(da.e), 10), 34), _2 = da.k, u(St(Ut(da.k), 0), 34), u(St(Ut(da.k), 1), 34) } function Z3n(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn; for (Qe = new hs, ce = new hs, Z = -1, w = new S(t); w.a < w.c.c.length;) { for (h = u(Q(w), 128), h.s = Z--, _ = 0, Ct = 0, o = new S(h.t); o.a < o.c.c.length;)r = u(Q(o), 268), Ct += r.c; for (s = new S(h.i); s.a < s.c.c.length;)r = u(Q(s), 268), _ += r.c; h.n = _, h.u = Ct, Ct == 0 ? Cs(ce, h, ce.c.b, ce.c) : _ == 0 && Cs(Qe, h, Qe.c.b, Qe.c) } for (Gn = g$(t), L = t.c.length, W = L + 1, bt = L - 1, q = new le; Gn.a.gc() != 0;) { for (; ce.b != 0;)Yt = (ir(ce.b != 0), u(bh(ce, ce.a.a), 128)), Gn.a.Bc(Yt) != null, Yt.s = bt--, e5t(Yt, Qe, ce); for (; Qe.b != 0;)Se = (ir(Qe.b != 0), u(bh(Qe, Qe.a.a), 128)), Gn.a.Bc(Se) != null, Se.s = W++, e5t(Se, Qe, ce); for (G = $a, k = Gn.a.ec().Kc(); k.Ob();)h = u(k.Pb(), 128), Lt = h.u - h.n, Lt >= G && (Lt > G && (q.c = Ot(nr, De, 1, 0, 5, 1), G = Lt), q.c[q.c.length] = h); q.c.length != 0 && (F = u(Fe(q, Iz(e, q.c.length)), 128), Gn.a.Bc(F) != null, F.s = W++, e5t(F, Qe, ce), q.c = Ot(nr, De, 1, 0, 5, 1)) } for (Pt = t.c.length + 1, d = new S(t); d.a < d.c.c.length;)h = u(Q(d), 128), h.s < L && (h.s += Pt); for (Ge = new S(t); Ge.a < Ge.c.c.length;)for (Se = u(Q(Ge), 128), n = new Ca(Se.t, 0); n.b < n.d.gc();)r = (ir(n.b < n.d.gc()), u(n.d.Xb(n.c = n.b++), 268)), $n = r.b, Se.s > $n.s && (Ol(n), Au($n.i, r), r.c > 0 && (r.a = $n, ue($n.t, r), r.b = Se, ue(Se.i, r))) } function s6t(t) { var e, n, r, s, o; switch (e = t.c, e) { case 11: return t.Ml(); case 12: return t.Ol(); case 14: return t.Ql(); case 15: return t.Tl(); case 16: return t.Rl(); case 17: return t.Ul(); case 21: return Si(t), Ai(), Ai(), aA; case 10: switch (t.a) { case 65: return t.yl(); case 90: return t.Dl(); case 122: return t.Kl(); case 98: return t.El(); case 66: return t.zl(); case 60: return t.Jl(); case 62: return t.Hl() } }switch (o = U3n(t), e = t.c, e) { case 3: return t.Zl(o); case 4: return t.Xl(o); case 5: return t.Yl(o); case 0: if (t.a == 123 && t.d < t.j) { if (s = t.d, r = 0, n = -1, (e = Ia(t.i, s++)) >= 48 && e <= 57) { for (r = e - 48; s < t.j && (e = Ia(t.i, s++)) >= 48 && e <= 57;)if (r = r * 10 + e - 48, r < 0) throw et(new Wr(Jr((Ur(), u8t)))) } else throw et(new Wr(Jr((Ur(), lde)))); if (n = r, e == 44) { if (s >= t.j) throw et(new Wr(Jr((Ur(), fde)))); if ((e = Ia(t.i, s++)) >= 48 && e <= 57) { for (n = e - 48; s < t.j && (e = Ia(t.i, s++)) >= 48 && e <= 57;)if (n = n * 10 + e - 48, n < 0) throw et(new Wr(Jr((Ur(), u8t)))); if (r > n) throw et(new Wr(Jr((Ur(), dde)))) } else n = -1 } if (e != 125) throw et(new Wr(Jr((Ur(), hde)))); t.sl(s) ? (o = (Ai(), Ai(), new Gm(9, o)), t.d = s + 1) : (o = (Ai(), Ai(), new Gm(3, o)), t.d = s), o.dm(r), o.cm(n), Si(t) } }return o } function qle(t, e, n, r, s) { var o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn; for (W = new iu(e.b), Pt = new iu(e.b), F = new iu(e.b), Ge = new iu(e.b), Z = new iu(e.b), Se = gi(e, 0); Se.b != Se.d.c;)for (Yt = u(di(Se), 11), d = new S(Yt.g); d.a < d.c.c.length;)if (o = u(Q(d), 17), o.c.i == o.d.i) { if (Yt.j == o.d.j) { Ge.c[Ge.c.length] = o; continue } else if (Yt.j == (we(), Fn) && o.d.j == Lr) { Z.c[Z.c.length] = o; continue } } for (w = new S(Z); w.a < w.c.c.length;)o = u(Q(w), 17), Ovn(t, o, n, r, (we(), Wn)); for (h = new S(Ge); h.a < h.c.c.length;)o = u(Q(h), 17), Qe = new q0(t), _0(Qe, (Kn(), Jc)), Jt(Qe, (Ce(), xs), (xa(), eu)), Jt(Qe, (ie(), Bi), o), $n = new zc, Jt($n, Bi, o.d), Qs($n, (we(), jn)), ac($n, Qe), Gn = new zc, Jt(Gn, Bi, o.c), Qs(Gn, Wn), ac(Gn, Qe), Jt(o.c, ul, Qe), Jt(o.d, ul, Qe), Ua(o, null), ma(o, null), n.c[n.c.length] = Qe, Jt(Qe, OV, pe(2)); for (ce = gi(e, 0); ce.b != ce.d.c;)Yt = u(di(ce), 11), k = Yt.e.c.length > 0, bt = Yt.g.c.length > 0, k && bt ? F.c[F.c.length] = Yt : k ? W.c[W.c.length] = Yt : bt && (Pt.c[Pt.c.length] = Yt); for (G = new S(W); G.a < G.c.c.length;)q = u(Q(G), 11), ue(s, z5t(t, q, null, n)); for (Ct = new S(Pt); Ct.a < Ct.c.c.length;)Lt = u(Q(Ct), 11), ue(s, z5t(t, null, Lt, n)); for (L = new S(F); L.a < L.c.c.length;)_ = u(Q(L), 11), ue(s, z5t(t, _, _, n)) } function Hle(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n; for (Lt = new je(ms, ms), e = new je(Rs, Rs), Ge = new S(t); Ge.a < Ge.c.c.length;)Se = u(Q(Ge), 8), Lt.a = b.Math.min(Lt.a, Se.a), Lt.b = b.Math.min(Lt.b, Se.b), e.a = b.Math.max(e.a, Se.a), e.b = b.Math.max(e.b, Se.b); for (F = new je(e.a - Lt.a, e.b - Lt.b), k = new je(Lt.a - 50, Lt.b - F.a - 50), _ = new je(Lt.a - 50, e.b + F.a + 50), L = new je(e.a + F.b / 2 + 50, Lt.b + F.b / 2), q = new R5t(k, _, L), ce = new na, o = new le, n = new le, ce.a.zc(q, ce), $n = new S(t); $n.a < $n.c.c.length;) { for (Qe = u(Q($n), 8), o.c = Ot(nr, De, 1, 0, 5, 1), Yt = ce.a.ec().Kc(); Yt.Ob();)Ct = u(Yt.Pb(), 308), r = Ct.d, Gp(r, Ct.a), tw(Gp(Ct.d, Qe), Gp(Ct.d, Ct.a)) < 0 && (o.c[o.c.length] = Ct); for (n.c = Ot(nr, De, 1, 0, 5, 1), Pt = new S(o); Pt.a < Pt.c.c.length;)for (Ct = u(Q(Pt), 308), Z = new S(Ct.e); Z.a < Z.c.c.length;) { for (G = u(Q(Z), 168), h = !0, w = new S(o); w.a < w.c.c.length;)d = u(Q(w), 308), d != Ct && (Gc(G, Fe(d.e, 0)) || Gc(G, Fe(d.e, 1)) || Gc(G, Fe(d.e, 2))) && (h = !1); h && (n.c[n.c.length] = G) } for (Tse(ce, o), Oa(ce, new hi), W = new S(n); W.a < W.c.c.length;)G = u(Q(W), 168), Ys(ce, new R5t(Qe, G.a, G.b)) } for (bt = new na, Oa(ce, new Sn(bt)), s = bt.a.ec().Kc(); s.Ob();)G = u(s.Pb(), 168), (A$(q, G.a) || A$(q, G.b)) && s.Qb(); return Oa(bt, new qi), bt } function J3n(t) { var e, n, r, s, o; switch (n = u(K(t, (ie(), tu)), 21), e = YR(Cpe), s = u(K(t, (Ce(), By)), 334), s == (j0(), Qg) && Ul(e, Spe), Re(Be(K(t, Blt))) ? Mi(e, (so(), Nd), (vo(), Uut)) : Mi(e, (so(), pu), (vo(), Uut)), K(t, (y$(), RS)) != null && Ul(e, Ape), (Re(Be(K(t, LTt))) || Re(Be(K(t, _Tt)))) && sl(e, (so(), Go), (vo(), T9t)), u(K(t, Jl), 103).g) { case 2: case 3: case 4: sl(Mi(e, (so(), Nd), (vo(), C9t)), Go, _9t) }switch (n.Hc((ko(), LV)) && sl(Mi(Mi(e, (so(), Nd), (vo(), E9t)), Zc, x9t), Go, k9t), qt(K(t, Rlt)) !== qt((w4(), nG)) && Mi(e, (so(), pu), (vo(), z9t)), n.Hc(DV) && (Mi(e, (so(), Nd), (vo(), G9t)), Mi(e, f2, H9t), Mi(e, pu, V9t)), qt(K(t, jV)) !== qt((g7(), lS)) && qt(K(t, Y0)) !== qt((z0(), YO)) && sl(e, (so(), Go), (vo(), P9t)), Re(Be(K(t, STt))) && Mi(e, (so(), pu), (vo(), N9t)), Re(Be(K(t, Olt))) && Mi(e, (so(), pu), (vo(), U9t)), Mpn(t) && (qt(K(t, By)) === qt(Qg) ? r = u(K(t, _O), 292) : r = u(K(t, Ilt), 292), o = r == (W8(), vlt) ? (vo(), q9t) : (vo(), Y9t), Mi(e, (so(), Zc), o)), u(K(t, e_t), 377).g) { case 1: Mi(e, (so(), Zc), (vo(), W9t)); break; case 2: sl(Mi(Mi(e, (so(), pu), (vo(), v9t)), Zc, w9t), Go, m9t) }return qt(K(t, p2)) !== qt((R0(), b2)) && Mi(e, (so(), pu), (vo(), K9t)), e } function Vle(t) { Tv(t, new bb(yv(vv(mv(wv(new gg, $h), "ELK Rectangle Packing"), "Algorithm for packing of unconnected boxes, i.e. graphs without edges. The given order of the boxes is always preserved and the main reading direction of the boxes is left to right. The algorithm is divided into two phases. One phase approximates the width in which the rectangles can be placed. The next phase places the rectangles in rows using the previously calculated width as bounding width and bundles rectangles with a similar height in blocks. A compaction step reduces the size of the drawing. Finally, the rectangles are expanded to fill their bounding box and eliminate empty unused spaces."), new KQ))), ke(t, $h, px, 1.3), ke(t, $h, sH, Ie(wCt)), ke(t, $h, pw, _Ct), ke(t, $h, yy, 15), ke(t, $h, Jq, Ie(rye)), ke(t, $h, L4, Ie(aye)), ke(t, $h, vx, Ie(oye)), ke(t, $h, bx, Ie(cye)), ke(t, $h, R7, Ie(sye)), ke(t, $h, MC, Ie(kCt)), ke(t, $h, j7, Ie(lye)), ke(t, $h, Skt, Ie(TCt)), ke(t, $h, Akt, Ie(xCt)), ke(t, $h, Dkt, Ie(ECt)), ke(t, $h, Ikt, Ie(CCt)), ke(t, $h, dct, Ie(mCt)), ke(t, $h, jI, Ie(yCt)), ke(t, $h, rct, Ie(iye)), ke(t, $h, Mkt, Ie(BO)), ke(t, $h, Lkt, Ie(vCt)), ke(t, $h, Okt, Ie(SCt)) } function fw(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z; if (n == null) return null; if (t.a != e.Aj()) throw et(new Bn(H7 + e.ne() + mw)); if (Et(e, 457)) { if (Z = abn(u(e, 671), n), !Z) throw et(new Bn(_ct + n + "' is not a valid enumerator of '" + e.ne() + "'")); return Z } switch (Ig((Yu(), Pa), e).cl()) { case 2: { n = Xc(n, !1); break } case 3: { n = Xc(n, !0); break } }if (r = Ig(Pa, e).$k(), r) return r.Aj().Nh().Kh(r, n); if (F = Ig(Pa, e).al(), F) { for (Z = new le, k = lit(n), _ = 0, L = k.length; _ < L; ++_)w = k[_], ue(Z, F.Aj().Nh().Kh(F, w)); return Z } if (W = Ig(Pa, e).bl(), !W.dc()) { for (G = W.Kc(); G.Ob();) { q = u(G.Pb(), 148); try { if (Z = q.Aj().Nh().Kh(q, n), Z != null) return Z } catch (bt) { if (bt = os(bt), !Et(bt, 60)) throw et(bt) } } throw et(new Bn(_ct + n + "' does not match any member types of the union datatype '" + e.ne() + "'")) } if (u(e, 834).Fj(), s = scn(e.Bj()), !s) return null; if (s == tS) { h = 0; try { h = Kl(n, $a, Di) & Ns } catch (bt) { if (bt = os(bt), Et(bt, 127)) o = L$(n), h = o[0]; else throw et(bt) } return DD(h) } if (s == NH) { for (d = 0; d < QS.length; ++d)try { return OHt(QS[d], n) } catch (bt) { if (bt = os(bt), !Et(bt, 32)) throw et(bt) } throw et(new Bn(_ct + n + "' is not a date formatted string of the form yyyy-MM-dd'T'HH:mm:ss'.'SSSZ or a valid subset thereof")) } throw et(new Bn(_ct + n + "' is invalid. ")) } function t4n(t, e) { var n, r, s, o, h, d, w, k; if (n = 0, h = 0, o = e.length, d = null, k = new Sm, h < o && (Yr(h, e.length), e.charCodeAt(h) == 43) && (++h, ++n, h < o && (Yr(h, e.length), e.charCodeAt(h) == 43 || (Yr(h, e.length), e.charCodeAt(h) == 45)))) throw et(new dd(gw + e + '"')); for (; h < o && (Yr(h, e.length), e.charCodeAt(h) != 46) && (Yr(h, e.length), e.charCodeAt(h) != 101) && (Yr(h, e.length), e.charCodeAt(h) != 69);)++h; if (k.a += "" + $l(e == null ? Pu : (Pn(e), e), n, h), h < o && (Yr(h, e.length), e.charCodeAt(h) == 46)) { for (++h, n = h; h < o && (Yr(h, e.length), e.charCodeAt(h) != 101) && (Yr(h, e.length), e.charCodeAt(h) != 69);)++h; t.e = h - n, k.a += "" + $l(e == null ? Pu : (Pn(e), e), n, h) } else t.e = 0; if (h < o && (Yr(h, e.length), e.charCodeAt(h) == 101 || (Yr(h, e.length), e.charCodeAt(h) == 69)) && (++h, n = h, h < o && (Yr(h, e.length), e.charCodeAt(h) == 43) && (++h, h < o && (Yr(h, e.length), e.charCodeAt(h) != 45) && ++n), d = e.substr(n, o - n), t.e = t.e - Kl(d, $a, Di), t.e != Ms(t.e))) throw et(new dd("Scale out of range.")); if (w = k.a, w.length < 16) { if (t.f = (Q8t == null && (Q8t = new RegExp("^[+-]?\\d*$", "i")), Q8t.test(w) ? parseInt(w, 10) : NaN), isNaN(t.f)) throw et(new dd(gw + e + '"')); t.a = I4t(t.f) } else xun(t, new Fp(w)); for (t.d = k.a.length, s = 0; s < k.a.length && (r = Ia(k.a, s), !(r != 45 && r != 48)); ++s)--t.d; t.d == 0 && (t.d = 1) } function mat() { mat = J, Wi = new $v, cn(Wi, (we(), Z1), nu), cn(Wi, Xh, nu), cn(Wi, Xh, Ru), cn(Wi, _h, Ju), cn(Wi, _h, nu), cn(Wi, Of, nu), cn(Wi, Of, fl), cn(Wi, eh, Fu), cn(Wi, eh, nu), cn(Wi, Bu, vu), cn(Wi, Bu, nu), cn(Wi, Bu, fl), cn(Wi, Bu, Fu), cn(Wi, vu, Bu), cn(Wi, vu, Ru), cn(Wi, vu, Ju), cn(Wi, vu, nu), cn(Wi, Nf, Nf), cn(Wi, Nf, fl), cn(Wi, Nf, Ru), cn(Wi, hl, hl), cn(Wi, hl, fl), cn(Wi, hl, Ju), cn(Wi, nh, nh), cn(Wi, nh, Fu), cn(Wi, nh, Ru), cn(Wi, Ch, Ch), cn(Wi, Ch, Fu), cn(Wi, Ch, Ju), cn(Wi, fl, Of), cn(Wi, fl, Bu), cn(Wi, fl, Nf), cn(Wi, fl, hl), cn(Wi, fl, nu), cn(Wi, fl, fl), cn(Wi, fl, Ru), cn(Wi, fl, Ju), cn(Wi, Fu, eh), cn(Wi, Fu, Bu), cn(Wi, Fu, nh), cn(Wi, Fu, Ch), cn(Wi, Fu, Fu), cn(Wi, Fu, Ru), cn(Wi, Fu, Ju), cn(Wi, Fu, nu), cn(Wi, Ru, Xh), cn(Wi, Ru, vu), cn(Wi, Ru, Nf), cn(Wi, Ru, nh), cn(Wi, Ru, fl), cn(Wi, Ru, Fu), cn(Wi, Ru, Ru), cn(Wi, Ru, nu), cn(Wi, Ju, _h), cn(Wi, Ju, vu), cn(Wi, Ju, hl), cn(Wi, Ju, Ch), cn(Wi, Ju, fl), cn(Wi, Ju, Fu), cn(Wi, Ju, Ju), cn(Wi, Ju, nu), cn(Wi, nu, Z1), cn(Wi, nu, Xh), cn(Wi, nu, _h), cn(Wi, nu, Of), cn(Wi, nu, eh), cn(Wi, nu, Bu), cn(Wi, nu, vu), cn(Wi, nu, fl), cn(Wi, nu, Fu), cn(Wi, nu, Ru), cn(Wi, nu, Ju), cn(Wi, nu, nu) } function a6t(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge; for (t.d = new je(ms, ms), t.c = new je(Rs, Rs), F = e.Kc(); F.Ob();)for (_ = u(F.Pb(), 37), Ct = new S(_.a); Ct.a < Ct.c.c.length;)Lt = u(Q(Ct), 10), t.d.a = b.Math.min(t.d.a, Lt.n.a - Lt.d.b), t.d.b = b.Math.min(t.d.b, Lt.n.b - Lt.d.d), t.c.a = b.Math.max(t.c.a, Lt.n.a + Lt.o.a + Lt.d.c), t.c.b = b.Math.max(t.c.b, Lt.n.b + Lt.o.b + Lt.d.a); for (d = new czt, L = e.Kc(); L.Ob();)_ = u(L.Pb(), 37), r = B3n(t, _), ue(d.a, r), r.a = r.a | !u(K(r.c, (ie(), Iy)), 21).dc(); for (t.b = (mit(), Ge = new vL, Ge.f = new Kte(n), Ge.b = Gmn(Ge.f, d), Ge), Jmn((G = t.b, new Yk, G)), t.e = new Ra, t.a = t.b.f.e, h = new S(d.a); h.a < h.c.c.length;)for (s = u(Q(h), 841), Pt = Ben(t.b, s), jbn(s.c, Pt.a, Pt.b), Z = new S(s.c.a); Z.a < Z.c.c.length;)W = u(Q(Z), 10), W.k == (Kn(), Fs) && (bt = n5t(t, W.n, u(K(W, (ie(), yc)), 61)), $i(Xf(W.n), bt)); for (o = new S(d.a); o.a < o.c.c.length;)for (s = u(Q(o), 841), k = new S(pcn(s)); k.a < k.c.c.length;)for (w = u(Q(k), 17), Se = new hR(w.a), h8(Se, 0, I1(w.c)), pi(Se, I1(w.d)), q = null, ce = gi(Se, 0); ce.b != ce.d.c;) { if (Yt = u(di(ce), 8), !q) { q = Yt; continue } ymt(q.a, Yt.a) ? (t.e.a = b.Math.min(t.e.a, q.a), t.a.a = b.Math.max(t.a.a, q.a)) : ymt(q.b, Yt.b) && (t.e.b = b.Math.min(t.e.b, q.b), t.a.b = b.Math.max(t.a.b, q.b)), q = Yt } lj(t.e), $i(t.a, t.e) } function e4n(t) { Vr(t.b, Hh, ct(ot(Me, 1), te, 2, 6, [yw, "ConsistentTransient"])), Vr(t.a, Hh, ct(ot(Me, 1), te, 2, 6, [yw, "WellFormedSourceURI"])), Vr(t.o, Hh, ct(ot(Me, 1), te, 2, 6, [yw, "InterfaceIsAbstract AtMostOneID UniqueFeatureNames UniqueOperationSignatures NoCircularSuperTypes WellFormedMapEntryClass ConsistentSuperTypes DisjointFeatureAndOperationSignatures"])), Vr(t.p, Hh, ct(ot(Me, 1), te, 2, 6, [yw, "WellFormedInstanceTypeName UniqueTypeParameterNames"])), Vr(t.v, Hh, ct(ot(Me, 1), te, 2, 6, [yw, "UniqueEnumeratorNames UniqueEnumeratorLiterals"])), Vr(t.R, Hh, ct(ot(Me, 1), te, 2, 6, [yw, "WellFormedName"])), Vr(t.T, Hh, ct(ot(Me, 1), te, 2, 6, [yw, "UniqueParameterNames UniqueTypeParameterNames NoRepeatingVoid"])), Vr(t.U, Hh, ct(ot(Me, 1), te, 2, 6, [yw, "WellFormedNsURI WellFormedNsPrefix UniqueSubpackageNames UniqueClassifierNames UniqueNsURIs"])), Vr(t.W, Hh, ct(ot(Me, 1), te, 2, 6, [yw, "ConsistentOpposite SingleContainer ConsistentKeys ConsistentUnique ConsistentContainer"])), Vr(t.bb, Hh, ct(ot(Me, 1), te, 2, 6, [yw, "ValidDefaultValueLiteral"])), Vr(t.eb, Hh, ct(ot(Me, 1), te, 2, 6, [yw, "ValidLowerBound ValidUpperBound ConsistentBounds ValidType"])), Vr(t.H, Hh, ct(ot(Me, 1), te, 2, 6, [yw, "ConsistentType ConsistentBounds ConsistentArguments"])) } function n4n(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe; if (!e.dc()) { if (s = new Hu, d = n || u(e.Xb(0), 17), G = d.c, lC(), F = G.i.k, !(F == (Kn(), Ws) || F == Jc || F == Fs || F == W1)) throw et(new Bn("The target node of the edge must be a normal node or a northSouthPort.")); for (U2(s, cc(ct(ot(sa, 1), te, 8, 0, [G.i.n, G.n, G.a]))), (we(), Bu).Hc(G.j) && (Z = Xt(xe(K(G, (ie(), g9)))), L = new je(cc(ct(ot(sa, 1), te, 8, 0, [G.i.n, G.n, G.a])).a, Z), Cs(s, L, s.c.b, s.c)), _ = null, r = !1, w = e.Kc(); w.Ob();)h = u(w.Pb(), 17), o = h.a, o.b != 0 && (r ? (k = pd($i(_, (ir(o.b != 0), u(o.a.a.c, 8))), .5), Cs(s, k, s.c.b, s.c), r = !1) : r = !0, _ = pc((ir(o.b != 0), u(o.c.b.c, 8))), io(s, o), Nh(o)); W = d.d, Bu.Hc(W.j) && (Z = Xt(xe(K(W, (ie(), g9)))), L = new je(cc(ct(ot(sa, 1), te, 8, 0, [W.i.n, W.n, W.a])).a, Z), Cs(s, L, s.c.b, s.c)), U2(s, cc(ct(ot(sa, 1), te, 8, 0, [W.i.n, W.n, W.a]))), t.d == (t7(), sht) && (bt = (ir(s.b != 0), u(s.a.a.c, 8)), Lt = u(r1(s, 1), 8), Ct = new irt(hyt(G.j)), Ct.a *= 5, Ct.b *= 5, Pt = ba(new je(Lt.a, Lt.b), bt), Yt = new je(ert(Ct.a, Pt.a), ert(Ct.b, Pt.b)), $i(Yt, bt), ce = gi(s, 1), YM(ce, Yt), Se = (ir(s.b != 0), u(s.c.b.c, 8)), Ge = u(r1(s, s.b - 2), 8), Ct = new irt(hyt(W.j)), Ct.a *= 5, Ct.b *= 5, Pt = ba(new je(Ge.a, Ge.b), Se), Qe = new je(ert(Ct.a, Pt.a), ert(Ct.b, Pt.b)), $i(Qe, Se), h8(s, s.b - 1, Qe)), q = new j5t(s), io(d.a, gie(q)) } } function r4n(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn, yr, Li, Js, ih, nf, ed, nU, pN, oA, bN; if (Ct = u(St((!t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b), 0), 82), Yt = Ct.Dg(), ce = Ct.Eg(), Pt = Ct.Cg() / 2, W = Ct.Bg() / 2, Et(Ct, 186) && (Lt = u(Ct, 118), Yt += M1(Lt).i, Yt += M1(Lt).i), Yt += Pt, ce += W, Gn = u(St((!t.b && (t.b = new Tn(Cr, t, 4, 7)), t.b), 0), 82), Li = Gn.Dg(), Js = Gn.Eg(), yr = Gn.Cg() / 2, Se = Gn.Bg() / 2, Et(Gn, 186) && ($n = u(Gn, 118), Li += M1($n).i, Li += M1($n).i), Li += yr, Js += Se, (!t.a && (t.a = new he(fs, t, 6, 6)), t.a).i == 0) d = (xv(), k = new ud, k), Hr((!t.a && (t.a = new he(fs, t, 6, 6)), t.a), d); else if ((!t.a && (t.a = new he(fs, t, 6, 6)), t.a).i > 1) for (G = new A6((!t.a && (t.a = new he(fs, t, 6, 6)), t.a)); G.e != G.i.gc();)rC(G); for (h = u(St((!t.a && (t.a = new he(fs, t, 6, 6)), t.a), 0), 202), Z = Li, Li > Yt + Pt ? Z = Yt + Pt : Li < Yt - Pt && (Z = Yt - Pt), bt = Js, Js > ce + W ? bt = ce + W : Js < ce - W && (bt = ce - W), Z > Yt - Pt && Z < Yt + Pt && bt > ce - W && bt < ce + W && (Z = Yt + Pt), B8(h, Z), j8(h, bt), Ge = Yt, Yt > Li + yr ? Ge = Li + yr : Yt < Li - yr && (Ge = Li - yr), Qe = ce, ce > Js + Se ? Qe = Js + Se : ce < Js - Se && (Qe = Js - Se), Ge > Li - yr && Ge < Li + yr && Qe > Js - Se && Qe < Js + Se && (Qe = Js + Se), F8(h, Ge), R8(h, Qe), Ir((!h.a && (h.a = new qs(Qh, h, 5)), h.a)), o = Iz(e, 5), Ct == Gn && ++o, ed = Ge - Z, oA = Qe - bt, ih = b.Math.sqrt(ed * ed + oA * oA), L = ih * .20000000298023224, nU = ed / (o + 1), bN = oA / (o + 1), nf = Z, pN = bt, _ = 0; _ < o; _++)nf += nU, pN += bN, F = nf + wl(e, 24) * NI * L - L / 2, F < 0 ? F = 1 : F > n && (F = n - 1), q = pN + wl(e, 24) * NI * L - L / 2, q < 0 ? q = 1 : q > r && (q = r - 1), s = (xv(), w = new mp, w), R$(s, F), j$(s, q), Hr((!h.a && (h.a = new qs(Qh, h, 5)), h.a), s) } function Ce() { Ce = J, zlt = (Ti(), o3e), WTt = c3e, SO = RSt, Sf = u3e, Fx = jSt, Ow = l3e, qy = $St, m9 = zSt, y9 = qSt, qlt = OG, Nw = zb, Hlt = h3e, yS = GSt, XV = zx, CO = (c6t(), ive), Q4 = sve, Fb = ave, Z4 = ove, Vve = new po(IG, pe(0)), w9 = eve, UTt = nve, Px = rve, e_t = Lve, KTt = lve, YTt = dve, Glt = yve, XTt = bve, QTt = wve, QV = Ove, Ult = Mve, JTt = _ve, ZTt = Eve, t_t = Sve, Dw = Ybe, mS = Xbe, Flt = dbe, TTt = pbe, zTt = new Sv(12), $Tt = new po($b, zTt), xTt = (z0(), A9), Y0 = new po(gSt, xTt), jy = new po(kl, 0), Gve = new po(tft, pe(1)), BV = new po(jx, B7), Pb = DG, xs = $S, v9 = o5, Bve = GO, Pd = Zye, By = r5, Uve = new po(eft, (Rn(), !0)), Ry = UO, Ob = Wht, Nb = jb, YV = m2, $lt = MG, yTt = (xo(), h0), Jl = new po(Fw, yTt), Mw = s5, WV = ESt, $y = Uy, Hve = Jht, VTt = FSt, HTt = (c4(), ZO), new po(DSt, HTt), $ve = Yht, zve = Xht, qve = Qht, jve = Kht, Vlt = uve, PTt = Bbe, Rlt = Fbe, xS = cve, bu = Lbe, Fy = sbe, vS = ibe, Py = G2e, vTt = U2e, Ilt = X2e, _O = W2e, Olt = nbe, FTt = Rbe, BTt = jbe, MTt = Ebe, KV = Jbe, jlt = qbe, Blt = wbe, jTt = Wbe, ETt = hbe, Plt = fbe, Dlt = AG, RTt = $be, jV = R2e, gTt = B2e, RV = F2e, STt = xbe, CTt = ybe, ATt = kbe, p9 = a5, $o = i5, Gg = bSt, Fd = Uht, Nlt = Ght, wTt = Z2e, Ug = Zht, bS = e3e, VV = n3e, Iw = OSt, qTt = r3e, b9 = i3e, ITt = Dbe, OTt = Obe, zy = $x, Llt = P2e, NTt = Pbe, HV = cbe, qV = obe, UV = WO, DTt = Cbe, wS = Vbe, AO = HSt, mTt = abe, GTt = tve, kTt = ube, Rve = Abe, Fve = tbe, LTt = ySt, GV = Mbe, zV = ebe, p2 = V2e, bTt = q2e, $V = $2e, pTt = z2e, Mlt = H2e, Nx = j2e, _Tt = mbe } function yat(t, e) { aat(); var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn, yr, Li; if (Ge = t.e, G = t.d, s = t.a, Ge == 0) switch (e) { case 0: return "0"; case 1: return I7; case 2: return "0.00"; case 3: return "0.000"; case 4: return "0.0000"; case 5: return "0.00000"; case 6: return "0.000000"; default: return ce = new Ap, e < 0 ? ce.a += "0E+" : ce.a += "0E", ce.a += -e, ce.a }if (Ct = G * 10 + 1 + 7, Pt = Ot(Sh, Ed, 25, Ct + 1, 15, 1), n = Ct, G == 1) if (d = s[0], d < 0) { Li = Xs(d, Eo); do W = Li, Li = tI(Li, 10), Pt[--n] = 48 + $r(Qp(W, ja(Li, 10))) & Ns; while (Oc(Li, 0) != 0) } else { Li = d; do W = Li, Li = Li / 10 | 0, Pt[--n] = 48 + (W - Li * 10) & Ns; while (Li != 0) } else { $n = Ot(Br, oi, 25, G, 15, 1), yr = G, qc(s, 0, $n, 0, yr); t: for (; ;) { for (Se = 0, k = yr - 1; k >= 0; k--)Gn = Wa(L0(Se, 32), Xs($n[k], Eo)), bt = c1n(Gn), $n[k] = $r(bt), Se = $r(Rp(bt, 32)); Lt = $r(Se), Z = n; do Pt[--n] = 48 + Lt % 10 & Ns; while ((Lt = Lt / 10 | 0) != 0 && n != 0); for (r = 9 - Z + n, w = 0; w < r && n > 0; w++)Pt[--n] = 48; for (L = yr - 1; $n[L] == 0; L--)if (L == 0) break t; yr = L + 1 } for (; Pt[n] == 48;)++n } if (q = Ge < 0, h = Ct - n - e - 1, e == 0) return q && (Pt[--n] = 45), Fh(Pt, n, Ct - n); if (e > 0 && h >= -6) { if (h >= 0) { for (_ = n + h, F = Ct - 1; F >= _; F--)Pt[F + 1] = Pt[F]; return Pt[++_] = 46, q && (Pt[--n] = 45), Fh(Pt, n, Ct - n + 1) } for (L = 2; L < -h + 1; L++)Pt[--n] = 48; return Pt[--n] = 46, Pt[--n] = 48, q && (Pt[--n] = 45), Fh(Pt, n, Ct - n) } return Qe = n + 1, o = Ct, Yt = new Sm, q && (Yt.a += "-"), o - Qe >= 1 ? ($p(Yt, Pt[n]), Yt.a += ".", Yt.a += Fh(Pt, n + 1, Ct - n - 1)) : Yt.a += Fh(Pt, n, Ct - n), Yt.a += "E", h > 0 && (Yt.a += "+"), Yt.a += "" + h, Yt.a } function Gle(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce; switch (t.c = e, t.g = new Rr, n = (Lm(), new _m(t.c)), r = new cr(n), qyt(r), Ct = Kr(ze(t.c, (nI(), BCt))), w = u(ze(t.c, Fht), 316), Yt = u(ze(t.c, Bht), 429), h = u(ze(t.c, NCt), 482), Pt = u(ze(t.c, Pht), 430), t.j = Xt(xe(ze(t.c, kye))), d = t.a, w.g) { case 0: d = t.a; break; case 1: d = t.b; break; case 2: d = t.i; break; case 3: d = t.e; break; case 4: d = t.f; break; default: throw et(new Bn(aH + (w.f != null ? w.f : "" + w.g))) }if (t.d = new pXt(d, Yt, h), Jt(t.d, (V8(), rS), Be(ze(t.c, yye))), t.d.c = Re(Be(ze(t.c, PCt))), Yj(t.c).i == 0) return t.d; for (L = new lr(Yj(t.c)); L.e != L.i.gc();) { for (_ = u(kr(L), 33), q = _.g / 2, F = _.f / 2, ce = new je(_.i + q, _.j + F); Il(t.g, ce);)Nm(ce, (b.Math.random() - .5) * Cd, (b.Math.random() - .5) * Cd); W = u(ze(_, (Ti(), WO)), 142), Z = new IXt(ce, new fh(ce.a - q - t.j / 2 - W.b, ce.b - F - t.j / 2 - W.d, _.g + t.j + (W.b + W.c), _.f + t.j + (W.d + W.a))), ue(t.d.i, Z), Pi(t.g, ce, new _a(Z, _)) } switch (Pt.g) { case 0: if (Ct == null) t.d.d = u(Fe(t.d.i, 0), 65); else for (Lt = new S(t.d.i); Lt.a < Lt.c.c.length;)Z = u(Q(Lt), 65), G = u(u(or(t.g, Z.a), 46).b, 33).zg(), G != null && ln(G, Ct) && (t.d.d = Z); break; case 1: for (s = new je(t.c.g, t.c.f), s.a *= .5, s.b *= .5, Nm(s, t.c.i, t.c.j), o = ms, bt = new S(t.d.i); bt.a < bt.c.c.length;)Z = u(Q(bt), 65), k = Gp(Z.a, s), k < o && (o = k, t.d.d = Z); break; default: throw et(new Bn(aH + (Pt.f != null ? Pt.f : "" + Pt.g))) }return t.d } function Ule(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce; for (Yt = u(St((!t.a && (t.a = new he(fs, t, 6, 6)), t.a), 0), 202), _ = new Hu, Pt = new Rr, ce = cue(Yt), du(Pt.f, Yt, ce), F = new Rr, r = new hs, G = jp(B1(ct(ot(G1, 1), De, 20, 0, [(!e.d && (e.d = new Tn(aa, e, 8, 5)), e.d), (!e.e && (e.e = new Tn(aa, e, 7, 4)), e.e)]))); Zr(G);) { if (q = u(qr(G), 79), (!t.a && (t.a = new he(fs, t, 6, 6)), t.a).i != 1) throw et(new Bn(m1e + (!t.a && (t.a = new he(fs, t, 6, 6)), t.a).i)); q != t && (Z = u(St((!q.a && (q.a = new he(fs, q, 6, 6)), q.a), 0), 202), Cs(r, Z, r.c.b, r.c), W = u(gc(qo(Pt.f, Z)), 12), W || (W = cue(Z), du(Pt.f, Z, W)), L = n ? ba(new No(u(Fe(ce, ce.c.length - 1), 8)), u(Fe(W, W.c.length - 1), 8)) : ba(new No((An(0, ce.c.length), u(ce.c[0], 8))), (An(0, W.c.length), u(W.c[0], 8))), du(F.f, Z, L)) } if (r.b != 0) for (bt = u(Fe(ce, n ? ce.c.length - 1 : 0), 8), k = 1; k < ce.c.length; k++) { for (Lt = u(Fe(ce, n ? ce.c.length - 1 - k : k), 8), s = gi(r, 0); s.b != s.d.c;)Z = u(di(s), 202), W = u(gc(qo(Pt.f, Z)), 12), W.c.length <= k ? N$(s) : (Ct = $i(new No(u(Fe(W, n ? W.c.length - 1 - k : k), 8)), u(gc(qo(F.f, Z)), 8)), (Lt.a != Ct.a || Lt.b != Ct.b) && (o = Lt.a - bt.a, d = Lt.b - bt.b, h = Ct.a - bt.a, w = Ct.b - bt.b, h * d == w * o && (o == 0 || isNaN(o) ? o : o < 0 ? -1 : 1) == (h == 0 || isNaN(h) ? h : h < 0 ? -1 : 1) && (d == 0 || isNaN(d) ? d : d < 0 ? -1 : 1) == (w == 0 || isNaN(w) ? w : w < 0 ? -1 : 1) ? (b.Math.abs(o) < b.Math.abs(h) || b.Math.abs(d) < b.Math.abs(w)) && Cs(_, Lt, _.c.b, _.c) : k > 1 && Cs(_, bt, _.c.b, _.c), N$(s))); bt = Lt } return _ } function i4n(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn, yr, Li, Js, ih, nf, ed; for (Ar(n, "Greedy cycle removal", 1), Ct = e.a, ed = Ct.c.length, t.a = Ot(Br, oi, 25, ed, 15, 1), t.c = Ot(Br, oi, 25, ed, 15, 1), t.b = Ot(Br, oi, 25, ed, 15, 1), k = 0, bt = new S(Ct); bt.a < bt.c.c.length;) { for (W = u(Q(bt), 10), W.p = k, Qe = new S(W.j); Qe.a < Qe.c.c.length;) { for (ce = u(Q(Qe), 11), d = new S(ce.e); d.a < d.c.c.length;)r = u(Q(d), 17), r.c.i != W && (yr = u(K(r, (Ce(), w9)), 19).a, t.a[k] += yr > 0 ? yr + 1 : 1); for (h = new S(ce.g); h.a < h.c.c.length;)r = u(Q(h), 17), r.d.i != W && (yr = u(K(r, (Ce(), w9)), 19).a, t.c[k] += yr > 0 ? yr + 1 : 1) } t.c[k] == 0 ? pi(t.e, W) : t.a[k] == 0 && pi(t.f, W), ++k } for (G = -1, q = 1, L = new le, t.d = u(K(e, (ie(), Ix)), 230); ed > 0;) { for (; t.e.b != 0;)Js = u(lnt(t.e), 10), t.b[Js.p] = G--, A5t(t, Js), --ed; for (; t.f.b != 0;)ih = u(lnt(t.f), 10), t.b[ih.p] = q++, A5t(t, ih), --ed; if (ed > 0) { for (F = $a, Lt = new S(Ct); Lt.a < Lt.c.c.length;)W = u(Q(Lt), 10), t.b[W.p] == 0 && (Pt = t.c[W.p] - t.a[W.p], Pt >= F && (Pt > F && (L.c = Ot(nr, De, 1, 0, 5, 1), F = Pt), L.c[L.c.length] = W)); _ = t.Zf(L), t.b[_.p] = q++, A5t(t, _), --ed } } for (Li = Ct.c.length + 1, k = 0; k < Ct.c.length; k++)t.b[k] < 0 && (t.b[k] += Li); for (Z = new S(Ct); Z.a < Z.c.c.length;)for (W = u(Q(Z), 10), Gn = _Qt(W.j), Se = Gn, Ge = 0, $n = Se.length; Ge < $n; ++Ge)for (ce = Se[Ge], Yt = yd(ce.g), s = Yt, o = 0, w = s.length; o < w; ++o)r = s[o], nf = r.d.i.p, t.b[W.p] > t.b[nf] && (lw(r, !0), Jt(e, yO, (Rn(), !0))); t.a = null, t.c = null, t.b = null, Nh(t.f), Nh(t.e), br(n) } function Wle(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt; for (r = new le, d = new le, Z = e / 2, q = t.gc(), s = u(t.Xb(0), 8), bt = u(t.Xb(1), 8), G = Nst(s.a, s.b, bt.a, bt.b, Z), ue(r, (An(0, G.c.length), u(G.c[0], 8))), ue(d, (An(1, G.c.length), u(G.c[1], 8))), k = 2; k < q; k++)W = s, s = bt, bt = u(t.Xb(k), 8), G = Nst(s.a, s.b, W.a, W.b, Z), ue(r, (An(1, G.c.length), u(G.c[1], 8))), ue(d, (An(0, G.c.length), u(G.c[0], 8))), G = Nst(s.a, s.b, bt.a, bt.b, Z), ue(r, (An(0, G.c.length), u(G.c[0], 8))), ue(d, (An(1, G.c.length), u(G.c[1], 8))); for (G = Nst(bt.a, bt.b, s.a, s.b, Z), ue(r, (An(1, G.c.length), u(G.c[1], 8))), ue(d, (An(0, G.c.length), u(G.c[0], 8))), n = new Hu, h = new le, pi(n, (An(0, r.c.length), u(r.c[0], 8))), _ = 1; _ < r.c.length - 2; _ += 2)o = (An(_, r.c.length), u(r.c[_], 8)), F = aae((An(_ - 1, r.c.length), u(r.c[_ - 1], 8)), o, (An(_ + 1, r.c.length), u(r.c[_ + 1], 8)), (An(_ + 2, r.c.length), u(r.c[_ + 2], 8))), !isFinite(F.a) || !isFinite(F.b) ? Cs(n, o, n.c.b, n.c) : Cs(n, F, n.c.b, n.c); for (pi(n, u(Fe(r, r.c.length - 1), 8)), ue(h, (An(0, d.c.length), u(d.c[0], 8))), L = 1; L < d.c.length - 2; L += 2)o = (An(L, d.c.length), u(d.c[L], 8)), F = aae((An(L - 1, d.c.length), u(d.c[L - 1], 8)), o, (An(L + 1, d.c.length), u(d.c[L + 1], 8)), (An(L + 2, d.c.length), u(d.c[L + 2], 8))), !isFinite(F.a) || !isFinite(F.b) ? h.c[h.c.length] = o : h.c[h.c.length] = F; for (ue(h, u(Fe(d, d.c.length - 1), 8)), w = h.c.length - 1; w >= 0; w--)pi(n, (An(w, h.c.length), u(h.c[w], 8))); return n } function s4n(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q; if (h = !0, L = null, r = null, s = null, e = !1, q = J3e, k = null, o = null, d = 0, w = $it(t, d, LAt, MAt), w < t.length && (Yr(w, t.length), t.charCodeAt(w) == 58) && (L = t.substr(d, w - d), d = w + 1), n = L != null && gM(KG, L.toLowerCase()), n) { if (w = t.lastIndexOf("!/"), w == -1) throw et(new Bn("no archive separator")); h = !0, r = $l(t, d, ++w), d = w } else d >= 0 && ln(t.substr(d, 2), "//") ? (d += 2, w = $it(t, d, ZS, JS), r = t.substr(d, w - d), d = w) : L != null && (d == t.length || (Yr(d, t.length), t.charCodeAt(d) != 47)) && (h = !1, w = abt(t, Nu(35), d), w == -1 && (w = t.length), r = t.substr(d, w - d), d = w); if (!n && d < t.length && (Yr(d, t.length), t.charCodeAt(d) == 47) && (w = $it(t, d + 1, ZS, JS), _ = t.substr(d + 1, w - (d + 1)), _.length > 0 && Ia(_, _.length - 1) == 58 && (s = _, d = w)), d < t.length && (Yr(d, t.length), t.charCodeAt(d) == 47) && (++d, e = !0), d < t.length && (Yr(d, t.length), t.charCodeAt(d) != 63) && (Yr(d, t.length), t.charCodeAt(d) != 35)) { for (F = new le; d < t.length && (Yr(d, t.length), t.charCodeAt(d) != 63) && (Yr(d, t.length), t.charCodeAt(d) != 35);)w = $it(t, d, ZS, JS), ue(F, t.substr(d, w - d)), d = w, d < t.length && (Yr(d, t.length), t.charCodeAt(d) == 47) && (Won(t, ++d) || (F.c[F.c.length] = "")); q = Ot(Me, te, 2, F.c.length, 6, 1), $1(F, q) } return d < t.length && (Yr(d, t.length), t.charCodeAt(d) == 63) && (w = l8(t, 35, ++d), w == -1 && (w = t.length), k = t.substr(d, w - d), d = w), d < t.length && (o = IM(t, ++d)), Ymn(h, L, r, s, q, k), new Hst(h, L, r, s, e, q, k, o) } function a4n(t, e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn, yr, Li, Js, ih, nf; for (Js = new le, G = new S(e.b); G.a < G.c.c.length;)for (F = u(Q(G), 29), Yt = new S(F.a); Yt.a < Yt.c.c.length;) { for (Pt = u(Q(Yt), 10), Pt.p = -1, L = $a, Ge = $a, $n = new S(Pt.j); $n.a < $n.c.c.length;) { for (Qe = u(Q($n), 11), s = new S(Qe.e); s.a < s.c.c.length;)n = u(Q(s), 17), Gn = u(K(n, (Ce(), Px)), 19).a, L = b.Math.max(L, Gn); for (r = new S(Qe.g); r.a < r.c.c.length;)n = u(Q(r), 17), Gn = u(K(n, (Ce(), Px)), 19).a, Ge = b.Math.max(Ge, Gn) } Jt(Pt, aG, pe(L)), Jt(Pt, oG, pe(Ge)) } for (bt = 0, q = new S(e.b); q.a < q.c.c.length;)for (F = u(Q(q), 29), Yt = new S(F.a); Yt.a < Yt.c.c.length;)Pt = u(Q(Yt), 10), Pt.p < 0 && (Li = new gpt, Li.b = bt++, Mce(t, Pt, Li), Js.c[Js.c.length] = Li); for (Se = Ud(Js.c.length), _ = Ud(Js.c.length), h = 0; h < Js.c.length; h++)ue(Se, new le), ue(_, pe(0)); for (Lyn(e, Js, Se, _), ih = u($1(Js, Ot(Lwe, Ffe, 257, Js.c.length, 0, 1)), 840), ce = u($1(Se, Ot(Eh, my, 15, Se.c.length, 0, 1)), 192), k = Ot(Br, oi, 25, _.c.length, 15, 1), d = 0; d < k.length; d++)k[d] = (An(d, _.c.length), u(_.c[d], 19)).a; for (Lt = 0, Ct = new le, w = 0; w < ih.length; w++)k[w] == 0 && ue(Ct, ih[w]); for (Z = Ot(Br, oi, 25, ih.length, 15, 1); Ct.c.length != 0;)for (Li = u(Sg(Ct, 0), 257), Z[Li.b] = Lt++; !ce[Li.b].dc();)nf = u(ce[Li.b].$c(0), 257), --k[nf.b], k[nf.b] == 0 && (Ct.c[Ct.c.length] = nf); for (t.a = Ot(Lwe, Ffe, 257, ih.length, 0, 1), o = 0; o < ih.length; o++)for (W = ih[o], yr = Z[o], t.a[yr] = W, W.b = yr, Yt = new S(W.e); Yt.a < Yt.c.c.length;)Pt = u(Q(Yt), 10), Pt.p = yr; return t.a } function Si(t) { var e, n, r; if (t.d >= t.j) { t.a = -1, t.c = 1; return } if (e = Ia(t.i, t.d++), t.a = e, t.b == 1) { switch (e) { case 92: if (r = 10, t.d >= t.j) throw et(new Wr(Jr((Ur(), dH)))); t.a = Ia(t.i, t.d++); break; case 45: (t.e & 512) == 512 && t.d < t.j && Ia(t.i, t.d) == 91 ? (++t.d, r = 24) : r = 0; break; case 91: if ((t.e & 512) != 512 && t.d < t.j && Ia(t.i, t.d) == 58) { ++t.d, r = 20; break } default: (e & 64512) == II && t.d < t.j && (n = Ia(t.i, t.d), (n & 64512) == 56320 && (t.a = oo + (e - II << 10) + n - 56320, ++t.d)), r = 0 }t.c = r; return } switch (e) { case 124: r = 2; break; case 42: r = 3; break; case 43: r = 4; break; case 63: r = 5; break; case 41: r = 7; break; case 46: r = 8; break; case 91: r = 9; break; case 94: r = 11; break; case 36: r = 12; break; case 40: if (r = 6, t.d >= t.j || Ia(t.i, t.d) != 63) break; if (++t.d >= t.j) throw et(new Wr(Jr((Ur(), Rct)))); switch (e = Ia(t.i, t.d++), e) { case 58: r = 13; break; case 61: r = 14; break; case 33: r = 15; break; case 91: r = 19; break; case 62: r = 18; break; case 60: if (t.d >= t.j) throw et(new Wr(Jr((Ur(), Rct)))); if (e = Ia(t.i, t.d++), e == 61) r = 16; else if (e == 33) r = 17; else throw et(new Wr(Jr((Ur(), U1e)))); break; case 35: for (; t.d < t.j && (e = Ia(t.i, t.d++), e != 41);); if (e != 41) throw et(new Wr(Jr((Ur(), W1e)))); r = 21; break; default: if (e == 45 || 97 <= e && e <= 122 || 65 <= e && e <= 90) { --t.d, r = 22; break } else if (e == 40) { r = 23; break } throw et(new Wr(Jr((Ur(), Rct)))) }break; case 92: if (r = 10, t.d >= t.j) throw et(new Wr(Jr((Ur(), dH)))); t.a = Ia(t.i, t.d++); break; default: r = 0 }t.c = r } function o4n(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn, yr; if (Se = u(K(t, (Ce(), xs)), 98), Se != (xa(), Q1) && Se != k2) { for (G = t.b, q = G.c.length, _ = new iu((Gl(q + 2, _at), O$(Wa(Wa(5, q + 2), (q + 2) / 10 | 0)))), W = new iu((Gl(q + 2, _at), O$(Wa(Wa(5, q + 2), (q + 2) / 10 | 0)))), ue(_, new Rr), ue(_, new Rr), ue(W, new le), ue(W, new le), ce = new le, e = 0; e < q; e++)for (n = (An(e, G.c.length), u(G.c[e], 29)), Ge = (An(e, _.c.length), u(_.c[e], 83)), Z = new Rr, _.c[_.c.length] = Z, $n = (An(e, W.c.length), u(W.c[e], 15)), Lt = new le, W.c[W.c.length] = Lt, s = new S(n.a); s.a < s.c.c.length;) { if (r = u(Q(s), 10), Iyt(r)) { ce.c[ce.c.length] = r; continue } for (k = new pr(mr(Zo(r).a.Kc(), new H)); Zr(k);)d = u(qr(k), 17), Gn = d.c.i, Iyt(Gn) && (Qe = u(Ge.xc(K(Gn, (ie(), Bi))), 10), Qe || (Qe = Sae(t, Gn), Ge.zc(K(Gn, Bi), Qe), $n.Fc(Qe)), Ua(d, u(Fe(Qe.j, 1), 11))); for (w = new pr(mr(Gs(r).a.Kc(), new H)); Zr(w);)d = u(qr(w), 17), yr = d.d.i, Iyt(yr) && (bt = u(or(Z, K(yr, (ie(), Bi))), 10), bt || (bt = Sae(t, yr), Pi(Z, K(yr, Bi), bt), Lt.c[Lt.c.length] = bt), ma(d, u(Fe(bt.j, 0), 11))) } for (L = 0; L < W.c.length; L++)if (Ct = (An(L, W.c.length), u(W.c[L], 15)), !Ct.dc()) for (F = null, L == 0 ? (F = new Oh(t), Vm(0, G.c.length), zT(G.c, 0, F)) : L == _.c.length - 1 ? (F = new Oh(t), G.c[G.c.length] = F) : F = (An(L - 1, G.c.length), u(G.c[L - 1], 29)), h = Ct.Kc(); h.Ob();)o = u(h.Pb(), 10), Fo(o, F); for (Yt = new S(ce); Yt.a < Yt.c.c.length;)Pt = u(Q(Yt), 10), Fo(Pt, null); Jt(t, (ie(), xlt), ce) } } function c4n(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt; if (Ar(n, "Coffman-Graham Layering", 1), e.a.c.length == 0) { br(n); return } for (Yt = u(K(e, (Ce(), DTt)), 19).a, w = 0, h = 0, F = new S(e.a); F.a < F.c.c.length;)for (L = u(Q(F), 10), L.p = w++, o = new pr(mr(Gs(L).a.Kc(), new H)); Zr(o);)s = u(qr(o), 17), s.p = h++; for (t.d = Ot(Tl, o0, 25, w, 16, 1), t.a = Ot(Tl, o0, 25, h, 16, 1), t.b = Ot(Br, oi, 25, w, 15, 1), t.e = Ot(Br, oi, 25, w, 15, 1), t.f = Ot(Br, oi, 25, w, 15, 1), q$(t.c), Afn(t, e), G = new Fj(new YB(t)), Pt = new S(e.a); Pt.a < Pt.c.c.length;) { for (Lt = u(Q(Pt), 10), o = new pr(mr(Zo(Lt).a.Kc(), new H)); Zr(o);)s = u(qr(o), 17), t.a[s.p] || ++t.b[Lt.p]; t.b[Lt.p] == 0 && M8(d7(G, Lt)) } for (d = 0; G.b.c.length != 0;)for (Lt = u(jrt(G), 10), t.f[Lt.p] = d++, o = new pr(mr(Gs(Lt).a.Kc(), new H)); Zr(o);)s = u(qr(o), 17), !t.a[s.p] && (Z = s.d.i, --t.b[Z.p], cn(t.c, Z, pe(t.f[Lt.p])), t.b[Z.p] == 0 && M8(d7(G, Z))); for (q = new Fj(new Stt(t)), Ct = new S(e.a); Ct.a < Ct.c.c.length;) { for (Lt = u(Q(Ct), 10), o = new pr(mr(Gs(Lt).a.Kc(), new H)); Zr(o);)s = u(qr(o), 17), t.a[s.p] || ++t.e[Lt.p]; t.e[Lt.p] == 0 && M8(d7(q, Lt)) } for (_ = new le, r = qXt(e, _); q.b.c.length != 0;)for (bt = u(jrt(q), 10), (r.a.c.length >= Yt || !Aun(bt, r)) && (r = qXt(e, _)), Fo(bt, r), o = new pr(mr(Zo(bt).a.Kc(), new H)); Zr(o);)s = u(qr(o), 17), !t.a[s.p] && (W = s.c.i, --t.e[W.p], t.e[W.p] == 0 && M8(d7(q, W))); for (k = _.c.length - 1; k >= 0; --k)ue(e.b, (An(k, _.c.length), u(_.c[k], 29))); e.a.c = Ot(nr, De, 1, 0, 5, 1), br(n) } function Kle(t) { var e, n, r, s, o, h, d, w, k; for (t.b = 1, Si(t), e = null, t.c == 0 && t.a == 94 ? (Si(t), e = (Ai(), Ai(), new ql(4)), Yc(e, 0, W7), d = new ql(4)) : d = (Ai(), Ai(), new ql(4)), s = !0; (k = t.c) != 1;) { if (k == 0 && t.a == 93 && !s) { e && (yC(e, d), d = e); break } if (n = t.a, r = !1, k == 10) switch (n) { case 100: case 68: case 119: case 87: case 115: case 83: py(d, k7(n)), r = !0; break; case 105: case 73: case 99: case 67: n = (py(d, k7(n)), -1), n < 0 && (r = !0); break; case 112: case 80: if (w = F4t(t, n), !w) throw et(new Wr(Jr((Ur(), jct)))); py(d, w), r = !0; break; default: n = b5t(t) } else if (k == 24 && !s) { if (e && (yC(e, d), d = e), o = Kle(t), yC(d, o), t.c != 0 || t.a != 93) throw et(new Wr(Jr((Ur(), nde)))); break } if (Si(t), !r) { if (k == 0) { if (n == 91) throw et(new Wr(Jr((Ur(), o8t)))); if (n == 93) throw et(new Wr(Jr((Ur(), c8t)))); if (n == 45 && !s && t.a != 93) throw et(new Wr(Jr((Ur(), $ct)))) } if (t.c != 0 || t.a != 45 || n == 45 && s) Yc(d, n, n); else { if (Si(t), (k = t.c) == 1) throw et(new Wr(Jr((Ur(), gH)))); if (k == 0 && t.a == 93) Yc(d, n, n), Yc(d, 45, 45); else { if (k == 0 && t.a == 93 || k == 24) throw et(new Wr(Jr((Ur(), $ct)))); if (h = t.a, k == 0) { if (h == 91) throw et(new Wr(Jr((Ur(), o8t)))); if (h == 93) throw et(new Wr(Jr((Ur(), c8t)))); if (h == 45) throw et(new Wr(Jr((Ur(), $ct)))) } else k == 10 && (h = b5t(t)); if (Si(t), n > h) throw et(new Wr(Jr((Ur(), sde)))); Yc(d, n, h) } } } s = !1 } if (t.c == 1) throw et(new Wr(Jr((Ur(), gH)))); return b4(d), wC(d), t.b = 0, Si(t), d } function u4n(t) { Vr(t.c, si, ct(ot(Me, 1), te, 2, 6, [za, "http://www.w3.org/2001/XMLSchema#decimal"])), Vr(t.d, si, ct(ot(Me, 1), te, 2, 6, [za, "http://www.w3.org/2001/XMLSchema#integer"])), Vr(t.e, si, ct(ot(Me, 1), te, 2, 6, [za, "http://www.w3.org/2001/XMLSchema#boolean"])), Vr(t.f, si, ct(ot(Me, 1), te, 2, 6, [za, "EBoolean", ki, "EBoolean:Object"])), Vr(t.i, si, ct(ot(Me, 1), te, 2, 6, [za, "http://www.w3.org/2001/XMLSchema#byte"])), Vr(t.g, si, ct(ot(Me, 1), te, 2, 6, [za, "http://www.w3.org/2001/XMLSchema#hexBinary"])), Vr(t.j, si, ct(ot(Me, 1), te, 2, 6, [za, "EByte", ki, "EByte:Object"])), Vr(t.n, si, ct(ot(Me, 1), te, 2, 6, [za, "EChar", ki, "EChar:Object"])), Vr(t.t, si, ct(ot(Me, 1), te, 2, 6, [za, "http://www.w3.org/2001/XMLSchema#double"])), Vr(t.u, si, ct(ot(Me, 1), te, 2, 6, [za, "EDouble", ki, "EDouble:Object"])), Vr(t.F, si, ct(ot(Me, 1), te, 2, 6, [za, "http://www.w3.org/2001/XMLSchema#float"])), Vr(t.G, si, ct(ot(Me, 1), te, 2, 6, [za, "EFloat", ki, "EFloat:Object"])), Vr(t.I, si, ct(ot(Me, 1), te, 2, 6, [za, "http://www.w3.org/2001/XMLSchema#int"])), Vr(t.J, si, ct(ot(Me, 1), te, 2, 6, [za, "EInt", ki, "EInt:Object"])), Vr(t.N, si, ct(ot(Me, 1), te, 2, 6, [za, "http://www.w3.org/2001/XMLSchema#long"])), Vr(t.O, si, ct(ot(Me, 1), te, 2, 6, [za, "ELong", ki, "ELong:Object"])), Vr(t.Z, si, ct(ot(Me, 1), te, 2, 6, [za, "http://www.w3.org/2001/XMLSchema#short"])), Vr(t.$, si, ct(ot(Me, 1), te, 2, 6, [za, "EShort", ki, "EShort:Object"])), Vr(t._, si, ct(ot(Me, 1), te, 2, 6, [za, "http://www.w3.org/2001/XMLSchema#string"])) } function l4n(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn, yr; if (t.c.length == 1) return An(0, t.c.length), u(t.c[0], 135); if (t.c.length <= 0) return new m$; for (w = new S(t); w.a < w.c.c.length;) { for (h = u(Q(w), 135), Lt = 0, G = Di, W = Di, F = $a, q = $a, bt = gi(h.b, 0); bt.b != bt.d.c;)Z = u(di(bt), 86), Lt += u(K(Z, (cw(), gG)), 19).a, G = b.Math.min(G, Z.e.a), W = b.Math.min(W, Z.e.b), F = b.Math.max(F, Z.e.a + Z.f.a), q = b.Math.max(q, Z.e.b + Z.f.b); Jt(h, (cw(), gG), pe(Lt)), Jt(h, (Sc(), DS), new je(G, W)), Jt(h, PO, new je(F, q)) } for (pn(), ua(t, new EQ), Yt = new m$, Ho(Yt, (An(0, t.c.length), u(t.c[0], 94))), L = 0, $n = 0, k = new S(t); k.a < k.c.c.length;)h = u(Q(k), 135), ce = ba(pc(u(K(h, (Sc(), PO)), 8)), u(K(h, DS), 8)), L = b.Math.max(L, ce.a), $n += ce.a * ce.b; for (L = b.Math.max(L, b.Math.sqrt($n) * Xt(xe(K(Yt, (cw(), hme))))), Se = Xt(xe(K(Yt, z_t))), Gn = 0, yr = 0, _ = 0, e = Se, d = new S(t); d.a < d.c.c.length;)h = u(Q(d), 135), ce = ba(pc(u(K(h, (Sc(), PO)), 8)), u(K(h, DS), 8)), Gn + ce.a > L && (Gn = 0, yr += _ + Se, _ = 0), ypn(Yt, h, Gn, yr), e = b.Math.max(e, Gn + ce.a), _ = b.Math.max(_, ce.b), Gn += ce.a + Se; for (Pt = new Rr, n = new Rr, Qe = new S(t); Qe.a < Qe.c.c.length;)for (Ge = u(Q(Qe), 135), r = Re(Be(K(Ge, (Ti(), GO)))), Ct = Ge.q ? Ge.q : u0, o = Ct.vc().Kc(); o.Ob();)s = u(o.Pb(), 42), Il(Pt, s.cd()) ? qt(u(s.cd(), 146).wg()) !== qt(s.dd()) && (r && Il(n, s.cd()) ? (Gd(), "" + u(s.cd(), 146).tg()) : (Pi(Pt, u(s.cd(), 146), s.dd()), Jt(Yt, u(s.cd(), 146), s.dd()), r && Pi(n, u(s.cd(), 146), s.dd()))) : (Pi(Pt, u(s.cd(), 146), s.dd()), Jt(Yt, u(s.cd(), 146), s.dd())); return Yt } function Yle() { Yle = J, mat(), ui = new $v, cn(ui, (we(), Of), Z1), cn(ui, Xh, Z1), cn(ui, hl, Z1), cn(ui, Nf, Z1), cn(ui, Ru, Z1), cn(ui, fl, Z1), cn(ui, Nf, Of), cn(ui, Z1, _h), cn(ui, Of, _h), cn(ui, Xh, _h), cn(ui, hl, _h), cn(ui, Bu, _h), cn(ui, Nf, _h), cn(ui, Ru, _h), cn(ui, fl, _h), cn(ui, vu, _h), cn(ui, Z1, eh), cn(ui, Of, eh), cn(ui, _h, eh), cn(ui, Xh, eh), cn(ui, hl, eh), cn(ui, Bu, eh), cn(ui, Nf, eh), cn(ui, vu, eh), cn(ui, nh, eh), cn(ui, Ru, eh), cn(ui, Ju, eh), cn(ui, fl, eh), cn(ui, Of, Xh), cn(ui, hl, Xh), cn(ui, Nf, Xh), cn(ui, fl, Xh), cn(ui, Of, hl), cn(ui, Xh, hl), cn(ui, Nf, hl), cn(ui, hl, hl), cn(ui, Ru, hl), cn(ui, Z1, Ch), cn(ui, Of, Ch), cn(ui, _h, Ch), cn(ui, eh, Ch), cn(ui, Xh, Ch), cn(ui, hl, Ch), cn(ui, Bu, Ch), cn(ui, Nf, Ch), cn(ui, nh, Ch), cn(ui, vu, Ch), cn(ui, fl, Ch), cn(ui, Ru, Ch), cn(ui, nu, Ch), cn(ui, Z1, nh), cn(ui, Of, nh), cn(ui, _h, nh), cn(ui, Xh, nh), cn(ui, hl, nh), cn(ui, Bu, nh), cn(ui, Nf, nh), cn(ui, vu, nh), cn(ui, fl, nh), cn(ui, Ju, nh), cn(ui, nu, nh), cn(ui, Of, vu), cn(ui, Xh, vu), cn(ui, hl, vu), cn(ui, Nf, vu), cn(ui, nh, vu), cn(ui, fl, vu), cn(ui, Ru, vu), cn(ui, Z1, Fu), cn(ui, Of, Fu), cn(ui, _h, Fu), cn(ui, Xh, Fu), cn(ui, hl, Fu), cn(ui, Bu, Fu), cn(ui, Nf, Fu), cn(ui, vu, Fu), cn(ui, fl, Fu), cn(ui, Of, Ru), cn(ui, _h, Ru), cn(ui, eh, Ru), cn(ui, hl, Ru), cn(ui, Z1, Ju), cn(ui, Of, Ju), cn(ui, eh, Ju), cn(ui, Xh, Ju), cn(ui, hl, Ju), cn(ui, Bu, Ju), cn(ui, Nf, Ju), cn(ui, Nf, nu), cn(ui, hl, nu), cn(ui, vu, Z1), cn(ui, vu, Xh), cn(ui, vu, _h), cn(ui, Bu, Z1), cn(ui, Bu, Of), cn(ui, Bu, eh) } function mq(t, e) { switch (t.e) { case 0: case 2: case 4: case 6: case 42: case 44: case 46: case 48: case 8: case 10: case 12: case 14: case 16: case 18: case 20: case 22: case 24: case 26: case 28: case 30: case 32: case 34: case 36: case 38: return new XYt(t.b, t.a, e, t.c); case 1: return new nj(t.a, e, is(e.Tg(), t.c)); case 43: return new UGt(t.a, e, is(e.Tg(), t.c)); case 3: return new qs(t.a, e, is(e.Tg(), t.c)); case 45: return new Vu(t.a, e, is(e.Tg(), t.c)); case 41: return new Nl(u(Bh(t.c), 26), t.a, e, is(e.Tg(), t.c)); case 50: return new Yte(u(Bh(t.c), 26), t.a, e, is(e.Tg(), t.c)); case 5: return new Rbt(t.a, e, is(e.Tg(), t.c), t.d.n); case 47: return new rWt(t.a, e, is(e.Tg(), t.c), t.d.n); case 7: return new he(t.a, e, is(e.Tg(), t.c), t.d.n); case 49: return new M6(t.a, e, is(e.Tg(), t.c), t.d.n); case 9: return new KGt(t.a, e, is(e.Tg(), t.c)); case 11: return new WGt(t.a, e, is(e.Tg(), t.c)); case 13: return new X2t(t.a, e, is(e.Tg(), t.c)); case 15: return new wj(t.a, e, is(e.Tg(), t.c)); case 17: return new YGt(t.a, e, is(e.Tg(), t.c)); case 19: return new U3(t.a, e, is(e.Tg(), t.c)); case 21: return new Y2t(t.a, e, is(e.Tg(), t.c)); case 23: return new UM(t.a, e, is(e.Tg(), t.c)); case 25: return new aWt(t.a, e, is(e.Tg(), t.c), t.d.n); case 27: return new Tn(t.a, e, is(e.Tg(), t.c), t.d.n); case 29: return new sWt(t.a, e, is(e.Tg(), t.c), t.d.n); case 31: return new iWt(t.a, e, is(e.Tg(), t.c), t.d.n); case 33: return new $bt(t.a, e, is(e.Tg(), t.c), t.d.n); case 35: return new jbt(t.a, e, is(e.Tg(), t.c), t.d.n); case 37: return new tnt(t.a, e, is(e.Tg(), t.c), t.d.n); case 39: return new Bj(t.a, e, is(e.Tg(), t.c), t.d.n); case 40: return new ws(e, is(e.Tg(), t.c)); default: throw et(new ic("Unknown feature style: " + t.e)) } } function h4n(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce; switch (Ar(n, "Brandes & Koepf node placement", 1), t.a = e, t.c = iwn(e), r = u(K(e, (Ce(), jlt)), 274), q = Re(Be(K(e, wS))), t.d = r == (eI(), AV) && !q || r == plt, Hmn(t, e), Yt = null, ce = null, bt = null, Lt = null, Z = (Gl(4, vy), new iu(4)), u(K(e, jlt), 274).g) { case 3: bt = new x4(e, t.c.d, (D1(), Bb), (md(), Wg)), Z.c[Z.c.length] = bt; break; case 1: Lt = new x4(e, t.c.d, (D1(), Y1), (md(), Wg)), Z.c[Z.c.length] = Lt; break; case 4: Yt = new x4(e, t.c.d, (D1(), Bb), (md(), Pw)), Z.c[Z.c.length] = Yt; break; case 2: ce = new x4(e, t.c.d, (D1(), Y1), (md(), Pw)), Z.c[Z.c.length] = ce; break; default: bt = new x4(e, t.c.d, (D1(), Bb), (md(), Wg)), Lt = new x4(e, t.c.d, Y1, Wg), Yt = new x4(e, t.c.d, Bb, Pw), ce = new x4(e, t.c.d, Y1, Pw), Z.c[Z.c.length] = Yt, Z.c[Z.c.length] = ce, Z.c[Z.c.length] = bt, Z.c[Z.c.length] = Lt }for (s = new hVt(e, t.c), d = new S(Z); d.a < d.c.c.length;)o = u(Q(d), 180), Q3n(s, o, t.b), Nwn(o); for (F = new Vie(e, t.c), w = new S(Z); w.a < w.c.c.length;)o = u(Q(w), 180), Wyn(F, o); if (n.n) for (k = new S(Z); k.a < k.c.c.length;)o = u(Q(k), 180), W2(n, o + " size is " + Pst(o)); if (L = null, t.d && (_ = E3n(t, Z, t.c.d), Mue(e, _, n) && (L = _)), !L) for (k = new S(Z); k.a < k.c.c.length;)o = u(Q(k), 180), Mue(e, o, n) && (!L || Pst(L) > Pst(o)) && (L = o); for (!L && (L = (An(0, Z.c.length), u(Z.c[0], 180))), W = new S(e.b); W.a < W.c.c.length;)for (G = u(Q(W), 29), Pt = new S(G.a); Pt.a < Pt.c.c.length;)Ct = u(Q(Pt), 10), Ct.n.b = Xt(L.p[Ct.p]) + Xt(L.d[Ct.p]); for (n.n && (W2(n, "Chosen node placement: " + L), W2(n, "Blocks: " + Xae(L)), W2(n, "Classes: " + _gn(L, n)), W2(n, "Marked edges: " + t.b)), h = new S(Z); h.a < h.c.c.length;)o = u(Q(h), 180), o.g = null, o.b = null, o.a = null, o.d = null, o.j = null, o.i = null, o.p = null; nan(t.c), t.b.a.$b(), br(n) } function f4n(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn; for (h = new hs, Yt = u(K(n, (Ce(), Jl)), 103), G = 0, io(h, (!e.a && (e.a = new he(bs, e, 10, 11)), e.a)); h.b != 0;)k = u(h.b == 0 ? null : (ir(h.b != 0), bh(h, h.a.a)), 33), (qt(ze(e, p2)) !== qt((R0(), b2)) || qt(ze(e, Fy)) === qt((pb(), uS)) || qt(ze(e, Fy)) === qt((pb(), cS)) || Re(Be(ze(e, Py))) || qt(ze(e, Nx)) !== qt((Zv(), $4))) && !Re(Be(ze(k, Mlt))) && Mo(k, (ie(), Bc), pe(G++)), Z = !Re(Be(ze(k, Pb))), Z && (L = (!k.a && (k.a = new he(bs, k, 10, 11)), k.a).i != 0, q = p1n(k), F = qt(ze(k, By)) === qt((j0(), Qg)), Gn = !eb(k, (Ti(), jS)) || ln(Kr(ze(k, jS)), Xn), Ct = null, Gn && F && (L || q) && (Ct = vue(k), Jt(Ct, Jl, Yt), ia(Ct, CO) && Kzt(new Vyt(Xt(xe(K(Ct, CO)))), Ct), u(ze(k, Nb), 174).gc() != 0 && (_ = Ct, Ts(new kn(null, (!k.c && (k.c = new he(El, k, 9, 9)), new Cn(k.c, 16))), new jr(_)), uce(k, Ct))), ce = n, Se = u(or(t.a, gs(k)), 10), Se && (ce = Se.e), Lt = ble(t, k, ce), Ct && (Lt.e = Ct, Ct.e = Lt, io(h, (!k.a && (k.a = new he(bs, k, 10, 11)), k.a)))); for (G = 0, Cs(h, e, h.c.b, h.c); h.b != 0;) { for (o = u(h.b == 0 ? null : (ir(h.b != 0), bh(h, h.a.a)), 33), w = new lr((!o.b && (o.b = new he(aa, o, 12, 3)), o.b)); w.e != w.i.gc();)d = u(kr(w), 79), Pce(d), (qt(ze(e, p2)) !== qt((R0(), b2)) || qt(ze(e, Fy)) === qt((pb(), uS)) || qt(ze(e, Fy)) === qt((pb(), cS)) || Re(Be(ze(e, Py))) || qt(ze(e, Nx)) !== qt((Zv(), $4))) && Mo(d, (ie(), Bc), pe(G++)), Qe = Vo(u(St((!d.b && (d.b = new Tn(Cr, d, 4, 7)), d.b), 0), 82)), $n = Vo(u(St((!d.c && (d.c = new Tn(Cr, d, 5, 8)), d.c), 0), 82)), !(Re(Be(ze(d, Pb))) || Re(Be(ze(Qe, Pb))) || Re(Be(ze($n, Pb)))) && (W = aw(d) && Re(Be(ze(Qe, Ry))) && Re(Be(ze(d, Ob))), Pt = o, W || Xm($n, Qe) ? Pt = Qe : Xm(Qe, $n) && (Pt = $n), ce = n, Se = u(or(t.a, Pt), 10), Se && (ce = Se.e), bt = o6t(t, d, Pt, ce), Jt(bt, (ie(), LEt), F2n(t, d, e, n))); if (F = qt(ze(o, By)) === qt((j0(), Qg)), F) for (s = new lr((!o.a && (o.a = new he(bs, o, 10, 11)), o.a)); s.e != s.i.gc();)r = u(kr(s), 33), Gn = !eb(r, (Ti(), jS)) || ln(Kr(ze(r, jS)), Xn), Ge = qt(ze(r, By)) === qt(Qg), Gn && Ge && Cs(h, r, h.c.b, h.c) } } function d4n(t, e, n, r, s, o) { var h, d, w, k, _, L, F, q, G, W, Z, bt; switch (e) { case 71: d = r.q.getFullYear() - i2 >= -1900 ? 1 : 0, n >= 4 ? ni(t, ct(ot(Me, 1), te, 2, 6, [hhe, fhe])[d]) : ni(t, ct(ot(Me, 1), te, 2, 6, ["BC", "AD"])[d]); break; case 121: iln(t, n, r); break; case 77: cvn(t, n, r); break; case 107: w = s.q.getHours(), w == 0 ? Jd(t, 24, n) : Jd(t, w, n); break; case 83: Lpn(t, n, s); break; case 69: _ = r.q.getDay(), n == 5 ? ni(t, ct(ot(Me, 1), te, 2, 6, ["S", "M", "T", "W", "T", "F", "S"])[_]) : n == 4 ? ni(t, ct(ot(Me, 1), te, 2, 6, [jat, $at, zat, qat, Hat, Vat, Gat])[_]) : ni(t, ct(ot(Me, 1), te, 2, 6, ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"])[_]); break; case 97: s.q.getHours() >= 12 && s.q.getHours() < 24 ? ni(t, ct(ot(Me, 1), te, 2, 6, ["AM", "PM"])[1]) : ni(t, ct(ot(Me, 1), te, 2, 6, ["AM", "PM"])[0]); break; case 104: L = s.q.getHours() % 12, L == 0 ? Jd(t, 12, n) : Jd(t, L, n); break; case 75: F = s.q.getHours() % 12, Jd(t, F, n); break; case 72: q = s.q.getHours(), Jd(t, q, n); break; case 99: G = r.q.getDay(), n == 5 ? ni(t, ct(ot(Me, 1), te, 2, 6, ["S", "M", "T", "W", "T", "F", "S"])[G]) : n == 4 ? ni(t, ct(ot(Me, 1), te, 2, 6, [jat, $at, zat, qat, Hat, Vat, Gat])[G]) : n == 3 ? ni(t, ct(ot(Me, 1), te, 2, 6, ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"])[G]) : Jd(t, G, 1); break; case 76: W = r.q.getMonth(), n == 5 ? ni(t, ct(ot(Me, 1), te, 2, 6, ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"])[W]) : n == 4 ? ni(t, ct(ot(Me, 1), te, 2, 6, [Aat, Lat, Mat, Dat, ux, Iat, Oat, Nat, Pat, Fat, Bat, Rat])[W]) : n == 3 ? ni(t, ct(ot(Me, 1), te, 2, 6, ["Jan", "Feb", "Mar", "Apr", ux, "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"])[W]) : Jd(t, W + 1, n); break; case 81: Z = r.q.getMonth() / 3 | 0, n < 4 ? ni(t, ct(ot(Me, 1), te, 2, 6, ["Q1", "Q2", "Q3", "Q4"])[Z]) : ni(t, ct(ot(Me, 1), te, 2, 6, ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"])[Z]); break; case 100: bt = r.q.getDate(), Jd(t, bt, n); break; case 109: k = s.q.getMinutes(), Jd(t, k, n); break; case 115: h = s.q.getSeconds(), Jd(t, h, n); break; case 122: n < 4 ? ni(t, o.c[0]) : ni(t, o.c[1]); break; case 118: ni(t, o.b); break; case 90: n < 3 ? ni(t, w0n(o)) : n == 3 ? ni(t, x0n(o)) : ni(t, k0n(o.a)); break; default: return !1 }return !0 } function o6t(t, e, n, r) { var s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn, yr, Li; if (Pce(e), w = u(St((!e.b && (e.b = new Tn(Cr, e, 4, 7)), e.b), 0), 82), _ = u(St((!e.c && (e.c = new Tn(Cr, e, 5, 8)), e.c), 0), 82), d = Vo(w), k = Vo(_), h = (!e.a && (e.a = new he(fs, e, 6, 6)), e.a).i == 0 ? null : u(St((!e.a && (e.a = new he(fs, e, 6, 6)), e.a), 0), 202), Se = u(or(t.a, d), 10), Gn = u(or(t.a, k), 10), Ge = null, yr = null, Et(w, 186) && (ce = u(or(t.a, w), 299), Et(ce, 11) ? Ge = u(ce, 11) : Et(ce, 10) && (Se = u(ce, 10), Ge = u(Fe(Se.j, 0), 11))), Et(_, 186) && ($n = u(or(t.a, _), 299), Et($n, 11) ? yr = u($n, 11) : Et($n, 10) && (Gn = u($n, 10), yr = u(Fe(Gn.j, 0), 11))), !Se || !Gn) throw et(new MT("The source or the target of edge " + e + " could not be found. This usually happens when an edge connects a node laid out by ELK Layered to a node in another level of hierarchy laid out by either another instance of ELK Layered or another layout algorithm alltogether. The former can be solved by setting the hierarchyHandling option to INCLUDE_CHILDREN.")); for (W = new Rv, Ho(W, e), Jt(W, (ie(), Bi), e), Jt(W, (Ce(), $o), null), q = u(K(r, tu), 21), Se == Gn && q.Fc((ko(), fS)), Ge || (Yt = (yo(), lu), Qe = null, h && H3(u(K(Se, xs), 98)) && (Qe = new je(h.j, h.k), GQt(Qe, nD(e)), xZt(Qe, n), Xm(k, d) && (Yt = ll, $i(Qe, Se.n))), Ge = Oue(Se, Qe, Yt, r)), yr || (Yt = (yo(), ll), Li = null, h && H3(u(K(Gn, xs), 98)) && (Li = new je(h.b, h.c), GQt(Li, nD(e)), xZt(Li, n)), yr = Oue(Gn, Li, Yt, Qa(Gn))), Ua(W, Ge), ma(W, yr), (Ge.e.c.length > 1 || Ge.g.c.length > 1 || yr.e.c.length > 1 || yr.g.c.length > 1) && q.Fc((ko(), hS)), F = new lr((!e.n && (e.n = new he(ec, e, 1, 7)), e.n)); F.e != F.i.gc();)if (L = u(kr(F), 137), !Re(Be(ze(L, Pb))) && L.a) switch (Z = xit(L), ue(W.b, Z), u(K(Z, Fd), 272).g) { case 1: case 2: q.Fc((ko(), h9)); break; case 0: q.Fc((ko(), l9)), Jt(Z, Fd, (F1(), C9)) }if (o = u(K(r, vS), 314), bt = u(K(r, KV), 315), s = o == (K6(), vO) || bt == (tC(), Zlt), h && (!h.a && (h.a = new qs(Qh, h, 5)), h.a).i != 0 && s) { for (Lt = iI(h), G = new Hu, Pt = gi(Lt, 0); Pt.b != Pt.d.c;)Ct = u(di(Pt), 8), pi(G, new No(Ct)); Jt(W, OEt, G) } return W } function g4n(t) { t.gb || (t.gb = !0, t.b = vc(t, 0), ps(t.b, 18), Yi(t.b, 19), t.a = vc(t, 1), ps(t.a, 1), Yi(t.a, 2), Yi(t.a, 3), Yi(t.a, 4), Yi(t.a, 5), t.o = vc(t, 2), ps(t.o, 8), ps(t.o, 9), Yi(t.o, 10), Yi(t.o, 11), Yi(t.o, 12), Yi(t.o, 13), Yi(t.o, 14), Yi(t.o, 15), Yi(t.o, 16), Yi(t.o, 17), Yi(t.o, 18), Yi(t.o, 19), Yi(t.o, 20), Yi(t.o, 21), Yi(t.o, 22), Yi(t.o, 23), Ro(t.o), Ro(t.o), Ro(t.o), Ro(t.o), Ro(t.o), Ro(t.o), Ro(t.o), Ro(t.o), Ro(t.o), Ro(t.o), t.p = vc(t, 3), ps(t.p, 2), ps(t.p, 3), ps(t.p, 4), ps(t.p, 5), Yi(t.p, 6), Yi(t.p, 7), Ro(t.p), Ro(t.p), t.q = vc(t, 4), ps(t.q, 8), t.v = vc(t, 5), Yi(t.v, 9), Ro(t.v), Ro(t.v), Ro(t.v), t.w = vc(t, 6), ps(t.w, 2), ps(t.w, 3), ps(t.w, 4), Yi(t.w, 5), t.B = vc(t, 7), Yi(t.B, 1), Ro(t.B), Ro(t.B), Ro(t.B), t.Q = vc(t, 8), Yi(t.Q, 0), Ro(t.Q), t.R = vc(t, 9), ps(t.R, 1), t.S = vc(t, 10), Ro(t.S), Ro(t.S), Ro(t.S), Ro(t.S), Ro(t.S), Ro(t.S), Ro(t.S), Ro(t.S), Ro(t.S), Ro(t.S), Ro(t.S), Ro(t.S), Ro(t.S), Ro(t.S), Ro(t.S), t.T = vc(t, 11), Yi(t.T, 10), Yi(t.T, 11), Yi(t.T, 12), Yi(t.T, 13), Yi(t.T, 14), Ro(t.T), Ro(t.T), t.U = vc(t, 12), ps(t.U, 2), ps(t.U, 3), Yi(t.U, 4), Yi(t.U, 5), Yi(t.U, 6), Yi(t.U, 7), Ro(t.U), t.V = vc(t, 13), Yi(t.V, 10), t.W = vc(t, 14), ps(t.W, 18), ps(t.W, 19), ps(t.W, 20), Yi(t.W, 21), Yi(t.W, 22), Yi(t.W, 23), t.bb = vc(t, 15), ps(t.bb, 10), ps(t.bb, 11), ps(t.bb, 12), ps(t.bb, 13), ps(t.bb, 14), ps(t.bb, 15), ps(t.bb, 16), Yi(t.bb, 17), Ro(t.bb), Ro(t.bb), t.eb = vc(t, 16), ps(t.eb, 2), ps(t.eb, 3), ps(t.eb, 4), ps(t.eb, 5), ps(t.eb, 6), ps(t.eb, 7), Yi(t.eb, 8), Yi(t.eb, 9), t.ab = vc(t, 17), ps(t.ab, 0), ps(t.ab, 1), t.H = vc(t, 18), Yi(t.H, 0), Yi(t.H, 1), Yi(t.H, 2), Yi(t.H, 3), Yi(t.H, 4), Yi(t.H, 5), Ro(t.H), t.db = vc(t, 19), Yi(t.db, 2), t.c = mi(t, 20), t.d = mi(t, 21), t.e = mi(t, 22), t.f = mi(t, 23), t.i = mi(t, 24), t.g = mi(t, 25), t.j = mi(t, 26), t.k = mi(t, 27), t.n = mi(t, 28), t.r = mi(t, 29), t.s = mi(t, 30), t.t = mi(t, 31), t.u = mi(t, 32), t.fb = mi(t, 33), t.A = mi(t, 34), t.C = mi(t, 35), t.D = mi(t, 36), t.F = mi(t, 37), t.G = mi(t, 38), t.I = mi(t, 39), t.J = mi(t, 40), t.L = mi(t, 41), t.M = mi(t, 42), t.N = mi(t, 43), t.O = mi(t, 44), t.P = mi(t, 45), t.X = mi(t, 46), t.Y = mi(t, 47), t.Z = mi(t, 48), t.$ = mi(t, 49), t._ = mi(t, 50), t.cb = mi(t, 51), t.K = mi(t, 52)) } function Ti() { Ti = J; var t, e; jS = new rs(e1e), _9 = new rs(n1e), uSt = (t0(), $ht), Zye = new vn(Kxt, uSt), jx = new vn(px, null), Jye = new rs(qkt), hSt = (ay(), Zi(Hht, ct(ot(Vht, 1), se, 291, 0, [qht]))), AG = new vn(Jq, hSt), GO = new vn(WI, (Rn(), !1)), fSt = (xo(), h0), Fw = new vn(Qxt, fSt), pSt = (z0(), nft), gSt = new vn(GI, pSt), wSt = new vn(sH, !1), mSt = (j0(), NG), r5 = new vn(Zq, mSt), LSt = new Sv(12), $b = new vn(pw, LSt), LG = new vn(jI, !1), ySt = new vn(rct, !1), KO = new vn(MC, !1), NSt = (xa(), k2), $S = new vn(kot, NSt), $x = new rs(tH), IG = new rs(RI), tft = new rs(Nq), eft = new rs(LC), xSt = new Hu, i5 = new vn(akt, xSt), e3e = new vn(ukt, !1), n3e = new vn(lkt, !1), kSt = new TT, WO = new vn(fkt, kSt), DG = new vn(Uxt, !1), a3e = new vn(r1e, 1), new vn(i1e, !0), pe(0), new vn(s1e, pe(100)), new vn(a1e, !1), pe(0), new vn(o1e, pe(4e3)), pe(0), new vn(c1e, pe(400)), new vn(u1e, !1), new vn(l1e, !1), new vn(h1e, !0), new vn(f1e, !1), lSt = (mz(), aft), t3e = new vn(zkt, lSt), o3e = new vn(Nxt, 10), c3e = new vn(Pxt, 10), RSt = new vn(bot, 20), u3e = new vn(Fxt, 10), jSt = new vn(xot, 2), l3e = new vn(Bxt, 10), $St = new vn(Rxt, 0), OG = new vn(zxt, 5), zSt = new vn(jxt, 1), qSt = new vn($xt, 1), zb = new vn(yy, 20), h3e = new vn(qxt, 10), GSt = new vn(Hxt, 10), zx = new rs(Vxt), VSt = new vGt, HSt = new vn(dkt, VSt), i3e = new rs(nct), MSt = !1, r3e = new vn(ect, MSt), TSt = new Sv(5), ESt = new vn(Zxt, TSt), _St = (ly(), e = u(Yf(_o), 9), new hh(e, u(pf(e, e.length), 9), 0)), s5 = new vn(R7, _St), ISt = (c4(), x2), DSt = new vn(ekt, ISt), Yht = new rs(nkt), Xht = new rs(rkt), Qht = new rs(ikt), Kht = new rs(skt), CSt = (t = u(Yf(KS), 9), new hh(t, u(pf(t, t.length), 9), 0)), jb = new vn(L4, CSt), ASt = on((ml(), M9)), m2 = new vn(bx, ASt), SSt = new je(0, 0), a5 = new vn(vx, SSt), MG = new vn(tct, !1), dSt = (F1(), C9), Uht = new vn(okt, dSt), Ght = new vn(Pq, !1), pe(1), new vn(d1e, null), OSt = new rs(hkt), Zht = new rs(ckt), BSt = (we(), fc), o5 = new vn(Wxt, BSt), kl = new rs(Gxt), PSt = (cl(), on(E2)), Uy = new vn(j7, PSt), Jht = new vn(Jxt, !1), FSt = new vn(tkt, !0), UO = new vn(Yxt, !1), Wht = new vn(Xxt, !1), bSt = new vn(vot, 1), vSt = (Gz(), ift), new vn(g1e, vSt), s3e = !0 } function ie() { ie = J; var t, e; Bi = new rs(V6t), LEt = new rs("coordinateOrigin"), Clt = new rs("processors"), AEt = new Ks("compoundNode", (Rn(), !1)), xO = new Ks("insideConnections", !1), OEt = new rs("originalBendpoints"), NEt = new rs("originalDummyNodePosition"), PEt = new rs("originalLabelEdge"), EO = new rs("representedLabels"), dS = new rs("endLabels"), Lx = new rs("endLabel.origin"), Dx = new Ks("labelSide", (Wl(), QO)), W4 = new Ks("maxEdgeThickness", 0), K1 = new Ks("reversed", !1), Ix = new rs(Xhe), c1 = new Ks("longEdgeSource", null), Uh = new Ks("longEdgeTarget", null), Oy = new Ks("longEdgeHasLabelDummies", !1), kO = new Ks("longEdgeBeforeLabelDummy", !1), NV = new Ks("edgeConstraint", (ob(), ult)), Aw = new rs("inLayerLayoutUnit"), Db = new Ks("inLayerConstraint", (F0(), mO)), Mx = new Ks("inLayerSuccessorConstraint", new le), IEt = new Ks("inLayerSuccessorConstraintBetweenNonDummies", !1), ul = new rs("portDummy"), OV = new Ks("crossingHint", pe(0)), tu = new Ks("graphProperties", (e = u(Yf(blt), 9), new hh(e, u(pf(e, e.length), 9), 0))), yc = new Ks("externalPortSide", (we(), fc)), DEt = new Ks("externalPortSize", new Ra), xlt = new rs("externalPortReplacedDummies"), PV = new rs("externalPortReplacedDummy"), Iy = new Ks("externalPortConnections", (t = u(Yf(co), 9), new hh(t, u(pf(t, t.length), 9), 0))), Lw = new Ks(qhe, 0), SEt = new rs("barycenterAssociates"), Ox = new rs("TopSideComments"), Ax = new rs("BottomSideComments"), IV = new rs("CommentConnectionPort"), Elt = new Ks("inputCollect", !1), _lt = new Ks("outputCollect", !1), yO = new Ks("cyclic", !1), MEt = new rs("crossHierarchyMap"), Alt = new rs("targetOffset"), new Ks("splineLabelSize", new Ra), Y4 = new rs("spacings"), FV = new Ks("partitionConstraint", !1), Cw = new rs("breakingPoint.info"), REt = new rs("splines.survivingEdge"), Ib = new rs("splines.route.start"), X4 = new rs("splines.edgeChain"), BEt = new rs("originalPortConstraints"), d9 = new rs("selfLoopHolder"), g9 = new rs("splines.nsPortY"), Bc = new rs("modelOrder"), Tlt = new rs("longEdgeTargetNode"), Sw = new Ks(Efe, !1), K4 = new Ks(Efe, !1), klt = new rs("layerConstraints.hiddenNodes"), FEt = new rs("layerConstraints.opposidePort"), Slt = new rs("targetNode.modelOrder") } function c6t() { c6t = J, YEt = (ED(), _V), abe = new vn(Z6t, YEt), wbe = new vn(J6t, (Rn(), !1)), eTt = (f$(), ylt), Ebe = new vn(jq, eTt), Rbe = new vn(txt, !1), jbe = new vn(ext, !0), P2e = new vn(nxt, !1), uTt = (mD(), eht), tve = new vn(rxt, uTt), pe(1), cve = new vn(ixt, pe(7)), uve = new vn(sxt, !1), mbe = new vn(axt, !1), KEt = (pb(), olt), sbe = new vn(Aot, KEt), iTt = (Hz(), Klt), Bbe = new vn(HI, iTt), nTt = (mh(), TO), Lbe = new vn(oxt, nTt), pe(-1), Abe = new vn(cxt, pe(-1)), pe(-1), Mbe = new vn(uxt, pe(-1)), pe(-1), Dbe = new vn(Lot, pe(4)), pe(-1), Obe = new vn(Mot, pe(2)), rTt = (w4(), nG), Fbe = new vn(Dot, rTt), pe(0), Pbe = new vn(Iot, pe(0)), Cbe = new vn(Oot, pe(Di)), WEt = (K6(), Cx), ibe = new vn(NC, WEt), G2e = new vn(lxt, !1), Z2e = new vn(Not, .1), nbe = new vn(Pot, !1), pe(-1), tbe = new vn(hxt, pe(-1)), pe(-1), ebe = new vn(fxt, pe(-1)), pe(0), U2e = new vn(dxt, pe(40)), UEt = (W8(), wlt), X2e = new vn(Fot, UEt), GEt = wO, W2e = new vn($q, GEt), cTt = (tC(), kS), Jbe = new vn(M4, cTt), Vbe = new rs(zq), sTt = (pD(), SV), $be = new vn(Bot, sTt), aTt = (eI(), AV), qbe = new vn(Rot, aTt), Wbe = new vn(jot, .3), Ybe = new rs($ot), oTt = (ry(), eG), Xbe = new vn(zot, oTt), ZEt = (tz(), rht), hbe = new vn(gxt, ZEt), JEt = (uD(), iht), fbe = new vn(pxt, JEt), tTt = (t7(), _S), dbe = new vn(qq, tTt), pbe = new vn(Hq, .2), ube = new vn(qot, 2), ive = new vn(bxt, null), ave = new vn(vxt, 10), sve = new vn(wxt, 10), ove = new vn(mxt, 20), pe(0), eve = new vn(yxt, pe(0)), pe(0), nve = new vn(xxt, pe(0)), pe(0), rve = new vn(kxt, pe(0)), F2e = new vn(Hot, !1), zEt = (g7(), lS), R2e = new vn(Ext, zEt), $Et = (E$(), slt), B2e = new vn(Txt, $Et), xbe = new vn(Vq, !1), pe(0), ybe = new vn(Vot, pe(16)), pe(0), kbe = new vn(Got, pe(5)), fTt = (sz(), oht), Lve = new vn(K0, fTt), lve = new vn(Gq, 10), dve = new vn(Uq, 1), hTt = (z$(), TV), yve = new vn(PC, hTt), bve = new rs(Uot), lTt = pe(1), pe(0), wve = new vn(Wot, lTt), dTt = (Z$(), aht), Ove = new vn(Wq, dTt), Mve = new rs(Kq), _ve = new vn(Yq, !0), Eve = new vn(Xq, 2), Sve = new vn(Kot, !0), QEt = (Wz(), CV), cbe = new vn(_xt, QEt), XEt = (rx(), o9), obe = new vn(Cxt, XEt), VEt = (R0(), b2), V2e = new vn(Qq, VEt), H2e = new vn(Sxt, !1), qEt = (Zv(), $4), j2e = new vn(Yot, qEt), HEt = (H_(), Ylt), q2e = new vn(Axt, HEt), $2e = new vn(Xot, 0), z2e = new vn(Qot, 0), _be = clt, Tbe = vO, Ibe = JV, Nbe = JV, Sbe = Wlt, J2e = (j0(), Qg), rbe = Cx, Q2e = Cx, K2e = Cx, Y2e = Qg, Gbe = ES, Ube = kS, zbe = kS, Hbe = kS, Kbe = Jlt, Zbe = ES, Qbe = ES, gbe = (z0(), qx), bbe = qx, vbe = _S, lbe = YO, hve = x9, fve = Hy, gve = x9, pve = Hy, xve = x9, kve = Hy, vve = alt, mve = TV, Nve = x9, Pve = Hy, Dve = x9, Ive = Hy, Cve = Hy, Tve = Hy, Ave = Hy } function vo() { vo = J, C9t = new Os("DIRECTION_PREPROCESSOR", 0), E9t = new Os("COMMENT_PREPROCESSOR", 1), sS = new Os("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER", 2), Gut = new Os("INTERACTIVE_EXTERNAL_PORT_POSITIONER", 3), G9t = new Os("PARTITION_PREPROCESSOR", 4), sV = new Os("LABEL_DUMMY_INSERTER", 5), pV = new Os("SELF_LOOP_PREPROCESSOR", 6), r9 = new Os("LAYER_CONSTRAINT_PREPROCESSOR", 7), H9t = new Os("PARTITION_MIDPROCESSOR", 8), N9t = new Os("HIGH_DEGREE_NODE_LAYER_PROCESSOR", 9), z9t = new Os("NODE_PROMOTION", 10), n9 = new Os("LAYER_CONSTRAINT_POSTPROCESSOR", 11), V9t = new Os("PARTITION_POSTPROCESSOR", 12), D9t = new Os("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR", 13), U9t = new Os("SEMI_INTERACTIVE_CROSSMIN_PROCESSOR", 14), v9t = new Os("BREAKING_POINT_INSERTER", 15), uV = new Os("LONG_EDGE_SPLITTER", 16), Uut = new Os("PORT_SIDE_PROCESSOR", 17), rV = new Os("INVERTED_PORT_PROCESSOR", 18), fV = new Os("PORT_LIST_SORTER", 19), K9t = new Os("SORT_BY_INPUT_ORDER_OF_MODEL", 20), hV = new Os("NORTH_SOUTH_PORT_PREPROCESSOR", 21), w9t = new Os("BREAKING_POINT_PROCESSOR", 22), q9t = new Os(pfe, 23), Y9t = new Os(bfe, 24), dV = new Os("SELF_LOOP_PORT_RESTORER", 25), W9t = new Os("SINGLE_EDGE_GRAPH_WRAPPER", 26), iV = new Os("IN_LAYER_CONSTRAINT_PROCESSOR", 27), A9t = new Os("END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR", 28), j9t = new Os("LABEL_AND_NODE_SIZE_PROCESSOR", 29), R9t = new Os("INNERMOST_NODE_MARGIN_CALCULATOR", 30), bV = new Os("SELF_LOOP_ROUTER", 31), x9t = new Os("COMMENT_NODE_MARGIN_CALCULATOR", 32), nV = new Os("END_LABEL_PREPROCESSOR", 33), oV = new Os("LABEL_DUMMY_SWITCHER", 34), y9t = new Os("CENTER_LABEL_MANAGEMENT_PROCESSOR", 35), e9 = new Os("LABEL_SIDE_SELECTOR", 36), F9t = new Os("HYPEREDGE_DUMMY_MERGER", 37), I9t = new Os("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR", 38), $9t = new Os("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR", 39), aS = new Os("HIERARCHICAL_PORT_POSITION_PROCESSOR", 40), T9t = new Os("CONSTRAINTS_POSTPROCESSOR", 41), k9t = new Os("COMMENT_POSTPROCESSOR", 42), B9t = new Os("HYPERNODE_PROCESSOR", 43), O9t = new Os("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER", 44), cV = new Os("LONG_EDGE_JOINER", 45), gV = new Os("SELF_LOOP_POSTPROCESSOR", 46), m9t = new Os("BREAKING_POINT_REMOVER", 47), lV = new Os("NORTH_SOUTH_PORT_POSTPROCESSOR", 48), P9t = new Os("HORIZONTAL_COMPACTOR", 49), aV = new Os("LABEL_DUMMY_REMOVER", 50), L9t = new Os("FINAL_SPLINE_BENDPOINTS_CALCULATOR", 51), S9t = new Os("END_LABEL_SORTER", 52), pO = new Os("REVERSED_EDGE_RESTORER", 53), eV = new Os("END_LABEL_POSTPROCESSOR", 54), M9t = new Os("HIERARCHICAL_NODE_RESIZER", 55), _9t = new Os("DIRECTION_POSTPROCESSOR", 56) } function p4n(t, e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn, yr, Li, Js, ih, nf, ed, nU, pN, oA, bN, P9, kft, X4e, Eft, rp, qw, F9, vN, wN, Kx, Tft, cA, Q4e, lLt, Hw, uA, _ft, Yx, lA, n3, hA, Cft, Z4e; for (lLt = 0, Li = e, nf = 0, pN = Li.length; nf < pN; ++nf)for (Gn = Li[nf], qw = new S(Gn.j); qw.a < qw.c.c.length;) { for (rp = u(Q(qw), 11), vN = 0, d = new S(rp.g); d.a < d.c.c.length;)h = u(Q(d), 17), Gn.c != h.d.i.c && ++vN; vN > 0 && (t.a[rp.p] = lLt++) } for (lA = 0, Js = n, ed = 0, oA = Js.length; ed < oA; ++ed) { for (Gn = Js[ed], bN = 0, qw = new S(Gn.j); qw.a < qw.c.c.length && (rp = u(Q(qw), 11), rp.j == (we(), Fn));)for (d = new S(rp.e); d.a < d.c.c.length;)if (h = u(Q(d), 17), Gn.c != h.c.i.c) { ++bN; break } for (kft = 0, wN = new Ca(Gn.j, Gn.j.c.length); wN.b > 0;) { for (rp = (ir(wN.b > 0), u(wN.a.Xb(wN.c = --wN.b), 11)), vN = 0, d = new S(rp.e); d.a < d.c.c.length;)h = u(Q(d), 17), Gn.c != h.c.i.c && ++vN; vN > 0 && (rp.j == (we(), Fn) ? (t.a[rp.p] = lA, ++lA) : (t.a[rp.p] = lA + bN + kft, ++kft)) } lA += kft } for (F9 = new Rr, G = new S0, yr = e, ih = 0, nU = yr.length; ih < nU; ++ih)for (Gn = yr[ih], _ft = new S(Gn.j); _ft.a < _ft.c.c.length;)for (uA = u(Q(_ft), 11), d = new S(uA.g); d.a < d.c.c.length;)if (h = u(Q(d), 17), hA = h.d, Gn.c != hA.i.c) if (Hw = u(gc(qo(F9.f, uA)), 467), n3 = u(gc(qo(F9.f, hA)), 467), !Hw && !n3) q = new QUt, G.a.zc(q, G), ue(q.a, h), ue(q.d, uA), du(F9.f, uA, q), ue(q.d, hA), du(F9.f, hA, q); else if (!Hw) ue(n3.a, h), ue(n3.d, uA), du(F9.f, uA, n3); else if (!n3) ue(Hw.a, h), ue(Hw.d, hA), du(F9.f, hA, Hw); else if (Hw == n3) ue(Hw.a, h); else { for (ue(Hw.a, h), Eft = new S(n3.d); Eft.a < Eft.c.c.length;)X4e = u(Q(Eft), 11), du(F9.f, X4e, Hw); Hs(Hw.a, n3.a), Hs(Hw.d, n3.d), G.a.Bc(n3) != null } for (W = u(YD(G, Ot(j4n, { 3: 1, 4: 1, 5: 1, 1946: 1 }, 467, G.a.gc(), 0, 1)), 1946), $n = e[0].c, Q4e = n[0].c, _ = W, L = 0, F = _.length; L < F; ++L)for (k = _[L], k.e = lLt, k.f = lA, qw = new S(k.d); qw.a < qw.c.c.length;)rp = u(Q(qw), 11), Kx = t.a[rp.p], rp.i.c == $n ? (Kx < k.e && (k.e = Kx), Kx > k.b && (k.b = Kx)) : rp.i.c == Q4e && (Kx < k.f && (k.f = Kx), Kx > k.c && (k.c = Kx)); for (I8(W, 0, W.length, null), Yx = Ot(Br, oi, 25, W.length, 15, 1), r = Ot(Br, oi, 25, lA + 1, 15, 1), bt = 0; bt < W.length; bt++)Yx[bt] = W[bt].f, r[Yx[bt]] = 1; for (o = 0, Lt = 0; Lt < r.length; Lt++)r[Lt] == 1 ? r[Lt] = o : --o; for (Tft = 0, Ct = 0; Ct < Yx.length; Ct++)Yx[Ct] += r[Yx[Ct]], Tft = b.Math.max(Tft, Yx[Ct] + 1); for (w = 1; w < Tft;)w *= 2; for (Z4e = 2 * w - 1, w -= 1, Cft = Ot(Br, oi, 25, Z4e, 15, 1), s = 0, Ge = 0; Ge < Yx.length; Ge++)for (Se = Yx[Ge] + w, ++Cft[Se]; Se > 0;)Se % 2 > 0 && (s += Cft[Se + 1]), Se = (Se - 1) / 2 | 0, ++Cft[Se]; for (Qe = Ot(Twe, De, 362, W.length * 2, 0, 1), Pt = 0; Pt < W.length; Pt++)Qe[2 * Pt] = new Uj(W[Pt], W[Pt].e, W[Pt].b, (D_(), AS)), Qe[2 * Pt + 1] = new Uj(W[Pt], W[Pt].b, W[Pt].e, SS); for (I8(Qe, 0, Qe.length, null), P9 = 0, Yt = 0; Yt < Qe.length; Yt++)switch (Qe[Yt].d.g) { case 0: ++P9; break; case 1: --P9, s += P9 }for (cA = Ot(Twe, De, 362, W.length * 2, 0, 1), ce = 0; ce < W.length; ce++)cA[2 * ce] = new Uj(W[ce], W[ce].f, W[ce].c, (D_(), AS)), cA[2 * ce + 1] = new Uj(W[ce], W[ce].c, W[ce].f, SS); for (I8(cA, 0, cA.length, null), P9 = 0, Z = 0; Z < cA.length; Z++)switch (cA[Z].d.g) { case 0: ++P9; break; case 1: --P9, s += P9 }return s } function Ai() { Ai = J, aA = new gv(7), nLt = new Kd(8, 94), new Kd(8, 64), rLt = new Kd(8, 36), z4e = new Kd(8, 65), q4e = new Kd(8, 122), H4e = new Kd(8, 90), G4e = new Kd(8, 98), $4e = new Kd(8, 66), V4e = new Kd(8, 60), U4e = new Kd(8, 62), eLt = new gv(11), eU = new ql(4), Yc(eU, 48, 57), N9 = new ql(4), Yc(N9, 48, 57), Yc(N9, 65, 90), Yc(N9, 95, 95), Yc(N9, 97, 122), Wx = new ql(4), Yc(Wx, 9, 9), Yc(Wx, 10, 10), Yc(Wx, 12, 12), Yc(Wx, 13, 13), Yc(Wx, 32, 32), iLt = gy(eU), aLt = gy(N9), sLt = gy(Wx), O9 = new Rr, sA = new Rr, j4e = ct(ot(Me, 1), te, 2, 6, ["Cn", "Lu", "Ll", "Lt", "Lm", "Lo", "Mn", "Me", "Mc", "Nd", "Nl", "No", "Zs", "Zl", "Zp", "Cc", "Cf", null, "Co", "Cs", "Pd", "Ps", "Pe", "Pc", "Po", "Sm", "Sc", "Sk", "So", "Pi", "Pf", "L", "M", "N", "Z", "C", "P", "S"]), JAt = ct(ot(Me, 1), te, 2, 6, ["Basic Latin", "Latin-1 Supplement", "Latin Extended-A", "Latin Extended-B", "IPA Extensions", "Spacing Modifier Letters", "Combining Diacritical Marks", "Greek", "Cyrillic", "Armenian", "Hebrew", "Arabic", "Syriac", "Thaana", "Devanagari", "Bengali", "Gurmukhi", "Gujarati", "Oriya", "Tamil", "Telugu", "Kannada", "Malayalam", "Sinhala", "Thai", "Lao", "Tibetan", "Myanmar", "Georgian", "Hangul Jamo", "Ethiopic", "Cherokee", "Unified Canadian Aboriginal Syllabics", "Ogham", "Runic", "Khmer", "Mongolian", "Latin Extended Additional", "Greek Extended", "General Punctuation", "Superscripts and Subscripts", "Currency Symbols", "Combining Marks for Symbols", "Letterlike Symbols", "Number Forms", "Arrows", "Mathematical Operators", "Miscellaneous Technical", "Control Pictures", "Optical Character Recognition", "Enclosed Alphanumerics", "Box Drawing", "Block Elements", "Geometric Shapes", "Miscellaneous Symbols", "Dingbats", "Braille Patterns", "CJK Radicals Supplement", "Kangxi Radicals", "Ideographic Description Characters", "CJK Symbols and Punctuation", "Hiragana", "Katakana", "Bopomofo", "Hangul Compatibility Jamo", "Kanbun", "Bopomofo Extended", "Enclosed CJK Letters and Months", "CJK Compatibility", "CJK Unified Ideographs Extension A", "CJK Unified Ideographs", "Yi Syllables", "Yi Radicals", "Hangul Syllables", f0e, "CJK Compatibility Ideographs", "Alphabetic Presentation Forms", "Arabic Presentation Forms-A", "Combining Half Marks", "CJK Compatibility Forms", "Small Form Variants", "Arabic Presentation Forms-B", "Specials", "Halfwidth and Fullwidth Forms", "Old Italic", "Gothic", "Deseret", "Byzantine Musical Symbols", "Musical Symbols", "Mathematical Alphanumeric Symbols", "CJK Unified Ideographs Extension B", "CJK Compatibility Ideographs Supplement", "Tags"]), tLt = ct(ot(Br, 1), oi, 25, 15, [66304, 66351, 66352, 66383, 66560, 66639, 118784, 119039, 119040, 119295, 119808, 120831, 131072, 173782, 194560, 195103, 917504, 917631]) } function yq() { yq = J, Mge = new vh("OUT_T_L", 0, (ol(), Od), (Lu(), Cf), (t1(), wc), wc, ct(ot(Gh, 1), De, 21, 0, [Zi((ly(), Df), ct(ot(_o, 1), se, 93, 0, [If, Lf]))])), Lge = new vh("OUT_T_C", 1, l2, Cf, wc, uu, ct(ot(Gh, 1), De, 21, 0, [Zi(Df, ct(ot(_o, 1), se, 93, 0, [If, Z0])), Zi(Df, ct(ot(_o, 1), se, 93, 0, [If, Z0, Kh]))])), Dge = new vh("OUT_T_R", 2, _f, Cf, wc, mc, ct(ot(Gh, 1), De, 21, 0, [Zi(Df, ct(ot(_o, 1), se, 93, 0, [If, Mf]))])), xge = new vh("OUT_B_L", 3, Od, o1, mc, wc, ct(ot(Gh, 1), De, 21, 0, [Zi(Df, ct(ot(_o, 1), se, 93, 0, [Yh, Lf]))])), yge = new vh("OUT_B_C", 4, l2, o1, mc, uu, ct(ot(Gh, 1), De, 21, 0, [Zi(Df, ct(ot(_o, 1), se, 93, 0, [Yh, Z0])), Zi(Df, ct(ot(_o, 1), se, 93, 0, [Yh, Z0, Kh]))])), kge = new vh("OUT_B_R", 5, _f, o1, mc, mc, ct(ot(Gh, 1), De, 21, 0, [Zi(Df, ct(ot(_o, 1), se, 93, 0, [Yh, Mf]))])), _ge = new vh("OUT_L_T", 6, _f, o1, wc, wc, ct(ot(Gh, 1), De, 21, 0, [Zi(Df, ct(ot(_o, 1), se, 93, 0, [Lf, If, Kh]))])), Tge = new vh("OUT_L_C", 7, _f, h2, uu, wc, ct(ot(Gh, 1), De, 21, 0, [Zi(Df, ct(ot(_o, 1), se, 93, 0, [Lf, d0])), Zi(Df, ct(ot(_o, 1), se, 93, 0, [Lf, d0, Kh]))])), Ege = new vh("OUT_L_B", 8, _f, Cf, mc, wc, ct(ot(Gh, 1), De, 21, 0, [Zi(Df, ct(ot(_o, 1), se, 93, 0, [Lf, Yh, Kh]))])), Age = new vh("OUT_R_T", 9, Od, o1, wc, mc, ct(ot(Gh, 1), De, 21, 0, [Zi(Df, ct(ot(_o, 1), se, 93, 0, [Mf, If, Kh]))])), Sge = new vh("OUT_R_C", 10, Od, h2, uu, mc, ct(ot(Gh, 1), De, 21, 0, [Zi(Df, ct(ot(_o, 1), se, 93, 0, [Mf, d0])), Zi(Df, ct(ot(_o, 1), se, 93, 0, [Mf, d0, Kh]))])), Cge = new vh("OUT_R_B", 11, Od, Cf, mc, mc, ct(ot(Gh, 1), De, 21, 0, [Zi(Df, ct(ot(_o, 1), se, 93, 0, [Mf, Yh, Kh]))])), wge = new vh("IN_T_L", 12, Od, o1, wc, wc, ct(ot(Gh, 1), De, 21, 0, [Zi(th, ct(ot(_o, 1), se, 93, 0, [If, Lf])), Zi(th, ct(ot(_o, 1), se, 93, 0, [If, Lf, Kh]))])), vge = new vh("IN_T_C", 13, l2, o1, wc, uu, ct(ot(Gh, 1), De, 21, 0, [Zi(th, ct(ot(_o, 1), se, 93, 0, [If, Z0])), Zi(th, ct(ot(_o, 1), se, 93, 0, [If, Z0, Kh]))])), mge = new vh("IN_T_R", 14, _f, o1, wc, mc, ct(ot(Gh, 1), De, 21, 0, [Zi(th, ct(ot(_o, 1), se, 93, 0, [If, Mf])), Zi(th, ct(ot(_o, 1), se, 93, 0, [If, Mf, Kh]))])), pge = new vh("IN_C_L", 15, Od, h2, uu, wc, ct(ot(Gh, 1), De, 21, 0, [Zi(th, ct(ot(_o, 1), se, 93, 0, [d0, Lf])), Zi(th, ct(ot(_o, 1), se, 93, 0, [d0, Lf, Kh]))])), gge = new vh("IN_C_C", 16, l2, h2, uu, uu, ct(ot(Gh, 1), De, 21, 0, [Zi(th, ct(ot(_o, 1), se, 93, 0, [d0, Z0])), Zi(th, ct(ot(_o, 1), se, 93, 0, [d0, Z0, Kh]))])), bge = new vh("IN_C_R", 17, _f, h2, uu, mc, ct(ot(Gh, 1), De, 21, 0, [Zi(th, ct(ot(_o, 1), se, 93, 0, [d0, Mf])), Zi(th, ct(ot(_o, 1), se, 93, 0, [d0, Mf, Kh]))])), fge = new vh("IN_B_L", 18, Od, Cf, mc, wc, ct(ot(Gh, 1), De, 21, 0, [Zi(th, ct(ot(_o, 1), se, 93, 0, [Yh, Lf])), Zi(th, ct(ot(_o, 1), se, 93, 0, [Yh, Lf, Kh]))])), hge = new vh("IN_B_C", 19, l2, Cf, mc, uu, ct(ot(Gh, 1), De, 21, 0, [Zi(th, ct(ot(_o, 1), se, 93, 0, [Yh, Z0])), Zi(th, ct(ot(_o, 1), se, 93, 0, [Yh, Z0, Kh]))])), dge = new vh("IN_B_R", 20, _f, Cf, mc, mc, ct(ot(Gh, 1), De, 21, 0, [Zi(th, ct(ot(_o, 1), se, 93, 0, [Yh, Mf])), Zi(th, ct(ot(_o, 1), se, 93, 0, [Yh, Mf, Kh]))])), Eut = new vh(SC, 21, null, null, null, null, ct(ot(Gh, 1), De, 21, 0, [])) } function hn() { hn = J, Zy = (zp(), Ln).b, u(St(Ut(Ln.b), 0), 34), u(St(Ut(Ln.b), 1), 18), Zg = Ln.a, u(St(Ut(Ln.a), 0), 34), u(St(Ut(Ln.a), 1), 18), u(St(Ut(Ln.a), 2), 18), u(St(Ut(Ln.a), 3), 18), u(St(Ut(Ln.a), 4), 18), S2 = Ln.o, u(St(Ut(Ln.o), 0), 34), u(St(Ut(Ln.o), 1), 34), s4e = u(St(Ut(Ln.o), 2), 18), u(St(Ut(Ln.o), 3), 18), u(St(Ut(Ln.o), 4), 18), u(St(Ut(Ln.o), 5), 18), u(St(Ut(Ln.o), 6), 18), u(St(Ut(Ln.o), 7), 18), u(St(Ut(Ln.o), 8), 18), u(St(Ut(Ln.o), 9), 18), u(St(Ut(Ln.o), 10), 18), u(St(Ut(Ln.o), 11), 18), u(St(Ut(Ln.o), 12), 18), u(St(Ut(Ln.o), 13), 18), u(St(Ut(Ln.o), 14), 18), u(St(Ut(Ln.o), 15), 18), u(St(zi(Ln.o), 0), 59), u(St(zi(Ln.o), 1), 59), u(St(zi(Ln.o), 2), 59), u(St(zi(Ln.o), 3), 59), u(St(zi(Ln.o), 4), 59), u(St(zi(Ln.o), 5), 59), u(St(zi(Ln.o), 6), 59), u(St(zi(Ln.o), 7), 59), u(St(zi(Ln.o), 8), 59), u(St(zi(Ln.o), 9), 59), i4e = Ln.p, u(St(Ut(Ln.p), 0), 34), u(St(Ut(Ln.p), 1), 34), u(St(Ut(Ln.p), 2), 34), u(St(Ut(Ln.p), 3), 34), u(St(Ut(Ln.p), 4), 18), u(St(Ut(Ln.p), 5), 18), u(St(zi(Ln.p), 0), 59), u(St(zi(Ln.p), 1), 59), a4e = Ln.q, u(St(Ut(Ln.q), 0), 34), A2 = Ln.v, u(St(Ut(Ln.v), 0), 18), u(St(zi(Ln.v), 0), 59), u(St(zi(Ln.v), 1), 59), u(St(zi(Ln.v), 2), 59), Jg = Ln.w, u(St(Ut(Ln.w), 0), 34), u(St(Ut(Ln.w), 1), 34), u(St(Ut(Ln.w), 2), 34), u(St(Ut(Ln.w), 3), 18), L2 = Ln.B, u(St(Ut(Ln.B), 0), 18), u(St(zi(Ln.B), 0), 59), u(St(zi(Ln.B), 1), 59), u(St(zi(Ln.B), 2), 59), o4e = Ln.Q, u(St(Ut(Ln.Q), 0), 18), u(St(zi(Ln.Q), 0), 59), c4e = Ln.R, u(St(Ut(Ln.R), 0), 34), ef = Ln.S, u(St(zi(Ln.S), 0), 59), u(St(zi(Ln.S), 1), 59), u(St(zi(Ln.S), 2), 59), u(St(zi(Ln.S), 3), 59), u(St(zi(Ln.S), 4), 59), u(St(zi(Ln.S), 5), 59), u(St(zi(Ln.S), 6), 59), u(St(zi(Ln.S), 7), 59), u(St(zi(Ln.S), 8), 59), u(St(zi(Ln.S), 9), 59), u(St(zi(Ln.S), 10), 59), u(St(zi(Ln.S), 11), 59), u(St(zi(Ln.S), 12), 59), u(St(zi(Ln.S), 13), 59), u(St(zi(Ln.S), 14), 59), tp = Ln.T, u(St(Ut(Ln.T), 0), 18), u(St(Ut(Ln.T), 2), 18), u4e = u(St(Ut(Ln.T), 3), 18), u(St(Ut(Ln.T), 4), 18), u(St(zi(Ln.T), 0), 59), u(St(zi(Ln.T), 1), 59), u(St(Ut(Ln.T), 1), 18), ep = Ln.U, u(St(Ut(Ln.U), 0), 34), u(St(Ut(Ln.U), 1), 34), u(St(Ut(Ln.U), 2), 18), u(St(Ut(Ln.U), 3), 18), u(St(Ut(Ln.U), 4), 18), u(St(Ut(Ln.U), 5), 18), u(St(zi(Ln.U), 0), 59), Jy = Ln.V, u(St(Ut(Ln.V), 0), 18), c5 = Ln.W, u(St(Ut(Ln.W), 0), 34), u(St(Ut(Ln.W), 1), 34), u(St(Ut(Ln.W), 2), 34), u(St(Ut(Ln.W), 3), 18), u(St(Ut(Ln.W), 4), 18), u(St(Ut(Ln.W), 5), 18), l4e = Ln.bb, u(St(Ut(Ln.bb), 0), 34), u(St(Ut(Ln.bb), 1), 34), u(St(Ut(Ln.bb), 2), 34), u(St(Ut(Ln.bb), 3), 34), u(St(Ut(Ln.bb), 4), 34), u(St(Ut(Ln.bb), 5), 34), u(St(Ut(Ln.bb), 6), 34), u(St(Ut(Ln.bb), 7), 18), u(St(zi(Ln.bb), 0), 59), u(St(zi(Ln.bb), 1), 59), h4e = Ln.eb, u(St(Ut(Ln.eb), 0), 34), u(St(Ut(Ln.eb), 1), 34), u(St(Ut(Ln.eb), 2), 34), u(St(Ut(Ln.eb), 3), 34), u(St(Ut(Ln.eb), 4), 34), u(St(Ut(Ln.eb), 5), 34), u(St(Ut(Ln.eb), 6), 18), u(St(Ut(Ln.eb), 7), 18), uo = Ln.ab, u(St(Ut(Ln.ab), 0), 34), u(St(Ut(Ln.ab), 1), 34), jw = Ln.H, u(St(Ut(Ln.H), 0), 18), u(St(Ut(Ln.H), 1), 18), u(St(Ut(Ln.H), 2), 18), u(St(Ut(Ln.H), 3), 18), u(St(Ut(Ln.H), 4), 18), u(St(Ut(Ln.H), 5), 18), u(St(zi(Ln.H), 0), 59), $w = Ln.db, u(St(Ut(Ln.db), 0), 18), J1 = Ln.M } function b4n(t) { var e; t.O || (t.O = !0, su(t, "type"), X$(t, "ecore.xml.type"), Q$(t, Sb), e = u(w7((Ip(), tf), Sb), 1945), Hr(zo(t.fb), t.b), bc(t.b, hN, "AnyType", !1, !1, !0), _s(u(St(Ut(t.b), 0), 34), t.wb.D, QI, null, 0, -1, hN, !1, !1, !0, !1, !1, !1), _s(u(St(Ut(t.b), 1), 34), t.wb.D, "any", null, 0, -1, hN, !0, !0, !0, !1, !1, !0), _s(u(St(Ut(t.b), 2), 34), t.wb.D, "anyAttribute", null, 0, -1, hN, !1, !1, !0, !1, !1, !1), bc(t.bb, JG, Wde, !1, !1, !0), _s(u(St(Ut(t.bb), 0), 34), t.gb, "data", null, 0, 1, JG, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.bb), 1), 34), t.gb, r8t, null, 1, 1, JG, !1, !1, !0, !1, !0, !1), bc(t.fb, fN, Kde, !1, !1, !0), _s(u(St(Ut(t.fb), 0), 34), e.gb, "rawValue", null, 0, 1, fN, !0, !0, !0, !1, !0, !0), _s(u(St(Ut(t.fb), 1), 34), e.a, HC, null, 0, 1, fN, !0, !0, !0, !1, !0, !0), Xi(u(St(Ut(t.fb), 2), 18), t.wb.q, null, "instanceType", 1, 1, fN, !1, !1, !0, !1, !1, !1, !1), bc(t.qb, YAt, Yde, !1, !1, !0), _s(u(St(Ut(t.qb), 0), 34), t.wb.D, QI, null, 0, -1, null, !1, !1, !0, !1, !1, !1), Xi(u(St(Ut(t.qb), 1), 18), t.wb.ab, null, "xMLNSPrefixMap", 0, -1, null, !0, !1, !0, !0, !1, !1, !1), Xi(u(St(Ut(t.qb), 2), 18), t.wb.ab, null, "xSISchemaLocation", 0, -1, null, !0, !1, !0, !0, !1, !1, !1), _s(u(St(Ut(t.qb), 3), 34), t.gb, "cDATA", null, 0, -2, null, !0, !0, !0, !1, !1, !0), _s(u(St(Ut(t.qb), 4), 34), t.gb, "comment", null, 0, -2, null, !0, !0, !0, !1, !1, !0), Xi(u(St(Ut(t.qb), 5), 18), t.bb, null, c0e, 0, -2, null, !0, !0, !0, !0, !1, !1, !0), _s(u(St(Ut(t.qb), 6), 34), t.gb, Dct, null, 0, -2, null, !0, !0, !0, !1, !1, !0), wi(t.a, nr, "AnySimpleType", !0), wi(t.c, Me, "AnyURI", !0), wi(t.d, ot(tl, 1), "Base64Binary", !0), wi(t.e, Tl, "Boolean", !0), wi(t.f, Zs, "BooleanObject", !0), wi(t.g, tl, "Byte", !0), wi(t.i, kx, "ByteObject", !0), wi(t.j, Me, "Date", !0), wi(t.k, Me, "DateTime", !0), wi(t.n, dut, "Decimal", !0), wi(t.o, wa, "Double", !0), wi(t.p, ka, "DoubleObject", !0), wi(t.q, Me, "Duration", !0), wi(t.s, Eh, "ENTITIES", !0), wi(t.r, Eh, "ENTITIESBase", !0), wi(t.t, Me, m8t, !0), wi(t.u, e3, "Float", !0), wi(t.v, X7, "FloatObject", !0), wi(t.w, Me, "GDay", !0), wi(t.B, Me, "GMonth", !0), wi(t.A, Me, "GMonthDay", !0), wi(t.C, Me, "GYear", !0), wi(t.D, Me, "GYearMonth", !0), wi(t.F, ot(tl, 1), "HexBinary", !0), wi(t.G, Me, "ID", !0), wi(t.H, Me, "IDREF", !0), wi(t.J, Eh, "IDREFS", !0), wi(t.I, Eh, "IDREFSBase", !0), wi(t.K, Br, "Int", !0), wi(t.M, B4, "Integer", !0), wi(t.L, to, "IntObject", !0), wi(t.P, Me, "Language", !0), wi(t.Q, D2, "Long", !0), wi(t.R, xw, "LongObject", !0), wi(t.S, Me, "Name", !0), wi(t.T, Me, CH, !0), wi(t.U, B4, "NegativeInteger", !0), wi(t.V, Me, k8t, !0), wi(t.X, Eh, "NMTOKENS", !0), wi(t.W, Eh, "NMTOKENSBase", !0), wi(t.Y, B4, "NonNegativeInteger", !0), wi(t.Z, B4, "NonPositiveInteger", !0), wi(t.$, Me, "NormalizedString", !0), wi(t._, Me, "NOTATION", !0), wi(t.ab, Me, "PositiveInteger", !0), wi(t.cb, Me, "QName", !0), wi(t.db, f5, "Short", !0), wi(t.eb, kw, "ShortObject", !0), wi(t.gb, Me, f6t, !0), wi(t.hb, Me, "Time", !0), wi(t.ib, Me, "Token", !0), wi(t.jb, f5, "UnsignedByte", !0), wi(t.kb, kw, "UnsignedByteObject", !0), wi(t.lb, D2, "UnsignedInt", !0), wi(t.mb, xw, "UnsignedIntObject", !0), wi(t.nb, B4, "UnsignedLong", !0), wi(t.ob, Br, "UnsignedShort", !0), wi(t.pb, to, "UnsignedShortObject", !0), kyt(t, Sb), v4n(t)) } function Xle(t) { Tv(t, new bb(Bpt(lR(yv(vv(mv(wv(new gg, Xn), "ELK Layered"), "Layer-based algorithm provided by the Eclipse Layout Kernel. Arranges as many edges as possible into one direction by placing nodes into subsequent layers. This implementation supports different routing styles (straight, orthogonal, splines); if orthogonal routing is selected, arbitrary port constraints are respected, thus enabling the layout of block diagrams such as actor-oriented models or circuit schematics. Furthermore, full layout of compound graphs with cross-hierarchy edges is supported when the respective option is activated on the top level."), new HX), Xn), Zi((v7(), lft), ct(ot(UG, 1), se, 237, 0, [VG, GG, HG, uft, qG, zG]))))), ke(t, Xn, Nxt, Ie(zlt)), ke(t, Xn, Pxt, Ie(WTt)), ke(t, Xn, bot, Ie(SO)), ke(t, Xn, Fxt, Ie(Sf)), ke(t, Xn, xot, Ie(Fx)), ke(t, Xn, Bxt, Ie(Ow)), ke(t, Xn, Rxt, Ie(qy)), ke(t, Xn, jxt, Ie(m9)), ke(t, Xn, $xt, Ie(y9)), ke(t, Xn, zxt, Ie(qlt)), ke(t, Xn, yy, Ie(Nw)), ke(t, Xn, qxt, Ie(Hlt)), ke(t, Xn, Hxt, Ie(yS)), ke(t, Xn, Vxt, Ie(XV)), ke(t, Xn, bxt, Ie(CO)), ke(t, Xn, wxt, Ie(Q4)), ke(t, Xn, vxt, Ie(Fb)), ke(t, Xn, mxt, Ie(Z4)), ke(t, Xn, RI, pe(0)), ke(t, Xn, yxt, Ie(w9)), ke(t, Xn, xxt, Ie(UTt)), ke(t, Xn, kxt, Ie(Px)), ke(t, Xn, K0, Ie(e_t)), ke(t, Xn, Gq, Ie(KTt)), ke(t, Xn, Uq, Ie(YTt)), ke(t, Xn, PC, Ie(Glt)), ke(t, Xn, Uot, Ie(XTt)), ke(t, Xn, Wot, Ie(QTt)), ke(t, Xn, Wq, Ie(QV)), ke(t, Xn, Kq, Ie(Ult)), ke(t, Xn, Yq, Ie(JTt)), ke(t, Xn, Xq, Ie(ZTt)), ke(t, Xn, Kot, Ie(t_t)), ke(t, Xn, $ot, Ie(Dw)), ke(t, Xn, zot, Ie(mS)), ke(t, Xn, qq, Ie(Flt)), ke(t, Xn, Hq, Ie(TTt)), ke(t, Xn, pw, zTt), ke(t, Xn, GI, xTt), ke(t, Xn, Gxt, 0), ke(t, Xn, Nq, pe(1)), ke(t, Xn, px, B7), ke(t, Xn, Uxt, Ie(Pb)), ke(t, Xn, kot, Ie(xs)), ke(t, Xn, Wxt, Ie(v9)), ke(t, Xn, WI, Ie(Bve)), ke(t, Xn, Kxt, Ie(Pd)), ke(t, Xn, Zq, Ie(By)), ke(t, Xn, LC, (Rn(), !0)), ke(t, Xn, Yxt, Ie(Ry)), ke(t, Xn, Xxt, Ie(Ob)), ke(t, Xn, L4, Ie(Nb)), ke(t, Xn, bx, Ie(YV)), ke(t, Xn, tct, Ie($lt)), ke(t, Xn, Qxt, yTt), ke(t, Xn, R7, Ie(Mw)), ke(t, Xn, Zxt, Ie(WV)), ke(t, Xn, j7, Ie($y)), ke(t, Xn, Jxt, Ie(Hve)), ke(t, Xn, tkt, Ie(VTt)), ke(t, Xn, ekt, HTt), ke(t, Xn, nkt, Ie($ve)), ke(t, Xn, rkt, Ie(zve)), ke(t, Xn, ikt, Ie(qve)), ke(t, Xn, skt, Ie(jve)), ke(t, Xn, sxt, Ie(Vlt)), ke(t, Xn, HI, Ie(PTt)), ke(t, Xn, Dot, Ie(Rlt)), ke(t, Xn, ixt, Ie(xS)), ke(t, Xn, oxt, Ie(bu)), ke(t, Xn, Aot, Ie(Fy)), ke(t, Xn, NC, Ie(vS)), ke(t, Xn, lxt, Ie(Py)), ke(t, Xn, dxt, Ie(vTt)), ke(t, Xn, Fot, Ie(Ilt)), ke(t, Xn, $q, Ie(_O)), ke(t, Xn, Pot, Ie(Olt)), ke(t, Xn, txt, Ie(FTt)), ke(t, Xn, ext, Ie(BTt)), ke(t, Xn, jq, Ie(MTt)), ke(t, Xn, M4, Ie(KV)), ke(t, Xn, Rot, Ie(jlt)), ke(t, Xn, J6t, Ie(Blt)), ke(t, Xn, jot, Ie(jTt)), ke(t, Xn, gxt, Ie(ETt)), ke(t, Xn, pxt, Ie(Plt)), ke(t, Xn, Jq, Ie(Dlt)), ke(t, Xn, Bot, Ie(RTt)), ke(t, Xn, Ext, Ie(jV)), ke(t, Xn, Txt, Ie(gTt)), ke(t, Xn, Hot, Ie(RV)), ke(t, Xn, Vq, Ie(STt)), ke(t, Xn, Vot, Ie(CTt)), ke(t, Xn, Got, Ie(ATt)), ke(t, Xn, vx, Ie(p9)), ke(t, Xn, akt, Ie($o)), ke(t, Xn, vot, Ie(Gg)), ke(t, Xn, okt, Ie(Fd)), ke(t, Xn, Pq, Ie(Nlt)), ke(t, Xn, Not, Ie(wTt)), ke(t, Xn, ckt, Ie(Ug)), ke(t, Xn, ukt, Ie(bS)), ke(t, Xn, lkt, Ie(VV)), ke(t, Xn, hkt, Ie(Iw)), ke(t, Xn, ect, Ie(qTt)), ke(t, Xn, nct, Ie(b9)), ke(t, Xn, Lot, Ie(ITt)), ke(t, Xn, Mot, Ie(OTt)), ke(t, Xn, tH, Ie(zy)), ke(t, Xn, nxt, Ie(Llt)), ke(t, Xn, Iot, Ie(NTt)), ke(t, Xn, _xt, Ie(HV)), ke(t, Xn, Cxt, Ie(qV)), ke(t, Xn, fkt, Ie(UV)), ke(t, Xn, Oot, Ie(DTt)), ke(t, Xn, zq, Ie(wS)), ke(t, Xn, dkt, Ie(AO)), ke(t, Xn, Z6t, Ie(mTt)), ke(t, Xn, rxt, Ie(GTt)), ke(t, Xn, qot, Ie(kTt)), ke(t, Xn, cxt, Ie(Rve)), ke(t, Xn, hxt, Ie(Fve)), ke(t, Xn, rct, Ie(LTt)), ke(t, Xn, uxt, Ie(GV)), ke(t, Xn, fxt, Ie(zV)), ke(t, Xn, Qq, Ie(p2)), ke(t, Xn, Axt, Ie(bTt)), ke(t, Xn, Xot, Ie($V)), ke(t, Xn, Qot, Ie(pTt)), ke(t, Xn, Sxt, Ie(Mlt)), ke(t, Xn, Yot, Ie(Nx)), ke(t, Xn, axt, Ie(_Tt)) } function _4(t, e) {
                                var n, r; return h5 || (h5 = new Rr, I9 = new Rr, r = (Ai(), Ai(), new ql(4)), UD(r, `	
    \r\r  `), Po(h5, Xct, r), Po(I9, Xct, gy(r)), r = new ql(4), UD(r, l0e), Po(h5, ZC, r), Po(I9, ZC, gy(r)), r = new ql(4), UD(r, l0e), Po(h5, ZC, r), Po(I9, ZC, gy(r)), r = new ql(4), UD(r, h0e), py(r, u(Uc(h5, ZC), 117)), Po(h5, Yct, r), Po(I9, Yct, gy(r)), r = new ql(4), UD(r, "-.0:AZ__az··ÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁːˑ̀͠͡ͅΆΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁ҃҆ҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆֹֻֽֿֿׁׂ֑֣֡ׄׄאתװײءغـْ٠٩ٰڷںھۀێېۓە۪ۭۨ۰۹ँःअह़्॑॔क़ॣ०९ঁঃঅঌএঐওনপরললশহ়়াৄেৈো্ৗৗড়ঢ়য়ৣ০ৱਂਂਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹ਼਼ਾੂੇੈੋ੍ਖ਼ੜਫ਼ਫ਼੦ੴઁઃઅઋઍઍએઑઓનપરલળવહ઼ૅેૉો્ૠૠ૦૯ଁଃଅଌଏଐଓନପରଲଳଶହ଼ୃେୈୋ୍ୖୗଡ଼ଢ଼ୟୡ୦୯ஂஃஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹாூெைொ்ௗௗ௧௯ఁఃఅఌఎఐఒనపళవహాౄెైొ్ౕౖౠౡ౦౯ಂಃಅಌಎಐಒನಪಳವಹಾೄೆೈೊ್ೕೖೞೞೠೡ೦೯ംഃഅഌഎഐഒനപഹാൃെൈൊ്ൗൗൠൡ൦൯กฮะฺเ๎๐๙ກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະູົຽເໄໆໆ່ໍ໐໙༘༙༠༩༹༹༵༵༷༷༾ཇཉཀྵ྄ཱ྆ྋྐྕྗྗྙྭྱྷྐྵྐྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅟᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼιιῂῄῆῌῐΐῖΊῠῬῲῴῶῼ⃐⃜⃡⃡ΩΩKÅ℮℮ↀↂ々々〇〇〡〯〱〵ぁゔ゙゚ゝゞァヺーヾㄅㄬ一龥가힣"), Po(h5, Qct, r), Po(I9, Qct, gy(r)), r = new ql(4), UD(r, h0e), Yc(r, 95, 95), Yc(r, 58, 58), Po(h5, Zct, r), Po(I9, Zct, gy(r))), n = u(Uc(e ? h5 : I9, t), 136), n
                            } function v4n(t) { Vr(t.a, si, ct(ot(Me, 1), te, 2, 6, [ki, "anySimpleType"])), Vr(t.b, si, ct(ot(Me, 1), te, 2, 6, [ki, "anyType", qh, QI])), Vr(u(St(Ut(t.b), 0), 34), si, ct(ot(Me, 1), te, 2, 6, [qh, Vct, ki, ":mixed"])), Vr(u(St(Ut(t.b), 1), 34), si, ct(ot(Me, 1), te, 2, 6, [qh, Vct, v8t, Uct, ki, ":1", Xde, "lax"])), Vr(u(St(Ut(t.b), 2), 34), si, ct(ot(Me, 1), te, 2, 6, [qh, Ude, v8t, Uct, ki, ":2", Xde, "lax"])), Vr(t.c, si, ct(ot(Me, 1), te, 2, 6, [ki, "anyURI", Vh, a1])), Vr(t.d, si, ct(ot(Me, 1), te, 2, 6, [ki, "base64Binary", Vh, a1])), Vr(t.e, si, ct(ot(Me, 1), te, 2, 6, [ki, cx, Vh, a1])), Vr(t.f, si, ct(ot(Me, 1), te, 2, 6, [ki, "boolean:Object", za, cx])), Vr(t.g, si, ct(ot(Me, 1), te, 2, 6, [ki, GC])), Vr(t.i, si, ct(ot(Me, 1), te, 2, 6, [ki, "byte:Object", za, GC])), Vr(t.j, si, ct(ot(Me, 1), te, 2, 6, [ki, "date", Vh, a1])), Vr(t.k, si, ct(ot(Me, 1), te, 2, 6, [ki, "dateTime", Vh, a1])), Vr(t.n, si, ct(ot(Me, 1), te, 2, 6, [ki, "decimal", Vh, a1])), Vr(t.o, si, ct(ot(Me, 1), te, 2, 6, [ki, UC, Vh, a1])), Vr(t.p, si, ct(ot(Me, 1), te, 2, 6, [ki, "double:Object", za, UC])), Vr(t.q, si, ct(ot(Me, 1), te, 2, 6, [ki, "duration", Vh, a1])), Vr(t.s, si, ct(ot(Me, 1), te, 2, 6, [ki, "ENTITIES", za, Qde, w8t, "1"])), Vr(t.r, si, ct(ot(Me, 1), te, 2, 6, [ki, Qde, Gct, m8t])), Vr(t.t, si, ct(ot(Me, 1), te, 2, 6, [ki, m8t, za, CH])), Vr(t.u, si, ct(ot(Me, 1), te, 2, 6, [ki, WC, Vh, a1])), Vr(t.v, si, ct(ot(Me, 1), te, 2, 6, [ki, "float:Object", za, WC])), Vr(t.w, si, ct(ot(Me, 1), te, 2, 6, [ki, "gDay", Vh, a1])), Vr(t.B, si, ct(ot(Me, 1), te, 2, 6, [ki, "gMonth", Vh, a1])), Vr(t.A, si, ct(ot(Me, 1), te, 2, 6, [ki, "gMonthDay", Vh, a1])), Vr(t.C, si, ct(ot(Me, 1), te, 2, 6, [ki, "gYear", Vh, a1])), Vr(t.D, si, ct(ot(Me, 1), te, 2, 6, [ki, "gYearMonth", Vh, a1])), Vr(t.F, si, ct(ot(Me, 1), te, 2, 6, [ki, "hexBinary", Vh, a1])), Vr(t.G, si, ct(ot(Me, 1), te, 2, 6, [ki, "ID", za, CH])), Vr(t.H, si, ct(ot(Me, 1), te, 2, 6, [ki, "IDREF", za, CH])), Vr(t.J, si, ct(ot(Me, 1), te, 2, 6, [ki, "IDREFS", za, Zde, w8t, "1"])), Vr(t.I, si, ct(ot(Me, 1), te, 2, 6, [ki, Zde, Gct, "IDREF"])), Vr(t.K, si, ct(ot(Me, 1), te, 2, 6, [ki, KC])), Vr(t.M, si, ct(ot(Me, 1), te, 2, 6, [ki, y8t])), Vr(t.L, si, ct(ot(Me, 1), te, 2, 6, [ki, "int:Object", za, KC])), Vr(t.P, si, ct(ot(Me, 1), te, 2, 6, [ki, "language", za, Wct, Kct, Jde])), Vr(t.Q, si, ct(ot(Me, 1), te, 2, 6, [ki, YC])), Vr(t.R, si, ct(ot(Me, 1), te, 2, 6, [ki, "long:Object", za, YC])), Vr(t.S, si, ct(ot(Me, 1), te, 2, 6, [ki, "Name", za, Wct, Kct, x8t])), Vr(t.T, si, ct(ot(Me, 1), te, 2, 6, [ki, CH, za, "Name", Kct, t0e])), Vr(t.U, si, ct(ot(Me, 1), te, 2, 6, [ki, "negativeInteger", za, e0e, nO, "-1"])), Vr(t.V, si, ct(ot(Me, 1), te, 2, 6, [ki, k8t, za, Wct, Kct, "\\c+"])), Vr(t.X, si, ct(ot(Me, 1), te, 2, 6, [ki, "NMTOKENS", za, n0e, w8t, "1"])), Vr(t.W, si, ct(ot(Me, 1), te, 2, 6, [ki, n0e, Gct, k8t])), Vr(t.Y, si, ct(ot(Me, 1), te, 2, 6, [ki, E8t, za, y8t, rO, "0"])), Vr(t.Z, si, ct(ot(Me, 1), te, 2, 6, [ki, e0e, za, y8t, nO, "0"])), Vr(t.$, si, ct(ot(Me, 1), te, 2, 6, [ki, r0e, za, xat, Vh, "replace"])), Vr(t._, si, ct(ot(Me, 1), te, 2, 6, [ki, "NOTATION", Vh, a1])), Vr(t.ab, si, ct(ot(Me, 1), te, 2, 6, [ki, "positiveInteger", za, E8t, rO, "1"])), Vr(t.bb, si, ct(ot(Me, 1), te, 2, 6, [ki, "processingInstruction_._type", qh, "empty"])), Vr(u(St(Ut(t.bb), 0), 34), si, ct(ot(Me, 1), te, 2, 6, [qh, kH, ki, "data"])), Vr(u(St(Ut(t.bb), 1), 34), si, ct(ot(Me, 1), te, 2, 6, [qh, kH, ki, r8t])), Vr(t.cb, si, ct(ot(Me, 1), te, 2, 6, [ki, "QName", Vh, a1])), Vr(t.db, si, ct(ot(Me, 1), te, 2, 6, [ki, XC])), Vr(t.eb, si, ct(ot(Me, 1), te, 2, 6, [ki, "short:Object", za, XC])), Vr(t.fb, si, ct(ot(Me, 1), te, 2, 6, [ki, "simpleAnyType", qh, ZI])), Vr(u(St(Ut(t.fb), 0), 34), si, ct(ot(Me, 1), te, 2, 6, [ki, ":3", qh, ZI])), Vr(u(St(Ut(t.fb), 1), 34), si, ct(ot(Me, 1), te, 2, 6, [ki, ":4", qh, ZI])), Vr(u(St(Ut(t.fb), 2), 18), si, ct(ot(Me, 1), te, 2, 6, [ki, ":5", qh, ZI])), Vr(t.gb, si, ct(ot(Me, 1), te, 2, 6, [ki, xat, Vh, "preserve"])), Vr(t.hb, si, ct(ot(Me, 1), te, 2, 6, [ki, "time", Vh, a1])), Vr(t.ib, si, ct(ot(Me, 1), te, 2, 6, [ki, Wct, za, r0e, Vh, a1])), Vr(t.jb, si, ct(ot(Me, 1), te, 2, 6, [ki, i0e, nO, "255", rO, "0"])), Vr(t.kb, si, ct(ot(Me, 1), te, 2, 6, [ki, "unsignedByte:Object", za, i0e])), Vr(t.lb, si, ct(ot(Me, 1), te, 2, 6, [ki, s0e, nO, "4294967295", rO, "0"])), Vr(t.mb, si, ct(ot(Me, 1), te, 2, 6, [ki, "unsignedInt:Object", za, s0e])), Vr(t.nb, si, ct(ot(Me, 1), te, 2, 6, [ki, "unsignedLong", za, E8t, nO, a0e, rO, "0"])), Vr(t.ob, si, ct(ot(Me, 1), te, 2, 6, [ki, o0e, nO, "65535", rO, "0"])), Vr(t.pb, si, ct(ot(Me, 1), te, 2, 6, [ki, "unsignedShort:Object", za, o0e])), Vr(t.qb, si, ct(ot(Me, 1), te, 2, 6, [ki, "", qh, QI])), Vr(u(St(Ut(t.qb), 0), 34), si, ct(ot(Me, 1), te, 2, 6, [qh, Vct, ki, ":mixed"])), Vr(u(St(Ut(t.qb), 1), 18), si, ct(ot(Me, 1), te, 2, 6, [qh, kH, ki, "xmlns:prefix"])), Vr(u(St(Ut(t.qb), 2), 18), si, ct(ot(Me, 1), te, 2, 6, [qh, kH, ki, "xsi:schemaLocation"])), Vr(u(St(Ut(t.qb), 3), 34), si, ct(ot(Me, 1), te, 2, 6, [qh, EH, ki, "cDATA", TH, JI])), Vr(u(St(Ut(t.qb), 4), 34), si, ct(ot(Me, 1), te, 2, 6, [qh, EH, ki, "comment", TH, JI])), Vr(u(St(Ut(t.qb), 5), 18), si, ct(ot(Me, 1), te, 2, 6, [qh, EH, ki, c0e, TH, JI])), Vr(u(St(Ut(t.qb), 6), 34), si, ct(ot(Me, 1), te, 2, 6, [qh, EH, ki, Dct, TH, JI])) } function Jr(t) { return ln("_UI_EMFDiagnostic_marker", t) ? "EMF Problem" : ln("_UI_CircularContainment_diagnostic", t) ? "An object may not circularly contain itself" : ln(V1e, t) ? "Wrong character." : ln(G1e, t) ? "Invalid reference number." : ln(dH, t) ? "A character is required after \\." : ln(Rct, t) ? "'?' is not expected.  '(?:' or '(?=' or '(?!' or '(?<' or '(?#' or '(?>'?" : ln(U1e, t) ? "'(?<' or '(?<!' is expected." : ln(W1e, t) ? "A comment is not terminated." : ln(Cb, t) ? "')' is expected." : ln(i8t, t) ? "Unexpected end of the pattern in a modifier group." : ln(K1e, t) ? "':' is expected." : ln(Y1e, t) ? "Unexpected end of the pattern in a conditional group." : ln(X1e, t) ? "A back reference or an anchor or a lookahead or a look-behind is expected in a conditional pattern." : ln(Q1e, t) ? "There are more than three choices in a conditional group." : ln(Z1e, t) ? "A character in U+0040-U+005f must follow \\c." : ln(J1e, t) ? "A '{' is required before a character category." : ln(tde, t) ? "A property name is not closed by '}'." : ln(s8t, t) ? "Unexpected meta character." : ln(jct, t) ? "Unknown property." : ln(a8t, t) ? "A POSIX character class must be closed by ':]'." : ln(gH, t) ? "Unexpected end of the pattern in a character class." : ln(ede, t) ? "Unknown name for a POSIX character class." : ln("parser.cc.4", t) ? "'-' is invalid here." : ln(nde, t) ? "']' is expected." : ln(o8t, t) ? "'[' is invalid in a character class.  Write '\\['." : ln(c8t, t) ? "']' is invalid in a character class.  Write '\\]'." : ln($ct, t) ? "'-' is an invalid character range. Write '\\-'." : ln(rde, t) ? "'[' is expected." : ln(ide, t) ? "')' or '-[' or '+[' or '&[' is expected." : ln(sde, t) ? "The range end code point is less than the start code point." : ln(Hg, t) ? "Invalid Unicode hex notation." : ln(ade, t) ? "Overflow in a hex notation." : ln(ode, t) ? "'\\x{' must be closed by '}'." : ln(cde, t) ? "Invalid Unicode code point." : ln(ude, t) ? "An anchor must not be here." : ln(kh, t) ? "This expression is not supported in the current option setting." : ln(lde, t) ? "Invalid quantifier. A digit is expected." : ln(hde, t) ? "Invalid quantifier. Invalid quantity or a '}' is missing." : ln(fde, t) ? "Invalid quantifier. A digit or '}' is expected." : ln(dde, t) ? "Invalid quantifier. A min quantity must be <= a max quantity." : ln(u8t, t) ? "Invalid quantifier. A quantity value overflow." : ln("_UI_PackageRegistry_extensionpoint", t) ? "Ecore Package Registry for Generated Packages" : ln("_UI_DynamicPackageRegistry_extensionpoint", t) ? "Ecore Package Registry for Dynamic Packages" : ln("_UI_FactoryRegistry_extensionpoint", t) ? "Ecore Factory Override Registry" : ln("_UI_URIExtensionParserRegistry_extensionpoint", t) ? "URI Extension Parser Registry" : ln("_UI_URIProtocolParserRegistry_extensionpoint", t) ? "URI Protocol Parser Registry" : ln("_UI_URIContentParserRegistry_extensionpoint", t) ? "URI Content Parser Registry" : ln("_UI_ContentHandlerRegistry_extensionpoint", t) ? "Content Handler Registry" : ln("_UI_URIMappingRegistry_extensionpoint", t) ? "URI Converter Mapping Registry" : ln("_UI_PackageRegistryImplementation_extensionpoint", t) ? "Ecore Package Registry Implementation" : ln("_UI_ValidationDelegateRegistry_extensionpoint", t) ? "Validation Delegate Registry" : ln("_UI_SettingDelegateRegistry_extensionpoint", t) ? "Feature Setting Delegate Factory Registry" : ln("_UI_InvocationDelegateRegistry_extensionpoint", t) ? "Operation Invocation Delegate Factory Registry" : ln("_UI_EClassInterfaceNotAbstract_diagnostic", t) ? "A class that is an interface must also be abstract" : ln("_UI_EClassNoCircularSuperTypes_diagnostic", t) ? "A class may not be a super type of itself" : ln("_UI_EClassNotWellFormedMapEntryNoInstanceClassName_diagnostic", t) ? "A class that inherits from a map entry class must have instance class name 'java.util.Map$Entry'" : ln("_UI_EReferenceOppositeOfOppositeInconsistent_diagnostic", t) ? "The opposite of the opposite may not be a reference different from this one" : ln("_UI_EReferenceOppositeNotFeatureOfType_diagnostic", t) ? "The opposite must be a feature of the reference's type" : ln("_UI_EReferenceTransientOppositeNotTransient_diagnostic", t) ? "The opposite of a transient reference must be transient if it is proxy resolving" : ln("_UI_EReferenceOppositeBothContainment_diagnostic", t) ? "The opposite of a containment reference must not be a containment reference" : ln("_UI_EReferenceConsistentUnique_diagnostic", t) ? "A containment or bidirectional reference must be unique if its upper bound is different from 1" : ln("_UI_ETypedElementNoType_diagnostic", t) ? "The typed element must have a type" : ln("_UI_EAttributeNoDataType_diagnostic", t) ? "The generic attribute type must not refer to a class" : ln("_UI_EReferenceNoClass_diagnostic", t) ? "The generic reference type must not refer to a data type" : ln("_UI_EGenericTypeNoTypeParameterAndClassifier_diagnostic", t) ? "A generic type can't refer to both a type parameter and a classifier" : ln("_UI_EGenericTypeNoClass_diagnostic", t) ? "A generic super type must refer to a class" : ln("_UI_EGenericTypeNoTypeParameterOrClassifier_diagnostic", t) ? "A generic type in this context must refer to a classifier or a type parameter" : ln("_UI_EGenericTypeBoundsOnlyForTypeArgument_diagnostic", t) ? "A generic type may have bounds only when used as a type argument" : ln("_UI_EGenericTypeNoUpperAndLowerBound_diagnostic", t) ? "A generic type must not have both a lower and an upper bound" : ln("_UI_EGenericTypeNoTypeParameterOrClassifierAndBound_diagnostic", t) ? "A generic type with bounds must not also refer to a type parameter or classifier" : ln("_UI_EGenericTypeNoArguments_diagnostic", t) ? "A generic type may have arguments only if it refers to a classifier" : ln("_UI_EGenericTypeOutOfScopeTypeParameter_diagnostic", t) ? "A generic type may only refer to a type parameter that is in scope" : t } function w4n(t) { var e, n, r, s, o, h, d, w, k, _, L, F, q, G, W; t.r || (t.r = !0, su(t, "graph"), X$(t, "graph"), Q$(t, V7), LD(t.o, "T"), Hr(zo(t.a), t.p), Hr(zo(t.f), t.a), Hr(zo(t.n), t.f), Hr(zo(t.g), t.n), Hr(zo(t.c), t.n), Hr(zo(t.i), t.c), Hr(zo(t.j), t.c), Hr(zo(t.d), t.f), Hr(zo(t.e), t.a), bc(t.p, N4n, Hhe, !0, !0, !1), G = i4(t.p, t.p, "setProperty"), W = Zee(G), k = M0(t.o), _ = (n = (r = new pv, r), n), Hr((!k.d && (k.d = new qs(Co, k, 1)), k.d), _), L = Vnt(W), Y3t(_, L), zz(G, k, Kkt), k = Vnt(W), zz(G, k, HC), G = i4(t.p, null, "getProperty"), W = Zee(G), k = M0(t.o), _ = Vnt(W), Hr((!k.d && (k.d = new qs(Co, k, 1)), k.d), _), zz(G, k, Kkt), k = Vnt(W), q = z1(G, k, null), q && q.Fi(), G = i4(t.p, t.wb.e, "hasProperty"), k = M0(t.o), _ = (s = (o = new pv, o), s), Hr((!k.d && (k.d = new qs(Co, k, 1)), k.d), _), zz(G, k, Kkt), G = i4(t.p, t.p, "copyProperties"), jo(G, t.p, Sct), G = i4(t.p, null, "getAllProperties"), k = M0(t.wb.P), _ = M0(t.o), Hr((!k.d && (k.d = new qs(Co, k, 1)), k.d), _), L = (h = (d = new pv, d), h), Hr((!_.d && (_.d = new qs(Co, _, 1)), _.d), L), _ = M0(t.wb.M), Hr((!k.d && (k.d = new qs(Co, k, 1)), k.d), _), F = z1(G, k, null), F && F.Fi(), bc(t.a, D9, y1e, !0, !1, !0), Xi(u(St(Ut(t.a), 0), 18), t.k, null, I1e, 0, -1, D9, !1, !1, !0, !0, !1, !1, !1), bc(t.f, iN, k1e, !0, !1, !0), Xi(u(St(Ut(t.f), 0), 18), t.g, u(St(Ut(t.g), 0), 18), "labels", 0, -1, iN, !1, !1, !0, !0, !1, !1, !1), _s(u(St(Ut(t.f), 1), 34), t.wb._, O1e, null, 0, 1, iN, !1, !1, !0, !1, !0, !1), bc(t.n, sN, "ElkShape", !0, !1, !0), _s(u(St(Ut(t.n), 0), 34), t.wb.t, Act, I7, 1, 1, sN, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.n), 1), 34), t.wb.t, Lct, I7, 1, 1, sN, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.n), 2), 34), t.wb.t, "x", I7, 1, 1, sN, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.n), 3), 34), t.wb.t, "y", I7, 1, 1, sN, !1, !1, !0, !1, !0, !1), G = i4(t.n, null, "setDimensions"), jo(G, t.wb.t, Lct), jo(G, t.wb.t, Act), G = i4(t.n, null, "setLocation"), jo(G, t.wb.t, "x"), jo(G, t.wb.t, "y"), bc(t.g, ec, Gkt, !1, !1, !0), Xi(u(St(Ut(t.g), 0), 18), t.f, u(St(Ut(t.f), 0), 18), Mct, 0, 1, ec, !1, !1, !0, !1, !1, !1, !1), _s(u(St(Ut(t.g), 1), 34), t.wb._, Dct, "", 0, 1, ec, !1, !1, !0, !1, !0, !1), bc(t.c, Cr, E1e, !0, !1, !0), Xi(u(St(Ut(t.c), 0), 18), t.d, u(St(Ut(t.d), 1), 18), "outgoingEdges", 0, -1, Cr, !1, !1, !0, !1, !0, !1, !1), Xi(u(St(Ut(t.c), 1), 18), t.d, u(St(Ut(t.d), 2), 18), "incomingEdges", 0, -1, Cr, !1, !1, !0, !1, !0, !1, !1), bc(t.i, bs, Ukt, !1, !1, !0), Xi(u(St(Ut(t.i), 0), 18), t.j, u(St(Ut(t.j), 0), 18), "ports", 0, -1, bs, !1, !1, !0, !0, !1, !1, !1), Xi(u(St(Ut(t.i), 1), 18), t.i, u(St(Ut(t.i), 2), 18), Ict, 0, -1, bs, !1, !1, !0, !0, !1, !1, !1), Xi(u(St(Ut(t.i), 2), 18), t.i, u(St(Ut(t.i), 1), 18), Mct, 0, 1, bs, !1, !1, !0, !1, !1, !1, !1), Xi(u(St(Ut(t.i), 3), 18), t.d, u(St(Ut(t.d), 0), 18), "containedEdges", 0, -1, bs, !1, !1, !0, !0, !1, !1, !1), _s(u(St(Ut(t.i), 4), 34), t.wb.e, N1e, null, 0, 1, bs, !0, !0, !1, !1, !0, !0), bc(t.j, El, Wkt, !1, !1, !0), Xi(u(St(Ut(t.j), 0), 18), t.i, u(St(Ut(t.i), 0), 18), Mct, 0, 1, El, !1, !1, !0, !1, !1, !1, !1), bc(t.d, aa, Vkt, !1, !1, !0), Xi(u(St(Ut(t.d), 0), 18), t.i, u(St(Ut(t.i), 3), 18), "containingNode", 0, 1, aa, !1, !1, !0, !1, !1, !1, !1), Xi(u(St(Ut(t.d), 1), 18), t.c, u(St(Ut(t.c), 0), 18), Ykt, 0, -1, aa, !1, !1, !0, !1, !0, !1, !1), Xi(u(St(Ut(t.d), 2), 18), t.c, u(St(Ut(t.c), 1), 18), Oct, 0, -1, aa, !1, !1, !0, !1, !0, !1, !1), Xi(u(St(Ut(t.d), 3), 18), t.e, u(St(Ut(t.e), 5), 18), Xkt, 0, -1, aa, !1, !1, !0, !0, !1, !1, !1), _s(u(St(Ut(t.d), 4), 34), t.wb.e, "hyperedge", null, 0, 1, aa, !0, !0, !1, !1, !0, !0), _s(u(St(Ut(t.d), 5), 34), t.wb.e, N1e, null, 0, 1, aa, !0, !0, !1, !1, !0, !0), _s(u(St(Ut(t.d), 6), 34), t.wb.e, "selfloop", null, 0, 1, aa, !0, !0, !1, !1, !0, !0), _s(u(St(Ut(t.d), 7), 34), t.wb.e, "connected", null, 0, 1, aa, !0, !0, !1, !1, !0, !0), bc(t.b, Qh, x1e, !1, !1, !0), _s(u(St(Ut(t.b), 0), 34), t.wb.t, "x", I7, 1, 1, Qh, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.b), 1), 34), t.wb.t, "y", I7, 1, 1, Qh, !1, !1, !0, !1, !0, !1), G = i4(t.b, null, "set"), jo(G, t.wb.t, "x"), jo(G, t.wb.t, "y"), bc(t.e, fs, T1e, !1, !1, !0), _s(u(St(Ut(t.e), 0), 34), t.wb.t, "startX", null, 0, 1, fs, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.e), 1), 34), t.wb.t, "startY", null, 0, 1, fs, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.e), 2), 34), t.wb.t, "endX", null, 0, 1, fs, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.e), 3), 34), t.wb.t, "endY", null, 0, 1, fs, !1, !1, !0, !1, !0, !1), Xi(u(St(Ut(t.e), 4), 18), t.b, null, uH, 0, -1, fs, !1, !1, !0, !0, !1, !1, !1), Xi(u(St(Ut(t.e), 5), 18), t.d, u(St(Ut(t.d), 3), 18), Mct, 0, 1, fs, !1, !1, !0, !1, !1, !1, !1), Xi(u(St(Ut(t.e), 6), 18), t.c, null, Qkt, 0, 1, fs, !1, !1, !0, !1, !0, !1, !1), Xi(u(St(Ut(t.e), 7), 18), t.c, null, Zkt, 0, 1, fs, !1, !1, !0, !1, !0, !1, !1), Xi(u(St(Ut(t.e), 8), 18), t.e, u(St(Ut(t.e), 9), 18), Jkt, 0, -1, fs, !1, !1, !0, !1, !0, !1, !1), Xi(u(St(Ut(t.e), 9), 18), t.e, u(St(Ut(t.e), 8), 18), t8t, 0, -1, fs, !1, !1, !0, !1, !0, !1, !1), _s(u(St(Ut(t.e), 10), 34), t.wb._, O1e, null, 0, 1, fs, !1, !1, !0, !1, !0, !1), G = i4(t.e, null, "setStartLocation"), jo(G, t.wb.t, "x"), jo(G, t.wb.t, "y"), G = i4(t.e, null, "setEndLocation"), jo(G, t.wb.t, "x"), jo(G, t.wb.t, "y"), bc(t.k, Ab, "ElkPropertyToValueMapEntry", !1, !1, !1), k = M0(t.o), _ = (w = (e = new pv, e), w), Hr((!k.d && (k.d = new qs(Co, k, 1)), k.d), _), Zae(u(St(Ut(t.k), 0), 34), k, "key", Ab, !1, !1, !0, !1), _s(u(St(Ut(t.k), 1), 34), t.s, HC, null, 0, 1, Ab, !1, !1, !0, !1, !0, !1), wi(t.o, jht, "IProperty", !0), wi(t.s, nr, "PropertyValue", !0), kyt(t, V7)) } function Qle() { Qle = J, vt = Ot(tl, N4, 25, oo, 15, 1), vt[9] = 35, vt[10] = 19, vt[13] = 19, vt[32] = 51, vt[33] = 49, vt[34] = 33, Ft(vt, 35, 38, 49), vt[38] = 1, Ft(vt, 39, 45, 49), Ft(vt, 45, 47, -71), vt[47] = 49, Ft(vt, 48, 58, -71), vt[58] = 61, vt[59] = 49, vt[60] = 1, vt[61] = 49, vt[62] = 33, Ft(vt, 63, 65, 49), Ft(vt, 65, 91, -3), Ft(vt, 91, 93, 33), vt[93] = 1, vt[94] = 33, vt[95] = -3, vt[96] = 33, Ft(vt, 97, 123, -3), Ft(vt, 123, 183, 33), vt[183] = -87, Ft(vt, 184, 192, 33), Ft(vt, 192, 215, -19), vt[215] = 33, Ft(vt, 216, 247, -19), vt[247] = 33, Ft(vt, 248, 306, -19), Ft(vt, 306, 308, 33), Ft(vt, 308, 319, -19), Ft(vt, 319, 321, 33), Ft(vt, 321, 329, -19), vt[329] = 33, Ft(vt, 330, 383, -19), vt[383] = 33, Ft(vt, 384, 452, -19), Ft(vt, 452, 461, 33), Ft(vt, 461, 497, -19), Ft(vt, 497, 500, 33), Ft(vt, 500, 502, -19), Ft(vt, 502, 506, 33), Ft(vt, 506, 536, -19), Ft(vt, 536, 592, 33), Ft(vt, 592, 681, -19), Ft(vt, 681, 699, 33), Ft(vt, 699, 706, -19), Ft(vt, 706, 720, 33), Ft(vt, 720, 722, -87), Ft(vt, 722, 768, 33), Ft(vt, 768, 838, -87), Ft(vt, 838, 864, 33), Ft(vt, 864, 866, -87), Ft(vt, 866, 902, 33), vt[902] = -19, vt[903] = -87, Ft(vt, 904, 907, -19), vt[907] = 33, vt[908] = -19, vt[909] = 33, Ft(vt, 910, 930, -19), vt[930] = 33, Ft(vt, 931, 975, -19), vt[975] = 33, Ft(vt, 976, 983, -19), Ft(vt, 983, 986, 33), vt[986] = -19, vt[987] = 33, vt[988] = -19, vt[989] = 33, vt[990] = -19, vt[991] = 33, vt[992] = -19, vt[993] = 33, Ft(vt, 994, 1012, -19), Ft(vt, 1012, 1025, 33), Ft(vt, 1025, 1037, -19), vt[1037] = 33, Ft(vt, 1038, 1104, -19), vt[1104] = 33, Ft(vt, 1105, 1117, -19), vt[1117] = 33, Ft(vt, 1118, 1154, -19), vt[1154] = 33, Ft(vt, 1155, 1159, -87), Ft(vt, 1159, 1168, 33), Ft(vt, 1168, 1221, -19), Ft(vt, 1221, 1223, 33), Ft(vt, 1223, 1225, -19), Ft(vt, 1225, 1227, 33), Ft(vt, 1227, 1229, -19), Ft(vt, 1229, 1232, 33), Ft(vt, 1232, 1260, -19), Ft(vt, 1260, 1262, 33), Ft(vt, 1262, 1270, -19), Ft(vt, 1270, 1272, 33), Ft(vt, 1272, 1274, -19), Ft(vt, 1274, 1329, 33), Ft(vt, 1329, 1367, -19), Ft(vt, 1367, 1369, 33), vt[1369] = -19, Ft(vt, 1370, 1377, 33), Ft(vt, 1377, 1415, -19), Ft(vt, 1415, 1425, 33), Ft(vt, 1425, 1442, -87), vt[1442] = 33, Ft(vt, 1443, 1466, -87), vt[1466] = 33, Ft(vt, 1467, 1470, -87), vt[1470] = 33, vt[1471] = -87, vt[1472] = 33, Ft(vt, 1473, 1475, -87), vt[1475] = 33, vt[1476] = -87, Ft(vt, 1477, 1488, 33), Ft(vt, 1488, 1515, -19), Ft(vt, 1515, 1520, 33), Ft(vt, 1520, 1523, -19), Ft(vt, 1523, 1569, 33), Ft(vt, 1569, 1595, -19), Ft(vt, 1595, 1600, 33), vt[1600] = -87, Ft(vt, 1601, 1611, -19), Ft(vt, 1611, 1619, -87), Ft(vt, 1619, 1632, 33), Ft(vt, 1632, 1642, -87), Ft(vt, 1642, 1648, 33), vt[1648] = -87, Ft(vt, 1649, 1720, -19), Ft(vt, 1720, 1722, 33), Ft(vt, 1722, 1727, -19), vt[1727] = 33, Ft(vt, 1728, 1743, -19), vt[1743] = 33, Ft(vt, 1744, 1748, -19), vt[1748] = 33, vt[1749] = -19, Ft(vt, 1750, 1765, -87), Ft(vt, 1765, 1767, -19), Ft(vt, 1767, 1769, -87), vt[1769] = 33, Ft(vt, 1770, 1774, -87), Ft(vt, 1774, 1776, 33), Ft(vt, 1776, 1786, -87), Ft(vt, 1786, 2305, 33), Ft(vt, 2305, 2308, -87), vt[2308] = 33, Ft(vt, 2309, 2362, -19), Ft(vt, 2362, 2364, 33), vt[2364] = -87, vt[2365] = -19, Ft(vt, 2366, 2382, -87), Ft(vt, 2382, 2385, 33), Ft(vt, 2385, 2389, -87), Ft(vt, 2389, 2392, 33), Ft(vt, 2392, 2402, -19), Ft(vt, 2402, 2404, -87), Ft(vt, 2404, 2406, 33), Ft(vt, 2406, 2416, -87), Ft(vt, 2416, 2433, 33), Ft(vt, 2433, 2436, -87), vt[2436] = 33, Ft(vt, 2437, 2445, -19), Ft(vt, 2445, 2447, 33), Ft(vt, 2447, 2449, -19), Ft(vt, 2449, 2451, 33), Ft(vt, 2451, 2473, -19), vt[2473] = 33, Ft(vt, 2474, 2481, -19), vt[2481] = 33, vt[2482] = -19, Ft(vt, 2483, 2486, 33), Ft(vt, 2486, 2490, -19), Ft(vt, 2490, 2492, 33), vt[2492] = -87, vt[2493] = 33, Ft(vt, 2494, 2501, -87), Ft(vt, 2501, 2503, 33), Ft(vt, 2503, 2505, -87), Ft(vt, 2505, 2507, 33), Ft(vt, 2507, 2510, -87), Ft(vt, 2510, 2519, 33), vt[2519] = -87, Ft(vt, 2520, 2524, 33), Ft(vt, 2524, 2526, -19), vt[2526] = 33, Ft(vt, 2527, 2530, -19), Ft(vt, 2530, 2532, -87), Ft(vt, 2532, 2534, 33), Ft(vt, 2534, 2544, -87), Ft(vt, 2544, 2546, -19), Ft(vt, 2546, 2562, 33), vt[2562] = -87, Ft(vt, 2563, 2565, 33), Ft(vt, 2565, 2571, -19), Ft(vt, 2571, 2575, 33), Ft(vt, 2575, 2577, -19), Ft(vt, 2577, 2579, 33), Ft(vt, 2579, 2601, -19), vt[2601] = 33, Ft(vt, 2602, 2609, -19), vt[2609] = 33, Ft(vt, 2610, 2612, -19), vt[2612] = 33, Ft(vt, 2613, 2615, -19), vt[2615] = 33, Ft(vt, 2616, 2618, -19), Ft(vt, 2618, 2620, 33), vt[2620] = -87, vt[2621] = 33, Ft(vt, 2622, 2627, -87), Ft(vt, 2627, 2631, 33), Ft(vt, 2631, 2633, -87), Ft(vt, 2633, 2635, 33), Ft(vt, 2635, 2638, -87), Ft(vt, 2638, 2649, 33), Ft(vt, 2649, 2653, -19), vt[2653] = 33, vt[2654] = -19, Ft(vt, 2655, 2662, 33), Ft(vt, 2662, 2674, -87), Ft(vt, 2674, 2677, -19), Ft(vt, 2677, 2689, 33), Ft(vt, 2689, 2692, -87), vt[2692] = 33, Ft(vt, 2693, 2700, -19), vt[2700] = 33, vt[2701] = -19, vt[2702] = 33, Ft(vt, 2703, 2706, -19), vt[2706] = 33, Ft(vt, 2707, 2729, -19), vt[2729] = 33, Ft(vt, 2730, 2737, -19), vt[2737] = 33, Ft(vt, 2738, 2740, -19), vt[2740] = 33, Ft(vt, 2741, 2746, -19), Ft(vt, 2746, 2748, 33), vt[2748] = -87, vt[2749] = -19, Ft(vt, 2750, 2758, -87), vt[2758] = 33, Ft(vt, 2759, 2762, -87), vt[2762] = 33, Ft(vt, 2763, 2766, -87), Ft(vt, 2766, 2784, 33), vt[2784] = -19, Ft(vt, 2785, 2790, 33), Ft(vt, 2790, 2800, -87), Ft(vt, 2800, 2817, 33), Ft(vt, 2817, 2820, -87), vt[2820] = 33, Ft(vt, 2821, 2829, -19), Ft(vt, 2829, 2831, 33), Ft(vt, 2831, 2833, -19), Ft(vt, 2833, 2835, 33), Ft(vt, 2835, 2857, -19), vt[2857] = 33, Ft(vt, 2858, 2865, -19), vt[2865] = 33, Ft(vt, 2866, 2868, -19), Ft(vt, 2868, 2870, 33), Ft(vt, 2870, 2874, -19), Ft(vt, 2874, 2876, 33), vt[2876] = -87, vt[2877] = -19, Ft(vt, 2878, 2884, -87), Ft(vt, 2884, 2887, 33), Ft(vt, 2887, 2889, -87), Ft(vt, 2889, 2891, 33), Ft(vt, 2891, 2894, -87), Ft(vt, 2894, 2902, 33), Ft(vt, 2902, 2904, -87), Ft(vt, 2904, 2908, 33), Ft(vt, 2908, 2910, -19), vt[2910] = 33, Ft(vt, 2911, 2914, -19), Ft(vt, 2914, 2918, 33), Ft(vt, 2918, 2928, -87), Ft(vt, 2928, 2946, 33), Ft(vt, 2946, 2948, -87), vt[2948] = 33, Ft(vt, 2949, 2955, -19), Ft(vt, 2955, 2958, 33), Ft(vt, 2958, 2961, -19), vt[2961] = 33, Ft(vt, 2962, 2966, -19), Ft(vt, 2966, 2969, 33), Ft(vt, 2969, 2971, -19), vt[2971] = 33, vt[2972] = -19, vt[2973] = 33, Ft(vt, 2974, 2976, -19), Ft(vt, 2976, 2979, 33), Ft(vt, 2979, 2981, -19), Ft(vt, 2981, 2984, 33), Ft(vt, 2984, 2987, -19), Ft(vt, 2987, 2990, 33), Ft(vt, 2990, 2998, -19), vt[2998] = 33, Ft(vt, 2999, 3002, -19), Ft(vt, 3002, 3006, 33), Ft(vt, 3006, 3011, -87), Ft(vt, 3011, 3014, 33), Ft(vt, 3014, 3017, -87), vt[3017] = 33, Ft(vt, 3018, 3022, -87), Ft(vt, 3022, 3031, 33), vt[3031] = -87, Ft(vt, 3032, 3047, 33), Ft(vt, 3047, 3056, -87), Ft(vt, 3056, 3073, 33), Ft(vt, 3073, 3076, -87), vt[3076] = 33, Ft(vt, 3077, 3085, -19), vt[3085] = 33, Ft(vt, 3086, 3089, -19), vt[3089] = 33, Ft(vt, 3090, 3113, -19), vt[3113] = 33, Ft(vt, 3114, 3124, -19), vt[3124] = 33, Ft(vt, 3125, 3130, -19), Ft(vt, 3130, 3134, 33), Ft(vt, 3134, 3141, -87), vt[3141] = 33, Ft(vt, 3142, 3145, -87), vt[3145] = 33, Ft(vt, 3146, 3150, -87), Ft(vt, 3150, 3157, 33), Ft(vt, 3157, 3159, -87), Ft(vt, 3159, 3168, 33), Ft(vt, 3168, 3170, -19), Ft(vt, 3170, 3174, 33), Ft(vt, 3174, 3184, -87), Ft(vt, 3184, 3202, 33), Ft(vt, 3202, 3204, -87), vt[3204] = 33, Ft(vt, 3205, 3213, -19), vt[3213] = 33, Ft(vt, 3214, 3217, -19), vt[3217] = 33, Ft(vt, 3218, 3241, -19), vt[3241] = 33, Ft(vt, 3242, 3252, -19), vt[3252] = 33, Ft(vt, 3253, 3258, -19), Ft(vt, 3258, 3262, 33), Ft(vt, 3262, 3269, -87), vt[3269] = 33, Ft(vt, 3270, 3273, -87), vt[3273] = 33, Ft(vt, 3274, 3278, -87), Ft(vt, 3278, 3285, 33), Ft(vt, 3285, 3287, -87), Ft(vt, 3287, 3294, 33), vt[3294] = -19, vt[3295] = 33, Ft(vt, 3296, 3298, -19), Ft(vt, 3298, 3302, 33), Ft(vt, 3302, 3312, -87), Ft(vt, 3312, 3330, 33), Ft(vt, 3330, 3332, -87), vt[3332] = 33, Ft(vt, 3333, 3341, -19), vt[3341] = 33, Ft(vt, 3342, 3345, -19), vt[3345] = 33, Ft(vt, 3346, 3369, -19), vt[3369] = 33, Ft(vt, 3370, 3386, -19), Ft(vt, 3386, 3390, 33), Ft(vt, 3390, 3396, -87), Ft(vt, 3396, 3398, 33), Ft(vt, 3398, 3401, -87), vt[3401] = 33, Ft(vt, 3402, 3406, -87), Ft(vt, 3406, 3415, 33), vt[3415] = -87, Ft(vt, 3416, 3424, 33), Ft(vt, 3424, 3426, -19), Ft(vt, 3426, 3430, 33), Ft(vt, 3430, 3440, -87), Ft(vt, 3440, 3585, 33), Ft(vt, 3585, 3631, -19), vt[3631] = 33, vt[3632] = -19, vt[3633] = -87, Ft(vt, 3634, 3636, -19), Ft(vt, 3636, 3643, -87), Ft(vt, 3643, 3648, 33), Ft(vt, 3648, 3654, -19), Ft(vt, 3654, 3663, -87), vt[3663] = 33, Ft(vt, 3664, 3674, -87), Ft(vt, 3674, 3713, 33), Ft(vt, 3713, 3715, -19), vt[3715] = 33, vt[3716] = -19, Ft(vt, 3717, 3719, 33), Ft(vt, 3719, 3721, -19), vt[3721] = 33, vt[3722] = -19, Ft(vt, 3723, 3725, 33), vt[3725] = -19, Ft(vt, 3726, 3732, 33), Ft(vt, 3732, 3736, -19), vt[3736] = 33, Ft(vt, 3737, 3744, -19), vt[3744] = 33, Ft(vt, 3745, 3748, -19), vt[3748] = 33, vt[3749] = -19, vt[3750] = 33, vt[3751] = -19, Ft(vt, 3752, 3754, 33), Ft(vt, 3754, 3756, -19), vt[3756] = 33, Ft(vt, 3757, 3759, -19), vt[3759] = 33, vt[3760] = -19, vt[3761] = -87, Ft(vt, 3762, 3764, -19), Ft(vt, 3764, 3770, -87), vt[3770] = 33, Ft(vt, 3771, 3773, -87), vt[3773] = -19, Ft(vt, 3774, 3776, 33), Ft(vt, 3776, 3781, -19), vt[3781] = 33, vt[3782] = -87, vt[3783] = 33, Ft(vt, 3784, 3790, -87), Ft(vt, 3790, 3792, 33), Ft(vt, 3792, 3802, -87), Ft(vt, 3802, 3864, 33), Ft(vt, 3864, 3866, -87), Ft(vt, 3866, 3872, 33), Ft(vt, 3872, 3882, -87), Ft(vt, 3882, 3893, 33), vt[3893] = -87, vt[3894] = 33, vt[3895] = -87, vt[3896] = 33, vt[3897] = -87, Ft(vt, 3898, 3902, 33), Ft(vt, 3902, 3904, -87), Ft(vt, 3904, 3912, -19), vt[3912] = 33, Ft(vt, 3913, 3946, -19), Ft(vt, 3946, 3953, 33), Ft(vt, 3953, 3973, -87), vt[3973] = 33, Ft(vt, 3974, 3980, -87), Ft(vt, 3980, 3984, 33), Ft(vt, 3984, 3990, -87), vt[3990] = 33, vt[3991] = -87, vt[3992] = 33, Ft(vt, 3993, 4014, -87), Ft(vt, 4014, 4017, 33), Ft(vt, 4017, 4024, -87), vt[4024] = 33, vt[4025] = -87, Ft(vt, 4026, 4256, 33), Ft(vt, 4256, 4294, -19), Ft(vt, 4294, 4304, 33), Ft(vt, 4304, 4343, -19), Ft(vt, 4343, 4352, 33), vt[4352] = -19, vt[4353] = 33, Ft(vt, 4354, 4356, -19), vt[4356] = 33, Ft(vt, 4357, 4360, -19), vt[4360] = 33, vt[4361] = -19, vt[4362] = 33, Ft(vt, 4363, 4365, -19), vt[4365] = 33, Ft(vt, 4366, 4371, -19), Ft(vt, 4371, 4412, 33), vt[4412] = -19, vt[4413] = 33, vt[4414] = -19, vt[4415] = 33, vt[4416] = -19, Ft(vt, 4417, 4428, 33), vt[4428] = -19, vt[4429] = 33, vt[4430] = -19, vt[4431] = 33, vt[4432] = -19, Ft(vt, 4433, 4436, 33), Ft(vt, 4436, 4438, -19), Ft(vt, 4438, 4441, 33), vt[4441] = -19, Ft(vt, 4442, 4447, 33), Ft(vt, 4447, 4450, -19), vt[4450] = 33, vt[4451] = -19, vt[4452] = 33, vt[4453] = -19, vt[4454] = 33, vt[4455] = -19, vt[4456] = 33, vt[4457] = -19, Ft(vt, 4458, 4461, 33), Ft(vt, 4461, 4463, -19), Ft(vt, 4463, 4466, 33), Ft(vt, 4466, 4468, -19), vt[4468] = 33, vt[4469] = -19, Ft(vt, 4470, 4510, 33), vt[4510] = -19, Ft(vt, 4511, 4520, 33), vt[4520] = -19, Ft(vt, 4521, 4523, 33), vt[4523] = -19, Ft(vt, 4524, 4526, 33), Ft(vt, 4526, 4528, -19), Ft(vt, 4528, 4535, 33), Ft(vt, 4535, 4537, -19), vt[4537] = 33, vt[4538] = -19, vt[4539] = 33, Ft(vt, 4540, 4547, -19), Ft(vt, 4547, 4587, 33), vt[4587] = -19, Ft(vt, 4588, 4592, 33), vt[4592] = -19, Ft(vt, 4593, 4601, 33), vt[4601] = -19, Ft(vt, 4602, 7680, 33), Ft(vt, 7680, 7836, -19), Ft(vt, 7836, 7840, 33), Ft(vt, 7840, 7930, -19), Ft(vt, 7930, 7936, 33), Ft(vt, 7936, 7958, -19), Ft(vt, 7958, 7960, 33), Ft(vt, 7960, 7966, -19), Ft(vt, 7966, 7968, 33), Ft(vt, 7968, 8006, -19), Ft(vt, 8006, 8008, 33), Ft(vt, 8008, 8014, -19), Ft(vt, 8014, 8016, 33), Ft(vt, 8016, 8024, -19), vt[8024] = 33, vt[8025] = -19, vt[8026] = 33, vt[8027] = -19, vt[8028] = 33, vt[8029] = -19, vt[8030] = 33, Ft(vt, 8031, 8062, -19), Ft(vt, 8062, 8064, 33), Ft(vt, 8064, 8117, -19), vt[8117] = 33, Ft(vt, 8118, 8125, -19), vt[8125] = 33, vt[8126] = -19, Ft(vt, 8127, 8130, 33), Ft(vt, 8130, 8133, -19), vt[8133] = 33, Ft(vt, 8134, 8141, -19), Ft(vt, 8141, 8144, 33), Ft(vt, 8144, 8148, -19), Ft(vt, 8148, 8150, 33), Ft(vt, 8150, 8156, -19), Ft(vt, 8156, 8160, 33), Ft(vt, 8160, 8173, -19), Ft(vt, 8173, 8178, 33), Ft(vt, 8178, 8181, -19), vt[8181] = 33, Ft(vt, 8182, 8189, -19), Ft(vt, 8189, 8400, 33), Ft(vt, 8400, 8413, -87), Ft(vt, 8413, 8417, 33), vt[8417] = -87, Ft(vt, 8418, 8486, 33), vt[8486] = -19, Ft(vt, 8487, 8490, 33), Ft(vt, 8490, 8492, -19), Ft(vt, 8492, 8494, 33), vt[8494] = -19, Ft(vt, 8495, 8576, 33), Ft(vt, 8576, 8579, -19), Ft(vt, 8579, 12293, 33), vt[12293] = -87, vt[12294] = 33, vt[12295] = -19, Ft(vt, 12296, 12321, 33), Ft(vt, 12321, 12330, -19), Ft(vt, 12330, 12336, -87), vt[12336] = 33, Ft(vt, 12337, 12342, -87), Ft(vt, 12342, 12353, 33), Ft(vt, 12353, 12437, -19), Ft(vt, 12437, 12441, 33), Ft(vt, 12441, 12443, -87), Ft(vt, 12443, 12445, 33), Ft(vt, 12445, 12447, -87), Ft(vt, 12447, 12449, 33), Ft(vt, 12449, 12539, -19), vt[12539] = 33, Ft(vt, 12540, 12543, -87), Ft(vt, 12543, 12549, 33), Ft(vt, 12549, 12589, -19), Ft(vt, 12589, 19968, 33), Ft(vt, 19968, 40870, -19), Ft(vt, 40870, 44032, 33), Ft(vt, 44032, 55204, -19), Ft(vt, 55204, II, 33), Ft(vt, 57344, 65534, 33) } function m4n(t) { var e, n, r, s, o, h, d; t.hb || (t.hb = !0, su(t, "ecore"), X$(t, "ecore"), Q$(t, Hh), LD(t.fb, "E"), LD(t.L, "T"), LD(t.P, "K"), LD(t.P, "V"), LD(t.cb, "E"), Hr(zo(t.b), t.bb), Hr(zo(t.a), t.Q), Hr(zo(t.o), t.p), Hr(zo(t.p), t.R), Hr(zo(t.q), t.p), Hr(zo(t.v), t.q), Hr(zo(t.w), t.R), Hr(zo(t.B), t.Q), Hr(zo(t.R), t.Q), Hr(zo(t.T), t.eb), Hr(zo(t.U), t.R), Hr(zo(t.V), t.eb), Hr(zo(t.W), t.bb), Hr(zo(t.bb), t.eb), Hr(zo(t.eb), t.R), Hr(zo(t.db), t.R), bc(t.b, Xy, Ede, !1, !1, !0), _s(u(St(Ut(t.b), 0), 34), t.e, "iD", null, 0, 1, Xy, !1, !1, !0, !1, !0, !1), Xi(u(St(Ut(t.b), 1), 18), t.q, null, "eAttributeType", 1, 1, Xy, !0, !0, !1, !1, !0, !1, !0), bc(t.a, li, yde, !1, !1, !0), _s(u(St(Ut(t.a), 0), 34), t._, Sct, null, 0, 1, li, !1, !1, !0, !1, !0, !1), Xi(u(St(Ut(t.a), 1), 18), t.ab, null, "details", 0, -1, li, !1, !1, !0, !0, !1, !1, !1), Xi(u(St(Ut(t.a), 2), 18), t.Q, u(St(Ut(t.Q), 0), 18), "eModelElement", 0, 1, li, !0, !1, !0, !1, !1, !1, !1), Xi(u(St(Ut(t.a), 3), 18), t.S, null, "contents", 0, -1, li, !1, !1, !0, !0, !1, !1, !1), Xi(u(St(Ut(t.a), 4), 18), t.S, null, "references", 0, -1, li, !1, !1, !0, !1, !0, !1, !1), bc(t.o, Zh, "EClass", !1, !1, !0), _s(u(St(Ut(t.o), 0), 34), t.e, "abstract", null, 0, 1, Zh, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.o), 1), 34), t.e, "interface", null, 0, 1, Zh, !1, !1, !0, !1, !0, !1), Xi(u(St(Ut(t.o), 2), 18), t.o, null, "eSuperTypes", 0, -1, Zh, !1, !1, !0, !1, !0, !0, !1), Xi(u(St(Ut(t.o), 3), 18), t.T, u(St(Ut(t.T), 0), 18), "eOperations", 0, -1, Zh, !1, !1, !0, !0, !1, !1, !1), Xi(u(St(Ut(t.o), 4), 18), t.b, null, "eAllAttributes", 0, -1, Zh, !0, !0, !1, !1, !0, !1, !0), Xi(u(St(Ut(t.o), 5), 18), t.W, null, "eAllReferences", 0, -1, Zh, !0, !0, !1, !1, !0, !1, !0), Xi(u(St(Ut(t.o), 6), 18), t.W, null, "eReferences", 0, -1, Zh, !0, !0, !1, !1, !0, !1, !0), Xi(u(St(Ut(t.o), 7), 18), t.b, null, "eAttributes", 0, -1, Zh, !0, !0, !1, !1, !0, !1, !0), Xi(u(St(Ut(t.o), 8), 18), t.W, null, "eAllContainments", 0, -1, Zh, !0, !0, !1, !1, !0, !1, !0), Xi(u(St(Ut(t.o), 9), 18), t.T, null, "eAllOperations", 0, -1, Zh, !0, !0, !1, !1, !0, !1, !0), Xi(u(St(Ut(t.o), 10), 18), t.bb, null, "eAllStructuralFeatures", 0, -1, Zh, !0, !0, !1, !1, !0, !1, !0), Xi(u(St(Ut(t.o), 11), 18), t.o, null, "eAllSuperTypes", 0, -1, Zh, !0, !0, !1, !1, !0, !1, !0), Xi(u(St(Ut(t.o), 12), 18), t.b, null, "eIDAttribute", 0, 1, Zh, !0, !0, !1, !1, !1, !1, !0), Xi(u(St(Ut(t.o), 13), 18), t.bb, u(St(Ut(t.bb), 7), 18), "eStructuralFeatures", 0, -1, Zh, !1, !1, !0, !0, !1, !1, !1), Xi(u(St(Ut(t.o), 14), 18), t.H, null, "eGenericSuperTypes", 0, -1, Zh, !1, !1, !0, !0, !1, !0, !1), Xi(u(St(Ut(t.o), 15), 18), t.H, null, "eAllGenericSuperTypes", 0, -1, Zh, !0, !0, !1, !1, !0, !1, !0), d = Lo(u(St(zi(t.o), 0), 59), t.e, "isSuperTypeOf"), jo(d, t.o, "someClass"), Lo(u(St(zi(t.o), 1), 59), t.I, "getFeatureCount"), d = Lo(u(St(zi(t.o), 2), 59), t.bb, Pde), jo(d, t.I, "featureID"), d = Lo(u(St(zi(t.o), 3), 59), t.I, Fde), jo(d, t.bb, QC), d = Lo(u(St(zi(t.o), 4), 59), t.bb, Pde), jo(d, t._, "featureName"), Lo(u(St(zi(t.o), 5), 59), t.I, "getOperationCount"), d = Lo(u(St(zi(t.o), 6), 59), t.T, "getEOperation"), jo(d, t.I, "operationID"), d = Lo(u(St(zi(t.o), 7), 59), t.I, Bde), jo(d, t.T, p8t), d = Lo(u(St(zi(t.o), 8), 59), t.T, "getOverride"), jo(d, t.T, p8t), d = Lo(u(St(zi(t.o), 9), 59), t.H, "getFeatureType"), jo(d, t.bb, QC), bc(t.p, l1, Tde, !0, !1, !0), _s(u(St(Ut(t.p), 0), 34), t._, "instanceClassName", null, 0, 1, l1, !1, !0, !0, !0, !0, !1), e = M0(t.L), n = Swt(), Hr((!e.d && (e.d = new qs(Co, e, 1)), e.d), n), Zae(u(St(Ut(t.p), 1), 34), e, "instanceClass", l1, !0, !0, !1, !0), _s(u(St(Ut(t.p), 2), 34), t.M, Rde, null, 0, 1, l1, !0, !0, !1, !1, !0, !0), _s(u(St(Ut(t.p), 3), 34), t._, "instanceTypeName", null, 0, 1, l1, !1, !0, !0, !0, !0, !1), Xi(u(St(Ut(t.p), 4), 18), t.U, u(St(Ut(t.U), 3), 18), "ePackage", 0, 1, l1, !0, !1, !1, !1, !0, !1, !1), Xi(u(St(Ut(t.p), 5), 18), t.db, null, jde, 0, -1, l1, !1, !1, !0, !0, !0, !1, !1), d = Lo(u(St(zi(t.p), 0), 59), t.e, $de), jo(d, t.M, TI), Lo(u(St(zi(t.p), 1), 59), t.I, "getClassifierID"), bc(t.q, dft, "EDataType", !1, !1, !0), _s(u(St(Ut(t.q), 0), 34), t.e, "serializable", q7, 0, 1, dft, !1, !1, !0, !1, !0, !1), bc(t.v, YG, "EEnum", !1, !1, !0), Xi(u(St(Ut(t.v), 0), 18), t.w, u(St(Ut(t.w), 3), 18), "eLiterals", 0, -1, YG, !1, !1, !0, !0, !1, !1, !1), d = Lo(u(St(zi(t.v), 0), 59), t.w, zde), jo(d, t._, ki), d = Lo(u(St(zi(t.v), 1), 59), t.w, zde), jo(d, t.I, HC), d = Lo(u(St(zi(t.v), 2), 59), t.w, "getEEnumLiteralByLiteral"), jo(d, t._, "literal"), bc(t.w, tg, _de, !1, !1, !0), _s(u(St(Ut(t.w), 0), 34), t.I, HC, null, 0, 1, tg, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.w), 1), 34), t.A, "instance", null, 0, 1, tg, !0, !1, !0, !1, !0, !1), _s(u(St(Ut(t.w), 2), 34), t._, "literal", null, 0, 1, tg, !1, !1, !0, !1, !0, !1), Xi(u(St(Ut(t.w), 3), 18), t.v, u(St(Ut(t.v), 0), 18), "eEnum", 0, 1, tg, !0, !1, !1, !1, !1, !1, !1), bc(t.B, XS, "EFactory", !1, !1, !0), Xi(u(St(Ut(t.B), 0), 18), t.U, u(St(Ut(t.U), 2), 18), "ePackage", 1, 1, XS, !0, !1, !0, !1, !1, !1, !1), d = Lo(u(St(zi(t.B), 0), 59), t.S, "create"), jo(d, t.o, "eClass"), d = Lo(u(St(zi(t.B), 1), 59), t.M, "createFromString"), jo(d, t.q, "eDataType"), jo(d, t._, "literalValue"), d = Lo(u(St(zi(t.B), 2), 59), t._, "convertToString"), jo(d, t.q, "eDataType"), jo(d, t.M, "instanceValue"), bc(t.Q, aN, _1e, !0, !1, !0), Xi(u(St(Ut(t.Q), 0), 18), t.a, u(St(Ut(t.a), 2), 18), "eAnnotations", 0, -1, aN, !1, !1, !0, !0, !1, !1, !1), d = Lo(u(St(zi(t.Q), 0), 59), t.a, "getEAnnotation"), jo(d, t._, Sct), bc(t.R, oft, C1e, !0, !1, !0), _s(u(St(Ut(t.R), 0), 34), t._, ki, null, 0, 1, oft, !1, !1, !0, !1, !0, !1), bc(t.S, T2, "EObject", !1, !1, !0), Lo(u(St(zi(t.S), 0), 59), t.o, "eClass"), Lo(u(St(zi(t.S), 1), 59), t.e, "eIsProxy"), Lo(u(St(zi(t.S), 2), 59), t.X, "eResource"), Lo(u(St(zi(t.S), 3), 59), t.S, "eContainer"), Lo(u(St(zi(t.S), 4), 59), t.bb, "eContainingFeature"), Lo(u(St(zi(t.S), 5), 59), t.W, "eContainmentFeature"), d = Lo(u(St(zi(t.S), 6), 59), null, "eContents"), e = M0(t.fb), n = M0(t.S), Hr((!e.d && (e.d = new qs(Co, e, 1)), e.d), n), s = z1(d, e, null), s && s.Fi(), d = Lo(u(St(zi(t.S), 7), 59), null, "eAllContents"), e = M0(t.cb), n = M0(t.S), Hr((!e.d && (e.d = new qs(Co, e, 1)), e.d), n), o = z1(d, e, null), o && o.Fi(), d = Lo(u(St(zi(t.S), 8), 59), null, "eCrossReferences"), e = M0(t.fb), n = M0(t.S), Hr((!e.d && (e.d = new qs(Co, e, 1)), e.d), n), h = z1(d, e, null), h && h.Fi(), d = Lo(u(St(zi(t.S), 9), 59), t.M, "eGet"), jo(d, t.bb, QC), d = Lo(u(St(zi(t.S), 10), 59), t.M, "eGet"), jo(d, t.bb, QC), jo(d, t.e, "resolve"), d = Lo(u(St(zi(t.S), 11), 59), null, "eSet"), jo(d, t.bb, QC), jo(d, t.M, "newValue"), d = Lo(u(St(zi(t.S), 12), 59), t.e, "eIsSet"), jo(d, t.bb, QC), d = Lo(u(St(zi(t.S), 13), 59), null, "eUnset"), jo(d, t.bb, QC), d = Lo(u(St(zi(t.S), 14), 59), t.M, "eInvoke"), jo(d, t.T, p8t), e = M0(t.fb), n = Swt(), Hr((!e.d && (e.d = new qs(Co, e, 1)), e.d), n), zz(d, e, "arguments"), wtn(d, t.K), bc(t.T, Jh, Sde, !1, !1, !0), Xi(u(St(Ut(t.T), 0), 18), t.o, u(St(Ut(t.o), 3), 18), qde, 0, 1, Jh, !0, !1, !1, !1, !1, !1, !1), Xi(u(St(Ut(t.T), 1), 18), t.db, null, jde, 0, -1, Jh, !1, !1, !0, !0, !0, !1, !1), Xi(u(St(Ut(t.T), 2), 18), t.V, u(St(Ut(t.V), 0), 18), "eParameters", 0, -1, Jh, !1, !1, !0, !0, !1, !1, !1), Xi(u(St(Ut(t.T), 3), 18), t.p, null, "eExceptions", 0, -1, Jh, !1, !1, !0, !1, !0, !0, !1), Xi(u(St(Ut(t.T), 4), 18), t.H, null, "eGenericExceptions", 0, -1, Jh, !1, !1, !0, !0, !1, !0, !1), Lo(u(St(zi(t.T), 0), 59), t.I, Bde), d = Lo(u(St(zi(t.T), 1), 59), t.e, "isOverrideOf"), jo(d, t.T, "someOperation"), bc(t.U, u1, "EPackage", !1, !1, !0), _s(u(St(Ut(t.U), 0), 34), t._, "nsURI", null, 0, 1, u1, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.U), 1), 34), t._, "nsPrefix", null, 0, 1, u1, !1, !1, !0, !1, !0, !1), Xi(u(St(Ut(t.U), 2), 18), t.B, u(St(Ut(t.B), 0), 18), "eFactoryInstance", 1, 1, u1, !0, !1, !0, !1, !1, !1, !1), Xi(u(St(Ut(t.U), 3), 18), t.p, u(St(Ut(t.p), 4), 18), "eClassifiers", 0, -1, u1, !1, !1, !0, !0, !0, !1, !1), Xi(u(St(Ut(t.U), 4), 18), t.U, u(St(Ut(t.U), 5), 18), "eSubpackages", 0, -1, u1, !1, !1, !0, !0, !0, !1, !1), Xi(u(St(Ut(t.U), 5), 18), t.U, u(St(Ut(t.U), 4), 18), "eSuperPackage", 0, 1, u1, !0, !1, !1, !1, !0, !1, !1), d = Lo(u(St(zi(t.U), 0), 59), t.p, "getEClassifier"), jo(d, t._, ki), bc(t.V, Rw, Ade, !1, !1, !0), Xi(u(St(Ut(t.V), 0), 18), t.T, u(St(Ut(t.T), 2), 18), "eOperation", 0, 1, Rw, !0, !1, !1, !1, !1, !1, !1), bc(t.W, Qy, Lde, !1, !1, !0), _s(u(St(Ut(t.W), 0), 34), t.e, "containment", null, 0, 1, Qy, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.W), 1), 34), t.e, "container", null, 0, 1, Qy, !0, !0, !1, !1, !0, !0), _s(u(St(Ut(t.W), 2), 34), t.e, "resolveProxies", q7, 0, 1, Qy, !1, !1, !0, !1, !0, !1), Xi(u(St(Ut(t.W), 3), 18), t.W, null, "eOpposite", 0, 1, Qy, !1, !1, !0, !1, !0, !1, !1), Xi(u(St(Ut(t.W), 4), 18), t.o, null, "eReferenceType", 1, 1, Qy, !0, !0, !1, !1, !0, !1, !0), Xi(u(St(Ut(t.W), 5), 18), t.b, null, "eKeys", 0, -1, Qy, !1, !1, !0, !1, !0, !1, !1), bc(t.bb, ju, kde, !0, !1, !0), _s(u(St(Ut(t.bb), 0), 34), t.e, "changeable", q7, 0, 1, ju, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.bb), 1), 34), t.e, "volatile", null, 0, 1, ju, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.bb), 2), 34), t.e, "transient", null, 0, 1, ju, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.bb), 3), 34), t._, "defaultValueLiteral", null, 0, 1, ju, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.bb), 4), 34), t.M, Rde, null, 0, 1, ju, !0, !0, !1, !1, !0, !0), _s(u(St(Ut(t.bb), 5), 34), t.e, "unsettable", null, 0, 1, ju, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.bb), 6), 34), t.e, "derived", null, 0, 1, ju, !1, !1, !0, !1, !0, !1), Xi(u(St(Ut(t.bb), 7), 18), t.o, u(St(Ut(t.o), 13), 18), qde, 0, 1, ju, !0, !1, !1, !1, !1, !1, !1), Lo(u(St(zi(t.bb), 0), 59), t.I, Fde), d = Lo(u(St(zi(t.bb), 1), 59), null, "getContainerClass"), e = M0(t.L), n = Swt(), Hr((!e.d && (e.d = new qs(Co, e, 1)), e.d), n), r = z1(d, e, null), r && r.Fi(), bc(t.eb, Yy, xde, !0, !1, !0), _s(u(St(Ut(t.eb), 0), 34), t.e, "ordered", q7, 0, 1, Yy, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.eb), 1), 34), t.e, "unique", q7, 0, 1, Yy, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.eb), 2), 34), t.I, "lowerBound", null, 0, 1, Yy, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.eb), 3), 34), t.I, "upperBound", "1", 0, 1, Yy, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.eb), 4), 34), t.e, "many", null, 0, 1, Yy, !0, !0, !1, !1, !0, !0), _s(u(St(Ut(t.eb), 5), 34), t.e, "required", null, 0, 1, Yy, !0, !0, !1, !1, !0, !0), Xi(u(St(Ut(t.eb), 6), 18), t.p, null, "eType", 0, 1, Yy, !1, !0, !0, !1, !0, !0, !1), Xi(u(St(Ut(t.eb), 7), 18), t.H, null, "eGenericType", 0, 1, Yy, !1, !0, !0, !0, !1, !0, !1), bc(t.ab, Ab, "EStringToStringMapEntry", !1, !1, !1), _s(u(St(Ut(t.ab), 0), 34), t._, "key", null, 0, 1, Ab, !1, !1, !0, !1, !0, !1), _s(u(St(Ut(t.ab), 1), 34), t._, HC, null, 0, 1, Ab, !1, !1, !0, !1, !0, !1), bc(t.H, Co, Cde, !1, !1, !0), Xi(u(St(Ut(t.H), 0), 18), t.H, null, "eUpperBound", 0, 1, Co, !1, !1, !0, !0, !1, !1, !1), Xi(u(St(Ut(t.H), 1), 18), t.H, null, "eTypeArguments", 0, -1, Co, !1, !1, !0, !0, !1, !1, !1), Xi(u(St(Ut(t.H), 2), 18), t.p, null, "eRawType", 1, 1, Co, !0, !1, !1, !1, !0, !1, !0), Xi(u(St(Ut(t.H), 3), 18), t.H, null, "eLowerBound", 0, 1, Co, !1, !1, !0, !0, !1, !1, !1), Xi(u(St(Ut(t.H), 4), 18), t.db, null, "eTypeParameter", 0, 1, Co, !1, !1, !0, !1, !1, !1, !1), Xi(u(St(Ut(t.H), 5), 18), t.p, null, "eClassifier", 0, 1, Co, !1, !1, !0, !1, !0, !1, !1), d = Lo(u(St(zi(t.H), 0), 59), t.e, $de), jo(d, t.M, TI), bc(t.db, wu, Mde, !1, !1, !0), Xi(u(St(Ut(t.db), 0), 18), t.H, null, "eBounds", 0, -1, wu, !1, !1, !0, !0, !1, !1, !1), wi(t.c, dut, "EBigDecimal", !0), wi(t.d, B4, "EBigInteger", !0), wi(t.e, Tl, "EBoolean", !0), wi(t.f, Zs, "EBooleanObject", !0), wi(t.i, tl, "EByte", !0), wi(t.g, ot(tl, 1), "EByteArray", !0), wi(t.j, kx, "EByteObject", !0), wi(t.k, Sh, "EChar", !0), wi(t.n, tS, "ECharacterObject", !0), wi(t.r, NH, "EDate", !0), wi(t.s, oLt, "EDiagnosticChain", !1), wi(t.t, wa, "EDouble", !0), wi(t.u, ka, "EDoubleObject", !0), wi(t.fb, kAt, "EEList", !1), wi(t.A, _At, "EEnumerator", !1), wi(t.C, KAt, "EFeatureMap", !1), wi(t.D, XG, "EFeatureMapEntry", !1), wi(t.F, e3, "EFloat", !0), wi(t.G, X7, "EFloatObject", !0), wi(t.I, Br, "EInt", !0), wi(t.J, to, "EIntegerObject", !0), wi(t.L, C8t, "EJavaClass", !0), wi(t.M, nr, "EJavaObject", !0), wi(t.N, D2, "ELong", !0), wi(t.O, xw, "ELongObject", !0), wi(t.P, S8t, "EMap", !1), wi(t.X, VAt, "EResource", !1), wi(t.Y, cLt, "EResourceSet", !1), wi(t.Z, f5, "EShort", !0), wi(t.$, kw, "EShortObject", !0), wi(t._, Me, "EString", !0), wi(t.cb, TAt, "ETreeIterator", !1), wi(t.K, uLt, "EInvocationTargetException", !1), kyt(t, Hh)) } var TI = "object", cx = "boolean", u6t = "number", xat = "string", kat = "function", Di = 2147483647, lc = "java.lang", _I = { 3: 1 }, CI = "com.google.common.base", ao = ", ", Zle = "%s (%s) must not be negative", De = { 3: 1, 4: 1, 5: 1 }, Jle = "negative size: ", the = "Optional.of(", Pu = "null", S7 = { 198: 1, 47: 1 }, Ye = "com.google.common.collect", A7 = { 198: 1, 47: 1, 125: 1 }, wb = { 224: 1, 3: 1 }, va = { 47: 1 }, _r = "java.util", dw = { 83: 1 }, by = { 20: 1, 28: 1, 14: 1 }, q1 = 1965, Xu = { 20: 1, 28: 1, 14: 1, 21: 1 }, ehe = { 83: 1, 171: 1, 161: 1 }, nhe = { 20: 1, 28: 1, 14: 1, 21: 1, 84: 1 }, l6t = { 20: 1, 28: 1, 14: 1, 271: 1, 21: 1, 84: 1 }, n0 = { 47: 1, 125: 1 }, xq = { 345: 1, 42: 1 }, rhe = "AbstractMapEntry", ihe = "expectedValuesPerKey", te = { 3: 1, 6: 1, 4: 1, 5: 1 }, kd = 16384, Rh = { 164: 1 }, Qn = { 38: 1 }, kq = { l: 4194303, m: 4194303, h: 524287 }, SI = { 196: 1 }, Eat = { 245: 1, 3: 1, 35: 1 }, she = "range unbounded on this side", r0 = { 20: 1 }, ahe = { 20: 1, 14: 1 }, h6t = { 3: 1, 20: 1, 28: 1, 14: 1 }, xC = { 152: 1, 3: 1, 20: 1, 28: 1, 14: 1, 15: 1, 54: 1 }, Eq = { 3: 1, 4: 1, 5: 1, 165: 1 }, L7 = { 3: 1, 83: 1 }, Tat = { 20: 1, 14: 1, 21: 1 }, M7 = { 3: 1, 20: 1, 28: 1, 14: 1, 21: 1 }, ohe = { 20: 1, 14: 1, 21: 1, 84: 1 }, i0 = 461845907, s0 = -862048943, AI = { 3: 1, 6: 1, 4: 1, 5: 1, 165: 1 }, che = "expectedSize", kC = 1073741824, vy = "initialArraySize", se = { 3: 1, 6: 1, 4: 1, 9: 1, 5: 1 }, D7 = { 20: 1, 28: 1, 52: 1, 14: 1, 15: 1 }, _at = "arraySize", uhe = { 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 54: 1 }, _i = { 45: 1 }, Tq = { 365: 1 }, r2 = 1e-4, $a = -2147483648, lhe = "__noinit__", G0 = { 3: 1, 102: 1, 60: 1, 78: 1 }, LI = "com.google.gwt.core.client.impl", f6t = "String", d6t = "com.google.gwt.core.client", Cat = "anonymous", Sat = "fnStack", g6t = "Unknown", Ed = { 195: 1, 3: 1, 4: 1 }, jg = 1e3, Ns = 65535, Aat = "January", Lat = "February", Mat = "March", Dat = "April", ux = "May", Iat = "June", Oat = "July", Nat = "August", Pat = "September", Fat = "October", Bat = "November", Rat = "December", i2 = 1900, oi = { 48: 1, 3: 1, 4: 1 }, hhe = "Before Christ", fhe = "Anno Domini", jat = "Sunday", $at = "Monday", zat = "Tuesday", qat = "Wednesday", Hat = "Thursday", Vat = "Friday", Gat = "Saturday", p6t = "com.google.gwt.i18n.shared", dhe = "DateTimeFormat", Uat = "com.google.gwt.i18n.client", ghe = "DefaultDateTimeFormatInfo", phe = { 3: 1, 4: 1, 35: 1, 199: 1 }, lx = "com.google.gwt.json.client", yl = 4194303, U0 = 1048575, MI = 524288, hx = 4194304, mb = 17592186044416, _q = 1e9, DI = -17592186044416, b6t = "java.io", Wat = { 3: 1, 102: 1, 73: 1, 60: 1, 78: 1 }, bhe = { 3: 1, 289: 1, 78: 1 }, gw = 'For input string: "', ms = 1 / 0, Rs = -1 / 0, wy = 4096, Kat = { 3: 1, 4: 1, 364: 1 }, oo = 65536, II = 55296, Do = { 104: 1, 3: 1, 4: 1 }, Yat = 1e5, vhe = .3010299956639812, Eo = 4294967295, Xat = 4294967296, I7 = "0.0", Qat = { 42: 1 }, whe = { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 12: 1, 14: 1, 15: 1, 54: 1 }, mhe = { 3: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 54: 1 }, yhe = { 20: 1, 14: 1, 15: 1 }, Zat = { 3: 1, 62: 1 }, OI = { 182: 1 }, C4 = { 3: 1, 4: 1, 83: 1 }, v6t = { 3: 1, 4: 1, 20: 1, 28: 1, 14: 1, 53: 1, 21: 1 }, Jat = "delete", EC = 14901161193847656e-24, TC = 11102230246251565e-32, tot = 15525485, NI = 5960464477539063e-23, w6t = 16777216, Cq = 16777215, m6t = ", length: ", xhe = { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 54: 1 }, eot = { 3: 1, 35: 1, 22: 1, 297: 1 }, not = "java.util.function", _C = "java.util.logging", khe = { 3: 1, 4: 1, 5: 1, 842: 1 }, rot = "undefined", Us = "java.util.stream", y6t = { 525: 1, 670: 1 }, Sq = "fromIndex: ", Ehe = " > toIndex: ", x6t = ", toIndex: ", k6t = "Index: ", E6t = ", Size: ", O7 = "org.eclipse.elk.alg.common", Ui = { 62: 1 }, The = "org.eclipse.elk.alg.common.compaction", _he = "Scanline/EventHandler", a0 = "org.eclipse.elk.alg.common.compaction.oned", Che = "CNode belongs to another CGroup.", She = "ISpacingsHandler/1", iot = "The ", sot = " instance has been finished already.", Ahe = "The direction ", Lhe = " is not supported by the CGraph instance.", Mhe = "OneDimensionalCompactor", Dhe = "OneDimensionalCompactor/lambda$0$Type", Ihe = "Quadruplet", Ohe = "ScanlineConstraintCalculator", Nhe = "ScanlineConstraintCalculator/ConstraintsScanlineHandler", Phe = "ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type", Fhe = "ScanlineConstraintCalculator/Timestamp", Bhe = "ScanlineConstraintCalculator/lambda$0$Type", Td = { 169: 1, 45: 1 }, aot = "org.eclipse.elk.alg.common.compaction.options", hc = "org.eclipse.elk.core.data", T6t = "org.eclipse.elk.polyomino.traversalStrategy", _6t = "org.eclipse.elk.polyomino.lowLevelSort", C6t = "org.eclipse.elk.polyomino.highLevelSort", S6t = "org.eclipse.elk.polyomino.fill", jh = { 130: 1 }, oot = "polyomino", CC = "org.eclipse.elk.alg.common.networksimplex", o0 = { 177: 1, 3: 1, 4: 1 }, Rhe = "org.eclipse.elk.alg.common.nodespacing", yb = "org.eclipse.elk.alg.common.nodespacing.cellsystem", N7 = "CENTER", jhe = { 212: 1, 326: 1 }, A6t = { 3: 1, 4: 1, 5: 1, 595: 1 }, fx = "LEFT", dx = "RIGHT", L6t = "Vertical alignment cannot be null", M6t = "BOTTOM", Aq = "org.eclipse.elk.alg.common.nodespacing.internal", SC = "UNDEFINED", H1 = .01, PI = "org.eclipse.elk.alg.common.nodespacing.internal.algorithm", $he = "LabelPlacer/lambda$0$Type", zhe = "LabelPlacer/lambda$1$Type", qhe = "portRatioOrPosition", P7 = "org.eclipse.elk.alg.common.overlaps", cot = "DOWN", _d = "org.eclipse.elk.alg.common.polyomino", Lq = "NORTH", uot = "EAST", lot = "SOUTH", hot = "WEST", Mq = "org.eclipse.elk.alg.common.polyomino.structures", D6t = "Direction", fot = "Grid is only of size ", dot = ". Requested point (", got = ") is out of bounds.", Dq = " Given center based coordinates were (", FI = "org.eclipse.elk.graph.properties", Hhe = "IPropertyHolder", I6t = { 3: 1, 94: 1, 134: 1 }, gx = "org.eclipse.elk.alg.common.spore", Vhe = "org.eclipse.elk.alg.common.utils", xb = { 209: 1 }, S4 = "org.eclipse.elk.core", Ghe = "Connected Components Compaction", Uhe = "org.eclipse.elk.alg.disco", Iq = "org.eclipse.elk.alg.disco.graph", pot = "org.eclipse.elk.alg.disco.options", O6t = "CompactionStrategy", N6t = "org.eclipse.elk.disco.componentCompaction.strategy", P6t = "org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm", F6t = "org.eclipse.elk.disco.debug.discoGraph", B6t = "org.eclipse.elk.disco.debug.discoPolys", Whe = "componentCompaction", kb = "org.eclipse.elk.disco", bot = "org.eclipse.elk.spacing.componentComponent", vot = "org.eclipse.elk.edge.thickness", px = "org.eclipse.elk.aspectRatio", pw = "org.eclipse.elk.padding", A4 = "org.eclipse.elk.alg.disco.transform", wot = 1.5707963267948966, F7 = 17976931348623157e292, my = { 3: 1, 4: 1, 5: 1, 192: 1 }, R6t = { 3: 1, 6: 1, 4: 1, 5: 1, 106: 1, 120: 1 }, j6t = "org.eclipse.elk.alg.force", $6t = "ComponentsProcessor", Khe = "ComponentsProcessor/1", BI = "org.eclipse.elk.alg.force.graph", Yhe = "Component Layout", z6t = "org.eclipse.elk.alg.force.model", Oq = "org.eclipse.elk.force.model", q6t = "org.eclipse.elk.force.iterations", H6t = "org.eclipse.elk.force.repulsivePower", mot = "org.eclipse.elk.force.temperature", Cd = .001, yot = "org.eclipse.elk.force.repulsion", AC = "org.eclipse.elk.alg.force.options", B7 = 1.600000023841858, Xl = "org.eclipse.elk.force", RI = "org.eclipse.elk.priority", yy = "org.eclipse.elk.spacing.nodeNode", xot = "org.eclipse.elk.spacing.edgeLabel", Nq = "org.eclipse.elk.randomSeed", LC = "org.eclipse.elk.separateConnectedComponents", jI = "org.eclipse.elk.interactive", kot = "org.eclipse.elk.portConstraints", Pq = "org.eclipse.elk.edgeLabels.inline", MC = "org.eclipse.elk.omitNodeMicroLayout", bx = "org.eclipse.elk.nodeSize.options", L4 = "org.eclipse.elk.nodeSize.constraints", R7 = "org.eclipse.elk.nodeLabels.placement", j7 = "org.eclipse.elk.portLabels.placement", V6t = "origin", Xhe = "random", Qhe = "boundingBox.upLeft", Zhe = "boundingBox.lowRight", G6t = "org.eclipse.elk.stress.fixed", U6t = "org.eclipse.elk.stress.desiredEdgeLength", W6t = "org.eclipse.elk.stress.dimension", K6t = "org.eclipse.elk.stress.epsilon", Y6t = "org.eclipse.elk.stress.iterationLimit", s2 = "org.eclipse.elk.stress", Jhe = "ELK Stress", vx = "org.eclipse.elk.nodeSize.minimum", Fq = "org.eclipse.elk.alg.force.stress", tfe = "Layered layout", wx = "org.eclipse.elk.alg.layered", $I = "org.eclipse.elk.alg.layered.compaction.components", DC = "org.eclipse.elk.alg.layered.compaction.oned", Bq = "org.eclipse.elk.alg.layered.compaction.oned.algs", Eb = "org.eclipse.elk.alg.layered.compaction.recthull", Sd = "org.eclipse.elk.alg.layered.components", W0 = "NONE", Nc = { 3: 1, 6: 1, 4: 1, 9: 1, 5: 1, 122: 1 }, efe = { 3: 1, 6: 1, 4: 1, 5: 1, 141: 1, 106: 1, 120: 1 }, Rq = "org.eclipse.elk.alg.layered.compound", ys = { 51: 1 }, cu = "org.eclipse.elk.alg.layered.graph", Eot = " -> ", nfe = "Not supported by LGraph", X6t = "Port side is undefined", Tot = { 3: 1, 6: 1, 4: 1, 5: 1, 474: 1, 141: 1, 106: 1, 120: 1 }, $g = { 3: 1, 6: 1, 4: 1, 5: 1, 141: 1, 193: 1, 203: 1, 106: 1, 120: 1 }, rfe = { 3: 1, 6: 1, 4: 1, 5: 1, 141: 1, 1943: 1, 203: 1, 106: 1, 120: 1 }, ife = `([{"' 	\r
    `, sfe = `)]}"' 	\r
    `, afe = "The given string contains parts that cannot be parsed as numbers.", zI = "org.eclipse.elk.core.math", ofe = { 3: 1, 4: 1, 142: 1, 207: 1, 414: 1 }, cfe = { 3: 1, 4: 1, 116: 1, 207: 1, 414: 1 }, Xn = "org.eclipse.elk.layered", zg = "org.eclipse.elk.alg.layered.graph.transform", ufe = "ElkGraphImporter", lfe = "ElkGraphImporter/lambda$0$Type", hfe = "ElkGraphImporter/lambda$1$Type", ffe = "ElkGraphImporter/lambda$2$Type", dfe = "ElkGraphImporter/lambda$4$Type", gfe = "Node margin calculation", Vn = "org.eclipse.elk.alg.layered.intermediate", pfe = "ONE_SIDED_GREEDY_SWITCH", bfe = "TWO_SIDED_GREEDY_SWITCH", _ot = "No implementation is available for the layout processor ", Q6t = "IntermediateProcessorStrategy", Cot = "Node '", vfe = "FIRST_SEPARATE", wfe = "LAST_SEPARATE", mfe = "Odd port side processing", js = "org.eclipse.elk.alg.layered.intermediate.compaction", IC = "org.eclipse.elk.alg.layered.intermediate.greedyswitch", c0 = "org.eclipse.elk.alg.layered.p3order.counting", qI = { 225: 1 }, mx = "org.eclipse.elk.alg.layered.intermediate.loops", Ql = "org.eclipse.elk.alg.layered.intermediate.loops.ordering", a2 = "org.eclipse.elk.alg.layered.intermediate.loops.routing", OC = "org.eclipse.elk.alg.layered.intermediate.preserveorder", Ad = "org.eclipse.elk.alg.layered.intermediate.wrapping", Pc = "org.eclipse.elk.alg.layered.options", Sot = "INTERACTIVE", yfe = "DEPTH_FIRST", xfe = "EDGE_LENGTH", kfe = "SELF_LOOPS", Efe = "firstTryWithInitialOrder", Z6t = "org.eclipse.elk.layered.directionCongruency", J6t = "org.eclipse.elk.layered.feedbackEdges", jq = "org.eclipse.elk.layered.interactiveReferencePoint", txt = "org.eclipse.elk.layered.mergeEdges", ext = "org.eclipse.elk.layered.mergeHierarchyEdges", nxt = "org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides", rxt = "org.eclipse.elk.layered.portSortingStrategy", ixt = "org.eclipse.elk.layered.thoroughness", sxt = "org.eclipse.elk.layered.unnecessaryBendpoints", axt = "org.eclipse.elk.layered.generatePositionAndLayerIds", Aot = "org.eclipse.elk.layered.cycleBreaking.strategy", HI = "org.eclipse.elk.layered.layering.strategy", oxt = "org.eclipse.elk.layered.layering.layerConstraint", cxt = "org.eclipse.elk.layered.layering.layerChoiceConstraint", uxt = "org.eclipse.elk.layered.layering.layerId", Lot = "org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth", Mot = "org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor", Dot = "org.eclipse.elk.layered.layering.nodePromotion.strategy", Iot = "org.eclipse.elk.layered.layering.nodePromotion.maxIterations", Oot = "org.eclipse.elk.layered.layering.coffmanGraham.layerBound", NC = "org.eclipse.elk.layered.crossingMinimization.strategy", lxt = "org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder", Not = "org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness", Pot = "org.eclipse.elk.layered.crossingMinimization.semiInteractive", hxt = "org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint", fxt = "org.eclipse.elk.layered.crossingMinimization.positionId", dxt = "org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold", Fot = "org.eclipse.elk.layered.crossingMinimization.greedySwitch.type", $q = "org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type", M4 = "org.eclipse.elk.layered.nodePlacement.strategy", zq = "org.eclipse.elk.layered.nodePlacement.favorStraightEdges", Bot = "org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening", Rot = "org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment", jot = "org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening", $ot = "org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility", zot = "org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default", gxt = "org.eclipse.elk.layered.edgeRouting.selfLoopDistribution", pxt = "org.eclipse.elk.layered.edgeRouting.selfLoopOrdering", qq = "org.eclipse.elk.layered.edgeRouting.splines.mode", Hq = "org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor", qot = "org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth", bxt = "org.eclipse.elk.layered.spacing.baseValue", vxt = "org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers", wxt = "org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers", mxt = "org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers", yxt = "org.eclipse.elk.layered.priority.direction", xxt = "org.eclipse.elk.layered.priority.shortness", kxt = "org.eclipse.elk.layered.priority.straightness", Hot = "org.eclipse.elk.layered.compaction.connectedComponents", Ext = "org.eclipse.elk.layered.compaction.postCompaction.strategy", Txt = "org.eclipse.elk.layered.compaction.postCompaction.constraints", Vq = "org.eclipse.elk.layered.highDegreeNodes.treatment", Vot = "org.eclipse.elk.layered.highDegreeNodes.threshold", Got = "org.eclipse.elk.layered.highDegreeNodes.treeHeight", K0 = "org.eclipse.elk.layered.wrapping.strategy", Gq = "org.eclipse.elk.layered.wrapping.additionalEdgeSpacing", Uq = "org.eclipse.elk.layered.wrapping.correctionFactor", PC = "org.eclipse.elk.layered.wrapping.cutting.strategy", Uot = "org.eclipse.elk.layered.wrapping.cutting.cuts", Wot = "org.eclipse.elk.layered.wrapping.cutting.msd.freedom", Wq = "org.eclipse.elk.layered.wrapping.validify.strategy", Kq = "org.eclipse.elk.layered.wrapping.validify.forbiddenIndices", Yq = "org.eclipse.elk.layered.wrapping.multiEdge.improveCuts", Xq = "org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty", Kot = "org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges", _xt = "org.eclipse.elk.layered.edgeLabels.sideSelection", Cxt = "org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy", Qq = "org.eclipse.elk.layered.considerModelOrder.strategy", Sxt = "org.eclipse.elk.layered.considerModelOrder.noModelOrder", Yot = "org.eclipse.elk.layered.considerModelOrder.components", Axt = "org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy", Xot = "org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence", Qot = "org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence", Zot = "layering", Tfe = "layering.minWidth", _fe = "layering.nodePromotion", VI = "crossingMinimization", Zq = "org.eclipse.elk.hierarchyHandling", Cfe = "crossingMinimization.greedySwitch", Sfe = "nodePlacement", Afe = "nodePlacement.bk", Lfe = "edgeRouting", GI = "org.eclipse.elk.edgeRouting", V1 = "spacing", Lxt = "priority", Mxt = "compaction", Mfe = "compaction.postCompaction", Dfe = "Specifies whether and how post-process compaction is applied.", Dxt = "highDegreeNodes", Ixt = "wrapping", Ife = "wrapping.cutting", Ofe = "wrapping.validify", Oxt = "wrapping.multiEdge", Jot = "edgeLabels", UI = "considerModelOrder", Nxt = "org.eclipse.elk.spacing.commentComment", Pxt = "org.eclipse.elk.spacing.commentNode", Fxt = "org.eclipse.elk.spacing.edgeEdge", Bxt = "org.eclipse.elk.spacing.edgeNode", Rxt = "org.eclipse.elk.spacing.labelLabel", jxt = "org.eclipse.elk.spacing.labelPortHorizontal", $xt = "org.eclipse.elk.spacing.labelPortVertical", zxt = "org.eclipse.elk.spacing.labelNode", qxt = "org.eclipse.elk.spacing.nodeSelfLoop", Hxt = "org.eclipse.elk.spacing.portPort", Vxt = "org.eclipse.elk.spacing.individual", Gxt = "org.eclipse.elk.port.borderOffset", Uxt = "org.eclipse.elk.noLayout", Wxt = "org.eclipse.elk.port.side", WI = "org.eclipse.elk.debugMode", Kxt = "org.eclipse.elk.alignment", Yxt = "org.eclipse.elk.insideSelfLoops.activate", Xxt = "org.eclipse.elk.insideSelfLoops.yo", tct = "org.eclipse.elk.nodeSize.fixedGraphSize", Qxt = "org.eclipse.elk.direction", Zxt = "org.eclipse.elk.nodeLabels.padding", Jxt = "org.eclipse.elk.portLabels.nextToPortIfPossible", tkt = "org.eclipse.elk.portLabels.treatAsGroup", ekt = "org.eclipse.elk.portAlignment.default", nkt = "org.eclipse.elk.portAlignment.north", rkt = "org.eclipse.elk.portAlignment.south", ikt = "org.eclipse.elk.portAlignment.west", skt = "org.eclipse.elk.portAlignment.east", Jq = "org.eclipse.elk.contentAlignment", akt = "org.eclipse.elk.junctionPoints", okt = "org.eclipse.elk.edgeLabels.placement", ckt = "org.eclipse.elk.port.index", ukt = "org.eclipse.elk.commentBox", lkt = "org.eclipse.elk.hypernode", hkt = "org.eclipse.elk.port.anchor", ect = "org.eclipse.elk.partitioning.activate", nct = "org.eclipse.elk.partitioning.partition", tH = "org.eclipse.elk.position", fkt = "org.eclipse.elk.margins", dkt = "org.eclipse.elk.spacing.portsSurrounding", rct = "org.eclipse.elk.interactiveLayout", Fc = "org.eclipse.elk.core.util", gkt = { 3: 1, 4: 1, 5: 1, 593: 1 }, Nfe = "NETWORK_SIMPLEX", Qc = { 123: 1, 51: 1 }, eH = "org.eclipse.elk.alg.layered.p1cycles", xy = "org.eclipse.elk.alg.layered.p2layers", pkt = { 402: 1, 225: 1 }, Pfe = { 832: 1, 3: 1, 4: 1 }, Qu = "org.eclipse.elk.alg.layered.p3order", To = "org.eclipse.elk.alg.layered.p4nodes", Ffe = { 3: 1, 4: 1, 5: 1, 840: 1 }, Ld = 1e-5, o2 = "org.eclipse.elk.alg.layered.p4nodes.bk", ict = "org.eclipse.elk.alg.layered.p5edges", s1 = "org.eclipse.elk.alg.layered.p5edges.orthogonal", sct = "org.eclipse.elk.alg.layered.p5edges.orthogonal.direction", act = 1e-6, ky = "org.eclipse.elk.alg.layered.p5edges.splines", oct = .09999999999999998, nH = 1e-8, Bfe = 4.71238898038469, Rfe = 3.141592653589793, FC = "org.eclipse.elk.alg.mrtree", BC = "org.eclipse.elk.alg.mrtree.graph", yx = "org.eclipse.elk.alg.mrtree.intermediate", jfe = "Set neighbors in level", $fe = "DESCENDANTS", bkt = "org.eclipse.elk.mrtree.weighting", vkt = "org.eclipse.elk.mrtree.searchOrder", rH = "org.eclipse.elk.alg.mrtree.options", qg = "org.eclipse.elk.mrtree", zfe = "org.eclipse.elk.tree", wkt = "org.eclipse.elk.alg.radial", D4 = 6.283185307179586, mkt = 5e-324, qfe = "org.eclipse.elk.alg.radial.intermediate", cct = "org.eclipse.elk.alg.radial.intermediate.compaction", Hfe = { 3: 1, 4: 1, 5: 1, 106: 1 }, ykt = "org.eclipse.elk.alg.radial.intermediate.optimization", uct = "No implementation is available for the layout option ", RC = "org.eclipse.elk.alg.radial.options", xkt = "org.eclipse.elk.radial.orderId", kkt = "org.eclipse.elk.radial.radius", lct = "org.eclipse.elk.radial.compactor", hct = "org.eclipse.elk.radial.compactionStepSize", Ekt = "org.eclipse.elk.radial.sorter", Tkt = "org.eclipse.elk.radial.wedgeCriteria", _kt = "org.eclipse.elk.radial.optimizationCriteria", Md = "org.eclipse.elk.radial", Vfe = "org.eclipse.elk.alg.radial.p1position.wedge", Ckt = "org.eclipse.elk.alg.radial.sorting", Gfe = 5.497787143782138, Ufe = 3.9269908169872414, Wfe = 2.356194490192345, Kfe = "org.eclipse.elk.alg.rectpacking", iH = "org.eclipse.elk.alg.rectpacking.firstiteration", fct = "org.eclipse.elk.alg.rectpacking.options", Skt = "org.eclipse.elk.rectpacking.optimizationGoal", Akt = "org.eclipse.elk.rectpacking.lastPlaceShift", Lkt = "org.eclipse.elk.rectpacking.currentPosition", Mkt = "org.eclipse.elk.rectpacking.desiredPosition", Dkt = "org.eclipse.elk.rectpacking.onlyFirstIteration", Ikt = "org.eclipse.elk.rectpacking.rowCompaction", dct = "org.eclipse.elk.rectpacking.expandToAspectRatio", Okt = "org.eclipse.elk.rectpacking.targetWidth", sH = "org.eclipse.elk.expandNodes", $h = "org.eclipse.elk.rectpacking", KI = "org.eclipse.elk.alg.rectpacking.util", aH = "No implementation available for ", Ey = "org.eclipse.elk.alg.spore", Ty = "org.eclipse.elk.alg.spore.options", bw = "org.eclipse.elk.sporeCompaction", gct = "org.eclipse.elk.underlyingLayoutAlgorithm", Nkt = "org.eclipse.elk.processingOrder.treeConstruction", Pkt = "org.eclipse.elk.processingOrder.spanningTreeCostFunction", pct = "org.eclipse.elk.processingOrder.preferredRoot", bct = "org.eclipse.elk.processingOrder.rootSelection", vct = "org.eclipse.elk.structure.structureExtractionStrategy", Fkt = "org.eclipse.elk.compaction.compactionStrategy", Bkt = "org.eclipse.elk.compaction.orthogonal", Rkt = "org.eclipse.elk.overlapRemoval.maxIterations", jkt = "org.eclipse.elk.overlapRemoval.runScanline", wct = "processingOrder", Yfe = "overlapRemoval", $7 = "org.eclipse.elk.sporeOverlap", Xfe = "org.eclipse.elk.alg.spore.p1structure", mct = "org.eclipse.elk.alg.spore.p2processingorder", yct = "org.eclipse.elk.alg.spore.p3execution", Qfe = "Invalid index: ", z7 = "org.eclipse.elk.core.alg", I4 = { 331: 1 }, _y = { 288: 1 }, Zfe = "Make sure its type is registered with the ", $kt = " utility class.", q7 = "true", xct = "false", Jfe = "Couldn't clone property '", vw = .05, zh = "org.eclipse.elk.core.options", t1e = 1.2999999523162842, ww = "org.eclipse.elk.box", zkt = "org.eclipse.elk.box.packingMode", e1e = "org.eclipse.elk.algorithm", n1e = "org.eclipse.elk.resolvedAlgorithm", qkt = "org.eclipse.elk.bendPoints", y4n = "org.eclipse.elk.labelManager", r1e = "org.eclipse.elk.scaleFactor", i1e = "org.eclipse.elk.animate", s1e = "org.eclipse.elk.animTimeFactor", a1e = "org.eclipse.elk.layoutAncestors", o1e = "org.eclipse.elk.maxAnimTime", c1e = "org.eclipse.elk.minAnimTime", u1e = "org.eclipse.elk.progressBar", l1e = "org.eclipse.elk.validateGraph", h1e = "org.eclipse.elk.validateOptions", f1e = "org.eclipse.elk.zoomToFit", x4n = "org.eclipse.elk.font.name", d1e = "org.eclipse.elk.font.size", g1e = "org.eclipse.elk.edge.type", p1e = "partitioning", b1e = "nodeLabels", oH = "portAlignment", kct = "nodeSize", Ect = "port", Hkt = "portLabels", v1e = "insideSelfLoops", jC = "org.eclipse.elk.fixed", cH = "org.eclipse.elk.random", w1e = "port must have a parent node to calculate the port side", m1e = "The edge needs to have exactly one edge section. Found: ", $C = "org.eclipse.elk.core.util.adapters", xh = "org.eclipse.emf.ecore", O4 = "org.eclipse.elk.graph", y1e = "EMapPropertyHolder", x1e = "ElkBendPoint", k1e = "ElkGraphElement", E1e = "ElkConnectableShape", Vkt = "ElkEdge", T1e = "ElkEdgeSection", _1e = "EModelElement", C1e = "ENamedElement", Gkt = "ElkLabel", Ukt = "ElkNode", Wkt = "ElkPort", S1e = { 92: 1, 90: 1 }, xx = "org.eclipse.emf.common.notify.impl", c2 = "The feature '", zC = "' is not a valid changeable feature", A1e = "Expecting null", Tct = "' is not a valid feature", L1e = "The feature ID", M1e = " is not a valid feature ID", Ac = 32768, D1e = { 105: 1, 92: 1, 90: 1, 56: 1, 49: 1, 97: 1 }, Mn = "org.eclipse.emf.ecore.impl", Tb = "org.eclipse.elk.graph.impl", qC = "Recursive containment not allowed for ", H7 = "The datatype '", mw = "' is not a valid classifier", _ct = "The value '", N4 = { 190: 1, 3: 1, 4: 1 }, Cct = "The class '", V7 = "http://www.eclipse.org/elk/ElkGraph", Tf = 1024, Kkt = "property", HC = "value", Sct = "source", I1e = "properties", O1e = "identifier", Act = "height", Lct = "width", Mct = "parent", Dct = "text", Ict = "children", N1e = "hierarchical", Ykt = "sources", Oct = "targets", Xkt = "sections", uH = "bendPoints", Qkt = "outgoingShape", Zkt = "incomingShape", Jkt = "outgoingSections", t8t = "incomingSections", Ja = "org.eclipse.emf.common.util", e8t = "Severe implementation error in the Json to ElkGraph importer.", Dd = "id", Na = "org.eclipse.elk.graph.json", n8t = "Unhandled parameter types: ", P1e = "startPoint", F1e = "An edge must have at least one source and one target (edge id: '", G7 = "').", B1e = "Referenced edge section does not exist: ", R1e = " (edge id: '", r8t = "target", j1e = "sourcePoint", $1e = "targetPoint", lH = "group", ki = "name", z1e = "connectableShape cannot be null", q1e = "edge cannot be null", Nct = "Passed edge is not 'simple'.", hH = "org.eclipse.elk.graph.util", YI = "The 'no duplicates' constraint is violated", Pct = "targetIndex=", _b = ", size=", Fct = "sourceIndex=", Id = { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 54: 1, 67: 1, 63: 1, 58: 1 }, Bct = { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 47: 1, 15: 1, 54: 1, 67: 1, 63: 1, 58: 1, 588: 1 }, fH = "logging", H1e = "measureExecutionTime", V1e = "parser.parse.1", G1e = "parser.parse.2", dH = "parser.next.1", Rct = "parser.next.2", U1e = "parser.next.3", W1e = "parser.next.4", Cb = "parser.factor.1", i8t = "parser.factor.2", K1e = "parser.factor.3", Y1e = "parser.factor.4", X1e = "parser.factor.5", Q1e = "parser.factor.6", Z1e = "parser.atom.1", J1e = "parser.atom.2", tde = "parser.atom.3", s8t = "parser.atom.4", jct = "parser.atom.5", a8t = "parser.cc.1", gH = "parser.cc.2", ede = "parser.cc.3", nde = "parser.cc.5", o8t = "parser.cc.6", c8t = "parser.cc.7", $ct = "parser.cc.8", rde = "parser.ope.1", ide = "parser.ope.2", sde = "parser.ope.3", Hg = "parser.descape.1", ade = "parser.descape.2", ode = "parser.descape.3", cde = "parser.descape.4", ude = "parser.descape.5", kh = "parser.process.1", lde = "parser.quantifier.1", hde = "parser.quantifier.2", fde = "parser.quantifier.3", dde = "parser.quantifier.4", u8t = "parser.quantifier.5", gde = "org.eclipse.emf.common.notify", l8t = { 415: 1, 672: 1 }, pde = { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 67: 1, 58: 1 }, XI = { 366: 1, 143: 1 }, VC = "index=", zct = { 3: 1, 4: 1, 5: 1, 126: 1 }, bde = { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 54: 1, 67: 1, 58: 1 }, h8t = { 3: 1, 6: 1, 4: 1, 5: 1, 192: 1 }, vde = { 3: 1, 4: 1, 5: 1, 165: 1, 367: 1 }, wde = ";/?:@&=+$,", mde = "invalid authority: ", yde = "EAnnotation", xde = "ETypedElement", kde = "EStructuralFeature", Ede = "EAttribute", Tde = "EClassifier", _de = "EEnumLiteral", Cde = "EGenericType", Sde = "EOperation", Ade = "EParameter", Lde = "EReference", Mde = "ETypeParameter", Ji = "org.eclipse.emf.ecore.util", qct = { 76: 1 }, f8t = { 3: 1, 20: 1, 14: 1, 15: 1, 58: 1, 589: 1, 76: 1, 69: 1, 95: 1 }, Dde = "org.eclipse.emf.ecore.util.FeatureMap$Entry", Zu = 8192, Cy = 2048, GC = "byte", pH = "char", UC = "double", WC = "float", KC = "int", YC = "long", XC = "short", Ide = "java.lang.Object", P4 = { 3: 1, 4: 1, 5: 1, 247: 1 }, d8t = { 3: 1, 4: 1, 5: 1, 673: 1 }, Ode = { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 54: 1, 67: 1, 63: 1, 58: 1, 69: 1 }, tc = { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 54: 1, 67: 1, 63: 1, 58: 1, 76: 1, 69: 1, 95: 1 }, QI = "mixed", si = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData", qh = "kind", Nde = { 3: 1, 4: 1, 5: 1, 674: 1 }, g8t = { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 67: 1, 58: 1, 76: 1, 69: 1, 95: 1 }, bH = { 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 58: 1, 69: 1 }, vH = { 47: 1, 125: 1, 279: 1 }, wH = { 72: 1, 332: 1 }, mH = "The value of type '", yH = "' must be of type '", F4 = 1316, Hh = "http://www.eclipse.org/emf/2002/Ecore", xH = -32768, yw = "constraints", za = "baseType", Pde = "getEStructuralFeature", Fde = "getFeatureID", QC = "feature", Bde = "getOperationID", p8t = "operation", Rde = "defaultValue", jde = "eTypeParameters", $de = "isInstance", zde = "getEEnumLiteral", qde = "eContainingClass", vi = { 55: 1 }, Hde = { 3: 1, 4: 1, 5: 1, 119: 1 }, Vde = "org.eclipse.emf.ecore.resource", Gde = { 92: 1, 90: 1, 591: 1, 1935: 1 }, Hct = "org.eclipse.emf.ecore.resource.impl", b8t = "unspecified", ZI = "simple", kH = "attribute", Ude = "attributeWildcard", EH = "element", Vct = "elementWildcard", a1 = "collapse", Gct = "itemType", TH = "namespace", JI = "##targetNamespace", Vh = "whiteSpace", v8t = "wildcards", Sb = "http://www.eclipse.org/emf/2003/XMLType", Uct = "##any", U7 = "uninitialized", tO = "The multiplicity constraint is violated", _H = "org.eclipse.emf.ecore.xml.type", Wde = "ProcessingInstruction", Kde = "SimpleAnyType", Yde = "XMLTypeDocumentRoot", Ps = "org.eclipse.emf.ecore.xml.type.impl", eO = "INF", Xde = "processing", Qde = "ENTITIES_._base", w8t = "minLength", m8t = "ENTITY", CH = "NCName", Zde = "IDREFS_._base", y8t = "integer", Wct = "token", Kct = "pattern", Jde = "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", x8t = "\\i\\c*", t0e = "[\\i-[:]][\\c-[:]]*", e0e = "nonPositiveInteger", nO = "maxInclusive", k8t = "NMTOKEN", n0e = "NMTOKENS_._base", E8t = "nonNegativeInteger", rO = "minInclusive", r0e = "normalizedString", i0e = "unsignedByte", s0e = "unsignedInt", a0e = "18446744073709551615", o0e = "unsignedShort", c0e = "processingInstruction", Vg = "org.eclipse.emf.ecore.xml.type.internal", W7 = 1114111, u0e = "Internal Error: shorthands: \\u", ZC = "xml:isDigit", Yct = "xml:isWord", Xct = "xml:isSpace", Qct = "xml:isNameChar", Zct = "xml:isInitialNameChar", l0e = "09٠٩۰۹०९০৯੦੯૦૯୦୯௧௯౦౯೦೯൦൯๐๙໐໙༠༩", h0e = "AZazÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁΆΆΈΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆאתװײءغفيٱڷںھۀێېۓەەۥۦअहऽऽक़ॡঅঌএঐওনপরললশহড়ঢ়য়ৡৰৱਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹਖ਼ੜਫ਼ਫ਼ੲੴઅઋઍઍએઑઓનપરલળવહઽઽૠૠଅଌଏଐଓନପରଲଳଶହଽଽଡ଼ଢ଼ୟୡஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹఅఌఎఐఒనపళవహౠౡಅಌಎಐಒನಪಳವಹೞೞೠೡഅഌഎഐഒനപഹൠൡกฮะะาำเๅກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະະາຳຽຽເໄཀཇཉཀྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅟᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼιιῂῄῆῌῐΐῖΊῠῬῲῴῶῼΩΩKÅ℮℮ↀↂ〇〇〡〩ぁゔァヺㄅㄬ一龥가힣", f0e = "Private Use", Jct = "ASSIGNED", tut = "\0ÿĀſƀɏɐʯʰ˿̀ͯͰϿЀӿ԰֏֐׿؀ۿ܀ݏހ޿ऀॿঀ৿਀੿઀૿଀୿஀௿ఀ౿ಀ೿ഀൿ඀෿฀๿຀໿ༀ࿿က႟Ⴀჿᄀᇿሀ፿Ꭰ᏿᐀ᙿ ᚟ᚠ᛿ក៿᠀᢯Ḁỿἀ῿ ⁯⁰₟₠⃏⃐⃿℀⅏⅐↏←⇿∀⋿⌀⏿␀␿⑀⑟①⓿─╿▀▟■◿☀⛿✀➿⠀⣿⺀⻿⼀⿟⿰⿿　〿぀ゟ゠ヿ㄀ㄯ㄰㆏㆐㆟ㆠㆿ㈀㋿㌀㏿㐀䶵一鿿ꀀ꒏꒐꓏가힣豈﫿ﬀﭏﭐ﷿︠︯︰﹏﹐﹯ﹰ﻾\uFEFF\uFEFF＀￯", T8t = "UNASSIGNED", K7 = { 3: 1, 117: 1 }, d0e = "org.eclipse.emf.ecore.xml.type.util", SH = { 3: 1, 4: 1, 5: 1, 368: 1 }, _8t = "org.eclipse.xtext.xbase.lib", g0e = "Cannot add elements to a Range", p0e = "Cannot set elements in a Range", b0e = "Cannot remove elements from a Range", AH = "locale", LH = "default", MH = "user.agent", l, DH, eut; b.goog = b.goog || {}, b.goog.global = b.goog.global || b, W1n(), M(1, null, {}, C), l.Fb = function (e) { return hGt(this, e) }, l.Gb = function () { return this.gm }, l.Hb = function () { return Av(this) }, l.Ib = function () { var e; return Mp(bl(this)) + "@" + (e = ns(this) >>> 0, e.toString(16)) }, l.equals = function (t) { return this.Fb(t) }, l.hashCode = function () { return this.Hb() }, l.toString = function () { return this.Ib() }; var v0e, w0e, m0e; M(290, 1, { 290: 1, 2026: 1 }, nyt), l.le = function (e) { var n; return n = new nyt, n.i = 4, e > 1 ? n.c = AXt(this, e - 1) : n.c = this, n }, l.me = function () { return A0(this), this.b }, l.ne = function () { return Mp(this) }, l.oe = function () { return A0(this), this.k }, l.pe = function () { return (this.i & 4) != 0 }, l.qe = function () { return (this.i & 1) != 0 }, l.Ib = function () { return vmt(this) }, l.i = 0; var nr = N(lc, "Object", 1), C8t = N(lc, "Class", 290); M(1998, 1, _I), N(CI, "Optional", 1998), M(1170, 1998, _I, D), l.Fb = function (e) { return e === this }, l.Hb = function () { return 2040732332 }, l.Ib = function () { return "Optional.absent()" }, l.Jb = function (e) { return zr(e), _T(), nut }; var nut; N(CI, "Absent", 1170), M(628, 1, {}, Ktt), N(CI, "Joiner", 628); var k4n = ls(CI, "Predicate"); M(582, 1, { 169: 1, 582: 1, 3: 1, 45: 1 }, lT), l.Mb = function (e) { return gne(this, e) }, l.Lb = function (e) { return gne(this, e) }, l.Fb = function (e) { var n; return Et(e, 582) ? (n = u(e, 582), Y4t(this.a, n.a)) : !1 }, l.Hb = function () { return oyt(this.a) + 306654252 }, l.Ib = function () { return Odn(this.a) }, N(CI, "Predicates/AndPredicate", 582), M(408, 1998, { 408: 1, 3: 1 }, jk), l.Fb = function (e) { var n; return Et(e, 408) ? (n = u(e, 408), Ni(this.a, n.a)) : !1 }, l.Hb = function () { return 1502476572 + ns(this.a) }, l.Ib = function () { return the + this.a + ")" }, l.Jb = function (e) { return new jk(Kj(e.Kb(this.a), "the Function passed to Optional.transform() must not return null.")) }, N(CI, "Present", 408), M(198, 1, S7), l.Nb = function (e) { Da(this, e) }, l.Qb = function () { eqt() }, N(Ye, "UnmodifiableIterator", 198), M(1978, 198, A7), l.Qb = function () { eqt() }, l.Rb = function (e) { throw et(new Gr) }, l.Wb = function (e) { throw et(new Gr) }, N(Ye, "UnmodifiableListIterator", 1978), M(386, 1978, A7), l.Ob = function () { return this.c < this.d }, l.Sb = function () { return this.c > 0 }, l.Pb = function () { if (this.c >= this.d) throw et(new _c); return this.Xb(this.c++) }, l.Tb = function () { return this.c }, l.Ub = function () { if (this.c <= 0) throw et(new _c); return this.Xb(--this.c) }, l.Vb = function () { return this.c - 1 }, l.c = 0, l.d = 0, N(Ye, "AbstractIndexedListIterator", 386), M(699, 198, S7), l.Ob = function () { return Wrt(this) }, l.Pb = function () { return hmt(this) }, l.e = 1, N(Ye, "AbstractIterator", 699), M(1986, 1, { 224: 1 }), l.Zb = function () { var e; return e = this.f, e || (this.f = this.ac()) }, l.Fb = function (e) { return hit(this, e) }, l.Hb = function () { return ns(this.Zb()) }, l.dc = function () { return this.gc() == 0 }, l.ec = function () { return N6(this) }, l.Ib = function () { return Jo(this.Zb()) }, N(Ye, "AbstractMultimap", 1986), M(726, 1986, wb), l.$b = function () { q$(this) }, l._b = function (e) { return yqt(this, e) }, l.ac = function () { return new n8(this, this.c) }, l.ic = function (e) { return this.hc() }, l.bc = function () { return new W3(this, this.c) }, l.jc = function () { return this.mc(this.hc()) }, l.kc = function () { return new Rzt(this) }, l.lc = function () { return wst(this.c.vc().Nc(), new B, 64, this.d) }, l.cc = function (e) { return ji(this, e) }, l.fc = function (e) { return jD(this, e) }, l.gc = function () { return this.d }, l.mc = function (e) { return pn(), new T(e) }, l.nc = function () { return new Bzt(this) }, l.oc = function () { return wst(this.c.Cc().Nc(), new P, 64, this.d) }, l.pc = function (e, n) { return new k$(this, e, n, null) }, l.d = 0, N(Ye, "AbstractMapBasedMultimap", 726), M(1631, 726, wb), l.hc = function () { return new iu(this.a) }, l.jc = function () { return pn(), pn(), wo }, l.cc = function (e) { return u(ji(this, e), 15) }, l.fc = function (e) { return u(jD(this, e), 15) }, l.Zb = function () { return j6(this) }, l.Fb = function (e) { return hit(this, e) }, l.qc = function (e) { return u(ji(this, e), 15) }, l.rc = function (e) { return u(jD(this, e), 15) }, l.mc = function (e) { return ZM(u(e, 15)) }, l.pc = function (e, n) { return OQt(this, e, u(n, 15), null) }, N(Ye, "AbstractListMultimap", 1631), M(732, 1, va), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return this.c.Ob() || this.e.Ob() }, l.Pb = function () { var e; return this.e.Ob() || (e = u(this.c.Pb(), 42), this.b = e.cd(), this.a = u(e.dd(), 14), this.e = this.a.Kc()), this.sc(this.b, this.e.Pb()) }, l.Qb = function () { this.e.Qb(), this.a.dc() && this.c.Qb(), --this.d.d }, N(Ye, "AbstractMapBasedMultimap/Itr", 732), M(1099, 732, va, Bzt), l.sc = function (e, n) { return n }, N(Ye, "AbstractMapBasedMultimap/1", 1099), M(1100, 1, {}, P), l.Kb = function (e) { return u(e, 14).Nc() }, N(Ye, "AbstractMapBasedMultimap/1methodref$spliterator$Type", 1100), M(1101, 732, va, Rzt), l.sc = function (e, n) { return new Ev(e, n) }, N(Ye, "AbstractMapBasedMultimap/2", 1101); var S8t = ls(_r, "Map"); M(1967, 1, dw), l.wc = function (e) { $_(this, e) }, l.yc = function (e, n, r) { return Ait(this, e, n, r) }, l.$b = function () { this.vc().$b() }, l.tc = function (e) { return est(this, e) }, l._b = function (e) { return !!Z3t(this, e, !1) }, l.uc = function (e) { var n, r, s; for (r = this.vc().Kc(); r.Ob();)if (n = u(r.Pb(), 42), s = n.dd(), qt(e) === qt(s) || e != null && Ni(e, s)) return !0; return !1 }, l.Fb = function (e) { var n, r, s; if (e === this) return !0; if (!Et(e, 83) || (s = u(e, 83), this.gc() != s.gc())) return !1; for (r = s.vc().Kc(); r.Ob();)if (n = u(r.Pb(), 42), !this.tc(n)) return !1; return !0 }, l.xc = function (e) { return gc(Z3t(this, e, !1)) }, l.Hb = function () { return Qmt(this.vc()) }, l.dc = function () { return this.gc() == 0 }, l.ec = function () { return new km(this) }, l.zc = function (e, n) { throw et(new mg("Put not supported on this map")) }, l.Ac = function (e) { j_(this, e) }, l.Bc = function (e) { return gc(Z3t(this, e, !0)) }, l.gc = function () { return this.vc().gc() }, l.Ib = function () { return bse(this) }, l.Cc = function () { return new T1(this) }, N(_r, "AbstractMap", 1967), M(1987, 1967, dw), l.bc = function () { return new pR(this) }, l.vc = function () { return IKt(this) }, l.ec = function () { var e; return e = this.g, e || (this.g = this.bc()) }, l.Cc = function () { var e; return e = this.i, e || (this.i = new fHt(this)) }, N(Ye, "Maps/ViewCachingAbstractMap", 1987), M(389, 1987, dw, n8), l.xc = function (e) { return psn(this, e) }, l.Bc = function (e) { return Don(this, e) }, l.$b = function () { this.d == this.e.c ? this.e.$b() : Tj(new mvt(this)) }, l._b = function (e) { return Wne(this.d, e) }, l.Ec = function () { return new $k(this) }, l.Dc = function () { return this.Ec() }, l.Fb = function (e) { return this === e || Ni(this.d, e) }, l.Hb = function () { return ns(this.d) }, l.ec = function () { return this.e.ec() }, l.gc = function () { return this.d.gc() }, l.Ib = function () { return Jo(this.d) }, N(Ye, "AbstractMapBasedMultimap/AsMap", 389); var G1 = ls(lc, "Iterable"); M(28, 1, by), l.Jc = function (e) { Oa(this, e) }, l.Lc = function () { return this.Oc() }, l.Nc = function () { return new Cn(this, 0) }, l.Oc = function () { return new kn(null, this.Nc()) }, l.Fc = function (e) { throw et(new mg("Add not supported on this collection")) }, l.Gc = function (e) { return io(this, e) }, l.$b = function () { iwt(this) }, l.Hc = function (e) { return ey(this, e, !1) }, l.Ic = function (e) { return MD(this, e) }, l.dc = function () { return this.gc() == 0 }, l.Mc = function (e) { return ey(this, e, !0) }, l.Pc = function () { return Ivt(this) }, l.Qc = function (e) { return YD(this, e) }, l.Ib = function () { return Jp(this) }, N(_r, "AbstractCollection", 28); var Gh = ls(_r, "Set"); M(q1, 28, Xu), l.Nc = function () { return new Cn(this, 1) }, l.Fb = function (e) { return $re(this, e) }, l.Hb = function () { return Qmt(this) }, N(_r, "AbstractSet", q1), M(1970, q1, Xu), N(Ye, "Sets/ImprovedAbstractSet", 1970), M(1971, 1970, Xu), l.$b = function () { this.Rc().$b() }, l.Hc = function (e) { return xre(this, e) }, l.dc = function () { return this.Rc().dc() }, l.Mc = function (e) { var n; return this.Hc(e) ? (n = u(e, 42), this.Rc().ec().Mc(n.cd())) : !1 }, l.gc = function () { return this.Rc().gc() }, N(Ye, "Maps/EntrySet", 1971), M(1097, 1971, Xu, $k), l.Hc = function (e) { return Cyt(this.a.d.vc(), e) }, l.Kc = function () { return new mvt(this.a) }, l.Rc = function () { return this.a }, l.Mc = function (e) { var n; return Cyt(this.a.d.vc(), e) ? (n = u(e, 42), ein(this.a.e, n.cd()), !0) : !1 }, l.Nc = function () { return VM(this.a.d.vc().Nc(), new FB(this.a)) }, N(Ye, "AbstractMapBasedMultimap/AsMap/AsMapEntries", 1097), M(1098, 1, {}, FB), l.Kb = function (e) { return kZt(this.a, u(e, 42)) }, N(Ye, "AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type", 1098), M(730, 1, va, mvt), l.Nb = function (e) { Da(this, e) }, l.Pb = function () { var e; return e = u(this.b.Pb(), 42), this.a = u(e.dd(), 14), kZt(this.c, e) }, l.Ob = function () { return this.b.Ob() }, l.Qb = function () { n4(!!this.a), this.b.Qb(), this.c.e.d -= this.a.gc(), this.a.$b(), this.a = null }, N(Ye, "AbstractMapBasedMultimap/AsMap/AsMapIterator", 730), M(532, 1970, Xu, pR), l.$b = function () { this.b.$b() }, l.Hc = function (e) { return this.b._b(e) }, l.Jc = function (e) { zr(e), this.b.wc(new ntt(e)) }, l.dc = function () { return this.b.dc() }, l.Kc = function () { return new CT(this.b.vc().Kc()) }, l.Mc = function (e) { return this.b._b(e) ? (this.b.Bc(e), !0) : !1 }, l.gc = function () { return this.b.gc() }, N(Ye, "Maps/KeySet", 532), M(318, 532, Xu, W3), l.$b = function () { var e; Tj((e = this.b.vc().Kc(), new Gpt(this, e))) }, l.Ic = function (e) { return this.b.ec().Ic(e) }, l.Fb = function (e) { return this === e || Ni(this.b.ec(), e) }, l.Hb = function () { return ns(this.b.ec()) }, l.Kc = function () { var e; return e = this.b.vc().Kc(), new Gpt(this, e) }, l.Mc = function (e) { var n, r; return r = 0, n = u(this.b.Bc(e), 14), n && (r = n.gc(), n.$b(), this.a.d -= r), r > 0 }, l.Nc = function () { return this.b.ec().Nc() }, N(Ye, "AbstractMapBasedMultimap/KeySet", 318), M(731, 1, va, Gpt), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return this.c.Ob() }, l.Pb = function () { return this.a = u(this.c.Pb(), 42), this.a.cd() }, l.Qb = function () { var e; n4(!!this.a), e = u(this.a.dd(), 14), this.c.Qb(), this.b.a.d -= e.gc(), e.$b(), this.a = null }, N(Ye, "AbstractMapBasedMultimap/KeySet/1", 731), M(491, 389, { 83: 1, 161: 1 }, BM), l.bc = function () { return this.Sc() }, l.ec = function () { return this.Tc() }, l.Sc = function () { return new dM(this.c, this.Uc()) }, l.Tc = function () { var e; return e = this.b, e || (this.b = this.Sc()) }, l.Uc = function () { return u(this.d, 161) }, N(Ye, "AbstractMapBasedMultimap/SortedAsMap", 491), M(542, 491, ehe, hj), l.bc = function () { return new e8(this.a, u(u(this.d, 161), 171)) }, l.Sc = function () { return new e8(this.a, u(u(this.d, 161), 171)) }, l.ec = function () { var e; return e = this.b, u(e || (this.b = new e8(this.a, u(u(this.d, 161), 171))), 271) }, l.Tc = function () { var e; return e = this.b, u(e || (this.b = new e8(this.a, u(u(this.d, 161), 171))), 271) }, l.Uc = function () { return u(u(this.d, 161), 171) }, N(Ye, "AbstractMapBasedMultimap/NavigableAsMap", 542), M(490, 318, nhe, dM), l.Nc = function () { return this.b.ec().Nc() }, N(Ye, "AbstractMapBasedMultimap/SortedKeySet", 490), M(388, 490, l6t, e8), N(Ye, "AbstractMapBasedMultimap/NavigableKeySet", 388), M(541, 28, by, k$), l.Fc = function (e) { var n, r; return vl(this), r = this.d.dc(), n = this.d.Fc(e), n && (++this.f.d, r && zM(this)), n }, l.Gc = function (e) { var n, r, s; return e.dc() ? !1 : (s = (vl(this), this.d.gc()), n = this.d.Gc(e), n && (r = this.d.gc(), this.f.d += r - s, s == 0 && zM(this)), n) }, l.$b = function () { var e; e = (vl(this), this.d.gc()), e != 0 && (this.d.$b(), this.f.d -= e, Lj(this)) }, l.Hc = function (e) { return vl(this), this.d.Hc(e) }, l.Ic = function (e) { return vl(this), this.d.Ic(e) }, l.Fb = function (e) { return e === this ? !0 : (vl(this), Ni(this.d, e)) }, l.Hb = function () { return vl(this), ns(this.d) }, l.Kc = function () { return vl(this), new svt(this) }, l.Mc = function (e) { var n; return vl(this), n = this.d.Mc(e), n && (--this.f.d, Lj(this)), n }, l.gc = function () { return XVt(this) }, l.Nc = function () { return vl(this), this.d.Nc() }, l.Ib = function () { return vl(this), Jo(this.d) }, N(Ye, "AbstractMapBasedMultimap/WrappedCollection", 541); var Eh = ls(_r, "List"); M(728, 541, { 20: 1, 28: 1, 14: 1, 15: 1 }, Nvt), l.ad = function (e) { e4(this, e) }, l.Nc = function () { return vl(this), this.d.Nc() }, l.Vc = function (e, n) { var r; vl(this), r = this.d.dc(), u(this.d, 15).Vc(e, n), ++this.a.d, r && zM(this) }, l.Wc = function (e, n) { var r, s, o; return n.dc() ? !1 : (o = (vl(this), this.d.gc()), r = u(this.d, 15).Wc(e, n), r && (s = this.d.gc(), this.a.d += s - o, o == 0 && zM(this)), r) }, l.Xb = function (e) { return vl(this), u(this.d, 15).Xb(e) }, l.Xc = function (e) { return vl(this), u(this.d, 15).Xc(e) }, l.Yc = function () { return vl(this), new LGt(this) }, l.Zc = function (e) { return vl(this), new qYt(this, e) }, l.$c = function (e) { var n; return vl(this), n = u(this.d, 15).$c(e), --this.a.d, Lj(this), n }, l._c = function (e, n) { return vl(this), u(this.d, 15)._c(e, n) }, l.bd = function (e, n) { return vl(this), OQt(this.a, this.e, u(this.d, 15).bd(e, n), this.b ? this.b : this) }, N(Ye, "AbstractMapBasedMultimap/WrappedList", 728), M(1096, 728, { 20: 1, 28: 1, 14: 1, 15: 1, 54: 1 }, mUt), N(Ye, "AbstractMapBasedMultimap/RandomAccessWrappedList", 1096), M(620, 1, va, svt), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return E8(this), this.b.Ob() }, l.Pb = function () { return E8(this), this.b.Pb() }, l.Qb = function () { nUt(this) }, N(Ye, "AbstractMapBasedMultimap/WrappedCollection/WrappedIterator", 620), M(729, 620, n0, LGt, qYt), l.Qb = function () { nUt(this) }, l.Rb = function (e) { var n; n = XVt(this.a) == 0, (E8(this), u(this.b, 125)).Rb(e), ++this.a.a.d, n && zM(this.a) }, l.Sb = function () { return (E8(this), u(this.b, 125)).Sb() }, l.Tb = function () { return (E8(this), u(this.b, 125)).Tb() }, l.Ub = function () { return (E8(this), u(this.b, 125)).Ub() }, l.Vb = function () { return (E8(this), u(this.b, 125)).Vb() }, l.Wb = function (e) { (E8(this), u(this.b, 125)).Wb(e) }, N(Ye, "AbstractMapBasedMultimap/WrappedList/WrappedListIterator", 729), M(727, 541, nhe, Cbt), l.Nc = function () { return vl(this), this.d.Nc() }, N(Ye, "AbstractMapBasedMultimap/WrappedSortedSet", 727), M(1095, 727, l6t, xGt), N(Ye, "AbstractMapBasedMultimap/WrappedNavigableSet", 1095), M(1094, 541, Xu, OUt), l.Nc = function () { return vl(this), this.d.Nc() }, N(Ye, "AbstractMapBasedMultimap/WrappedSet", 1094), M(1103, 1, {}, B), l.Kb = function (e) { return oin(u(e, 42)) }, N(Ye, "AbstractMapBasedMultimap/lambda$1$Type", 1103), M(1102, 1, {}, HJ), l.Kb = function (e) { return new Ev(this.a, e) }, N(Ye, "AbstractMapBasedMultimap/lambda$2$Type", 1102); var Ab = ls(_r, "Map/Entry"); M(345, 1, xq), l.Fb = function (e) { var n; return Et(e, 42) ? (n = u(e, 42), wd(this.cd(), n.cd()) && wd(this.dd(), n.dd())) : !1 }, l.Hb = function () { var e, n; return e = this.cd(), n = this.dd(), (e == null ? 0 : ns(e)) ^ (n == null ? 0 : ns(n)) }, l.ed = function (e) { throw et(new Gr) }, l.Ib = function () { return this.cd() + "=" + this.dd() }, N(Ye, rhe, 345), M(1988, 28, by), l.$b = function () { this.fd().$b() }, l.Hc = function (e) { var n; return Et(e, 42) ? (n = u(e, 42), znn(this.fd(), n.cd(), n.dd())) : !1 }, l.Mc = function (e) { var n; return Et(e, 42) ? (n = u(e, 42), dQt(this.fd(), n.cd(), n.dd())) : !1 }, l.gc = function () { return this.fd().d }, N(Ye, "Multimaps/Entries", 1988), M(733, 1988, by, XL), l.Kc = function () { return this.a.kc() }, l.fd = function () { return this.a }, l.Nc = function () { return this.a.lc() }, N(Ye, "AbstractMultimap/Entries", 733), M(734, 733, Xu, xpt), l.Nc = function () { return this.a.lc() }, l.Fb = function (e) { return b4t(this, e) }, l.Hb = function () { return gee(this) }, N(Ye, "AbstractMultimap/EntrySet", 734), M(735, 28, by, M3), l.$b = function () { this.a.$b() }, l.Hc = function (e) { return _on(this.a, e) }, l.Kc = function () { return this.a.nc() }, l.gc = function () { return this.a.d }, l.Nc = function () { return this.a.oc() }, N(Ye, "AbstractMultimap/Values", 735), M(1989, 28, { 835: 1, 20: 1, 28: 1, 14: 1 }), l.Jc = function (e) { zr(e), Y3(this).Jc(new ett(e)) }, l.Nc = function () { var e; return e = Y3(this).Nc(), wst(e, new mt, 64 | e.qd() & 1296, this.a.d) }, l.Fc = function (e) { return Mpt(), !0 }, l.Gc = function (e) { return zr(this), zr(e), Et(e, 543) ? Unn(u(e, 835)) : !e.dc() && Rrt(this, e.Kc()) }, l.Hc = function (e) { var n; return n = u(ty(j6(this.a), e), 14), (n ? n.gc() : 0) > 0 }, l.Fb = function (e) { return jgn(this, e) }, l.Hb = function () { return ns(Y3(this)) }, l.dc = function () { return Y3(this).dc() }, l.Mc = function (e) { return Oae(this, e, 1) > 0 }, l.Ib = function () { return Jo(Y3(this)) }, N(Ye, "AbstractMultiset", 1989), M(1991, 1970, Xu), l.$b = function () { q$(this.a.a) }, l.Hc = function (e) { var n, r; return Et(e, 492) ? (r = u(e, 416), u(r.a.dd(), 14).gc() <= 0 ? !1 : (n = HXt(this.a, r.a.cd()), n == u(r.a.dd(), 14).gc())) : !1 }, l.Mc = function (e) { var n, r, s, o; return Et(e, 492) && (r = u(e, 416), n = r.a.cd(), s = u(r.a.dd(), 14).gc(), s != 0) ? (o = this.a, S0n(o, n, s)) : !1 }, N(Ye, "Multisets/EntrySet", 1991), M(1109, 1991, Xu, QL), l.Kc = function () { return new Uzt(IKt(j6(this.a.a)).Kc()) }, l.gc = function () { return j6(this.a.a).gc() }, N(Ye, "AbstractMultiset/EntrySet", 1109), M(619, 726, wb), l.hc = function () { return this.gd() }, l.jc = function () { return this.hd() }, l.cc = function (e) { return this.jd(e) }, l.fc = function (e) { return this.kd(e) }, l.Zb = function () { var e; return e = this.f, e || (this.f = this.ac()) }, l.hd = function () { return pn(), pn(), BH }, l.Fb = function (e) { return hit(this, e) }, l.jd = function (e) { return u(ji(this, e), 21) }, l.kd = function (e) { return u(jD(this, e), 21) }, l.mc = function (e) { return pn(), new Qk(u(e, 21)) }, l.pc = function (e, n) { return new OUt(this, e, u(n, 21)) }, N(Ye, "AbstractSetMultimap", 619), M(1657, 619, wb), l.hc = function () { return new Dp(this.b) }, l.gd = function () { return new Dp(this.b) }, l.jc = function () { return Yvt(new Dp(this.b)) }, l.hd = function () { return Yvt(new Dp(this.b)) }, l.cc = function (e) { return u(u(ji(this, e), 21), 84) }, l.jd = function (e) { return u(u(ji(this, e), 21), 84) }, l.fc = function (e) { return u(u(jD(this, e), 21), 84) }, l.kd = function (e) { return u(u(jD(this, e), 21), 84) }, l.mc = function (e) { return Et(e, 271) ? Yvt(u(e, 271)) : (pn(), new sbt(u(e, 84))) }, l.Zb = function () { var e; return e = this.f, e || (this.f = Et(this.c, 171) ? new hj(this, u(this.c, 171)) : Et(this.c, 161) ? new BM(this, u(this.c, 161)) : new n8(this, this.c)) }, l.pc = function (e, n) { return Et(n, 271) ? new xGt(this, e, u(n, 271)) : new Cbt(this, e, u(n, 84)) }, N(Ye, "AbstractSortedSetMultimap", 1657), M(1658, 1657, wb), l.Zb = function () { var e; return e = this.f, u(u(e || (this.f = Et(this.c, 171) ? new hj(this, u(this.c, 171)) : Et(this.c, 161) ? new BM(this, u(this.c, 161)) : new n8(this, this.c)), 161), 171) }, l.ec = function () { var e; return e = this.i, u(u(e || (this.i = Et(this.c, 171) ? new e8(this, u(this.c, 171)) : Et(this.c, 161) ? new dM(this, u(this.c, 161)) : new W3(this, this.c)), 84), 271) }, l.bc = function () { return Et(this.c, 171) ? new e8(this, u(this.c, 171)) : Et(this.c, 161) ? new dM(this, u(this.c, 161)) : new W3(this, this.c) }, N(Ye, "AbstractSortedKeySortedSetMultimap", 1658), M(2010, 1, { 1947: 1 }), l.Fb = function (e) { return bfn(this, e) }, l.Hb = function () { var e; return Qmt((e = this.g, e || (this.g = new hT(this)))) }, l.Ib = function () { var e; return bse((e = this.f, e || (this.f = new Q2t(this)))) }, N(Ye, "AbstractTable", 2010), M(665, q1, Xu, hT), l.$b = function () { nqt() }, l.Hc = function (e) { var n, r; return Et(e, 468) ? (n = u(e, 682), r = u(ty(eYt(this.a), Np(n.c.e, n.b)), 83), !!r && Cyt(r.vc(), new Ev(Np(n.c.c, n.a), U6(n.c, n.b, n.a)))) : !1 }, l.Kc = function () { return ten(this.a) }, l.Mc = function (e) { var n, r; return Et(e, 468) ? (n = u(e, 682), r = u(ty(eYt(this.a), Np(n.c.e, n.b)), 83), !!r && Zon(r.vc(), new Ev(Np(n.c.c, n.a), U6(n.c, n.b, n.a)))) : !1 }, l.gc = function () { return dKt(this.a) }, l.Nc = function () { return Ynn(this.a) }, N(Ye, "AbstractTable/CellSet", 665), M(1928, 28, by, VJ), l.$b = function () { nqt() }, l.Hc = function (e) { return o1n(this.a, e) }, l.Kc = function () { return een(this.a) }, l.gc = function () { return dKt(this.a) }, l.Nc = function () { return bQt(this.a) }, N(Ye, "AbstractTable/Values", 1928), M(1632, 1631, wb), N(Ye, "ArrayListMultimapGwtSerializationDependencies", 1632), M(513, 1632, wb, Wtt, ywt), l.hc = function () { return new iu(this.a) }, l.a = 0, N(Ye, "ArrayListMultimap", 513), M(664, 2010, { 664: 1, 1947: 1, 3: 1 }, Hae), N(Ye, "ArrayTable", 664), M(1924, 386, A7, XGt), l.Xb = function (e) { return new eyt(this.a, e) }, N(Ye, "ArrayTable/1", 1924), M(1925, 1, {}, PB), l.ld = function (e) { return new eyt(this.a, e) }, N(Ye, "ArrayTable/1methodref$getCell$Type", 1925), M(2011, 1, { 682: 1 }), l.Fb = function (e) { var n; return e === this ? !0 : Et(e, 468) ? (n = u(e, 682), wd(Np(this.c.e, this.b), Np(n.c.e, n.b)) && wd(Np(this.c.c, this.a), Np(n.c.c, n.a)) && wd(U6(this.c, this.b, this.a), U6(n.c, n.b, n.a))) : !1 }, l.Hb = function () { return cz(ct(ot(nr, 1), De, 1, 5, [Np(this.c.e, this.b), Np(this.c.c, this.a), U6(this.c, this.b, this.a)])) }, l.Ib = function () { return "(" + Np(this.c.e, this.b) + "," + Np(this.c.c, this.a) + ")=" + U6(this.c, this.b, this.a) }, N(Ye, "Tables/AbstractCell", 2011), M(468, 2011, { 468: 1, 682: 1 }, eyt), l.a = 0, l.b = 0, l.d = 0, N(Ye, "ArrayTable/2", 468), M(1927, 1, {}, a6), l.ld = function (e) { return SJt(this.a, e) }, N(Ye, "ArrayTable/2methodref$getValue$Type", 1927), M(1926, 386, A7, QGt), l.Xb = function (e) { return SJt(this.a, e) }, N(Ye, "ArrayTable/3", 1926), M(1979, 1967, dw), l.$b = function () { Tj(this.kc()) }, l.vc = function () { return new c6(this) }, l.lc = function () { return new LYt(this.kc(), this.gc()) }, N(Ye, "Maps/IteratorBasedAbstractMap", 1979), M(828, 1979, dw), l.$b = function () { throw et(new Gr) }, l._b = function (e) { return xqt(this.c, e) }, l.kc = function () { return new ZGt(this, this.c.b.c.gc()) }, l.lc = function () { return gnt(this.c.b.c.gc(), 16, new lv(this)) }, l.xc = function (e) { var n; return n = u(f_(this.c, e), 19), n ? this.nd(n.a) : null }, l.dc = function () { return this.c.b.c.dc() }, l.ec = function () { return knt(this.c) }, l.zc = function (e, n) { var r; if (r = u(f_(this.c, e), 19), !r) throw et(new Bn(this.md() + " " + e + " not in " + knt(this.c))); return this.od(r.a, n) }, l.Bc = function (e) { throw et(new Gr) }, l.gc = function () { return this.c.b.c.gc() }, N(Ye, "ArrayTable/ArrayMap", 828), M(1923, 1, {}, lv), l.ld = function (e) { return rYt(this.a, e) }, N(Ye, "ArrayTable/ArrayMap/0methodref$getEntry$Type", 1923), M(1921, 345, xq, eHt), l.cd = function () { return bYe(this.a, this.b) }, l.dd = function () { return this.a.nd(this.b) }, l.ed = function (e) { return this.a.od(this.b, e) }, l.b = 0, N(Ye, "ArrayTable/ArrayMap/1", 1921), M(1922, 386, A7, ZGt), l.Xb = function (e) { return rYt(this.a, e) }, N(Ye, "ArrayTable/ArrayMap/2", 1922), M(1920, 828, dw, VKt), l.md = function () { return "Column" }, l.nd = function (e) { return U6(this.b, this.a, e) }, l.od = function (e, n) { return Jee(this.b, this.a, e, n) }, l.a = 0, N(Ye, "ArrayTable/Row", 1920), M(829, 828, dw, Q2t), l.nd = function (e) { return new VKt(this.a, e) }, l.zc = function (e, n) { return u(n, 83), JUe() }, l.od = function (e, n) { return u(n, 83), tWe() }, l.md = function () { return "Row" }, N(Ye, "ArrayTable/RowMap", 829), M(1120, 1, Rh, nHt), l.qd = function () { return this.a.qd() & -262 }, l.rd = function () { return this.a.rd() }, l.Nb = function (e) { this.a.Nb(new Qqt(e, this.b)) }, l.sd = function (e) { return this.a.sd(new Xqt(e, this.b)) }, N(Ye, "CollectSpliterators/1", 1120), M(1121, 1, Qn, Xqt), l.td = function (e) { this.a.td(this.b.Kb(e)) }, N(Ye, "CollectSpliterators/1/lambda$0$Type", 1121), M(1122, 1, Qn, Qqt), l.td = function (e) { this.a.td(this.b.Kb(e)) }, N(Ye, "CollectSpliterators/1/lambda$1$Type", 1122), M(1123, 1, Rh, SQt), l.qd = function () { return this.a }, l.rd = function () { return this.d && (this.b = DGt(this.b, this.d.rd())), DGt(this.b, 0) }, l.Nb = function (e) { this.d && (this.d.Nb(e), this.d = null), this.c.Nb(new Yqt(this.e, e)), this.b = 0 }, l.sd = function (e) { for (; ;) { if (this.d && this.d.sd(e)) return t_(this.b, kq) && (this.b = Qp(this.b, 1)), !0; if (this.d = null, !this.c.sd(new Zqt(this, this.e))) return !1 } }, l.a = 0, l.b = 0, N(Ye, "CollectSpliterators/1FlatMapSpliterator", 1123), M(1124, 1, Qn, Zqt), l.td = function (e) { mXe(this.a, this.b, e) }, N(Ye, "CollectSpliterators/1FlatMapSpliterator/lambda$0$Type", 1124), M(1125, 1, Qn, Yqt), l.td = function (e) { rYe(this.b, this.a, e) }, N(Ye, "CollectSpliterators/1FlatMapSpliterator/lambda$1$Type", 1125), M(1117, 1, Rh, uWt), l.qd = function () { return 16464 | this.b }, l.rd = function () { return this.a.rd() }, l.Nb = function (e) { this.a.xe(new tHt(e, this.c)) }, l.sd = function (e) { return this.a.ye(new Jqt(e, this.c)) }, l.b = 0, N(Ye, "CollectSpliterators/1WithCharacteristics", 1117), M(1118, 1, SI, Jqt), l.ud = function (e) { this.a.td(this.b.ld(e)) }, N(Ye, "CollectSpliterators/1WithCharacteristics/lambda$0$Type", 1118), M(1119, 1, SI, tHt), l.ud = function (e) { this.a.td(this.b.ld(e)) }, N(Ye, "CollectSpliterators/1WithCharacteristics/lambda$1$Type", 1119), M(245, 1, Eat), l.wd = function (e) { return this.vd(u(e, 245)) }, l.vd = function (e) { var n; return e == (Rtt(), iut) ? 1 : e == (jtt(), rut) ? -1 : (n = (xj(), CD(this.a, e.a)), n != 0 ? n : Et(this, 519) == Et(e, 519) ? 0 : Et(this, 519) ? 1 : -1) }, l.zd = function () { return this.a }, l.Fb = function (e) { return i3t(this, e) }, N(Ye, "Cut", 245), M(1761, 245, Eat, sqt), l.vd = function (e) { return e == this ? 0 : 1 }, l.xd = function (e) { throw et(new rpt) }, l.yd = function (e) { e.a += "+∞)" }, l.zd = function () { throw et(new Yo(she)) }, l.Hb = function () { return Gd(), d3t(this) }, l.Ad = function (e) { return !1 }, l.Ib = function () { return "+∞" }; var rut; N(Ye, "Cut/AboveAll", 1761), M(519, 245, { 245: 1, 519: 1, 3: 1, 35: 1 }, rUt), l.xd = function (e) { Cc((e.a += "(", e), this.a) }, l.yd = function (e) { $p(Cc(e, this.a), 93) }, l.Hb = function () { return ~ns(this.a) }, l.Ad = function (e) { return xj(), CD(this.a, e) < 0 }, l.Ib = function () { return "/" + this.a + "\\" }, N(Ye, "Cut/AboveValue", 519), M(1760, 245, Eat, aqt), l.vd = function (e) { return e == this ? 0 : -1 }, l.xd = function (e) { e.a += "(-∞" }, l.yd = function (e) { throw et(new rpt) }, l.zd = function () { throw et(new Yo(she)) }, l.Hb = function () { return Gd(), d3t(this) }, l.Ad = function (e) { return !0 }, l.Ib = function () { return "-∞" }; var iut; N(Ye, "Cut/BelowAll", 1760), M(1762, 245, Eat, iUt), l.xd = function (e) { Cc((e.a += "[", e), this.a) }, l.yd = function (e) { $p(Cc(e, this.a), 41) }, l.Hb = function () { return ns(this.a) }, l.Ad = function (e) { return xj(), CD(this.a, e) <= 0 }, l.Ib = function () { return "\\" + this.a + "/" }, N(Ye, "Cut/BelowValue", 1762), M(537, 1, r0), l.Jc = function (e) { Oa(this, e) }, l.Ib = function () { return Acn(u(Kj(this, "use Optional.orNull() instead of Optional.or(null)"), 20).Kc()) }, N(Ye, "FluentIterable", 537), M(433, 537, r0, r_), l.Kc = function () { return new pr(mr(this.a.Kc(), new H)) }, N(Ye, "FluentIterable/2", 433), M(1046, 537, r0, cGt), l.Kc = function () { return jp(this) }, N(Ye, "FluentIterable/3", 1046), M(708, 386, A7, Z2t), l.Xb = function (e) { return this.a[e].Kc() }, N(Ye, "FluentIterable/3/1", 708), M(1972, 1, {}), l.Ib = function () { return Jo(this.Bd().b) }, N(Ye, "ForwardingObject", 1972), M(1973, 1972, ahe), l.Bd = function () { return this.Cd() }, l.Jc = function (e) { Oa(this, e) }, l.Lc = function () { return this.Oc() }, l.Nc = function () { return new Cn(this, 0) }, l.Oc = function () { return new kn(null, this.Nc()) }, l.Fc = function (e) { return this.Cd(), _qt() }, l.Gc = function (e) { return this.Cd(), Cqt() }, l.$b = function () { this.Cd(), Sqt() }, l.Hc = function (e) { return this.Cd().Hc(e) }, l.Ic = function (e) { return this.Cd().Ic(e) }, l.dc = function () { return this.Cd().b.dc() }, l.Kc = function () { return this.Cd().Kc() }, l.Mc = function (e) { return this.Cd(), Aqt() }, l.gc = function () { return this.Cd().b.gc() }, l.Pc = function () { return this.Cd().Pc() }, l.Qc = function (e) { return this.Cd().Qc(e) }, N(Ye, "ForwardingCollection", 1973), M(1980, 28, h6t), l.Kc = function () { return this.Ed() }, l.Fc = function (e) { throw et(new Gr) }, l.Gc = function (e) { throw et(new Gr) }, l.$b = function () { throw et(new Gr) }, l.Hc = function (e) { return e != null && ey(this, e, !1) }, l.Dd = function () { switch (this.gc()) { case 0: return qm(), qm(), sut; case 1: return qm(), new pnt(zr(this.Ed().Pb())); default: return new GKt(this, this.Pc()) } }, l.Mc = function (e) { throw et(new Gr) }, N(Ye, "ImmutableCollection", 1980), M(712, 1980, h6t, ept), l.Kc = function () { return W6(this.a.Kc()) }, l.Hc = function (e) { return e != null && this.a.Hc(e) }, l.Ic = function (e) { return this.a.Ic(e) }, l.dc = function () { return this.a.dc() }, l.Ed = function () { return W6(this.a.Kc()) }, l.gc = function () { return this.a.gc() }, l.Pc = function () { return this.a.Pc() }, l.Qc = function (e) { return this.a.Qc(e) }, l.Ib = function () { return Jo(this.a) }, N(Ye, "ForwardingImmutableCollection", 712), M(152, 1980, xC), l.Kc = function () { return this.Ed() }, l.Yc = function () { return this.Fd(0) }, l.Zc = function (e) { return this.Fd(e) }, l.ad = function (e) { e4(this, e) }, l.Nc = function () { return new Cn(this, 16) }, l.bd = function (e, n) { return this.Gd(e, n) }, l.Vc = function (e, n) { throw et(new Gr) }, l.Wc = function (e, n) { throw et(new Gr) }, l.Fb = function (e) { return Egn(this, e) }, l.Hb = function () { return Nan(this) }, l.Xc = function (e) { return e == null ? -1 : Wln(this, e) }, l.Ed = function () { return this.Fd(0) }, l.Fd = function (e) { return dbt(this, e) }, l.$c = function (e) { throw et(new Gr) }, l._c = function (e, n) { throw et(new Gr) }, l.Gd = function (e, n) { var r; return hz((r = new dHt(this), new Qd(r, e, n))) }; var sut; N(Ye, "ImmutableList", 152), M(2006, 152, xC), l.Kc = function () { return W6(this.Hd().Kc()) }, l.bd = function (e, n) { return hz(this.Hd().bd(e, n)) }, l.Hc = function (e) { return e != null && this.Hd().Hc(e) }, l.Ic = function (e) { return this.Hd().Ic(e) }, l.Fb = function (e) { return Ni(this.Hd(), e) }, l.Xb = function (e) { return Np(this, e) }, l.Hb = function () { return ns(this.Hd()) }, l.Xc = function (e) { return this.Hd().Xc(e) }, l.dc = function () { return this.Hd().dc() }, l.Ed = function () { return W6(this.Hd().Kc()) }, l.gc = function () { return this.Hd().gc() }, l.Gd = function (e, n) { return hz(this.Hd().bd(e, n)) }, l.Pc = function () { return this.Hd().Qc(Ot(nr, De, 1, this.Hd().gc(), 5, 1)) }, l.Qc = function (e) { return this.Hd().Qc(e) }, l.Ib = function () { return Jo(this.Hd()) }, N(Ye, "ForwardingImmutableList", 2006), M(714, 1, L7), l.vc = function () { return Iv(this) }, l.wc = function (e) { $_(this, e) }, l.ec = function () { return knt(this) }, l.yc = function (e, n, r) { return Ait(this, e, n, r) }, l.Cc = function () { return this.Ld() }, l.$b = function () { throw et(new Gr) }, l._b = function (e) { return this.xc(e) != null }, l.uc = function (e) { return this.Ld().Hc(e) }, l.Jd = function () { return new X$t(this) }, l.Kd = function () { return new Q$t(this) }, l.Fb = function (e) { return Con(this, e) }, l.Hb = function () { return Iv(this).Hb() }, l.dc = function () { return this.gc() == 0 }, l.zc = function (e, n) { return eWe() }, l.Bc = function (e) { throw et(new Gr) }, l.Ib = function () { return idn(this) }, l.Ld = function () { return this.e ? this.e : this.e = this.Kd() }, l.c = null, l.d = null, l.e = null; var y0e; N(Ye, "ImmutableMap", 714), M(715, 714, L7), l._b = function (e) { return xqt(this, e) }, l.uc = function (e) { return vHt(this.b, e) }, l.Id = function () { return Une(new dT(this)) }, l.Jd = function () { return Une(_Yt(this.b)) }, l.Kd = function () { return vd(), new ept(TYt(this.b)) }, l.Fb = function (e) { return wHt(this.b, e) }, l.xc = function (e) { return f_(this, e) }, l.Hb = function () { return ns(this.b.c) }, l.dc = function () { return this.b.c.dc() }, l.gc = function () { return this.b.c.gc() }, l.Ib = function () { return Jo(this.b.c) }, N(Ye, "ForwardingImmutableMap", 715), M(1974, 1973, Tat), l.Bd = function () { return this.Md() }, l.Cd = function () { return this.Md() }, l.Nc = function () { return new Cn(this, 1) }, l.Fb = function (e) { return e === this || this.Md().Fb(e) }, l.Hb = function () { return this.Md().Hb() }, N(Ye, "ForwardingSet", 1974), M(1069, 1974, Tat, dT), l.Bd = function () { return x8(this.a.b) }, l.Cd = function () { return x8(this.a.b) }, l.Hc = function (e) { if (Et(e, 42) && u(e, 42).cd() == null) return !1; try { return bHt(x8(this.a.b), e) } catch (n) { if (n = os(n), Et(n, 205)) return !1; throw et(n) } }, l.Md = function () { return x8(this.a.b) }, l.Qc = function (e) { var n; return n = aXt(x8(this.a.b), e), x8(this.a.b).b.gc() < n.length && ds(n, x8(this.a.b).b.gc(), null), n }, N(Ye, "ForwardingImmutableMap/1", 1069), M(1981, 1980, M7), l.Kc = function () { return this.Ed() }, l.Nc = function () { return new Cn(this, 1) }, l.Fb = function (e) { return b4t(this, e) }, l.Hb = function () { return gee(this) }, N(Ye, "ImmutableSet", 1981), M(703, 1981, M7), l.Kc = function () { return W6(new A(this.a.b.Kc())) }, l.Hc = function (e) { return e != null && gM(this.a, e) }, l.Ic = function (e) { return gHt(this.a, e) }, l.Hb = function () { return ns(this.a.b) }, l.dc = function () { return this.a.b.dc() }, l.Ed = function () { return W6(new A(this.a.b.Kc())) }, l.gc = function () { return this.a.b.gc() }, l.Pc = function () { return this.a.b.Pc() }, l.Qc = function (e) { return pHt(this.a, e) }, l.Ib = function () { return Jo(this.a.b) }, N(Ye, "ForwardingImmutableSet", 703), M(1975, 1974, ohe), l.Bd = function () { return this.b }, l.Cd = function () { return this.b }, l.Md = function () { return this.b }, l.Nc = function () { return new SR(this) }, N(Ye, "ForwardingSortedSet", 1975), M(533, 1979, L7, Nz), l.Ac = function (e) { j_(this, e) }, l.Cc = function () { var e; return e = this.d, new jet(e || (this.d = new o6(this))) }, l.$b = function () { oD(this) }, l._b = function (e) { return !!B_(this, e, $r(ja(i0, Xd($r(ja(e == null ? 0 : ns(e), s0)), 15)))) }, l.uc = function (e) { return Tte(this, e) }, l.kc = function () { return new JGt(this, this) }, l.wc = function (e) { vXt(this, e) }, l.xc = function (e) { return t4(this, e) }, l.ec = function () { return new $et(this) }, l.zc = function (e, n) { return cq(this, e, n) }, l.Bc = function (e) { var n; return n = B_(this, e, $r(ja(i0, Xd($r(ja(e == null ? 0 : ns(e), s0)), 15)))), n ? (v4(this, n), n.e = null, n.c = null, n.i) : null }, l.gc = function () { return this.i }, l.pd = function () { var e; return e = this.d, new jet(e || (this.d = new o6(this))) }, l.f = 0, l.g = 0, l.i = 0, N(Ye, "HashBiMap", 533), M(534, 1, va), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return FQt(this) }, l.Pb = function () { var e; if (!FQt(this)) throw et(new _c); return e = this.c, this.c = e.c, this.f = e, --this.d, this.Nd(e) }, l.Qb = function () { if (this.e.g != this.b) throw et(new uh); n4(!!this.f), v4(this.e, this.f), this.b = this.e.g, this.f = null }, l.b = 0, l.d = 0, l.f = null, N(Ye, "HashBiMap/Itr", 534), M(1011, 534, va, JGt), l.Nd = function (e) { return new sHt(this, e) }, N(Ye, "HashBiMap/1", 1011), M(1012, 345, xq, sHt), l.cd = function () { return this.a.g }, l.dd = function () { return this.a.i }, l.ed = function (e) { var n, r, s; return r = this.a.i, s = $r(ja(i0, Xd($r(ja(e == null ? 0 : ns(e), s0)), 15))), s == this.a.f && (qt(e) === qt(r) || e != null && Ni(e, r)) ? e : (Yee(!R_(this.b.a, e, s), e), v4(this.b.a, this.a), n = new zj(this.a.g, this.a.a, e, s), aI(this.b.a, n, this.a), this.a.e = null, this.a.c = null, this.b.b = this.b.a.g, this.b.f == this.a && (this.b.f = n), this.a = n, r) }, N(Ye, "HashBiMap/1/MapEntry", 1012), M(238, 345, { 345: 1, 238: 1, 3: 1, 42: 1 }, Ev), l.cd = function () { return this.g }, l.dd = function () { return this.i }, l.ed = function (e) { throw et(new Gr) }, N(Ye, "ImmutableEntry", 238), M(317, 238, { 345: 1, 317: 1, 238: 1, 3: 1, 42: 1 }, zj), l.a = 0, l.f = 0; var aut = N(Ye, "HashBiMap/BiEntry", 317); M(610, 1979, L7, o6), l.Ac = function (e) { j_(this, e) }, l.Cc = function () { return new $et(this.a) }, l.$b = function () { oD(this.a) }, l._b = function (e) { return Tte(this.a, e) }, l.kc = function () { return new tUt(this, this.a) }, l.wc = function (e) { zr(e), vXt(this.a, new ZL(e)) }, l.xc = function (e) { return G$(this, e) }, l.ec = function () { return new jet(this) }, l.zc = function (e, n) { return Avn(this.a, e, n, !1) }, l.Bc = function (e) { var n; return n = R_(this.a, e, $r(ja(i0, Xd($r(ja(e == null ? 0 : ns(e), s0)), 15)))), n ? (v4(this.a, n), n.e = null, n.c = null, n.g) : null }, l.gc = function () { return this.a.i }, l.pd = function () { return new $et(this.a) }, N(Ye, "HashBiMap/Inverse", 610), M(1008, 534, va, tUt), l.Nd = function (e) { return new aHt(this, e) }, N(Ye, "HashBiMap/Inverse/1", 1008), M(1009, 345, xq, aHt), l.cd = function () { return this.a.i }, l.dd = function () { return this.a.g }, l.ed = function (e) { var n, r, s; return s = this.a.g, n = $r(ja(i0, Xd($r(ja(e == null ? 0 : ns(e), s0)), 15))), n == this.a.a && (qt(e) === qt(s) || e != null && Ni(e, s)) ? e : (Yee(!B_(this.b.a.a, e, n), e), v4(this.b.a.a, this.a), r = new zj(e, n, this.a.i, this.a.f), this.a = r, aI(this.b.a.a, r, null), this.b.b = this.b.a.a.g, s) }, N(Ye, "HashBiMap/Inverse/1/InverseEntry", 1009), M(611, 532, Xu, jet), l.Kc = function () { return new Hzt(this.a.a) }, l.Mc = function (e) { var n; return n = R_(this.a.a, e, $r(ja(i0, Xd($r(ja(e == null ? 0 : ns(e), s0)), 15)))), n ? (v4(this.a.a, n), !0) : !1 }, N(Ye, "HashBiMap/Inverse/InverseKeySet", 611), M(1007, 534, va, Hzt), l.Nd = function (e) { return e.i }, N(Ye, "HashBiMap/Inverse/InverseKeySet/1", 1007), M(1010, 1, {}, ZL), l.Od = function (e, n) { OUe(this.a, e, n) }, N(Ye, "HashBiMap/Inverse/lambda$0$Type", 1010), M(609, 532, Xu, $et), l.Kc = function () { return new Vzt(this.a) }, l.Mc = function (e) { var n; return n = B_(this.a, e, $r(ja(i0, Xd($r(ja(e == null ? 0 : ns(e), s0)), 15)))), n ? (v4(this.a, n), n.e = null, n.c = null, !0) : !1 }, N(Ye, "HashBiMap/KeySet", 609), M(1006, 534, va, Vzt), l.Nd = function (e) { return e.g }, N(Ye, "HashBiMap/KeySet/1", 1006), M(1093, 619, wb), N(Ye, "HashMultimapGwtSerializationDependencies", 1093), M(265, 1093, wb, $v), l.hc = function () { return new fR(Ym(this.a)) }, l.gd = function () { return new fR(Ym(this.a)) }, l.a = 2, N(Ye, "HashMultimap", 265), M(1999, 152, xC), l.Hc = function (e) { return this.Pd().Hc(e) }, l.dc = function () { return this.Pd().dc() }, l.gc = function () { return this.Pd().gc() }, N(Ye, "ImmutableAsList", 1999), M(1931, 715, L7), l.Ld = function () { return vd(), new y6(this.a) }, l.Cc = function () { return vd(), new y6(this.a) }, l.pd = function () { return vd(), new y6(this.a) }, N(Ye, "ImmutableBiMap", 1931), M(1977, 1, {}), N(Ye, "ImmutableCollection/Builder", 1977), M(1022, 703, M7, Gzt), N(Ye, "ImmutableEnumSet", 1022), M(969, 386, A7, cWt), l.Xb = function (e) { return this.a.Xb(e) }, N(Ye, "ImmutableList/1", 969), M(968, 1977, {}, qUt), N(Ye, "ImmutableList/Builder", 968), M(614, 198, S7, JL), l.Ob = function () { return this.a.Ob() }, l.Pb = function () { return u(this.a.Pb(), 42).cd() }, N(Ye, "ImmutableMap/1", 614), M(1041, 1, {}, j), l.Kb = function (e) { return u(e, 42).cd() }, N(Ye, "ImmutableMap/2methodref$getKey$Type", 1041), M(1040, 1, {}, HUt), N(Ye, "ImmutableMap/Builder", 1040), M(2e3, 1981, M7), l.Kc = function () { var e; return e = Iv(this.a).Ed(), new JL(e) }, l.Dd = function () { return new npt(this) }, l.Jc = function (e) { var n, r; for (zr(e), r = this.gc(), n = 0; n < r; n++)e.td(u(Pvt(Iv(this.a)).Xb(n), 42).cd()) }, l.Ed = function () { var e; return (e = this.c, e || (this.c = new npt(this))).Ed() }, l.Nc = function () { return gnt(this.gc(), 1296, new UJ(this)) }, N(Ye, "IndexedImmutableSet", 2e3), M(1180, 2e3, M7, X$t), l.Kc = function () { var e; return e = Iv(this.a).Ed(), new JL(e) }, l.Hc = function (e) { return this.a._b(e) }, l.Jc = function (e) { zr(e), $_(this.a, new GJ(e)) }, l.Ed = function () { var e; return e = Iv(this.a).Ed(), new JL(e) }, l.gc = function () { return this.a.gc() }, l.Nc = function () { return VM(Iv(this.a).Nc(), new j) }, N(Ye, "ImmutableMapKeySet", 1180), M(1181, 1, {}, GJ), l.Od = function (e, n) { vd(), this.a.td(e) }, N(Ye, "ImmutableMapKeySet/lambda$0$Type", 1181), M(1178, 1980, h6t, Q$t), l.Kc = function () { return new hnt(this) }, l.Hc = function (e) { return e != null && pfn(new hnt(this), e) }, l.Ed = function () { return new hnt(this) }, l.gc = function () { return this.a.gc() }, l.Nc = function () { return VM(Iv(this.a).Nc(), new R) }, N(Ye, "ImmutableMapValues", 1178), M(1179, 1, {}, R), l.Kb = function (e) { return u(e, 42).dd() }, N(Ye, "ImmutableMapValues/0methodref$getValue$Type", 1179), M(626, 198, S7, hnt), l.Ob = function () { return this.a.Ob() }, l.Pb = function () { return u(this.a.Pb(), 42).dd() }, N(Ye, "ImmutableMapValues/1", 626), M(1182, 1, {}, UJ), l.ld = function (e) { return WKt(this.a, e) }, N(Ye, "IndexedImmutableSet/0methodref$get$Type", 1182), M(752, 1999, xC, npt), l.Pd = function () { return this.a }, l.Xb = function (e) { return WKt(this.a, e) }, l.gc = function () { return this.a.a.gc() }, N(Ye, "IndexedImmutableSet/1", 752), M(44, 1, {}, H), l.Kb = function (e) { return u(e, 20).Kc() }, l.Fb = function (e) { return this === e }, N(Ye, "Iterables/10", 44), M(1042, 537, r0, KWt), l.Jc = function (e) { zr(e), this.b.Jc(new oHt(this.a, e)) }, l.Kc = function () { return R2t(this) }, N(Ye, "Iterables/4", 1042), M(1043, 1, Qn, oHt), l.td = function (e) { tKe(this.b, this.a, e) }, N(Ye, "Iterables/4/lambda$0$Type", 1043), M(1044, 537, r0, YWt), l.Jc = function (e) { zr(e), Oa(this.a, new rHt(e, this.b)) }, l.Kc = function () { return mr(new lr(this.a), this.b) }, N(Ye, "Iterables/5", 1044), M(1045, 1, Qn, rHt), l.td = function (e) { this.a.td(mGt(e)) }, N(Ye, "Iterables/5/lambda$0$Type", 1045), M(1071, 198, S7, WJ), l.Ob = function () { return this.a.Ob() }, l.Pb = function () { return this.a.Pb() }, N(Ye, "Iterators/1", 1071), M(1072, 699, S7, iHt), l.Yb = function () { for (var e; this.b.Ob();)if (e = this.b.Pb(), this.a.Lb(e)) return e; return this.e = 2, null }, N(Ye, "Iterators/5", 1072), M(487, 1, va), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return this.b.Ob() }, l.Pb = function () { return this.Qd(this.b.Pb()) }, l.Qb = function () { this.b.Qb() }, N(Ye, "TransformedIterator", 487), M(1073, 487, va, eUt), l.Qd = function (e) { return this.a.Kb(e) }, N(Ye, "Iterators/6", 1073), M(717, 198, S7, BB), l.Ob = function () { return !this.a }, l.Pb = function () { if (this.a) throw et(new _c); return this.a = !0, this.b }, l.a = !1, N(Ye, "Iterators/9", 717), M(1070, 386, A7, wKt), l.Xb = function (e) { return this.a[this.b + e] }, l.b = 0; var x0e; N(Ye, "Iterators/ArrayItr", 1070), M(39, 1, { 39: 1, 47: 1 }, pr), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return Zr(this) }, l.Pb = function () { return qr(this) }, l.Qb = function () { n4(!!this.c), this.c.Qb(), this.c = null }, N(Ye, "Iterators/ConcatenatedIterator", 39), M(22, 1, { 3: 1, 35: 1, 22: 1 }), l.wd = function (e) { return Yzt(this, u(e, 22)) }, l.Fb = function (e) { return this === e }, l.Hb = function () { return Av(this) }, l.Ib = function () { return Wet(this) }, l.g = 0; var ti = N(lc, "Enum", 22); M(538, 22, { 538: 1, 3: 1, 35: 1, 22: 1, 47: 1 }, sUt), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return !1 }, l.Pb = function () { throw et(new _c) }, l.Qb = function () { n4(!1) }; var out, k0e = Xr(Ye, "Iterators/EmptyModifiableIterator", 538, ti, KJe, LYe), E0e; M(1834, 619, wb), N(Ye, "LinkedHashMultimapGwtSerializationDependencies", 1834), M(1835, 1834, wb, Fne), l.hc = function () { return new Vet(Ym(this.b)) }, l.$b = function () { q$(this), oM(this.a, this.a) }, l.gd = function () { return new Vet(Ym(this.b)) }, l.ic = function (e) { return new xne(this, e, this.b) }, l.kc = function () { return new tbt(this) }, l.lc = function () { var e; return new Cn((e = this.g, u(e || (this.g = new xpt(this)), 21)), 17) }, l.ec = function () { var e; return e = this.i, e || (this.i = new W3(this, this.c)) }, l.nc = function () { return new Cpt(new tbt(this)) }, l.oc = function () { var e; return VM(new Cn((e = this.g, u(e || (this.g = new xpt(this)), 21)), 17), new Y) }, l.b = 2, N(Ye, "LinkedHashMultimap", 1835), M(1838, 1, {}, Y), l.Kb = function (e) { return u(e, 42).dd() }, N(Ye, "LinkedHashMultimap/0methodref$getValue$Type", 1838), M(824, 1, va, tbt), l.Nb = function (e) { Da(this, e) }, l.Pb = function () { return gsn(this) }, l.Ob = function () { return this.a != this.b.a }, l.Qb = function () { n4(!!this.c), dQt(this.b, this.c.g, this.c.i), this.c = null }, N(Ye, "LinkedHashMultimap/1", 824), M(330, 238, { 345: 1, 238: 1, 330: 1, 2020: 1, 3: 1, 42: 1 }, nwt), l.Rd = function () { return this.f }, l.Sd = function (e) { this.c = e }, l.Td = function (e) { this.f = e }, l.d = 0; var T0e = N(Ye, "LinkedHashMultimap/ValueEntry", 330); M(1836, 1970, { 2020: 1, 20: 1, 28: 1, 14: 1, 21: 1 }, xne), l.Fc = function (e) { var n, r, s, o, h; for (h = $r(ja(i0, Xd($r(ja(e == null ? 0 : ns(e), s0)), 15))), n = h & this.b.length - 1, o = this.b[n], r = o; r; r = r.a)if (r.d == h && wd(r.i, e)) return !1; return s = new nwt(this.c, e, h, o), rqt(this.d, s), s.f = this, this.d = s, oM(this.g.a.b, s), oM(s, this.g.a), this.b[n] = s, ++this.f, ++this.e, ffn(this), !0 }, l.$b = function () { var e, n; for (mM(this.b, null), this.f = 0, e = this.a; e != this; e = e.Rd())n = u(e, 330), oM(n.b, n.e); this.a = this, this.d = this, ++this.e }, l.Hc = function (e) { var n, r; for (r = $r(ja(i0, Xd($r(ja(e == null ? 0 : ns(e), s0)), 15))), n = this.b[r & this.b.length - 1]; n; n = n.a)if (n.d == r && wd(n.i, e)) return !0; return !1 }, l.Jc = function (e) { var n; for (zr(e), n = this.a; n != this; n = n.Rd())e.td(u(n, 330).i) }, l.Rd = function () { return this.a }, l.Kc = function () { return new dYt(this) }, l.Mc = function (e) { return loe(this, e) }, l.Sd = function (e) { this.d = e }, l.Td = function (e) { this.a = e }, l.gc = function () { return this.f }, l.e = 0, l.f = 0, N(Ye, "LinkedHashMultimap/ValueSet", 1836), M(1837, 1, va, dYt), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return Tvt(this), this.b != this.c }, l.Pb = function () { var e, n; if (Tvt(this), this.b == this.c) throw et(new _c); return e = u(this.b, 330), n = e.i, this.d = e, this.b = e.f, n }, l.Qb = function () { Tvt(this), n4(!!this.d), loe(this.c, this.d.i), this.a = this.c.e, this.d = null }, l.a = 0, N(Ye, "LinkedHashMultimap/ValueSet/1", 1837), M(766, 1986, wb, sGt), l.Zb = function () { var e; return e = this.f, e || (this.f = new Zpt(this)) }, l.Fb = function (e) { return hit(this, e) }, l.cc = function (e) { return new Ztt(this, e) }, l.fc = function (e) { return Pwt(this, e) }, l.$b = function () { QKt(this) }, l._b = function (e) { return mHt(this, e) }, l.ac = function () { return new Zpt(this) }, l.bc = function () { return new rtt(this) }, l.qc = function (e) { return new Ztt(this, e) }, l.dc = function () { return !this.a }, l.rc = function (e) { return Pwt(this, e) }, l.gc = function () { return this.d }, l.c = 0, l.d = 0, N(Ye, "LinkedListMultimap", 766), M(52, 28, D7), l.ad = function (e) { e4(this, e) }, l.Nc = function () { return new Cn(this, 16) }, l.Vc = function (e, n) { throw et(new mg("Add not supported on this list")) }, l.Fc = function (e) { return this.Vc(this.gc(), e), !0 }, l.Wc = function (e, n) { var r, s, o; for (Pn(n), r = !1, o = n.Kc(); o.Ob();)s = o.Pb(), this.Vc(e++, s), r = !0; return r }, l.$b = function () { this.Ud(0, this.gc()) }, l.Fb = function (e) { return Y4t(this, e) }, l.Hb = function () { return oyt(this) }, l.Xc = function (e) { return Wte(this, e) }, l.Kc = function () { return new h6(this) }, l.Yc = function () { return this.Zc(0) }, l.Zc = function (e) { return new Ca(this, e) }, l.$c = function (e) { throw et(new mg("Remove not supported on this list")) }, l.Ud = function (e, n) { var r, s; for (s = this.Zc(e), r = e; r < n; ++r)s.Pb(), s.Qb() }, l._c = function (e, n) { throw et(new mg("Set not supported on this list")) }, l.bd = function (e, n) { return new Qd(this, e, n) }, l.j = 0, N(_r, "AbstractList", 52), M(1964, 52, D7), l.Vc = function (e, n) { h8(this, e, n) }, l.Wc = function (e, n) { return Ene(this, e, n) }, l.Xb = function (e) { return r1(this, e) }, l.Kc = function () { return this.Zc(0) }, l.$c = function (e) { return cst(this, e) }, l._c = function (e, n) { var r, s; r = this.Zc(e); try { return s = r.Pb(), r.Wb(n), s } catch (o) { throw o = os(o), Et(o, 109) ? et(new Oo("Can't set element " + e)) : et(o) } }, N(_r, "AbstractSequentialList", 1964), M(636, 1964, D7, Ztt), l.Zc = function (e) { return uUt(this, e) }, l.gc = function () { var e; return e = u(or(this.a.b, this.b), 283), e ? e.a : 0 }, N(Ye, "LinkedListMultimap/1", 636), M(1297, 1970, Xu, rtt), l.Hc = function (e) { return mHt(this.a, e) }, l.Kc = function () { return new uee(this.a) }, l.Mc = function (e) { return !Pwt(this.a, e).a.dc() }, l.gc = function () { return NT(this.a.b) }, N(Ye, "LinkedListMultimap/1KeySetImpl", 1297), M(1296, 1, va, uee), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return Evt(this), !!this.c }, l.Pb = function () { Evt(this), rbt(this.c), this.a = this.c, Ys(this.d, this.a.a); do this.c = this.c.b; while (this.c && !Ys(this.d, this.c.a)); return this.a.a }, l.Qb = function () { Evt(this), n4(!!this.a), Tj(new Ort(this.e, this.a.a)), this.a = null, this.b = this.e.c }, l.b = 0, N(Ye, "LinkedListMultimap/DistinctKeyIterator", 1296), M(283, 1, { 283: 1 }, hwt), l.a = 0, N(Ye, "LinkedListMultimap/KeyList", 283), M(1295, 345, xq, cHt), l.cd = function () { return this.a }, l.dd = function () { return this.f }, l.ed = function (e) { var n; return n = this.f, this.f = e, n }, N(Ye, "LinkedListMultimap/Node", 1295), M(560, 1, n0, Ort, rae), l.Nb = function (e) { Da(this, e) }, l.Rb = function (e) { this.e = T5t(this.f, this.b, e, this.c), ++this.d, this.a = null }, l.Ob = function () { return !!this.c }, l.Sb = function () { return !!this.e }, l.Pb = function () { return vwt(this) }, l.Tb = function () { return this.d }, l.Ub = function () { return LXt(this) }, l.Vb = function () { return this.d - 1 }, l.Qb = function () { n4(!!this.a), this.a != this.c ? (this.e = this.a.e, --this.d) : this.c = this.a.c, v0n(this.f, this.a), this.a = null }, l.Wb = function (e) { nbt(!!this.a), this.a.f = e }, l.d = 0, N(Ye, "LinkedListMultimap/ValueForKeyIterator", 560), M(1018, 52, D7), l.Vc = function (e, n) { this.a.Vc(e, n) }, l.Wc = function (e, n) { return this.a.Wc(e, n) }, l.Hc = function (e) { return this.a.Hc(e) }, l.Xb = function (e) { return this.a.Xb(e) }, l.$c = function (e) { return this.a.$c(e) }, l._c = function (e, n) { return this.a._c(e, n) }, l.gc = function () { return this.a.gc() }, N(Ye, "Lists/AbstractListWrapper", 1018), M(1019, 1018, uhe), N(Ye, "Lists/RandomAccessListWrapper", 1019), M(1021, 1019, uhe, dHt), l.Zc = function (e) { return this.a.Zc(e) }, N(Ye, "Lists/1", 1021), M(131, 52, { 131: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1 }, Am), l.Vc = function (e, n) { this.a.Vc(v8(this, e), n) }, l.$b = function () { this.a.$b() }, l.Xb = function (e) { return this.a.Xb(Xvt(this, e)) }, l.Kc = function () { return xwt(this, 0) }, l.Zc = function (e) { return xwt(this, e) }, l.$c = function (e) { return this.a.$c(Xvt(this, e)) }, l.Ud = function (e, n) { (yQt(e, n, this.a.gc()), ib(this.a.bd(v8(this, n), v8(this, e)))).$b() }, l._c = function (e, n) { return this.a._c(Xvt(this, e), n) }, l.gc = function () { return this.a.gc() }, l.bd = function (e, n) { return yQt(e, n, this.a.gc()), ib(this.a.bd(v8(this, n), v8(this, e))) }, N(Ye, "Lists/ReverseList", 131), M(280, 131, { 131: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 54: 1 }, bv), N(Ye, "Lists/RandomAccessReverseList", 280), M(1020, 1, n0, uHt), l.Nb = function (e) { Da(this, e) }, l.Rb = function (e) { this.c.Rb(e), this.c.Ub(), this.a = !1 }, l.Ob = function () { return this.c.Sb() }, l.Sb = function () { return this.c.Ob() }, l.Pb = function () { return EZt(this) }, l.Tb = function () { return v8(this.b, this.c.Tb()) }, l.Ub = function () { if (!this.c.Ob()) throw et(new _c); return this.a = !0, this.c.Pb() }, l.Vb = function () { return v8(this.b, this.c.Tb()) - 1 }, l.Qb = function () { n4(this.a), this.c.Qb(), this.a = !1 }, l.Wb = function (e) { nbt(this.a), this.c.Wb(e) }, l.a = !1, N(Ye, "Lists/ReverseList/1", 1020), M(432, 487, va, CT), l.Qd = function (e) { return CR(e) }, N(Ye, "Maps/1", 432), M(698, 487, va, Cpt), l.Qd = function (e) { return u(e, 42).dd() }, N(Ye, "Maps/2", 698), M(962, 487, va, cUt), l.Qd = function (e) { return new Ev(e, lGt(this.a, e)) }, N(Ye, "Maps/3", 962), M(959, 1971, Xu, c6), l.Jc = function (e) { RUe(this.a, e) }, l.Kc = function () { return this.a.kc() }, l.Rc = function () { return this.a }, l.Nc = function () { return this.a.lc() }, N(Ye, "Maps/IteratorBasedAbstractMap/1", 959), M(960, 1, {}, ntt), l.Od = function (e, n) { this.a.td(e) }, N(Ye, "Maps/KeySet/lambda$0$Type", 960), M(958, 28, by, fHt), l.$b = function () { this.a.$b() }, l.Hc = function (e) { return this.a.uc(e) }, l.Jc = function (e) { zr(e), this.a.wc(new XJ(e)) }, l.dc = function () { return this.a.dc() }, l.Kc = function () { return new Cpt(this.a.vc().Kc()) }, l.Mc = function (e) { var n, r; try { return ey(this, e, !0) } catch (s) { if (s = os(s), Et(s, 41)) { for (r = this.a.vc().Kc(); r.Ob();)if (n = u(r.Pb(), 42), wd(e, n.dd())) return this.a.Bc(n.cd()), !0; return !1 } else throw et(s) } }, l.gc = function () { return this.a.gc() }, N(Ye, "Maps/Values", 958), M(961, 1, {}, XJ), l.Od = function (e, n) { this.a.td(n) }, N(Ye, "Maps/Values/lambda$0$Type", 961), M(736, 1987, dw, Zpt), l.xc = function (e) { return this.a._b(e) ? this.a.cc(e) : null }, l.Bc = function (e) { return this.a._b(e) ? this.a.fc(e) : null }, l.$b = function () { this.a.$b() }, l._b = function (e) { return this.a._b(e) }, l.Ec = function () { return new YJ(this) }, l.Dc = function () { return this.Ec() }, l.dc = function () { return this.a.dc() }, l.ec = function () { return this.a.ec() }, l.gc = function () { return this.a.ec().gc() }, N(Ye, "Multimaps/AsMap", 736), M(1104, 1971, Xu, YJ), l.Kc = function () { return eYe(this.a.a.ec(), new QJ(this)) }, l.Rc = function () { return this.a }, l.Mc = function (e) { var n; return xre(this, e) ? (n = u(e, 42), nWe(this.a, n.cd()), !0) : !1 }, N(Ye, "Multimaps/AsMap/EntrySet", 1104), M(1108, 1, {}, QJ), l.Kb = function (e) { return lGt(this, e) }, l.Fb = function (e) { return this === e }, N(Ye, "Multimaps/AsMap/EntrySet/1", 1108), M(543, 1989, { 543: 1, 835: 1, 20: 1, 28: 1, 14: 1 }, ZJ), l.$b = function () { q$(this.a) }, l.Hc = function (e) { return yqt(this.a, e) }, l.Jc = function (e) { zr(e), Oa(x_(this.a), new ttt(e)) }, l.Kc = function () { return new CT(x_(this.a).a.kc()) }, l.gc = function () { return this.a.d }, l.Nc = function () { return VM(x_(this.a).Nc(), new it) }, N(Ye, "Multimaps/Keys", 543), M(1106, 1, {}, it), l.Kb = function (e) { return u(e, 42).cd() }, N(Ye, "Multimaps/Keys/0methodref$getKey$Type", 1106), M(1105, 487, va, Uzt), l.Qd = function (e) { return new JJ(u(e, 42)) }, N(Ye, "Multimaps/Keys/1", 1105), M(1990, 1, { 416: 1 }), l.Fb = function (e) { var n; return Et(e, 492) ? (n = u(e, 416), u(this.a.dd(), 14).gc() == u(n.a.dd(), 14).gc() && wd(this.a.cd(), n.a.cd())) : !1 }, l.Hb = function () { var e; return e = this.a.cd(), (e == null ? 0 : ns(e)) ^ u(this.a.dd(), 14).gc() }, l.Ib = function () { var e, n; return n = o_(this.a.cd()), e = u(this.a.dd(), 14).gc(), e == 1 ? n : n + " x " + e }, N(Ye, "Multisets/AbstractEntry", 1990), M(492, 1990, { 492: 1, 416: 1 }, JJ), N(Ye, "Multimaps/Keys/1/1", 492), M(1107, 1, Qn, ttt), l.td = function (e) { this.a.td(u(e, 42).cd()) }, N(Ye, "Multimaps/Keys/lambda$1$Type", 1107), M(1110, 1, Qn, nt), l.td = function (e) { nJe(u(e, 416)) }, N(Ye, "Multiset/lambda$0$Type", 1110), M(737, 1, Qn, ett), l.td = function (e) { msn(this.a, u(e, 416)) }, N(Ye, "Multiset/lambda$1$Type", 737), M(1111, 1, {}, ht), N(Ye, "Multisets/0methodref$add$Type", 1111), M(738, 1, {}, mt), l.Kb = function (e) { return urn(u(e, 416)) }, N(Ye, "Multisets/lambda$3$Type", 738), M(2008, 1, _I), N(Ye, "RangeGwtSerializationDependencies", 2008), M(514, 2008, { 169: 1, 514: 1, 3: 1, 45: 1 }, g3t), l.Lb = function (e) { return NKt(this, u(e, 35)) }, l.Mb = function (e) { return NKt(this, u(e, 35)) }, l.Fb = function (e) { var n; return Et(e, 514) ? (n = u(e, 514), i3t(this.a, n.a) && i3t(this.b, n.b)) : !1 }, l.Hb = function () { return this.a.Hb() * 31 + this.b.Hb() }, l.Ib = function () { return qQt(this.a, this.b) }, N(Ye, "Range", 514), M(778, 1999, xC, GKt), l.Zc = function (e) { return dbt(this.b, e) }, l.Pd = function () { return this.a }, l.Xb = function (e) { return Np(this.b, e) }, l.Fd = function (e) { return dbt(this.b, e) }, N(Ye, "RegularImmutableAsList", 778), M(646, 2006, xC, Ynt), l.Hd = function () { return this.a }, N(Ye, "RegularImmutableList", 646), M(616, 715, L7, $tt), N(Ye, "RegularImmutableMap", 616), M(716, 703, M7, t2t); var A8t; N(Ye, "RegularImmutableSet", 716), M(1976, q1, Xu), l.Kc = function () { return new swt(this.a, this.b) }, l.Fc = function (e) { throw et(new Gr) }, l.Gc = function (e) { throw et(new Gr) }, l.$b = function () { throw et(new Gr) }, l.Mc = function (e) { throw et(new Gr) }, N(Ye, "Sets/SetView", 1976), M(963, 1976, Xu, lHt), l.Kc = function () { return new swt(this.a, this.b) }, l.Hc = function (e) { return wnt(this.a, e) && this.b.Hc(e) }, l.Ic = function (e) { return MD(this.a, e) && this.b.Ic(e) }, l.dc = function () { return aie(this.b, this.a) }, l.Lc = function () { return Qi(new kn(null, new Cn(this.a, 1)), new Mh(this.b)) }, l.gc = function () { return SD(this) }, l.Oc = function () { return Qi(new kn(null, new Cn(this.a, 1)), new zk(this.b)) }, N(Ye, "Sets/2", 963), M(700, 699, S7, swt), l.Yb = function () { for (var e; q2t(this.a);)if (e = M_(this.a), this.c.Hc(e)) return e; return this.e = 2, null }, N(Ye, "Sets/2/1", 700), M(964, 1, _i, zk), l.Mb = function (e) { return this.a.Hc(e) }, N(Ye, "Sets/2/4methodref$contains$Type", 964), M(965, 1, _i, Mh), l.Mb = function (e) { return this.a.Hc(e) }, N(Ye, "Sets/2/5methodref$contains$Type", 965), M(607, 1975, { 607: 1, 3: 1, 20: 1, 14: 1, 271: 1, 21: 1, 84: 1 }, hXt), l.Bd = function () { return this.b }, l.Cd = function () { return this.b }, l.Md = function () { return this.b }, l.Jc = function (e) { this.a.Jc(e) }, l.Lc = function () { return this.a.Lc() }, l.Oc = function () { return this.a.Oc() }, N(Ye, "Sets/UnmodifiableNavigableSet", 607), M(1932, 1931, L7, mYt), l.Ld = function () { return vd(), new y6(this.a) }, l.Cc = function () { return vd(), new y6(this.a) }, l.pd = function () { return vd(), new y6(this.a) }, N(Ye, "SingletonImmutableBiMap", 1932), M(647, 2006, xC, pnt), l.Hd = function () { return this.a }, N(Ye, "SingletonImmutableList", 647), M(350, 1981, M7, y6), l.Kc = function () { return new BB(this.a) }, l.Hc = function (e) { return Ni(this.a, e) }, l.Ed = function () { return new BB(this.a) }, l.gc = function () { return 1 }, N(Ye, "SingletonImmutableSet", 350), M(1115, 1, {}, rt), l.Kb = function (e) { return u(e, 164) }, N(Ye, "Streams/lambda$0$Type", 1115), M(1116, 1, Tq, itt), l.Vd = function () { tin(this.a) }, N(Ye, "Streams/lambda$1$Type", 1116), M(1659, 1658, wb, rXt), l.Zb = function () { var e; return e = this.f, u(u(e || (this.f = Et(this.c, 171) ? new hj(this, u(this.c, 171)) : Et(this.c, 161) ? new BM(this, u(this.c, 161)) : new n8(this, this.c)), 161), 171) }, l.hc = function () { return new Dp(this.b) }, l.gd = function () { return new Dp(this.b) }, l.ec = function () { var e; return e = this.i, u(u(e || (this.i = Et(this.c, 171) ? new e8(this, u(this.c, 171)) : Et(this.c, 161) ? new dM(this, u(this.c, 161)) : new W3(this, this.c)), 84), 271) }, l.ac = function () { return Et(this.c, 171) ? new hj(this, u(this.c, 171)) : Et(this.c, 161) ? new BM(this, u(this.c, 161)) : new n8(this, this.c) }, l.ic = function (e) { return e == null && this.a.ue(e, e), new Dp(this.b) }, N(Ye, "TreeMultimap", 1659), M(78, 1, { 3: 1, 78: 1 }), l.Wd = function (e) { return new Error(e) }, l.Xd = function () { return this.e }, l.Yd = function () { return dun(Cu(Ant((this.k == null && (this.k = Ot(cut, te, 78, 0, 0, 1)), this.k)), new me)) }, l.Zd = function () { return this.f }, l.$d = function () { return this.g }, l._d = function () { HUe(this, Wnn(this.Wd(Xnt(this, this.g)))), Z$t(this) }, l.Ib = function () { return Xnt(this, this.$d()) }, l.e = lhe, l.i = !1, l.n = !0; var cut = N(lc, "Throwable", 78); M(102, 78, { 3: 1, 102: 1, 78: 1 }), N(lc, "Exception", 102), M(60, 102, G0, H2, ic), N(lc, "RuntimeException", 60), M(598, 60, G0), N(lc, "JsException", 598), M(863, 598, G0), N(LI, "JavaScriptExceptionBase", 863), M(477, 863, { 477: 1, 3: 1, 102: 1, 60: 1, 78: 1 }, Pne), l.$d = function () { return Ffn(this), this.c }, l.ae = function () { return qt(this.b) === qt(L8t) ? null : this.b }; var L8t; N(d6t, "JavaScriptException", 477); var _0e = N(d6t, "JavaScriptObject$", 0), uut; M(1948, 1, {}), N(d6t, "Scheduler", 1948); var IH = 0, C0e = 0, OH = -1; M(890, 1948, {}, wt); var M8t; N(LI, "SchedulerImpl", 890); var lut; M(1960, 1, {}), N(LI, "StackTraceCreator/Collector", 1960), M(864, 1960, {}, gt), l.be = function (e) { var n = {}, r = []; e[Sat] = r; for (var s = arguments.callee.caller; s;) { var o = (T8(), s.name || (s.name = Psn(s.toString()))); r.push(o); var h = ":" + o, d = n[h]; if (d) { var w, k; for (w = 0, k = d.length; w < k; w++)if (d[w] === s) return } (d || (n[h] = [])).push(s), s = s.caller } }, l.ce = function (e) { var n, r, s, o; for (s = (T8(), e && e[Sat] ? e[Sat] : []), r = s.length, o = Ot(V8t, te, 310, r, 0, 1), n = 0; n < r; n++)o[n] = new znt(s[n], null, -1); return o }, N(LI, "StackTraceCreator/CollectorLegacy", 864), M(1961, 1960, {}), l.be = function (e) { }, l.de = function (e, n, r, s) { return new znt(n, e + "@" + s, r < 0 ? -1 : r) }, l.ce = function (e) { var n, r, s, o, h, d; if (o = chn(e), h = Ot(V8t, te, 310, 0, 0, 1), n = 0, s = o.length, s == 0) return h; for (d = Uue(this, o[0]), ln(d.d, Cat) || (h[n++] = d), r = 1; r < s; r++)h[n++] = Uue(this, o[r]); return h }, N(LI, "StackTraceCreator/CollectorModern", 1961), M(865, 1961, {}, pt), l.de = function (e, n, r, s) { return new znt(n, e, -1) }, N(LI, "StackTraceCreator/CollectorModernNoSourceMap", 865), M(1050, 1, {}), N(p6t, dhe, 1050), M(615, 1050, { 615: 1 }, oYt); var D8t; N(Uat, dhe, 615), M(2001, 1, {}), N(p6t, ghe, 2001), M(2002, 2001, {}), N(Uat, ghe, 2002), M(1090, 1, {}, Tt); var JC; N(Uat, "LocaleInfo", 1090), M(1918, 1, {}, kt), l.a = 0, N(Uat, "TimeZone", 1918), M(1258, 2002, {}, st), N("com.google.gwt.i18n.client.impl.cldr", "DateTimeFormatInfoImpl", 1258), M(434, 1, { 434: 1 }, BWt), l.a = !1, l.b = 0, N(p6t, "DateTimeFormat/PatternPart", 434), M(199, 1, phe, vR, ryt, Ebt), l.wd = function (e) { return Vnn(this, u(e, 199)) }, l.Fb = function (e) { return Et(e, 199) && _v(Ou(this.q.getTime()), Ou(u(e, 199).q.getTime())) }, l.Hb = function () { var e; return e = Ou(this.q.getTime()), $r(crt(e, jm(e, 32))) }, l.Ib = function () { var e, n, r; return r = -this.q.getTimezoneOffset(), e = (r >= 0 ? "+" : "") + (r / 60 | 0), n = KR(b.Math.abs(r) % 60), (Cse(), F0e)[this.q.getDay()] + " " + B0e[this.q.getMonth()] + " " + KR(this.q.getDate()) + " " + KR(this.q.getHours()) + ":" + KR(this.q.getMinutes()) + ":" + KR(this.q.getSeconds()) + " GMT" + e + n + " " + this.q.getFullYear() }; var NH = N(_r, "Date", 199); M(1915, 199, phe, Jie), l.a = !1, l.b = 0, l.c = 0, l.d = 0, l.e = 0, l.f = 0, l.g = !1, l.i = 0, l.j = 0, l.k = 0, l.n = 0, l.o = 0, l.p = 0, N("com.google.gwt.i18n.shared.impl", "DateRecord", 1915), M(1966, 1, {}), l.fe = function () { return null }, l.ge = function () { return null }, l.he = function () { return null }, l.ie = function () { return null }, l.je = function () { return null }, N(lx, "JSONValue", 1966), M(216, 1966, { 216: 1 }, pg, u6), l.Fb = function (e) { return Et(e, 216) ? Ewt(this.a, u(e, 216).a) : !1 }, l.ee = function () { return EUe }, l.Hb = function () { return lwt(this.a) }, l.fe = function () { return this }, l.Ib = function () { var e, n, r; for (r = new jl("["), n = 0, e = this.a.length; n < e; n++)n > 0 && (r.a += ","), Cc(r, Km(this, n)); return r.a += "]", r.a }, N(lx, "JSONArray", 216), M(483, 1966, { 483: 1 }, qk), l.ee = function () { return TUe }, l.ge = function () { return this }, l.Ib = function () { return Rn(), "" + this.a }, l.a = !1; var S0e, A0e; N(lx, "JSONBoolean", 483), M(985, 60, G0, Wzt), N(lx, "JSONException", 985), M(1023, 1966, {}, yt), l.ee = function () { return LUe }, l.Ib = function () { return Pu }; var L0e; N(lx, "JSONNull", 1023), M(258, 1966, { 258: 1 }, gT), l.Fb = function (e) { return Et(e, 258) ? this.a == u(e, 258).a : !1 }, l.ee = function () { return _Ue }, l.Hb = function () { return o8(this.a) }, l.he = function () { return this }, l.Ib = function () { return this.a + "" }, l.a = 0, N(lx, "JSONNumber", 258), M(183, 1966, { 183: 1 }, w6, Hk), l.Fb = function (e) { return Et(e, 183) ? Ewt(this.a, u(e, 183).a) : !1 }, l.ee = function () { return CUe }, l.Hb = function () { return lwt(this.a) }, l.ie = function () { return this }, l.Ib = function () { var e, n, r, s, o, h, d; for (d = new jl("{"), e = !0, h = Qrt(this, Ot(Me, te, 2, 0, 6, 1)), r = h, s = 0, o = r.length; s < o; ++s)n = r[s], e ? e = !1 : d.a += ao, ni(d, Vae(n)), d.a += ":", Cc(d, D0(this, n)); return d.a += "}", d.a }, N(lx, "JSONObject", 183), M(596, q1, Xu, Jtt), l.Hc = function (e) { return pa(e) && cWe(this.a, Kr(e)) }, l.Kc = function () { return new h6(new Al(this.b)) }, l.gc = function () { return this.b.length }, N(lx, "JSONObject/1", 596); var hut; M(204, 1966, { 204: 1 }, zm), l.Fb = function (e) { return Et(e, 204) ? ln(this.a, u(e, 204).a) : !1 }, l.ee = function () { return SUe }, l.Hb = function () { return Fg(this.a) }, l.je = function () { return this }, l.Ib = function () { return Vae(this.a) }, N(lx, "JSONString", 204); var u2, I8t, M0e, O8t, N8t; M(1962, 1, { 525: 1 }), N(b6t, "OutputStream", 1962), M(1963, 1962, { 525: 1 }), N(b6t, "FilterOutputStream", 1963), M(866, 1963, { 525: 1 }, ae), N(b6t, "PrintStream", 866), M(418, 1, { 475: 1 }), l.Ib = function () { return this.a }, N(lc, "AbstractStringBuilder", 418), M(529, 60, G0, aR), N(lc, "ArithmeticException", 529), M(73, 60, Wat, ipt, Oo), N(lc, "IndexOutOfBoundsException", 73), M(320, 73, { 3: 1, 320: 1, 102: 1, 73: 1, 60: 1, 78: 1 }, apt, Dpt), N(lc, "ArrayIndexOutOfBoundsException", 320), M(528, 60, G0, Dtt, Xzt), N(lc, "ArrayStoreException", 528), M(289, 78, bhe, qtt), N(lc, "Error", 289), M(194, 289, bhe, rpt, $wt), N(lc, "AssertionError", 194), v0e = { 3: 1, 476: 1, 35: 1 }; var Lb, Y7, Zs = N(lc, "Boolean", 476); M(236, 1, { 3: 1, 236: 1 }); var P8t; N(lc, "Number", 236), M(217, 236, { 3: 1, 217: 1, 35: 1, 236: 1 }, mtt), l.wd = function (e) { return sWe(this, u(e, 217)) }, l.ke = function () { return this.a }, l.Fb = function (e) { return Et(e, 217) && u(e, 217).a == this.a }, l.Hb = function () { return this.a }, l.Ib = function () { return "" + this.a }, l.a = 0; var kx = N(lc, "Byte", 217), F8t; M(172, 1, { 3: 1, 172: 1, 35: 1 }, GB), l.wd = function (e) { return aWe(this, u(e, 172)) }, l.Fb = function (e) { return Et(e, 172) && u(e, 172).a == this.a }, l.Hb = function () { return this.a }, l.Ib = function () { return String.fromCharCode(this.a) }, l.a = 0; var B8t, tS = N(lc, "Character", 172), R8t; M(205, 60, { 3: 1, 205: 1, 102: 1, 60: 1, 78: 1 }, J$t, Xk), N(lc, "ClassCastException", 205), w0e = { 3: 1, 35: 1, 333: 1, 236: 1 }; var ka = N(lc, "Double", 333); M(155, 236, { 3: 1, 35: 1, 155: 1, 236: 1 }, I3, opt), l.wd = function (e) { return gKe(this, u(e, 155)) }, l.ke = function () { return this.a }, l.Fb = function (e) { return Et(e, 155) && lWt(this.a, u(e, 155).a) }, l.Hb = function () { return Ms(this.a) }, l.Ib = function () { return "" + this.a }, l.a = 0; var X7 = N(lc, "Float", 155); M(32, 60, { 3: 1, 102: 1, 32: 1, 60: 1, 78: 1 }, cM, Bn, Sne), N(lc, "IllegalArgumentException", 32), M(71, 60, G0, qu, Yo), N(lc, "IllegalStateException", 71), M(19, 236, { 3: 1, 35: 1, 19: 1, 236: 1 }, rM), l.wd = function (e) { return pKe(this, u(e, 19)) }, l.ke = function () { return this.a }, l.Fb = function (e) { return Et(e, 19) && u(e, 19).a == this.a }, l.Hb = function () { return this.a }, l.Ib = function () { return "" + this.a }, l.a = 0; var to = N(lc, "Integer", 19), j8t, D0e; M(162, 236, { 3: 1, 35: 1, 162: 1, 236: 1 }, Em), l.wd = function (e) { return bKe(this, u(e, 162)) }, l.ke = function () { return qv(this.a) }, l.Fb = function (e) { return Et(e, 162) && _v(u(e, 162).a, this.a) }, l.Hb = function () { return $r(this.a) }, l.Ib = function () { return "" + v_(this.a) }, l.a = 0; var xw = N(lc, "Long", 162), $8t; M(2039, 1, {}), M(1831, 60, G0, Zzt), N(lc, "NegativeArraySizeException", 1831), M(173, 598, { 3: 1, 102: 1, 173: 1, 60: 1, 78: 1 }, ET, m6), l.Wd = function (e) { return new TypeError(e) }, N(lc, "NullPointerException", 173); var z8t, fut, I0e, q8t; M(127, 32, { 3: 1, 102: 1, 32: 1, 127: 1, 60: 1, 78: 1 }, dd), N(lc, "NumberFormatException", 127), M(184, 236, { 3: 1, 35: 1, 236: 1, 184: 1 }, UB), l.wd = function (e) { return oWe(this, u(e, 184)) }, l.ke = function () { return this.a }, l.Fb = function (e) { return Et(e, 184) && u(e, 184).a == this.a }, l.Hb = function () { return this.a }, l.Ib = function () { return "" + this.a }, l.a = 0; var kw = N(lc, "Short", 184), H8t; M(310, 1, { 3: 1, 310: 1 }, znt), l.Fb = function (e) { var n; return Et(e, 310) ? (n = u(e, 310), this.c == n.c && this.d == n.d && this.a == n.a && this.b == n.b) : !1 }, l.Hb = function () { return cz(ct(ot(nr, 1), De, 1, 5, [pe(this.c), this.a, this.d, this.b])) }, l.Ib = function () { return this.a + "." + this.d + "(" + (this.b != null ? this.b : "Unknown Source") + (this.c >= 0 ? ":" + this.c : "") + ")" }, l.c = 0; var V8t = N(lc, "StackTraceElement", 310); m0e = { 3: 1, 475: 1, 35: 1, 2: 1 }; var Me = N(lc, f6t, 2); M(107, 418, { 475: 1 }, yg, DT, Ih), N(lc, "StringBuffer", 107), M(100, 418, { 475: 1 }, Ap, Sm, jl), N(lc, "StringBuilder", 100), M(687, 73, Wat, Ipt), N(lc, "StringIndexOutOfBoundsException", 687), M(2043, 1, {}); var G8t; M(844, 1, {}, me), l.Kb = function (e) { return u(e, 78).e }, N(lc, "Throwable/lambda$0$Type", 844), M(41, 60, { 3: 1, 102: 1, 60: 1, 78: 1, 41: 1 }, Gr, mg), N(lc, "UnsupportedOperationException", 41), M(240, 236, { 3: 1, 35: 1, 236: 1, 240: 1 }, xD, zpt), l.wd = function (e) { return aue(this, u(e, 240)) }, l.ke = function () { return cy(que(this)) }, l.Fb = function (e) { var n; return this === e ? !0 : Et(e, 240) ? (n = u(e, 240), this.e == n.e && aue(this, n) == 0) : !1 }, l.Hb = function () { var e; return this.b != 0 ? this.b : this.a < 54 ? (e = Ou(this.f), this.b = $r(Xs(e, -1)), this.b = 33 * this.b + $r(Xs(Rp(e, 32), -1)), this.b = 17 * this.b + Ms(this.e), this.b) : (this.b = 17 * $ne(this.c) + Ms(this.e), this.b) }, l.Ib = function () { return que(this) }, l.a = 0, l.b = 0, l.d = 0, l.e = 0, l.f = 0; var O0e, Mb, U8t, W8t, K8t, Y8t, X8t, Q8t, dut = N("java.math", "BigDecimal", 240); M(91, 236, { 3: 1, 35: 1, 236: 1, 91: 1 }, f3t, Ag, K3, K3t, Hre, Fp), l.wd = function (e) { return Rre(this, u(e, 91)) }, l.ke = function () { return cy(yat(this, 0)) }, l.Fb = function (e) { return Gyt(this, e) }, l.Hb = function () { return $ne(this) }, l.Ib = function () { return yat(this, 0) }, l.b = -2, l.c = 0, l.d = 0, l.e = 0; var gut, PH, Z8t, put, FH, Q7, B4 = N("java.math", "BigInteger", 91), N0e, P0e, Ex, eS; M(488, 1967, dw), l.$b = function () { al(this) }, l._b = function (e) { return Il(this, e) }, l.uc = function (e) { return Tne(this, e, this.g) || Tne(this, e, this.f) }, l.vc = function () { return new vg(this) }, l.xc = function (e) { return or(this, e) }, l.zc = function (e, n) { return Pi(this, e, n) }, l.Bc = function (e) { return G6(this, e) }, l.gc = function () { return NT(this) }, N(_r, "AbstractHashMap", 488), M(261, q1, Xu, vg), l.$b = function () { this.a.$b() }, l.Hc = function (e) { return kQt(this, e) }, l.Kc = function () { return new ub(this.a) }, l.Mc = function (e) { var n; return kQt(this, e) ? (n = u(e, 42).cd(), this.a.Bc(n), !0) : !1 }, l.gc = function () { return this.a.gc() }, N(_r, "AbstractHashMap/EntrySet", 261), M(262, 1, va, ub), l.Nb = function (e) { Da(this, e) }, l.Pb = function () { return Uv(this) }, l.Ob = function () { return this.b }, l.Qb = function () { mJt(this) }, l.b = !1, N(_r, "AbstractHashMap/EntrySetIterator", 262), M(417, 1, va, h6), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return wM(this) }, l.Pb = function () { return VYt(this) }, l.Qb = function () { Ol(this) }, l.b = 0, l.c = -1, N(_r, "AbstractList/IteratorImpl", 417), M(96, 417, n0, Ca), l.Qb = function () { Ol(this) }, l.Rb = function (e) { Fm(this, e) }, l.Sb = function () { return this.b > 0 }, l.Tb = function () { return this.b }, l.Ub = function () { return ir(this.b > 0), this.a.Xb(this.c = --this.b) }, l.Vb = function () { return this.b - 1 }, l.Wb = function (e) { Om(this.c != -1), this.a._c(this.c, e) }, N(_r, "AbstractList/ListIteratorImpl", 96), M(219, 52, D7, Qd), l.Vc = function (e, n) { Vm(e, this.b), this.c.Vc(this.a + e, n), ++this.b }, l.Xb = function (e) { return An(e, this.b), this.c.Xb(this.a + e) }, l.$c = function (e) { var n; return An(e, this.b), n = this.c.$c(this.a + e), --this.b, n }, l._c = function (e, n) { return An(e, this.b), this.c._c(this.a + e, n) }, l.gc = function () { return this.b }, l.a = 0, l.b = 0, N(_r, "AbstractList/SubList", 219), M(384, q1, Xu, km), l.$b = function () { this.a.$b() }, l.Hc = function (e) { return this.a._b(e) }, l.Kc = function () { var e; return e = this.a.vc().Kc(), new nM(e) }, l.Mc = function (e) { return this.a._b(e) ? (this.a.Bc(e), !0) : !1 }, l.gc = function () { return this.a.gc() }, N(_r, "AbstractMap/1", 384), M(691, 1, va, nM), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return this.a.Ob() }, l.Pb = function () { var e; return e = u(this.a.Pb(), 42), e.cd() }, l.Qb = function () { this.a.Qb() }, N(_r, "AbstractMap/1/1", 691), M(226, 28, by, T1), l.$b = function () { this.a.$b() }, l.Hc = function (e) { return this.a.uc(e) }, l.Kc = function () { var e; return e = this.a.vc().Kc(), new _1(e) }, l.gc = function () { return this.a.gc() }, N(_r, "AbstractMap/2", 226), M(294, 1, va, _1), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return this.a.Ob() }, l.Pb = function () { var e; return e = u(this.a.Pb(), 42), e.dd() }, l.Qb = function () { this.a.Qb() }, N(_r, "AbstractMap/2/1", 294), M(484, 1, { 484: 1, 42: 1 }), l.Fb = function (e) { var n; return Et(e, 42) ? (n = u(e, 42), Gc(this.d, n.cd()) && Gc(this.e, n.dd())) : !1 }, l.cd = function () { return this.d }, l.dd = function () { return this.e }, l.Hb = function () { return V3(this.d) ^ V3(this.e) }, l.ed = function (e) { return Obt(this, e) }, l.Ib = function () { return this.d + "=" + this.e }, N(_r, "AbstractMap/AbstractEntry", 484), M(383, 484, { 484: 1, 383: 1, 42: 1 }, LR), N(_r, "AbstractMap/SimpleEntry", 383), M(1984, 1, Qat), l.Fb = function (e) { var n; return Et(e, 42) ? (n = u(e, 42), Gc(this.cd(), n.cd()) && Gc(this.dd(), n.dd())) : !1 }, l.Hb = function () { return V3(this.cd()) ^ V3(this.dd()) }, l.Ib = function () { return this.cd() + "=" + this.dd() }, N(_r, rhe, 1984), M(1992, 1967, ehe), l.tc = function (e) { return MZt(this, e) }, l._b = function (e) { return rnt(this, e) }, l.vc = function () { return new x(this) }, l.xc = function (e) { var n; return n = e, gc(fyt(this, n)) }, l.ec = function () { return new y(this) }, N(_r, "AbstractNavigableMap", 1992), M(739, q1, Xu, x), l.Hc = function (e) { return Et(e, 42) && MZt(this.b, u(e, 42)) }, l.Kc = function () { return new h_(this.b) }, l.Mc = function (e) { var n; return Et(e, 42) ? (n = u(e, 42), vJt(this.b, n)) : !1 }, l.gc = function () { return this.b.c }, N(_r, "AbstractNavigableMap/EntrySet", 739), M(493, q1, l6t, y), l.Nc = function () { return new SR(this) }, l.$b = function () { ST(this.a) }, l.Hc = function (e) { return rnt(this.a, e) }, l.Kc = function () { var e; return e = new h_(new c_(this.a).b), new g(e) }, l.Mc = function (e) { return rnt(this.a, e) ? (__(this.a, e), !0) : !1 }, l.gc = function () { return this.a.c }, N(_r, "AbstractNavigableMap/NavigableKeySet", 493), M(494, 1, va, g), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return wM(this.a.a) }, l.Pb = function () { var e; return e = uj(this.a), e.cd() }, l.Qb = function () { yWt(this.a) }, N(_r, "AbstractNavigableMap/NavigableKeySet/1", 494), M(2004, 28, by), l.Fc = function (e) { return M8(d7(this, e)), !0 }, l.Gc = function (e) { return Pn(e), vj(e != this, "Can't add a queue to itself"), io(this, e) }, l.$b = function () { for (; jrt(this) != null;); }, N(_r, "AbstractQueue", 2004), M(302, 28, { 4: 1, 20: 1, 28: 1, 14: 1 }, P3, WXt), l.Fc = function (e) { return Dwt(this, e), !0 }, l.$b = function () { Bwt(this) }, l.Hc = function (e) { return Wee(new T_(this), e) }, l.dc = function () { return AT(this) }, l.Kc = function () { return new T_(this) }, l.Mc = function (e) { return jen(new T_(this), e) }, l.gc = function () { return this.c - this.b & this.a.length - 1 }, l.Nc = function () { return new Cn(this, 272) }, l.Qc = function (e) { var n; return n = this.c - this.b & this.a.length - 1, e.length < n && (e = uR(new Array(n), e)), see(this, e, n), e.length > n && ds(e, n, null), e }, l.b = 0, l.c = 0, N(_r, "ArrayDeque", 302), M(446, 1, va, T_), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return this.a != this.b }, l.Pb = function () { return lz(this) }, l.Qb = function () { Gte(this) }, l.a = 0, l.b = 0, l.c = -1, N(_r, "ArrayDeque/IteratorImpl", 446), M(12, 52, whe, le, iu, Uu), l.Vc = function (e, n) { Rm(this, e, n) }, l.Fc = function (e) { return ue(this, e) }, l.Wc = function (e, n) { return wyt(this, e, n) }, l.Gc = function (e) { return Hs(this, e) }, l.$b = function () { this.c = Ot(nr, De, 1, 0, 5, 1) }, l.Hc = function (e) { return Qo(this, e, 0) != -1 }, l.Jc = function (e) { Mu(this, e) }, l.Xb = function (e) { return Fe(this, e) }, l.Xc = function (e) { return Qo(this, e, 0) }, l.dc = function () { return this.c.length == 0 }, l.Kc = function () { return new S(this) }, l.$c = function (e) { return Sg(this, e) }, l.Mc = function (e) { return Au(this, e) }, l.Ud = function (e, n) { UXt(this, e, n) }, l._c = function (e, n) { return gh(this, e, n) }, l.gc = function () { return this.c.length }, l.ad = function (e) { ua(this, e) }, l.Pc = function () { return Uet(this) }, l.Qc = function (e) { return $1(this, e) }; var E4n = N(_r, "ArrayList", 12); M(7, 1, va, S), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return sc(this) }, l.Pb = function () { return Q(this) }, l.Qb = function () { y_(this) }, l.a = 0, l.b = -1, N(_r, "ArrayList/1", 7), M(2013, b.Function, {}, lt), l.te = function (e, n) { return Vs(e, n) }, M(154, 52, mhe, Al), l.Hc = function (e) { return Wte(this, e) != -1 }, l.Jc = function (e) { var n, r, s, o; for (Pn(e), r = this.a, s = 0, o = r.length; s < o; ++s)n = r[s], e.td(n) }, l.Xb = function (e) { return lKt(this, e) }, l._c = function (e, n) { var r; return r = (An(e, this.a.length), this.a[e]), ds(this.a, e, n), r }, l.gc = function () { return this.a.length }, l.ad = function (e) { vnt(this.a, this.a.length, e) }, l.Pc = function () { return Qre(this, Ot(nr, De, 1, this.a.length, 5, 1)) }, l.Qc = function (e) { return Qre(this, e) }, N(_r, "Arrays/ArrayList", 154); var wo, u0, BH; M(940, 52, mhe, X), l.Hc = function (e) { return !1 }, l.Xb = function (e) { return I2t(e) }, l.Kc = function () { return pn(), r8(), Z7 }, l.Yc = function () { return pn(), r8(), Z7 }, l.gc = function () { return 0 }, N(_r, "Collections/EmptyList", 940), M(941, 1, n0, Rt), l.Nb = function (e) { Da(this, e) }, l.Rb = function (e) { throw et(new Gr) }, l.Ob = function () { return !1 }, l.Sb = function () { return !1 }, l.Pb = function () { throw et(new _c) }, l.Tb = function () { return 0 }, l.Ub = function () { throw et(new _c) }, l.Vb = function () { return -1 }, l.Qb = function () { throw et(new qu) }, l.Wb = function (e) { throw et(new qu) }; var Z7; N(_r, "Collections/EmptyListIterator", 941), M(943, 1967, L7, ft), l._b = function (e) { return !1 }, l.uc = function (e) { return !1 }, l.vc = function () { return pn(), BH }, l.xc = function (e) { return null }, l.ec = function () { return pn(), BH }, l.gc = function () { return 0 }, l.Cc = function () { return pn(), wo }, N(_r, "Collections/EmptyMap", 943), M(942, q1, M7, _t), l.Hc = function (e) { return !1 }, l.Kc = function () { return pn(), r8(), Z7 }, l.gc = function () { return 0 }, N(_r, "Collections/EmptySet", 942), M(599, 52, { 3: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1 }, I), l.Hc = function (e) { return Gc(this.a, e) }, l.Xb = function (e) { return An(e, 1), this.a }, l.gc = function () { return 1 }, N(_r, "Collections/SingletonList", 599), M(372, 1, ahe, T), l.Jc = function (e) { Oa(this, e) }, l.Lc = function () { return new kn(null, this.Nc()) }, l.Nc = function () { return new Cn(this, 0) }, l.Oc = function () { return new kn(null, this.Nc()) }, l.Fc = function (e) { return _qt() }, l.Gc = function (e) { return Cqt() }, l.$b = function () { Sqt() }, l.Hc = function (e) { return gM(this, e) }, l.Ic = function (e) { return gHt(this, e) }, l.dc = function () { return this.b.dc() }, l.Kc = function () { return new A(this.b.Kc()) }, l.Mc = function (e) { return Aqt() }, l.gc = function () { return this.b.gc() }, l.Pc = function () { return this.b.Pc() }, l.Qc = function (e) { return pHt(this, e) }, l.Ib = function () { return Jo(this.b) }, N(_r, "Collections/UnmodifiableCollection", 372), M(371, 1, va, A), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return this.b.Ob() }, l.Pb = function () { return this.b.Pb() }, l.Qb = function () { Lqt() }, N(_r, "Collections/UnmodifiableCollectionIterator", 371), M(531, 372, yhe, rj), l.Nc = function () { return new Cn(this, 16) }, l.Vc = function (e, n) { throw et(new Gr) }, l.Wc = function (e, n) { throw et(new Gr) }, l.Fb = function (e) { return Ni(this.a, e) }, l.Xb = function (e) { return this.a.Xb(e) }, l.Hb = function () { return ns(this.a) }, l.Xc = function (e) { return this.a.Xc(e) }, l.dc = function () { return this.a.dc() }, l.Yc = function () { return new ibt(this.a.Zc(0)) }, l.Zc = function (e) { return new ibt(this.a.Zc(e)) }, l.$c = function (e) { throw et(new Gr) }, l._c = function (e, n) { throw et(new Gr) }, l.ad = function (e) { throw et(new Gr) }, l.bd = function (e, n) { return new rj(this.a.bd(e, n)) }, N(_r, "Collections/UnmodifiableList", 531), M(690, 371, n0, ibt), l.Qb = function () { Lqt() }, l.Rb = function (e) { throw et(new Gr) }, l.Sb = function () { return this.a.Sb() }, l.Tb = function () { return this.a.Tb() }, l.Ub = function () { return this.a.Ub() }, l.Vb = function () { return this.a.Vb() }, l.Wb = function (e) { throw et(new Gr) }, N(_r, "Collections/UnmodifiableListIterator", 690), M(600, 1, dw, z), l.wc = function (e) { $_(this, e) }, l.yc = function (e, n, r) { return Ait(this, e, n, r) }, l.$b = function () { throw et(new Gr) }, l._b = function (e) { return this.c._b(e) }, l.uc = function (e) { return vHt(this, e) }, l.vc = function () { return x8(this) }, l.Fb = function (e) { return wHt(this, e) }, l.xc = function (e) { return this.c.xc(e) }, l.Hb = function () { return ns(this.c) }, l.dc = function () { return this.c.dc() }, l.ec = function () { return _Yt(this) }, l.zc = function (e, n) { throw et(new Gr) }, l.Bc = function (e) { throw et(new Gr) }, l.gc = function () { return this.c.gc() }, l.Ib = function () { return Jo(this.c) }, l.Cc = function () { return TYt(this) }, N(_r, "Collections/UnmodifiableMap", 600), M(382, 372, Tat, Qk), l.Nc = function () { return new Cn(this, 1) }, l.Fb = function (e) { return Ni(this.b, e) }, l.Hb = function () { return ns(this.b) }, N(_r, "Collections/UnmodifiableSet", 382), M(944, 382, Tat, iqt), l.Hc = function (e) { return bHt(this, e) }, l.Ic = function (e) { return this.b.Ic(e) }, l.Kc = function () { var e; return e = this.b.Kc(), new O(e) }, l.Pc = function () { var e; return e = this.b.Pc(), QQt(e, e.length), e }, l.Qc = function (e) { return aXt(this, e) }, N(_r, "Collections/UnmodifiableMap/UnmodifiableEntrySet", 944), M(945, 1, va, O), l.Nb = function (e) { Da(this, e) }, l.Pb = function () { return new $(u(this.a.Pb(), 42)) }, l.Ob = function () { return this.a.Ob() }, l.Qb = function () { throw et(new Gr) }, N(_r, "Collections/UnmodifiableMap/UnmodifiableEntrySet/1", 945), M(688, 1, Qat, $), l.Fb = function (e) { return this.a.Fb(e) }, l.cd = function () { return this.a.cd() }, l.dd = function () { return this.a.dd() }, l.Hb = function () { return this.a.Hb() }, l.ed = function (e) { throw et(new Gr) }, l.Ib = function () { return Jo(this.a) }, N(_r, "Collections/UnmodifiableMap/UnmodifiableEntrySet/UnmodifiableEntry", 688), M(601, 531, { 20: 1, 14: 1, 15: 1, 54: 1 }, Ytt), N(_r, "Collections/UnmodifiableRandomAccessList", 601), M(689, 382, ohe, sbt), l.Nc = function () { return new SR(this) }, l.Fb = function (e) { return Ni(this.a, e) }, l.Hb = function () { return ns(this.a) }, N(_r, "Collections/UnmodifiableSortedSet", 689), M(847, 1, Zat, Ue), l.ue = function (e, n) { var r; return r = ZQt(u(e, 11), u(n, 11)), r != 0 ? r : oue(u(e, 11), u(n, 11)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(_r, "Comparator/lambda$0$Type", 847); var J8t, t7t, e7t; M(751, 1, Zat, _n), l.ue = function (e, n) { return iJe(u(e, 35), u(n, 35)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return X3(), e7t }, N(_r, "Comparators/NaturalOrderComparator", 751), M(1177, 1, Zat, _e), l.ue = function (e, n) { return sJe(u(e, 35), u(n, 35)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return X3(), t7t }, N(_r, "Comparators/ReverseNaturalOrderComparator", 1177), M(64, 1, Zat, dt), l.Fb = function (e) { return this === e }, l.ue = function (e, n) { return this.a.ue(n, e) }, l.ve = function () { return this.a }, N(_r, "Comparators/ReversedComparator", 64), M(166, 60, G0, uh), N(_r, "ConcurrentModificationException", 166); var F0e, B0e; M(1904, 1, OI, rr), l.we = function (e) { Tre(this, e) }, l.Ib = function () { return "DoubleSummaryStatistics[count = " + v_(this.a) + ", avg = " + (RHt(this.a, 0) ? PZt(this) / qv(this.a) : 0) + ", min = " + this.c + ", max = " + this.b + ", sum = " + PZt(this) + "]" }, l.a = 0, l.b = Rs, l.c = ms, l.d = 0, l.e = 0, l.f = 0, N(_r, "DoubleSummaryStatistics", 1904), M(1805, 60, G0, tzt), N(_r, "EmptyStackException", 1805), M(451, 1967, dw, Y_), l.zc = function (e, n) { return Ibt(this, e, n) }, l.$b = function () { pYt(this) }, l._b = function (e) { return BHt(this, e) }, l.uc = function (e) { var n, r; for (r = new k6(this.a); r.a < r.c.a.length;)if (n = M_(r), Gc(e, this.b[n.g])) return !0; return !1 }, l.vc = function () { return new At(this) }, l.xc = function (e) { return Ao(this, e) }, l.Bc = function (e) { return wwt(this, e) }, l.gc = function () { return this.a.c }, N(_r, "EnumMap", 451), M(1352, q1, Xu, At), l.$b = function () { pYt(this.a) }, l.Hc = function (e) { return xQt(this, e) }, l.Kc = function () { return new cKt(this.a) }, l.Mc = function (e) { var n; return xQt(this, e) ? (n = u(e, 42).cd(), wwt(this.a, n), !0) : !1 }, l.gc = function () { return this.a.a.c }, N(_r, "EnumMap/EntrySet", 1352), M(1353, 1, va, cKt), l.Nb = function (e) { Da(this, e) }, l.Pb = function () { return this.b = M_(this.a), new $Ht(this.c, this.b) }, l.Ob = function () { return q2t(this.a) }, l.Qb = function () { Om(!!this.b), wwt(this.c, this.b), this.b = null }, N(_r, "EnumMap/EntrySetIterator", 1353), M(1354, 1984, Qat, $Ht), l.cd = function () { return this.a }, l.dd = function () { return this.b.b[this.a.g] }, l.ed = function (e) { return qvt(this.b, this.a.g, e) }, N(_r, "EnumMap/MapEntry", 1354), M(174, q1, { 20: 1, 28: 1, 14: 1, 174: 1, 21: 1 }); var R0e = N(_r, "EnumSet", 174); M(156, 174, { 20: 1, 28: 1, 14: 1, 174: 1, 156: 1, 21: 1 }, hh), l.Fc = function (e) { return xf(this, u(e, 22)) }, l.Hc = function (e) { return wnt(this, e) }, l.Kc = function () { return new k6(this) }, l.Mc = function (e) { return kKt(this, e) }, l.gc = function () { return this.c }, l.c = 0, N(_r, "EnumSet/EnumSetImpl", 156), M(343, 1, va, k6), l.Nb = function (e) { Da(this, e) }, l.Pb = function () { return M_(this) }, l.Ob = function () { return q2t(this) }, l.Qb = function () { Om(this.b != -1), ds(this.c.b, this.b, null), --this.c.c, this.b = -1 }, l.a = -1, l.b = -1, N(_r, "EnumSet/EnumSetImpl/IteratorImpl", 343), M(43, 488, C4, Rr, x6, eGt), l.re = function (e, n) { return qt(e) === qt(n) || e != null && Ni(e, n) }, l.se = function (e) { var n; return n = ns(e), n | 0 }, N(_r, "HashMap", 43), M(53, q1, v6t, na, fR, g_), l.Fc = function (e) { return Ys(this, e) }, l.$b = function () { this.a.$b() }, l.Hc = function (e) { return C0(this, e) }, l.dc = function () { return this.a.gc() == 0 }, l.Kc = function () { return this.a.ec().Kc() }, l.Mc = function (e) { return U2t(this, e) }, l.gc = function () { return this.a.gc() }; var T4n = N(_r, "HashSet", 53); M(1781, 1, SI, Te), l.ud = function (e) { Pee(this, e) }, l.Ib = function () { return "IntSummaryStatistics[count = " + v_(this.a) + ", avg = " + (RHt(this.a, 0) ? qv(this.d) / qv(this.a) : 0) + ", min = " + this.c + ", max = " + this.b + ", sum = " + v_(this.d) + "]" }, l.a = 0, l.b = $a, l.c = Di, l.d = 0, N(_r, "IntSummaryStatistics", 1781), M(1049, 1, r0, gGt), l.Jc = function (e) { Oa(this, e) }, l.Kc = function () { return new Awt(this) }, l.c = 0, N(_r, "InternalHashCodeMap", 1049), M(711, 1, va, Awt), l.Nb = function (e) { Da(this, e) }, l.Pb = function () { return this.d = this.a[this.c++], this.d }, l.Ob = function () { var e; return this.c < this.a.length ? !0 : (e = this.b.next(), e.done ? !1 : (this.a = e.value[1], this.c = 0, !0)) }, l.Qb = function () { H4t(this.e, this.d.cd()), this.c != 0 && --this.c }, l.c = 0, l.d = null, N(_r, "InternalHashCodeMap/1", 711); var j0e; M(1047, 1, r0, pGt), l.Jc = function (e) { Oa(this, e) }, l.Kc = function () { return new Rwt(this) }, l.c = 0, l.d = 0, N(_r, "InternalStringMap", 1047), M(710, 1, va, Rwt), l.Nb = function (e) { Da(this, e) }, l.Pb = function () { return this.c = this.a, this.a = this.b.next(), new wWt(this.d, this.c, this.d.d) }, l.Ob = function () { return !this.a.done }, l.Qb = function () { Vee(this.d, this.c.value[0]) }, N(_r, "InternalStringMap/1", 710), M(1048, 1984, Qat, wWt), l.cd = function () { return this.b.value[0] }, l.dd = function () { return this.a.d != this.c ? $T(this.a, this.b.value[0]) : this.b.value[1] }, l.ed = function (e) { return Jv(this.a, this.b.value[0], e) }, l.c = 0, N(_r, "InternalStringMap/2", 1048), M(228, 43, C4, tb, rmt), l.$b = function () { UUt(this) }, l._b = function (e) { return jHt(this, e) }, l.uc = function (e) { var n; for (n = this.d.a; n != this.d;) { if (Gc(n.e, e)) return !0; n = n.a } return !1 }, l.vc = function () { return new Mt(this) }, l.xc = function (e) { return Vv(this, e) }, l.zc = function (e, n) { return db(this, e, n) }, l.Bc = function (e) { return VJt(this, e) }, l.gc = function () { return NT(this.e) }, l.c = !1, N(_r, "LinkedHashMap", 228), M(387, 383, { 484: 1, 383: 1, 387: 1, 42: 1 }, vUt, avt), N(_r, "LinkedHashMap/ChainEntry", 387), M(701, q1, Xu, Mt), l.$b = function () { UUt(this.a) }, l.Hc = function (e) { return EQt(this, e) }, l.Kc = function () { return new twt(this) }, l.Mc = function (e) { var n; return EQt(this, e) ? (n = u(e, 42).cd(), VJt(this.a, n), !0) : !1 }, l.gc = function () { return NT(this.a.e) }, N(_r, "LinkedHashMap/EntrySet", 701), M(702, 1, va, twt), l.Nb = function (e) { Da(this, e) }, l.Pb = function () { return yJt(this) }, l.Ob = function () { return this.b != this.c.a.d }, l.Qb = function () { Om(!!this.a), frt(this.c.a.e, this), bvt(this.a), G6(this.c.a.e, this.a.d), xbt(this.c.a.e, this), this.a = null }, N(_r, "LinkedHashMap/EntrySet/EntryIterator", 702), M(178, 53, v6t, S0, Vet, yvt); var _4n = N(_r, "LinkedHashSet", 178); M(68, 1964, { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 68: 1, 15: 1 }, hs, int), l.Fc = function (e) { return pi(this, e) }, l.$b = function () { Nh(this) }, l.Zc = function (e) { return gi(this, e) }, l.gc = function () { return this.b }, l.b = 0; var C4n = N(_r, "LinkedList", 68); M(970, 1, n0, mWt), l.Nb = function (e) { Da(this, e) }, l.Rb = function (e) { YM(this, e) }, l.Ob = function () { return dR(this) }, l.Sb = function () { return this.b.b != this.d.a }, l.Pb = function () { return di(this) }, l.Tb = function () { return this.a }, l.Ub = function () { return lrt(this) }, l.Vb = function () { return this.a - 1 }, l.Qb = function () { N$(this) }, l.Wb = function (e) { Om(!!this.c), this.c.c = e }, l.a = 0, l.c = null, N(_r, "LinkedList/ListIteratorImpl", 970), M(608, 1, {}, Wt), N(_r, "LinkedList/Node", 608), M(1959, 1, {}); var n7t, $0e; N(_r, "Locale", 1959), M(861, 1959, {}, It), l.Ib = function () { return "" }, N(_r, "Locale/1", 861), M(862, 1959, {}, Nt), l.Ib = function () { return "unknown" }, N(_r, "Locale/4", 862), M(109, 60, { 3: 1, 102: 1, 60: 1, 78: 1, 109: 1 }, _c, SYt), N(_r, "NoSuchElementException", 109), M(404, 1, { 404: 1 }, sR), l.Fb = function (e) { var n; return e === this ? !0 : Et(e, 404) ? (n = u(e, 404), Gc(this.a, n.a)) : !1 }, l.Hb = function () { return V3(this.a) }, l.Ib = function () { return this.a != null ? the + o_(this.a) + ")" : "Optional.empty()" }; var RH; N(_r, "Optional", 404), M(463, 1, { 463: 1 }, aGt, gbt), l.Fb = function (e) { var n; return e === this ? !0 : Et(e, 463) ? (n = u(e, 463), this.a == n.a && Vs(this.b, n.b) == 0) : !1 }, l.Hb = function () { return this.a ? Ms(this.b) : 0 }, l.Ib = function () { return this.a ? "OptionalDouble.of(" + ("" + this.b) + ")" : "OptionalDouble.empty()" }, l.a = !1, l.b = 0; var r7t; N(_r, "OptionalDouble", 463), M(517, 1, { 517: 1 }, oGt, gUt), l.Fb = function (e) { var n; return e === this ? !0 : Et(e, 517) ? (n = u(e, 517), this.a == n.a && Tu(this.b, n.b) == 0) : !1 }, l.Hb = function () { return this.a ? this.b : 0 }, l.Ib = function () { return this.a ? "OptionalInt.of(" + ("" + this.b) + ")" : "OptionalInt.empty()" }, l.a = !1, l.b = 0; var z0e; N(_r, "OptionalInt", 517), M(503, 2004, by, Fj), l.Gc = function (e) { return A3t(this, e) }, l.$b = function () { this.b.c = Ot(nr, De, 1, 0, 5, 1) }, l.Hc = function (e) { return (e == null ? -1 : Qo(this.b, e, 0)) != -1 }, l.Kc = function () { return new V(this) }, l.Mc = function (e) { return aee(this, e) }, l.gc = function () { return this.b.c.length }, l.Nc = function () { return new Cn(this, 256) }, l.Pc = function () { return Uet(this.b) }, l.Qc = function (e) { return $1(this.b, e) }, N(_r, "PriorityQueue", 503), M(1277, 1, va, V), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return this.a < this.c.b.c.length }, l.Pb = function () { return ir(this.a < this.c.b.c.length), this.b = this.a++, Fe(this.c.b, this.b) }, l.Qb = function () { Om(this.b != -1), Yrt(this.c, this.a = this.b), this.b = -1 }, l.a = 0, l.b = -1, N(_r, "PriorityQueue/1", 1277), M(230, 1, { 230: 1 }, Lit, p$), l.a = 0, l.b = 0; var i7t, s7t, S4n = 0; N(_r, "Random", 230), M(27, 1, Rh, Cn, Ov, LYt), l.qd = function () { return this.a }, l.rd = function () { return Fvt(this), this.c }, l.Nb = function (e) { Fvt(this), this.d.Nb(e) }, l.sd = function (e) { return gte(this, e) }, l.a = 0, l.c = 0, N(_r, "Spliterators/IteratorSpliterator", 27), M(485, 27, Rh, SR), N(_r, "SortedSet/1", 485), M(602, 1, OI, U), l.we = function (e) { this.a.td(e) }, N(_r, "Spliterator/OfDouble/0methodref$accept$Type", 602), M(603, 1, OI, tt), l.we = function (e) { this.a.td(e) }, N(_r, "Spliterator/OfDouble/1methodref$accept$Type", 603), M(604, 1, SI, at), l.ud = function (e) { this.a.td(pe(e)) }, N(_r, "Spliterator/OfInt/2methodref$accept$Type", 604), M(605, 1, SI, ut), l.ud = function (e) { this.a.td(pe(e)) }, N(_r, "Spliterator/OfInt/3methodref$accept$Type", 605), M(617, 1, Rh), l.Nb = function (e) { qpt(this, e) }, l.qd = function () { return this.d }, l.rd = function () { return this.e }, l.d = 0, l.e = 0, N(_r, "Spliterators/BaseSpliterator", 617), M(721, 617, Rh), l.xe = function (e) { B3(this, e) }, l.Nb = function (e) { Et(e, 182) ? B3(this, u(e, 182)) : B3(this, new tt(e)) }, l.sd = function (e) { return Et(e, 182) ? this.ye(u(e, 182)) : this.ye(new U(e)) }, N(_r, "Spliterators/AbstractDoubleSpliterator", 721), M(720, 617, Rh), l.xe = function (e) { B3(this, e) }, l.Nb = function (e) { Et(e, 196) ? B3(this, u(e, 196)) : B3(this, new ut(e)) }, l.sd = function (e) { return Et(e, 196) ? this.ye(u(e, 196)) : this.ye(new at(e)) }, N(_r, "Spliterators/AbstractIntSpliterator", 720), M(540, 617, Rh), N(_r, "Spliterators/AbstractSpliterator", 540), M(692, 1, Rh), l.Nb = function (e) { qpt(this, e) }, l.qd = function () { return this.b }, l.rd = function () { return this.d - this.c }, l.b = 0, l.c = 0, l.d = 0, N(_r, "Spliterators/BaseArraySpliterator", 692), M(947, 692, Rh, XWt), l.ze = function (e, n) { bWe(this, u(e, 38), n) }, l.Nb = function (e) { Bnt(this, e) }, l.sd = function (e) { return x$(this, e) }, N(_r, "Spliterators/ArraySpliterator", 947), M(693, 692, Rh, pWt), l.ze = function (e, n) { vWe(this, u(e, 182), n) }, l.xe = function (e) { Bnt(this, e) }, l.Nb = function (e) { Et(e, 182) ? Bnt(this, u(e, 182)) : Bnt(this, new tt(e)) }, l.ye = function (e) { return x$(this, e) }, l.sd = function (e) { return Et(e, 182) ? x$(this, u(e, 182)) : x$(this, new U(e)) }, N(_r, "Spliterators/DoubleArraySpliterator", 693), M(1968, 1, Rh), l.Nb = function (e) { qpt(this, e) }, l.qd = function () { return 16448 }, l.rd = function () { return 0 }; var q0e; N(_r, "Spliterators/EmptySpliterator", 1968), M(946, 1968, Rh, Ae), l.xe = function (e) { Rk(e) }, l.Nb = function (e) { Et(e, 196) ? Rk(u(e, 196)) : Rk(new ut(e)) }, l.ye = function (e) { return Jpt(e) }, l.sd = function (e) { return Et(e, 196) ? Jpt(u(e, 196)) : Jpt(new at(e)) }, N(_r, "Spliterators/EmptySpliterator/OfInt", 946), M(580, 52, xhe, rR), l.Vc = function (e, n) { b8(e, this.a.c.length + 1), Rm(this.a, e, n) }, l.Fc = function (e) { return ue(this.a, e) }, l.Wc = function (e, n) { return b8(e, this.a.c.length + 1), wyt(this.a, e, n) }, l.Gc = function (e) { return Hs(this.a, e) }, l.$b = function () { this.a.c = Ot(nr, De, 1, 0, 5, 1) }, l.Hc = function (e) { return Qo(this.a, e, 0) != -1 }, l.Ic = function (e) { return MD(this.a, e) }, l.Jc = function (e) { Mu(this.a, e) }, l.Xb = function (e) { return b8(e, this.a.c.length), Fe(this.a, e) }, l.Xc = function (e) { return Qo(this.a, e, 0) }, l.dc = function () { return this.a.c.length == 0 }, l.Kc = function () { return new S(this.a) }, l.$c = function (e) { return b8(e, this.a.c.length), Sg(this.a, e) }, l.Ud = function (e, n) { UXt(this.a, e, n) }, l._c = function (e, n) { return b8(e, this.a.c.length), gh(this.a, e, n) }, l.gc = function () { return this.a.c.length }, l.ad = function (e) { ua(this.a, e) }, l.bd = function (e, n) { return new Qd(this.a, e, n) }, l.Pc = function () { return Uet(this.a) }, l.Qc = function (e) { return $1(this.a, e) }, l.Ib = function () { return Jp(this.a) }, N(_r, "Vector", 580), M(809, 580, xhe, ppt), N(_r, "Stack", 809), M(206, 1, { 206: 1 }, ab), l.Ib = function () { return pQt(this) }, N(_r, "StringJoiner", 206), M(544, 1992, { 3: 1, 83: 1, 171: 1, 161: 1 }, xHt, _nt), l.$b = function () { ST(this) }, l.vc = function () { return new c_(this) }, l.zc = function (e, n) { return az(this, e, n) }, l.Bc = function (e) { return __(this, e) }, l.gc = function () { return this.c }, l.c = 0, N(_r, "TreeMap", 544), M(390, 1, va, h_), l.Nb = function (e) { Da(this, e) }, l.Pb = function () { return uj(this) }, l.Ob = function () { return wM(this.a) }, l.Qb = function () { yWt(this) }, N(_r, "TreeMap/EntryIterator", 390), M(435, 739, Xu, c_), l.$b = function () { ST(this.a) }, N(_r, "TreeMap/EntrySet", 435), M(436, 383, { 484: 1, 383: 1, 42: 1, 436: 1 }, Art), l.b = !1; var A4n = N(_r, "TreeMap/Node", 436); M(621, 1, {}, ye), l.Ib = function () { return "State: mv=" + this.c + " value=" + this.d + " done=" + this.a + " found=" + this.b }, l.a = !1, l.b = !1, l.c = !1, N(_r, "TreeMap/State", 621), M(297, 22, eot, AR), l.Ae = function () { return !1 }, l.Be = function () { return !1 }; var but, a7t, o7t, c7t, jH = Xr(_r, "TreeMap/SubMapType", 297, ti, ern, IXe); M(1112, 297, eot, kGt), l.Be = function () { return !0 }, Xr(_r, "TreeMap/SubMapType/1", 1112, jH, null, null), M(1113, 297, eot, NGt), l.Ae = function () { return !0 }, l.Be = function () { return !0 }, Xr(_r, "TreeMap/SubMapType/2", 1113, jH, null, null), M(1114, 297, eot, EGt), l.Ae = function () { return !0 }, Xr(_r, "TreeMap/SubMapType/3", 1114, jH, null, null); var H0e; M(208, q1, { 3: 1, 20: 1, 28: 1, 14: 1, 271: 1, 21: 1, 84: 1, 208: 1 }, lpt, Dp), l.Nc = function () { return new SR(this) }, l.Fc = function (e) { return KM(this, e) }, l.$b = function () { ST(this.a) }, l.Hc = function (e) { return rnt(this.a, e) }, l.Kc = function () { var e; return e = new h_(new c_(new y(this.a).a).b), new g(e) }, l.Mc = function (e) { return Het(this, e) }, l.gc = function () { return this.a.c }; var L4n = N(_r, "TreeSet", 208); M(966, 1, {}, Dt), l.Ce = function (e, n) { return XYe(this.a, e, n) }, N(not, "BinaryOperator/lambda$0$Type", 966), M(967, 1, {}, Bt), l.Ce = function (e, n) { return QYe(this.a, e, n) }, N(not, "BinaryOperator/lambda$1$Type", 967), M(846, 1, {}, Vt), l.Kb = function (e) { return e }, N(not, "Function/lambda$0$Type", 846), M(431, 1, _i, Zt), l.Mb = function (e) { return !this.a.Mb(e) }, N(not, "Predicate/lambda$2$Type", 431), M(572, 1, { 572: 1 }); var V0e = N(_C, "Handler", 572); M(2007, 1, _I), l.ne = function () { return "DUMMY" }, l.Ib = function () { return this.ne() }; var u7t; N(_C, "Level", 2007), M(1621, 2007, _I, Gt), l.ne = function () { return "INFO" }, N(_C, "Level/LevelInfo", 1621), M(1640, 1, {}, szt); var vut; N(_C, "LogManager", 1640), M(1780, 1, _I, xWt), l.b = null, N(_C, "LogRecord", 1780), M(512, 1, { 512: 1 }, mrt), l.e = !1; var G0e = !1, U0e = !1, U1 = !1, W0e = !1, K0e = !1; N(_C, "Logger", 512), M(819, 572, { 572: 1 }, un), N(_C, "SimpleConsoleLogHandler", 819), M(132, 22, { 3: 1, 35: 1, 22: 1, 132: 1 }, net); var l7t, Zl, Sy, xl = Xr(Us, "Collector/Characteristics", 132, ti, Zen, OXe), Y0e; M(744, 1, {}, zvt), N(Us, "CollectorImpl", 744), M(1060, 1, {}, jt), l.Ce = function (e, n) { return rcn(u(e, 206), u(n, 206)) }, N(Us, "Collectors/10methodref$merge$Type", 1060), M(1061, 1, {}, Ke), l.Kb = function (e) { return pQt(u(e, 206)) }, N(Us, "Collectors/11methodref$toString$Type", 1061), M(1062, 1, {}, Kt), l.Kb = function (e) { return Rn(), !!O2t(e) }, N(Us, "Collectors/12methodref$test$Type", 1062), M(251, 1, {}, ne), l.Od = function (e, n) { u(e, 14).Fc(n) }, N(Us, "Collectors/20methodref$add$Type", 251), M(253, 1, {}, Ee), l.Ee = function () { return new le }, N(Us, "Collectors/21methodref$ctor$Type", 253), M(346, 1, {}, oe), l.Ee = function () { return new na }, N(Us, "Collectors/23methodref$ctor$Type", 346), M(347, 1, {}, Or), l.Od = function (e, n) { Ys(u(e, 53), n) }, N(Us, "Collectors/24methodref$add$Type", 347), M(1055, 1, {}, Le), l.Ce = function (e, n) { return kHt(u(e, 15), u(n, 14)) }, N(Us, "Collectors/4methodref$addAll$Type", 1055), M(1059, 1, {}, Nr), l.Od = function (e, n) { N0(u(e, 206), u(n, 475)) }, N(Us, "Collectors/9methodref$add$Type", 1059), M(1058, 1, {}, RWt), l.Ee = function () { return new ab(this.a, this.b, this.c) }, N(Us, "Collectors/lambda$15$Type", 1058), M(1063, 1, {}, fe), l.Ee = function () { var e; return e = new tb, db(e, (Rn(), !1), new le), db(e, !0, new le), e }, N(Us, "Collectors/lambda$22$Type", 1063), M(1064, 1, {}, $t), l.Ee = function () { return ct(ot(nr, 1), De, 1, 5, [this.a]) }, N(Us, "Collectors/lambda$25$Type", 1064), M(1065, 1, {}, ee), l.Od = function (e, n) { aJe(this.a, rb(e)) }, N(Us, "Collectors/lambda$26$Type", 1065), M(1066, 1, {}, Ht), l.Ce = function (e, n) { return IJe(this.a, rb(e), rb(n)) }, N(Us, "Collectors/lambda$27$Type", 1066), M(1067, 1, {}, sr), l.Kb = function (e) { return rb(e)[0] }, N(Us, "Collectors/lambda$28$Type", 1067), M(713, 1, {}, Yn), l.Ce = function (e, n) { return xvt(e, n) }, N(Us, "Collectors/lambda$4$Type", 713), M(252, 1, {}, tr), l.Ce = function (e, n) { return BWe(u(e, 14), u(n, 14)) }, N(Us, "Collectors/lambda$42$Type", 252), M(348, 1, {}, ur), l.Ce = function (e, n) { return RWe(u(e, 53), u(n, 53)) }, N(Us, "Collectors/lambda$50$Type", 348), M(349, 1, {}, gn), l.Kb = function (e) { return u(e, 53) }, N(Us, "Collectors/lambda$51$Type", 349), M(1054, 1, {}, ge), l.Od = function (e, n) { yon(this.a, u(e, 83), n) }, N(Us, "Collectors/lambda$7$Type", 1054), M(1056, 1, {}, En), l.Ce = function (e, n) { return Kan(u(e, 83), u(n, 83), new Le) }, N(Us, "Collectors/lambda$8$Type", 1056), M(1057, 1, {}, be), l.Kb = function (e) { return Bcn(this.a, u(e, 83)) }, N(Us, "Collectors/lambda$9$Type", 1057), M(539, 1, {}), l.He = function () { E_(this) }, l.d = !1, N(Us, "TerminatableStream", 539), M(812, 539, y6t, Tbt), l.He = function () { E_(this) }, N(Us, "DoubleStreamImpl", 812), M(1784, 721, Rh, jWt), l.ye = function (e) { return Gln(this, u(e, 182)) }, l.a = null, N(Us, "DoubleStreamImpl/2", 1784), M(1785, 1, OI, re), l.we = function (e) { MKe(this.a, e) }, N(Us, "DoubleStreamImpl/2/lambda$0$Type", 1785), M(1782, 1, OI, Pe), l.we = function (e) { LKe(this.a, e) }, N(Us, "DoubleStreamImpl/lambda$0$Type", 1782), M(1783, 1, OI, ve), l.we = function (e) { Tre(this.a, e) }, N(Us, "DoubleStreamImpl/lambda$2$Type", 1783), M(1358, 720, Rh, CZt), l.ye = function (e) { return Knn(this, u(e, 196)) }, l.a = 0, l.b = 0, l.c = 0, N(Us, "IntStream/5", 1358), M(787, 539, y6t, _bt), l.He = function () { E_(this) }, l.Ie = function () { return qp(this), this.a }, N(Us, "IntStreamImpl", 787), M(788, 539, y6t, Upt), l.He = function () { E_(this) }, l.Ie = function () { return qp(this), W2t(), q0e }, N(Us, "IntStreamImpl/Empty", 788), M(1463, 1, SI, fn), l.ud = function (e) { Pee(this.a, e) }, N(Us, "IntStreamImpl/lambda$4$Type", 1463); var M4n = ls(Us, "Stream"); M(30, 539, { 525: 1, 670: 1, 833: 1 }, kn), l.He = function () { E_(this) }; var J7; N(Us, "StreamImpl", 30), M(845, 1, {}, Dr), l.ld = function (e) { return zWt(e) }, N(Us, "StreamImpl/0methodref$lambda$2$Type", 845), M(1084, 540, Rh, gWt), l.sd = function (e) { for (; Rin(this);) { if (this.a.sd(e)) return !0; E_(this.b), this.b = null, this.a = null } return !1 }, N(Us, "StreamImpl/1", 1084), M(1085, 1, Qn, $e), l.td = function (e) { NZe(this.a, u(e, 833)) }, N(Us, "StreamImpl/1/lambda$0$Type", 1085), M(1086, 1, _i, qe), l.Mb = function (e) { return Ys(this.a, e) }, N(Us, "StreamImpl/1methodref$add$Type", 1086), M(1087, 540, Rh, HYt), l.sd = function (e) { var n; return this.a || (n = new le, this.b.a.Nb(new xn(n)), pn(), ua(n, this.c), this.a = new Cn(n, 16)), gte(this.a, e) }, l.a = null, N(Us, "StreamImpl/5", 1087), M(1088, 1, Qn, xn), l.td = function (e) { ue(this.a, e) }, N(Us, "StreamImpl/5/2methodref$add$Type", 1088), M(722, 540, Rh, umt), l.sd = function (e) { for (this.b = !1; !this.b && this.c.sd(new qHt(this, e));); return this.b }, l.b = !1, N(Us, "StreamImpl/FilterSpliterator", 722), M(1079, 1, Qn, qHt), l.td = function (e) { DJe(this.a, this.b, e) }, N(Us, "StreamImpl/FilterSpliterator/lambda$0$Type", 1079), M(1075, 721, Rh, RZt), l.ye = function (e) { return yXe(this, u(e, 182)) }, N(Us, "StreamImpl/MapToDoubleSpliterator", 1075), M(1078, 1, Qn, HHt), l.td = function (e) { ZWe(this.a, this.b, e) }, N(Us, "StreamImpl/MapToDoubleSpliterator/lambda$0$Type", 1078), M(1074, 720, Rh, jZt), l.ye = function (e) { return xXe(this, u(e, 196)) }, N(Us, "StreamImpl/MapToIntSpliterator", 1074), M(1077, 1, Qn, VHt), l.td = function (e) { QWe(this.a, this.b, e) }, N(Us, "StreamImpl/MapToIntSpliterator/lambda$0$Type", 1077), M(719, 540, Rh, Qwt), l.sd = function (e) { return hWt(this, e) }, N(Us, "StreamImpl/MapToObjSpliterator", 719), M(1076, 1, Qn, GHt), l.td = function (e) { JWe(this.a, this.b, e) }, N(Us, "StreamImpl/MapToObjSpliterator/lambda$0$Type", 1076), M(618, 1, Qn, hr), l.td = function (e) { stt(this, e) }, N(Us, "StreamImpl/ValueConsumer", 618), M(1080, 1, Qn, Ki), l.td = function (e) { G2() }, N(Us, "StreamImpl/lambda$0$Type", 1080), M(1081, 1, Qn, Is), l.td = function (e) { G2() }, N(Us, "StreamImpl/lambda$1$Type", 1081), M(1082, 1, {}, Nn), l.Ce = function (e, n) { return QXe(this.a, e, n) }, N(Us, "StreamImpl/lambda$4$Type", 1082), M(1083, 1, Qn, zHt), l.td = function (e) { oXe(this.b, this.a, e) }, N(Us, "StreamImpl/lambda$5$Type", 1083), M(1089, 1, Qn, er), l.td = function (e) { don(this.a, u(e, 365)) }, N(Us, "TerminatableStream/lambda$0$Type", 1089), M(2041, 1, {}), M(1914, 1, {}, Ha), N("javaemul.internal", "ConsoleLogger", 1914), M(2038, 1, {}); var D4n = 0, h7t, f7t = 0, $H; M(1768, 1, Qn, hi), l.td = function (e) { u(e, 308) }, N(O7, "BowyerWatsonTriangulation/lambda$0$Type", 1768), M(1769, 1, Qn, Sn), l.td = function (e) { io(this.a, u(e, 308).e) }, N(O7, "BowyerWatsonTriangulation/lambda$1$Type", 1769), M(1770, 1, Qn, qi), l.td = function (e) { u(e, 168) }, N(O7, "BowyerWatsonTriangulation/lambda$2$Type", 1770), M(1765, 1, Ui, Jn), l.ue = function (e, n) { return Srn(this.a, u(e, 168), u(n, 168)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(O7, "NaiveMinST/lambda$0$Type", 1765), M(499, 1, {}, fr), N(O7, "NodeMicroLayout", 499), M(168, 1, { 168: 1 }, E6), l.Fb = function (e) { var n; return Et(e, 168) ? (n = u(e, 168), Gc(this.a, n.a) && Gc(this.b, n.b) || Gc(this.a, n.b) && Gc(this.b, n.a)) : !1 }, l.Hb = function () { return V3(this.a) + V3(this.b) }; var I4n = N(O7, "TEdge", 168); M(308, 1, { 308: 1 }, R5t), l.Fb = function (e) { var n; return Et(e, 308) ? (n = u(e, 308), A$(this, n.a) && A$(this, n.b) && A$(this, n.c)) : !1 }, l.Hb = function () { return V3(this.a) + V3(this.b) + V3(this.c) }, N(O7, "TTriangle", 308), M(221, 1, { 221: 1 }, JR), N(O7, "Tree", 221), M(1254, 1, {}, MXt), N(The, "Scanline", 1254); var X0e = ls(The, _he); M(1692, 1, {}, wte), N(a0, "CGraph", 1692), M(307, 1, { 307: 1 }, _Xt), l.b = 0, l.c = 0, l.d = 0, l.g = 0, l.i = 0, l.k = Rs, N(a0, "CGroup", 307), M(815, 1, {}, hpt), N(a0, "CGroup/CGroupBuilder", 815), M(57, 1, { 57: 1 }, YUt), l.Ib = function () { var e; return this.j ? Kr(this.j.Kb(this)) : (A0(zH), zH.o + "@" + (e = Av(this) >>> 0, e.toString(16))) }, l.f = 0, l.i = Rs; var zH = N(a0, "CNode", 57); M(814, 1, {}, fpt), N(a0, "CNode/CNodeBuilder", 814); var Q0e; M(1525, 1, {}, zn), l.Oe = function (e, n) { return 0 }, l.Pe = function (e, n) { return 0 }, N(a0, She, 1525), M(1790, 1, {}, Zn), l.Le = function (e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z; for (_ = ms, s = new S(e.a.b); s.a < s.c.c.length;)n = u(Q(s), 57), _ = b.Math.min(_, n.a.j.d.c + n.b.a); for (G = new hs, d = new S(e.a.a); d.a < d.c.c.length;)h = u(Q(d), 307), h.k = _, h.g == 0 && Cs(G, h, G.c.b, G.c); for (; G.b != 0;) { for (h = u(G.b == 0 ? null : (ir(G.b != 0), bh(G, G.a.a)), 307), o = h.j.d.c, q = h.a.a.ec().Kc(); q.Ob();)L = u(q.Pb(), 57), Z = h.k + L.b.a, !Hon(e, h, e.d) || L.d.c < Z ? L.i = Z : L.i = L.d.c; for (o -= h.j.i, h.b += o, e.d == (xo(), Af) || e.d == X0 ? h.c += o : h.c -= o, F = h.a.a.ec().Kc(); F.Ob();)for (L = u(F.Pb(), 57), k = L.c.Kc(); k.Ob();)w = u(k.Pb(), 57), Pp(e.d) ? W = e.g.Oe(L, w) : W = e.g.Pe(L, w), w.a.k = b.Math.max(w.a.k, L.i + L.d.b + W - w.b.a), QYt(e, w, e.d) && (w.a.k = b.Math.max(w.a.k, w.d.c - w.b.a)), --w.a.g, w.a.g == 0 && pi(G, w.a) } for (r = new S(e.a.b); r.a < r.c.c.length;)n = u(Q(r), 57), n.d.c = n.i }, N(a0, "LongestPathCompaction", 1790), M(1690, 1, {}, Gae), l.e = !1; var Z0e, J0e, tge, wut = N(a0, Mhe, 1690); M(1691, 1, Qn, Sr), l.td = function (e) { Gan(this.a, u(e, 46)) }, N(a0, Dhe, 1691), M(1791, 1, {}, Pr), l.Me = function (e) { var n, r, s, o, h, d, w; for (r = new S(e.a.b); r.a < r.c.c.length;)n = u(Q(r), 57), n.c.$b(); for (o = new S(e.a.b); o.a < o.c.c.length;)for (s = u(Q(o), 57), d = new S(e.a.b); d.a < d.c.c.length;)h = u(Q(d), 57), s != h && (s.a && s.a == h.a || (Pp(e.d) ? w = e.g.Pe(s, h) : w = e.g.Oe(s, h), (h.d.c > s.d.c || s.d.c == h.d.c && s.d.b < h.d.b) && Mun(h.d.d + h.d.a + w, s.d.d) && s3t(h.d.d, s.d.d + s.d.a + w) && s.c.Fc(h))) }, N(a0, "QuadraticConstraintCalculation", 1791), M(522, 1, { 522: 1 }, Mtt), l.a = !1, l.b = !1, l.c = !1, l.d = !1, N(a0, Ihe, 522), M(803, 1, {}, Svt), l.Me = function (e) { this.c = e, sI(this, new In) }, N(a0, Ohe, 803), M(1718, 1, { 679: 1 }, JYt), l.Ke = function (e) { $dn(this, u(e, 464)) }, N(a0, Nhe, 1718), M(1719, 1, Ui, On), l.ue = function (e, n) { return ztn(u(e, 57), u(n, 57)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(a0, Phe, 1719), M(464, 1, { 464: 1 }, n2t), l.a = !1, N(a0, Fhe, 464), M(1720, 1, Ui, xi), l.ue = function (e, n) { return Zhn(u(e, 464), u(n, 464)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(a0, Bhe, 1720), M(1721, 1, Td, In), l.Lb = function (e) { return u(e, 57), !0 }, l.Fb = function (e) { return this === e }, l.Mb = function (e) { return u(e, 57), !0 }, N(a0, "ScanlineConstraintCalculator/lambda$1$Type", 1721), M(428, 22, { 3: 1, 35: 1, 22: 1, 428: 1 }, s2t); var d7t, mut, g7t = Xr(aot, "HighLevelSortingCriterion", 428, ti, Sen, NXe), ege; M(427, 22, { 3: 1, 35: 1, 22: 1, 427: 1 }, a2t); var p7t, yut, b7t = Xr(aot, "LowLevelSortingCriterion", 427, ti, Aen, PXe), nge, R4 = ls(hc, "ILayoutMetaDataProvider"); M(853, 1, jh, GL), l.Qe = function (e) { an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, T6t), oot), "Polyomino Traversal Strategy"), "Traversal strategy for trying different candidate positions for polyominoes."), E7t), (Rg(), ks)), I7t), on((n1(), Un))))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, _6t), oot), "Polyomino Secondary Sorting Criterion"), "Possible secondary sorting criteria for the processing order of polyominoes. They are used when polyominoes are equal according to the primary sorting criterion HighLevelSortingCriterion."), x7t), ks), b7t), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, C6t), oot), "Polyomino Primary Sorting Criterion"), "Possible primary sorting criteria for the processing order of polyominoes."), m7t), ks), g7t), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, S6t), oot), "Fill Polyominoes"), "Use the Profile Fill algorithm to fill polyominoes to prevent small polyominoes from being placed inside of big polyominoes with large holes. Might increase packing area."), (Rn(), !0)), qa), Zs), on(Un)))) }; var v7t, w7t, m7t, y7t, x7t, k7t, E7t; N(aot, "PolyominoOptions", 853), M(250, 22, { 3: 1, 35: 1, 22: 1, 250: 1 }, j3); var T7t, _7t, C7t, S7t, A7t, L7t, xut, M7t, D7t, I7t = Xr(aot, "TraversalStrategy", 250, ti, zsn, FXe), rge; M(213, 1, { 213: 1 }, rc), l.Ib = function () { return "NEdge[id=" + this.b + " w=" + this.g + " d=" + this.a + "]" }, l.a = 1, l.b = 0, l.c = 0, l.f = !1, l.g = 0; var ige = N(CC, "NEdge", 213); M(176, 1, {}, Dh), N(CC, "NEdge/NEdgeBuilder", 176), M(653, 1, {}, Itt), N(CC, "NGraph", 653), M(121, 1, { 121: 1 }, FZt), l.c = -1, l.d = 0, l.e = 0, l.i = -1, l.j = !1; var O7t = N(CC, "NNode", 121); M(795, 1, yhe, cpt), l.Jc = function (e) { Oa(this, e) }, l.Lc = function () { return new kn(null, new Cn(this, 16)) }, l.ad = function (e) { e4(this, e) }, l.Nc = function () { return new Cn(this, 16) }, l.Oc = function () { return new kn(null, new Cn(this, 16)) }, l.Vc = function (e, n) { ++this.b, Rm(this.a, e, n) }, l.Fc = function (e) { return aj(this, e) }, l.Wc = function (e, n) { return ++this.b, wyt(this.a, e, n) }, l.Gc = function (e) { return ++this.b, Hs(this.a, e) }, l.$b = function () { ++this.b, this.a.c = Ot(nr, De, 1, 0, 5, 1) }, l.Hc = function (e) { return Qo(this.a, e, 0) != -1 }, l.Ic = function (e) { return MD(this.a, e) }, l.Xb = function (e) { return Fe(this.a, e) }, l.Xc = function (e) { return Qo(this.a, e, 0) }, l.dc = function () { return this.a.c.length == 0 }, l.Kc = function () { return W6(new S(this.a)) }, l.Yc = function () { throw et(new Gr) }, l.Zc = function (e) { throw et(new Gr) }, l.$c = function (e) { return ++this.b, Sg(this.a, e) }, l.Mc = function (e) { return ubt(this, e) }, l._c = function (e, n) { return ++this.b, gh(this.a, e, n) }, l.gc = function () { return this.a.c.length }, l.bd = function (e, n) { return new Qd(this.a, e, n) }, l.Pc = function () { return Uet(this.a) }, l.Qc = function (e) { return $1(this.a, e) }, l.b = 0, N(CC, "NNode/ChangeAwareArrayList", 795), M(269, 1, {}, V2), N(CC, "NNode/NNodeBuilder", 269), M(1630, 1, {}, qn), l.a = !1, l.f = Di, l.j = 0, N(CC, "NetworkSimplex", 1630), M(1294, 1, Qn, wr), l.td = function (e) { mle(this.a, u(e, 680), !0, !1) }, N(Rhe, "NodeLabelAndSizeCalculator/lambda$0$Type", 1294), M(558, 1, {}, cr), l.b = !0, l.c = !0, l.d = !0, l.e = !0, N(Rhe, "NodeMarginCalculator", 558), M(212, 1, { 212: 1 }), l.j = !1, l.k = !1; var sge = N(yb, "Cell", 212); M(124, 212, { 124: 1, 212: 1 }, eWt), l.Re = function () { return yj(this) }, l.Se = function () { var e; return e = this.n, this.a.a + e.b + e.c }, N(yb, "AtomicCell", 124), M(232, 22, { 3: 1, 35: 1, 22: 1, 232: 1 }, ret); var wc, uu, mc, Ay = Xr(yb, "ContainerArea", 232, ti, Jen, BXe), age; M(326, 212, jhe), N(yb, "ContainerCell", 326), M(1473, 326, jhe, wre), l.Re = function () { var e; return e = 0, this.e ? this.b ? e = this.b.b : this.a[1][1] && (e = this.a[1][1].Re()) : e = $yt(this, Mie(this, !0)), e > 0 ? e + this.n.d + this.n.a : 0 }, l.Se = function () { var e, n, r, s, o; if (o = 0, this.e) this.b ? o = this.b.a : this.a[1][1] && (o = this.a[1][1].Se()); else if (this.g) o = $yt(this, ust(this, null, !0)); else for (n = (t1(), ct(ot(Ay, 1), se, 232, 0, [wc, uu, mc])), r = 0, s = n.length; r < s; ++r)e = n[r], o = b.Math.max(o, $yt(this, ust(this, e, !0))); return o > 0 ? o + this.n.b + this.n.c : 0 }, l.Te = function () { var e, n, r, s, o; if (this.g) for (e = ust(this, null, !1), r = (t1(), ct(ot(Ay, 1), se, 232, 0, [wc, uu, mc])), s = 0, o = r.length; s < o; ++s)n = r[s], rce(this, n, e); else for (r = (t1(), ct(ot(Ay, 1), se, 232, 0, [wc, uu, mc])), s = 0, o = r.length; s < o; ++s)n = r[s], e = ust(this, n, !1), rce(this, n, e) }, l.Ue = function () { var e, n, r, s; n = this.i, e = this.n, s = Mie(this, !1), Vwt(this, (t1(), wc), n.d + e.d, s), Vwt(this, mc, n.d + n.a - e.a - s[2], s), r = n.a - e.d - e.a, s[0] > 0 && (s[0] += this.d, r -= s[0]), s[2] > 0 && (s[2] += this.d, r -= s[2]), this.c.a = b.Math.max(0, r), this.c.d = n.d + e.d + (this.c.a - r) / 2, s[1] = b.Math.max(s[1], r), Vwt(this, uu, n.d + e.d + s[0] - (s[1] - r) / 2, s) }, l.b = null, l.d = 0, l.e = !1, l.f = !1, l.g = !1; var kut = 0, qH = 0; N(yb, "GridContainerCell", 1473), M(461, 22, { 3: 1, 35: 1, 22: 1, 461: 1 }, iet); var l2, Od, _f, oge = Xr(yb, "HorizontalLabelAlignment", 461, ti, tnn, RXe), cge; M(306, 212, { 212: 1, 306: 1 }, dXt, yte, lXt), l.Re = function () { return QWt(this) }, l.Se = function () { return vvt(this) }, l.a = 0, l.c = !1; var O4n = N(yb, "LabelCell", 306); M(244, 326, { 212: 1, 326: 1, 244: 1 }, Q_), l.Re = function () { return oI(this) }, l.Se = function () { return cI(this) }, l.Te = function () { tat(this) }, l.Ue = function () { eat(this) }, l.b = 0, l.c = 0, l.d = !1, N(yb, "StripContainerCell", 244), M(1626, 1, _i, ss), l.Mb = function (e) { return QUe(u(e, 212)) }, N(yb, "StripContainerCell/lambda$0$Type", 1626), M(1627, 1, {}, Aa), l.Fe = function (e) { return u(e, 212).Se() }, N(yb, "StripContainerCell/lambda$1$Type", 1627), M(1628, 1, _i, Ya), l.Mb = function (e) { return ZUe(u(e, 212)) }, N(yb, "StripContainerCell/lambda$2$Type", 1628), M(1629, 1, {}, Ea), l.Fe = function (e) { return u(e, 212).Re() }, N(yb, "StripContainerCell/lambda$3$Type", 1629), M(462, 22, { 3: 1, 35: 1, 22: 1, 462: 1 }, set); var Cf, h2, o1, uge = Xr(yb, "VerticalLabelAlignment", 462, ti, enn, jXe), lge; M(789, 1, {}, t6t), l.c = 0, l.d = 0, l.k = 0, l.s = 0, l.t = 0, l.v = !1, l.w = 0, l.D = !1, N(Aq, "NodeContext", 789), M(1471, 1, Ui, ga), l.ue = function (e, n) { return dGt(u(e, 61), u(n, 61)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Aq, "NodeContext/0methodref$comparePortSides$Type", 1471), M(1472, 1, Ui, Es), l.ue = function (e, n) { return _1n(u(e, 111), u(n, 111)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Aq, "NodeContext/1methodref$comparePortContexts$Type", 1472), M(159, 22, { 3: 1, 35: 1, 22: 1, 159: 1 }, vh); var hge, fge, dge, gge, pge, bge, vge, wge, mge, yge, xge, kge, Ege, Tge, _ge, Cge, Sge, Age, Lge, Mge, Dge, Eut, Ige = Xr(Aq, "NodeLabelLocation", 159, ti, zit, $Xe), Oge; M(111, 1, { 111: 1 }, Uae), l.a = !1, N(Aq, "PortContext", 111), M(1476, 1, Qn, Bs), l.td = function (e) { Iqt(u(e, 306)) }, N(PI, $he, 1476), M(1477, 1, _i, Ta), l.Mb = function (e) { return !!u(e, 111).c }, N(PI, zhe, 1477), M(1478, 1, Qn, La), l.td = function (e) { Iqt(u(e, 111).c) }, N(PI, "LabelPlacer/lambda$2$Type", 1478); var N7t; M(1475, 1, Qn, sv), l.td = function (e) { Pm(), DUe(u(e, 111)) }, N(PI, "NodeLabelAndSizeUtilities/lambda$0$Type", 1475), M(790, 1, Qn, Xbt), l.td = function (e) { HWe(this.b, this.c, this.a, u(e, 181)) }, l.a = !1, l.c = !1, N(PI, "NodeLabelCellCreator/lambda$0$Type", 790), M(1474, 1, Qn, bn), l.td = function (e) { NUe(this.a, u(e, 181)) }, N(PI, "PortContextCreator/lambda$0$Type", 1474); var HH; M(1829, 1, {}, rl), N(P7, "GreedyRectangleStripOverlapRemover", 1829), M(1830, 1, Ui, Va), l.ue = function (e, n) { return xYe(u(e, 222), u(n, 222)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(P7, "GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type", 1830), M(1786, 1, {}, lzt), l.a = 5, l.e = 0, N(P7, "RectangleStripOverlapRemover", 1786), M(1787, 1, Ui, As), l.ue = function (e, n) { return kYe(u(e, 222), u(n, 222)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(P7, "RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type", 1787), M(1789, 1, Ui, gp), l.ue = function (e, n) { return UJe(u(e, 222), u(n, 222)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(P7, "RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type", 1789), M(406, 22, { 3: 1, 35: 1, 22: 1, 406: 1 }, IR); var iO, Tut, _ut, sO, Nge = Xr(P7, "RectangleStripOverlapRemover/OverlapRemovalDirection", 406, ti, trn, zXe), Pge; M(222, 1, { 222: 1 }, ynt), N(P7, "RectangleStripOverlapRemover/RectangleNode", 222), M(1788, 1, Qn, Tr), l.td = function (e) { Xln(this.a, u(e, 222)) }, N(P7, "RectangleStripOverlapRemover/lambda$1$Type", 1788), M(1304, 1, Ui, sd), l.ue = function (e, n) { return nmn(u(e, 167), u(n, 167)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(_d, "PolyominoCompactor/CornerCasesGreaterThanRestComparator", 1304), M(1307, 1, {}, Rl), l.Kb = function (e) { return u(e, 324).a }, N(_d, "PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$0$Type", 1307), M(1308, 1, _i, $u), l.Mb = function (e) { return u(e, 323).a }, N(_d, "PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$1$Type", 1308), M(1309, 1, _i, Gi), l.Mb = function (e) { return u(e, 323).a }, N(_d, "PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$2$Type", 1309), M(1302, 1, Ui, He), l.ue = function (e, n) { return Fbn(u(e, 167), u(n, 167)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(_d, "PolyominoCompactor/MinNumOfExtensionDirectionsComparator", 1302), M(1305, 1, {}, mu), l.Kb = function (e) { return u(e, 324).a }, N(_d, "PolyominoCompactor/MinNumOfExtensionDirectionsComparator/lambda$0$Type", 1305), M(767, 1, Ui, Er), l.ue = function (e, n) { return Ran(u(e, 167), u(n, 167)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(_d, "PolyominoCompactor/MinNumOfExtensionsComparator", 767), M(1300, 1, Ui, ci), l.ue = function (e, n) { return Wsn(u(e, 321), u(n, 321)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(_d, "PolyominoCompactor/MinPerimeterComparator", 1300), M(1301, 1, Ui, Xa), l.ue = function (e, n) { return Eln(u(e, 321), u(n, 321)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(_d, "PolyominoCompactor/MinPerimeterComparatorWithShape", 1301), M(1303, 1, Ui, kc), l.ue = function (e, n) { return svn(u(e, 167), u(n, 167)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(_d, "PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator", 1303), M(1306, 1, {}, yu), l.Kb = function (e) { return u(e, 324).a }, N(_d, "PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator/lambda$0$Type", 1306), M(777, 1, {}, r2t), l.Ce = function (e, n) { return Xnn(this, u(e, 46), u(n, 167)) }, N(_d, "SuccessorCombination", 777), M(644, 1, {}, mo), l.Ce = function (e, n) { var r; return j0n((r = u(e, 46), u(n, 167), r)) }, N(_d, "SuccessorJitter", 644), M(643, 1, {}, xu), l.Ce = function (e, n) { var r; return S2n((r = u(e, 46), u(n, 167), r)) }, N(_d, "SuccessorLineByLine", 643), M(568, 1, {}, cf), l.Ce = function (e, n) { var r; return $gn((r = u(e, 46), u(n, 167), r)) }, N(_d, "SuccessorManhattan", 568), M(1356, 1, {}, x3), l.Ce = function (e, n) { var r; return Qpn((r = u(e, 46), u(n, 167), r)) }, N(_d, "SuccessorMaxNormWindingInMathPosSense", 1356), M(400, 1, {}, xr), l.Ce = function (e, n) { return Gvt(this, e, n) }, l.c = !1, l.d = !1, l.e = !1, l.f = !1, N(_d, "SuccessorQuadrantsGeneric", 400), M(1357, 1, {}, v1), l.Kb = function (e) { return u(e, 324).a }, N(_d, "SuccessorQuadrantsGeneric/lambda$0$Type", 1357), M(323, 22, { 3: 1, 35: 1, 22: 1, 323: 1 }, DR), l.a = !1; var aO, oO, cO, uO, Fge = Xr(Mq, D6t, 323, ti, rrn, qXe), Bge; M(1298, 1, {}), l.Ib = function () {
                                var e, n, r, s, o, h; for (r = " ", e = pe(0), o = 0; o < this.o; o++)r += "" + e.a, e = pe(VUt(e.a)); for (r += `
    `, e = pe(0), h = 0; h < this.p; h++) {
                                    for (r += "" + e.a, e = pe(VUt(e.a)), s = 0; s < this.o; s++)n = Krt(this, s, h), Oc(n, 0) == 0 ? r += "_" : Oc(n, 1) == 0 ? r += "X" : r += "0"; r += `
    `} return $l(r, 0, r.length - 1)
                            }, l.o = 0, l.p = 0, N(Mq, "TwoBitGrid", 1298), M(321, 1298, { 321: 1 }, Zyt), l.j = 0, l.k = 0, N(Mq, "PlanarGrid", 321), M(167, 321, { 321: 1, 167: 1 }), l.g = 0, l.i = 0, N(Mq, "Polyomino", 167); var N4n = ls(FI, Hhe); M(134, 1, I6t, k3), l.Ye = function (e, n) { return PD(this, e, n) }, l.Ve = function () { return fKt(this) }, l.We = function (e) { return K(this, e) }, l.Xe = function (e) { return ia(this, e) }, N(FI, "MapPropertyHolder", 134), M(1299, 134, I6t, Goe), N(Mq, "Polyominoes", 1299); var Rge = !1, nS, P7t; M(1766, 1, Qn, bL), l.td = function (e) { Hue(u(e, 221)) }, N(gx, "DepthFirstCompaction/0methodref$compactTree$Type", 1766), M(810, 1, Qn, fi), l.td = function (e) { vtn(this.a, u(e, 221)) }, N(gx, "DepthFirstCompaction/lambda$1$Type", 810), M(1767, 1, Qn, _Wt), l.td = function (e) { zun(this.a, this.b, this.c, u(e, 221)) }, N(gx, "DepthFirstCompaction/lambda$2$Type", 1767); var rS, F7t; M(65, 1, { 65: 1 }, IXt), N(gx, "Node", 65), M(1250, 1, {}, OGt), N(gx, "ScanlineOverlapCheck", 1250), M(1251, 1, { 679: 1 }, ZYt), l.Ke = function (e) { tXe(this, u(e, 440)) }, N(gx, "ScanlineOverlapCheck/OverlapsScanlineHandler", 1251), M(1252, 1, Ui, um), l.ue = function (e, n) { return Ecn(u(e, 65), u(n, 65)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(gx, "ScanlineOverlapCheck/OverlapsScanlineHandler/lambda$0$Type", 1252), M(440, 1, { 440: 1 }, i2t), l.a = !1, N(gx, "ScanlineOverlapCheck/Timestamp", 440), M(1253, 1, Ui, dg), l.ue = function (e, n) { return Jhn(u(e, 440), u(n, 440)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(gx, "ScanlineOverlapCheck/lambda$0$Type", 1253), M(550, 1, {}, cs), N(Vhe, "SVGImage", 550), M(324, 1, { 324: 1 }, Qbt), l.Ib = function () { return "(" + this.a + ao + this.b + ao + this.c + ")" }, N(Vhe, "UniqueTriple", 324), M(209, 1, xb), N(S4, "AbstractLayoutProvider", 209), M(1132, 209, xb, zs), l.Ze = function (e, n) { var r, s, o, h; switch (Ar(n, Ghe, 1), this.a = Xt(xe(ze(e, (Z_(), q7t)))), eb(e, Sut) && (o = Kr(ze(e, Sut)), r = Wst(z8(), o), r && (s = u(Znt(r.f), 209), s.Ze(e, Kc(n, 1)))), h = new KQt(this.a), this.b = qyn(h, e), u(ze(e, (pit(), R7t)), 481).g) { case 0: ign(new Ma, this.b), Mo(e, UH, K(this.b, UH)); break; default: Gd() }Xyn(h), Mo(e, $7t, this.b), br(n) }, l.a = 0, N(Uhe, "DisCoLayoutProvider", 1132), M(1244, 1, {}, Ma), l.c = !1, l.e = 0, l.f = 0, N(Uhe, "DisCoPolyominoCompactor", 1244), M(561, 1, { 561: 1 }, vKt), l.b = !0, N(Iq, "DCComponent", 561), M(394, 22, { 3: 1, 35: 1, 22: 1, 394: 1 }, MR), l.a = !1; var VH, lO, GH, hO, jge = Xr(Iq, "DCDirection", 394, ti, nrn, HXe), $ge; M(266, 134, { 3: 1, 266: 1, 94: 1, 134: 1 }, Ost), N(Iq, "DCElement", 266), M(395, 1, { 395: 1 }, k3t), l.c = 0, N(Iq, "DCExtension", 395), M(755, 134, I6t, gqt), N(Iq, "DCGraph", 755), M(481, 22, { 3: 1, 35: 1, 22: 1, 481: 1 }, wUt); var Cut, B7t = Xr(pot, O6t, 481, ti, Itn, VXe), zge; M(854, 1, jh, mJ), l.Qe = function (e) { an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, N6t), Whe), "Connected Components Compaction Strategy"), "Strategy for packing different connected components in order to save space and enhance readability of a graph."), j7t), (Rg(), ks)), B7t), on((n1(), Un))))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, P6t), Whe), "Connected Components Layout Algorithm"), "A layout algorithm that is to be applied to each connected component before the components themselves are compacted. If unspecified, the positions of the components' nodes are not altered."), T9), Me), on(Un)))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, F6t), "debug"), "DCGraph"), "Access to the DCGraph is intended for the debug view,"), X1), nr), on(Un)))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, B6t), "debug"), "List of Polyominoes"), "Access to the polyominoes is intended for the debug view,"), X1), nr), on(Un)))), Due((new yB, e)) }; var qge, R7t, j7t, Hge, Vge; N(pot, "DisCoMetaDataProvider", 854), M(998, 1, jh, yB), l.Qe = function (e) { Due(e) }; var Gge, Sut, Uge, $7t, UH, Aut, z7t, Wge, Kge, Yge, Xge, q7t; N(pot, "DisCoOptions", 998), M(999, 1, {}, Ei), l.$e = function () { var e; return e = new zs, e }, l._e = function (e) { }, N(pot, "DisCoOptions/DiscoFactory", 999), M(562, 167, { 321: 1, 167: 1, 562: 1 }, Aoe), l.a = 0, l.b = 0, l.c = 0, l.d = 0, N("org.eclipse.elk.alg.disco.structures", "DCPolyomino", 562); var Lut, Mut, WH; M(1268, 1, _i, Rc), l.Mb = function (e) { return O2t(e) }, N(A4, "ElkGraphComponentsProcessor/lambda$0$Type", 1268), M(1269, 1, {}, Ne), l.Kb = function (e) { return R6(), e0(u(e, 79)) }, N(A4, "ElkGraphComponentsProcessor/lambda$1$Type", 1269), M(1270, 1, _i, pp), l.Mb = function (e) { return HZe(u(e, 79)) }, N(A4, "ElkGraphComponentsProcessor/lambda$2$Type", 1270), M(1271, 1, {}, We), l.Kb = function (e) { return R6(), Zp(u(e, 79)) }, N(A4, "ElkGraphComponentsProcessor/lambda$3$Type", 1271), M(1272, 1, _i, uf), l.Mb = function (e) { return VZe(u(e, 79)) }, N(A4, "ElkGraphComponentsProcessor/lambda$4$Type", 1272), M(1273, 1, _i, Ii), l.Mb = function (e) { return Nen(this.a, u(e, 79)) }, N(A4, "ElkGraphComponentsProcessor/lambda$5$Type", 1273), M(1274, 1, {}, oa), l.Kb = function (e) { return ZJe(this.a, u(e, 79)) }, N(A4, "ElkGraphComponentsProcessor/lambda$6$Type", 1274), M(1241, 1, {}, KQt), l.a = 0, N(A4, "ElkGraphTransformer", 1241), M(1242, 1, {}, lm), l.Od = function (e, n) { H0n(this, u(e, 160), u(n, 266)) }, N(A4, "ElkGraphTransformer/OffsetApplier", 1242), M(1243, 1, Qn, Fa), l.td = function (e) { gYe(this, u(e, 8)) }, N(A4, "ElkGraphTransformer/OffsetApplier/OffSetToChainApplier", 1243), M(753, 1, {}, EE), N(j6t, $6t, 753), M(1232, 1, Ui, bp), l.ue = function (e, n) { return L0n(u(e, 231), u(n, 231)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(j6t, Khe, 1232), M(740, 209, xb, upt), l.Ze = function (e, n) { Doe(this, e, n) }, N(j6t, "ForceLayoutProvider", 740), M(357, 134, { 3: 1, 357: 1, 94: 1, 134: 1 }), N(BI, "FParticle", 357), M(559, 357, { 3: 1, 559: 1, 357: 1, 94: 1, 134: 1 }, ZKt), l.Ib = function () { var e; return this.a ? (e = Qo(this.a.a, this, 0), e >= 0 ? "b" + e + "[" + wrt(this.a) + "]" : "b[" + wrt(this.a) + "]") : "b_" + Av(this) }, N(BI, "FBendpoint", 559), M(282, 134, { 3: 1, 282: 1, 94: 1, 134: 1 }, WUt), l.Ib = function () { return wrt(this) }, N(BI, "FEdge", 282), M(231, 134, { 3: 1, 231: 1, 94: 1, 134: 1 }, v$); var P4n = N(BI, "FGraph", 231); M(447, 357, { 3: 1, 447: 1, 357: 1, 94: 1, 134: 1 }, XQt), l.Ib = function () { return this.b == null || this.b.length == 0 ? "l[" + wrt(this.a) + "]" : "l_" + this.b }, N(BI, "FLabel", 447), M(144, 357, { 3: 1, 144: 1, 357: 1, 94: 1, 134: 1 }, aYt), l.Ib = function () { return kwt(this) }, l.b = 0, N(BI, "FNode", 144), M(2003, 1, {}), l.bf = function (e) { O5t(this, e) }, l.cf = function () { Lie(this) }, l.d = 0, N(z6t, "AbstractForceModel", 2003), M(631, 2003, { 631: 1 }, jee), l.af = function (e, n) { var r, s, o, h, d; return _ae(this.f, e, n), o = ba(pc(n.d), e.d), d = b.Math.sqrt(o.a * o.a + o.b * o.b), s = b.Math.max(0, d - k_(e.e) / 2 - k_(n.e) / 2), r = pne(this.e, e, n), r > 0 ? h = -HJe(s, this.c) * r : h = PYe(s, this.b) * u(K(e, (i1(), t9)), 19).a, pd(o, h / d), o }, l.bf = function (e) { O5t(this, e), this.a = u(K(e, (i1(), YH)), 19).a, this.c = Xt(xe(K(e, XH))), this.b = Xt(xe(K(e, Iut))) }, l.df = function (e) { return e < this.a }, l.a = 0, l.b = 0, l.c = 0, N(z6t, "EadesModel", 631), M(632, 2003, { 632: 1 }, $Wt), l.af = function (e, n) { var r, s, o, h, d; return _ae(this.f, e, n), o = ba(pc(n.d), e.d), d = b.Math.sqrt(o.a * o.a + o.b * o.b), s = b.Math.max(0, d - k_(e.e) / 2 - k_(n.e) / 2), h = NYe(s, this.a) * u(K(e, (i1(), t9)), 19).a, r = pne(this.e, e, n), r > 0 && (h -= WUe(s, this.a) * r), pd(o, h * this.b / d), o }, l.bf = function (e) { var n, r, s, o, h, d, w; for (O5t(this, e), this.b = Xt(xe(K(e, (i1(), Out)))), this.c = this.b / u(K(e, YH), 19).a, s = e.e.c.length, h = 0, o = 0, w = new S(e.e); w.a < w.c.c.length;)d = u(Q(w), 144), h += d.e.a, o += d.e.b; n = h * o, r = Xt(xe(K(e, XH))) * H1, this.a = b.Math.sqrt(n / (2 * s)) * r }, l.cf = function () { Lie(this), this.b -= this.c }, l.df = function (e) { return this.b > 0 }, l.a = 0, l.b = 0, l.c = 0, N(z6t, "FruchtermanReingoldModel", 632), M(849, 1, jh, yJ), l.Qe = function (e) { an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Oq), ""), "Force Model"), "Determines the model for force calculation."), H7t), (Rg(), ks)), V7t), on((n1(), Un))))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, q6t), ""), "Iterations"), "The number of iterations on the force model."), pe(300)), Lc), to), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, H6t), ""), "Repulsive Power"), "Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model"), pe(0)), Lc), to), on(Bd)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, mot), ""), "FR Temperature"), "The temperature is used as a scaling factor for particle displacements."), Cd), Uo), ka), on(Un)))), ya(e, mot, Oq, rpe), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, yot), ""), "Eades Repulsion"), "Factor for repulsive forces in Eades' model."), 5), Uo), ka), on(Un)))), ya(e, yot, Oq, tpe), Cle((new oT, e)) }; var Qge, Zge, H7t, Jge, tpe, epe, npe, rpe; N(AC, "ForceMetaDataProvider", 849), M(424, 22, { 3: 1, 35: 1, 22: 1, 424: 1 }, o2t); var Dut, KH, V7t = Xr(AC, "ForceModelStrategy", 424, ti, Len, GXe), ipe; M(988, 1, jh, oT), l.Qe = function (e) { Cle(e) }; var spe, ape, G7t, YH, U7t, ope, cpe, upe, W7t, lpe, K7t, Y7t, hpe, t9, fpe, Iut, X7t, dpe, gpe, XH, Out; N(AC, "ForceOptions", 988), M(989, 1, {}, B5), l.$e = function () { var e; return e = new upt, e }, l._e = function (e) { }, N(AC, "ForceOptions/ForceFactory", 989); var fO, iS, Tx, QH; M(850, 1, jh, xJ), l.Qe = function (e) { an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, G6t), ""), "Fixed Position"), "Prevent that the node is moved by the layout algorithm."), (Rn(), !1)), (Rg(), qa)), Zs), on((n1(), fa))))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, U6t), ""), "Desired Edge Length"), "Either specified for parent nodes or for individual edges, where the latter takes higher precedence."), 100), Uo), ka), Zi(Un, ct(ot(Xg, 1), se, 175, 0, [Bd]))))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, W6t), ""), "Layout Dimension"), "Dimensions that are permitted to be altered during layout."), Q7t), ks), i9t), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, K6t), ""), "Stress Epsilon"), "Termination criterion for the iterative process."), Cd), Uo), ka), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Y6t), ""), "Iteration Limit"), "Maximum number of performed iterations. Takes higher precedence than 'epsilon'."), pe(Di)), Lc), to), on(Un)))), lle((new kJ, e)) }; var ppe, bpe, Q7t, vpe, wpe, mpe; N(AC, "StressMetaDataProvider", 850), M(992, 1, jh, kJ), l.Qe = function (e) { lle(e) }; var ZH, Z7t, J7t, t9t, e9t, n9t, ype, xpe, kpe, Epe, r9t, Tpe; N(AC, "StressOptions", 992), M(993, 1, {}, ah), l.$e = function () { var e; return e = new KUt, e }, l._e = function (e) { }, N(AC, "StressOptions/StressFactory", 993), M(1128, 209, xb, KUt), l.Ze = function (e, n) { var r, s, o, h, d; for (Ar(n, Jhe, 1), Re(Be(ze(e, (ZD(), e9t)))) ? Re(Be(ze(e, r9t))) || t$((r = new fr((Lm(), new _m(e))), r)) : Doe(new upt, e, Kc(n, 1)), o = one(e), s = yue(this.a, o), d = s.Kc(); d.Ob();)h = u(d.Pb(), 231), !(h.e.c.length <= 1) && (tmn(this.b, h), Ign(this.b), Mu(h.d, new ad)); o = Ole(s), Mle(o), br(n) }, N(Fq, "StressLayoutProvider", 1128), M(1129, 1, Qn, ad), l.td = function (e) { $5t(u(e, 447)) }, N(Fq, "StressLayoutProvider/lambda$0$Type", 1129), M(990, 1, {}, rzt), l.c = 0, l.e = 0, l.g = 0, N(Fq, "StressMajorization", 990), M(379, 22, { 3: 1, 35: 1, 22: 1, 379: 1 }, aet); var Nut, Put, Fut, i9t = Xr(Fq, "StressMajorization/Dimension", 379, ti, rnn, UXe), _pe; M(991, 1, Ui, Fi), l.ue = function (e, n) { return kXe(this.a, u(e, 144), u(n, 144)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Fq, "StressMajorization/lambda$0$Type", 991), M(1229, 1, {}, uQt), N(wx, "ElkLayered", 1229), M(1230, 1, Qn, R5), l.td = function (e) { O0n(u(e, 37)) }, N(wx, "ElkLayered/lambda$0$Type", 1230), M(1231, 1, Qn, Ci), l.td = function (e) { EXe(this.a, u(e, 37)) }, N(wx, "ElkLayered/lambda$1$Type", 1231), M(1263, 1, {}, PGt); var Cpe, Spe, Ape; N(wx, "GraphConfigurator", 1263), M(759, 1, Qn, Ls), l.td = function (e) { Bse(this.a, u(e, 10)) }, N(wx, "GraphConfigurator/lambda$0$Type", 759), M(760, 1, {}, j5), l.Kb = function (e) { return B3t(), new kn(null, new Cn(u(e, 29).a, 16)) }, N(wx, "GraphConfigurator/lambda$1$Type", 760), M(761, 1, Qn, es), l.td = function (e) { Bse(this.a, u(e, 10)) }, N(wx, "GraphConfigurator/lambda$2$Type", 761), M(1127, 209, xb, azt), l.Ze = function (e, n) { var r; r = xwn(new fzt, e), qt(ze(e, (Ce(), By))) === qt((j0(), Qg)) ? Jcn(this.a, r, n) : Y0n(this.a, r, n), _le(new TJ, r) }, N(wx, "LayeredLayoutProvider", 1127), M(356, 22, { 3: 1, 35: 1, 22: 1, 356: 1 }, yM); var Nd, f2, pu, Zc, Go, s9t = Xr(wx, "LayeredPhases", 356, ti, $rn, WXe), Lpe; M(1651, 1, {}, Kte), l.i = 0; var Mpe; N($I, "ComponentsToCGraphTransformer", 1651); var Dpe; M(1652, 1, {}, TE), l.ef = function (e, n) { return b.Math.min(e.a != null ? Xt(e.a) : e.c.i, n.a != null ? Xt(n.a) : n.c.i) }, l.ff = function (e, n) { return b.Math.min(e.a != null ? Xt(e.a) : e.c.i, n.a != null ? Xt(n.a) : n.c.i) }, N($I, "ComponentsToCGraphTransformer/1", 1652), M(81, 1, { 81: 1 }), l.i = 0, l.k = !0, l.o = Rs; var But = N(DC, "CNode", 81); M(460, 81, { 460: 1, 81: 1 }, cbt, u3t), l.Ib = function () { return "" }, N($I, "ComponentsToCGraphTransformer/CRectNode", 460), M(1623, 1, {}, vL); var Rut, jut; N($I, "OneDimensionalComponentsCompaction", 1623), M(1624, 1, {}, w1), l.Kb = function (e) { return Ken(u(e, 46)) }, l.Fb = function (e) { return this === e }, N($I, "OneDimensionalComponentsCompaction/lambda$0$Type", 1624), M(1625, 1, {}, vp), l.Kb = function (e) { return oun(u(e, 46)) }, l.Fb = function (e) { return this === e }, N($I, "OneDimensionalComponentsCompaction/lambda$1$Type", 1625), M(1654, 1, {}, sYt), N(DC, "CGraph", 1654), M(189, 1, { 189: 1 }, Rit), l.b = 0, l.c = 0, l.e = 0, l.g = !0, l.i = Rs, N(DC, "CGroup", 189), M(1653, 1, {}, fm), l.ef = function (e, n) { return b.Math.max(e.a != null ? Xt(e.a) : e.c.i, n.a != null ? Xt(n.a) : n.c.i) }, l.ff = function (e, n) { return b.Math.max(e.a != null ? Xt(e.a) : e.c.i, n.a != null ? Xt(n.a) : n.c.i) }, N(DC, She, 1653), M(1655, 1, {}, Rae), l.d = !1; var Ipe, $ut = N(DC, Mhe, 1655); M(1656, 1, {}, Ec), l.Kb = function (e) { return Kpt(), Rn(), u(u(e, 46).a, 81).d.e != 0 }, l.Fb = function (e) { return this === e }, N(DC, Dhe, 1656), M(823, 1, {}, wvt), l.a = !1, l.b = !1, l.c = !1, l.d = !1, N(DC, Ihe, 823), M(1825, 1, {}, EKt), N(Bq, Ohe, 1825); var dO = ls(Eb, _he); M(1826, 1, { 369: 1 }, tXt), l.Ke = function (e) { q2n(this, u(e, 466)) }, N(Bq, Nhe, 1826), M(1827, 1, Ui, gk), l.ue = function (e, n) { return qtn(u(e, 81), u(n, 81)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Bq, Phe, 1827), M(466, 1, { 466: 1 }, u2t), l.a = !1, N(Bq, Fhe, 466), M(1828, 1, Ui, Wo), l.ue = function (e, n) { return tfn(u(e, 466), u(n, 466)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Bq, Bhe, 1828), M(140, 1, { 140: 1 }, a8, dvt), l.Fb = function (e) { var n; return e == null || F4n != bl(e) ? !1 : (n = u(e, 140), Gc(this.c, n.c) && Gc(this.d, n.d)) }, l.Hb = function () { return cz(ct(ot(nr, 1), De, 1, 5, [this.c, this.d])) }, l.Ib = function () { return "(" + this.c + ao + this.d + (this.a ? "cx" : "") + this.b + ")" }, l.a = !0, l.c = 0, l.d = 0; var F4n = N(Eb, "Point", 140); M(405, 22, { 3: 1, 35: 1, 22: 1, 405: 1 }, OR); var Ew, Ly, j4, My, Ope = Xr(Eb, "Point/Quadrant", 405, ti, irn, KXe), Npe; M(1642, 1, {}, ozt), l.b = null, l.c = null, l.d = null, l.e = null, l.f = null; var Ppe, Fpe, Bpe, Rpe, jpe; N(Eb, "RectilinearConvexHull", 1642), M(574, 1, { 369: 1 }, Az), l.Ke = function (e) { zin(this, u(e, 140)) }, l.b = 0; var a9t; N(Eb, "RectilinearConvexHull/MaximalElementsEventHandler", 574), M(1644, 1, Ui, hm), l.ue = function (e, n) { return Dtn(xe(e), xe(n)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Eb, "RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type", 1644), M(1643, 1, { 369: 1 }, vte), l.Ke = function (e) { e2n(this, u(e, 140)) }, l.a = 0, l.b = null, l.c = null, l.d = null, l.e = null, N(Eb, "RectilinearConvexHull/RectangleEventHandler", 1643), M(1645, 1, Ui, av), l.ue = function (e, n) { return Nnn(u(e, 140), u(n, 140)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Eb, "RectilinearConvexHull/lambda$0$Type", 1645), M(1646, 1, Ui, od), l.ue = function (e, n) { return Pnn(u(e, 140), u(n, 140)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Eb, "RectilinearConvexHull/lambda$1$Type", 1646), M(1647, 1, Ui, pk), l.ue = function (e, n) { return Bnn(u(e, 140), u(n, 140)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Eb, "RectilinearConvexHull/lambda$2$Type", 1647), M(1648, 1, Ui, oh), l.ue = function (e, n) { return Fnn(u(e, 140), u(n, 140)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Eb, "RectilinearConvexHull/lambda$3$Type", 1648), M(1649, 1, Ui, $K), l.ue = function (e, n) { return j1n(u(e, 140), u(n, 140)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Eb, "RectilinearConvexHull/lambda$4$Type", 1649), M(1650, 1, {}, DXt), N(Eb, "Scanline", 1650), M(2005, 1, {}), N(Sd, "AbstractGraphPlacer", 2005), M(325, 1, { 325: 1 }, EUt), l.mf = function (e) { return this.nf(e) ? (cn(this.b, u(K(e, (ie(), Iy)), 21), e), !0) : !1 }, l.nf = function (e) { var n, r, s, o; for (n = u(K(e, (ie(), Iy)), 21), o = u(ji(Wi, n), 21), s = o.Kc(); s.Ob();)if (r = u(s.Pb(), 21), !u(ji(this.b, r), 15).dc()) return !1; return !0 }; var Wi; N(Sd, "ComponentGroup", 325), M(765, 2005, {}, dpt), l.of = function (e) { var n, r; for (r = new S(this.a); r.a < r.c.c.length;)if (n = u(Q(r), 325), n.mf(e)) return; ue(this.a, new EUt(e)) }, l.lf = function (e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W; if (this.a.c = Ot(nr, De, 1, 0, 5, 1), n.a.c = Ot(nr, De, 1, 0, 5, 1), e.dc()) { n.f.a = 0, n.f.b = 0; return } for (d = u(e.Xb(0), 37), Ho(n, d), o = e.Kc(); o.Ob();)s = u(o.Pb(), 37), this.of(s); for (W = new Ra, h = Xt(xe(K(d, (Ce(), SO)))), _ = new S(this.a); _.a < _.c.c.length;)w = u(Q(_), 325), L = zle(w, h), Lg($j(w.b), W.a, W.b), W.a += L.a, W.b += L.b; if (n.f.a = W.a - h, n.f.b = W.b - h, Re(Be(K(d, RV))) && qt(K(d, Y0)) === qt((z0(), A9))) { for (G = e.Kc(); G.Ob();)F = u(G.Pb(), 37), fC(F, F.c.a, F.c.b); for (r = new _E, a6t(r, e, h), q = e.Kc(); q.Ob();)F = u(q.Pb(), 37), $i(Xf(F.c), r.e); $i(Xf(n.f), r.a) } for (k = new S(this.a); k.a < k.c.c.length;)w = u(Q(k), 325), amt(n, $j(w.b)) }, N(Sd, "ComponentGroupGraphPlacer", 765), M(1293, 765, {}, mzt), l.of = function (e) { Kne(this, e) }, l.lf = function (e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt; if (this.a.c = Ot(nr, De, 1, 0, 5, 1), n.a.c = Ot(nr, De, 1, 0, 5, 1), e.dc()) { n.f.a = 0, n.f.b = 0; return } for (d = u(e.Xb(0), 37), Ho(n, d), o = e.Kc(); o.Ob();)s = u(o.Pb(), 37), Kne(this, s); for (Pt = new Ra, Ct = new Ra, Z = new Ra, W = new Ra, h = Xt(xe(K(d, (Ce(), SO)))), _ = new S(this.a); _.a < _.c.c.length;) { if (w = u(Q(_), 325), Pp(u(K(n, (Ti(), Fw)), 103))) { for (Z.a = Pt.a, Lt = new CT(x_(Pnt(w.b).a).a.kc()); Lt.b.Ob();)if (bt = u(CR(Lt.b.Pb()), 21), bt.Hc((we(), Fn))) { Z.a = Ct.a; break } } else if (c8(u(K(n, Fw), 103))) { for (Z.b = Pt.b, Lt = new CT(x_(Pnt(w.b).a).a.kc()); Lt.b.Ob();)if (bt = u(CR(Lt.b.Pb()), 21), bt.Hc((we(), jn))) { Z.b = Ct.b; break } } if (L = zle(u(w, 570), h), Lg($j(w.b), Z.a, Z.b), Pp(u(K(n, Fw), 103))) { for (Ct.a = Z.a + L.a, W.a = b.Math.max(W.a, Ct.a), Lt = new CT(x_(Pnt(w.b).a).a.kc()); Lt.b.Ob();)if (bt = u(CR(Lt.b.Pb()), 21), bt.Hc((we(), Lr))) { Pt.a = Z.a + L.a; break } Ct.b = Z.b + L.b, Z.b = Ct.b, W.b = b.Math.max(W.b, Z.b) } else if (c8(u(K(n, Fw), 103))) { for (Ct.b = Z.b + L.b, W.b = b.Math.max(W.b, Ct.b), Lt = new CT(x_(Pnt(w.b).a).a.kc()); Lt.b.Ob();)if (bt = u(CR(Lt.b.Pb()), 21), bt.Hc((we(), Wn))) { Pt.b = Z.b + L.b; break } Ct.a = Z.a + L.a, Z.a = Ct.a, W.a = b.Math.max(W.a, Z.a) } } if (n.f.a = W.a - h, n.f.b = W.b - h, Re(Be(K(d, RV))) && qt(K(d, Y0)) === qt((z0(), A9))) { for (G = e.Kc(); G.Ob();)F = u(G.Pb(), 37), fC(F, F.c.a, F.c.b); for (r = new _E, a6t(r, e, h), q = e.Kc(); q.Ob();)F = u(q.Pb(), 37), $i(Xf(F.c), r.e); $i(Xf(n.f), r.a) } for (k = new S(this.a); k.a < k.c.c.length;)w = u(Q(k), 325), amt(n, $j(w.b)) }, N(Sd, "ComponentGroupModelOrderGraphPlacer", 1293), M(423, 22, { 3: 1, 35: 1, 22: 1, 423: 1 }, oet); var zut, o9t, $4, c9t = Xr(Sd, "ComponentOrderingStrategy", 423, ti, nnn, YXe), $pe; M(650, 1, {}, _E), N(Sd, "ComponentsCompactor", 650), M(1468, 12, whe, _Zt), l.Fc = function (e) { return iC(this, u(e, 140)) }, N(Sd, "ComponentsCompactor/Hullpoints", 1468), M(1465, 1, { 841: 1 }, lie), l.a = !1, N(Sd, "ComponentsCompactor/InternalComponent", 1465), M(1464, 1, r0, czt), l.Jc = function (e) { Oa(this, e) }, l.Kc = function () { return new S(this.a) }, N(Sd, "ComponentsCompactor/InternalConnectedComponents", 1464), M(1467, 1, { 594: 1 }, $ae), l.hf = function () { return null }, l.jf = function () { return this.a }, l.gf = function () { return qit(this.d) }, l.kf = function () { return this.b }, N(Sd, "ComponentsCompactor/InternalExternalExtension", 1467), M(1466, 1, { 594: 1 }, hzt), l.jf = function () { return this.a }, l.gf = function () { return qit(this.d) }, l.hf = function () { return this.c }, l.kf = function () { return this.b }, N(Sd, "ComponentsCompactor/InternalUnionExternalExtension", 1466), M(1470, 1, {}, ice), N(Sd, "ComponentsCompactor/OuterSegments", 1470), M(1469, 1, {}, uzt), N(Sd, "ComponentsCompactor/Segments", 1469), M(1264, 1, {}, eXt), N(Sd, $6t, 1264), M(1265, 1, Ui, zK), l.ue = function (e, n) { return $nn(u(e, 37), u(n, 37)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Sd, "ComponentsProcessor/lambda$0$Type", 1265), M(570, 325, { 325: 1, 570: 1 }, TZt), l.mf = function (e) { return dyt(this, e) }, l.nf = function (e) { return Roe(this, e) }; var ui; N(Sd, "ModelOrderComponentGroup", 570), M(1291, 2005, {}, jP), l.lf = function (e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se; if (e.gc() == 1) { Pt = u(e.Xb(0), 37), Pt != n && (n.a.c = Ot(nr, De, 1, 0, 5, 1), Hce(n, Pt, 0, 0), Ho(n, Pt), owt(n.d, Pt.d), n.f.a = Pt.f.a, n.f.b = Pt.f.b); return } else if (e.dc()) { n.a.c = Ot(nr, De, 1, 0, 5, 1), n.f.a = 0, n.f.b = 0; return } if (qt(K(n, (Ce(), Nx))) === qt((Zv(), $4))) { for (k = e.Kc(); k.Ob();) { for (d = u(k.Pb(), 37), Lt = 0, Z = new S(d.a); Z.a < Z.c.c.length;)W = u(Q(Z), 10), Lt += u(K(W, Vve), 19).a; d.p = Lt } pn(), e.ad(new Hf) } for (h = u(e.Xb(0), 37), n.a.c = Ot(nr, De, 1, 0, 5, 1), Ho(n, h), G = 0, Yt = 0, _ = e.Kc(); _.Ob();)d = u(_.Pb(), 37), Ct = d.f, G = b.Math.max(G, Ct.a), Yt += Ct.a * Ct.b; for (G = b.Math.max(G, b.Math.sqrt(Yt) * Xt(xe(K(n, BV)))), o = Xt(xe(K(n, SO))), ce = 0, Se = 0, q = 0, r = o, w = e.Kc(); w.Ob();)d = u(w.Pb(), 37), Ct = d.f, ce + Ct.a > G && (ce = 0, Se += q + o, q = 0), bt = d.c, fC(d, ce + bt.a, Se + bt.b), Xf(bt), r = b.Math.max(r, ce + Ct.a), q = b.Math.max(q, Ct.b), ce += Ct.a + o; if (n.f.a = r, n.f.b = Se + q, Re(Be(K(h, RV)))) { for (s = new _E, a6t(s, e, o), F = e.Kc(); F.Ob();)L = u(F.Pb(), 37), $i(Xf(L.c), s.e); $i(Xf(n.f), s.a) } amt(n, e) }, N(Sd, "SimpleRowGraphPlacer", 1291), M(1292, 1, Ui, Hf), l.ue = function (e, n) { return Ban(u(e, 37), u(n, 37)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Sd, "SimpleRowGraphPlacer/1", 1292); var zpe; M(1262, 1, Td, dm), l.Lb = function (e) { var n; return n = u(K(u(e, 243).b, (Ce(), $o)), 74), !!n && n.b != 0 }, l.Fb = function (e) { return this === e }, l.Mb = function (e) { var n; return n = u(K(u(e, 243).b, (Ce(), $o)), 74), !!n && n.b != 0 }, N(Rq, "CompoundGraphPostprocessor/1", 1262), M(1261, 1, ys, dzt), l.pf = function (e, n) { fie(this, u(e, 37), n) }, N(Rq, "CompoundGraphPreprocessor", 1261), M(441, 1, { 441: 1 }, Jne), l.c = !1, N(Rq, "CompoundGraphPreprocessor/ExternalPort", 441), M(243, 1, { 243: 1 }, pj), l.Ib = function () { return Wet(this.c) + ":" + Nae(this.b) }, N(Rq, "CrossHierarchyEdge", 243), M(763, 1, Ui, Ri), l.ue = function (e, n) { return Chn(this, u(e, 243), u(n, 243)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Rq, "CrossHierarchyEdgeComparator", 763), M(299, 134, { 3: 1, 299: 1, 94: 1, 134: 1 }), l.p = 0, N(cu, "LGraphElement", 299), M(17, 299, { 3: 1, 17: 1, 299: 1, 94: 1, 134: 1 }, Rv), l.Ib = function () { return Nae(this) }; var qut = N(cu, "LEdge", 17); M(37, 299, { 3: 1, 20: 1, 37: 1, 299: 1, 94: 1, 134: 1 }, Amt), l.Jc = function (e) { Oa(this, e) }, l.Kc = function () { return new S(this.b) }, l.Ib = function () { return this.b.c.length == 0 ? "G-unlayered" + Jp(this.a) : this.a.c.length == 0 ? "G-layered" + Jp(this.b) : "G[layerless" + Jp(this.a) + ", layers" + Jp(this.b) + "]" }; var qpe = N(cu, "LGraph", 37), Hpe; M(657, 1, {}), l.qf = function () { return this.e.n }, l.We = function (e) { return K(this.e, e) }, l.rf = function () { return this.e.o }, l.sf = function () { return this.e.p }, l.Xe = function (e) { return ia(this.e, e) }, l.tf = function (e) { this.e.n.a = e.a, this.e.n.b = e.b }, l.uf = function (e) { this.e.o.a = e.a, this.e.o.b = e.b }, l.vf = function (e) { this.e.p = e }, N(cu, "LGraphAdapters/AbstractLShapeAdapter", 657), M(577, 1, { 839: 1 }, as), l.wf = function () { var e, n; if (!this.b) for (this.b = Ud(this.a.b.c.length), n = new S(this.a.b); n.a < n.c.c.length;)e = u(Q(n), 70), ue(this.b, new no(e)); return this.b }, l.b = null, N(cu, "LGraphAdapters/LEdgeAdapter", 577), M(656, 1, {}, qnt), l.xf = function () { var e, n, r, s, o, h; if (!this.b) { for (this.b = new le, s = new S(this.a.b); s.a < s.c.c.length;)for (r = u(Q(s), 29), h = new S(r.a); h.a < h.c.c.length;)if (o = u(Q(h), 10), this.c.Mb(o) && (ue(this.b, new bj(this, o, this.e)), this.d)) { if (ia(o, (ie(), Ox))) for (n = u(K(o, Ox), 15).Kc(); n.Ob();)e = u(n.Pb(), 10), ue(this.b, new bj(this, e, !1)); if (ia(o, Ax)) for (n = u(K(o, Ax), 15).Kc(); n.Ob();)e = u(n.Pb(), 10), ue(this.b, new bj(this, e, !1)) } } return this.b }, l.qf = function () { throw et(new mg(nfe)) }, l.We = function (e) { return K(this.a, e) }, l.rf = function () { return this.a.f }, l.sf = function () { return this.a.p }, l.Xe = function (e) { return ia(this.a, e) }, l.tf = function (e) { throw et(new mg(nfe)) }, l.uf = function (e) { this.a.f.a = e.a, this.a.f.b = e.b }, l.vf = function (e) { this.a.p = e }, l.b = null, l.d = !1, l.e = !1, N(cu, "LGraphAdapters/LGraphAdapter", 656), M(576, 657, { 181: 1 }, no), N(cu, "LGraphAdapters/LLabelAdapter", 576), M(575, 657, { 680: 1 }, bj), l.yf = function () { return this.b }, l.zf = function () { return pn(), pn(), wo }, l.wf = function () { var e, n; if (!this.a) for (this.a = Ud(u(this.e, 10).b.c.length), n = new S(u(this.e, 10).b); n.a < n.c.c.length;)e = u(Q(n), 70), ue(this.a, new no(e)); return this.a }, l.Af = function () { var e; return e = u(this.e, 10).d, new Fbt(e.d, e.c, e.a, e.b) }, l.Bf = function () { return pn(), pn(), wo }, l.Cf = function () { var e, n; if (!this.c) for (this.c = Ud(u(this.e, 10).j.c.length), n = new S(u(this.e, 10).j); n.a < n.c.c.length;)e = u(Q(n), 11), ue(this.c, new iVt(e, this.d)); return this.c }, l.Df = function () { return Re(Be(K(u(this.e, 10), (ie(), AEt)))) }, l.Ef = function (e) { u(this.e, 10).d.b = e.b, u(this.e, 10).d.d = e.d, u(this.e, 10).d.c = e.c, u(this.e, 10).d.a = e.a }, l.Ff = function (e) { u(this.e, 10).f.b = e.b, u(this.e, 10).f.d = e.d, u(this.e, 10).f.c = e.c, u(this.e, 10).f.a = e.a }, l.Gf = function () { xsn(this, (PT(), Hpe)) }, l.a = null, l.b = null, l.c = null, l.d = !1, N(cu, "LGraphAdapters/LNodeAdapter", 575), M(1722, 657, { 838: 1 }, iVt), l.zf = function () { var e, n, r, s; if (this.d && u(this.e, 11).i.k == (Kn(), Jc)) return pn(), pn(), wo; if (!this.a) { for (this.a = new le, r = new S(u(this.e, 11).e); r.a < r.c.c.length;)e = u(Q(r), 17), ue(this.a, new as(e)); if (this.d && (s = u(K(u(this.e, 11), (ie(), ul)), 10), s)) for (n = new pr(mr(Zo(s).a.Kc(), new H)); Zr(n);)e = u(qr(n), 17), ue(this.a, new as(e)) } return this.a }, l.wf = function () { var e, n; if (!this.b) for (this.b = Ud(u(this.e, 11).f.c.length), n = new S(u(this.e, 11).f); n.a < n.c.c.length;)e = u(Q(n), 70), ue(this.b, new no(e)); return this.b }, l.Bf = function () { var e, n, r, s; if (this.d && u(this.e, 11).i.k == (Kn(), Jc)) return pn(), pn(), wo; if (!this.c) { for (this.c = new le, r = new S(u(this.e, 11).g); r.a < r.c.c.length;)e = u(Q(r), 17), ue(this.c, new as(e)); if (this.d && (s = u(K(u(this.e, 11), (ie(), ul)), 10), s)) for (n = new pr(mr(Gs(s).a.Kc(), new H)); Zr(n);)e = u(qr(n), 17), ue(this.c, new as(e)) } return this.c }, l.Hf = function () { return u(this.e, 11).j }, l.If = function () { return Re(Be(K(u(this.e, 11), (ie(), xO)))) }, l.a = null, l.b = null, l.c = null, l.d = !1, N(cu, "LGraphAdapters/LPortAdapter", 1722), M(1723, 1, Ui, wL), l.ue = function (e, n) { return gbn(u(e, 11), u(n, 11)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(cu, "LGraphAdapters/PortComparator", 1723), M(804, 1, _i, $P), l.Mb = function (e) { return u(e, 10), PT(), !0 }, N(cu, "LGraphAdapters/lambda$0$Type", 804), M(392, 299, { 3: 1, 299: 1, 392: 1, 94: 1, 134: 1 }), N(cu, "LShape", 392), M(70, 392, { 3: 1, 299: 1, 70: 1, 392: 1, 94: 1, 134: 1 }, vqt, H2t), l.Ib = function () { var e; return e = UZe(this), e == null ? "label" : "l_" + e }, N(cu, "LLabel", 70), M(207, 1, { 3: 1, 4: 1, 207: 1, 414: 1 }), l.Fb = function (e) { var n; return Et(e, 207) ? (n = u(e, 207), this.d == n.d && this.a == n.a && this.b == n.b && this.c == n.c) : !1 }, l.Hb = function () { var e, n; return e = o8(this.b) << 16, e |= o8(this.a) & Ns, n = o8(this.c) << 16, n |= o8(this.d) & Ns, e ^ n }, l.Jf = function (e) { var n, r, s, o, h, d, w, k, _, L, F; for (h = 0; h < e.length && jne((Yr(h, e.length), e.charCodeAt(h)), ife);)++h; for (n = e.length; n > 0 && jne((Yr(n - 1, e.length), e.charCodeAt(n - 1)), sfe);)--n; if (h < n) { L = dy(e.substr(h, n - h), ",|;"); try { for (w = L, k = 0, _ = w.length; k < _; ++k) { if (d = w[k], o = dy(d, "="), o.length != 2) throw et(new Bn("Expecting a list of key-value pairs.")); s = oy(o[0]), F = cy(oy(o[1])), ln(s, "top") ? this.d = F : ln(s, "left") ? this.b = F : ln(s, "bottom") ? this.a = F : ln(s, "right") && (this.c = F) } } catch (q) { throw q = os(q), Et(q, 127) ? (r = q, et(new Bn(afe + r))) : et(q) } } }, l.Ib = function () { return "[top=" + this.d + ",left=" + this.b + ",bottom=" + this.a + ",right=" + this.c + "]" }, l.a = 0, l.b = 0, l.c = 0, l.d = 0, N(zI, "Spacing", 207), M(142, 207, ofe, TT, vGt, Fbt, ant); var u9t = N(zI, "ElkMargin", 142); M(651, 142, ofe, Ott), N(cu, "LMargin", 651), M(10, 392, { 3: 1, 299: 1, 10: 1, 392: 1, 94: 1, 134: 1 }, q0), l.Ib = function () { return sie(this) }, l.i = !1; var l0 = N(cu, "LNode", 10); M(267, 22, { 3: 1, 35: 1, 22: 1, 267: 1 }, qT); var W1, Fs, Bl, ha, Ws, Jc, Hut = Xr(cu, "LNode/NodeType", 267, ti, Din, XXe), Vpe; M(116, 207, cfe, v6, Sv, Ybt); var l9t = N(zI, "ElkPadding", 116); M(764, 116, cfe, bpt), N(cu, "LPadding", 764), M(11, 392, { 3: 1, 299: 1, 11: 1, 392: 1, 94: 1, 134: 1 }, zc), l.Ib = function () { var e, n, r; return e = new Ap, ni((e.a += "p_", e), Rz(this)), this.i && ni(Cc((e.a += "[", e), this.i), "]"), this.e.c.length == 1 && this.g.c.length == 0 && u(Fe(this.e, 0), 17).c != this && (n = u(Fe(this.e, 0), 17).c, ni((e.a += " << ", e), Rz(n)), ni(Cc((e.a += "[", e), n.i), "]")), this.e.c.length == 0 && this.g.c.length == 1 && u(Fe(this.g, 0), 17).d != this && (r = u(Fe(this.g, 0), 17).d, ni((e.a += " >> ", e), Rz(r)), ni(Cc((e.a += "[", e), r.i), "]")), e.a }, l.c = !0, l.d = !1; var h9t, f9t, d9t, g9t, p9t, b9t, Gpe = N(cu, "LPort", 11); M(397, 1, r0, ca), l.Jc = function (e) { Oa(this, e) }, l.Kc = function () { var e; return e = new S(this.a.e), new ea(e) }, N(cu, "LPort/1", 397), M(1290, 1, va, ea), l.Nb = function (e) { Da(this, e) }, l.Pb = function () { return u(Q(this.a), 17).c }, l.Ob = function () { return sc(this.a) }, l.Qb = function () { y_(this.a) }, N(cu, "LPort/1/1", 1290), M(359, 1, r0, Fr), l.Jc = function (e) { Oa(this, e) }, l.Kc = function () { var e; return e = new S(this.a.g), new Qt(e) }, N(cu, "LPort/2", 359), M(762, 1, va, Qt), l.Nb = function (e) { Da(this, e) }, l.Pb = function () { return u(Q(this.a), 17).d }, l.Ob = function () { return sc(this.a) }, l.Qb = function () { y_(this.a) }, N(cu, "LPort/2/1", 762), M(1283, 1, r0, tVt), l.Jc = function (e) { Oa(this, e) }, l.Kc = function () { return new P1(this) }, N(cu, "LPort/CombineIter", 1283), M(201, 1, va, P1), l.Nb = function (e) { Da(this, e) }, l.Qb = function () { Tqt() }, l.Ob = function () { return u_(this) }, l.Pb = function () { return sc(this.a) ? Q(this.a) : Q(this.b) }, N(cu, "LPort/CombineIter/1", 201), M(1285, 1, Td, wp), l.Lb = function (e) { return PKt(e) }, l.Fb = function (e) { return this === e }, l.Mb = function (e) { return Ku(), u(e, 11).e.c.length != 0 }, N(cu, "LPort/lambda$0$Type", 1285), M(1284, 1, Td, gm), l.Lb = function (e) { return FKt(e) }, l.Fb = function (e) { return this === e }, l.Mb = function (e) { return Ku(), u(e, 11).g.c.length != 0 }, N(cu, "LPort/lambda$1$Type", 1284), M(1286, 1, Td, qK), l.Lb = function (e) { return Ku(), u(e, 11).j == (we(), Fn) }, l.Fb = function (e) { return this === e }, l.Mb = function (e) { return Ku(), u(e, 11).j == (we(), Fn) }, N(cu, "LPort/lambda$2$Type", 1286), M(1287, 1, Td, j2), l.Lb = function (e) { return Ku(), u(e, 11).j == (we(), Wn) }, l.Fb = function (e) { return this === e }, l.Mb = function (e) { return Ku(), u(e, 11).j == (we(), Wn) }, N(cu, "LPort/lambda$3$Type", 1287), M(1288, 1, Td, HK), l.Lb = function (e) { return Ku(), u(e, 11).j == (we(), Lr) }, l.Fb = function (e) { return this === e }, l.Mb = function (e) { return Ku(), u(e, 11).j == (we(), Lr) }, N(cu, "LPort/lambda$4$Type", 1288), M(1289, 1, Td, VK), l.Lb = function (e) { return Ku(), u(e, 11).j == (we(), jn) }, l.Fb = function (e) { return this === e }, l.Mb = function (e) { return Ku(), u(e, 11).j == (we(), jn) }, N(cu, "LPort/lambda$5$Type", 1289), M(29, 299, { 3: 1, 20: 1, 299: 1, 29: 1, 94: 1, 134: 1 }, Oh), l.Jc = function (e) { Oa(this, e) }, l.Kc = function () { return new S(this.a) }, l.Ib = function () { return "L_" + Qo(this.b.b, this, 0) + Jp(this.a) }, N(cu, "Layer", 29), M(1342, 1, {}, fzt), N(zg, ufe, 1342), M(1346, 1, {}, $5), l.Kb = function (e) { return Vo(u(e, 82)) }, N(zg, "ElkGraphImporter/0methodref$connectableShapeToNode$Type", 1346), M(1349, 1, {}, CE), l.Kb = function (e) { return Vo(u(e, 82)) }, N(zg, "ElkGraphImporter/1methodref$connectableShapeToNode$Type", 1349), M(1343, 1, Qn, Hn), l.td = function (e) { Kae(this.a, u(e, 118)) }, N(zg, lfe, 1343), M(1344, 1, Qn, jr), l.td = function (e) { Kae(this.a, u(e, 118)) }, N(zg, hfe, 1344), M(1345, 1, {}, zP), l.Kb = function (e) { return new kn(null, new Cn(Ctn(u(e, 79)), 16)) }, N(zg, ffe, 1345), M(1347, 1, _i, dr), l.Mb = function (e) { return SKe(this.a, u(e, 33)) }, N(zg, dfe, 1347), M(1348, 1, {}, bk), l.Kb = function (e) { return new kn(null, new Cn(Stn(u(e, 79)), 16)) }, N(zg, "ElkGraphImporter/lambda$5$Type", 1348), M(1350, 1, _i, gr), l.Mb = function (e) { return AKe(this.a, u(e, 33)) }, N(zg, "ElkGraphImporter/lambda$7$Type", 1350), M(1351, 1, _i, GK), l.Mb = function (e) { return Vtn(u(e, 79)) }, N(zg, "ElkGraphImporter/lambda$8$Type", 1351), M(1278, 1, {}, TJ); var Upe; N(zg, "ElkGraphLayoutTransferrer", 1278), M(1279, 1, _i, Ga), l.Mb = function (e) { return bXe(this.a, u(e, 17)) }, N(zg, "ElkGraphLayoutTransferrer/lambda$0$Type", 1279), M(1280, 1, Qn, Qr), l.td = function (e) { bM(), ue(this.a, u(e, 17)) }, N(zg, "ElkGraphLayoutTransferrer/lambda$1$Type", 1280), M(1281, 1, _i, us), l.Mb = function (e) { return eXe(this.a, u(e, 17)) }, N(zg, "ElkGraphLayoutTransferrer/lambda$2$Type", 1281), M(1282, 1, Qn, Ko), l.td = function (e) { bM(), ue(this.a, u(e, 17)) }, N(zg, "ElkGraphLayoutTransferrer/lambda$3$Type", 1282), M(1485, 1, ys, vk), l.pf = function (e, n) { ran(u(e, 37), n) }, N(Vn, "CommentNodeMarginCalculator", 1485), M(1486, 1, {}, UK), l.Kb = function (e) { return new kn(null, new Cn(u(e, 29).a, 16)) }, N(Vn, "CommentNodeMarginCalculator/lambda$0$Type", 1486), M(1487, 1, Qn, WK), l.td = function (e) { Bwn(u(e, 10)) }, N(Vn, "CommentNodeMarginCalculator/lambda$1$Type", 1487), M(1488, 1, ys, KK), l.pf = function (e, n) { X2n(u(e, 37), n) }, N(Vn, "CommentPostprocessor", 1488), M(1489, 1, ys, YK), l.pf = function (e, n) { r3n(u(e, 37), n) }, N(Vn, "CommentPreprocessor", 1489), M(1490, 1, ys, XK), l.pf = function (e, n) { mpn(u(e, 37), n) }, N(Vn, "ConstraintsPostprocessor", 1490), M(1491, 1, ys, QK), l.pf = function (e, n) { Can(u(e, 37), n) }, N(Vn, "EdgeAndLayerConstraintEdgeReverser", 1491), M(1492, 1, ys, ZK), l.pf = function (e, n) { gun(u(e, 37), n) }, N(Vn, "EndLabelPostprocessor", 1492), M(1493, 1, {}, JK), l.Kb = function (e) { return new kn(null, new Cn(u(e, 29).a, 16)) }, N(Vn, "EndLabelPostprocessor/lambda$0$Type", 1493), M(1494, 1, _i, tY), l.Mb = function (e) { return cen(u(e, 10)) }, N(Vn, "EndLabelPostprocessor/lambda$1$Type", 1494), M(1495, 1, Qn, eY), l.td = function (e) { efn(u(e, 10)) }, N(Vn, "EndLabelPostprocessor/lambda$2$Type", 1495), M(1496, 1, ys, nY), l.pf = function (e, n) { Vdn(u(e, 37), n) }, N(Vn, "EndLabelPreprocessor", 1496), M(1497, 1, {}, mL), l.Kb = function (e) { return new kn(null, new Cn(u(e, 29).a, 16)) }, N(Vn, "EndLabelPreprocessor/lambda$0$Type", 1497), M(1498, 1, Qn, CWt), l.td = function (e) { VWe(this.a, this.b, this.c, u(e, 10)) }, l.a = 0, l.b = 0, l.c = !1, N(Vn, "EndLabelPreprocessor/lambda$1$Type", 1498), M(1499, 1, _i, rY), l.Mb = function (e) { return qt(K(u(e, 70), (Ce(), Fd))) === qt((F1(), S9)) }, N(Vn, "EndLabelPreprocessor/lambda$2$Type", 1499), M(1500, 1, Qn, Vc), l.td = function (e) { pi(this.a, u(e, 70)) }, N(Vn, "EndLabelPreprocessor/lambda$3$Type", 1500), M(1501, 1, _i, iY), l.Mb = function (e) { return qt(K(u(e, 70), (Ce(), Fd))) === qt((F1(), Wy)) }, N(Vn, "EndLabelPreprocessor/lambda$4$Type", 1501), M(1502, 1, Qn, ho), l.td = function (e) { pi(this.a, u(e, 70)) }, N(Vn, "EndLabelPreprocessor/lambda$5$Type", 1502), M(1551, 1, ys, EJ), l.pf = function (e, n) { kcn(u(e, 37), n) }; var Wpe; N(Vn, "EndLabelSorter", 1551), M(1552, 1, Ui, SE), l.ue = function (e, n) { return Zun(u(e, 456), u(n, 456)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Vn, "EndLabelSorter/1", 1552), M(456, 1, { 456: 1 }, UYt), N(Vn, "EndLabelSorter/LabelGroup", 456), M(1553, 1, {}, qP), l.Kb = function (e) { return vM(), new kn(null, new Cn(u(e, 29).a, 16)) }, N(Vn, "EndLabelSorter/lambda$0$Type", 1553), M(1554, 1, _i, z5), l.Mb = function (e) { return vM(), u(e, 10).k == (Kn(), Ws) }, N(Vn, "EndLabelSorter/lambda$1$Type", 1554), M(1555, 1, Qn, sY), l.td = function (e) { edn(u(e, 10)) }, N(Vn, "EndLabelSorter/lambda$2$Type", 1555), M(1556, 1, _i, aY), l.Mb = function (e) { return vM(), qt(K(u(e, 70), (Ce(), Fd))) === qt((F1(), Wy)) }, N(Vn, "EndLabelSorter/lambda$3$Type", 1556), M(1557, 1, _i, oY), l.Mb = function (e) { return vM(), qt(K(u(e, 70), (Ce(), Fd))) === qt((F1(), S9)) }, N(Vn, "EndLabelSorter/lambda$4$Type", 1557), M(1503, 1, ys, cY), l.pf = function (e, n) { Kwn(this, u(e, 37)) }, l.b = 0, l.c = 0, N(Vn, "FinalSplineBendpointsCalculator", 1503), M(1504, 1, {}, uY), l.Kb = function (e) { return new kn(null, new Cn(u(e, 29).a, 16)) }, N(Vn, "FinalSplineBendpointsCalculator/lambda$0$Type", 1504), M(1505, 1, {}, AE), l.Kb = function (e) { return new kn(null, new Ov(new pr(mr(Gs(u(e, 10)).a.Kc(), new H)))) }, N(Vn, "FinalSplineBendpointsCalculator/lambda$1$Type", 1505), M(1506, 1, _i, yL), l.Mb = function (e) { return !ro(u(e, 17)) }, N(Vn, "FinalSplineBendpointsCalculator/lambda$2$Type", 1506), M(1507, 1, _i, HP), l.Mb = function (e) { return ia(u(e, 17), (ie(), Ib)) }, N(Vn, "FinalSplineBendpointsCalculator/lambda$3$Type", 1507), M(1508, 1, Qn, Ic), l.td = function (e) { ovn(this.a, u(e, 128)) }, N(Vn, "FinalSplineBendpointsCalculator/lambda$4$Type", 1508), M(1509, 1, Qn, E3), l.td = function (e) { _st(u(e, 17).a) }, N(Vn, "FinalSplineBendpointsCalculator/lambda$5$Type", 1509), M(792, 1, ys, Ba), l.pf = function (e, n) { zmn(this, u(e, 37), n) }, N(Vn, "GraphTransformer", 792), M(511, 22, { 3: 1, 35: 1, 22: 1, 511: 1 }, c2t); var Vut, gO, Kpe = Xr(Vn, "GraphTransformer/Mode", 511, ti, Men, cZe), Ype; M(1510, 1, ys, T3), l.pf = function (e, n) { v2n(u(e, 37), n) }, N(Vn, "HierarchicalNodeResizingProcessor", 1510), M(1511, 1, ys, lY), l.pf = function (e, n) { Zsn(u(e, 37), n) }, N(Vn, "HierarchicalPortConstraintProcessor", 1511), M(1512, 1, Ui, lf), l.ue = function (e, n) { return uln(u(e, 10), u(n, 10)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Vn, "HierarchicalPortConstraintProcessor/NodeComparator", 1512), M(1513, 1, ys, q5), l.pf = function (e, n) { wwn(u(e, 37), n) }, N(Vn, "HierarchicalPortDummySizeProcessor", 1513), M(1514, 1, ys, hY), l.pf = function (e, n) { pbn(this, u(e, 37), n) }, l.a = 0, N(Vn, "HierarchicalPortOrthogonalEdgeRouter", 1514), M(1515, 1, Ui, wk), l.ue = function (e, n) { return yYe(u(e, 10), u(n, 10)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Vn, "HierarchicalPortOrthogonalEdgeRouter/1", 1515), M(1516, 1, Ui, zd), l.ue = function (e, n) { return Nin(u(e, 10), u(n, 10)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Vn, "HierarchicalPortOrthogonalEdgeRouter/2", 1516), M(1517, 1, ys, fY), l.pf = function (e, n) { $1n(u(e, 37), n) }, N(Vn, "HierarchicalPortPositionProcessor", 1517), M(1518, 1, ys, _J), l.pf = function (e, n) { P3n(this, u(e, 37)) }, l.a = 0, l.c = 0; var JH, tV; N(Vn, "HighDegreeNodeLayeringProcessor", 1518), M(571, 1, { 571: 1 }, dY), l.b = -1, l.d = -1, N(Vn, "HighDegreeNodeLayeringProcessor/HighDegreeNodeInformation", 571), M(1519, 1, {}, gY), l.Kb = function (e) { return HM(), Zo(u(e, 10)) }, l.Fb = function (e) { return this === e }, N(Vn, "HighDegreeNodeLayeringProcessor/lambda$0$Type", 1519), M(1520, 1, {}, pY), l.Kb = function (e) { return HM(), Gs(u(e, 10)) }, l.Fb = function (e) { return this === e }, N(Vn, "HighDegreeNodeLayeringProcessor/lambda$1$Type", 1520), M(1526, 1, ys, LE), l.pf = function (e, n) { Uvn(this, u(e, 37), n) }, N(Vn, "HyperedgeDummyMerger", 1526), M(793, 1, {}, Zbt), l.a = !1, l.b = !1, l.c = !1, N(Vn, "HyperedgeDummyMerger/MergeState", 793), M(1527, 1, {}, xL), l.Kb = function (e) { return new kn(null, new Cn(u(e, 29).a, 16)) }, N(Vn, "HyperedgeDummyMerger/lambda$0$Type", 1527), M(1528, 1, {}, VP), l.Kb = function (e) { return new kn(null, new Cn(u(e, 10).j, 16)) }, N(Vn, "HyperedgeDummyMerger/lambda$1$Type", 1528), M(1529, 1, Qn, kL), l.td = function (e) { u(e, 11).p = -1 }, N(Vn, "HyperedgeDummyMerger/lambda$2$Type", 1529), M(1530, 1, ys, H5), l.pf = function (e, n) { Vvn(u(e, 37), n) }, N(Vn, "HypernodesProcessor", 1530), M(1531, 1, ys, bY), l.pf = function (e, n) { Gvn(u(e, 37), n) }, N(Vn, "InLayerConstraintProcessor", 1531), M(1532, 1, ys, GP), l.pf = function (e, n) { xan(u(e, 37), n) }, N(Vn, "InnermostNodeMarginCalculator", 1532), M(1533, 1, ys, UP), l.pf = function (e, n) { Zyn(this, u(e, 37)) }, l.a = Rs, l.b = Rs, l.c = ms, l.d = ms; var B4n = N(Vn, "InteractiveExternalPortPositioner", 1533); M(1534, 1, {}, vY), l.Kb = function (e) { return u(e, 17).d.i }, l.Fb = function (e) { return this === e }, N(Vn, "InteractiveExternalPortPositioner/lambda$0$Type", 1534), M(1535, 1, {}, fo), l.Kb = function (e) { return EYe(this.a, xe(e)) }, l.Fb = function (e) { return this === e }, N(Vn, "InteractiveExternalPortPositioner/lambda$1$Type", 1535), M(1536, 1, {}, wY), l.Kb = function (e) { return u(e, 17).c.i }, l.Fb = function (e) { return this === e }, N(Vn, "InteractiveExternalPortPositioner/lambda$2$Type", 1536), M(1537, 1, {}, Sl), l.Kb = function (e) { return TYe(this.a, xe(e)) }, l.Fb = function (e) { return this === e }, N(Vn, "InteractiveExternalPortPositioner/lambda$3$Type", 1537), M(1538, 1, {}, Wf), l.Kb = function (e) { return dXe(this.a, xe(e)) }, l.Fb = function (e) { return this === e }, N(Vn, "InteractiveExternalPortPositioner/lambda$4$Type", 1538), M(1539, 1, {}, Ep), l.Kb = function (e) { return gXe(this.a, xe(e)) }, l.Fb = function (e) { return this === e }, N(Vn, "InteractiveExternalPortPositioner/lambda$5$Type", 1539), M(77, 22, { 3: 1, 35: 1, 22: 1, 77: 1, 234: 1 }, Os), l.Kf = function () { switch (this.g) { case 15: return new NX; case 22: return new PX; case 47: return new RX; case 28: case 35: return new _3; case 32: return new vk; case 42: return new KK; case 1: return new YK; case 41: return new XK; case 56: return new Ba((q8(), gO)); case 0: return new Ba((q8(), Vut)); case 2: return new QK; case 54: return new ZK; case 33: return new nY; case 51: return new cY; case 55: return new T3; case 13: return new lY; case 38: return new q5; case 44: return new hY; case 40: return new fY; case 9: return new _J; case 49: return new fUt; case 37: return new LE; case 43: return new H5; case 27: return new bY; case 30: return new GP; case 3: return new UP; case 18: return new yY; case 29: return new xY; case 5: return new xB; case 50: return new mY; case 34: return new CJ; case 36: return new mk; case 52: return new EJ; case 11: return new pm; case 7: return new AJ; case 39: return new yk; case 45: return new _Y; case 16: return new ME; case 10: return new cd; case 48: return new TL; case 21: return new xk; case 23: return new Htt((Yv(), CS)); case 8: return new XP; case 12: return new CL; case 4: return new SY; case 19: return new cT; case 17: return new IY; case 53: return new OY; case 6: return new rF; case 25: return new bzt; case 46: return new BY; case 31: return new XUt; case 14: return new AL; case 26: return new zX; case 20: return new GY; case 24: return new Htt((Yv(), iG)); default: throw et(new Bn(_ot + (this.f != null ? this.f : "" + this.g))) } }; var v9t, w9t, m9t, y9t, x9t, k9t, E9t, T9t, _9t, C9t, sS, eV, nV, S9t, A9t, L9t, M9t, D9t, I9t, O9t, aS, N9t, P9t, F9t, B9t, R9t, Gut, rV, iV, j9t, sV, aV, oV, e9, n9, r9, $9t, cV, uV, z9t, lV, hV, q9t, H9t, V9t, G9t, fV, Uut, pO, dV, gV, pV, bV, U9t, W9t, K9t, Y9t, R4n = Xr(Vn, Q6t, 77, ti, $oe, oZe), Xpe; M(1540, 1, ys, yY), l.pf = function (e, n) { t3n(u(e, 37), n) }, N(Vn, "InvertedPortProcessor", 1540), M(1541, 1, ys, xY), l.pf = function (e, n) { tvn(u(e, 37), n) }, N(Vn, "LabelAndNodeSizeProcessor", 1541), M(1542, 1, _i, kY), l.Mb = function (e) { return u(e, 10).k == (Kn(), Ws) }, N(Vn, "LabelAndNodeSizeProcessor/lambda$0$Type", 1542), M(1543, 1, _i, qd), l.Mb = function (e) { return u(e, 10).k == (Kn(), Fs) }, N(Vn, "LabelAndNodeSizeProcessor/lambda$1$Type", 1543), M(1544, 1, Qn, SWt), l.td = function (e) { GWe(this.b, this.a, this.c, u(e, 10)) }, l.a = !1, l.c = !1, N(Vn, "LabelAndNodeSizeProcessor/lambda$2$Type", 1544), M(1545, 1, ys, xB), l.pf = function (e, n) { Tyn(u(e, 37), n) }; var Qpe; N(Vn, "LabelDummyInserter", 1545), M(1546, 1, Td, ov), l.Lb = function (e) { return qt(K(u(e, 70), (Ce(), Fd))) === qt((F1(), C9)) }, l.Fb = function (e) { return this === e }, l.Mb = function (e) { return qt(K(u(e, 70), (Ce(), Fd))) === qt((F1(), C9)) }, N(Vn, "LabelDummyInserter/1", 1546), M(1547, 1, ys, mY), l.pf = function (e, n) { Cmn(u(e, 37), n) }, N(Vn, "LabelDummyRemover", 1547), M(1548, 1, _i, EY), l.Mb = function (e) { return Re(Be(K(u(e, 70), (Ce(), Nlt)))) }, N(Vn, "LabelDummyRemover/lambda$0$Type", 1548), M(1359, 1, ys, CJ), l.pf = function (e, n) { eyn(this, u(e, 37), n) }, l.a = null; var Wut; N(Vn, "LabelDummySwitcher", 1359), M(286, 1, { 286: 1 }, Rce), l.c = 0, l.d = null, l.f = 0, N(Vn, "LabelDummySwitcher/LabelDummyInfo", 286), M(1360, 1, {}, WP), l.Kb = function (e) { return Y6(), new kn(null, new Cn(u(e, 29).a, 16)) }, N(Vn, "LabelDummySwitcher/lambda$0$Type", 1360), M(1361, 1, _i, KP), l.Mb = function (e) { return Y6(), u(e, 10).k == (Kn(), Bl) }, N(Vn, "LabelDummySwitcher/lambda$1$Type", 1361), M(1362, 1, {}, wg), l.Kb = function (e) { return nXe(this.a, u(e, 10)) }, N(Vn, "LabelDummySwitcher/lambda$2$Type", 1362), M(1363, 1, Qn, hd), l.td = function (e) { etn(this.a, u(e, 286)) }, N(Vn, "LabelDummySwitcher/lambda$3$Type", 1363), M(1364, 1, Ui, TY), l.ue = function (e, n) { return LJe(u(e, 286), u(n, 286)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Vn, "LabelDummySwitcher/lambda$4$Type", 1364), M(791, 1, ys, _3), l.pf = function (e, n) { fin(u(e, 37), n) }, N(Vn, "LabelManagementProcessor", 791), M(1549, 1, ys, mk), l.pf = function (e, n) { B2n(u(e, 37), n) }, N(Vn, "LabelSideSelector", 1549), M(1550, 1, _i, EL), l.Mb = function (e) { return Re(Be(K(u(e, 70), (Ce(), Nlt)))) }, N(Vn, "LabelSideSelector/lambda$0$Type", 1550), M(1558, 1, ys, pm), l.pf = function (e, n) { mwn(u(e, 37), n) }, N(Vn, "LayerConstraintPostprocessor", 1558), M(1559, 1, ys, AJ), l.pf = function (e, n) { Ogn(u(e, 37), n) }; var X9t; N(Vn, "LayerConstraintPreprocessor", 1559), M(360, 22, { 3: 1, 35: 1, 22: 1, 360: 1 }, NR); var bO, vV, wV, Kut, Zpe = Xr(Vn, "LayerConstraintPreprocessor/HiddenNodeConnections", 360, ti, srn, ZXe), Jpe; M(1560, 1, ys, yk), l.pf = function (e, n) { Emn(u(e, 37), n) }, N(Vn, "LayerSizeAndGraphHeightCalculator", 1560), M(1561, 1, ys, _Y), l.pf = function (e, n) { Cpn(u(e, 37), n) }, N(Vn, "LongEdgeJoiner", 1561), M(1562, 1, ys, ME), l.pf = function (e, n) { imn(u(e, 37), n) }, N(Vn, "LongEdgeSplitter", 1562), M(1563, 1, ys, cd), l.pf = function (e, n) { iyn(this, u(e, 37), n) }, l.d = 0, l.e = 0, l.i = 0, l.j = 0, l.k = 0, l.n = 0, N(Vn, "NodePromotion", 1563), M(1564, 1, {}, YP), l.Kb = function (e) { return u(e, 46), Rn(), !0 }, l.Fb = function (e) { return this === e }, N(Vn, "NodePromotion/lambda$0$Type", 1564), M(1565, 1, {}, Tp), l.Kb = function (e) { return ktn(this.a, u(e, 46)) }, l.Fb = function (e) { return this === e }, l.a = 0, N(Vn, "NodePromotion/lambda$1$Type", 1565), M(1566, 1, {}, Kf), l.Kb = function (e) { return Etn(this.a, u(e, 46)) }, l.Fb = function (e) { return this === e }, l.a = 0, N(Vn, "NodePromotion/lambda$2$Type", 1566), M(1567, 1, ys, TL), l.pf = function (e, n) { A3n(u(e, 37), n) }, N(Vn, "NorthSouthPortPostprocessor", 1567), M(1568, 1, ys, xk), l.pf = function (e, n) { d3n(u(e, 37), n) }, N(Vn, "NorthSouthPortPreprocessor", 1568), M(1569, 1, Ui, _L), l.ue = function (e, n) { return qan(u(e, 11), u(n, 11)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Vn, "NorthSouthPortPreprocessor/lambda$0$Type", 1569), M(1570, 1, ys, XP), l.pf = function (e, n) { Mvn(u(e, 37), n) }, N(Vn, "PartitionMidprocessor", 1570), M(1571, 1, _i, CY), l.Mb = function (e) { return ia(u(e, 10), (Ce(), b9)) }, N(Vn, "PartitionMidprocessor/lambda$0$Type", 1571), M(1572, 1, Qn, dv), l.td = function (e) { Gtn(this.a, u(e, 10)) }, N(Vn, "PartitionMidprocessor/lambda$1$Type", 1572), M(1573, 1, ys, CL), l.pf = function (e, n) { Upn(u(e, 37), n) }, N(Vn, "PartitionPostprocessor", 1573), M(1574, 1, ys, SY), l.pf = function (e, n) { ngn(u(e, 37), n) }, N(Vn, "PartitionPreprocessor", 1574), M(1575, 1, _i, AY), l.Mb = function (e) { return ia(u(e, 10), (Ce(), b9)) }, N(Vn, "PartitionPreprocessor/lambda$0$Type", 1575), M(1576, 1, {}, QP), l.Kb = function (e) { return new kn(null, new Ov(new pr(mr(Gs(u(e, 10)).a.Kc(), new H)))) }, N(Vn, "PartitionPreprocessor/lambda$1$Type", 1576), M(1577, 1, _i, V5), l.Mb = function (e) { return Yun(u(e, 17)) }, N(Vn, "PartitionPreprocessor/lambda$2$Type", 1577), M(1578, 1, Qn, ZP), l.td = function (e) { Zan(u(e, 17)) }, N(Vn, "PartitionPreprocessor/lambda$3$Type", 1578), M(1579, 1, ys, cT), l.pf = function (e, n) { gvn(u(e, 37), n) }; var Q9t, t2e, e2e, n2e, Z9t, J9t; N(Vn, "PortListSorter", 1579), M(1580, 1, {}, G5), l.Kb = function (e) { return J8(), u(e, 11).e }, N(Vn, "PortListSorter/lambda$0$Type", 1580), M(1581, 1, {}, LY), l.Kb = function (e) { return J8(), u(e, 11).g }, N(Vn, "PortListSorter/lambda$1$Type", 1581), M(1582, 1, Ui, SL), l.ue = function (e, n) { return ZQt(u(e, 11), u(n, 11)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Vn, "PortListSorter/lambda$2$Type", 1582), M(1583, 1, Ui, MY), l.ue = function (e, n) { return mhn(u(e, 11), u(n, 11)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Vn, "PortListSorter/lambda$3$Type", 1583), M(1584, 1, Ui, DY), l.ue = function (e, n) { return oue(u(e, 11), u(n, 11)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Vn, "PortListSorter/lambda$4$Type", 1584), M(1585, 1, ys, IY), l.pf = function (e, n) { Sgn(u(e, 37), n) }, N(Vn, "PortSideProcessor", 1585), M(1586, 1, ys, OY), l.pf = function (e, n) { Abn(u(e, 37), n) }, N(Vn, "ReversedEdgeRestorer", 1586), M(1591, 1, ys, bzt), l.pf = function (e, n) { rhn(this, u(e, 37), n) }, N(Vn, "SelfLoopPortRestorer", 1591), M(1592, 1, {}, JP), l.Kb = function (e) { return new kn(null, new Cn(u(e, 29).a, 16)) }, N(Vn, "SelfLoopPortRestorer/lambda$0$Type", 1592), M(1593, 1, _i, NY), l.Mb = function (e) { return u(e, 10).k == (Kn(), Ws) }, N(Vn, "SelfLoopPortRestorer/lambda$1$Type", 1593), M(1594, 1, _i, PY), l.Mb = function (e) { return ia(u(e, 10), (ie(), d9)) }, N(Vn, "SelfLoopPortRestorer/lambda$2$Type", 1594), M(1595, 1, {}, FY), l.Kb = function (e) { return u(K(u(e, 10), (ie(), d9)), 403) }, N(Vn, "SelfLoopPortRestorer/lambda$3$Type", 1595), M(1596, 1, Qn, Tm), l.td = function (e) { fdn(this.a, u(e, 403)) }, N(Vn, "SelfLoopPortRestorer/lambda$4$Type", 1596), M(794, 1, Qn, tF), l.td = function (e) { Sdn(u(e, 101)) }, N(Vn, "SelfLoopPortRestorer/lambda$5$Type", 794), M(1597, 1, ys, BY), l.pf = function (e, n) { fln(u(e, 37), n) }, N(Vn, "SelfLoopPostProcessor", 1597), M(1598, 1, {}, RY), l.Kb = function (e) { return new kn(null, new Cn(u(e, 29).a, 16)) }, N(Vn, "SelfLoopPostProcessor/lambda$0$Type", 1598), M(1599, 1, _i, jY), l.Mb = function (e) { return u(e, 10).k == (Kn(), Ws) }, N(Vn, "SelfLoopPostProcessor/lambda$1$Type", 1599), M(1600, 1, _i, eF), l.Mb = function (e) { return ia(u(e, 10), (ie(), d9)) }, N(Vn, "SelfLoopPostProcessor/lambda$2$Type", 1600), M(1601, 1, Qn, $Y), l.td = function (e) { mfn(u(e, 10)) }, N(Vn, "SelfLoopPostProcessor/lambda$3$Type", 1601), M(1602, 1, {}, zY), l.Kb = function (e) { return new kn(null, new Cn(u(e, 101).f, 1)) }, N(Vn, "SelfLoopPostProcessor/lambda$4$Type", 1602), M(1603, 1, Qn, d6), l.td = function (e) { crn(this.a, u(e, 409)) }, N(Vn, "SelfLoopPostProcessor/lambda$5$Type", 1603), M(1604, 1, _i, nF), l.Mb = function (e) { return !!u(e, 101).i }, N(Vn, "SelfLoopPostProcessor/lambda$6$Type", 1604), M(1605, 1, Qn, O3), l.td = function (e) { UUe(this.a, u(e, 101)) }, N(Vn, "SelfLoopPostProcessor/lambda$7$Type", 1605), M(1587, 1, ys, rF), l.pf = function (e, n) { spn(u(e, 37), n) }, N(Vn, "SelfLoopPreProcessor", 1587), M(1588, 1, {}, iF), l.Kb = function (e) { return new kn(null, new Cn(u(e, 101).f, 1)) }, N(Vn, "SelfLoopPreProcessor/lambda$0$Type", 1588), M(1589, 1, {}, qY), l.Kb = function (e) { return u(e, 409).a }, N(Vn, "SelfLoopPreProcessor/lambda$1$Type", 1589), M(1590, 1, Qn, HY), l.td = function (e) { QKe(u(e, 17)) }, N(Vn, "SelfLoopPreProcessor/lambda$2$Type", 1590), M(1606, 1, ys, XUt), l.pf = function (e, n) { ndn(this, u(e, 37), n) }, N(Vn, "SelfLoopRouter", 1606), M(1607, 1, {}, kk), l.Kb = function (e) { return new kn(null, new Cn(u(e, 29).a, 16)) }, N(Vn, "SelfLoopRouter/lambda$0$Type", 1607), M(1608, 1, _i, U5), l.Mb = function (e) { return u(e, 10).k == (Kn(), Ws) }, N(Vn, "SelfLoopRouter/lambda$1$Type", 1608), M(1609, 1, _i, DE), l.Mb = function (e) { return ia(u(e, 10), (ie(), d9)) }, N(Vn, "SelfLoopRouter/lambda$2$Type", 1609), M(1610, 1, {}, VY), l.Kb = function (e) { return u(K(u(e, 10), (ie(), d9)), 403) }, N(Vn, "SelfLoopRouter/lambda$3$Type", 1610), M(1611, 1, Qn, UHt), l.td = function (e) { Ftn(this.a, this.b, u(e, 403)) }, N(Vn, "SelfLoopRouter/lambda$4$Type", 1611), M(1612, 1, ys, AL), l.pf = function (e, n) { _2n(u(e, 37), n) }, N(Vn, "SemiInteractiveCrossMinProcessor", 1612), M(1613, 1, _i, IE), l.Mb = function (e) { return u(e, 10).k == (Kn(), Ws) }, N(Vn, "SemiInteractiveCrossMinProcessor/lambda$0$Type", 1613), M(1614, 1, _i, LL), l.Mb = function (e) { return fKt(u(e, 10))._b((Ce(), zy)) }, N(Vn, "SemiInteractiveCrossMinProcessor/lambda$1$Type", 1614), M(1615, 1, Ui, sF), l.ue = function (e, n) { return tan(u(e, 10), u(n, 10)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Vn, "SemiInteractiveCrossMinProcessor/lambda$2$Type", 1615), M(1616, 1, {}, aF), l.Ce = function (e, n) { return Jtn(u(e, 10), u(n, 10)) }, N(Vn, "SemiInteractiveCrossMinProcessor/lambda$3$Type", 1616), M(1618, 1, ys, GY), l.pf = function (e, n) { ywn(u(e, 37), n) }, N(Vn, "SortByInputModelProcessor", 1618), M(1619, 1, _i, UY), l.Mb = function (e) { return u(e, 11).g.c.length != 0 }, N(Vn, "SortByInputModelProcessor/lambda$0$Type", 1619), M(1620, 1, Qn, g6), l.td = function (e) { Idn(this.a, u(e, 11)) }, N(Vn, "SortByInputModelProcessor/lambda$1$Type", 1620), M(1693, 803, {}, oee), l.Me = function (e) { var n, r, s, o; switch (this.c = e, this.a.g) { case 2: n = new le, Ts(Qi(new kn(null, new Cn(this.c.a.b, 16)), new lF), new QHt(this, n)), sI(this, new cF), Mu(n, new KY), n.c = Ot(nr, De, 1, 0, 5, 1), Ts(Qi(new kn(null, new Cn(this.c.a.b, 16)), new YY), new N3(n)), sI(this, new XY), Mu(n, new QY), n.c = Ot(nr, De, 1, 0, 5, 1), r = MGt(yee(Vj(new kn(null, new Cn(this.c.a.b, 16)), new Hd(this))), new ZY), Ts(new kn(null, new Cn(this.c.a.a, 16)), new KHt(r, n)), sI(this, new JY), Mu(n, new WY), n.c = Ot(nr, De, 1, 0, 5, 1); break; case 3: s = new le, sI(this, new oF), o = MGt(yee(Vj(new kn(null, new Cn(this.c.a.b, 16)), new wT(this))), new uF), Ts(Qi(new kn(null, new Cn(this.c.a.b, 16)), new tX), new XHt(o, s)), sI(this, new eX), Mu(s, new nX), s.c = Ot(nr, De, 1, 0, 5, 1); break; default: throw et(new ezt) } }, l.b = 0, N(js, "EdgeAwareScanlineConstraintCalculation", 1693), M(1694, 1, Td, oF), l.Lb = function (e) { return Et(u(e, 57).g, 145) }, l.Fb = function (e) { return this === e }, l.Mb = function (e) { return Et(u(e, 57).g, 145) }, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$0$Type", 1694), M(1695, 1, {}, wT), l.Fe = function (e) { return h0n(this.a, u(e, 57)) }, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$1$Type", 1695), M(1703, 1, Tq, WHt), l.Vd = function () { nC(this.a, this.b, -1) }, l.b = 0, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$10$Type", 1703), M(1705, 1, Td, cF), l.Lb = function (e) { return Et(u(e, 57).g, 145) }, l.Fb = function (e) { return this === e }, l.Mb = function (e) { return Et(u(e, 57).g, 145) }, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$11$Type", 1705), M(1706, 1, Qn, KY), l.td = function (e) { u(e, 365).Vd() }, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$12$Type", 1706), M(1707, 1, _i, YY), l.Mb = function (e) { return Et(u(e, 57).g, 10) }, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$13$Type", 1707), M(1709, 1, Qn, N3), l.td = function (e) { Rcn(this.a, u(e, 57)) }, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$14$Type", 1709), M(1708, 1, Tq, eVt), l.Vd = function () { nC(this.b, this.a, -1) }, l.a = 0, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$15$Type", 1708), M(1710, 1, Td, XY), l.Lb = function (e) { return Et(u(e, 57).g, 10) }, l.Fb = function (e) { return this === e }, l.Mb = function (e) { return Et(u(e, 57).g, 10) }, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$16$Type", 1710), M(1711, 1, Qn, QY), l.td = function (e) { u(e, 365).Vd() }, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$17$Type", 1711), M(1712, 1, {}, Hd), l.Fe = function (e) { return f0n(this.a, u(e, 57)) }, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$18$Type", 1712), M(1713, 1, {}, ZY), l.De = function () { return 0 }, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$19$Type", 1713), M(1696, 1, {}, uF), l.De = function () { return 0 }, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$2$Type", 1696), M(1715, 1, Qn, KHt), l.td = function (e) { mJe(this.a, this.b, u(e, 307)) }, l.a = 0, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$20$Type", 1715), M(1714, 1, Tq, YHt), l.Vd = function () { voe(this.a, this.b, -1) }, l.b = 0, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$21$Type", 1714), M(1716, 1, Td, JY), l.Lb = function (e) { return u(e, 57), !0 }, l.Fb = function (e) { return this === e }, l.Mb = function (e) { return u(e, 57), !0 }, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$22$Type", 1716), M(1717, 1, Qn, WY), l.td = function (e) { u(e, 365).Vd() }, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$23$Type", 1717), M(1697, 1, _i, tX), l.Mb = function (e) { return Et(u(e, 57).g, 10) }, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$3$Type", 1697), M(1699, 1, Qn, XHt), l.td = function (e) { yJe(this.a, this.b, u(e, 57)) }, l.a = 0, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$4$Type", 1699), M(1698, 1, Tq, nVt), l.Vd = function () { nC(this.b, this.a, -1) }, l.a = 0, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$5$Type", 1698), M(1700, 1, Td, eX), l.Lb = function (e) { return u(e, 57), !0 }, l.Fb = function (e) { return this === e }, l.Mb = function (e) { return u(e, 57), !0 }, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$6$Type", 1700), M(1701, 1, Qn, nX), l.td = function (e) { u(e, 365).Vd() }, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$7$Type", 1701), M(1702, 1, _i, lF), l.Mb = function (e) { return Et(u(e, 57).g, 145) }, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$8$Type", 1702), M(1704, 1, Qn, QHt), l.td = function (e) { vsn(this.a, this.b, u(e, 57)) }, N(js, "EdgeAwareScanlineConstraintCalculation/lambda$9$Type", 1704), M(1521, 1, ys, fUt), l.pf = function (e, n) { hmn(this, u(e, 37), n) }; var r2e; N(js, "HorizontalGraphCompactor", 1521), M(1522, 1, {}, C1), l.Oe = function (e, n) { var r, s, o; return pmt(e, n) || (r = Z3(e), s = Z3(n), r && r.k == (Kn(), Fs) || s && s.k == (Kn(), Fs)) ? 0 : (o = u(K(this.a.a, (ie(), Y4)), 304), _Ye(o, r ? r.k : (Kn(), ha), s ? s.k : (Kn(), ha))) }, l.Pe = function (e, n) { var r, s, o; return pmt(e, n) ? 1 : (r = Z3(e), s = Z3(n), o = u(K(this.a.a, (ie(), Y4)), 304), lbt(o, r ? r.k : (Kn(), ha), s ? s.k : (Kn(), ha))) }, N(js, "HorizontalGraphCompactor/1", 1522), M(1523, 1, {}, OE), l.Ne = function (e, n) { return FT(), e.a.i == 0 }, N(js, "HorizontalGraphCompactor/lambda$0$Type", 1523), M(1524, 1, {}, Vd), l.Ne = function (e, n) { return Ytn(this.a, e, n) }, N(js, "HorizontalGraphCompactor/lambda$1$Type", 1524), M(1664, 1, {}, UJt); var i2e, s2e; N(js, "LGraphToCGraphTransformer", 1664), M(1672, 1, _i, rX), l.Mb = function (e) { return e != null }, N(js, "LGraphToCGraphTransformer/0methodref$nonNull$Type", 1672), M(1665, 1, {}, iX), l.Kb = function (e) { return bf(), Jo(K(u(u(e, 57).g, 10), (ie(), Bi))) }, N(js, "LGraphToCGraphTransformer/lambda$0$Type", 1665), M(1666, 1, {}, hF), l.Kb = function (e) { return bf(), Yne(u(u(e, 57).g, 145)) }, N(js, "LGraphToCGraphTransformer/lambda$1$Type", 1666), M(1675, 1, _i, sX), l.Mb = function (e) { return bf(), Et(u(e, 57).g, 10) }, N(js, "LGraphToCGraphTransformer/lambda$10$Type", 1675), M(1676, 1, Qn, aX), l.td = function (e) { Ktn(u(e, 57)) }, N(js, "LGraphToCGraphTransformer/lambda$11$Type", 1676), M(1677, 1, _i, oX), l.Mb = function (e) { return bf(), Et(u(e, 57).g, 145) }, N(js, "LGraphToCGraphTransformer/lambda$12$Type", 1677), M(1681, 1, Qn, cX), l.td = function (e) { Jon(u(e, 57)) }, N(js, "LGraphToCGraphTransformer/lambda$13$Type", 1681), M(1678, 1, Qn, mT), l.td = function (e) { EKe(this.a, u(e, 8)) }, l.a = 0, N(js, "LGraphToCGraphTransformer/lambda$14$Type", 1678), M(1679, 1, Qn, q2), l.td = function (e) { _Ke(this.a, u(e, 110)) }, l.a = 0, N(js, "LGraphToCGraphTransformer/lambda$15$Type", 1679), M(1680, 1, Qn, WB), l.td = function (e) { TKe(this.a, u(e, 8)) }, l.a = 0, N(js, "LGraphToCGraphTransformer/lambda$16$Type", 1680), M(1682, 1, {}, uX), l.Kb = function (e) { return bf(), new kn(null, new Ov(new pr(mr(Gs(u(e, 10)).a.Kc(), new H)))) }, N(js, "LGraphToCGraphTransformer/lambda$17$Type", 1682), M(1683, 1, _i, lX), l.Mb = function (e) { return bf(), ro(u(e, 17)) }, N(js, "LGraphToCGraphTransformer/lambda$18$Type", 1683), M(1684, 1, Qn, ytt), l.td = function (e) { ssn(this.a, u(e, 17)) }, N(js, "LGraphToCGraphTransformer/lambda$19$Type", 1684), M(1668, 1, Qn, xtt), l.td = function (e) { jnn(this.a, u(e, 145)) }, N(js, "LGraphToCGraphTransformer/lambda$2$Type", 1668), M(1685, 1, {}, fF), l.Kb = function (e) { return bf(), new kn(null, new Cn(u(e, 29).a, 16)) }, N(js, "LGraphToCGraphTransformer/lambda$20$Type", 1685), M(1686, 1, {}, hX), l.Kb = function (e) { return bf(), new kn(null, new Ov(new pr(mr(Gs(u(e, 10)).a.Kc(), new H)))) }, N(js, "LGraphToCGraphTransformer/lambda$21$Type", 1686), M(1687, 1, {}, dF), l.Kb = function (e) { return bf(), u(K(u(e, 17), (ie(), Ib)), 15) }, N(js, "LGraphToCGraphTransformer/lambda$22$Type", 1687), M(1688, 1, _i, fX), l.Mb = function (e) { return SYe(u(e, 15)) }, N(js, "LGraphToCGraphTransformer/lambda$23$Type", 1688), M(1689, 1, Qn, ktt), l.td = function (e) { n0n(this.a, u(e, 15)) }, N(js, "LGraphToCGraphTransformer/lambda$24$Type", 1689), M(1667, 1, Qn, ZHt), l.td = function (e) { Crn(this.a, this.b, u(e, 145)) }, N(js, "LGraphToCGraphTransformer/lambda$3$Type", 1667), M(1669, 1, {}, dX), l.Kb = function (e) { return bf(), new kn(null, new Cn(u(e, 29).a, 16)) }, N(js, "LGraphToCGraphTransformer/lambda$4$Type", 1669), M(1670, 1, {}, gX), l.Kb = function (e) { return bf(), new kn(null, new Ov(new pr(mr(Gs(u(e, 10)).a.Kc(), new H)))) }, N(js, "LGraphToCGraphTransformer/lambda$5$Type", 1670), M(1671, 1, {}, NE), l.Kb = function (e) { return bf(), u(K(u(e, 17), (ie(), Ib)), 15) }, N(js, "LGraphToCGraphTransformer/lambda$6$Type", 1671), M(1673, 1, Qn, Ett), l.td = function (e) { N0n(this.a, u(e, 15)) }, N(js, "LGraphToCGraphTransformer/lambda$8$Type", 1673), M(1674, 1, Qn, JHt), l.td = function (e) { WKe(this.a, this.b, u(e, 145)) }, N(js, "LGraphToCGraphTransformer/lambda$9$Type", 1674), M(1663, 1, {}, pX), l.Le = function (e) { var n, r, s, o, h; for (this.a = e, this.d = new Itt, this.c = Ot(O7t, De, 121, this.a.a.a.c.length, 0, 1), this.b = 0, r = new S(this.a.a.a); r.a < r.c.c.length;)n = u(Q(r), 307), n.d = this.b, h = Lv(pM(new V2, n), this.d), this.c[this.b] = h, ++this.b; for (vyn(this), w3n(this), Fpn(this), Xst(ont(this.d), new Yk), o = new S(this.a.a.b); o.a < o.c.c.length;)s = u(Q(o), 57), s.d.c = this.c[s.a.d].e + s.b.a }, l.b = 0, N(js, "NetworkSimplexCompaction", 1663), M(145, 1, { 35: 1, 145: 1 }, pC), l.wd = function (e) { return usn(this, u(e, 145)) }, l.Ib = function () { return Yne(this) }, N(js, "VerticalSegment", 145), M(827, 1, {}, t4t), l.c = 0, l.e = 0, l.i = 0, N(IC, "BetweenLayerEdgeTwoNodeCrossingsCounter", 827), M(663, 1, { 663: 1 }, Eee), l.Ib = function () { return "AdjacencyList [node=" + this.d + ", adjacencies= " + this.a + "]" }, l.b = 0, l.c = 0, l.f = 0, N(IC, "BetweenLayerEdgeTwoNodeCrossingsCounter/AdjacencyList", 663), M(287, 1, { 35: 1, 287: 1 }, yUt), l.wd = function (e) { return XZe(this, u(e, 287)) }, l.Ib = function () { return "Adjacency [position=" + this.c + ", cardinality=" + this.a + ", currentCardinality=" + this.b + "]" }, l.a = 0, l.b = 0, l.c = 0, N(IC, "BetweenLayerEdgeTwoNodeCrossingsCounter/AdjacencyList/Adjacency", 287), M(1929, 1, {}, Gse), l.b = 0, l.e = !1, N(IC, "CrossingMatrixFiller", 1929); var a2e = ls(c0, "IInitializable"); M(1804, 1, qI, aVt), l.Nf = function (e, n, r, s, o, h) { }, l.Pf = function (e, n, r) { }, l.Lf = function () { return this.c != (Yv(), CS) }, l.Mf = function () { this.e = Ot(Br, oi, 25, this.d, 15, 1) }, l.Of = function (e, n) { n[e][0].c.p = e }, l.Qf = function (e, n, r, s) { ++this.d }, l.Rf = function () { return !0 }, l.Sf = function (e, n, r, s) { return qne(this, e, n, r), Rrn(this, n) }, l.Tf = function (e, n) { var r; return r = xWe(n, e.length), qne(this, e, r, n), cne(this, r) }, l.d = 0, N(IC, "GreedySwitchHeuristic", 1804), M(1930, 1, {}, mKt), l.b = 0, l.d = 0, N(IC, "NorthSouthEdgeNeighbouringNodeCrossingsCounter", 1930), M(1917, 1, {}, kce), l.a = !1, N(IC, "SwitchDecider", 1917), M(101, 1, { 101: 1 }, Jse), l.a = null, l.c = null, l.i = null, N(mx, "SelfHyperLoop", 101), M(1916, 1, {}, Zre), l.c = 0, l.e = 0, N(mx, "SelfHyperLoopLabels", 1916), M(411, 22, { 3: 1, 35: 1, 22: 1, 411: 1 }, PR); var _x, i9, s9, Yut, o2e = Xr(mx, "SelfHyperLoopLabels/Alignment", 411, ti, arn, JXe), c2e; M(409, 1, { 409: 1 }, BZt), N(mx, "SelfLoopEdge", 409), M(403, 1, { 403: 1 }, Vre), l.a = !1, N(mx, "SelfLoopHolder", 403), M(1724, 1, _i, yF), l.Mb = function (e) { return ro(u(e, 17)) }, N(mx, "SelfLoopHolder/lambda$0$Type", 1724), M(113, 1, { 113: 1 }, Jre), l.a = !1, l.c = !1, N(mx, "SelfLoopPort", 113), M(1792, 1, _i, xF), l.Mb = function (e) { return ro(u(e, 17)) }, N(mx, "SelfLoopPort/lambda$0$Type", 1792), M(363, 22, { 3: 1, 35: 1, 22: 1, 363: 1 }, xM); var mV, yV, xV, kV, EV, u2e = Xr(mx, "SelfLoopType", 363, ti, Qrn, iQe), l2e; M(1732, 1, {}, DJ); var h2e, f2e, d2e, g2e; N(Ql, "PortRestorer", 1732), M(361, 22, { 3: 1, 35: 1, 22: 1, 361: 1 }, cet); var Tw, d2, _w, Xut = Xr(Ql, "PortRestorer/PortSideArea", 361, ti, cnn, sQe), p2e; M(1733, 1, {}, C3), l.Kb = function (e) { return t2(), u(e, 15).Oc() }, N(Ql, "PortRestorer/lambda$0$Type", 1733), M(1734, 1, Qn, wX), l.td = function (e) { t2(), u(e, 113).c = !1 }, N(Ql, "PortRestorer/lambda$1$Type", 1734), M(1743, 1, _i, mX), l.Mb = function (e) { return t2(), u(e, 11).j == (we(), jn) }, N(Ql, "PortRestorer/lambda$10$Type", 1743), M(1744, 1, {}, BE), l.Kb = function (e) { return t2(), u(e, 113).d }, N(Ql, "PortRestorer/lambda$11$Type", 1744), M(1745, 1, Qn, Ttt), l.td = function (e) { CWe(this.a, u(e, 11)) }, N(Ql, "PortRestorer/lambda$12$Type", 1745), M(1735, 1, Qn, _tt), l.td = function (e) { IYe(this.a, u(e, 101)) }, N(Ql, "PortRestorer/lambda$2$Type", 1735), M(1736, 1, Ui, yX), l.ue = function (e, n) { return Isn(u(e, 113), u(n, 113)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Ql, "PortRestorer/lambda$3$Type", 1736), M(1737, 1, _i, xX), l.Mb = function (e) { return t2(), u(e, 113).c }, N(Ql, "PortRestorer/lambda$4$Type", 1737), M(1738, 1, _i, bX), l.Mb = function (e) { return man(u(e, 11)) }, N(Ql, "PortRestorer/lambda$5$Type", 1738), M(1739, 1, _i, PE), l.Mb = function (e) { return t2(), u(e, 11).j == (we(), Fn) }, N(Ql, "PortRestorer/lambda$6$Type", 1739), M(1740, 1, _i, gF), l.Mb = function (e) { return t2(), u(e, 11).j == (we(), Wn) }, N(Ql, "PortRestorer/lambda$7$Type", 1740), M(1741, 1, _i, pF), l.Mb = function (e) { return orn(u(e, 11)) }, N(Ql, "PortRestorer/lambda$8$Type", 1741), M(1742, 1, _i, bF), l.Mb = function (e) { return t2(), u(e, 11).j == (we(), Lr) }, N(Ql, "PortRestorer/lambda$9$Type", 1742), M(270, 22, { 3: 1, 35: 1, 22: 1, 270: 1 }, B6); var Qut, Zut, Jut, tlt, elt, nlt, rlt, ilt, tEt = Xr(Ql, "PortSideAssigner/Target", 270, ti, Tsn, tQe), b2e; M(1725, 1, {}, vF), l.Kb = function (e) { return Qi(new kn(null, new Cn(u(e, 101).j, 16)), new FE) }, N(Ql, "PortSideAssigner/lambda$1$Type", 1725), M(1726, 1, {}, cv), l.Kb = function (e) { return u(e, 113).d }, N(Ql, "PortSideAssigner/lambda$2$Type", 1726), M(1727, 1, Qn, wF), l.td = function (e) { Qs(u(e, 11), (we(), Fn)) }, N(Ql, "PortSideAssigner/lambda$3$Type", 1727), M(1728, 1, {}, mF), l.Kb = function (e) { return u(e, 113).d }, N(Ql, "PortSideAssigner/lambda$4$Type", 1728), M(1729, 1, Qn, Ctt), l.td = function (e) { IUe(this.a, u(e, 11)) }, N(Ql, "PortSideAssigner/lambda$5$Type", 1729), M(1730, 1, Ui, vX), l.ue = function (e, n) { return ctn(u(e, 101), u(n, 101)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Ql, "PortSideAssigner/lambda$6$Type", 1730), M(1731, 1, Ui, W5), l.ue = function (e, n) { return PZe(u(e, 113), u(n, 113)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Ql, "PortSideAssigner/lambda$7$Type", 1731), M(805, 1, _i, FE), l.Mb = function (e) { return u(e, 113).c }, N(Ql, "PortSideAssigner/lambda$8$Type", 805), M(2009, 1, {}), N(a2, "AbstractSelfLoopRouter", 2009), M(1750, 1, Ui, kX), l.ue = function (e, n) { return _Xe(u(e, 101), u(n, 101)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(a2, $he, 1750), M(1751, 1, Ui, EX), l.ue = function (e, n) { return TXe(u(e, 101), u(n, 101)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(a2, zhe, 1751), M(1793, 2009, {}, TX), l.Uf = function (e, n, r) { return r }, N(a2, "OrthogonalSelfLoopRouter", 1793), M(1795, 1, Qn, rVt), l.td = function (e) { c3t(this.b, this.a, u(e, 8)) }, N(a2, "OrthogonalSelfLoopRouter/lambda$0$Type", 1795), M(1794, 1793, {}, _X), l.Uf = function (e, n, r) { var s, o; return s = e.c.d, h8(r, 0, $i(pc(s.n), s.a)), o = e.d.d, pi(r, $i(pc(o.n), o.a)), _vn(r) }, N(a2, "PolylineSelfLoopRouter", 1794), M(1746, 1, {}, SJ), l.a = null; var z4; N(a2, "RoutingDirector", 1746), M(1747, 1, Ui, CX), l.ue = function (e, n) { return RZe(u(e, 113), u(n, 113)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(a2, "RoutingDirector/lambda$0$Type", 1747), M(1748, 1, {}, SX), l.Kb = function (e) { return yR(), u(e, 101).j }, N(a2, "RoutingDirector/lambda$1$Type", 1748), M(1749, 1, Qn, AX), l.td = function (e) { yR(), u(e, 15).ad(z4) }, N(a2, "RoutingDirector/lambda$2$Type", 1749), M(1752, 1, {}, LX), N(a2, "RoutingSlotAssigner", 1752), M(1753, 1, _i, Uk), l.Mb = function (e) { return rKe(this.a, u(e, 101)) }, N(a2, "RoutingSlotAssigner/lambda$0$Type", 1753), M(1754, 1, Ui, iM), l.ue = function (e, n) { return oJe(this.a, u(e, 101), u(n, 101)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(a2, "RoutingSlotAssigner/lambda$1$Type", 1754), M(1796, 1793, {}, MX), l.Uf = function (e, n, r) { var s, o, h, d; return s = Xt(xe(Sz(e.b.g.b, (Ce(), Fx)))), d = new kUt(ct(ot(sa, 1), te, 8, 0, [(h = e.c.d, $i(new No(h.n), h.a))])), apn(e, n, r, d, s), pi(d, (o = e.d.d, $i(new No(o.n), o.a))), gie(new j5t(d)) }, N(a2, "SplineSelfLoopRouter", 1796), M(578, 1, Ui, bee, qWt), l.ue = function (e, n) { return $le(this, u(e, 10), u(n, 10)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(OC, "ModelOrderNodeComparator", 578), M(1755, 1, _i, ML), l.Mb = function (e) { return u(e, 11).e.c.length != 0 }, N(OC, "ModelOrderNodeComparator/lambda$0$Type", 1755), M(1756, 1, {}, kF), l.Kb = function (e) { return u(Fe(u(e, 11).e, 0), 17).c }, N(OC, "ModelOrderNodeComparator/lambda$1$Type", 1756), M(1757, 1, _i, DX), l.Mb = function (e) { return u(e, 11).e.c.length != 0 }, N(OC, "ModelOrderNodeComparator/lambda$2$Type", 1757), M(1758, 1, {}, IX), l.Kb = function (e) { return u(Fe(u(e, 11).e, 0), 17).c }, N(OC, "ModelOrderNodeComparator/lambda$3$Type", 1758), M(1759, 1, _i, OX), l.Mb = function (e) { return u(e, 11).e.c.length != 0 }, N(OC, "ModelOrderNodeComparator/lambda$4$Type", 1759), M(806, 1, Ui, WJt, sVt), l.ue = function (e, n) { return BKt(this, e, n) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(OC, "ModelOrderPortComparator", 806), M(801, 1, {}, EF), l.Vf = function (e, n) { var r, s, o, h; for (o = zse(n), r = new le, h = n.f / o, s = 1; s < o; ++s)ue(r, pe($r(Ou(b.Math.round(s * h))))); return r }, l.Wf = function () { return !1 }, N(Ad, "ARDCutIndexHeuristic", 801), M(1479, 1, ys, NX), l.pf = function (e, n) { zbn(u(e, 37), n) }, N(Ad, "BreakingPointInserter", 1479), M(305, 1, { 305: 1 }, Iwt), l.Ib = function () {
                                var e; return e = new Ap, e.a += "BPInfo[", e.a += `
        start=`, Cc(e, this.i), e.a += `
        end=`, Cc(e, this.a), e.a += `
        nodeStartEdge=`, Cc(e, this.e), e.a += `
        startEndEdge=`, Cc(e, this.j), e.a += `
        originalEdge=`, Cc(e, this.f), e.a += `
        startInLayerDummy=`, Cc(e, this.k), e.a += `
        startInLayerEdge=`, Cc(e, this.n), e.a += `
        endInLayerDummy=`, Cc(e, this.b), e.a += `
        endInLayerEdge=`, Cc(e, this.c), e.a
                            }, N(Ad, "BreakingPointInserter/BPInfo", 305), M(652, 1, { 652: 1 }, Cp), l.a = !1, l.b = 0, l.c = 0, N(Ad, "BreakingPointInserter/Cut", 652), M(1480, 1, ys, PX), l.pf = function (e, n) { vpn(u(e, 37), n) }, N(Ad, "BreakingPointProcessor", 1480), M(1481, 1, _i, FX), l.Mb = function (e) { return fte(u(e, 10)) }, N(Ad, "BreakingPointProcessor/0methodref$isEnd$Type", 1481), M(1482, 1, _i, BX), l.Mb = function (e) { return dte(u(e, 10)) }, N(Ad, "BreakingPointProcessor/1methodref$isStart$Type", 1482), M(1483, 1, ys, RX), l.pf = function (e, n) { $pn(this, u(e, 37), n) }, N(Ad, "BreakingPointRemover", 1483), M(1484, 1, Qn, jX), l.td = function (e) { u(e, 128).k = !0 }, N(Ad, "BreakingPointRemover/lambda$0$Type", 1484), M(797, 1, {}, U4t), l.b = 0, l.e = 0, l.f = 0, l.j = 0, N(Ad, "GraphStats", 797), M(798, 1, {}, TF), l.Ce = function (e, n) { return b.Math.max(Xt(xe(e)), Xt(xe(n))) }, N(Ad, "GraphStats/0methodref$max$Type", 798), M(799, 1, {}, _F), l.Ce = function (e, n) { return b.Math.max(Xt(xe(e)), Xt(xe(n))) }, N(Ad, "GraphStats/2methodref$max$Type", 799), M(1660, 1, {}, $X), l.Ce = function (e, n) { return _Ze(xe(e), xe(n)) }, N(Ad, "GraphStats/lambda$1$Type", 1660), M(1661, 1, {}, yT), l.Kb = function (e) { return eie(this.a, u(e, 29)) }, N(Ad, "GraphStats/lambda$2$Type", 1661), M(1662, 1, {}, KB), l.Kb = function (e) { return Foe(this.a, u(e, 29)) }, N(Ad, "GraphStats/lambda$6$Type", 1662), M(800, 1, {}, CF), l.Vf = function (e, n) { var r; return r = u(K(e, (Ce(), XTt)), 15), r || (pn(), pn(), wo) }, l.Wf = function () { return !1 }, N(Ad, "ICutIndexCalculator/ManualCutIndexCalculator", 800), M(802, 1, {}, SF), l.Vf = function (e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt; for (Yt = (n.n == null && _ie(n), n.n), k = (n.d == null && _ie(n), n.d), Pt = Ot(wa, Do, 25, Yt.length, 15, 1), Pt[0] = Yt[0], Lt = Yt[0], _ = 1; _ < Yt.length; _++)Pt[_] = Pt[_ - 1] + Yt[_], Lt += Yt[_]; for (o = zse(n) - 1, d = u(K(e, (Ce(), QTt)), 19).a, s = Rs, r = new le, q = b.Math.max(0, o - d); q <= b.Math.min(n.f - 1, o + d); q++) { if (Z = Lt / (q + 1), bt = 0, L = 1, h = new le, Ct = Rs, F = 0, w = 0, W = k[0], q == 0) Ct = Lt, w = (n.g == null && (n.g = wee(n, new _F)), Xt(n.g)); else { for (; L < n.f;)Pt[L - 1] - bt >= Z && (ue(h, pe(L)), Ct = b.Math.max(Ct, Pt[L - 1] - F), w += W, bt += Pt[L - 1] - bt, F = Pt[L - 1], W = k[L]), W = b.Math.max(W, k[L]), ++L; w += W } G = b.Math.min(1 / Ct, 1 / n.b / w), G > s && (s = G, r = h) } return r }, l.Wf = function () { return !1 }, N(Ad, "MSDCutIndexHeuristic", 802), M(1617, 1, ys, zX), l.pf = function (e, n) { fwn(u(e, 37), n) }, N(Ad, "SingleEdgeGraphWrapper", 1617), M(227, 22, { 3: 1, 35: 1, 22: 1, 227: 1 }, HT); var q4, a9, o9, Dy, oS, H4, c9 = Xr(Pc, "CenterEdgeLabelPlacementStrategy", 227, ti, Ein, eQe), v2e; M(422, 22, { 3: 1, 35: 1, 22: 1, 422: 1 }, l2t); var eEt, slt, nEt = Xr(Pc, "ConstraintCalculationStrategy", 422, ti, den, nQe), w2e; M(314, 22, { 3: 1, 35: 1, 22: 1, 314: 1, 246: 1, 234: 1 }, uet), l.Kf = function () { return Aae(this) }, l.Xf = function () { return Aae(this) }; var vO, Cx, rEt, iEt = Xr(Pc, "CrossingMinimizationStrategy", 314, ti, snn, rQe), m2e; M(337, 22, { 3: 1, 35: 1, 22: 1, 337: 1 }, het); var sEt, alt, TV, aEt = Xr(Pc, "CuttingStrategy", 337, ti, ann, aQe), y2e; M(335, 22, { 3: 1, 35: 1, 22: 1, 335: 1, 246: 1, 234: 1 }, kM), l.Kf = function () { return goe(this) }, l.Xf = function () { return goe(this) }; var oEt, olt, cS, clt, uS, cEt = Xr(Pc, "CycleBreakingStrategy", 335, ti, Yrn, oQe), x2e; M(419, 22, { 3: 1, 35: 1, 22: 1, 419: 1 }, h2t); var _V, uEt, lEt = Xr(Pc, "DirectionCongruency", 419, ti, fen, cQe), k2e; M(450, 22, { 3: 1, 35: 1, 22: 1, 450: 1 }, fet); var u9, ult, V4, E2e = Xr(Pc, "EdgeConstraint", 450, ti, onn, uQe), T2e; M(276, 22, { 3: 1, 35: 1, 22: 1, 276: 1 }, VT); var llt, hlt, flt, dlt, CV, glt, hEt = Xr(Pc, "EdgeLabelSideSelection", 276, ti, Sin, lQe), _2e; M(479, 22, { 3: 1, 35: 1, 22: 1, 479: 1 }, f2t); var SV, fEt, dEt = Xr(Pc, "EdgeStraighteningStrategy", 479, ti, hen, hQe), C2e; M(274, 22, { 3: 1, 35: 1, 22: 1, 274: 1 }, GT); var plt, gEt, pEt, AV, bEt, vEt, wEt = Xr(Pc, "FixedAlignment", 274, ti, _in, fQe), S2e; M(275, 22, { 3: 1, 35: 1, 22: 1, 275: 1 }, UT); var mEt, yEt, xEt, kEt, lS, EEt, TEt = Xr(Pc, "GraphCompactionStrategy", 275, ti, Tin, dQe), A2e; M(256, 22, { 3: 1, 35: 1, 22: 1, 256: 1 }, Mm); var l9, LV, h9, Th, hS, MV, f9, G4, DV, fS, blt = Xr(Pc, "GraphProperties", 256, ti, fan, gQe), L2e; M(292, 22, { 3: 1, 35: 1, 22: 1, 292: 1 }, det); var wO, vlt, wlt, mlt = Xr(Pc, "GreedySwitchType", 292, ti, lnn, pQe), M2e; M(303, 22, { 3: 1, 35: 1, 22: 1, 303: 1 }, get); var Sx, mO, U4, D2e = Xr(Pc, "InLayerConstraint", 303, ti, unn, bQe), I2e; M(420, 22, { 3: 1, 35: 1, 22: 1, 420: 1 }, d2t); var ylt, _Et, CEt = Xr(Pc, "InteractiveReferencePoint", 420, ti, gen, vQe), O2e, SEt, Ax, Cw, IV, AEt, LEt, OV, MEt, yO, NV, dS, Lx, Iy, xlt, PV, yc, DEt, Sw, tu, klt, Elt, xO, Db, Aw, Mx, IEt, Dx, kO, Oy, c1, Uh, Tlt, W4, Bc, Bi, OEt, NEt, PEt, FEt, BEt, _lt, FV, ul, Lw, Clt, Ix, EO, K1, K4, d9, Y4, X4, g9, Ib, REt, Slt, Alt, Ox; M(163, 22, { 3: 1, 35: 1, 22: 1, 163: 1 }, TM); var gS, g2, pS, Ny, TO, jEt = Xr(Pc, "LayerConstraint", 163, ti, Zrn, wQe), N2e; M(848, 1, jh, NJ), l.Qe = function (e) { an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Z6t), ""), "Direction Congruency"), "Specifies how drawings of the same graph with different layout directions compare to each other: either a natural reading direction is preserved or the drawings are rotated versions of each other."), YEt), (Rg(), ks)), lEt), on((n1(), Un))))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, J6t), ""), "Feedback Edges"), "Whether feedback edges should be highlighted by routing around the nodes."), (Rn(), !1)), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, jq), ""), "Interactive Reference Point"), "Determines which point of a node is considered by interactive layout phases."), eTt), ks), CEt), on(Un)))), ya(e, jq, Aot, _be), ya(e, jq, NC, Tbe), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, txt), ""), "Merge Edges"), "Edges that have no ports are merged so they touch the connected nodes at the same points. When this option is disabled, one port is created for each edge directly connected to a node. When it is enabled, all such incoming edges share an input port, and all outgoing edges share an output port."), !1), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, ext), ""), "Merge Hierarchy-Crossing Edges"), "If hierarchical layout is active, hierarchy-crossing edges use as few hierarchical ports as possible. They are broken by the algorithm, with hierarchical ports inserted as required. Usually, one such port is created for each edge at each hierarchy crossing point. With this option set to true, we try to create as few hierarchical ports as possible in the process. In particular, all edges that form a hyperedge can share a port."), !0), qa), Zs), on(Un)))), an(e, new Xe(TWe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, nxt), ""), "Allow Non-Flow Ports To Switch Sides"), "Specifies whether non-flow ports may switch sides if their node's port constraints are either FIXED_SIDE or FIXED_ORDER. A non-flow port is a port on a side that is not part of the currently configured layout flow. For instance, given a left-to-right layout direction, north and south ports would be considered non-flow ports. Further note that the underlying criterium whether to switch sides or not solely relies on the minimization of edge crossings. Hence, edge length and other aesthetics criteria are not addressed."), !1), qa), Zs), on(Rb)), ct(ot(Me, 1), te, 2, 6, ["org.eclipse.elk.layered.northOrSouthPort"])))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, rxt), ""), "Port Sorting Strategy"), "Only relevant for nodes with FIXED_SIDE port constraints. Determines the way a node's ports are distributed on the sides of a node if their order is not prescribed. The option is set on parent nodes."), uTt), ks), v_t), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, ixt), ""), "Thoroughness"), "How much effort should be spent to produce a nice layout."), pe(7)), Lc), to), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, sxt), ""), "Add Unnecessary Bendpoints"), "Adds bend points even if an edge does not change direction. If true, each long edge dummy will contribute a bend point to its edges and hierarchy-crossing edges will always get a bend point where they cross hierarchy boundaries. By default, bend points are only added where an edge changes direction."), !1), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, axt), ""), "Generate Position and Layer IDs"), "If enabled position id and layer id are generated, which are usually only used internally when setting the interactiveLayout option. This option should be specified on the root node."), !1), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Aot), "cycleBreaking"), "Cycle Breaking Strategy"), "Strategy for cycle breaking. Cycle breaking looks for cycles in the graph and determines which edges to reverse to break the cycles. Reversed edges will end up pointing to the opposite direction of regular edges (that is, reversed edges will point left if edges usually point right)."), KEt), ks), cEt), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, HI), Zot), "Node Layering Strategy"), "Strategy for node layering."), iTt), ks), s_t), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, oxt), Zot), "Layer Constraint"), "Determines a constraint on the placement of the node regarding the layering."), nTt), ks), jEt), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, cxt), Zot), "Layer Choice Constraint"), "Allows to set a constraint regarding the layer placement of a node. Let i be the value of teh constraint. Assumed the drawing has n layers and i < n. If set to i, it expresses that the node should be placed in i-th layer. Should i>=n be true then the node is placed in the last layer of the drawing. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."), pe(-1)), Lc), to), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, uxt), Zot), "Layer ID"), "Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."), pe(-1)), Lc), to), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Lot), Tfe), "Upper Bound On Width [MinWidth Layerer]"), "Defines a loose upper bound on the width of the MinWidth layerer. If set to '-1' multiple values are tested and the best result is selected."), pe(4)), Lc), to), on(Un)))), ya(e, Lot, HI, Ibe), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Mot), Tfe), "Upper Layer Estimation Scaling Factor [MinWidth Layerer]"), "Multiplied with Upper Bound On Width for defining an upper bound on the width of layers which haven't been determined yet, but whose maximum width had been (roughly) estimated by the MinWidth algorithm. Compensates for too high estimations. If set to '-1' multiple values are tested and the best result is selected."), pe(2)), Lc), to), on(Un)))), ya(e, Mot, HI, Nbe), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Dot), _fe), "Node Promotion Strategy"), "Reduces number of dummy nodes after layering phase (if possible)."), rTt), ks), g_t), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Iot), _fe), "Max Node Promotion Iterations"), "Limits the number of iterations for node promotion."), pe(0)), Lc), to), on(Un)))), ya(e, Iot, Dot, null), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Oot), "layering.coffmanGraham"), "Layer Bound"), "The maximum number of nodes allowed per layer."), pe(Di)), Lc), to), on(Un)))), ya(e, Oot, HI, Sbe), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, NC), VI), "Crossing Minimization Strategy"), "Strategy for crossing minimization."), WEt), ks), iEt), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, lxt), VI), "Force Node Model Order"), "The node order given by the model does not change to produce a better layout. E.g. if node A is before node B in the model this is not changed during crossing minimization. This assumes that the node model order is already respected before crossing minimization. This can be achieved by setting considerModelOrder.strategy to NODES_AND_EDGES."), !1), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Not), VI), "Hierarchical Sweepiness"), "How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."), .1), Uo), ka), on(Un)))), ya(e, Not, Zq, J2e), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Pot), VI), "Semi-Interactive Crossing Minimization"), "Preserves the order of nodes within a layer but still minimizes crossings between edges connecting long edge dummies. Derives the desired order from positions specified by the 'org.eclipse.elk.position' layout option. Requires a crossing minimization strategy that is able to process 'in-layer' constraints."), !1), qa), Zs), on(Un)))), ya(e, Pot, NC, rbe), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, hxt), VI), "Position Choice Constraint"), "Allows to set a constraint regarding the position placement of a node in a layer. Assumed the layer in which the node placed includes n other nodes and i < n. If set to i, it expresses that the node should be placed at the i-th position. Should i>=n be true then the node is placed at the last position in the layer. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."), pe(-1)), Lc), to), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, fxt), VI), "Position ID"), "Position within a layer that was determined by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."), pe(-1)), Lc), to), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, dxt), Cfe), "Greedy Switch Activation Threshold"), "By default it is decided automatically if the greedy switch is activated or not. The decision is based on whether the size of the input graph (without dummy nodes) is smaller than the value of this option. A '0' enforces the activation."), pe(40)), Lc), to), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Fot), Cfe), "Greedy Switch Crossing Minimization"), "Greedy Switch strategy for crossing minimization. The greedy switch heuristic is executed after the regular crossing minimization as a post-processor. Note that if 'hierarchyHandling' is set to 'INCLUDE_CHILDREN', the 'greedySwitchHierarchical.type' option must be used."), UEt), ks), mlt), on(Un)))), ya(e, Fot, NC, Q2e), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, $q), "crossingMinimization.greedySwitchHierarchical"), "Greedy Switch Crossing Minimization (hierarchical)"), "Activates the greedy switch heuristic in case hierarchical layout is used. The differences to the non-hierarchical case (see 'greedySwitch.type') are: 1) greedy switch is inactive by default, 3) only the option value set on the node at which hierarchical layout starts is relevant, and 2) if it's activated by the user, it properly addresses hierarchy-crossing edges."), GEt), ks), mlt), on(Un)))), ya(e, $q, NC, K2e), ya(e, $q, Zq, Y2e), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, M4), Sfe), "Node Placement Strategy"), "Strategy for node placement."), cTt), ks), u_t), on(Un)))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, zq), Sfe), "Favor Straight Edges Over Balancing"), "Favor straight edges over a balanced node placement. The default behavior is determined automatically based on the used 'edgeRouting'. For an orthogonal style it is set to true, for all other styles to false."), qa), Zs), on(Un)))), ya(e, zq, M4, Gbe), ya(e, zq, M4, Ube), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Bot), Afe), "BK Edge Straightening"), "Specifies whether the Brandes Koepf node placer tries to increase the number of straight edges at the expense of diagram size. There is a subtle difference to the 'favorStraightEdges' option, which decides whether a balanced placement of the nodes is desired, or not. In bk terms this means combining the four alignments into a single balanced one, or not. This option on the other hand tries to straighten additional edges during the creation of each of the four alignments."), sTt), ks), dEt), on(Un)))), ya(e, Bot, M4, zbe), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Rot), Afe), "BK Fixed Alignment"), "Tells the BK node placer to use a certain alignment (out of its four) instead of the one producing the smallest height, or the combination of all four."), aTt), ks), wEt), on(Un)))), ya(e, Rot, M4, Hbe), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, jot), "nodePlacement.linearSegments"), "Linear Segments Deflection Dampening"), "Dampens the movement of nodes to keep the diagram from getting too large."), .3), Uo), ka), on(Un)))), ya(e, jot, M4, Kbe), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, $ot), "nodePlacement.networkSimplex"), "Node Flexibility"), "Aims at shorter and straighter edges. Two configurations are possible: (a) allow ports to move freely on the side they are assigned to (the order is always defined beforehand), (b) additionally allow to enlarge a node wherever it helps. If this option is not configured for a node, the 'nodeFlexibility.default' value is used, which is specified for the node's parent."), ks), Qlt), on(fa)))), ya(e, $ot, M4, Zbe), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, zot), "nodePlacement.networkSimplex.nodeFlexibility"), "Node Flexibility Default"), "Default value of the 'nodeFlexibility' option for the children of a hierarchical node."), oTt), ks), Qlt), on(Un)))), ya(e, zot, M4, Qbe), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, gxt), Lfe), "Self-Loop Distribution"), "Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."), ZEt), ks), y_t), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, pxt), Lfe), "Self-Loop Ordering"), "Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."), JEt), ks), x_t), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, qq), "edgeRouting.splines"), "Spline Routing Mode"), "Specifies the way control points are assembled for each individual edge. CONSERVATIVE ensures that edges are properly routed around the nodes but feels rather orthogonal at times. SLOPPY uses fewer control points to obtain curvier edge routes but may result in edges overlapping nodes."), tTt), ks), E_t), on(Un)))), ya(e, qq, GI, gbe), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Hq), "edgeRouting.splines.sloppy"), "Sloppy Spline Layer Spacing Factor"), "Spacing factor for routing area between layers when using sloppy spline routing."), .2), Uo), ka), on(Un)))), ya(e, Hq, GI, bbe), ya(e, Hq, qq, vbe), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, qot), "edgeRouting.polyline"), "Sloped Edge Zone Width"), "Width of the strip to the left and to the right of each layer where the polyline edge router is allowed to refrain from ensuring that edges are routed horizontally. This prevents awkward bend points for nodes that extent almost to the edge of their layer."), 2), Uo), ka), on(Un)))), ya(e, qot, GI, lbe), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, bxt), V1), "Spacing Base Value"), "An optional base value for all other layout options of the 'spacing' group. It can be used to conveniently alter the overall 'spaciousness' of the drawing. Whenever an explicit value is set for the other layout options, this base value will have no effect. The base value is not inherited, i.e. it must be set for each hierarchical node."), Uo), ka), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, vxt), V1), "Edge Node Between Layers Spacing"), "The spacing to be preserved between nodes and edges that are routed next to the node's layer. For the spacing between nodes and edges that cross the node's layer 'spacing.edgeNode' is used."), 10), Uo), ka), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, wxt), V1), "Edge Edge Between Layer Spacing"), "Spacing to be preserved between pairs of edges that are routed between the same pair of layers. Note that 'spacing.edgeEdge' is used for the spacing between pairs of edges crossing the same layer."), 10), Uo), ka), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, mxt), V1), "Node Node Between Layers Spacing"), "The spacing to be preserved between any pair of nodes of two adjacent layers. Note that 'spacing.nodeNode' is used for the spacing between nodes within the layer itself."), 20), Uo), ka), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, yxt), Lxt), "Direction Priority"), "Defines how important it is to have a certain edge point into the direction of the overall layout. This option is evaluated during the cycle breaking phase."), pe(0)), Lc), to), on(Bd)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, xxt), Lxt), "Shortness Priority"), "Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."), pe(0)), Lc), to), on(Bd)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, kxt), Lxt), "Straightness Priority"), "Defines how important it is to keep an edge straight, i.e. aligned with one of the two axes. This option is evaluated during node placement."), pe(0)), Lc), to), on(Bd)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Hot), Mxt), Ghe), "Tries to further compact components (disconnected sub-graphs)."), !1), qa), Zs), on(Un)))), ya(e, Hot, LC, !0), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Ext), Mfe), "Post Compaction Strategy"), Dfe), zEt), ks), TEt), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Txt), Mfe), "Post Compaction Constraint Calculation"), Dfe), $Et), ks), nEt), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Vq), Dxt), "High Degree Node Treatment"), "Makes room around high degree nodes to place leafs and trees."), !1), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Vot), Dxt), "High Degree Node Threshold"), "Whether a node is considered to have a high degree."), pe(16)), Lc), to), on(Un)))), ya(e, Vot, Vq, !0), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Got), Dxt), "High Degree Node Maximum Tree Height"), "Maximum height of a subtree connected to a high degree node to be moved to separate layers."), pe(5)), Lc), to), on(Un)))), ya(e, Got, Vq, !0), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, K0), Ixt), "Graph Wrapping Strategy"), "For certain graphs and certain prescribed drawing areas it may be desirable to split the laid out graph into chunks that are placed side by side. The edges that connect different chunks are 'wrapped' around from the end of one chunk to the start of the other chunk. The points between the chunks are referred to as 'cuts'."), fTt), ks), S_t), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Gq), Ixt), "Additional Wrapped Edges Spacing"), "To visually separate edges that are wrapped from regularly routed edges an additional spacing value can be specified in form of this layout option. The spacing is added to the regular edgeNode spacing."), 10), Uo), ka), on(Un)))), ya(e, Gq, K0, hve), ya(e, Gq, K0, fve), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Uq), Ixt), "Correction Factor for Wrapping"), "At times and for certain types of graphs the executed wrapping may produce results that are consistently biased in the same fashion: either wrapping to often or to rarely. This factor can be used to correct the bias. Internally, it is simply multiplied with the 'aspect ratio' layout option."), 1), Uo), ka), on(Un)))), ya(e, Uq, K0, gve), ya(e, Uq, K0, pve), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, PC), Ife), "Cutting Strategy"), "The strategy by which the layer indexes are determined at which the layering crumbles into chunks."), hTt), ks), aEt), on(Un)))), ya(e, PC, K0, xve), ya(e, PC, K0, kve), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, Uot), Ife), "Manually Specified Cuts"), "Allows the user to specify her own cuts for a certain graph."), X1), Eh), on(Un)))), ya(e, Uot, PC, vve), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Wot), "wrapping.cutting.msd"), "MSD Freedom"), "The MSD cutting strategy starts with an initial guess on the number of chunks the graph should be split into. The freedom specifies how much the strategy may deviate from this guess. E.g. if an initial number of 3 is computed, a freedom of 1 allows 2, 3, and 4 cuts."), lTt), Lc), to), on(Un)))), ya(e, Wot, PC, mve), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Wq), Ofe), "Validification Strategy"), "When wrapping graphs, one can specify indices that are not allowed as split points. The validification strategy makes sure every computed split point is allowed."), dTt), ks), C_t), on(Un)))), ya(e, Wq, K0, Nve), ya(e, Wq, K0, Pve), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, Kq), Ofe), "Valid Indices for Wrapping"), null), X1), Eh), on(Un)))), ya(e, Kq, K0, Dve), ya(e, Kq, K0, Ive), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Yq), Oxt), "Improve Cuts"), "For general graphs it is important that not too many edges wrap backwards. Thus a compromise between evenly-distributed cuts and the total number of cut edges is sought."), !0), qa), Zs), on(Un)))), ya(e, Yq, K0, Cve), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Xq), Oxt), "Distance Penalty When Improving Cuts"), null), 2), Uo), ka), on(Un)))), ya(e, Xq, K0, Tve), ya(e, Xq, Yq, !0), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Kot), Oxt), "Improve Wrapped Edges"), "The initial wrapping is performed in a very simple way. As a consequence, edges that wrap from one chunk to another may be unnecessarily long. Activating this option tries to shorten such edges."), !0), qa), Zs), on(Un)))), ya(e, Kot, K0, Ave), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, _xt), Jot), "Edge Label Side Selection"), "Method to decide on edge label sides."), QEt), ks), hEt), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Cxt), Jot), "Edge Center Label Placement Strategy"), "Determines in which layer center labels of long edges should be placed."), XEt), ks), c9), Zi(Un, ct(ot(Xg, 1), se, 175, 0, [Yg]))))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Qq), UI), "Consider Model Order"), "Preserves the order of nodes and edges in the model file if this does not lead to additional edge crossings. Depending on the strategy this is not always possible since the node and edge order might be conflicting."), VEt), ks), b_t), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Sxt), UI), "No Model Order"), "Set on a node to not set a model order for this node even though it is a real node."), !1), qa), Zs), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Yot), UI), "Consider Model Order for Components"), "If set to NONE the usual ordering strategy (by cumulative node priority and size of nodes) is used. INSIDE_PORT_SIDES orders the components with external ports only inside the groups with the same port side. FORCE_MODEL_ORDER enforces the mode order on components. This option might produce bad alignments and sub optimal drawings in terms of used area since the ordering should be respected."), qEt), ks), c9t), on(Un)))), ya(e, Yot, LC, null), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Axt), UI), "Long Edge Ordering Strategy"), "Indicates whether long edges are sorted under, over, or equal to nodes that have no connection to a previous layer in a left-to-right or right-to-left layout. Under and over changes to right and left in a vertical layout."), HEt), ks), o_t), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Xot), UI), "Crossing Counter Node Order Influence"), "Indicates with what percentage (1 for 100%) violations of the node model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal node order. Defaults to no influence (0)."), 0), Uo), ka), on(Un)))), ya(e, Xot, Qq, null), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Qot), UI), "Crossing Counter Port Order Influence"), "Indicates with what percentage (1 for 100%) violations of the port model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal port order. Defaults to no influence (0)."), 0), Uo), ka), on(Un)))), ya(e, Qot, Qq, null), Xle((new EB, e)) }; var P2e, F2e, B2e, $Et, R2e, zEt, j2e, qEt, $2e, z2e, q2e, HEt, H2e, V2e, VEt, G2e, U2e, W2e, GEt, K2e, Y2e, X2e, UEt, Q2e, Z2e, J2e, tbe, ebe, nbe, rbe, ibe, WEt, sbe, KEt, abe, YEt, obe, XEt, cbe, QEt, ube, lbe, hbe, ZEt, fbe, JEt, dbe, tTt, gbe, pbe, bbe, vbe, wbe, mbe, ybe, xbe, kbe, Ebe, eTt, Tbe, _be, Cbe, Sbe, Abe, Lbe, nTt, Mbe, Dbe, Ibe, Obe, Nbe, Pbe, Fbe, rTt, Bbe, iTt, Rbe, jbe, $be, sTt, zbe, qbe, aTt, Hbe, Vbe, Gbe, Ube, Wbe, Kbe, Ybe, Xbe, oTt, Qbe, Zbe, Jbe, cTt, tve, uTt, eve, nve, rve, ive, sve, ave, ove, cve, uve, lve, hve, fve, dve, gve, pve, bve, vve, wve, lTt, mve, yve, hTt, xve, kve, Eve, Tve, _ve, Cve, Sve, Ave, Lve, fTt, Mve, Dve, Ive, Ove, dTt, Nve, Pve; N(Pc, "LayeredMetaDataProvider", 848), M(986, 1, jh, EB), l.Qe = function (e) { Xle(e) }; var Pd, Llt, BV, bS, RV, gTt, jV, Nx, $V, pTt, bTt, Mlt, p2, Dlt, Py, vTt, _O, Ilt, wTt, Fve, zV, Olt, vS, Fy, Bve, Jl, mTt, yTt, qV, Nlt, Fd, HV, Y0, xTt, kTt, ETt, Plt, Flt, TTt, Gg, Blt, _Tt, By, CTt, STt, ATt, VV, Ry, Ob, LTt, MTt, $o, DTt, Rve, bu, GV, ITt, OTt, NTt, Rlt, PTt, UV, FTt, BTt, WV, Mw, RTt, jlt, wS, jTt, Dw, mS, KV, Nb, $lt, p9, YV, Pb, $Tt, zTt, qTt, b9, HTt, jve, $ve, zve, qve, Iw, jy, xs, Ug, Hve, $y, VTt, v9, GTt, zy, Vve, w9, UTt, Px, Gve, Uve, CO, zlt, WTt, SO, Sf, Q4, Fx, Ow, Fb, XV, qy, qlt, m9, y9, Nw, Z4, Hlt, AO, yS, xS, Vlt, KTt, YTt, XTt, QTt, Glt, ZTt, JTt, t_t, e_t, Ult, QV; N(Pc, "LayeredOptions", 986), M(987, 1, {}, HX), l.$e = function () { var e; return e = new azt, e }, l._e = function (e) { }, N(Pc, "LayeredOptions/LayeredFactory", 987), M(1372, 1, {}), l.a = 0; var Wve; N(Fc, "ElkSpacings/AbstractSpacingsBuilder", 1372), M(779, 1372, {}, Vyt); var ZV, Kve; N(Pc, "LayeredSpacings/LayeredSpacingsBuilder", 779), M(313, 22, { 3: 1, 35: 1, 22: 1, 313: 1, 246: 1, 234: 1 }, WT), l.Kf = function () { return Loe(this) }, l.Xf = function () { return Loe(this) }; var Wlt, n_t, r_t, JV, Klt, i_t, s_t = Xr(Pc, "LayeringStrategy", 313, ti, Cin, mQe), Yve; M(378, 22, { 3: 1, 35: 1, 22: 1, 378: 1 }, pet); var Ylt, a_t, tG, o_t = Xr(Pc, "LongEdgeOrderingStrategy", 378, ti, inn, yQe), Xve; M(197, 22, { 3: 1, 35: 1, 22: 1, 197: 1 }, FR); var J4, t5, eG, Xlt, Qlt = Xr(Pc, "NodeFlexibility", 197, ti, hrn, xQe), Qve; M(315, 22, { 3: 1, 35: 1, 22: 1, 315: 1, 246: 1, 234: 1 }, EM), l.Kf = function () { return doe(this) }, l.Xf = function () { return doe(this) }; var kS, Zlt, Jlt, ES, c_t, u_t = Xr(Pc, "NodePlacementStrategy", 315, ti, Krn, SQe), Zve; M(260, 22, { 3: 1, 35: 1, 22: 1, 260: 1 }, T6); var l_t, LO, h_t, f_t, MO, d_t, nG, rG, g_t = Xr(Pc, "NodePromotionStrategy", 260, ti, _sn, EQe), Jve; M(339, 22, { 3: 1, 35: 1, 22: 1, 339: 1 }, bet); var p_t, b2, tht, b_t = Xr(Pc, "OrderingStrategy", 339, ti, fnn, TQe), twe; M(421, 22, { 3: 1, 35: 1, 22: 1, 421: 1 }, g2t); var eht, nht, v_t = Xr(Pc, "PortSortingStrategy", 421, ti, pen, _Qe), ewe; M(452, 22, { 3: 1, 35: 1, 22: 1, 452: 1 }, vet); var ll, lu, TS, nwe = Xr(Pc, "PortType", 452, ti, hnn, kQe), rwe; M(375, 22, { 3: 1, 35: 1, 22: 1, 375: 1 }, wet); var w_t, rht, m_t, y_t = Xr(Pc, "SelfLoopDistributionStrategy", 375, ti, dnn, CQe), iwe; M(376, 22, { 3: 1, 35: 1, 22: 1, 376: 1 }, p2t); var DO, iht, x_t = Xr(Pc, "SelfLoopOrderingStrategy", 376, ti, len, AQe), swe; M(304, 1, { 304: 1 }, Zue), N(Pc, "Spacings", 304), M(336, 22, { 3: 1, 35: 1, 22: 1, 336: 1 }, met); var sht, k_t, _S, E_t = Xr(Pc, "SplineRoutingMode", 336, ti, pnn, LQe), awe; M(338, 22, { 3: 1, 35: 1, 22: 1, 338: 1 }, yet); var aht, T_t, __t, C_t = Xr(Pc, "ValidifyStrategy", 338, ti, bnn, MQe), owe; M(377, 22, { 3: 1, 35: 1, 22: 1, 377: 1 }, xet); var Hy, oht, x9, S_t = Xr(Pc, "WrappingStrategy", 377, ti, gnn, DQe), cwe; M(1383, 1, Qc, BJ), l.Yf = function (e) { return u(e, 37), uwe }, l.pf = function (e, n) { amn(this, u(e, 37), n) }; var uwe; N(eH, "DepthFirstCycleBreaker", 1383), M(782, 1, Qc, Avt), l.Yf = function (e) { return u(e, 37), lwe }, l.pf = function (e, n) { i4n(this, u(e, 37), n) }, l.Zf = function (e) { return u(Fe(e, Iz(this.d, e.c.length)), 10) }; var lwe; N(eH, "GreedyCycleBreaker", 782), M(1386, 782, Qc, jVt), l.Zf = function (e) { var n, r, s, o; for (o = null, n = Di, s = new S(e); s.a < s.c.c.length;)r = u(Q(s), 10), ia(r, (ie(), Bc)) && u(K(r, Bc), 19).a < n && (n = u(K(r, Bc), 19).a, o = r); return o || u(Fe(e, Iz(this.d, e.c.length)), 10) }, N(eH, "GreedyModelOrderCycleBreaker", 1386), M(1384, 1, Qc, LJ), l.Yf = function (e) { return u(e, 37), hwe }, l.pf = function (e, n) { Amn(this, u(e, 37), n) }; var hwe; N(eH, "InteractiveCycleBreaker", 1384), M(1385, 1, Qc, MJ), l.Yf = function (e) { return u(e, 37), fwe }, l.pf = function (e, n) { Lmn(this, u(e, 37), n) }, l.a = 0, l.b = 0; var fwe; N(eH, "ModelOrderCycleBreaker", 1385), M(1389, 1, Qc, DHt), l.Yf = function (e) { return u(e, 37), dwe }, l.pf = function (e, n) { c4n(this, u(e, 37), n) }; var dwe; N(xy, "CoffmanGrahamLayerer", 1389), M(1390, 1, Ui, YB), l.ue = function (e, n) { return F0n(this.a, u(e, 10), u(n, 10)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(xy, "CoffmanGrahamLayerer/0methodref$compareNodesInTopo$Type", 1390), M(1391, 1, Ui, Stt), l.ue = function (e, n) { return kJe(this.a, u(e, 10), u(n, 10)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(xy, "CoffmanGrahamLayerer/lambda$1$Type", 1391), M(1392, 1, Qc, DL), l.Yf = function (e) { return u(e, 37), Mi(Mi(Mi(new ra, (so(), Nd), (vo(), Gut)), f2, r9), pu, n9) }, l.pf = function (e, n) { h3n(this, u(e, 37), n) }, N(xy, "InteractiveLayerer", 1392), M(569, 1, { 569: 1 }, gzt), l.a = 0, l.c = 0, N(xy, "InteractiveLayerer/LayerSpan", 569), M(1388, 1, Qc, kB), l.Yf = function (e) { return u(e, 37), gwe }, l.pf = function (e, n) { z2n(this, u(e, 37), n) }; var gwe; N(xy, "LongestPathLayerer", 1388), M(1395, 1, Qc, OJ), l.Yf = function (e) { return u(e, 37), Mi(Mi(Mi(new ra, (so(), Nd), (vo(), sS)), f2, r9), pu, n9) }, l.pf = function (e, n) { N3n(this, u(e, 37), n) }, l.a = 0, l.b = 0, l.d = 0; var A_t, L_t; N(xy, "MinWidthLayerer", 1395), M(1396, 1, Ui, _p), l.ue = function (e, n) { return Lan(this, u(e, 10), u(n, 10)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(xy, "MinWidthLayerer/MinOutgoingEdgesComparator", 1396), M(1387, 1, Qc, IJ), l.Yf = function (e) { return u(e, 37), pwe }, l.pf = function (e, n) { Zmn(this, u(e, 37), n) }; var pwe; N(xy, "NetworkSimplexLayerer", 1387), M(1393, 1, Qc, ZUt), l.Yf = function (e) { return u(e, 37), Mi(Mi(Mi(new ra, (so(), Nd), (vo(), sS)), f2, r9), pu, n9) }, l.pf = function (e, n) { jyn(this, u(e, 37), n) }, l.d = 0, l.f = 0, l.g = 0, l.i = 0, l.s = 0, l.t = 0, l.u = 0, N(xy, "StretchWidthLayerer", 1393), M(1394, 1, Ui, VX), l.ue = function (e, n) { return ain(u(e, 10), u(n, 10)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(xy, "StretchWidthLayerer/1", 1394), M(402, 1, pkt), l.Nf = function (e, n, r, s, o, h) { }, l._f = function (e, n, r) { return Kce(this, e, n, r) }, l.Mf = function () { this.g = Ot(e3, Pfe, 25, this.d, 15, 1), this.f = Ot(e3, Pfe, 25, this.d, 15, 1) }, l.Of = function (e, n) { this.e[e] = Ot(Br, oi, 25, n[e].length, 15, 1) }, l.Pf = function (e, n, r) { var s; s = r[e][n], s.p = n, this.e[e][n] = n }, l.Qf = function (e, n, r, s) { u(Fe(s[e][n].j, r), 11).p = this.d++ }, l.b = 0, l.c = 0, l.d = 0, N(Qu, "AbstractBarycenterPortDistributor", 402), M(1633, 1, Ui, sM), l.ue = function (e, n) { return Jun(this.a, u(e, 11), u(n, 11)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Qu, "AbstractBarycenterPortDistributor/lambda$0$Type", 1633), M(817, 1, qI, Mwt), l.Nf = function (e, n, r, s, o, h) { }, l.Pf = function (e, n, r) { }, l.Qf = function (e, n, r, s) { }, l.Lf = function () { return !1 }, l.Mf = function () { this.c = this.e.a, this.g = this.f.g }, l.Of = function (e, n) { n[e][0].c.p = e }, l.Rf = function () { return !1 }, l.ag = function (e, n, r, s) { r ? ese(this, e) : (sse(this, e, s), fle(this, e, n)), e.c.length > 1 && (Re(Be(K(Qa((An(0, e.c.length), u(e.c[0], 10))), (Ce(), Py)))) ? Eoe(e, this.d, u(this, 660)) : (pn(), ua(e, this.d)), Hee(this.e, e)) }, l.Sf = function (e, n, r, s) { var o, h, d, w, k, _, L; for (n != gKt(r, e.length) && (h = e[n - (r ? 1 : -1)], Jwt(this.f, h, r ? (yo(), lu) : (yo(), ll))), o = e[n][0], L = !s || o.k == (Kn(), Fs), _ = N1(e[n]), this.ag(_, L, !1, r), d = 0, k = new S(_); k.a < k.c.c.length;)w = u(Q(k), 10), e[n][d++] = w; return !1 }, l.Tf = function (e, n) { var r, s, o, h, d; for (d = gKt(n, e.length), h = N1(e[d]), this.ag(h, !1, !0, n), r = 0, o = new S(h); o.a < o.c.c.length;)s = u(Q(o), 10), e[d][r++] = s; return !1 }, N(Qu, "BarycenterHeuristic", 817), M(658, 1, { 658: 1 }, Wk), l.Ib = function () { return "BarycenterState [node=" + this.c + ", summedWeight=" + this.d + ", degree=" + this.b + ", barycenter=" + this.a + ", visited=" + this.e + "]" }, l.b = 0, l.d = 0, l.e = !1; var bwe = N(Qu, "BarycenterHeuristic/BarycenterState", 658); M(1802, 1, Ui, XB), l.ue = function (e, n) { return jfn(this.a, u(e, 10), u(n, 10)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Qu, "BarycenterHeuristic/lambda$0$Type", 1802), M(816, 1, qI, e4t), l.Mf = function () { }, l.Nf = function (e, n, r, s, o, h) { }, l.Qf = function (e, n, r, s) { }, l.Of = function (e, n) { this.a[e] = Ot(bwe, { 3: 1, 4: 1, 5: 1, 2018: 1 }, 658, n[e].length, 0, 1), this.b[e] = Ot(vwe, { 3: 1, 4: 1, 5: 1, 2019: 1 }, 233, n[e].length, 0, 1) }, l.Pf = function (e, n, r) { Ure(this, r[e][n], !0) }, l.c = !1, N(Qu, "ForsterConstraintResolver", 816), M(233, 1, { 233: 1 }, uXt, Que), l.Ib = function () { var e, n; for (n = new Ap, n.a += "[", e = 0; e < this.d.length; e++)ni(n, sie(this.d[e])), L1(this.g, this.d[0]).a != null && ni(ni((n.a += "<", n), uKe(L1(this.g, this.d[0]).a)), ">"), e < this.d.length - 1 && (n.a += ao); return (n.a += "]", n).a }, l.a = 0, l.c = 0, l.f = 0; var vwe = N(Qu, "ForsterConstraintResolver/ConstraintGroup", 233); M(1797, 1, Qn, Att), l.td = function (e) { Ure(this.a, u(e, 10), !1) }, N(Qu, "ForsterConstraintResolver/lambda$0$Type", 1797), M(214, 1, { 214: 1, 225: 1 }, rle), l.Nf = function (e, n, r, s, o, h) { }, l.Of = function (e, n) { }, l.Mf = function () { this.r = Ot(Br, oi, 25, this.n, 15, 1) }, l.Pf = function (e, n, r) { var s, o; o = r[e][n], s = o.e, s && ue(this.b, s) }, l.Qf = function (e, n, r, s) { ++this.n }, l.Ib = function () { return dle(this.e, new na) }, l.g = !1, l.i = !1, l.n = 0, l.s = !1, N(Qu, "GraphInfoHolder", 214), M(1832, 1, qI, qX), l.Nf = function (e, n, r, s, o, h) { }, l.Of = function (e, n) { }, l.Qf = function (e, n, r, s) { }, l._f = function (e, n, r) { return r && n > 0 ? nrt(this.a, e[n - 1], e[n]) : !r && n < e.length - 1 ? nrt(this.a, e[n], e[n + 1]) : Xrt(this.a, e[n], r ? (we(), jn) : (we(), Wn)), gpn(this, e, n, r) }, l.Mf = function () { this.d = Ot(Br, oi, 25, this.c, 15, 1), this.a = new qM(this.d) }, l.Pf = function (e, n, r) { var s; s = r[e][n], this.c += s.j.c.length }, l.c = 0, N(Qu, "GreedyPortDistributor", 1832), M(1401, 1, Qc, TB), l.Yf = function (e) { return Gon(u(e, 37)) }, l.pf = function (e, n) { gyn(u(e, 37), n) }; var wwe; N(Qu, "InteractiveCrossingMinimizer", 1401), M(1402, 1, Ui, mjt), l.ue = function (e, n) { return kfn(this, u(e, 10), u(n, 10)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Qu, "InteractiveCrossingMinimizer/1", 1402), M(507, 1, { 507: 1, 123: 1, 51: 1 }, Htt), l.Yf = function (e) { var n; return u(e, 37), n = YR(mwe), Mi(n, (so(), pu), (vo(), fV)), n }, l.pf = function (e, n) { Svn(this, u(e, 37), n) }, l.e = 0; var mwe; N(Qu, "LayerSweepCrossingMinimizer", 507), M(1398, 1, Qn, yjt), l.td = function (e) { dwn(this.a, u(e, 214)) }, N(Qu, "LayerSweepCrossingMinimizer/0methodref$compareDifferentRandomizedLayouts$Type", 1398), M(1399, 1, Qn, xjt), l.td = function (e) { Ron(this.a, u(e, 214)) }, N(Qu, "LayerSweepCrossingMinimizer/1methodref$minimizeCrossingsNoCounter$Type", 1399), M(1400, 1, Qn, kjt), l.td = function (e) { due(this.a, u(e, 214)) }, N(Qu, "LayerSweepCrossingMinimizer/2methodref$minimizeCrossingsWithCounter$Type", 1400), M(454, 22, { 3: 1, 35: 1, 22: 1, 454: 1 }, ket); var IO, CS, iG, ywe = Xr(Qu, "LayerSweepCrossingMinimizer/CrossMinType", 454, ti, vnn, IQe), xwe; M(1397, 1, _i, Ek), l.Mb = function (e) { return Vmt(), u(e, 29).a.c.length == 0 }, N(Qu, "LayerSweepCrossingMinimizer/lambda$0$Type", 1397), M(1799, 1, qI, CXt), l.Mf = function () { }, l.Nf = function (e, n, r, s, o, h) { }, l.Qf = function (e, n, r, s) { }, l.Of = function (e, n) { n[e][0].c.p = e, this.b[e] = Ot(kwe, { 3: 1, 4: 1, 5: 1, 1944: 1 }, 659, n[e].length, 0, 1) }, l.Pf = function (e, n, r) { var s; s = r[e][n], s.p = n, ds(this.b[e], n, new GX) }, N(Qu, "LayerSweepTypeDecider", 1799), M(659, 1, { 659: 1 }, GX), l.Ib = function () { return "NodeInfo [connectedEdges=" + this.a + ", hierarchicalInfluence=" + this.b + ", randomInfluence=" + this.c + "]" }, l.a = 0, l.b = 0, l.c = 0; var kwe = N(Qu, "LayerSweepTypeDecider/NodeInfo", 659); M(1800, 1, Td, UX), l.Lb = function (e) { return u_(new P1(u(e, 11).b)) }, l.Fb = function (e) { return this === e }, l.Mb = function (e) { return u_(new P1(u(e, 11).b)) }, N(Qu, "LayerSweepTypeDecider/lambda$0$Type", 1800), M(1801, 1, Td, WX), l.Lb = function (e) { return u_(new P1(u(e, 11).b)) }, l.Fb = function (e) { return this === e }, l.Mb = function (e) { return u_(new P1(u(e, 11).b)) }, N(Qu, "LayerSweepTypeDecider/lambda$1$Type", 1801), M(1833, 402, pkt, dqt), l.$f = function (e, n, r) { var s, o, h, d, w, k, _, L, F; switch (_ = this.g, r.g) { case 1: { for (s = 0, o = 0, k = new S(e.j); k.a < k.c.c.length;)d = u(Q(k), 11), d.e.c.length != 0 && (++s, d.j == (we(), Fn) && ++o); for (h = n + o, F = n + s, w = ew(e, (yo(), ll)).Kc(); w.Ob();)d = u(w.Pb(), 11), d.j == (we(), Fn) ? (_[d.p] = h, --h) : (_[d.p] = F, --F); return s } case 2: { for (L = 0, w = ew(e, (yo(), lu)).Kc(); w.Ob();)d = u(w.Pb(), 11), ++L, _[d.p] = n + L; return L } default: throw et(new cM) } }, N(Qu, "LayerTotalPortDistributor", 1833), M(660, 817, { 660: 1, 225: 1 }, cee), l.ag = function (e, n, r, s) { r ? ese(this, e) : (sse(this, e, s), fle(this, e, n)), e.c.length > 1 && (Re(Be(K(Qa((An(0, e.c.length), u(e.c[0], 10))), (Ce(), Py)))) ? Eoe(e, this.d, this) : (pn(), ua(e, this.d)), Re(Be(K(Qa((An(0, e.c.length), u(e.c[0], 10))), Py))) || Hee(this.e, e)) }, N(Qu, "ModelOrderBarycenterHeuristic", 660), M(1803, 1, Ui, Ejt), l.ue = function (e, n) { return ydn(this.a, u(e, 10), u(n, 10)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Qu, "ModelOrderBarycenterHeuristic/lambda$0$Type", 1803), M(1403, 1, Qc, zJ), l.Yf = function (e) { var n; return u(e, 37), n = YR(Ewe), Mi(n, (so(), pu), (vo(), fV)), n }, l.pf = function (e, n) { sen((u(e, 37), n)) }; var Ewe; N(Qu, "NoCrossingMinimizer", 1403), M(796, 402, pkt, Rpt), l.$f = function (e, n, r) { var s, o, h, d, w, k, _, L, F, q, G; switch (F = this.g, r.g) { case 1: { for (o = 0, h = 0, L = new S(e.j); L.a < L.c.c.length;)k = u(Q(L), 11), k.e.c.length != 0 && (++o, k.j == (we(), Fn) && ++h); for (s = 1 / (o + 1), d = n + h * s, G = n + 1 - s, _ = ew(e, (yo(), ll)).Kc(); _.Ob();)k = u(_.Pb(), 11), k.j == (we(), Fn) ? (F[k.p] = d, d -= s) : (F[k.p] = G, G -= s); break } case 2: { for (w = 0, L = new S(e.j); L.a < L.c.c.length;)k = u(Q(L), 11), k.g.c.length == 0 || ++w; for (s = 1 / (w + 1), q = n + s, _ = ew(e, (yo(), lu)).Kc(); _.Ob();)k = u(_.Pb(), 11), F[k.p] = q, q += s; break } default: throw et(new Bn("Port type is undefined")) }return 1 }, N(Qu, "NodeRelativePortDistributor", 796), M(807, 1, {}, $Kt, Nse), N(Qu, "SweepCopy", 807), M(1798, 1, qI, _re), l.Of = function (e, n) { }, l.Mf = function () { var e; e = Ot(Br, oi, 25, this.f, 15, 1), this.d = new Djt(e), this.a = new qM(e) }, l.Nf = function (e, n, r, s, o, h) { var d; d = u(Fe(h[e][n].j, r), 11), o.c == d && o.c.i.c == o.d.i.c && ++this.e[e] }, l.Pf = function (e, n, r) { var s; s = r[e][n], this.c[e] = this.c[e] | s.k == (Kn(), Jc) }, l.Qf = function (e, n, r, s) { var o; o = u(Fe(s[e][n].j, r), 11), o.p = this.f++, o.g.c.length + o.e.c.length > 1 && (o.j == (we(), Wn) ? this.b[e] = !0 : o.j == jn && e > 0 && (this.b[e - 1] = !0)) }, l.f = 0, N(c0, "AllCrossingsCounter", 1798), M(587, 1, {}, K$), l.b = 0, l.d = 0, N(c0, "BinaryIndexedTree", 587), M(524, 1, {}, qM); var M_t, sG; N(c0, "CrossingsCounter", 524), M(1906, 1, Ui, Tjt), l.ue = function (e, n) { return cJe(this.a, u(e, 11), u(n, 11)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(c0, "CrossingsCounter/lambda$0$Type", 1906), M(1907, 1, Ui, _jt), l.ue = function (e, n) { return uJe(this.a, u(e, 11), u(n, 11)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(c0, "CrossingsCounter/lambda$1$Type", 1907), M(1908, 1, Ui, Cjt), l.ue = function (e, n) { return lJe(this.a, u(e, 11), u(n, 11)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(c0, "CrossingsCounter/lambda$2$Type", 1908), M(1909, 1, Ui, Sjt), l.ue = function (e, n) { return hJe(this.a, u(e, 11), u(n, 11)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(c0, "CrossingsCounter/lambda$3$Type", 1909), M(1910, 1, Qn, Ajt), l.td = function (e) { Uin(this.a, u(e, 11)) }, N(c0, "CrossingsCounter/lambda$4$Type", 1910), M(1911, 1, _i, Ljt), l.Mb = function (e) { return aKe(this.a, u(e, 11)) }, N(c0, "CrossingsCounter/lambda$5$Type", 1911), M(1912, 1, Qn, Mjt), l.td = function (e) { PVt(this, e) }, N(c0, "CrossingsCounter/lambda$6$Type", 1912), M(1913, 1, Qn, oVt), l.td = function (e) { var n; g8(), Vp(this.b, (n = this.a, u(e, 11), n)) }, N(c0, "CrossingsCounter/lambda$7$Type", 1913), M(826, 1, Td, AF), l.Lb = function (e) { return g8(), ia(u(e, 11), (ie(), ul)) }, l.Fb = function (e) { return this === e }, l.Mb = function (e) { return g8(), ia(u(e, 11), (ie(), ul)) }, N(c0, "CrossingsCounter/lambda$8$Type", 826), M(1905, 1, {}, Djt), N(c0, "HyperedgeCrossingsCounter", 1905), M(467, 1, { 35: 1, 467: 1 }, QUt), l.wd = function (e) { return Hun(this, u(e, 467)) }, l.b = 0, l.c = 0, l.e = 0, l.f = 0; var j4n = N(c0, "HyperedgeCrossingsCounter/Hyperedge", 467); M(362, 1, { 35: 1, 362: 1 }, Uj), l.wd = function (e) { return zgn(this, u(e, 362)) }, l.b = 0, l.c = 0; var Twe = N(c0, "HyperedgeCrossingsCounter/HyperedgeCorner", 362); M(523, 22, { 3: 1, 35: 1, 22: 1, 523: 1 }, b2t); var SS, AS, _we = Xr(c0, "HyperedgeCrossingsCounter/HyperedgeCorner/Type", 523, ti, ben, OQe), Cwe; M(1405, 1, Qc, FJ), l.Yf = function (e) { return u(K(u(e, 37), (ie(), tu)), 21).Hc((ko(), Th)) ? Swe : null }, l.pf = function (e, n) { cfn(this, u(e, 37), n) }; var Swe; N(To, "InteractiveNodePlacer", 1405), M(1406, 1, Qc, PJ), l.Yf = function (e) { return u(K(u(e, 37), (ie(), tu)), 21).Hc((ko(), Th)) ? Awe : null }, l.pf = function (e, n) { Uln(this, u(e, 37), n) }; var Awe, aG, oG; N(To, "LinearSegmentsNodePlacer", 1406), M(257, 1, { 35: 1, 257: 1 }, gpt), l.wd = function (e) { return wWe(this, u(e, 257)) }, l.Fb = function (e) { var n; return Et(e, 257) ? (n = u(e, 257), this.b == n.b) : !1 }, l.Hb = function () { return this.b }, l.Ib = function () { return "ls" + Jp(this.e) }, l.a = 0, l.b = 0, l.c = -1, l.d = -1, l.g = 0; var Lwe = N(To, "LinearSegmentsNodePlacer/LinearSegment", 257); M(1408, 1, Qc, TKt), l.Yf = function (e) { return u(K(u(e, 37), (ie(), tu)), 21).Hc((ko(), Th)) ? Mwe : null }, l.pf = function (e, n) { X3n(this, u(e, 37), n) }, l.b = 0, l.g = 0; var Mwe; N(To, "NetworkSimplexPlacer", 1408), M(1427, 1, Ui, KX), l.ue = function (e, n) { return Tu(u(e, 19).a, u(n, 19).a) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(To, "NetworkSimplexPlacer/0methodref$compare$Type", 1427), M(1429, 1, Ui, YX), l.ue = function (e, n) { return Tu(u(e, 19).a, u(n, 19).a) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(To, "NetworkSimplexPlacer/1methodref$compare$Type", 1429), M(649, 1, { 649: 1 }, cVt); var $4n = N(To, "NetworkSimplexPlacer/EdgeRep", 649); M(401, 1, { 401: 1 }, awt), l.b = !1; var z4n = N(To, "NetworkSimplexPlacer/NodeRep", 401); M(508, 12, { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 12: 1, 14: 1, 15: 1, 54: 1, 508: 1 }, vzt), N(To, "NetworkSimplexPlacer/Path", 508), M(1409, 1, {}, XX), l.Kb = function (e) { return u(e, 17).d.i.k }, N(To, "NetworkSimplexPlacer/Path/lambda$0$Type", 1409), M(1410, 1, _i, QX), l.Mb = function (e) { return u(e, 267) == (Kn(), ha) }, N(To, "NetworkSimplexPlacer/Path/lambda$1$Type", 1410), M(1411, 1, {}, ZX), l.Kb = function (e) { return u(e, 17).d.i }, N(To, "NetworkSimplexPlacer/Path/lambda$2$Type", 1411), M(1412, 1, _i, Ijt), l.Mb = function (e) { return PUt(yre(u(e, 10))) }, N(To, "NetworkSimplexPlacer/Path/lambda$3$Type", 1412), M(1413, 1, _i, JX), l.Mb = function (e) { return QZe(u(e, 11)) }, N(To, "NetworkSimplexPlacer/lambda$0$Type", 1413), M(1414, 1, Qn, uVt), l.td = function (e) { KKe(this.a, this.b, u(e, 11)) }, N(To, "NetworkSimplexPlacer/lambda$1$Type", 1414), M(1423, 1, Qn, Ojt), l.td = function (e) { g0n(this.a, u(e, 17)) }, N(To, "NetworkSimplexPlacer/lambda$10$Type", 1423), M(1424, 1, {}, tQ), l.Kb = function (e) { return zl(), new kn(null, new Cn(u(e, 29).a, 16)) }, N(To, "NetworkSimplexPlacer/lambda$11$Type", 1424), M(1425, 1, Qn, Njt), l.td = function (e) { lbn(this.a, u(e, 10)) }, N(To, "NetworkSimplexPlacer/lambda$12$Type", 1425), M(1426, 1, {}, eQ), l.Kb = function (e) { return zl(), pe(u(e, 121).e) }, N(To, "NetworkSimplexPlacer/lambda$13$Type", 1426), M(1428, 1, {}, nQ), l.Kb = function (e) { return zl(), pe(u(e, 121).e) }, N(To, "NetworkSimplexPlacer/lambda$15$Type", 1428), M(1430, 1, _i, rQ), l.Mb = function (e) { return zl(), u(e, 401).c.k == (Kn(), Ws) }, N(To, "NetworkSimplexPlacer/lambda$17$Type", 1430), M(1431, 1, _i, iQ), l.Mb = function (e) { return zl(), u(e, 401).c.j.c.length > 1 }, N(To, "NetworkSimplexPlacer/lambda$18$Type", 1431), M(1432, 1, Qn, DYt), l.td = function (e) { tun(this.c, this.b, this.d, this.a, u(e, 401)) }, l.c = 0, l.d = 0, N(To, "NetworkSimplexPlacer/lambda$19$Type", 1432), M(1415, 1, {}, sQ), l.Kb = function (e) { return zl(), new kn(null, new Cn(u(e, 29).a, 16)) }, N(To, "NetworkSimplexPlacer/lambda$2$Type", 1415), M(1433, 1, Qn, Pjt), l.td = function (e) { UKe(this.a, u(e, 11)) }, l.a = 0, N(To, "NetworkSimplexPlacer/lambda$20$Type", 1433), M(1434, 1, {}, K5), l.Kb = function (e) { return zl(), new kn(null, new Cn(u(e, 29).a, 16)) }, N(To, "NetworkSimplexPlacer/lambda$21$Type", 1434), M(1435, 1, Qn, Fjt), l.td = function (e) { oYe(this.a, u(e, 10)) }, N(To, "NetworkSimplexPlacer/lambda$22$Type", 1435), M(1436, 1, _i, LF), l.Mb = function (e) { return PUt(e) }, N(To, "NetworkSimplexPlacer/lambda$23$Type", 1436), M(1437, 1, {}, aQ), l.Kb = function (e) { return zl(), new kn(null, new Cn(u(e, 29).a, 16)) }, N(To, "NetworkSimplexPlacer/lambda$24$Type", 1437), M(1438, 1, _i, Bjt), l.Mb = function (e) { return dKe(this.a, u(e, 10)) }, N(To, "NetworkSimplexPlacer/lambda$25$Type", 1438), M(1439, 1, Qn, lVt), l.td = function (e) { Fdn(this.a, this.b, u(e, 10)) }, N(To, "NetworkSimplexPlacer/lambda$26$Type", 1439), M(1440, 1, _i, oQ), l.Mb = function (e) { return zl(), !ro(u(e, 17)) }, N(To, "NetworkSimplexPlacer/lambda$27$Type", 1440), M(1441, 1, _i, cQ), l.Mb = function (e) { return zl(), !ro(u(e, 17)) }, N(To, "NetworkSimplexPlacer/lambda$28$Type", 1441), M(1442, 1, {}, Rjt), l.Ce = function (e, n) { return iYe(this.a, u(e, 29), u(n, 29)) }, N(To, "NetworkSimplexPlacer/lambda$29$Type", 1442), M(1416, 1, {}, MF), l.Kb = function (e) { return zl(), new kn(null, new Ov(new pr(mr(Gs(u(e, 10)).a.Kc(), new H)))) }, N(To, "NetworkSimplexPlacer/lambda$3$Type", 1416), M(1417, 1, _i, uQ), l.Mb = function (e) { return zl(), Gnn(u(e, 17)) }, N(To, "NetworkSimplexPlacer/lambda$4$Type", 1417), M(1418, 1, Qn, jjt), l.td = function (e) { uwn(this.a, u(e, 17)) }, N(To, "NetworkSimplexPlacer/lambda$5$Type", 1418), M(1419, 1, {}, RE), l.Kb = function (e) { return zl(), new kn(null, new Cn(u(e, 29).a, 16)) }, N(To, "NetworkSimplexPlacer/lambda$6$Type", 1419), M(1420, 1, _i, lQ), l.Mb = function (e) { return zl(), u(e, 10).k == (Kn(), Ws) }, N(To, "NetworkSimplexPlacer/lambda$7$Type", 1420), M(1421, 1, {}, hQ), l.Kb = function (e) { return zl(), new kn(null, new Ov(new pr(mr($0(u(e, 10)).a.Kc(), new H)))) }, N(To, "NetworkSimplexPlacer/lambda$8$Type", 1421), M(1422, 1, _i, fQ), l.Mb = function (e) { return zl(), GZe(u(e, 17)) }, N(To, "NetworkSimplexPlacer/lambda$9$Type", 1422), M(1404, 1, Qc, uT), l.Yf = function (e) { return u(K(u(e, 37), (ie(), tu)), 21).Hc((ko(), Th)) ? Dwe : null }, l.pf = function (e, n) { Vwn(u(e, 37), n) }; var Dwe; N(To, "SimpleNodePlacer", 1404), M(180, 1, { 180: 1 }, x4), l.Ib = function () { var e; return e = "", this.c == (md(), Pw) ? e += dx : this.c == Wg && (e += fx), this.o == (D1(), Bb) ? e += cot : this.o == Y1 ? e += "UP" : e += "BALANCED", e }, N(o2, "BKAlignedLayout", 180), M(516, 22, { 3: 1, 35: 1, 22: 1, 516: 1 }, w2t); var Wg, Pw, Iwe = Xr(o2, "BKAlignedLayout/HDirection", 516, ti, wen, NQe), Owe; M(515, 22, { 3: 1, 35: 1, 22: 1, 515: 1 }, v2t); var Bb, Y1, Nwe = Xr(o2, "BKAlignedLayout/VDirection", 515, ti, men, PQe), Pwe; M(1634, 1, {}, hVt), N(o2, "BKAligner", 1634), M(1637, 1, {}, Vie), N(o2, "BKCompactor", 1637), M(654, 1, { 654: 1 }, dQ), l.a = 0, N(o2, "BKCompactor/ClassEdge", 654), M(458, 1, { 458: 1 }, pzt), l.a = null, l.b = 0, N(o2, "BKCompactor/ClassNode", 458), M(1407, 1, Qc, BVt), l.Yf = function (e) { return u(K(u(e, 37), (ie(), tu)), 21).Hc((ko(), Th)) ? Fwe : null }, l.pf = function (e, n) { h4n(this, u(e, 37), n) }, l.d = !1; var Fwe; N(o2, "BKNodePlacer", 1407), M(1635, 1, {}, gQ), l.d = 0, N(o2, "NeighborhoodInformation", 1635), M(1636, 1, Ui, $jt), l.ue = function (e, n) { return wsn(this, u(e, 46), u(n, 46)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(o2, "NeighborhoodInformation/NeighborComparator", 1636), M(808, 1, {}), N(o2, "ThresholdStrategy", 808), M(1763, 808, {}, yzt), l.bg = function (e, n, r) { return this.a.o == (D1(), Y1) ? ms : Rs }, l.cg = function () { }, N(o2, "ThresholdStrategy/NullThresholdStrategy", 1763), M(579, 1, { 579: 1 }, fVt), l.c = !1, l.d = !1, N(o2, "ThresholdStrategy/Postprocessable", 579), M(1764, 808, {}, xzt), l.bg = function (e, n, r) { var s, o, h; return o = n == r, s = this.a.a[r.p] == n, o || s ? (h = e, this.a.c == (md(), Pw) ? (o && (h = cat(this, n, !0)), !isNaN(h) && !isFinite(h) && s && (h = cat(this, r, !1))) : (o && (h = cat(this, n, !0)), !isNaN(h) && !isFinite(h) && s && (h = cat(this, r, !1))), h) : e }, l.cg = function () { for (var e, n, r, s, o; this.d.b != 0;)o = u(Pen(this.d), 579), s = hue(this, o), s.a && (e = s.a, r = Re(this.a.f[this.a.g[o.b.p].p]), !(!r && !ro(e) && e.c.i.c == e.d.i.c) && (n = woe(this, o), n || xKe(this.e, o))); for (; this.e.a.c.length != 0;)woe(this, u(Ane(this.e), 579)) }, N(o2, "ThresholdStrategy/SimpleThresholdStrategy", 1764), M(635, 1, { 635: 1, 246: 1, 234: 1 }, pQ), l.Kf = function () { return Ree(this) }, l.Xf = function () { return Ree(this) }; var cht; N(ict, "EdgeRouterFactory", 635), M(1458, 1, Qc, ld), l.Yf = function (e) { return H2n(u(e, 37)) }, l.pf = function (e, n) { Qwn(u(e, 37), n) }; var Bwe, Rwe, jwe, $we, zwe, D_t, qwe, Hwe; N(ict, "OrthogonalEdgeRouter", 1458), M(1451, 1, Qc, RVt), l.Yf = function (e) { return dfn(u(e, 37)) }, l.pf = function (e, n) { v3n(this, u(e, 37), n) }; var Vwe, Gwe, Uwe, Wwe, OO, Kwe; N(ict, "PolylineEdgeRouter", 1451), M(1452, 1, Td, bQ), l.Lb = function (e) { return Wmt(u(e, 10)) }, l.Fb = function (e) { return this === e }, l.Mb = function (e) { return Wmt(u(e, 10)) }, N(ict, "PolylineEdgeRouter/1", 1452), M(1809, 1, _i, vQ), l.Mb = function (e) { return u(e, 129).c == (Qf(), v2) }, N(s1, "HyperEdgeCycleDetector/lambda$0$Type", 1809), M(1810, 1, {}, wQ), l.Ge = function (e) { return u(e, 129).d }, N(s1, "HyperEdgeCycleDetector/lambda$1$Type", 1810), M(1811, 1, _i, mQ), l.Mb = function (e) { return u(e, 129).c == (Qf(), v2) }, N(s1, "HyperEdgeCycleDetector/lambda$2$Type", 1811), M(1812, 1, {}, Y5), l.Ge = function (e) { return u(e, 129).d }, N(s1, "HyperEdgeCycleDetector/lambda$3$Type", 1812), M(1813, 1, {}, yQ), l.Ge = function (e) { return u(e, 129).d }, N(s1, "HyperEdgeCycleDetector/lambda$4$Type", 1813), M(1814, 1, {}, xQ), l.Ge = function (e) { return u(e, 129).d }, N(s1, "HyperEdgeCycleDetector/lambda$5$Type", 1814), M(112, 1, { 35: 1, 112: 1 }, AD), l.wd = function (e) { return mWe(this, u(e, 112)) }, l.Fb = function (e) { var n; return Et(e, 112) ? (n = u(e, 112), this.g == n.g) : !1 }, l.Hb = function () { return this.g }, l.Ib = function () { var e, n, r, s; for (e = new jl("{"), s = new S(this.n); s.a < s.c.c.length;)r = u(Q(s), 11), n = QD(r.i), n == null && (n = "n" + fWt(r.i)), e.a += "" + n, s.a < s.c.c.length && (e.a += ","); return e.a += "}", e.a }, l.a = 0, l.b = 0, l.c = NaN, l.d = 0, l.g = 0, l.i = 0, l.o = 0, l.s = NaN, N(s1, "HyperEdgeSegment", 112), M(129, 1, { 129: 1 }, Z2), l.Ib = function () { return this.a + "->" + this.b + " (" + MYe(this.c) + ")" }, l.d = 0, N(s1, "HyperEdgeSegmentDependency", 129), M(520, 22, { 3: 1, 35: 1, 22: 1, 520: 1 }, m2t); var v2, Vy, Ywe = Xr(s1, "HyperEdgeSegmentDependency/DependencyType", 520, ti, ven, FQe), Xwe; M(1815, 1, {}, zjt), N(s1, "HyperEdgeSegmentSplitter", 1815), M(1816, 1, {}, wqt), l.a = 0, l.b = 0, N(s1, "HyperEdgeSegmentSplitter/AreaRating", 1816), M(329, 1, { 329: 1 }, cnt), l.a = 0, l.b = 0, l.c = 0, N(s1, "HyperEdgeSegmentSplitter/FreeArea", 329), M(1817, 1, Ui, AQ), l.ue = function (e, n) { return CXe(u(e, 112), u(n, 112)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(s1, "HyperEdgeSegmentSplitter/lambda$0$Type", 1817), M(1818, 1, Qn, IYt), l.td = function (e) { Drn(this.a, this.d, this.c, this.b, u(e, 112)) }, l.b = 0, N(s1, "HyperEdgeSegmentSplitter/lambda$1$Type", 1818), M(1819, 1, {}, LQ), l.Kb = function (e) { return new kn(null, new Cn(u(e, 112).e, 16)) }, N(s1, "HyperEdgeSegmentSplitter/lambda$2$Type", 1819), M(1820, 1, {}, MQ), l.Kb = function (e) { return new kn(null, new Cn(u(e, 112).j, 16)) }, N(s1, "HyperEdgeSegmentSplitter/lambda$3$Type", 1820), M(1821, 1, {}, DQ), l.Fe = function (e) { return Xt(xe(e)) }, N(s1, "HyperEdgeSegmentSplitter/lambda$4$Type", 1821), M(655, 1, {}, Int), l.a = 0, l.b = 0, l.c = 0, N(s1, "OrthogonalRoutingGenerator", 655), M(1638, 1, {}, IQ), l.Kb = function (e) { return new kn(null, new Cn(u(e, 112).e, 16)) }, N(s1, "OrthogonalRoutingGenerator/lambda$0$Type", 1638), M(1639, 1, {}, OQ), l.Kb = function (e) { return new kn(null, new Cn(u(e, 112).j, 16)) }, N(s1, "OrthogonalRoutingGenerator/lambda$1$Type", 1639), M(661, 1, {}), N(sct, "BaseRoutingDirectionStrategy", 661), M(1807, 661, {}, kzt), l.dg = function (e, n, r) { var s, o, h, d, w, k, _, L, F, q, G, W, Z; if (!(e.r && !e.q)) for (L = n + e.o * r, _ = new S(e.n); _.a < _.c.c.length;)for (k = u(Q(_), 11), F = cc(ct(ot(sa, 1), te, 8, 0, [k.i.n, k.n, k.a])).a, w = new S(k.g); w.a < w.c.c.length;)d = u(Q(w), 17), ro(d) || (W = d.d, Z = cc(ct(ot(sa, 1), te, 8, 0, [W.i.n, W.n, W.a])).a, b.Math.abs(F - Z) > Cd && (h = L, o = e, s = new je(F, h), pi(d.a, s), uw(this, d, o, s, !1), q = e.r, q && (G = Xt(xe(r1(q.e, 0))), s = new je(G, h), pi(d.a, s), uw(this, d, o, s, !1), h = n + q.o * r, o = q, s = new je(G, h), pi(d.a, s), uw(this, d, o, s, !1)), s = new je(Z, h), pi(d.a, s), uw(this, d, o, s, !1))) }, l.eg = function (e) { return e.i.n.a + e.n.a + e.a.a }, l.fg = function () { return we(), Lr }, l.gg = function () { return we(), Fn }, N(sct, "NorthToSouthRoutingStrategy", 1807), M(1808, 661, {}, Ezt), l.dg = function (e, n, r) { var s, o, h, d, w, k, _, L, F, q, G, W, Z; if (!(e.r && !e.q)) for (L = n - e.o * r, _ = new S(e.n); _.a < _.c.c.length;)for (k = u(Q(_), 11), F = cc(ct(ot(sa, 1), te, 8, 0, [k.i.n, k.n, k.a])).a, w = new S(k.g); w.a < w.c.c.length;)d = u(Q(w), 17), ro(d) || (W = d.d, Z = cc(ct(ot(sa, 1), te, 8, 0, [W.i.n, W.n, W.a])).a, b.Math.abs(F - Z) > Cd && (h = L, o = e, s = new je(F, h), pi(d.a, s), uw(this, d, o, s, !1), q = e.r, q && (G = Xt(xe(r1(q.e, 0))), s = new je(G, h), pi(d.a, s), uw(this, d, o, s, !1), h = n - q.o * r, o = q, s = new je(G, h), pi(d.a, s), uw(this, d, o, s, !1)), s = new je(Z, h), pi(d.a, s), uw(this, d, o, s, !1))) }, l.eg = function (e) { return e.i.n.a + e.n.a + e.a.a }, l.fg = function () { return we(), Fn }, l.gg = function () { return we(), Lr }, N(sct, "SouthToNorthRoutingStrategy", 1808), M(1806, 661, {}, Tzt), l.dg = function (e, n, r) { var s, o, h, d, w, k, _, L, F, q, G, W, Z; if (!(e.r && !e.q)) for (L = n + e.o * r, _ = new S(e.n); _.a < _.c.c.length;)for (k = u(Q(_), 11), F = cc(ct(ot(sa, 1), te, 8, 0, [k.i.n, k.n, k.a])).b, w = new S(k.g); w.a < w.c.c.length;)d = u(Q(w), 17), ro(d) || (W = d.d, Z = cc(ct(ot(sa, 1), te, 8, 0, [W.i.n, W.n, W.a])).b, b.Math.abs(F - Z) > Cd && (h = L, o = e, s = new je(h, F), pi(d.a, s), uw(this, d, o, s, !0), q = e.r, q && (G = Xt(xe(r1(q.e, 0))), s = new je(h, G), pi(d.a, s), uw(this, d, o, s, !0), h = n + q.o * r, o = q, s = new je(h, G), pi(d.a, s), uw(this, d, o, s, !0)), s = new je(h, Z), pi(d.a, s), uw(this, d, o, s, !0))) }, l.eg = function (e) { return e.i.n.b + e.n.b + e.a.b }, l.fg = function () { return we(), Wn }, l.gg = function () { return we(), jn }, N(sct, "WestToEastRoutingStrategy", 1806), M(813, 1, {}, j5t), l.Ib = function () { return Jp(this.a) }, l.b = 0, l.c = !1, l.d = !1, l.f = 0, N(ky, "NubSpline", 813), M(407, 1, { 407: 1 }, Woe, fXt), N(ky, "NubSpline/PolarCP", 407), M(1453, 1, Qc, Fie), l.Yf = function (e) { return n1n(u(e, 37)) }, l.pf = function (e, n) { F3n(this, u(e, 37), n) }; var Qwe, Zwe, Jwe, tme, eme; N(ky, "SplineEdgeRouter", 1453), M(268, 1, { 268: 1 }, w$), l.Ib = function () { return this.a + " ->(" + this.c + ") " + this.b }, l.c = 0, N(ky, "SplineEdgeRouter/Dependency", 268), M(455, 22, { 3: 1, 35: 1, 22: 1, 455: 1 }, y2t); var w2, e5, nme = Xr(ky, "SplineEdgeRouter/SideToProcess", 455, ti, yen, BQe), rme; M(1454, 1, _i, SQ), l.Mb = function (e) { return lC(), !u(e, 128).o }, N(ky, "SplineEdgeRouter/lambda$0$Type", 1454), M(1455, 1, {}, CQ), l.Ge = function (e) { return lC(), u(e, 128).v + 1 }, N(ky, "SplineEdgeRouter/lambda$1$Type", 1455), M(1456, 1, Qn, dVt), l.td = function (e) { WZe(this.a, this.b, u(e, 46)) }, N(ky, "SplineEdgeRouter/lambda$2$Type", 1456), M(1457, 1, Qn, gVt), l.td = function (e) { KZe(this.a, this.b, u(e, 46)) }, N(ky, "SplineEdgeRouter/lambda$3$Type", 1457), M(128, 1, { 35: 1, 128: 1 }, lae, G5t), l.wd = function (e) { return yWe(this, u(e, 128)) }, l.b = 0, l.e = !1, l.f = 0, l.g = 0, l.j = !1, l.k = !1, l.n = 0, l.o = !1, l.p = !1, l.q = !1, l.s = 0, l.u = 0, l.v = 0, l.F = 0, N(ky, "SplineSegment", 128), M(459, 1, { 459: 1 }, jE), l.a = 0, l.b = !1, l.c = !1, l.d = !1, l.e = !1, l.f = 0, N(ky, "SplineSegment/EdgeInformation", 459), M(1234, 1, {}, kQ), N(FC, $6t, 1234), M(1235, 1, Ui, EQ), l.ue = function (e, n) { return M0n(u(e, 135), u(n, 135)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(FC, Khe, 1235), M(1233, 1, {}, Nqt), N(FC, "MrTree", 1233), M(393, 22, { 3: 1, 35: 1, 22: 1, 393: 1, 246: 1, 234: 1 }, BR), l.Kf = function () { return Pae(this) }, l.Xf = function () { return Pae(this) }; var cG, LS, NO, MS, I_t = Xr(FC, "TreeLayoutPhases", 393, ti, frn, RQe), ime; M(1130, 209, xb, tWt), l.Ze = function (e, n) { var r, s, o, h, d, w, k; for (Re(Be(ze(e, (cw(), R_t)))) || t$((r = new fr((Lm(), new _m(e))), r)), d = (w = new m$, Ho(w, e), Jt(w, (Sc(), OS), e), k = new Rr, xvn(e, w, k), Rvn(e, w, k), w), h = Dvn(this.a, d), o = new S(h); o.a < o.c.c.length;)s = u(Q(o), 135), Qfn(this.b, s, Kc(n, 1 / h.c.length)); d = l4n(h), Fyn(d) }, N(FC, "TreeLayoutProvider", 1130), M(1847, 1, r0, TQ), l.Jc = function (e) { Oa(this, e) }, l.Kc = function () { return pn(), r8(), Z7 }, N(FC, "TreeUtil/1", 1847), M(1848, 1, r0, _Q), l.Jc = function (e) { Oa(this, e) }, l.Kc = function () { return pn(), r8(), Z7 }, N(FC, "TreeUtil/2", 1848), M(502, 134, { 3: 1, 502: 1, 94: 1, 134: 1 }), l.g = 0, N(BC, "TGraphElement", 502), M(188, 502, { 3: 1, 188: 1, 502: 1, 94: 1, 134: 1 }, uwt), l.Ib = function () { return this.b && this.c ? o$(this.b) + "->" + o$(this.c) : "e_" + ns(this) }, N(BC, "TEdge", 188), M(135, 134, { 3: 1, 135: 1, 94: 1, 134: 1 }, m$), l.Ib = function () {
                                var e, n, r, s, o; for (o = null, s = gi(this.b, 0); s.b != s.d.c;)r = u(di(s), 86), o += (r.c == null || r.c.length == 0 ? "n_" + r.g : "n_" + r.c) + `
    `; for (n = gi(this.a, 0); n.b != n.d.c;)e = u(di(n), 188), o += (e.b && e.c ? o$(e.b) + "->" + o$(e.c) : "e_" + ns(e)) + `
    `; return o
                            }; var q4n = N(BC, "TGraph", 135); M(633, 502, { 3: 1, 502: 1, 633: 1, 94: 1, 134: 1 }), N(BC, "TShape", 633), M(86, 633, { 3: 1, 502: 1, 86: 1, 633: 1, 94: 1, 134: 1 }, cit), l.Ib = function () { return o$(this) }; var H4n = N(BC, "TNode", 86); M(255, 1, r0, Sp), l.Jc = function (e) { Oa(this, e) }, l.Kc = function () { var e; return e = gi(this.a.d, 0), new p6(e) }, N(BC, "TNode/2", 255), M(358, 1, va, p6), l.Nb = function (e) { Da(this, e) }, l.Pb = function () { return u(di(this.a), 188).c }, l.Ob = function () { return dR(this.a) }, l.Qb = function () { N$(this.a) }, N(BC, "TNode/2/1", 358), M(1840, 1, ys, JUt), l.pf = function (e, n) { twn(this, u(e, 135), n) }, N(yx, "FanProcessor", 1840), M(327, 22, { 3: 1, 35: 1, 22: 1, 327: 1, 234: 1 }, KT), l.Kf = function () { switch (this.g) { case 0: return new jzt; case 1: return new JUt; case 2: return new X5; case 3: return new NQ; case 4: return new FQ; case 5: return new IL; default: throw et(new Bn(_ot + (this.f != null ? this.f : "" + this.g))) } }; var uht, lht, hht, fht, dht, uG, sme = Xr(yx, Q6t, 327, ti, Ain, jQe), ame; M(1843, 1, ys, NQ), l.pf = function (e, n) { Fgn(this, u(e, 135), n) }, l.a = 0, N(yx, "LevelHeightProcessor", 1843), M(1844, 1, r0, PQ), l.Jc = function (e) { Oa(this, e) }, l.Kc = function () { return pn(), r8(), Z7 }, N(yx, "LevelHeightProcessor/1", 1844), M(1841, 1, ys, X5), l.pf = function (e, n) { Hdn(this, u(e, 135), n) }, l.a = 0, N(yx, "NeighborsProcessor", 1841), M(1842, 1, r0, DF), l.Jc = function (e) { Oa(this, e) }, l.Kc = function () { return pn(), r8(), Z7 }, N(yx, "NeighborsProcessor/1", 1842), M(1845, 1, ys, FQ), l.pf = function (e, n) { Pgn(this, u(e, 135), n) }, l.a = 0, N(yx, "NodePositionProcessor", 1845), M(1839, 1, ys, jzt), l.pf = function (e, n) { omn(this, u(e, 135)) }, N(yx, "RootProcessor", 1839), M(1846, 1, ys, IL), l.pf = function (e, n) { bcn(u(e, 135)) }, N(yx, "Untreeifyer", 1846); var PO, DS, ome, ght, lG, IS, pht, hG, fG, k9, OS, dG, Kg, O_t, cme, bht, Gy, vht, N_t; M(851, 1, jh, L3), l.Qe = function (e) { an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, bkt), ""), "Weighting of Nodes"), "Which weighting to use when computing a node order."), F_t), (Rg(), ks)), H_t), on((n1(), Un))))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, vkt), ""), "Search Order"), "Which search order to use when computing a spanning tree."), P_t), ks), G_t), on(Un)))), ole((new WL, e)) }; var ume, P_t, lme, F_t; N(rH, "MrTreeMetaDataProvider", 851), M(994, 1, jh, WL), l.Qe = function (e) { ole(e) }; var hme, B_t, fme, dme, gme, pme, R_t, bme, j_t, vme, gG, $_t, wme, z_t, mme; N(rH, "MrTreeOptions", 994), M(995, 1, {}, BQ), l.$e = function () { var e; return e = new tWt, e }, l._e = function (e) { }, N(rH, "MrTreeOptions/MrtreeFactory", 995), M(480, 22, { 3: 1, 35: 1, 22: 1, 480: 1 }, x2t); var wht, q_t, H_t = Xr(rH, "OrderWeighting", 480, ti, ken, $Qe), yme; M(425, 22, { 3: 1, 35: 1, 22: 1, 425: 1 }, k2t); var V_t, mht, G_t = Xr(rH, "TreeifyingOrder", 425, ti, xen, qQe), xme; M(1459, 1, Qc, UL), l.Yf = function (e) { return u(e, 135), kme }, l.pf = function (e, n) { pan(this, u(e, 135), n) }; var kme; N("org.eclipse.elk.alg.mrtree.p1treeify", "DFSTreeifyer", 1459), M(1460, 1, Qc, jJ), l.Yf = function (e) { return u(e, 135), Eme }, l.pf = function (e, n) { Jdn(this, u(e, 135), n) }; var Eme; N("org.eclipse.elk.alg.mrtree.p2order", "NodeOrderer", 1460), M(1461, 1, Qc, RJ), l.Yf = function (e) { return u(e, 135), Tme }, l.pf = function (e, n) { bbn(this, u(e, 135), n) }, l.a = 0; var Tme; N("org.eclipse.elk.alg.mrtree.p3place", "NodePlacer", 1461), M(1462, 1, Qc, _B), l.Yf = function (e) { return u(e, 135), _me }, l.pf = function (e, n) { qhn(u(e, 135), n) }; var _me; N("org.eclipse.elk.alg.mrtree.p4route", "EdgeRouter", 1462); var NS; M(495, 22, { 3: 1, 35: 1, 22: 1, 495: 1, 246: 1, 234: 1 }, E2t), l.Kf = function () { return dre(this) }, l.Xf = function () { return dre(this) }; var pG, E9, U_t = Xr(wkt, "RadialLayoutPhases", 495, ti, Een, zQe), Cme; M(1131, 209, xb, Oqt), l.Ze = function (e, n) { var r, s, o, h, d, w; if (r = bae(this, e), Ar(n, "Radial layout", r.c.length), Re(Be(ze(e, (iy(), nCt)))) || t$((s = new fr((Lm(), new _m(e))), s)), w = s1n(e), Mo(e, (l_(), NS), w), !w) throw et(new Bn("The given graph is not a tree!")); for (o = Xt(xe(ze(e, wG))), o == 0 && (o = Mae(e)), Mo(e, wG, o), d = new S(bae(this, e)); d.a < d.c.c.length;)h = u(Q(d), 51), h.pf(e, Kc(n, 1)); br(n) }, N(wkt, "RadialLayoutProvider", 1131), M(549, 1, Ui, gR), l.ue = function (e, n) { return Dbn(this.a, this.b, u(e, 33), u(n, 33)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, l.a = 0, l.b = 0, N(wkt, "RadialUtil/lambda$0$Type", 549), M(1375, 1, ys, jQ), l.pf = function (e, n) { Xmn(u(e, 33), n) }, N(qfe, "CalculateGraphSize", 1375), M(442, 22, { 3: 1, 35: 1, 22: 1, 442: 1, 234: 1 }, Eet), l.Kf = function () { switch (this.g) { case 0: return new IF; case 1: return new RQ; case 2: return new jQ; default: throw et(new Bn(_ot + (this.f != null ? this.f : "" + this.g))) } }; var yht, xht, kht, Sme = Xr(qfe, Q6t, 442, ti, wnn, HQe), Ame; M(645, 1, {}), l.e = 1, l.g = 0, N(cct, "AbstractRadiusExtensionCompaction", 645), M(1772, 645, {}, DUt), l.hg = function (e) { var n, r, s, o, h, d, w, k, _; for (this.c = u(ze(e, (l_(), NS)), 33), ltt(this, this.c), this.d = Uit(u(ze(e, (iy(), FO)), 293)), k = u(ze(e, Tht), 19), k && fv(this, k.a), w = xe(ze(e, (Ti(), zb))), bT(this, (Pn(w), w)), _ = fy(this.c), this.d && this.d.lg(_), Ubn(this, _), d = new Al(ct(ot(bs, 1), Hfe, 33, 0, [this.c])), r = 0; r < 2; r++)for (n = 0; n < _.c.length; n++)o = new Al(ct(ot(bs, 1), Hfe, 33, 0, [(An(n, _.c.length), u(_.c[n], 33))])), h = n < _.c.length - 1 ? (An(n + 1, _.c.length), u(_.c[n + 1], 33)) : (An(0, _.c.length), u(_.c[0], 33)), s = n == 0 ? u(Fe(_, _.c.length - 1), 33) : (An(n - 1, _.c.length), u(_.c[n - 1], 33)), Ese(this, (An(n, _.c.length), u(_.c[n], 33), d), s, h, o) }, N(cct, "AnnulusWedgeCompaction", 1772), M(1374, 1, ys, RQ), l.pf = function (e, n) { ufn(u(e, 33), n) }, N(cct, "GeneralCompactor", 1374), M(1771, 645, {}, $Q), l.hg = function (e) { var n, r, s, o; r = u(ze(e, (l_(), NS)), 33), this.f = r, this.b = Uit(u(ze(e, (iy(), FO)), 293)), o = u(ze(e, Tht), 19), o && fv(this, o.a), s = xe(ze(e, (Ti(), zb))), bT(this, (Pn(s), s)), n = fy(r), this.b && this.b.lg(n), tae(this, n) }, l.a = 0, N(cct, "RadialCompaction", 1771), M(1779, 1, {}, zQ), l.ig = function (e) { var n, r, s, o, h, d; for (this.a = e, n = 0, d = fy(e), s = 0, h = new S(d); h.a < h.c.c.length;)for (o = u(Q(h), 33), ++s, r = s; r < d.c.length; r++)awn(this, o, (An(r, d.c.length), u(d.c[r], 33))) && (n += 1); return n }, N(ykt, "CrossingMinimizationPosition", 1779), M(1777, 1, {}, qQ), l.ig = function (e) { var n, r, s, o, h, d, w, k, _, L, F, q, G; for (s = 0, r = new pr(mr(H0(e).a.Kc(), new H)); Zr(r);)n = u(qr(r), 79), w = Vo(u(St((!n.c && (n.c = new Tn(Cr, n, 5, 8)), n.c), 0), 82)), _ = w.i + w.g / 2, L = w.j + w.f / 2, o = e.i + e.g / 2, h = e.j + e.f / 2, F = new Ra, F.a = _ - o, F.b = L - h, d = new je(F.a, F.b), h7(d, e.g, e.f), F.a -= d.a, F.b -= d.b, o = _ - F.a, h = L - F.b, k = new je(F.a, F.b), h7(k, w.g, w.f), F.a -= k.a, F.b -= k.b, _ = o + F.a, L = h + F.b, q = _ - o, G = L - h, s += b.Math.sqrt(q * q + G * G); return s }, N(ykt, "EdgeLengthOptimization", 1777), M(1778, 1, {}, HQ), l.ig = function (e) { var n, r, s, o, h, d, w, k, _, L, F; for (s = 0, r = new pr(mr(H0(e).a.Kc(), new H)); Zr(r);)n = u(qr(r), 79), w = Vo(u(St((!n.c && (n.c = new Tn(Cr, n, 5, 8)), n.c), 0), 82)), k = w.i + w.g / 2, _ = w.j + w.f / 2, o = u(ze(w, (Ti(), $x)), 8), h = e.i + o.a + e.g / 2, d = e.j + o.b + e.f, L = k - h, F = _ - d, s += b.Math.sqrt(L * L + F * F); return s }, N(ykt, "EdgeLengthPositionOptimization", 1778), M(1373, 645, ys, IF), l.pf = function (e, n) { dpn(this, u(e, 33), n) }, N("org.eclipse.elk.alg.radial.intermediate.overlaps", "RadiusExtensionOverlapRemoval", 1373), M(426, 22, { 3: 1, 35: 1, 22: 1, 426: 1 }, T2t); var W_t, Eht, K_t = Xr(RC, "AnnulusWedgeCriteria", 426, ti, Ten, VQe), Lme; M(380, 22, { 3: 1, 35: 1, 22: 1, 380: 1 }, Tet); var bG, Y_t, X_t, Q_t = Xr(RC, O6t, 380, ti, mnn, GQe), Mme; M(852, 1, jh, $J), l.Qe = function (e) { an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, xkt), ""), "Order ID"), "The id can be used to define an order for nodes of one radius. This can be used to sort them in the layer accordingly."), pe(0)), (Rg(), Lc)), to), on((n1(), fa))))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, kkt), ""), "Radius"), "The radius option can be used to set the initial radius for the radial layouter."), 0), Uo), ka), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, lct), ""), "Compaction"), "With the compacter option it can be determined how compaction on the graph is done. It can be chosen between none, the radial compaction or the compaction of wedges separately."), Z_t), ks), Q_t), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, hct), ""), "Compaction Step Size"), "Determine the size of steps with which the compaction is done. Step size 1 correlates to a compaction of 1 pixel per Iteration."), pe(1)), Lc), to), on(Un)))), ya(e, hct, lct, null), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Ekt), ""), "Sorter"), "Sort the nodes per radius according to the sorting algorithm. The strategies are none, by the given order id, or sorting them by polar coordinates."), tCt), ks), hCt), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Tkt), ""), "Annulus Wedge Criteria"), "Determine how the wedge for the node placement is calculated. It can be chosen between wedge determination by the number of leaves or by the maximum sum of diagonals."), eCt), ks), K_t), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, _kt), ""), "Translation Optimization"), "Find the optimal translation of the nodes of the first radii according to this criteria. For example edge crossings can be minimized."), J_t), ks), cCt), on(Un)))), kle((new CB, e)) }; var Dme, Ime, Z_t, Ome, J_t, Nme, Pme, Fme, tCt, Bme, eCt; N(RC, "RadialMetaDataProvider", 852), M(996, 1, jh, CB), l.Qe = function (e) { kle(e) }; var Tht, _ht, Rme, jme, $me, zme, nCt, rCt, vG, qme, Hme, wG, FO, Vme, iCt; N(RC, "RadialOptions", 996), M(997, 1, {}, VQ), l.$e = function () { var e; return e = new Oqt, e }, l._e = function (e) { }, N(RC, "RadialOptions/RadialFactory", 997), M(340, 22, { 3: 1, 35: 1, 22: 1, 340: 1 }, RR); var sCt, aCt, oCt, Cht, cCt = Xr(RC, "RadialTranslationStrategy", 340, ti, drn, UQe), Gme; M(293, 22, { 3: 1, 35: 1, 22: 1, 293: 1 }, _et); var uCt, Sht, lCt, hCt = Xr(RC, "SortingStrategy", 293, ti, xnn, WQe), Ume; M(1449, 1, Qc, OF), l.Yf = function (e) { return u(e, 33), null }, l.pf = function (e, n) { kpn(this, u(e, 33), n) }, l.c = 0, N("org.eclipse.elk.alg.radial.p1position", "EadesRadial", 1449), M(1775, 1, {}, GQ), l.jg = function (e) { return cie(e) }, N(Vfe, "AnnulusWedgeByLeafs", 1775), M(1776, 1, {}, NF), l.jg = function (e) { return pse(this, e) }, N(Vfe, "AnnulusWedgeByNodeSpace", 1776), M(1450, 1, Qc, PF), l.Yf = function (e) { return u(e, 33), null }, l.pf = function (e, n) { Nfn(this, u(e, 33), n) }, N("org.eclipse.elk.alg.radial.p2routing", "StraightLineEdgeRouter", 1450), M(811, 1, {}, _pt), l.kg = function (e) { }, l.lg = function (e) { Y$t(this, e) }, N(Ckt, "IDSorter", 811), M(1774, 1, Ui, FF), l.ue = function (e, n) { return ian(u(e, 33), u(n, 33)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Ckt, "IDSorter/lambda$0$Type", 1774), M(1773, 1, {}, fee), l.kg = function (e) { mQt(this, e) }, l.lg = function (e) { var n; e.dc() || (this.e || (n = pKt(u(e.Xb(0), 33)), mQt(this, n)), Y$t(this.e, e)) }, N(Ckt, "PolarCoordinateSorter", 1773), M(1136, 209, xb, UQ), l.Ze = function (e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe, $n, Gn, yr; if (Ar(n, "Rectangle Packing", 1), n.n && n.n && e && vf(n, wf(e), (Pl(), rh)), r = Xt(xe(ze(e, (Fst(), nye)))), Z = u(ze(e, TCt), 381), Ct = Re(Be(ze(e, xCt))), Se = Re(Be(ze(e, ECt))), F = Re(Be(ze(e, wCt))), Ge = u(ze(e, uye), 116), ce = Xt(xe(ze(e, hye))), o = Re(Be(ze(e, CCt))), q = Re(Be(ze(e, mCt))), Lt = Re(Be(ze(e, yCt))), yr = Xt(xe(ze(e, SCt))), $n = (!e.a && (e.a = new he(bs, e, 10, 11)), e.a), hee($n), Lt) { for (W = new le, k = new lr($n); k.e != k.i.gc();)d = u(kr(k), 33), eb(d, BO) && (W.c[W.c.length] = d); for (_ = new S(W); _.a < _.c.c.length;)d = u(Q(_), 33), M$($n, d); for (pn(), ua(W, new WQ), L = new S(W); L.a < L.c.c.length;)d = u(Q(L), 33), Qe = u(ze(d, BO), 19).a, Qe = b.Math.min(Qe, $n.i), W_($n, Qe, d); for (bt = 0, w = new lr($n); w.e != w.i.gc();)d = u(kr(w), 33), Mo(d, vCt, pe(bt)), ++bt } Yt = T4t(e), Yt.a -= Ge.b + Ge.c, Yt.b -= Ge.d + Ge.a, Pt = Yt.a, yr < 0 || yr < Yt.a ? (G = new AWt(r, Z, Ct), h = Jbn(G, $n, ce, Ge), n.n && n.n && e && vf(n, wf(e), (Pl(), rh))) : h = new fnt(r, yr, 0, (y7(), BS)), Yt.a += Ge.b + Ge.c, Yt.b += Ge.d + Ge.a, Se || (hee($n), Gn = new jQt(r, F, q, o, ce), Pt = b.Math.max(Yt.a, h.c), h = Dyn(Gn, $n, Pt, Yt, n, e, Ge)), Man($n, Ge), hw(e, h.c + (Ge.b + Ge.c), h.b + (Ge.d + Ge.a), !1, !0), Re(Be(ze(e, kCt))) || t$((s = new fr((Lm(), new _m(e))), s)), n.n && n.n && e && vf(n, wf(e), (Pl(), rh)), br(n) }, N(Kfe, "RectPackingLayoutProvider", 1136), M(1137, 1, Ui, WQ), l.ue = function (e, n) { return xon(u(e, 33), u(n, 33)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Kfe, "RectPackingLayoutProvider/lambda$0$Type", 1137), M(1256, 1, {}, AWt), l.a = 0, l.c = !1, N(iH, "AreaApproximation", 1256); var fCt = ls(iH, "BestCandidateFilter"); M(638, 1, { 526: 1 }, $E), l.mg = function (e, n, r) { var s, o, h, d, w, k; for (k = new le, h = ms, w = new S(e); w.a < w.c.c.length;)d = u(Q(w), 220), h = b.Math.min(h, (d.c + (r.b + r.c)) * (d.b + (r.d + r.a))); for (o = new S(e); o.a < o.c.c.length;)s = u(Q(o), 220), (s.c + (r.b + r.c)) * (s.b + (r.d + r.a)) == h && (k.c[k.c.length] = s); return k }, N(iH, "AreaFilter", 638), M(639, 1, { 526: 1 }, OL), l.mg = function (e, n, r) { var s, o, h, d, w, k; for (w = new le, k = ms, d = new S(e); d.a < d.c.c.length;)h = u(Q(d), 220), k = b.Math.min(k, b.Math.abs((h.c + (r.b + r.c)) / (h.b + (r.d + r.a)) - n)); for (o = new S(e); o.a < o.c.c.length;)s = u(Q(o), 220), b.Math.abs((s.c + (r.b + r.c)) / (s.b + (r.d + r.a)) - n) == k && (w.c[w.c.length] = s); return w }, N(iH, "AspectRatioFilter", 639), M(637, 1, { 526: 1 }, zE), l.mg = function (e, n, r) { var s, o, h, d, w, k; for (k = new le, h = Rs, w = new S(e); w.a < w.c.c.length;)d = u(Q(w), 220), h = b.Math.max(h, kvt(d.c + (r.b + r.c), d.b + (r.d + r.a), d.a)); for (o = new S(e); o.a < o.c.c.length;)s = u(Q(o), 220), kvt(s.c + (r.b + r.c), s.b + (r.d + r.a), s.a) == h && (k.c[k.c.length] = s); return k }, N(iH, "ScaleMeasureFilter", 637), M(381, 22, { 3: 1, 35: 1, 22: 1, 381: 1 }, Cet); var dCt, gCt, Aht, pCt = Xr(fct, "OptimizationGoal", 381, ti, ynn, KQe), Wme; M(856, 1, jh, MB), l.Qe = function (e) { an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Skt), ""), "Optimization Goal"), "Optimization goal for approximation of the bounding box given by the first iteration. Determines whether layout is sorted by the maximum scaling, aspect ratio, or area. Depending on the strategy the aspect ratio might be nearly ignored."), bCt), (Rg(), ks)), pCt), on((n1(), fa))))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Akt), ""), "Shift Last Placed."), "When placing a rectangle behind or below the last placed rectangle in the first iteration, it is sometimes possible to shift the rectangle further to the left or right, resulting in less whitespace. True (default) enables the shift and false disables it. Disabling the shift produces a greater approximated area by the first iteration and a layout, when using ONLY the first iteration (default not the case), where it is sometimes impossible to implement a size transformation of rectangles that will fill the bounding box and eliminate empty spaces."), (Rn(), !0)), qa), Zs), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Lkt), ""), "Current position of a node in the order of nodes"), "The rectangles are ordered. Normally according to their definition the the model. This option specifies the current position of a node."), pe(-1)), Lc), to), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Mkt), ""), "Desired index of node"), "The rectangles are ordered. Normally according to their definition the the model. This option allows to specify a desired position that has preference over the original position."), pe(-1)), Lc), to), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Dkt), ""), "Only Area Approximation"), "If enabled only the width approximation step is executed and the nodes are placed accordingly. The nodes are layouted according to the packingStrategy. If set to true not expansion of nodes is taking place."), !1), qa), Zs), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Ikt), ""), "Compact Rows"), "Enables compaction. Compacts blocks if they do not use the full height of the row. This option allows to have a smaller drawing. If this option is disabled all nodes are placed next to each other in rows."), !0), qa), Zs), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, dct), ""), "Fit Aspect Ratio"), "Expands nodes if expandNodes is true to fit the aspect ratio instead of only in their bounds. The option is only useful if the used packingStrategy is ASPECT_RATIO_DRIVEN, otherwise this may result in unreasonable ndoe expansion."), !1), qa), Zs), on(fa)))), ya(e, dct, sH, null), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Okt), ""), "Target Width"), "Option to place the rectangles in the given target width instead of approximating the width using the desired aspect ratio. The padding is not included in this. Meaning a drawing will have width of targetwidth + horizontal padding."), -1), Uo), ka), on(fa)))), Vle((new Bk, e)) }; var Kme, Yme, Xme, Qme, Zme, Jme, bCt, tye, eye; N(fct, "RectPackingMetaDataProvider", 856), M(1004, 1, jh, Bk), l.Qe = function (e) { Vle(e) }; var nye, rye, vCt, BO, wCt, mCt, yCt, iye, xCt, sye, aye, oye, cye, kCt, ECt, TCt, uye, _Ct, lye, CCt, hye, SCt; N(fct, "RectPackingOptions", 1004), M(1005, 1, {}, KQ), l.$e = function () { var e; return e = new UQ, e }, l._e = function (e) { }, N(fct, "RectPackingOptions/RectpackingFactory", 1005), M(1257, 1, {}, jQt), l.a = 0, l.b = !1, l.c = 0, l.d = 0, l.e = !1, l.f = !1, l.g = 0, N("org.eclipse.elk.alg.rectpacking.seconditeration", "RowFillingAndCompaction", 1257), M(187, 1, { 187: 1 }, uit), l.a = 0, l.c = !1, l.d = 0, l.e = 0, l.f = 0, l.g = 0, l.i = 0, l.k = !1, l.o = ms, l.p = ms, l.r = 0, l.s = 0, l.t = 0, N(KI, "Block", 187), M(211, 1, { 211: 1 }, r$), l.a = 0, l.b = 0, l.d = 0, l.e = 0, l.f = 0, N(KI, "BlockRow", 211), M(443, 1, { 443: 1 }, pwt), l.b = 0, l.c = 0, l.d = 0, l.e = 0, l.f = 0, N(KI, "BlockStack", 443), M(220, 1, { 220: 1 }, fnt, Hyt), l.a = 0, l.b = 0, l.c = 0, l.d = 0, l.e = 0; var V4n = N(KI, "DrawingData", 220); M(355, 22, { 3: 1, 35: 1, 22: 1, 355: 1 }, _M); var Bx, n5, PS, FS, BS, fye = Xr(KI, "DrawingDataDescriptor", 355, ti, Xrn, YQe), dye; M(200, 1, { 200: 1 }, _wt), l.b = 0, l.c = 0, l.e = 0, l.f = 0, N(KI, "RectRow", 200), M(756, 1, {}, yyt), l.j = 0, N(Ey, ufe, 756), M(1245, 1, {}, YQ), l.Je = function (e) { return Gp(e.a, e.b) }, N(Ey, lfe, 1245), M(1246, 1, {}, qjt), l.Je = function (e) { return rin(this.a, e) }, N(Ey, hfe, 1246), M(1247, 1, {}, Hjt), l.Je = function (e) { return lln(this.a, e) }, N(Ey, ffe, 1247), M(1248, 1, {}, Vjt), l.Je = function (e) { return aon(this.a, e) }, N(Ey, "ElkGraphImporter/lambda$3$Type", 1248), M(1249, 1, {}, Gjt), l.Je = function (e) { return V0n(this.a, e) }, N(Ey, dfe, 1249), M(1133, 209, xb, Pqt), l.Ze = function (e, n) { var r, s, o, h, d, w, k, _, L, F, q, G; for (eb(e, (nI(), EG)) && (G = Kr(ze(e, (Qit(), KCt))), h = Wst(z8(), G), h && (d = u(Znt(h.f), 209), d.Ze(e, Kc(n, 1)))), Mo(e, Pht, (lD(), kG)), Mo(e, Fht, (rI(), Nht)), Mo(e, Bht, (OD(), TG)), w = u(ze(e, (Qit(), GCt)), 19).a, Ar(n, "Overlap removal", 1), Re(Be(ze(e, Oye))), k = new na, _ = new Ujt(k), s = new yyt, r = Gle(s, e), L = !0, o = 0; o < w && L;) { if (Re(Be(ze(e, UCt)))) { if (k.a.$b(), zdn(new OGt(_), r.i), k.a.gc() == 0) break; r.e = k } for (u$(this.b), Yd(this.b, (HD(), mG), (BT(), RO)), Yd(this.b, yG, r.g), Yd(this.b, xG, (kR(), Dht)), this.a = pq(this.b, r), q = new S(this.a); q.a < q.c.c.length;)F = u(Q(q), 51), F.pf(r, Kc(n, 1)); ifn(s, r), L = Re(Be(K(r, (V8(), F7t)))), ++o } ale(s, r), br(n) }, N(Ey, "OverlapRemovalLayoutProvider", 1133), M(1134, 1, {}, Ujt), N(Ey, "OverlapRemovalLayoutProvider/lambda$0$Type", 1134), M(437, 22, { 3: 1, 35: 1, 22: 1, 437: 1 }, Aet); var mG, yG, xG, Lht = Xr(Ey, "SPOrEPhases", 437, ti, knn, XQe), gye; M(1255, 1, {}, Fqt), N(Ey, "ShrinkTree", 1255), M(1135, 209, xb, zzt), l.Ze = function (e, n) { var r, s, o, h, d; eb(e, (nI(), EG)) && (d = Kr(ze(e, EG)), o = Wst(z8(), d), o && (h = u(Znt(o.f), 209), h.Ze(e, Kc(n, 1)))), s = new yyt, r = Gle(s, e), Spn(this.a, r, Kc(n, 1)), ale(s, r) }, N(Ey, "ShrinkTreeLayoutProvider", 1135), M(300, 134, { 3: 1, 300: 1, 94: 1, 134: 1 }, pXt), l.c = !1, N("org.eclipse.elk.alg.spore.graph", "Graph", 300), M(482, 22, { 3: 1, 35: 1, 22: 1, 482: 1, 246: 1, 234: 1 }, IHt), l.Kf = function () { return wne(this) }, l.Xf = function () { return wne(this) }; var Mht, ACt = Xr(Ty, O6t, 482, ti, Otn, QQe), pye; M(551, 22, { 3: 1, 35: 1, 22: 1, 551: 1, 246: 1, 234: 1 }, IUt), l.Kf = function () { return new BF }, l.Xf = function () { return new BF }; var Dht, bye = Xr(Ty, "OverlapRemovalStrategy", 551, ti, Ntn, ZQe), vye; M(430, 22, { 3: 1, 35: 1, 22: 1, 430: 1 }, _2t); var kG, Iht, LCt = Xr(Ty, "RootSelection", 430, ti, Cen, JQe), wye; M(316, 22, { 3: 1, 35: 1, 22: 1, 316: 1 }, CM); var MCt, Oht, Nht, DCt, ICt, OCt = Xr(Ty, "SpanningTreeCostFunction", 316, ti, Wrn, tZe), mye; M(1002, 1, jh, SB), l.Qe = function (e) { Fue(e) }; var NCt, PCt, yye, xye, FCt, BCt, Pht, Fht, Bht, kye, Eye, EG; N(Ty, "SporeCompactionOptions", 1002), M(1003, 1, {}, NL), l.$e = function () { var e; return e = new zzt, e }, l._e = function (e) { }, N(Ty, "SporeCompactionOptions/SporeCompactionFactory", 1003), M(855, 1, jh, AB), l.Qe = function (e) { an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, gct), ""), "Underlying Layout Algorithm"), "A layout algorithm that is applied to the graph before it is compacted. If this is null, nothing is applied before compaction."), (Rg(), T9)), Me), on((n1(), Un))))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, vct), "structure"), "Structure Extraction Strategy"), "This option defines what kind of triangulation or other partitioning of the plane is applied to the vertices."), HCt), ks), YCt), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Nkt), wct), "Tree Construction Strategy"), "Whether a minimum spanning tree or a maximum spanning tree should be constructed."), zCt), ks), QCt), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Pkt), wct), "Cost Function for Spanning Tree"), "The cost function is used in the creation of the spanning tree."), $Ct), ks), OCt), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, pct), wct), "Root node for spanning tree construction"), "The identifier of the node that is preferred as the root of the spanning tree. If this is null, the first node is chosen."), null), T9), Me), on(Un)))), ya(e, pct, bct, Lye), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, bct), wct), "Root selection for spanning tree"), "This sets the method used to select a root node for the construction of a spanning tree"), jCt), ks), LCt), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Fkt), Mxt), "Compaction Strategy"), "This option defines how the compaction is applied."), RCt), ks), ACt), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Bkt), Mxt), "Orthogonal Compaction"), "Restricts the translation of nodes to orthogonal directions in the compaction phase."), (Rn(), !1)), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Rkt), Yfe), "Upper limit for iterations of overlap removal"), null), pe(64)), Lc), to), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, jkt), Yfe), "Whether to run a supplementary scanline overlap check."), null), !0), qa), Zs), on(Un)))), qce((new LB, e)), Fue((new SB, e)) }; var Tye, RCt, _ye, Cye, Sye, Aye, Lye, Mye, jCt, Dye, $Ct, Iye, zCt, qCt, HCt, VCt; N(Ty, "SporeMetaDataProvider", 855), M(jg, 1, jh, LB), l.Qe = function (e) { qce(e) }; var Oye, GCt, UCt, WCt, Nye, KCt; N(Ty, "SporeOverlapRemovalOptions", jg), M(1001, 1, {}, XQ), l.$e = function () { var e; return e = new Pqt, e }, l._e = function (e) { }, N(Ty, "SporeOverlapRemovalOptions/SporeOverlapFactory", 1001), M(530, 22, { 3: 1, 35: 1, 22: 1, 530: 1, 246: 1, 234: 1 }, kYt), l.Kf = function () { return mne(this) }, l.Xf = function () { return mne(this) }; var RO, YCt = Xr(Ty, "StructureExtractionStrategy", 530, ti, Ptn, eZe), Pye; M(429, 22, { 3: 1, 35: 1, 22: 1, 429: 1, 246: 1, 234: 1 }, C2t), l.Kf = function () { return gre(this) }, l.Xf = function () { return gre(this) }; var XCt, TG, QCt = Xr(Ty, "TreeConstructionStrategy", 429, ti, _en, nZe), Fye; M(1443, 1, Qc, QQ), l.Yf = function (e) { return u(e, 300), new ra }, l.pf = function (e, n) { gfn(u(e, 300), n) }, N(Xfe, "DelaunayTriangulationPhase", 1443), M(1444, 1, Qn, Wjt), l.td = function (e) { ue(this.a, u(e, 65).a) }, N(Xfe, "DelaunayTriangulationPhase/lambda$0$Type", 1444), M(783, 1, Qc, Tpt), l.Yf = function (e) { return u(e, 300), new ra }, l.pf = function (e, n) { this.ng(u(e, 300), n) }, l.ng = function (e, n) { var r, s, o; Ar(n, "Minimum spanning tree construction", 1), e.d ? s = e.d.a : s = u(Fe(e.i, 0), 65).a, Re(Be(K(e, (V8(), rS)))) ? o = dat(e.e, s, (r = e.b, r)) : o = dat(e.e, s, e.b), tne(this, o, e), br(n) }, N(mct, "MinSTPhase", 783), M(1446, 783, Qc, _zt), l.ng = function (e, n) { var r, s, o, h; Ar(n, "Maximum spanning tree construction", 1), r = new Kjt(e), e.d ? o = e.d.c : o = u(Fe(e.i, 0), 65).c, Re(Be(K(e, (V8(), rS)))) ? h = dat(e.e, o, (s = r, s)) : h = dat(e.e, o, r), tne(this, h, e), br(n) }, N(mct, "MaxSTPhase", 1446), M(1447, 1, {}, Kjt), l.Je = function (e) { return iKe(this.a, e) }, N(mct, "MaxSTPhase/lambda$0$Type", 1447), M(1445, 1, Qn, Yjt), l.td = function (e) { YKe(this.a, u(e, 65)) }, N(mct, "MinSTPhase/lambda$0$Type", 1445), M(785, 1, Qc, BF), l.Yf = function (e) { return u(e, 300), new ra }, l.pf = function (e, n) { S1n(this, u(e, 300), n) }, l.a = !1, N(yct, "GrowTreePhase", 785), M(786, 1, Qn, tvt), l.td = function (e) { Van(this.a, this.b, this.c, u(e, 221)) }, N(yct, "GrowTreePhase/lambda$0$Type", 786), M(1448, 1, Qc, ZQ), l.Yf = function (e) { return u(e, 300), new ra }, l.pf = function (e, n) { Fln(this, u(e, 300), n) }, N(yct, "ShrinkTreeCompactionPhase", 1448), M(784, 1, Qn, evt), l.td = function (e) { ggn(this.a, this.b, this.c, u(e, 221)) }, N(yct, "ShrinkTreeCompactionPhase/lambda$0$Type", 784); var ZCt = ls(Fc, "IGraphElementVisitor"); M(860, 1, { 527: 1 }, lQt), l.og = function (e) { var n; n = ybn(this, e), Ho(n, u(or(this.b, e), 94)), wpn(this, e, n) }; var Bye, Rye; N(S4, "LayoutConfigurator", 860); var G4n = ls(S4, "LayoutConfigurator/IPropertyHolderOptionFilter"); M(932, 1, { 1933: 1 }, JQ), l.pg = function (e, n) { return X6(), !e.Xe(n) }, N(S4, "LayoutConfigurator/lambda$0$Type", 932), M(933, 1, { 1933: 1 }, tZ), l.pg = function (e, n) { return Dqt(e, n) }, N(S4, "LayoutConfigurator/lambda$1$Type", 933), M(931, 1, { 831: 1 }, eZ), l.qg = function (e, n) { return X6(), !e.Xe(n) }, N(S4, "LayoutConfigurator/lambda$2$Type", 931), M(934, 1, _i, pVt), l.Mb = function (e) { return ytn(this.a, this.b, u(e, 1933)) }, N(S4, "LayoutConfigurator/lambda$3$Type", 934), M(858, 1, {}, nZ), N(S4, "RecursiveGraphLayoutEngine", 858), M(296, 60, G0, ezt, F3), N(S4, "UnsupportedConfigurationException", 296), M(453, 60, G0, MT), N(S4, "UnsupportedGraphException", 453), M(754, 1, {}), N(Fc, "AbstractRandomListAccessor", 754), M(500, 754, {}, fI), l.rg = function () { return null }, l.d = !0, l.e = !0, l.f = 0, N(z7, "AlgorithmAssembler", 500), M(1236, 1, _i, rZ), l.Mb = function (e) { return !!u(e, 123) }, N(z7, "AlgorithmAssembler/lambda$0$Type", 1236), M(1237, 1, {}, Xjt), l.Kb = function (e) { return EWe(this.a, u(e, 123)) }, N(z7, "AlgorithmAssembler/lambda$1$Type", 1237), M(1238, 1, _i, iZ), l.Mb = function (e) { return !!u(e, 80) }, N(z7, "AlgorithmAssembler/lambda$2$Type", 1238), M(1239, 1, Qn, Qjt), l.td = function (e) { Ul(this.a, u(e, 80)) }, N(z7, "AlgorithmAssembler/lambda$3$Type", 1239), M(1240, 1, Qn, bVt), l.td = function (e) { FYe(this.a, this.b, u(e, 234)) }, N(z7, "AlgorithmAssembler/lambda$4$Type", 1240), M(1355, 1, Ui, sZ), l.ue = function (e, n) { return Xtn(u(e, 234), u(n, 234)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(z7, "EnumBasedFactoryComparator", 1355), M(80, 754, { 80: 1 }, ra), l.rg = function () { return new na }, l.a = 0, N(z7, "LayoutProcessorConfiguration", 80), M(1013, 1, { 527: 1 }, KL), l.og = function (e) { $_($ye, new Zjt(e)) }; var jye, $ye, zye; N(hc, "DeprecatedLayoutOptionReplacer", 1013), M(1014, 1, Qn, aZ), l.td = function (e) { jin(u(e, 160)) }, N(hc, "DeprecatedLayoutOptionReplacer/lambda$0$Type", 1014), M(1015, 1, Qn, oZ), l.td = function (e) { cun(u(e, 160)) }, N(hc, "DeprecatedLayoutOptionReplacer/lambda$1$Type", 1015), M(1016, 1, {}, Zjt), l.Od = function (e, n) { BYe(this.a, u(e, 146), u(n, 38)) }, N(hc, "DeprecatedLayoutOptionReplacer/lambda$2$Type", 1016), M(149, 1, { 686: 1, 149: 1 }, bb), l.Fb = function (e) { return zwt(this, e) }, l.sg = function () { return this.b }, l.tg = function () { return this.c }, l.ne = function () { return this.e }, l.Hb = function () { return Fg(this.c) }, l.Ib = function () { return "Layout Algorithm: " + this.c }; var U4n = N(hc, "LayoutAlgorithmData", 149); M(263, 1, {}, gg), N(hc, "LayoutAlgorithmData/Builder", 263), M(1017, 1, { 527: 1 }, cZ), l.og = function (e) { Et(e, 239) && !Re(Be(e.We((Ti(), DG)))) && rwn(u(e, 33)) }, N(hc, "LayoutAlgorithmResolver", 1017), M(229, 1, { 686: 1, 229: 1 }, $6), l.Fb = function (e) { return Et(e, 229) ? ln(this.b, u(e, 229).b) : !1 }, l.sg = function () { return this.a }, l.tg = function () { return this.b }, l.ne = function () { return this.d }, l.Hb = function () { return Fg(this.b) }, l.Ib = function () { return "Layout Type: " + this.b }, N(hc, "LayoutCategoryData", 229), M(344, 1, {}, bm), N(hc, "LayoutCategoryData/Builder", 344), M(867, 1, {}, Dce); var Rht; N(hc, "LayoutMetaDataService", 867), M(868, 1, {}, cYt), N(hc, "LayoutMetaDataService/Registry", 868), M(478, 1, { 478: 1 }, RF), N(hc, "LayoutMetaDataService/Registry/Triple", 478), M(869, 1, I4, uZ), l.ug = function () { return new Ra }, N(hc, "LayoutMetaDataService/lambda$0$Type", 869), M(870, 1, _y, lZ), l.vg = function (e) { return pc(u(e, 8)) }, N(hc, "LayoutMetaDataService/lambda$1$Type", 870), M(879, 1, I4, hZ), l.ug = function () { return new le }, N(hc, "LayoutMetaDataService/lambda$10$Type", 879), M(880, 1, _y, fZ), l.vg = function (e) { return new Uu(u(e, 12)) }, N(hc, "LayoutMetaDataService/lambda$11$Type", 880), M(881, 1, I4, dZ), l.ug = function () { return new hs }, N(hc, "LayoutMetaDataService/lambda$12$Type", 881), M(882, 1, _y, gZ), l.vg = function (e) { return GM(u(e, 68)) }, N(hc, "LayoutMetaDataService/lambda$13$Type", 882), M(883, 1, I4, pZ), l.ug = function () { return new na }, N(hc, "LayoutMetaDataService/lambda$14$Type", 883), M(884, 1, _y, bZ), l.vg = function (e) { return Xj(u(e, 53)) }, N(hc, "LayoutMetaDataService/lambda$15$Type", 884), M(885, 1, I4, vZ), l.ug = function () { return new S0 }, N(hc, "LayoutMetaDataService/lambda$16$Type", 885), M(886, 1, _y, jc), l.vg = function (e) { return g$(u(e, 53)) }, N(hc, "LayoutMetaDataService/lambda$17$Type", 886), M(887, 1, I4, wZ), l.ug = function () { return new lpt }, N(hc, "LayoutMetaDataService/lambda$18$Type", 887), M(888, 1, _y, qE), l.vg = function (e) { return FWt(u(e, 208)) }, N(hc, "LayoutMetaDataService/lambda$19$Type", 888), M(871, 1, I4, dc), l.ug = function () { return new Hu }, N(hc, "LayoutMetaDataService/lambda$2$Type", 871), M(872, 1, _y, ru), l.vg = function (e) { return new hR(u(e, 74)) }, N(hc, "LayoutMetaDataService/lambda$3$Type", 872), M(873, 1, I4, ts), l.ug = function () { return new TT }, N(hc, "LayoutMetaDataService/lambda$4$Type", 873), M(874, 1, _y, PL), l.vg = function (e) { return new ant(u(e, 142)) }, N(hc, "LayoutMetaDataService/lambda$5$Type", 874), M(875, 1, I4, yZ), l.ug = function () { return new v6 }, N(hc, "LayoutMetaDataService/lambda$6$Type", 875), M(876, 1, _y, xZ), l.vg = function (e) { return new Ybt(u(e, 116)) }, N(hc, "LayoutMetaDataService/lambda$7$Type", 876), M(877, 1, I4, Q5), l.ug = function () { return new il }, N(hc, "LayoutMetaDataService/lambda$8$Type", 877), M(878, 1, _y, vm), l.vg = function (e) { return new YJt(u(e, 373)) }, N(hc, "LayoutMetaDataService/lambda$9$Type", 878); var jht = ls(FI, "IProperty"); M(23, 1, { 35: 1, 686: 1, 23: 1, 146: 1 }, Xe), l.wd = function (e) { return cYe(this, u(e, 146)) }, l.Fb = function (e) { return Et(e, 23) ? ln(this.f, u(e, 23).f) : Et(e, 146) && ln(this.f, u(e, 146).tg()) }, l.wg = function () { var e; if (Et(this.b, 4)) { if (e = a3t(this.b), e == null) throw et(new Yo(Jfe + this.f + "'. Make sure it's type is registered with the " + (A0(cN), cN.k) + $kt)); return e } else return this.b }, l.sg = function () { return this.d }, l.tg = function () { return this.f }, l.ne = function () { return this.i }, l.Hb = function () { return Fg(this.f) }, l.Ib = function () { return "Layout Option: " + this.f }, N(hc, "LayoutOptionData", 23), M(24, 1, {}, Ve), N(hc, "LayoutOptionData/Builder", 24), M(175, 22, { 3: 1, 35: 1, 22: 1, 175: 1 }, SM); var Bd, Yg, fa, Un, Rb, Xg = Xr(hc, "LayoutOptionData/Target", 175, ti, Urn, rZe), qye; M(277, 22, { 3: 1, 35: 1, 22: 1, 277: 1 }, _6); var qa, Uo, ks, Rx, Lc, X1, T9, JCt, Hye = Xr(hc, "LayoutOptionData/Type", 277, ti, Esn, iZe), Vye, RS, tSt; M(110, 1, { 110: 1 }, S6, fh, Zj), l.Fb = function (e) { var n; return e == null || !Et(e, 110) ? !1 : (n = u(e, 110), Gc(this.c, n.c) && Gc(this.d, n.d) && Gc(this.b, n.b) && Gc(this.a, n.a)) }, l.Hb = function () { return cz(ct(ot(nr, 1), De, 1, 5, [this.c, this.d, this.b, this.a])) }, l.Ib = function () { return "Rect[x=" + this.c + ",y=" + this.d + ",w=" + this.b + ",h=" + this.a + "]" }, l.a = 0, l.b = 0, l.c = 0, l.d = 0, N(zI, "ElkRectangle", 110), M(8, 1, { 3: 1, 4: 1, 8: 1, 414: 1 }, Ra, irt, je, No), l.Fb = function (e) { return iee(this, e) }, l.Hb = function () { return o8(this.a) + uhn(o8(this.b)) }, l.Jf = function (e) {
                                var n, r, s, o; for (s = 0; s < e.length && Rne((Yr(s, e.length), e.charCodeAt(s)), ife);)++s; for (n = e.length; n > 0 && Rne((Yr(n - 1, e.length), e.charCodeAt(n - 1)), sfe);)--n; if (s >= n) throw et(new Bn("The given string does not contain any numbers.")); if (o = dy(e.substr(s, n - s), `,|;|\r|
    `), o.length != 2) throw et(new Bn("Exactly two numbers are expected, " + o.length + " were found.")); try { this.a = cy(oy(o[0])), this.b = cy(oy(o[1])) } catch (h) { throw h = os(h), Et(h, 127) ? (r = h, et(new Bn(afe + r))) : et(h) }
                            }, l.Ib = function () { return "(" + this.a + "," + this.b + ")" }, l.a = 0, l.b = 0; var sa = N(zI, "KVector", 8); M(74, 68, { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 68: 1, 15: 1, 74: 1, 414: 1 }, Hu, hR, kUt), l.Pc = function () { return Aon(this) }, l.Jf = function (e) {
                                var n, r, s, o, h, d; s = dy(e, `,|;|\\(|\\)|\\[|\\]|\\{|\\}| |	|
    `), Nh(this); try { for (r = 0, h = 0, o = 0, d = 0; r < s.length;)s[r] != null && oy(s[r]).length > 0 && (h % 2 == 0 ? o = cy(s[r]) : d = cy(s[r]), h > 0 && h % 2 != 0 && pi(this, new je(o, d)), ++h), ++r } catch (w) { throw w = os(w), Et(w, 127) ? (n = w, et(new Bn("The given string does not match the expected format for vectors." + n))) : et(w) }
                            }, l.Ib = function () { var e, n, r; for (e = new jl("("), n = gi(this, 0); n.b != n.d.c;)r = u(di(n), 8), ni(e, r.a + "," + r.b), n.b != n.d.c && (e.a += "; "); return (e.a += ")", e).a }; var eSt = N(zI, "KVectorChain", 74); M(248, 22, { 3: 1, 35: 1, 22: 1, 248: 1 }, YT); var $ht, _G, CG, jO, $O, SG, nSt = Xr(zh, "Alignment", 248, ti, kin, sZe), Gye; M(979, 1, jh, qJ), l.Qe = function (e) { nue(e) }; var rSt, zht, Uye, iSt, sSt, Wye, aSt, Kye, Yye, oSt, cSt, Xye; N(zh, "BoxLayouterOptions", 979), M(980, 1, {}, mZ), l.$e = function () { var e; return e = new _Z, e }, l._e = function (e) { }, N(zh, "BoxLayouterOptions/BoxFactory", 980), M(291, 22, { 3: 1, 35: 1, 22: 1, 291: 1 }, XT); var zO, qht, qO, HO, VO, Hht, Vht = Xr(zh, "ContentAlignment", 291, ti, xin, aZe), Qye; M(684, 1, jh, kp), l.Qe = function (e) { an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, e1e), ""), "Layout Algorithm"), "Select a specific layout algorithm."), (Rg(), T9)), Me), on((n1(), Un))))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, n1e), ""), "Resolved Layout Algorithm"), "Meta data associated with the selected algorithm."), X1), U4n), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Kxt), ""), "Alignment"), "Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."), uSt), ks), nSt), on(fa)))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, px), ""), "Aspect Ratio"), "The desired aspect ratio of the drawing, that is the quotient of width by height."), Uo), ka), on(Un)))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, qkt), ""), "Bend Points"), "A fixed list of bend points for the edge. This is used by the 'Fixed Layout' algorithm to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point, so it must have at least two points."), X1), eSt), on(Bd)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Jq), ""), "Content Alignment"), "Specifies how the content of a node are aligned. Each node can individually control the alignment of its contents. I.e. if a node should be aligned top left in its parent node, the parent node should specify that option."), hSt), Rx), Vht), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, WI), ""), "Debug Mode"), "Whether additional debug information shall be generated."), (Rn(), !1)), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Qxt), ""), D6t), "Overall direction of edges: horizontal (right / left) or vertical (down / up)."), fSt), ks), zS), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, GI), ""), "Edge Routing"), "What kind of edge routing style should be applied for the content of a parent node. Algorithms may also set this option to single edges in order to mark them as splines. The bend point list of edges with this option set to SPLINES must be interpreted as control points for a piecewise cubic spline."), pSt), ks), rft), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, sH), ""), "Expand Nodes"), "If active, nodes are expanded to fill the area of their parent."), !1), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Zq), ""), "Hierarchy Handling"), "Determines whether separate layout runs are triggered for different compound nodes in a hierarchical graph. Setting a node's hierarchy handling to `INCLUDE_CHILDREN` will lay out that node and all of its descendants in a single layout run, until a descendant is encountered which has its hierarchy handling set to `SEPARATE_CHILDREN`. In general, `SEPARATE_CHILDREN` will ensure that a new layout run is triggered for a node with that setting. Including multiple levels of hierarchy in a single layout run may allow cross-hierarchical edges to be laid out properly. If the root node is set to `INHERIT` (or not set at all), the default behavior is `SEPARATE_CHILDREN`."), mSt), ks), iAt), Zi(Un, ct(ot(Xg, 1), se, 175, 0, [fa]))))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, pw), ""), "Padding"), "The padding to be left to a parent element's border when placing child elements. This can also serve as an output option of a layout algorithm if node size calculation is setup appropriately."), LSt), X1), l9t), Zi(Un, ct(ot(Xg, 1), se, 175, 0, [fa]))))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, jI), ""), "Interactive"), "Whether the algorithm should be run in interactive mode for the content of a parent node. What this means exactly depends on how the specific algorithm interprets this option. Usually in the interactive mode algorithms try to modify the current layout as little as possible."), !1), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, rct), ""), "interactive Layout"), "Whether the graph should be changeable interactively and by setting constraints"), !1), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, MC), ""), "Omit Node Micro Layout"), "Node micro layout comprises the computation of node dimensions (if requested), the placement of ports and their labels, and the placement of node labels. The functionality is implemented independent of any specific layout algorithm and shouldn't have any negative impact on the layout algorithm's performance itself. Yet, if any unforeseen behavior occurs, this option allows to deactivate the micro layout."), !1), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, kot), ""), "Port Constraints"), "Defines constraints of the position of the ports of a node."), NSt), ks), oAt), on(fa)))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, tH), ""), "Position"), "The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position."), X1), sa), Zi(fa, ct(ot(Xg, 1), se, 175, 0, [Rb, Yg]))))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, RI), ""), "Priority"), "Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used."), Lc), to), Zi(fa, ct(ot(Xg, 1), se, 175, 0, [Bd]))))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, Nq), ""), "Randomization Seed"), "Seed used for pseudo-random number generators to control the layout algorithm. If the value is 0, the seed shall be determined pseudo-randomly (e.g. from the system time)."), Lc), to), on(Un)))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, LC), ""), "Separate Connected Components"), "Whether each connected component should be processed separately."), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, akt), ""), "Junction Points"), "This option is not used as option, but as output of the layout algorithms. It is attached to edges and determines the points where junction symbols should be drawn in order to represent hyperedges with orthogonal routing. Whether such points are computed depends on the chosen layout algorithm and edge routing style. The points are put into the vector chain with no specific order."), xSt), X1), eSt), on(Bd)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, ukt), ""), "Comment Box"), "Whether the node should be regarded as a comment box instead of a regular node. In that case its placement should be similar to how labels are handled. Any edges incident to a comment box specify to which graph elements the comment is related."), !1), qa), Zs), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, lkt), ""), "Hypernode"), "Whether the node should be handled as a hypernode."), !1), qa), Zs), on(fa)))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, y4n), ""), "Label Manager"), "Label managers can shorten labels upon a layout algorithm's request."), X1), Q4n), Zi(Un, ct(ot(Xg, 1), se, 175, 0, [Yg]))))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, fkt), ""), "Margins"), "Margins define additional space around the actual bounds of a graph element. For instance, ports or labels being placed on the outside of a node's border might introduce such a margin. The margin is used to guarantee non-overlap of other graph elements with those ports or labels."), kSt), X1), u9t), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Uxt), ""), "No Layout"), "No layout is done for the associated element. This is used to mark parts of a diagram to avoid their inclusion in the layout graph, or to mark parts of the layout graph to prevent layout engines from processing them. If you wish to exclude the contents of a compound node from automatic layout, while the node itself is still considered on its own layer, use the 'Fixed Layout' algorithm for that node."), !1), qa), Zs), Zi(fa, ct(ot(Xg, 1), se, 175, 0, [Bd, Rb, Yg]))))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, r1e), ""), "Scale Factor"), "The scaling factor to be applied to the corresponding node in recursive layout. It causes the corresponding node's size to be adjusted, and its ports and labels to be sized and placed accordingly after the layout of that node has been determined (and before the node itself and its siblings are arranged). The scaling is not reverted afterwards, so the resulting layout graph contains the adjusted size and position data. This option is currently not supported if 'Layout Hierarchy' is set."), 1), Uo), ka), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, i1e), ""), "Animate"), "Whether the shift from the old layout to the new computed layout shall be animated."), !0), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, s1e), ""), "Animation Time Factor"), "Factor for computation of animation time. The higher the value, the longer the animation time. If the value is 0, the resulting time is always equal to the minimum defined by 'Minimal Animation Time'."), pe(100)), Lc), to), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, a1e), ""), "Layout Ancestors"), "Whether the hierarchy levels on the path from the selected element to the root of the diagram shall be included in the layout process."), !1), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, o1e), ""), "Maximal Animation Time"), "The maximal time for animations, in milliseconds."), pe(4e3)), Lc), to), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, c1e), ""), "Minimal Animation Time"), "The minimal time for animations, in milliseconds."), pe(400)), Lc), to), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, u1e), ""), "Progress Bar"), "Whether a progress bar shall be displayed during layout computations."), !1), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, l1e), ""), "Validate Graph"), "Whether the graph shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."), !1), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, h1e), ""), "Validate Options"), "Whether layout options shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."), !0), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, f1e), ""), "Zoom to Fit"), "Whether the zoom level shall be set to view the whole diagram after layout."), !1), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, zkt), "box"), "Box Layout Mode"), "Configures the packing mode used by the {@link BoxLayoutProvider}. If SIMPLE is not required (neither priorities are used nor the interactive mode), GROUP_DEC can improve the packing and decrease the area. GROUP_MIXED and GROUP_INC may, in very specific scenarios, work better."), lSt), ks), dAt), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Nxt), V1), "Comment Comment Spacing"), "Spacing to be preserved between a comment box and other comment boxes connected to the same node. The space left between comment boxes of different nodes is controlled by the node-node spacing."), 10), Uo), ka), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Pxt), V1), "Comment Node Spacing"), "Spacing to be preserved between a node and its connected comment boxes. The space left between a node and the comments of another node is controlled by the node-node spacing."), 10), Uo), ka), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, bot), V1), "Components Spacing"), "Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated."), 20), Uo), ka), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Fxt), V1), "Edge Spacing"), "Spacing to be preserved between any two edges. Note that while this can somewhat easily be satisfied for the segments of orthogonally drawn edges, it is harder for general polylines or splines."), 10), Uo), ka), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, xot), V1), "Edge Label Spacing"), "The minimal distance to be preserved between a label and the edge it is associated with. Note that the placement of a label is influenced by the 'edgelabels.placement' option."), 2), Uo), ka), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Bxt), V1), "Edge Node Spacing"), "Spacing to be preserved between nodes and edges."), 10), Uo), ka), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Rxt), V1), "Label Spacing"), "Determines the amount of space to be left between two labels of the same graph element."), 0), Uo), ka), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, zxt), V1), "Label Node Spacing"), "Spacing to be preserved between labels and the border of node they are associated with. Note that the placement of a label is influenced by the 'nodelabels.placement' option."), 5), Uo), ka), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, jxt), V1), "Horizontal spacing between Label and Port"), "Horizontal spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."), 1), Uo), ka), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, $xt), V1), "Vertical spacing between Label and Port"), "Vertical spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."), 1), Uo), ka), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, yy), V1), "Node Spacing"), "The minimal distance to be preserved between each two nodes."), 20), Uo), ka), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, qxt), V1), "Node Self Loop Spacing"), "Spacing to be preserved between a node and its self loops."), 10), Uo), ka), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Hxt), V1), "Port Spacing"), "Spacing between pairs of ports of the same node."), 10), Uo), ka), Zi(Un, ct(ot(Xg, 1), se, 175, 0, [fa]))))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, Vxt), V1), "Individual Spacing"), "Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent."), X1), I3e), Zi(fa, ct(ot(Xg, 1), se, 175, 0, [Bd, Rb, Yg]))))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, dkt), V1), "Additional Port Space"), "Additional space around the sets of ports on each node side. For each side of a node, this option can reserve additional space before and after the ports on each side. For example, a top spacing of 20 makes sure that the first port on the western and eastern side is 20 units away from the northern border."), VSt), X1), u9t), on(Un)))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, nct), p1e), "Layout Partition"), "Partition to which the node belongs. This requires Layout Partitioning to be active. Nodes with lower partition IDs will appear to the left of nodes with higher partition IDs (assuming a left-to-right layout direction)."), Lc), to), Zi(Un, ct(ot(Xg, 1), se, 175, 0, [fa]))))), ya(e, nct, ect, s3e), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, ect), p1e), "Layout Partitioning"), "Whether to activate partitioned layout. This will allow to group nodes through the Layout Partition option. a pair of nodes with different partition indices is then placed such that the node with lower index is placed to the left of the other node (with left-to-right layout direction). Depending on the layout algorithm, this may only be guaranteed to work if all nodes have a layout partition configured, or at least if edges that cross partitions are not part of a partition-crossing cycle."), MSt), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Zxt), b1e), "Node Label Padding"), "Define padding for node labels that are placed inside of a node."), TSt), X1), l9t), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, R7), b1e), "Node Label Placement"), "Hints for where node labels are to be placed; if empty, the node label's position is not modified."), _St), Rx), _o), Zi(fa, ct(ot(Xg, 1), se, 175, 0, [Yg]))))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, ekt), oH), "Port Alignment"), "Defines the default port distribution for a node. May be overridden for each side individually."), ISt), ks), GS), on(fa)))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, nkt), oH), "Port Alignment (North)"), "Defines how ports on the northern side are placed, overriding the node's general port alignment."), ks), GS), on(fa)))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, rkt), oH), "Port Alignment (South)"), "Defines how ports on the southern side are placed, overriding the node's general port alignment."), ks), GS), on(fa)))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, ikt), oH), "Port Alignment (West)"), "Defines how ports on the western side are placed, overriding the node's general port alignment."), ks), GS), on(fa)))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, skt), oH), "Port Alignment (East)"), "Defines how ports on the eastern side are placed, overriding the node's general port alignment."), ks), GS), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, L4), kct), "Node Size Constraints"), "What should be taken into account when calculating a node's size. Empty size constraints specify that a node's size is already fixed and should not be changed."), CSt), Rx), KS), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, bx), kct), "Node Size Options"), "Options modifying the behavior of the size constraints set on a node. Each member of the set specifies something that should be taken into account when calculating node sizes. The empty set corresponds to no further modifications."), ASt), Rx), uAt), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, vx), kct), "Node Size Minimum"), "The minimal size to which a node can be reduced."), SSt), X1), sa), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, tct), kct), "Fixed Graph Size"), "By default, the fixed layout provider will enlarge a graph until it is large enough to contain its children. If this option is set, it won't do so."), !1), qa), Zs), on(Un)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, okt), Jot), "Edge Label Placement"), "Gives a hint on where to put edge labels."), dSt), ks), USt), on(Yg)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Pq), Jot), "Inline Edge Labels"), "If true, an edge label is placed directly on its edge. May only apply to center edge labels. This kind of label placement is only advisable if the label's rendering is such that it is not crossed by its edge and thus stays legible."), !1), qa), Zs), on(Yg)))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, x4n), "font"), "Font Name"), "Font name used for a label."), T9), Me), on(Yg)))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, d1e), "font"), "Font Size"), "Font size used for a label."), Lc), to), on(Yg)))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, hkt), Ect), "Port Anchor Offset"), "The offset to the port position where connections shall be attached."), X1), sa), on(Rb)))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, ckt), Ect), "Port Index"), "The index of a port in the fixed order around a node. The order is assumed as clockwise, starting with the leftmost port on the top side. This option must be set if 'Port Constraints' is set to FIXED_ORDER and no specific positions are given for the ports. Additionally, the option 'Port Side' must be defined in this case."), Lc), to), on(Rb)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Wxt), Ect), "Port Side"), "The side of a node on which a port is situated. This option must be set if 'Port Constraints' is set to FIXED_SIDE or FIXED_ORDER and no specific positions are given for the ports."), BSt), ks), co), on(Rb)))), an(e, new Xe(rn(nn(sn(Ze(en(Je(tn(new Ve, Gxt), Ect), "Port Border Offset"), "The offset of ports on the node border. With a positive offset the port is moved outside of the node, while with a negative offset the port is moved towards the inside. An offset of 0 means that the port is placed directly on the node border, i.e. if the port side is north, the port's south border touches the nodes's north border; if the port side is east, the port's west border touches the nodes's east border; if the port side is south, the port's north border touches the node's south border; if the port side is west, the port's east border touches the node's west border."), Uo), ka), on(Rb)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, j7), Hkt), "Port Label Placement"), "Decides on a placement method for port labels; if empty, the node label's position is not modified."), PSt), Rx), PG), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Jxt), Hkt), "Port Labels Next to Port"), "Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE."), !1), qa), Zs), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, tkt), Hkt), "Treat Port Labels as Group"), "If this option is true (default), the labels of a port will be treated as a group when it comes to centering them next to their port. If this option is false, only the first label will be centered next to the port, with the others being placed below. This only applies to labels of eastern and western ports and will have no effect if labels are not placed next to their port."), !0), qa), Zs), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Yxt), v1e), "Activate Inside Self Loops"), "Whether this node allows to route self loops inside of it instead of around it. If set to true, this will make the node a compound node if it isn't already, and will require the layout algorithm to support compound nodes with hierarchical ports."), !1), qa), Zs), on(fa)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, Xxt), v1e), "Inside Self Loop"), "Whether a self loop should be routed inside a node instead of around that node."), !1), qa), Zs), on(Bd)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, vot), "edge"), "Edge Thickness"), "The thickness of an edge. This is a hint on the line width used to draw an edge, possibly requiring more space to be reserved for it."), 1), Uo), ka), on(Bd)))), an(e, new Xe(rn(nn(sn(yn(Ze(en(Je(tn(new Ve, g1e), "edge"), "Edge Type"), "The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations."), vSt), ks), ZSt), on(Bd)))), RT(e, new $6(IT(Jk(Zk(new bm, Xn), "Layered"), 'The layer-based method was introduced by Sugiyama, Tagawa and Toda in 1981. It emphasizes the direction of edges by pointing as many edges as possible into the same direction. The nodes are arranged in layers, which are sometimes called "hierarchies", and then reordered such that the number of edge crossings is minimized. Afterwards, concrete coordinates are computed for the nodes and edge bend points.'))), RT(e, new $6(IT(Jk(Zk(new bm, "org.eclipse.elk.orthogonal"), "Orthogonal"), `Orthogonal methods that follow the "topology-shape-metrics" approach by Batini, Nardelli and Tamassia '86. The first phase determines the topology of the drawing by applying a planarization technique, which results in a planar representation of the graph. The orthogonal shape is computed in the second phase, which aims at minimizing the number of edge bends, and is called orthogonalization. The third phase leads to concrete coordinates for nodes and edge bend points by applying a compaction method, thus defining the metrics.`))), RT(e, new $6(IT(Jk(Zk(new bm, Xl), "Force"), "Layout algorithms that follow physical analogies by simulating a system of attractive and repulsive forces. The first successful method of this kind was proposed by Eades in 1984."))), RT(e, new $6(IT(Jk(Zk(new bm, "org.eclipse.elk.circle"), "Circle"), "Circular layout algorithms emphasize cycles or biconnected components of a graph by arranging them in circles. This is useful if a drawing is desired where such components are clearly grouped, or where cycles are shown as prominent OPTIONS of the graph."))), RT(e, new $6(IT(Jk(Zk(new bm, zfe), "Tree"), "Specialized layout methods for trees, i.e. acyclic graphs. The regular structure of graphs that have no undirected cycles can be emphasized using an algorithm of this type."))), RT(e, new $6(IT(Jk(Zk(new bm, "org.eclipse.elk.planar"), "Planar"), "Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable."))), RT(e, new $6(IT(Jk(Zk(new bm, Md), "Radial"), "Radial layout algorithms usually position the nodes of the graph on concentric circles."))), zce((new DB, e)), nue((new qJ, e)), vce((new IB, e)) }; var jS, Zye, uSt, jx, Jye, t3e, lSt, e3e, AG, hSt, GO, Fw, fSt, Ght, Uht, dSt, gSt, pSt, bSt, vSt, wSt, r5, mSt, n3e, UO, Wht, LG, ySt, i5, xSt, WO, kSt, ESt, TSt, s5, _St, jb, CSt, MG, a5, SSt, m2, ASt, DG, KO, $b, LSt, r3e, MSt, i3e, s3e, DSt, ISt, Kht, Yht, Xht, Qht, OSt, kl, $S, NSt, Zht, Jht, Uy, PSt, FSt, o5, BSt, $x, IG, tft, _9, a3e, eft, o3e, c3e, RSt, u3e, jSt, l3e, zx, $St, OG, zSt, qSt, zb, h3e, HSt, VSt, GSt; N(zh, "CoreOptions", 684), M(103, 22, { 3: 1, 35: 1, 22: 1, 103: 1 }, AM); var X0, Wh, Af, h0, Q0, zS = Xr(zh, D6t, 103, ti, Vrn, uZe), f3e; M(272, 22, { 3: 1, 35: 1, 22: 1, 272: 1 }, Let); var C9, Wy, S9, USt = Xr(zh, "EdgeLabelPlacement", 272, ti, Tnn, lZe), d3e; M(218, 22, { 3: 1, 35: 1, 22: 1, 218: 1 }, jR); var A9, YO, qx, nft, rft = Xr(zh, "EdgeRouting", 218, ti, brn, hZe), g3e; M(312, 22, { 3: 1, 35: 1, 22: 1, 312: 1 }, QT); var WSt, KSt, YSt, XSt, ift, QSt, ZSt = Xr(zh, "EdgeType", 312, ti, Min, fZe), p3e; M(977, 1, jh, DB), l.Qe = function (e) { zce(e) }; var JSt, tAt, eAt, nAt, b3e, rAt, qS; N(zh, "FixedLayouterOptions", 977), M(978, 1, {}, FL), l.$e = function () { var e; return e = new EZ, e }, l._e = function (e) { }, N(zh, "FixedLayouterOptions/FixedFactory", 978), M(334, 22, { 3: 1, 35: 1, 22: 1, 334: 1 }, Met); var Qg, NG, HS, iAt = Xr(zh, "HierarchyHandling", 334, ti, Enn, dZe), v3e; M(285, 22, { 3: 1, 35: 1, 22: 1, 285: 1 }, $R); var f0, y2, XO, QO, w3e = Xr(zh, "LabelSide", 285, ti, prn, gZe), m3e; M(93, 22, { 3: 1, 35: 1, 22: 1, 93: 1 }, $3); var Z0, Lf, Kh, Mf, th, Df, Yh, d0, If, _o = Xr(zh, "NodeLabelPlacement", 93, ti, Osn, pZe), y3e; M(249, 22, { 3: 1, 35: 1, 22: 1, 249: 1 }, LM); var sAt, VS, x2, aAt, ZO, GS = Xr(zh, "PortAlignment", 249, ti, Grn, bZe), x3e; M(98, 22, { 3: 1, 35: 1, 22: 1, 98: 1 }, ZT); var qb, eu, g0, L9, Q1, k2, oAt = Xr(zh, "PortConstraints", 98, ti, din, vZe), k3e; M(273, 22, { 3: 1, 35: 1, 22: 1, 273: 1 }, JT); var US, WS, J0, JO, E2, Hx, PG = Xr(zh, "PortLabelPlacement", 273, ti, Lin, wZe), E3e; M(61, 22, { 3: 1, 35: 1, 22: 1, 61: 1 }, MM); var Wn, Fn, _h, Ch, Fu, vu, Z1, Of, hl, Ju, nu, fl, Bu, Ru, Nf, eh, nh, Xh, Lr, fc, jn, co = Xr(zh, "PortSide", 61, ti, zrn, xZe), T3e; M(981, 1, jh, IB), l.Qe = function (e) { vce(e) }; var _3e, C3e, cAt, S3e, A3e; N(zh, "RandomLayouterOptions", 981), M(982, 1, {}, LZ), l.$e = function () { var e; return e = new DZ, e }, l._e = function (e) { }, N(zh, "RandomLayouterOptions/RandomFactory", 982), M(374, 22, { 3: 1, 35: 1, 22: 1, 374: 1 }, zR); var Ky, tN, eN, Hb, KS = Xr(zh, "SizeConstraint", 374, ti, grn, mZe), L3e; M(259, 22, { 3: 1, 35: 1, 22: 1, 259: 1 }, z3); var nN, FG, M9, sft, rN, YS, BG, RG, jG, uAt = Xr(zh, "SizeOptions", 259, ti, $sn, yZe), M3e; M(370, 1, { 1949: 1 }, Yk), l.b = !1, l.c = 0, l.d = -1, l.e = null, l.f = null, l.g = -1, l.j = !1, l.k = !1, l.n = !1, l.o = 0, l.q = 0, l.r = 0, N(Fc, "BasicProgressMonitor", 370), M(972, 209, xb, _Z), l.Ze = function (e, n) { var r, s, o, h, d, w, k, _, L; switch (Ar(n, "Box layout", 2), o = uM(xe(ze(e, (Uz(), Xye)))), h = u(ze(e, Yye), 116), r = Re(Be(ze(e, iSt))), s = Re(Be(ze(e, sSt))), u(ze(e, zht), 311).g) { case 0: d = (w = new Uu((!e.a && (e.a = new he(bs, e, 10, 11)), e.a)), pn(), ua(w, new Jjt(s)), w), k = T4t(e), _ = xe(ze(e, rSt)), (_ == null || (Pn(_), _ <= 0)) && (_ = 1.3), L = _3n(d, o, h, k.a, k.b, r, (Pn(_), _)), hw(e, L.a, L.b, !1, !0); break; default: xmn(e, o, h, r) }br(n) }, N(Fc, "BoxLayoutProvider", 972), M(973, 1, Ui, Jjt), l.ue = function (e, n) { return Hpn(this, u(e, 33), u(n, 33)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, l.a = !1, N(Fc, "BoxLayoutProvider/1", 973), M(157, 1, { 157: 1 }, B$, xUt), l.Ib = function () { return this.c ? E5t(this.c) : Jp(this.b) }, N(Fc, "BoxLayoutProvider/Group", 157), M(311, 22, { 3: 1, 35: 1, 22: 1, 311: 1 }, qR); var lAt, hAt, fAt, aft, dAt = Xr(Fc, "BoxLayoutProvider/PackingMode", 311, ti, vrn, kZe), D3e; M(974, 1, Ui, CZ), l.ue = function (e, n) { return Utn(u(e, 157), u(n, 157)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Fc, "BoxLayoutProvider/lambda$0$Type", 974), M(975, 1, Ui, jF), l.ue = function (e, n) { return jtn(u(e, 157), u(n, 157)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Fc, "BoxLayoutProvider/lambda$1$Type", 975), M(976, 1, Ui, SZ), l.ue = function (e, n) { return $tn(u(e, 157), u(n, 157)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(Fc, "BoxLayoutProvider/lambda$2$Type", 976), M(1365, 1, { 831: 1 }, AZ), l.qg = function (e, n) { return ER(), !Et(n, 160) || Dqt((X6(), u(e, 160)), n) }, N(Fc, "ElkSpacings/AbstractSpacingsBuilder/lambda$0$Type", 1365), M(1366, 1, Qn, t$t), l.td = function (e) { Mon(this.a, u(e, 146)) }, N(Fc, "ElkSpacings/AbstractSpacingsBuilder/lambda$1$Type", 1366), M(1367, 1, Qn, TZ), l.td = function (e) { u(e, 94), ER() }, N(Fc, "ElkSpacings/AbstractSpacingsBuilder/lambda$2$Type", 1367), M(1371, 1, Qn, e$t), l.td = function (e) { ean(this.a, u(e, 94)) }, N(Fc, "ElkSpacings/AbstractSpacingsBuilder/lambda$3$Type", 1371), M(1369, 1, _i, vVt), l.Mb = function (e) { return bon(this.a, this.b, u(e, 146)) }, N(Fc, "ElkSpacings/AbstractSpacingsBuilder/lambda$4$Type", 1369), M(1368, 1, _i, wVt), l.Mb = function (e) { return OYe(this.a, this.b, u(e, 831)) }, N(Fc, "ElkSpacings/AbstractSpacingsBuilder/lambda$5$Type", 1368), M(1370, 1, Qn, mVt), l.td = function (e) { OJe(this.a, this.b, u(e, 146)) }, N(Fc, "ElkSpacings/AbstractSpacingsBuilder/lambda$6$Type", 1370), M(935, 1, {}, kZ), l.Kb = function (e) { return mGt(e) }, l.Fb = function (e) { return this === e }, N(Fc, "ElkUtil/lambda$0$Type", 935), M(936, 1, Qn, yVt), l.td = function (e) { G0n(this.a, this.b, u(e, 79)) }, l.a = 0, l.b = 0, N(Fc, "ElkUtil/lambda$1$Type", 936), M(937, 1, Qn, xVt), l.td = function (e) { GUe(this.a, this.b, u(e, 202)) }, l.a = 0, l.b = 0, N(Fc, "ElkUtil/lambda$2$Type", 937), M(938, 1, Qn, kVt), l.td = function (e) { FKe(this.a, this.b, u(e, 137)) }, l.a = 0, l.b = 0, N(Fc, "ElkUtil/lambda$3$Type", 938), M(939, 1, Qn, n$t), l.td = function (e) { YZe(this.a, u(e, 469)) }, N(Fc, "ElkUtil/lambda$4$Type", 939), M(342, 1, { 35: 1, 342: 1 }, xUe), l.wd = function (e) { return lYe(this, u(e, 236)) }, l.Fb = function (e) { var n; return Et(e, 342) ? (n = u(e, 342), this.a == n.a) : !1 }, l.Hb = function () { return Ms(this.a) }, l.Ib = function () { return this.a + " (exclusive)" }, l.a = 0, N(Fc, "ExclusiveBounds/ExclusiveLowerBound", 342), M(1138, 209, xb, EZ), l.Ze = function (e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt, Ct, Pt, Yt, ce, Se, Ge, Qe; for (Ar(n, "Fixed Layout", 1), h = u(ze(e, (Ti(), gSt)), 218), F = 0, q = 0, Ct = new lr((!e.a && (e.a = new he(bs, e, 10, 11)), e.a)); Ct.e != Ct.i.gc();) { for (bt = u(kr(Ct), 33), Qe = u(ze(bt, (oz(), qS)), 8), Qe && (S1(bt, Qe.a, Qe.b), u(ze(bt, tAt), 174).Hc((Fl(), Ky)) && (G = u(ze(bt, nAt), 8), G.a > 0 && G.b > 0 && hw(bt, G.a, G.b, !0, !0))), F = b.Math.max(F, bt.i + bt.g), q = b.Math.max(q, bt.j + bt.f), _ = new lr((!bt.n && (bt.n = new he(ec, bt, 1, 7)), bt.n)); _.e != _.i.gc();)w = u(kr(_), 137), Qe = u(ze(w, qS), 8), Qe && S1(w, Qe.a, Qe.b), F = b.Math.max(F, bt.i + w.i + w.g), q = b.Math.max(q, bt.j + w.j + w.f); for (ce = new lr((!bt.c && (bt.c = new he(El, bt, 9, 9)), bt.c)); ce.e != ce.i.gc();)for (Yt = u(kr(ce), 118), Qe = u(ze(Yt, qS), 8), Qe && S1(Yt, Qe.a, Qe.b), Se = bt.i + Yt.i, Ge = bt.j + Yt.j, F = b.Math.max(F, Se + Yt.g), q = b.Math.max(q, Ge + Yt.f), k = new lr((!Yt.n && (Yt.n = new he(ec, Yt, 1, 7)), Yt.n)); k.e != k.i.gc();)w = u(kr(k), 137), Qe = u(ze(w, qS), 8), Qe && S1(w, Qe.a, Qe.b), F = b.Math.max(F, Se + w.i + w.g), q = b.Math.max(q, Ge + w.j + w.f); for (o = new pr(mr(H0(bt).a.Kc(), new H)); Zr(o);)r = u(qr(o), 79), L = Ile(r), F = b.Math.max(F, L.a), q = b.Math.max(q, L.b); for (s = new pr(mr(hI(bt).a.Kc(), new H)); Zr(s);)r = u(qr(s), 79), gs(e0(r)) != e && (L = Ile(r), F = b.Math.max(F, L.a), q = b.Math.max(q, L.b)) } if (h == (z0(), A9)) for (Lt = new lr((!e.a && (e.a = new he(bs, e, 10, 11)), e.a)); Lt.e != Lt.i.gc();)for (bt = u(kr(Lt), 33), s = new pr(mr(H0(bt).a.Kc(), new H)); Zr(s);)r = u(qr(s), 79), d = qvn(r), d.b == 0 ? Mo(r, i5, null) : Mo(r, i5, d); Re(Be(ze(e, (oz(), eAt)))) || (Pt = u(ze(e, b3e), 116), Z = F + Pt.b + Pt.c, W = q + Pt.d + Pt.a, hw(e, Z, W, !0, !0)), br(n) }, N(Fc, "FixedLayoutProvider", 1138), M(373, 134, { 3: 1, 414: 1, 373: 1, 94: 1, 134: 1 }, il, YJt), l.Jf = function (e) { var n, r, s, o, h, d, w, k, _; if (e) try { for (k = dy(e, ";,;"), h = k, d = 0, w = h.length; d < w; ++d) { if (o = h[d], r = dy(o, "\\:"), s = X5t(z8(), r[0]), !s) throw et(new Bn("Invalid option id: " + r[0])); if (_ = K5t(s, r[1]), _ == null) throw et(new Bn("Invalid option value: " + r[1])); _ == null ? (!this.q && (this.q = new Rr), G6(this.q, s)) : (!this.q && (this.q = new Rr), Pi(this.q, s, _)) } } catch (L) { throw L = os(L), Et(L, 102) ? (n = L, et(new Sne(n))) : et(L) } }, l.Ib = function () { var e; return e = Kr(Hl(Cu((this.q ? this.q : (pn(), pn(), u0)).vc().Oc(), new zu), Wm(new RWt, new Nr, new jt, new Ke, ct(ot(xl, 1), se, 132, 0, [])))), e }; var I3e = N(Fc, "IndividualSpacings", 373); M(971, 1, {}, zu), l.Kb = function (e) { return Wtn(u(e, 42)) }, N(Fc, "IndividualSpacings/lambda$0$Type", 971), M(709, 1, {}, bKt), l.c = 0, N(Fc, "InstancePool", 709), M(1275, 1, {}, MZ), N(Fc, "LoggedGraph", 1275), M(396, 22, { 3: 1, 35: 1, 22: 1, 396: 1 }, HR); var gAt, rh, pAt, bAt, O3e = Xr(Fc, "LoggedGraph/Type", 396, ti, wrn, EZe), N3e; M(46, 1, { 20: 1, 46: 1 }, _a), l.Jc = function (e) { Oa(this, e) }, l.Fb = function (e) { var n, r, s; return Et(e, 46) ? (r = u(e, 46), n = this.a == null ? r.a == null : Ni(this.a, r.a), s = this.b == null ? r.b == null : Ni(this.b, r.b), n && s) : !1 }, l.Hb = function () { var e, n, r, s, o, h; return r = this.a == null ? 0 : ns(this.a), e = r & Ns, n = r & -65536, h = this.b == null ? 0 : ns(this.b), s = h & Ns, o = h & -65536, e ^ o >> 16 & Ns | n ^ s << 16 }, l.Kc = function () { return new r$t(this) }, l.Ib = function () { return this.a == null && this.b == null ? "pair(null,null)" : this.a == null ? "pair(null," + Jo(this.b) + ")" : this.b == null ? "pair(" + Jo(this.a) + ",null)" : "pair(" + Jo(this.a) + "," + Jo(this.b) + ")" }, N(Fc, "Pair", 46), M(983, 1, va, r$t), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return !this.c && (!this.b && this.a.a != null || this.a.b != null) }, l.Pb = function () { if (!this.c && !this.b && this.a.a != null) return this.b = !0, this.a.a; if (!this.c && this.a.b != null) return this.c = !0, this.a.b; throw et(new _c) }, l.Qb = function () { throw this.c && this.a.b != null ? this.a.b = null : this.b && this.a.a != null && (this.a.a = null), et(new qu) }, l.b = !1, l.c = !1, N(Fc, "Pair/1", 983), M(448, 1, { 448: 1 }, OYt), l.Fb = function (e) { return Gc(this.a, u(e, 448).a) && Gc(this.c, u(e, 448).c) && Gc(this.d, u(e, 448).d) && Gc(this.b, u(e, 448).b) }, l.Hb = function () { return cz(ct(ot(nr, 1), De, 1, 5, [this.a, this.c, this.d, this.b])) }, l.Ib = function () { return "(" + this.a + ao + this.c + ao + this.d + ao + this.b + ")" }, N(Fc, "Quadruple", 448), M(1126, 209, xb, DZ), l.Ze = function (e, n) { var r, s, o, h, d; if (Ar(n, "Random Layout", 1), (!e.a && (e.a = new he(bs, e, 10, 11)), e.a).i == 0) { br(n); return } h = u(ze(e, (t3t(), S3e)), 19), h && h.a != 0 ? o = new p$(h.a) : o = new Lit, r = uM(xe(ze(e, _3e))), d = uM(xe(ze(e, A3e))), s = u(ze(e, C3e), 116), n3n(e, o, r, d, s), br(n) }, N(Fc, "RandomLayoutProvider", 1126); var P3e; M(553, 1, {}), l.qf = function () { return new je(this.f.i, this.f.j) }, l.We = function (e) { return sXt(e, (Ti(), kl)) ? ze(this.f, F3e) : ze(this.f, e) }, l.rf = function () { return new je(this.f.g, this.f.f) }, l.sf = function () { return this.g }, l.Xe = function (e) { return eb(this.f, e) }, l.tf = function (e) { Du(this.f, e.a), Iu(this.f, e.b) }, l.uf = function (e) { Kv(this.f, e.a), Wv(this.f, e.b) }, l.vf = function (e) { this.g = e }, l.g = 0; var F3e; N($C, "ElkGraphAdapters/AbstractElkGraphElementAdapter", 553), M(554, 1, { 839: 1 }, QB), l.wf = function () { var e, n; if (!this.b) for (this.b = h$(Hj(this.a).i), n = new lr(Hj(this.a)); n.e != n.i.gc();)e = u(kr(n), 137), ue(this.b, new Vtt(e)); return this.b }, l.b = null, N($C, "ElkGraphAdapters/ElkEdgeAdapter", 554), M(301, 553, {}, _m), l.xf = function () { return Oie(this) }, l.a = null, N($C, "ElkGraphAdapters/ElkGraphAdapter", 301), M(630, 553, { 181: 1 }, Vtt), N($C, "ElkGraphAdapters/ElkLabelAdapter", 630), M(629, 553, { 680: 1 }, Get), l.wf = function () { return ihn(this) }, l.Af = function () { var e; return e = u(ze(this.f, (Ti(), WO)), 142), !e && (e = new TT), e }, l.Cf = function () { return shn(this) }, l.Ef = function (e) { var n; n = new ant(e), Mo(this.f, (Ti(), WO), n) }, l.Ff = function (e) { Mo(this.f, (Ti(), $b), new Ybt(e)) }, l.yf = function () { return this.d }, l.zf = function () { var e, n; if (!this.a) for (this.a = new le, n = new pr(mr(hI(u(this.f, 33)).a.Kc(), new H)); Zr(n);)e = u(qr(n), 79), ue(this.a, new QB(e)); return this.a }, l.Bf = function () { var e, n; if (!this.c) for (this.c = new le, n = new pr(mr(H0(u(this.f, 33)).a.Kc(), new H)); Zr(n);)e = u(qr(n), 79), ue(this.c, new QB(e)); return this.c }, l.Df = function () { return Yj(u(this.f, 33)).i != 0 || Re(Be(u(this.f, 33).We((Ti(), UO)))) }, l.Gf = function () { Yin(this, (Lm(), P3e)) }, l.a = null, l.b = null, l.c = null, l.d = null, l.e = null, N($C, "ElkGraphAdapters/ElkNodeAdapter", 629), M(1266, 553, { 838: 1 }, I$t), l.wf = function () { return dhn(this) }, l.zf = function () { var e, n; if (!this.a) for (this.a = Ud(u(this.f, 118).xg().i), n = new lr(u(this.f, 118).xg()); n.e != n.i.gc();)e = u(kr(n), 79), ue(this.a, new QB(e)); return this.a }, l.Bf = function () { var e, n; if (!this.c) for (this.c = Ud(u(this.f, 118).yg().i), n = new lr(u(this.f, 118).yg()); n.e != n.i.gc();)e = u(kr(n), 79), ue(this.c, new QB(e)); return this.c }, l.Hf = function () { return u(u(this.f, 118).We((Ti(), o5)), 61) }, l.If = function () { var e, n, r, s, o, h, d, w; for (s = M1(u(this.f, 118)), r = new lr(u(this.f, 118).yg()); r.e != r.i.gc();)for (e = u(kr(r), 79), w = new lr((!e.c && (e.c = new Tn(Cr, e, 5, 8)), e.c)); w.e != w.i.gc();) { if (d = u(kr(w), 82), Xm(Vo(d), s)) return !0; if (Vo(d) == s && Re(Be(ze(e, (Ti(), Wht))))) return !0 } for (n = new lr(u(this.f, 118).xg()); n.e != n.i.gc();)for (e = u(kr(n), 79), h = new lr((!e.b && (e.b = new Tn(Cr, e, 4, 7)), e.b)); h.e != h.i.gc();)if (o = u(kr(h), 82), Xm(Vo(o), s)) return !0; return !1 }, l.a = null, l.b = null, l.c = null, N($C, "ElkGraphAdapters/ElkPortAdapter", 1266), M(1267, 1, Ui, IZ), l.ue = function (e, n) { return Pbn(u(e, 118), u(n, 118)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N($C, "ElkGraphAdapters/PortComparator", 1267); var T2 = ls(xh, "EObject"), D9 = ls(O4, y1e), Qh = ls(O4, x1e), iN = ls(O4, k1e), sN = ls(O4, "ElkShape"), Cr = ls(O4, E1e), aa = ls(O4, Vkt), fs = ls(O4, T1e), aN = ls(xh, _1e), XS = ls(xh, "EFactory"), B3e, oft = ls(xh, C1e), u1 = ls(xh, "EPackage"), da, R3e, j3e, vAt, $G, $3e, wAt, mAt, yAt, _2, z3e, q3e, ec = ls(O4, Gkt), bs = ls(O4, Ukt), El = ls(O4, Wkt); M(90, 1, S1e), l.Jg = function () { return this.Kg(), null }, l.Kg = function () { return null }, l.Lg = function () { return this.Kg(), !1 }, l.Mg = function () { return !1 }, l.Ng = function (e) { Oi(this, e) }, N(xx, "BasicNotifierImpl", 90), M(97, 90, D1e), l.nh = function () { return Ll(this) }, l.Og = function (e, n) { return e }, l.Pg = function () { throw et(new Gr) }, l.Qg = function (e) { var n; return n = bo(u(wn(this.Tg(), this.Vg()), 18)), this.eh().ih(this, n.n, n.f, e) }, l.Rg = function (e, n) { throw et(new Gr) }, l.Sg = function (e, n, r) { return Yl(this, e, n, r) }, l.Tg = function () { var e; return this.Pg() && (e = this.Pg().ck(), e) ? e : this.zh() }, l.Ug = function () { return Ist(this) }, l.Vg = function () { throw et(new Gr) }, l.Wg = function () { var e, n; return n = this.ph().dk(), !n && this.Pg().ik(n = (jT(), e = fwt(xd(this.Tg())), e == null ? pft : new OM(this, e))), n }, l.Xg = function (e, n) { return e }, l.Yg = function (e) { var n; return n = e.Gj(), n ? e.aj() : is(this.Tg(), e) }, l.Zg = function () { var e; return e = this.Pg(), e ? e.fk() : null }, l.$g = function () { return this.Pg() ? this.Pg().ck() : null }, l._g = function (e, n, r) { return Mz(this, e, n, r) }, l.ah = function (e) { return D8(this, e) }, l.bh = function (e, n) { return Ert(this, e, n) }, l.dh = function () { var e; return e = this.Pg(), !!e && e.gk() }, l.eh = function () { throw et(new Gr) }, l.fh = function () { return Ez(this) }, l.gh = function (e, n, r, s) { return tx(this, e, n, s) }, l.hh = function (e, n, r) { var s; return s = u(wn(this.Tg(), n), 66), s.Nj().Qj(this, this.yh(), n - this.Ah(), e, r) }, l.ih = function (e, n, r, s) { return Jj(this, e, n, s) }, l.jh = function (e, n, r) { var s; return s = u(wn(this.Tg(), n), 66), s.Nj().Rj(this, this.yh(), n - this.Ah(), e, r) }, l.kh = function () { return !!this.Pg() && !!this.Pg().ek() }, l.lh = function (e) { return Hit(this, e) }, l.mh = function (e) { return kXt(this, e) }, l.oh = function (e) { return Wue(this, e) }, l.ph = function () { throw et(new Gr) }, l.qh = function () { return this.Pg() ? this.Pg().ek() : null }, l.rh = function () { return Ez(this) }, l.sh = function (e, n) { Sst(this, e, n) }, l.th = function (e) { this.ph().hk(e) }, l.uh = function (e) { this.ph().kk(e) }, l.vh = function (e) { this.ph().jk(e) }, l.wh = function (e, n) { var r, s, o, h; return h = this.Zg(), h && e && (n = Za(h.Vk(), this, n), h.Zk(this)), s = this.eh(), s && (Kst(this, this.eh(), this.Vg()).Bb & oo ? (o = s.fh(), o && (e ? !h && o.Zk(this) : o.Yk(this))) : (n = (r = this.Vg(), r >= 0 ? this.Qg(n) : this.eh().ih(this, -1 - r, null, n)), n = this.Sg(null, -1, n))), this.uh(e), n }, l.xh = function (e) { var n, r, s, o, h, d, w, k; if (r = this.Tg(), h = is(r, e), n = this.Ah(), h >= n) return u(e, 66).Nj().Uj(this, this.yh(), h - n); if (h <= -1) if (d = E4((Yu(), Pa), r, e), d) { if (go(), u(d, 66).Oj() || (d = z6(Bo(Pa, d))), o = (s = this.Yg(d), u(s >= 0 ? this._g(s, !0, !0) : ow(this, d, !0), 153)), k = d.Zj(), k > 1 || k == -1) return u(u(o, 215).hl(e, !1), 76) } else throw et(new Bn(c2 + e.ne() + Tct)); else if (e.$j()) return s = this.Yg(e), u(s >= 0 ? this._g(s, !1, !0) : ow(this, e, !1), 76); return w = new qVt(this, e), w }, l.yh = function () { return dmt(this) }, l.zh = function () { return (zp(), Ln).S }, l.Ah = function () { return ar(this.zh()) }, l.Bh = function (e) { kst(this, e) }, l.Ib = function () { return kf(this) }, N(Mn, "BasicEObjectImpl", 97); var H3e; M(114, 97, { 105: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1 }), l.Ch = function (e) { var n; return n = gmt(this), n[e] }, l.Dh = function (e, n) { var r; r = gmt(this), ds(r, e, n) }, l.Eh = function (e) { var n; n = gmt(this), ds(n, e, null) }, l.Jg = function () { return u(Dn(this, 4), 126) }, l.Kg = function () { throw et(new Gr) }, l.Lg = function () { return (this.Db & 4) != 0 }, l.Pg = function () { throw et(new Gr) }, l.Fh = function (e) { J6(this, 2, e) }, l.Rg = function (e, n) { this.Db = n << 16 | this.Db & 255, this.Fh(e) }, l.Tg = function () { return Su(this) }, l.Vg = function () { return this.Db >> 16 }, l.Wg = function () { var e, n; return jT(), n = fwt(xd((e = u(Dn(this, 16), 26), e || this.zh()))), n == null ? pft : new OM(this, n) }, l.Mg = function () { return (this.Db & 1) == 0 }, l.Zg = function () { return u(Dn(this, 128), 1935) }, l.$g = function () { return u(Dn(this, 16), 26) }, l.dh = function () { return (this.Db & 32) != 0 }, l.eh = function () { return u(Dn(this, 2), 49) }, l.kh = function () { return (this.Db & 64) != 0 }, l.ph = function () { throw et(new Gr) }, l.qh = function () { return u(Dn(this, 64), 281) }, l.th = function (e) { J6(this, 16, e) }, l.uh = function (e) { J6(this, 128, e) }, l.vh = function (e) { J6(this, 64, e) }, l.yh = function () { return fu(this) }, l.Db = 0, N(Mn, "MinimalEObjectImpl", 114), M(115, 114, { 105: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 }), l.Fh = function (e) { this.Cb = e }, l.eh = function () { return this.Cb }, N(Mn, "MinimalEObjectImpl/Container", 115), M(1985, 115, { 105: 1, 413: 1, 94: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 }), l._g = function (e, n, r) { return _3t(this, e, n, r) }, l.jh = function (e, n, r) { return d4t(this, e, n, r) }, l.lh = function (e) { return Twt(this, e) }, l.sh = function (e, n) { lyt(this, e, n) }, l.zh = function () { return ou(), q3e }, l.Bh = function (e) { Jmt(this, e) }, l.Ve = function () { return tie(this) }, l.We = function (e) { return ze(this, e) }, l.Xe = function (e) { return eb(this, e) }, l.Ye = function (e, n) { return Mo(this, e, n) }, N(Tb, "EMapPropertyHolderImpl", 1985), M(567, 115, { 105: 1, 469: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 }, mp), l._g = function (e, n, r) { switch (e) { case 0: return this.a; case 1: return this.b }return Mz(this, e, n, r) }, l.lh = function (e) { switch (e) { case 0: return this.a != 0; case 1: return this.b != 0 }return Hit(this, e) }, l.sh = function (e, n) { switch (e) { case 0: R$(this, Xt(xe(n))); return; case 1: j$(this, Xt(xe(n))); return }Sst(this, e, n) }, l.zh = function () { return ou(), R3e }, l.Bh = function (e) { switch (e) { case 0: R$(this, 0); return; case 1: j$(this, 0); return }kst(this, e) }, l.Ib = function () { var e; return this.Db & 64 ? kf(this) : (e = new Ih(kf(this)), e.a += " (x: ", R3(e, this.a), e.a += ", y: ", R3(e, this.b), e.a += ")", e.a) }, l.a = 0, l.b = 0, N(Tb, "ElkBendPointImpl", 567), M(723, 1985, { 105: 1, 413: 1, 160: 1, 94: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 }), l._g = function (e, n, r) { return Lyt(this, e, n, r) }, l.hh = function (e, n, r) { return bst(this, e, n, r) }, l.jh = function (e, n, r) { return tit(this, e, n, r) }, l.lh = function (e) { return Gmt(this, e) }, l.sh = function (e, n) { V3t(this, e, n) }, l.zh = function () { return ou(), $3e }, l.Bh = function (e) { _yt(this, e) }, l.zg = function () { return this.k }, l.Ag = function () { return Hj(this) }, l.Ib = function () { return Sit(this) }, l.k = null, N(Tb, "ElkGraphElementImpl", 723), M(724, 723, { 105: 1, 413: 1, 160: 1, 470: 1, 94: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 }), l._g = function (e, n, r) { return jyt(this, e, n, r) }, l.lh = function (e) { return Uyt(this, e) }, l.sh = function (e, n) { G3t(this, e, n) }, l.zh = function () { return ou(), z3e }, l.Bh = function (e) { Qyt(this, e) }, l.Bg = function () { return this.f }, l.Cg = function () { return this.g }, l.Dg = function () { return this.i }, l.Eg = function () { return this.j }, l.Fg = function (e, n) { XR(this, e, n) }, l.Gg = function (e, n) { S1(this, e, n) }, l.Hg = function (e) { Du(this, e) }, l.Ig = function (e) { Iu(this, e) }, l.Ib = function () { return xst(this) }, l.f = 0, l.g = 0, l.i = 0, l.j = 0, N(Tb, "ElkShapeImpl", 724), M(725, 724, { 105: 1, 413: 1, 82: 1, 160: 1, 470: 1, 94: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 }), l._g = function (e, n, r) { return m3t(this, e, n, r) }, l.hh = function (e, n, r) { return R3t(this, e, n, r) }, l.jh = function (e, n, r) { return j3t(this, e, n, r) }, l.lh = function (e) { return cyt(this, e) }, l.sh = function (e, n) { K4t(this, e, n) }, l.zh = function () { return ou(), j3e }, l.Bh = function (e) { h3t(this, e) }, l.xg = function () { return !this.d && (this.d = new Tn(aa, this, 8, 5)), this.d }, l.yg = function () { return !this.e && (this.e = new Tn(aa, this, 7, 4)), this.e }, N(Tb, "ElkConnectableShapeImpl", 725), M(352, 723, { 105: 1, 413: 1, 79: 1, 160: 1, 352: 1, 94: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 }, uv), l.Qg = function (e) { return N3t(this, e) }, l._g = function (e, n, r) { switch (e) { case 3: return nD(this); case 4: return !this.b && (this.b = new Tn(Cr, this, 4, 7)), this.b; case 5: return !this.c && (this.c = new Tn(Cr, this, 5, 8)), this.c; case 6: return !this.a && (this.a = new he(fs, this, 6, 6)), this.a; case 7: return Rn(), !this.b && (this.b = new Tn(Cr, this, 4, 7)), !(this.b.i <= 1 && (!this.c && (this.c = new Tn(Cr, this, 5, 8)), this.c.i <= 1)); case 8: return Rn(), !!cC(this); case 9: return Rn(), !!aw(this); case 10: return Rn(), !this.b && (this.b = new Tn(Cr, this, 4, 7)), this.b.i != 0 && (!this.c && (this.c = new Tn(Cr, this, 5, 8)), this.c.i != 0) }return Lyt(this, e, n, r) }, l.hh = function (e, n, r) { var s; switch (n) { case 3: return this.Cb && (r = (s = this.Db >> 16, s >= 0 ? N3t(this, r) : this.Cb.ih(this, -1 - s, null, r))), Sbt(this, u(e, 33), r); case 4: return !this.b && (this.b = new Tn(Cr, this, 4, 7)), au(this.b, e, r); case 5: return !this.c && (this.c = new Tn(Cr, this, 5, 8)), au(this.c, e, r); case 6: return !this.a && (this.a = new he(fs, this, 6, 6)), au(this.a, e, r) }return bst(this, e, n, r) }, l.jh = function (e, n, r) { switch (n) { case 3: return Sbt(this, null, r); case 4: return !this.b && (this.b = new Tn(Cr, this, 4, 7)), Za(this.b, e, r); case 5: return !this.c && (this.c = new Tn(Cr, this, 5, 8)), Za(this.c, e, r); case 6: return !this.a && (this.a = new he(fs, this, 6, 6)), Za(this.a, e, r) }return tit(this, e, n, r) }, l.lh = function (e) { switch (e) { case 3: return !!nD(this); case 4: return !!this.b && this.b.i != 0; case 5: return !!this.c && this.c.i != 0; case 6: return !!this.a && this.a.i != 0; case 7: return !this.b && (this.b = new Tn(Cr, this, 4, 7)), !(this.b.i <= 1 && (!this.c && (this.c = new Tn(Cr, this, 5, 8)), this.c.i <= 1)); case 8: return cC(this); case 9: return aw(this); case 10: return !this.b && (this.b = new Tn(Cr, this, 4, 7)), this.b.i != 0 && (!this.c && (this.c = new Tn(Cr, this, 5, 8)), this.c.i != 0) }return Gmt(this, e) }, l.sh = function (e, n) { switch (e) { case 3: Rst(this, u(n, 33)); return; case 4: !this.b && (this.b = new Tn(Cr, this, 4, 7)), Ir(this.b), !this.b && (this.b = new Tn(Cr, this, 4, 7)), vs(this.b, u(n, 14)); return; case 5: !this.c && (this.c = new Tn(Cr, this, 5, 8)), Ir(this.c), !this.c && (this.c = new Tn(Cr, this, 5, 8)), vs(this.c, u(n, 14)); return; case 6: !this.a && (this.a = new he(fs, this, 6, 6)), Ir(this.a), !this.a && (this.a = new he(fs, this, 6, 6)), vs(this.a, u(n, 14)); return }V3t(this, e, n) }, l.zh = function () { return ou(), vAt }, l.Bh = function (e) { switch (e) { case 3: Rst(this, null); return; case 4: !this.b && (this.b = new Tn(Cr, this, 4, 7)), Ir(this.b); return; case 5: !this.c && (this.c = new Tn(Cr, this, 5, 8)), Ir(this.c); return; case 6: !this.a && (this.a = new he(fs, this, 6, 6)), Ir(this.a); return }_yt(this, e) }, l.Ib = function () { return Iue(this) }, N(Tb, "ElkEdgeImpl", 352), M(439, 1985, { 105: 1, 413: 1, 202: 1, 439: 1, 94: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 }, ud), l.Qg = function (e) { return M3t(this, e) }, l._g = function (e, n, r) { switch (e) { case 1: return this.j; case 2: return this.k; case 3: return this.b; case 4: return this.c; case 5: return !this.a && (this.a = new qs(Qh, this, 5)), this.a; case 6: return mXt(this); case 7: return n ? Kit(this) : this.i; case 8: return n ? Wit(this) : this.f; case 9: return !this.g && (this.g = new Tn(fs, this, 9, 10)), this.g; case 10: return !this.e && (this.e = new Tn(fs, this, 10, 9)), this.e; case 11: return this.d }return _3t(this, e, n, r) }, l.hh = function (e, n, r) { var s, o, h; switch (n) { case 6: return this.Cb && (r = (o = this.Db >> 16, o >= 0 ? M3t(this, r) : this.Cb.ih(this, -1 - o, null, r))), Abt(this, u(e, 79), r); case 9: return !this.g && (this.g = new Tn(fs, this, 9, 10)), au(this.g, e, r); case 10: return !this.e && (this.e = new Tn(fs, this, 10, 9)), au(this.e, e, r) }return h = u(wn((s = u(Dn(this, 16), 26), s || (ou(), $G)), n), 66), h.Nj().Qj(this, fu(this), n - ar((ou(), $G)), e, r) }, l.jh = function (e, n, r) { switch (n) { case 5: return !this.a && (this.a = new qs(Qh, this, 5)), Za(this.a, e, r); case 6: return Abt(this, null, r); case 9: return !this.g && (this.g = new Tn(fs, this, 9, 10)), Za(this.g, e, r); case 10: return !this.e && (this.e = new Tn(fs, this, 10, 9)), Za(this.e, e, r) }return d4t(this, e, n, r) }, l.lh = function (e) { switch (e) { case 1: return this.j != 0; case 2: return this.k != 0; case 3: return this.b != 0; case 4: return this.c != 0; case 5: return !!this.a && this.a.i != 0; case 6: return !!mXt(this); case 7: return !!this.i; case 8: return !!this.f; case 9: return !!this.g && this.g.i != 0; case 10: return !!this.e && this.e.i != 0; case 11: return this.d != null }return Twt(this, e) }, l.sh = function (e, n) { switch (e) { case 1: B8(this, Xt(xe(n))); return; case 2: j8(this, Xt(xe(n))); return; case 3: F8(this, Xt(xe(n))); return; case 4: R8(this, Xt(xe(n))); return; case 5: !this.a && (this.a = new qs(Qh, this, 5)), Ir(this.a), !this.a && (this.a = new qs(Qh, this, 5)), vs(this.a, u(n, 14)); return; case 6: Ooe(this, u(n, 79)); return; case 7: V$(this, u(n, 82)); return; case 8: H$(this, u(n, 82)); return; case 9: !this.g && (this.g = new Tn(fs, this, 9, 10)), Ir(this.g), !this.g && (this.g = new Tn(fs, this, 9, 10)), vs(this.g, u(n, 14)); return; case 10: !this.e && (this.e = new Tn(fs, this, 10, 9)), Ir(this.e), !this.e && (this.e = new Tn(fs, this, 10, 9)), vs(this.e, u(n, 14)); return; case 11: Fmt(this, Kr(n)); return }lyt(this, e, n) }, l.zh = function () { return ou(), $G }, l.Bh = function (e) { switch (e) { case 1: B8(this, 0); return; case 2: j8(this, 0); return; case 3: F8(this, 0); return; case 4: R8(this, 0); return; case 5: !this.a && (this.a = new qs(Qh, this, 5)), Ir(this.a); return; case 6: Ooe(this, null); return; case 7: V$(this, null); return; case 8: H$(this, null); return; case 9: !this.g && (this.g = new Tn(fs, this, 9, 10)), Ir(this.g); return; case 10: !this.e && (this.e = new Tn(fs, this, 10, 9)), Ir(this.e); return; case 11: Fmt(this, null); return }Jmt(this, e) }, l.Ib = function () { return Qae(this) }, l.b = 0, l.c = 0, l.d = null, l.j = 0, l.k = 0, N(Tb, "ElkEdgeSectionImpl", 439), M(150, 115, { 105: 1, 92: 1, 90: 1, 147: 1, 56: 1, 108: 1, 49: 1, 97: 1, 150: 1, 114: 1, 115: 1 }), l._g = function (e, n, r) { var s; return e == 0 ? (!this.Ab && (this.Ab = new he(li, this, 0, 3)), this.Ab) : ph(this, e - ar(this.zh()), wn((s = u(Dn(this, 16), 26), s || this.zh()), e), n, r) }, l.hh = function (e, n, r) { var s, o; return n == 0 ? (!this.Ab && (this.Ab = new he(li, this, 0, 3)), au(this.Ab, e, r)) : (o = u(wn((s = u(Dn(this, 16), 26), s || this.zh()), n), 66), o.Nj().Qj(this, fu(this), n - ar(this.zh()), e, r)) }, l.jh = function (e, n, r) { var s, o; return n == 0 ? (!this.Ab && (this.Ab = new he(li, this, 0, 3)), Za(this.Ab, e, r)) : (o = u(wn((s = u(Dn(this, 16), 26), s || this.zh()), n), 66), o.Nj().Rj(this, fu(this), n - ar(this.zh()), e, r)) }, l.lh = function (e) { var n; return e == 0 ? !!this.Ab && this.Ab.i != 0 : dh(this, e - ar(this.zh()), wn((n = u(Dn(this, 16), 26), n || this.zh()), e)) }, l.oh = function (e) { return n6t(this, e) }, l.sh = function (e, n) { var r; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab), !this.Ab && (this.Ab = new he(li, this, 0, 3)), vs(this.Ab, u(n, 14)); return }yh(this, e - ar(this.zh()), wn((r = u(Dn(this, 16), 26), r || this.zh()), e), n) }, l.uh = function (e) { J6(this, 128, e) }, l.zh = function () { return hn(), o4e }, l.Bh = function (e) { var n; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab); return }wh(this, e - ar(this.zh()), wn((n = u(Dn(this, 16), 26), n || this.zh()), e)) }, l.Gh = function () { this.Bb |= 1 }, l.Hh = function (e) { return dC(this, e) }, l.Bb = 0, N(Mn, "EModelElementImpl", 150), M(704, 150, { 105: 1, 92: 1, 90: 1, 471: 1, 147: 1, 56: 1, 108: 1, 49: 1, 97: 1, 150: 1, 114: 1, 115: 1 }, OB), l.Ih = function (e, n) { return cle(this, e, n) }, l.Jh = function (e) { var n, r, s, o, h; if (this.a != Vl(e) || e.Bb & 256) throw et(new Bn(Cct + e.zb + mw)); for (s = zo(e); $c(s.a).i != 0;) { if (r = u(kI(s, 0, (n = u(St($c(s.a), 0), 87), h = n.c, Et(h, 88) ? u(h, 26) : (hn(), ef))), 26), sw(r)) return o = Vl(r).Nh().Jh(r), u(o, 49).th(e), o; s = zo(r) } return (e.D != null ? e.D : e.B) == "java.util.Map$Entry" ? new rKt(e) : new gvt(e) }, l.Kh = function (e, n) { return fw(this, e, n) }, l._g = function (e, n, r) { var s; switch (e) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), this.Ab; case 1: return this.a }return ph(this, e - ar((hn(), L2)), wn((s = u(Dn(this, 16), 26), s || L2), e), n, r) }, l.hh = function (e, n, r) { var s, o; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), au(this.Ab, e, r); case 1: return this.a && (r = u(this.a, 49).ih(this, 4, u1, r)), Eyt(this, u(e, 235), r) }return o = u(wn((s = u(Dn(this, 16), 26), s || (hn(), L2)), n), 66), o.Nj().Qj(this, fu(this), n - ar((hn(), L2)), e, r) }, l.jh = function (e, n, r) { var s, o; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), Za(this.Ab, e, r); case 1: return Eyt(this, null, r) }return o = u(wn((s = u(Dn(this, 16), 26), s || (hn(), L2)), n), 66), o.Nj().Rj(this, fu(this), n - ar((hn(), L2)), e, r) }, l.lh = function (e) { var n; switch (e) { case 0: return !!this.Ab && this.Ab.i != 0; case 1: return !!this.a }return dh(this, e - ar((hn(), L2)), wn((n = u(Dn(this, 16), 26), n || L2), e)) }, l.sh = function (e, n) { var r; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab), !this.Ab && (this.Ab = new he(li, this, 0, 3)), vs(this.Ab, u(n, 14)); return; case 1: Ose(this, u(n, 235)); return }yh(this, e - ar((hn(), L2)), wn((r = u(Dn(this, 16), 26), r || L2), e), n) }, l.zh = function () { return hn(), L2 }, l.Bh = function (e) { var n; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab); return; case 1: Ose(this, null); return }wh(this, e - ar((hn(), L2)), wn((n = u(Dn(this, 16), 26), n || L2), e)) }; var QS, xAt, V3e; N(Mn, "EFactoryImpl", 704), M(Tf, 704, { 105: 1, 2014: 1, 92: 1, 90: 1, 471: 1, 147: 1, 56: 1, 108: 1, 49: 1, 97: 1, 150: 1, 114: 1, 115: 1 }, Z5), l.Ih = function (e, n) { switch (e.yj()) { case 12: return u(n, 146).tg(); case 13: return Jo(n); default: throw et(new Bn(H7 + e.ne() + mw)) } }, l.Jh = function (e) { var n, r, s, o, h, d, w, k; switch (e.G == -1 && (e.G = (n = Vl(e), n ? Pg(n.Mh(), e) : -1)), e.G) { case 4: return h = new HE, h; case 6: return d = new vpt, d; case 7: return w = new wpt, w; case 8: return s = new uv, s; case 9: return r = new mp, r; case 10: return o = new ud, o; case 11: return k = new $F, k; default: throw et(new Bn(Cct + e.zb + mw)) } }, l.Kh = function (e, n) { switch (e.yj()) { case 13: case 12: return null; default: throw et(new Bn(H7 + e.ne() + mw)) } }, N(Tb, "ElkGraphFactoryImpl", Tf), M(438, 150, { 105: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 108: 1, 49: 1, 97: 1, 150: 1, 114: 1, 115: 1 }), l.Wg = function () { var e, n; return n = (e = u(Dn(this, 16), 26), fwt(xd(e || this.zh()))), n == null ? (jT(), jT(), pft) : new TUt(this, n) }, l._g = function (e, n, r) { var s; switch (e) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), this.Ab; case 1: return this.ne() }return ph(this, e - ar(this.zh()), wn((s = u(Dn(this, 16), 26), s || this.zh()), e), n, r) }, l.lh = function (e) { var n; switch (e) { case 0: return !!this.Ab && this.Ab.i != 0; case 1: return this.zb != null }return dh(this, e - ar(this.zh()), wn((n = u(Dn(this, 16), 26), n || this.zh()), e)) }, l.sh = function (e, n) { var r; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab), !this.Ab && (this.Ab = new he(li, this, 0, 3)), vs(this.Ab, u(n, 14)); return; case 1: this.Lh(Kr(n)); return }yh(this, e - ar(this.zh()), wn((r = u(Dn(this, 16), 26), r || this.zh()), e), n) }, l.zh = function () { return hn(), c4e }, l.Bh = function (e) { var n; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab); return; case 1: this.Lh(null); return }wh(this, e - ar(this.zh()), wn((n = u(Dn(this, 16), 26), n || this.zh()), e)) }, l.ne = function () { return this.zb }, l.Lh = function (e) { su(this, e) }, l.Ib = function () { return V_(this) }, l.zb = null, N(Mn, "ENamedElementImpl", 438), M(179, 438, { 105: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 235: 1, 108: 1, 49: 1, 97: 1, 150: 1, 179: 1, 114: 1, 115: 1, 675: 1 }, iXt), l.Qg = function (e) { return Wie(this, e) }, l._g = function (e, n, r) { var s; switch (e) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), this.Ab; case 1: return this.zb; case 2: return this.yb; case 3: return this.xb; case 4: return this.sb; case 5: return !this.rb && (this.rb = new $m(this, l1, this)), this.rb; case 6: return !this.vb && (this.vb = new M6(u1, this, 6, 7)), this.vb; case 7: return n ? this.Db >> 16 == 7 ? u(this.Cb, 235) : null : yXt(this) }return ph(this, e - ar((hn(), ep)), wn((s = u(Dn(this, 16), 26), s || ep), e), n, r) }, l.hh = function (e, n, r) { var s, o, h; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), au(this.Ab, e, r); case 4: return this.sb && (r = u(this.sb, 49).ih(this, 1, XS, r)), Syt(this, u(e, 471), r); case 5: return !this.rb && (this.rb = new $m(this, l1, this)), au(this.rb, e, r); case 6: return !this.vb && (this.vb = new M6(u1, this, 6, 7)), au(this.vb, e, r); case 7: return this.Cb && (r = (o = this.Db >> 16, o >= 0 ? Wie(this, r) : this.Cb.ih(this, -1 - o, null, r))), Yl(this, e, 7, r) }return h = u(wn((s = u(Dn(this, 16), 26), s || (hn(), ep)), n), 66), h.Nj().Qj(this, fu(this), n - ar((hn(), ep)), e, r) }, l.jh = function (e, n, r) { var s, o; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), Za(this.Ab, e, r); case 4: return Syt(this, null, r); case 5: return !this.rb && (this.rb = new $m(this, l1, this)), Za(this.rb, e, r); case 6: return !this.vb && (this.vb = new M6(u1, this, 6, 7)), Za(this.vb, e, r); case 7: return Yl(this, null, 7, r) }return o = u(wn((s = u(Dn(this, 16), 26), s || (hn(), ep)), n), 66), o.Nj().Rj(this, fu(this), n - ar((hn(), ep)), e, r) }, l.lh = function (e) { var n; switch (e) { case 0: return !!this.Ab && this.Ab.i != 0; case 1: return this.zb != null; case 2: return this.yb != null; case 3: return this.xb != null; case 4: return !!this.sb; case 5: return !!this.rb && this.rb.i != 0; case 6: return !!this.vb && this.vb.i != 0; case 7: return !!yXt(this) }return dh(this, e - ar((hn(), ep)), wn((n = u(Dn(this, 16), 26), n || ep), e)) }, l.oh = function (e) { var n; return n = r2n(this, e), n || n6t(this, e) }, l.sh = function (e, n) { var r; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab), !this.Ab && (this.Ab = new he(li, this, 0, 3)), vs(this.Ab, u(n, 14)); return; case 1: su(this, Kr(n)); return; case 2: Q$(this, Kr(n)); return; case 3: X$(this, Kr(n)); return; case 4: yst(this, u(n, 471)); return; case 5: !this.rb && (this.rb = new $m(this, l1, this)), Ir(this.rb), !this.rb && (this.rb = new $m(this, l1, this)), vs(this.rb, u(n, 14)); return; case 6: !this.vb && (this.vb = new M6(u1, this, 6, 7)), Ir(this.vb), !this.vb && (this.vb = new M6(u1, this, 6, 7)), vs(this.vb, u(n, 14)); return }yh(this, e - ar((hn(), ep)), wn((r = u(Dn(this, 16), 26), r || ep), e), n) }, l.vh = function (e) { var n, r; if (e && this.rb) for (r = new lr(this.rb); r.e != r.i.gc();)n = kr(r), Et(n, 351) && (u(n, 351).w = null); J6(this, 64, e) }, l.zh = function () { return hn(), ep }, l.Bh = function (e) { var n; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab); return; case 1: su(this, null); return; case 2: Q$(this, null); return; case 3: X$(this, null); return; case 4: yst(this, null); return; case 5: !this.rb && (this.rb = new $m(this, l1, this)), Ir(this.rb); return; case 6: !this.vb && (this.vb = new M6(u1, this, 6, 7)), Ir(this.vb); return }wh(this, e - ar((hn(), ep)), wn((n = u(Dn(this, 16), 26), n || ep), e)) }, l.Gh = function () { ost(this) }, l.Mh = function () { return !this.rb && (this.rb = new $m(this, l1, this)), this.rb }, l.Nh = function () { return this.sb }, l.Oh = function () { return this.ub }, l.Ph = function () { return this.xb }, l.Qh = function () { return this.yb }, l.Rh = function (e) { this.ub = e }, l.Ib = function () { var e; return this.Db & 64 ? V_(this) : (e = new Ih(V_(this)), e.a += " (nsURI: ", So(e, this.yb), e.a += ", nsPrefix: ", So(e, this.xb), e.a += ")", e.a) }, l.xb = null, l.yb = null, N(Mn, "EPackageImpl", 179), M(555, 179, { 105: 1, 2016: 1, 555: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 235: 1, 108: 1, 49: 1, 97: 1, 150: 1, 179: 1, 114: 1, 115: 1, 675: 1 }, aoe), l.q = !1, l.r = !1; var G3e = !1; N(Tb, "ElkGraphPackageImpl", 555), M(354, 724, { 105: 1, 413: 1, 160: 1, 137: 1, 470: 1, 354: 1, 94: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 }, HE), l.Qg = function (e) { return D3t(this, e) }, l._g = function (e, n, r) { switch (e) { case 7: return xXt(this); case 8: return this.a }return jyt(this, e, n, r) }, l.hh = function (e, n, r) { var s; switch (n) { case 7: return this.Cb && (r = (s = this.Db >> 16, s >= 0 ? D3t(this, r) : this.Cb.ih(this, -1 - s, null, r))), Lvt(this, u(e, 160), r) }return bst(this, e, n, r) }, l.jh = function (e, n, r) { return n == 7 ? Lvt(this, null, r) : tit(this, e, n, r) }, l.lh = function (e) { switch (e) { case 7: return !!xXt(this); case 8: return !ln("", this.a) }return Uyt(this, e) }, l.sh = function (e, n) { switch (e) { case 7: c5t(this, u(n, 160)); return; case 8: Lmt(this, Kr(n)); return }G3t(this, e, n) }, l.zh = function () { return ou(), wAt }, l.Bh = function (e) { switch (e) { case 7: c5t(this, null); return; case 8: Lmt(this, ""); return }Qyt(this, e) }, l.Ib = function () { return Wse(this) }, l.a = "", N(Tb, "ElkLabelImpl", 354), M(239, 725, { 105: 1, 413: 1, 82: 1, 160: 1, 33: 1, 470: 1, 239: 1, 94: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 }, vpt), l.Qg = function (e) { return P3t(this, e) }, l._g = function (e, n, r) { switch (e) { case 9: return !this.c && (this.c = new he(El, this, 9, 9)), this.c; case 10: return !this.a && (this.a = new he(bs, this, 10, 11)), this.a; case 11: return gs(this); case 12: return !this.b && (this.b = new he(aa, this, 12, 3)), this.b; case 13: return Rn(), !this.a && (this.a = new he(bs, this, 10, 11)), this.a.i > 0 }return m3t(this, e, n, r) }, l.hh = function (e, n, r) { var s; switch (n) { case 9: return !this.c && (this.c = new he(El, this, 9, 9)), au(this.c, e, r); case 10: return !this.a && (this.a = new he(bs, this, 10, 11)), au(this.a, e, r); case 11: return this.Cb && (r = (s = this.Db >> 16, s >= 0 ? P3t(this, r) : this.Cb.ih(this, -1 - s, null, r))), Bbt(this, u(e, 33), r); case 12: return !this.b && (this.b = new he(aa, this, 12, 3)), au(this.b, e, r) }return R3t(this, e, n, r) }, l.jh = function (e, n, r) { switch (n) { case 9: return !this.c && (this.c = new he(El, this, 9, 9)), Za(this.c, e, r); case 10: return !this.a && (this.a = new he(bs, this, 10, 11)), Za(this.a, e, r); case 11: return Bbt(this, null, r); case 12: return !this.b && (this.b = new he(aa, this, 12, 3)), Za(this.b, e, r) }return j3t(this, e, n, r) }, l.lh = function (e) { switch (e) { case 9: return !!this.c && this.c.i != 0; case 10: return !!this.a && this.a.i != 0; case 11: return !!gs(this); case 12: return !!this.b && this.b.i != 0; case 13: return !this.a && (this.a = new he(bs, this, 10, 11)), this.a.i > 0 }return cyt(this, e) }, l.sh = function (e, n) { switch (e) { case 9: !this.c && (this.c = new he(El, this, 9, 9)), Ir(this.c), !this.c && (this.c = new he(El, this, 9, 9)), vs(this.c, u(n, 14)); return; case 10: !this.a && (this.a = new he(bs, this, 10, 11)), Ir(this.a), !this.a && (this.a = new he(bs, this, 10, 11)), vs(this.a, u(n, 14)); return; case 11: s5t(this, u(n, 33)); return; case 12: !this.b && (this.b = new he(aa, this, 12, 3)), Ir(this.b), !this.b && (this.b = new he(aa, this, 12, 3)), vs(this.b, u(n, 14)); return }K4t(this, e, n) }, l.zh = function () { return ou(), mAt }, l.Bh = function (e) { switch (e) { case 9: !this.c && (this.c = new he(El, this, 9, 9)), Ir(this.c); return; case 10: !this.a && (this.a = new he(bs, this, 10, 11)), Ir(this.a); return; case 11: s5t(this, null); return; case 12: !this.b && (this.b = new he(aa, this, 12, 3)), Ir(this.b); return }h3t(this, e) }, l.Ib = function () { return E5t(this) }, N(Tb, "ElkNodeImpl", 239), M(186, 725, { 105: 1, 413: 1, 82: 1, 160: 1, 118: 1, 470: 1, 186: 1, 94: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 }, wpt), l.Qg = function (e) { return I3t(this, e) }, l._g = function (e, n, r) { return e == 9 ? M1(this) : m3t(this, e, n, r) }, l.hh = function (e, n, r) { var s; switch (n) { case 9: return this.Cb && (r = (s = this.Db >> 16, s >= 0 ? I3t(this, r) : this.Cb.ih(this, -1 - s, null, r))), Lbt(this, u(e, 33), r) }return R3t(this, e, n, r) }, l.jh = function (e, n, r) { return n == 9 ? Lbt(this, null, r) : j3t(this, e, n, r) }, l.lh = function (e) { return e == 9 ? !!M1(this) : cyt(this, e) }, l.sh = function (e, n) { switch (e) { case 9: i5t(this, u(n, 33)); return }K4t(this, e, n) }, l.zh = function () { return ou(), yAt }, l.Bh = function (e) { switch (e) { case 9: i5t(this, null); return }h3t(this, e) }, l.Ib = function () { return Oce(this) }, N(Tb, "ElkPortImpl", 186); var U3e = ls(Ja, "BasicEMap/Entry"); M(1092, 115, { 105: 1, 42: 1, 92: 1, 90: 1, 133: 1, 56: 1, 108: 1, 49: 1, 97: 1, 114: 1, 115: 1 }, $F), l.Fb = function (e) { return this === e }, l.cd = function () { return this.b }, l.Hb = function () { return Av(this) }, l.Uh = function (e) { Mmt(this, u(e, 146)) }, l._g = function (e, n, r) { switch (e) { case 0: return this.b; case 1: return this.c }return Mz(this, e, n, r) }, l.lh = function (e) { switch (e) { case 0: return !!this.b; case 1: return this.c != null }return Hit(this, e) }, l.sh = function (e, n) { switch (e) { case 0: Mmt(this, u(n, 146)); return; case 1: Omt(this, n); return }Sst(this, e, n) }, l.zh = function () { return ou(), _2 }, l.Bh = function (e) { switch (e) { case 0: Mmt(this, null); return; case 1: Omt(this, null); return }kst(this, e) }, l.Sh = function () { var e; return this.a == -1 && (e = this.b, this.a = e ? ns(e) : 0), this.a }, l.dd = function () { return this.c }, l.Th = function (e) { this.a = e }, l.ed = function (e) { var n; return n = this.c, Omt(this, e), n }, l.Ib = function () { var e; return this.Db & 64 ? kf(this) : (e = new Ap, ni(ni(ni(e, this.b ? this.b.tg() : Pu), Eot), o_(this.c)), e.a) }, l.a = -1, l.c = null; var Bw = N(Tb, "ElkPropertyToValueMapEntryImpl", 1092); M(984, 1, {}, zF), N(Na, "JsonAdapter", 984), M(210, 60, G0, fd), N(Na, "JsonImportException", 210), M(857, 1, {}, Kie), N(Na, "JsonImporter", 857), M(891, 1, {}, EVt), N(Na, "JsonImporter/lambda$0$Type", 891), M(892, 1, {}, TVt), N(Na, "JsonImporter/lambda$1$Type", 892), M(900, 1, {}, i$t), N(Na, "JsonImporter/lambda$10$Type", 900), M(902, 1, {}, _Vt), N(Na, "JsonImporter/lambda$11$Type", 902), M(903, 1, {}, CVt), N(Na, "JsonImporter/lambda$12$Type", 903), M(909, 1, {}, RYt), N(Na, "JsonImporter/lambda$13$Type", 909), M(908, 1, {}, BYt), N(Na, "JsonImporter/lambda$14$Type", 908), M(904, 1, {}, SVt), N(Na, "JsonImporter/lambda$15$Type", 904), M(905, 1, {}, AVt), N(Na, "JsonImporter/lambda$16$Type", 905), M(906, 1, {}, LVt), N(Na, "JsonImporter/lambda$17$Type", 906), M(907, 1, {}, MVt), N(Na, "JsonImporter/lambda$18$Type", 907), M(912, 1, {}, s$t), N(Na, "JsonImporter/lambda$19$Type", 912), M(893, 1, {}, a$t), N(Na, "JsonImporter/lambda$2$Type", 893), M(910, 1, {}, o$t), N(Na, "JsonImporter/lambda$20$Type", 910), M(911, 1, {}, c$t), N(Na, "JsonImporter/lambda$21$Type", 911), M(915, 1, {}, u$t), N(Na, "JsonImporter/lambda$22$Type", 915), M(913, 1, {}, l$t), N(Na, "JsonImporter/lambda$23$Type", 913), M(914, 1, {}, h$t), N(Na, "JsonImporter/lambda$24$Type", 914), M(917, 1, {}, f$t), N(Na, "JsonImporter/lambda$25$Type", 917), M(916, 1, {}, d$t), N(Na, "JsonImporter/lambda$26$Type", 916), M(918, 1, Qn, DVt), l.td = function (e) { Iin(this.b, this.a, Kr(e)) }, N(Na, "JsonImporter/lambda$27$Type", 918), M(919, 1, Qn, IVt), l.td = function (e) { Oin(this.b, this.a, Kr(e)) }, N(Na, "JsonImporter/lambda$28$Type", 919), M(920, 1, {}, OVt), N(Na, "JsonImporter/lambda$29$Type", 920), M(896, 1, {}, g$t), N(Na, "JsonImporter/lambda$3$Type", 896), M(921, 1, {}, NVt), N(Na, "JsonImporter/lambda$30$Type", 921), M(922, 1, {}, p$t), N(Na, "JsonImporter/lambda$31$Type", 922), M(923, 1, {}, b$t), N(Na, "JsonImporter/lambda$32$Type", 923), M(924, 1, {}, v$t), N(Na, "JsonImporter/lambda$33$Type", 924), M(925, 1, {}, w$t), N(Na, "JsonImporter/lambda$34$Type", 925), M(859, 1, {}, m$t), N(Na, "JsonImporter/lambda$35$Type", 859), M(929, 1, {}, LWt), N(Na, "JsonImporter/lambda$36$Type", 929), M(926, 1, Qn, y$t), l.td = function (e) { Frn(this.a, u(e, 469)) }, N(Na, "JsonImporter/lambda$37$Type", 926), M(927, 1, Qn, $Vt), l.td = function (e) { lKe(this.a, this.b, u(e, 202)) }, N(Na, "JsonImporter/lambda$38$Type", 927), M(928, 1, Qn, zVt), l.td = function (e) { hKe(this.a, this.b, u(e, 202)) }, N(Na, "JsonImporter/lambda$39$Type", 928), M(894, 1, {}, x$t), N(Na, "JsonImporter/lambda$4$Type", 894), M(930, 1, Qn, k$t), l.td = function (e) { Brn(this.a, u(e, 8)) }, N(Na, "JsonImporter/lambda$40$Type", 930), M(895, 1, {}, E$t), N(Na, "JsonImporter/lambda$5$Type", 895), M(899, 1, {}, T$t), N(Na, "JsonImporter/lambda$6$Type", 899), M(897, 1, {}, _$t), N(Na, "JsonImporter/lambda$7$Type", 897), M(898, 1, {}, C$t), N(Na, "JsonImporter/lambda$8$Type", 898), M(901, 1, {}, S$t), N(Na, "JsonImporter/lambda$9$Type", 901), M(948, 1, Qn, A$t), l.td = function (e) { F6(this.a, new zm(Kr(e))) }, N(Na, "JsonMetaDataConverter/lambda$0$Type", 948), M(949, 1, Qn, L$t), l.td = function (e) { JJe(this.a, u(e, 237)) }, N(Na, "JsonMetaDataConverter/lambda$1$Type", 949), M(950, 1, Qn, M$t), l.td = function (e) { Xen(this.a, u(e, 149)) }, N(Na, "JsonMetaDataConverter/lambda$2$Type", 950), M(951, 1, Qn, D$t), l.td = function (e) { ttn(this.a, u(e, 175)) }, N(Na, "JsonMetaDataConverter/lambda$3$Type", 951), M(237, 22, { 3: 1, 35: 1, 22: 1, 237: 1 }, C6); var zG, qG, cft, HG, VG, GG, uft, lft, UG = Xr(FI, "GraphFeature", 237, ti, ksn, TZe), W3e; M(13, 1, { 35: 1, 146: 1 }, rs, Ks, vn, po), l.wd = function (e) { return uYe(this, u(e, 146)) }, l.Fb = function (e) { return sXt(this, e) }, l.wg = function () { return Ie(this) }, l.tg = function () { return this.b }, l.Hb = function () { return Fg(this.b) }, l.Ib = function () { return this.b }, N(FI, "Property", 13), M(818, 1, Ui, Xgt), l.ue = function (e, n) { return Scn(this, u(e, 94), u(n, 94)) }, l.Fb = function (e) { return this === e }, l.ve = function () { return new dt(this) }, N(FI, "PropertyHolderComparator", 818), M(695, 1, va, Qgt), l.Nb = function (e) { Da(this, e) }, l.Pb = function () { return Bin(this) }, l.Qb = function () { Tqt() }, l.Ob = function () { return !!this.a }, N(hH, "ElkGraphUtil/AncestorIterator", 695); var kAt = ls(Ja, "EList"); M(67, 52, { 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 67: 1, 58: 1 }), l.Vc = function (e, n) { W_(this, e, n) }, l.Fc = function (e) { return Hr(this, e) }, l.Wc = function (e, n) { return tyt(this, e, n) }, l.Gc = function (e) { return vs(this, e) }, l.Zh = function () { return new L6(this) }, l.$h = function () { return new NM(this) }, l._h = function (e) { return _D(this, e) }, l.ai = function () { return !0 }, l.bi = function (e, n) { }, l.ci = function () { }, l.di = function (e, n) { _rt(this, e, n) }, l.ei = function (e, n, r) { }, l.fi = function (e, n) { }, l.gi = function (e, n, r) { }, l.Fb = function (e) { return mce(this, e) }, l.Hb = function () { return Ymt(this) }, l.hi = function () { return !1 }, l.Kc = function () { return new lr(this) }, l.Yc = function () { return new A6(this) }, l.Zc = function (e) { var n; if (n = this.gc(), e < 0 || e > n) throw et(new Bm(e, n)); return new Mnt(this, e) }, l.ji = function (e, n) { this.ii(e, this.Xc(n)) }, l.Mc = function (e) { return M$(this, e) }, l.li = function (e, n) { return n }, l._c = function (e, n) { return u4(this, e, n) }, l.Ib = function () { return zyt(this) }, l.ni = function () { return !0 }, l.oi = function (e, n) { return Q8(this, n) }, N(Ja, "AbstractEList", 67), M(63, 67, Id, J5, Gv, zmt), l.Vh = function (e, n) { return vst(this, e, n) }, l.Wh = function (e) { return xie(this, e) }, l.Xh = function (e, n) { $D(this, e, n) }, l.Yh = function (e) { cD(this, e) }, l.pi = function (e) { return cmt(this, e) }, l.$b = function () { I_(this) }, l.Hc = function (e) { return f7(this, e) }, l.Xb = function (e) { return St(this, e) }, l.qi = function (e) { var n, r, s; ++this.j, r = this.g == null ? 0 : this.g.length, e > r && (s = this.g, n = r + (r / 2 | 0) + 4, n < e && (n = e), this.g = this.ri(n), s != null && qc(s, 0, this.g, 0, this.i)) }, l.Xc = function (e) { return qie(this, e) }, l.dc = function () { return this.i == 0 }, l.ii = function (e, n) { return Mst(this, e, n) }, l.ri = function (e) { return Ot(nr, De, 1, e, 5, 1) }, l.ki = function (e) { return this.g[e] }, l.$c = function (e) { return nx(this, e) }, l.mi = function (e, n) { return Frt(this, e, n) }, l.gc = function () { return this.i }, l.Pc = function () { return Owt(this) }, l.Qc = function (e) { return Jyt(this, e) }, l.i = 0; var EAt = N(Ja, "BasicEList", 63), TAt = ls(Ja, "TreeIterator"); M(694, 63, Bct), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return this.g == null && !this.c ? bwt(this) : this.g == null || this.i != 0 && u(this.g[this.i - 1], 47).Ob() }, l.Pb = function () { return Qz(this) }, l.Qb = function () { if (!this.e) throw et(new Yo("There is no valid object to remove.")); this.e.Qb() }, l.c = !1, N(Ja, "AbstractTreeIterator", 694), M(685, 694, Bct, B2t), l.si = function (e) { var n; return n = u(e, 56).Wg().Kc(), Et(n, 279) && u(n, 279).Nk(new NZ), n }, N(hH, "ElkGraphUtil/PropertiesSkippingTreeIterator", 685), M(952, 1, {}, NZ), N(hH, "ElkGraphUtil/PropertiesSkippingTreeIterator/1", 952); var oN, hft, cN = N(hH, "ElkReflect", null); M(889, 1, _y, VE), l.vg = function (e) { return s$(), cin(u(e, 174)) }, N(hH, "ElkReflect/lambda$0$Type", 889); var C2; ls(Ja, "ResourceLocator"), M(1051, 1, {}), N(Ja, "DelegatingResourceLocator", 1051), M(1052, 1051, {}), N("org.eclipse.emf.common", "EMFPlugin", 1052); var fft = ls(gde, "Adapter"), W4n = ls(gde, "Notification"); M(1153, 1, l8t), l.ti = function () { return this.d }, l.ui = function (e) { }, l.vi = function (e) { this.d = e }, l.wi = function (e) { this.d == e && (this.d = null) }, l.d = null, N(xx, "AdapterImpl", 1153), M(1995, 67, pde), l.Vh = function (e, n) { return Wyt(this, e, n) }, l.Wh = function (e) { var n, r, s; if (++this.j, e.dc()) return !1; for (n = this.Vi(), s = e.Kc(); s.Ob();)r = s.Pb(), this.Ii(this.oi(n, r)), ++n; return !0 }, l.Xh = function (e, n) { BUt(this, e, n) }, l.Yh = function (e) { hYt(this, e) }, l.Gi = function () { return this.Ji() }, l.$b = function () { RM(this, this.Vi(), this.Wi()) }, l.Hc = function (e) { return this.Li(e) }, l.Ic = function (e) { return this.Mi(e) }, l.Hi = function (e, n) { this.Si().jm() }, l.Ii = function (e) { this.Si().jm() }, l.Ji = function () { return this.Si() }, l.Ki = function () { this.Si().jm() }, l.Li = function (e) { return this.Si().jm() }, l.Mi = function (e) { return this.Si().jm() }, l.Ni = function (e) { return this.Si().jm() }, l.Oi = function (e) { return this.Si().jm() }, l.Pi = function () { return this.Si().jm() }, l.Qi = function (e) { return this.Si().jm() }, l.Ri = function () { return this.Si().jm() }, l.Ti = function (e) { return this.Si().jm() }, l.Ui = function (e, n) { return this.Si().jm() }, l.Vi = function () { return this.Si().jm() }, l.Wi = function () { return this.Si().jm() }, l.Xi = function (e) { return this.Si().jm() }, l.Yi = function () { return this.Si().jm() }, l.Fb = function (e) { return this.Ni(e) }, l.Xb = function (e) { return this.li(e, this.Oi(e)) }, l.Hb = function () { return this.Pi() }, l.Xc = function (e) { return this.Qi(e) }, l.dc = function () { return this.Ri() }, l.ii = function (e, n) { return l4t(this, e, n) }, l.ki = function (e) { return this.Oi(e) }, l.$c = function (e) { return Ej(this, e) }, l.Mc = function (e) { var n; return n = this.Xc(e), n >= 0 ? (this.$c(n), !0) : !1 }, l.mi = function (e, n) { return this.Ui(e, this.oi(e, n)) }, l.gc = function () { return this.Vi() }, l.Pc = function () { return this.Wi() }, l.Qc = function (e) { return this.Xi(e) }, l.Ib = function () { return this.Yi() }, N(Ja, "DelegatingEList", 1995), M(1996, 1995, pde), l.Vh = function (e, n) { return I5t(this, e, n) }, l.Wh = function (e) { return this.Vh(this.Vi(), e) }, l.Xh = function (e, n) { ioe(this, e, n) }, l.Yh = function (e) { Yae(this, e) }, l.ai = function () { return !this.bj() }, l.$b = function () { mC(this) }, l.Zi = function (e, n, r, s, o) { return new oXt(this, e, n, r, s, o) }, l.$i = function (e) { Oi(this.Ai(), e) }, l._i = function () { return null }, l.aj = function () { return -1 }, l.Ai = function () { return null }, l.bj = function () { return !1 }, l.cj = function (e, n) { return n }, l.dj = function (e, n) { return n }, l.ej = function () { return !1 }, l.fj = function () { return !this.Ri() }, l.ii = function (e, n) { var r, s; return this.ej() ? (s = this.fj(), r = l4t(this, e, n), this.$i(this.Zi(7, pe(n), r, e, s)), r) : l4t(this, e, n) }, l.$c = function (e) { var n, r, s, o; return this.ej() ? (r = null, s = this.fj(), n = this.Zi(4, o = Ej(this, e), null, e, s), this.bj() && o ? (r = this.dj(o, r), r ? (r.Ei(n), r.Fi()) : this.$i(n)) : r ? (r.Ei(n), r.Fi()) : this.$i(n), o) : (o = Ej(this, e), this.bj() && o && (r = this.dj(o, null), r && r.Fi()), o) }, l.mi = function (e, n) { return fue(this, e, n) }, N(xx, "DelegatingNotifyingListImpl", 1996), M(143, 1, XI), l.Ei = function (e) { return Q3t(this, e) }, l.Fi = function () { Nrt(this) }, l.xi = function () { return this.d }, l._i = function () { return null }, l.gj = function () { return null }, l.yi = function (e) { return -1 }, l.zi = function () { return Zoe(this) }, l.Ai = function () { return null }, l.Bi = function () { return d5t(this) }, l.Ci = function () { return this.o < 0 ? this.o < -2 ? -2 - this.o - 1 : -1 : this.o }, l.hj = function () { return !1 }, l.Di = function (e) { var n, r, s, o, h, d, w, k, _, L, F; switch (this.d) { case 1: case 2: switch (o = e.xi(), o) { case 1: case 2: if (h = e.Ai(), qt(h) === qt(this.Ai()) && this.yi(null) == e.yi(null)) return this.g = e.zi(), e.xi() == 1 && (this.d = 1), !0 }case 4: { switch (o = e.xi(), o) { case 4: { if (h = e.Ai(), qt(h) === qt(this.Ai()) && this.yi(null) == e.yi(null)) return _ = Y5t(this), k = this.o < 0 ? this.o < -2 ? -2 - this.o - 1 : -1 : this.o, d = e.Ci(), this.d = 6, F = new Gv(2), k <= d ? (Hr(F, this.n), Hr(F, e.Bi()), this.g = ct(ot(Br, 1), oi, 25, 15, [this.o = k, d + 1])) : (Hr(F, e.Bi()), Hr(F, this.n), this.g = ct(ot(Br, 1), oi, 25, 15, [this.o = d, k])), this.n = F, _ || (this.o = -2 - this.o - 1), !0; break } }break } case 6: { switch (o = e.xi(), o) { case 4: { if (h = e.Ai(), qt(h) === qt(this.Ai()) && this.yi(null) == e.yi(null)) { for (_ = Y5t(this), d = e.Ci(), L = u(this.g, 48), s = Ot(Br, oi, 25, L.length + 1, 15, 1), n = 0; n < L.length && (w = L[n], w <= d);)s[n++] = w, ++d; for (r = u(this.n, 15), r.Vc(n, e.Bi()), s[n] = d; ++n < s.length;)s[n] = L[n - 1]; return this.g = s, _ || (this.o = -2 - s[0]), !0 } break } }break } }return !1 }, l.Ib = function () { var e, n, r, s; switch (s = new Ih(Mp(this.gm) + "@" + (n = ns(this) >>> 0, n.toString(16))), s.a += " (eventType: ", this.d) { case 1: { s.a += "SET"; break } case 2: { s.a += "UNSET"; break } case 3: { s.a += "ADD"; break } case 5: { s.a += "ADD_MANY"; break } case 4: { s.a += "REMOVE"; break } case 6: { s.a += "REMOVE_MANY"; break } case 7: { s.a += "MOVE"; break } case 8: { s.a += "REMOVING_ADAPTER"; break } case 9: { s.a += "RESOLVE"; break } default: { Qtt(s, this.d); break } }if ($ce(this) && (s.a += ", touch: true"), s.a += ", position: ", Qtt(s, this.o < 0 ? this.o < -2 ? -2 - this.o - 1 : -1 : this.o), s.a += ", notifier: ", e_(s, this.Ai()), s.a += ", feature: ", e_(s, this._i()), s.a += ", oldValue: ", e_(s, d5t(this)), s.a += ", newValue: ", this.d == 6 && Et(this.g, 48)) { for (r = u(this.g, 48), s.a += "[", e = 0; e < r.length;)s.a += r[e], ++e < r.length && (s.a += ao); s.a += "]" } else e_(s, Zoe(this)); return s.a += ", isTouch: ", xg(s, $ce(this)), s.a += ", wasSet: ", xg(s, Y5t(this)), s.a += ")", s.a }, l.d = 0, l.e = 0, l.f = 0, l.j = 0, l.k = 0, l.o = 0, l.p = 0, N(xx, "NotificationImpl", 143), M(1167, 143, XI, oXt), l._i = function () { return this.a._i() }, l.yi = function (e) { return this.a.aj() }, l.Ai = function () { return this.a.Ai() }, N(xx, "DelegatingNotifyingListImpl/1", 1167), M(242, 63, Id, t6, Lp), l.Fc = function (e) { return bre(this, u(e, 366)) }, l.Ei = function (e) { return bre(this, e) }, l.Fi = function () { var e, n, r; for (e = 0; e < this.i; ++e)n = u(this.g[e], 366), r = n.Ai(), r != null && n.xi() != -1 && u(r, 92).Ng(n) }, l.ri = function (e) { return Ot(W4n, De, 366, e, 0, 1) }, N(xx, "NotificationChainImpl", 242), M(1378, 90, S1e), l.Kg = function () { return this.e }, l.Mg = function () { return (this.f & 1) != 0 }, l.f = 1, N(xx, "NotifierImpl", 1378), M(1993, 63, Id), l.Vh = function (e, n) { return Jst(this, e, n) }, l.Wh = function (e) { return this.Vh(this.i, e) }, l.Xh = function (e, n) { $4t(this, e, n) }, l.Yh = function (e) { Dst(this, e) }, l.ai = function () { return !this.bj() }, l.$b = function () { Ir(this) }, l.Zi = function (e, n, r, s, o) { return new cXt(this, e, n, r, s, o) }, l.$i = function (e) { Oi(this.Ai(), e) }, l._i = function () { return null }, l.aj = function () { return -1 }, l.Ai = function () { return null }, l.bj = function () { return !1 }, l.ij = function () { return !1 }, l.cj = function (e, n) { return n }, l.dj = function (e, n) { return n }, l.ej = function () { return !1 }, l.fj = function () { return this.i != 0 }, l.ii = function (e, n) { return K_(this, e, n) }, l.$c = function (e) { return hy(this, e) }, l.mi = function (e, n) { return Sue(this, e, n) }, l.jj = function (e, n) { return n }, l.kj = function (e, n) { return n }, l.lj = function (e, n, r) { return r }, N(xx, "NotifyingListImpl", 1993), M(1166, 143, XI, cXt), l._i = function () { return this.a._i() }, l.yi = function (e) { return this.a.aj() }, l.Ai = function () { return this.a.Ai() }, N(xx, "NotifyingListImpl/1", 1166), M(953, 63, Id, $Ut), l.Hc = function (e) { return this.i > 10 ? ((!this.b || this.c.j != this.a) && (this.b = new g_(this), this.a = this.j), C0(this.b, e)) : f7(this, e) }, l.ni = function () { return !0 }, l.a = 0, N(Ja, "AbstractEList/1", 953), M(295, 73, Wat, Bm), N(Ja, "AbstractEList/BasicIndexOutOfBoundsException", 295), M(40, 1, va, lr), l.Nb = function (e) { Da(this, e) }, l.mj = function () { if (this.i.j != this.f) throw et(new uh) }, l.nj = function () { return kr(this) }, l.Ob = function () { return this.e != this.i.gc() }, l.Pb = function () { return this.nj() }, l.Qb = function () { rC(this) }, l.e = 0, l.f = 0, l.g = -1, N(Ja, "AbstractEList/EIterator", 40), M(278, 40, n0, A6, Mnt), l.Qb = function () { rC(this) }, l.Rb = function (e) { Ere(this, e) }, l.oj = function () { var e; try { return e = this.d.Xb(--this.e), this.mj(), this.g = this.e, e } catch (n) { throw n = os(n), Et(n, 73) ? (this.mj(), et(new _c)) : et(n) } }, l.pj = function (e) { Tie(this, e) }, l.Sb = function () { return this.e != 0 }, l.Tb = function () { return this.e }, l.Ub = function () { return this.oj() }, l.Vb = function () { return this.e - 1 }, l.Wb = function (e) { this.pj(e) }, N(Ja, "AbstractEList/EListIterator", 278), M(341, 40, va, L6), l.nj = function () { return Vit(this) }, l.Qb = function () { throw et(new Gr) }, N(Ja, "AbstractEList/NonResolvingEIterator", 341), M(385, 278, n0, NM, Vbt), l.Rb = function (e) { throw et(new Gr) }, l.nj = function () { var e; try { return e = this.c.ki(this.e), this.mj(), this.g = this.e++, e } catch (n) { throw n = os(n), Et(n, 73) ? (this.mj(), et(new _c)) : et(n) } }, l.oj = function () { var e; try { return e = this.c.ki(--this.e), this.mj(), this.g = this.e, e } catch (n) { throw n = os(n), Et(n, 73) ? (this.mj(), et(new _c)) : et(n) } }, l.Qb = function () { throw et(new Gr) }, l.Wb = function (e) { throw et(new Gr) }, N(Ja, "AbstractEList/NonResolvingEListIterator", 385), M(1982, 67, bde), l.Vh = function (e, n) { var r, s, o, h, d, w, k, _, L, F, q; if (o = n.gc(), o != 0) { for (_ = u(Dn(this.a, 4), 126), L = _ == null ? 0 : _.length, q = L + o, s = fit(this, q), F = L - e, F > 0 && qc(_, e, s, e + o, F), k = n.Kc(), d = 0; d < o; ++d)w = k.Pb(), r = e + d, Ret(s, r, Q8(this, w)); for (c7(this, s), h = 0; h < o; ++h)w = s[e], this.bi(e, w), ++e; return !0 } else return ++this.j, !1 }, l.Wh = function (e) { var n, r, s, o, h, d, w, k, _; if (s = e.gc(), s != 0) { for (k = (r = u(Dn(this.a, 4), 126), r == null ? 0 : r.length), _ = k + s, n = fit(this, _), w = e.Kc(), h = k; h < _; ++h)d = w.Pb(), Ret(n, h, Q8(this, d)); for (c7(this, n), o = k; o < _; ++o)d = n[o], this.bi(o, d); return !0 } else return ++this.j, !1 }, l.Xh = function (e, n) { var r, s, o, h; s = u(Dn(this.a, 4), 126), o = s == null ? 0 : s.length, r = fit(this, o + 1), h = Q8(this, n), e != o && qc(s, e, r, e + 1, o - e), ds(r, e, h), c7(this, r), this.bi(e, n) }, l.Yh = function (e) { var n, r, s; s = (r = u(Dn(this.a, 4), 126), r == null ? 0 : r.length), n = fit(this, s + 1), Ret(n, s, Q8(this, e)), c7(this, n), this.bi(s, e) }, l.Zh = function () { return new AZt(this) }, l.$h = function () { return new qKt(this) }, l._h = function (e) { var n, r; if (r = (n = u(Dn(this.a, 4), 126), n == null ? 0 : n.length), e < 0 || e > r) throw et(new Bm(e, r)); return new wYt(this, e) }, l.$b = function () { var e, n; ++this.j, e = u(Dn(this.a, 4), 126), n = e == null ? 0 : e.length, c7(this, null), _rt(this, n, e) }, l.Hc = function (e) { var n, r, s, o, h; if (n = u(Dn(this.a, 4), 126), n != null) { if (e != null) { for (s = n, o = 0, h = s.length; o < h; ++o)if (r = s[o], Ni(e, r)) return !0 } else for (s = n, o = 0, h = s.length; o < h; ++o)if (r = s[o], qt(r) === qt(e)) return !0 } return !1 }, l.Xb = function (e) { var n, r; if (n = u(Dn(this.a, 4), 126), r = n == null ? 0 : n.length, e >= r) throw et(new Bm(e, r)); return n[e] }, l.Xc = function (e) { var n, r, s; if (n = u(Dn(this.a, 4), 126), n != null) { if (e != null) { for (r = 0, s = n.length; r < s; ++r)if (Ni(e, n[r])) return r } else for (r = 0, s = n.length; r < s; ++r)if (qt(n[r]) === qt(e)) return r } return -1 }, l.dc = function () { return u(Dn(this.a, 4), 126) == null }, l.Kc = function () { return new SZt(this) }, l.Yc = function () { return new zKt(this) }, l.Zc = function (e) { var n, r; if (r = (n = u(Dn(this.a, 4), 126), n == null ? 0 : n.length), e < 0 || e > r) throw et(new Bm(e, r)); return new vYt(this, e) }, l.ii = function (e, n) { var r, s, o; if (r = Dre(this), o = r == null ? 0 : r.length, e >= o) throw et(new Oo(Pct + e + _b + o)); if (n >= o) throw et(new Oo(Fct + n + _b + o)); return s = r[n], e != n && (e < n ? qc(r, e, r, e + 1, n - e) : qc(r, n + 1, r, n, e - n), ds(r, e, s), c7(this, r)), s }, l.ki = function (e) { return u(Dn(this.a, 4), 126)[e] }, l.$c = function (e) { return Z0n(this, e) }, l.mi = function (e, n) { var r, s; return r = Dre(this), s = r[e], Ret(r, e, Q8(this, n)), c7(this, r), s }, l.gc = function () { var e; return e = u(Dn(this.a, 4), 126), e == null ? 0 : e.length }, l.Pc = function () { var e, n, r; return e = u(Dn(this.a, 4), 126), r = e == null ? 0 : e.length, n = Ot(fft, zct, 415, r, 0, 1), r > 0 && qc(e, 0, n, 0, r), n }, l.Qc = function (e) { var n, r, s; return n = u(Dn(this.a, 4), 126), s = n == null ? 0 : n.length, s > 0 && (e.length < s && (r = TD(bl(e).c, s), e = r), qc(n, 0, e, 0, s)), e.length > s && ds(e, s, null), e }; var K3e; N(Ja, "ArrayDelegatingEList", 1982), M(1038, 40, va, SZt), l.mj = function () { if (this.b.j != this.f || qt(u(Dn(this.b.a, 4), 126)) !== qt(this.a)) throw et(new uh) }, l.Qb = function () { rC(this), this.a = u(Dn(this.b.a, 4), 126) }, N(Ja, "ArrayDelegatingEList/EIterator", 1038), M(706, 278, n0, zKt, vYt), l.mj = function () { if (this.b.j != this.f || qt(u(Dn(this.b.a, 4), 126)) !== qt(this.a)) throw et(new uh) }, l.pj = function (e) { Tie(this, e), this.a = u(Dn(this.b.a, 4), 126) }, l.Qb = function () { rC(this), this.a = u(Dn(this.b.a, 4), 126) }, N(Ja, "ArrayDelegatingEList/EListIterator", 706), M(1039, 341, va, AZt), l.mj = function () { if (this.b.j != this.f || qt(u(Dn(this.b.a, 4), 126)) !== qt(this.a)) throw et(new uh) }, N(Ja, "ArrayDelegatingEList/NonResolvingEIterator", 1039), M(707, 385, n0, qKt, wYt), l.mj = function () { if (this.b.j != this.f || qt(u(Dn(this.b.a, 4), 126)) !== qt(this.a)) throw et(new uh) }, N(Ja, "ArrayDelegatingEList/NonResolvingEListIterator", 707), M(606, 295, Wat, Oet), N(Ja, "BasicEList/BasicIndexOutOfBoundsException", 606), M(696, 63, Id, L2t), l.Vc = function (e, n) { throw et(new Gr) }, l.Fc = function (e) { throw et(new Gr) }, l.Wc = function (e, n) { throw et(new Gr) }, l.Gc = function (e) { throw et(new Gr) }, l.$b = function () { throw et(new Gr) }, l.qi = function (e) { throw et(new Gr) }, l.Kc = function () { return this.Zh() }, l.Yc = function () { return this.$h() }, l.Zc = function (e) { return this._h(e) }, l.ii = function (e, n) { throw et(new Gr) }, l.ji = function (e, n) { throw et(new Gr) }, l.$c = function (e) { throw et(new Gr) }, l.Mc = function (e) { throw et(new Gr) }, l._c = function (e, n) { throw et(new Gr) }, N(Ja, "BasicEList/UnmodifiableEList", 696), M(705, 1, { 3: 1, 20: 1, 14: 1, 15: 1, 58: 1, 589: 1 }), l.Vc = function (e, n) { JKe(this, e, u(n, 42)) }, l.Fc = function (e) { return jYe(this, u(e, 42)) }, l.Jc = function (e) { Oa(this, e) }, l.Xb = function (e) { return u(St(this.c, e), 133) }, l.ii = function (e, n) { return u(this.c.ii(e, n), 42) }, l.ji = function (e, n) { tYe(this, e, u(n, 42)) }, l.Lc = function () { return new kn(null, new Cn(this, 16)) }, l.$c = function (e) { return u(this.c.$c(e), 42) }, l._c = function (e, n) { return WJe(this, e, u(n, 42)) }, l.ad = function (e) { e4(this, e) }, l.Nc = function () { return new Cn(this, 16) }, l.Oc = function () { return new kn(null, new Cn(this, 16)) }, l.Wc = function (e, n) { return this.c.Wc(e, n) }, l.Gc = function (e) { return this.c.Gc(e) }, l.$b = function () { this.c.$b() }, l.Hc = function (e) { return this.c.Hc(e) }, l.Ic = function (e) { return MD(this.c, e) }, l.qj = function () { var e, n, r; if (this.d == null) { for (this.d = Ot(EAt, h8t, 63, 2 * this.f + 1, 0, 1), r = this.e, this.f = 0, n = this.c.Kc(); n.e != n.i.gc();)e = u(n.nj(), 133), Oz(this, e); this.e = r } }, l.Fb = function (e) { return dWt(this, e) }, l.Hb = function () { return Ymt(this.c) }, l.Xc = function (e) { return this.c.Xc(e) }, l.rj = function () { this.c = new O$t(this) }, l.dc = function () { return this.f == 0 }, l.Kc = function () { return this.c.Kc() }, l.Yc = function () { return this.c.Yc() }, l.Zc = function (e) { return this.c.Zc(e) }, l.sj = function () { return hD(this) }, l.tj = function (e, n, r) { return new MWt(e, n, r) }, l.uj = function () { return new yp }, l.Mc = function (e) { return Ute(this, e) }, l.gc = function () { return this.f }, l.bd = function (e, n) { return new Qd(this.c, e, n) }, l.Pc = function () { return this.c.Pc() }, l.Qc = function (e) { return this.c.Qc(e) }, l.Ib = function () { return zyt(this.c) }, l.e = 0, l.f = 0, N(Ja, "BasicEMap", 705), M(1033, 63, Id, O$t), l.bi = function (e, n) { FUe(this, u(n, 133)) }, l.ei = function (e, n, r) { var s; ++(s = this, u(n, 133), s).a.e }, l.fi = function (e, n) { BUe(this, u(n, 133)) }, l.gi = function (e, n, r) { CYe(this, u(n, 133), u(r, 133)) }, l.di = function (e, n) { Fee(this.a) }, N(Ja, "BasicEMap/1", 1033), M(1034, 63, Id, yp), l.ri = function (e) { return Ot(K4n, vde, 612, e, 0, 1) }, N(Ja, "BasicEMap/2", 1034), M(1035, q1, Xu, N$t), l.$b = function () { this.a.c.$b() }, l.Hc = function (e) { return Pit(this.a, e) }, l.Kc = function () { return this.a.f == 0 ? (f8(), uN.a) : new pqt(this.a) }, l.Mc = function (e) { var n; return n = this.a.f, kz(this.a, e), this.a.f != n }, l.gc = function () { return this.a.f }, N(Ja, "BasicEMap/3", 1035), M(1036, 28, by, P$t), l.$b = function () { this.a.c.$b() }, l.Hc = function (e) { return yce(this.a, e) }, l.Kc = function () { return this.a.f == 0 ? (f8(), uN.a) : new bqt(this.a) }, l.gc = function () { return this.a.f }, N(Ja, "BasicEMap/4", 1036), M(1037, q1, Xu, F$t), l.$b = function () { this.a.c.$b() }, l.Hc = function (e) { var n, r, s, o, h, d, w, k, _; if (this.a.f > 0 && Et(e, 42) && (this.a.qj(), k = u(e, 42), w = k.cd(), o = w == null ? 0 : ns(w), h = Mbt(this.a, o), n = this.a.d[h], n)) { for (r = u(n.g, 367), _ = n.i, d = 0; d < _; ++d)if (s = r[d], s.Sh() == o && s.Fb(k)) return !0 } return !1 }, l.Kc = function () { return this.a.f == 0 ? (f8(), uN.a) : new Unt(this.a) }, l.Mc = function (e) { return foe(this, e) }, l.gc = function () { return this.a.f }, N(Ja, "BasicEMap/5", 1037), M(613, 1, va, Unt), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return this.b != -1 }, l.Pb = function () { var e; if (this.f.e != this.c) throw et(new uh); if (this.b == -1) throw et(new _c); return this.d = this.a, this.e = this.b, tse(this), e = u(this.f.d[this.d].g[this.e], 133), this.vj(e) }, l.Qb = function () { if (this.f.e != this.c) throw et(new uh); if (this.e == -1) throw et(new qu); this.f.c.Mc(St(this.f.d[this.d], this.e)), this.c = this.f.e, this.e = -1, this.a == this.d && this.b != -1 && --this.b }, l.vj = function (e) { return e }, l.a = 0, l.b = -1, l.c = 0, l.d = 0, l.e = 0, N(Ja, "BasicEMap/BasicEMapIterator", 613), M(1031, 613, va, pqt), l.vj = function (e) { return e.cd() }, N(Ja, "BasicEMap/BasicEMapKeyIterator", 1031), M(1032, 613, va, bqt), l.vj = function (e) { return e.dd() }, N(Ja, "BasicEMap/BasicEMapValueIterator", 1032), M(1030, 1, dw, B$t), l.wc = function (e) { $_(this, e) }, l.yc = function (e, n, r) { return Ait(this, e, n, r) }, l.$b = function () { this.a.c.$b() }, l._b = function (e) { return YVt(this, e) }, l.uc = function (e) { return yce(this.a, e) }, l.vc = function () { return pin(this.a) }, l.Fb = function (e) { return dWt(this.a, e) }, l.xc = function (e) { return e1(this.a, e) }, l.Hb = function () { return Ymt(this.a.c) }, l.dc = function () { return this.a.f == 0 }, l.ec = function () { return bin(this.a) }, l.zc = function (e, n) { return $z(this.a, e, n) }, l.Bc = function (e) { return kz(this.a, e) }, l.gc = function () { return this.a.f }, l.Ib = function () { return zyt(this.a.c) }, l.Cc = function () { return gin(this.a) }, N(Ja, "BasicEMap/DelegatingMap", 1030), M(612, 1, { 42: 1, 133: 1, 612: 1 }, MWt), l.Fb = function (e) { var n; return Et(e, 42) ? (n = u(e, 42), (this.b != null ? Ni(this.b, n.cd()) : qt(this.b) === qt(n.cd())) && (this.c != null ? Ni(this.c, n.dd()) : qt(this.c) === qt(n.dd()))) : !1 }, l.Sh = function () { return this.a }, l.cd = function () { return this.b }, l.dd = function () { return this.c }, l.Hb = function () { return this.a ^ (this.c == null ? 0 : ns(this.c)) }, l.Th = function (e) { this.a = e }, l.Uh = function (e) { throw et(new H2) }, l.ed = function (e) { var n; return n = this.c, this.c = e, n }, l.Ib = function () { return this.b + "->" + this.c }, l.a = 0; var K4n = N(Ja, "BasicEMap/EntryImpl", 612); M(536, 1, {}, Tk), N(Ja, "BasicEMap/View", 536); var uN; M(768, 1, {}), l.Fb = function (e) { return Y4t((pn(), wo), e) }, l.Hb = function () { return oyt((pn(), wo)) }, l.Ib = function () { return Jp((pn(), wo)) }, N(Ja, "ECollections/BasicEmptyUnmodifiableEList", 768), M(1312, 1, n0, qF), l.Nb = function (e) { Da(this, e) }, l.Rb = function (e) { throw et(new Gr) }, l.Ob = function () { return !1 }, l.Sb = function () { return !1 }, l.Pb = function () { throw et(new _c) }, l.Tb = function () { return 0 }, l.Ub = function () { throw et(new _c) }, l.Vb = function () { return -1 }, l.Qb = function () { throw et(new Gr) }, l.Wb = function (e) { throw et(new Gr) }, N(Ja, "ECollections/BasicEmptyUnmodifiableEList/1", 1312), M(1310, 768, { 20: 1, 14: 1, 15: 1, 58: 1 }, Czt), l.Vc = function (e, n) { Bqt() }, l.Fc = function (e) { return Rqt() }, l.Wc = function (e, n) { return jqt() }, l.Gc = function (e) { return $qt() }, l.$b = function () { zqt() }, l.Hc = function (e) { return !1 }, l.Ic = function (e) { return !1 }, l.Jc = function (e) { Oa(this, e) }, l.Xb = function (e) { return I2t((pn(), e)), null }, l.Xc = function (e) { return -1 }, l.dc = function () { return !0 }, l.Kc = function () { return this.a }, l.Yc = function () { return this.a }, l.Zc = function (e) { return this.a }, l.ii = function (e, n) { return qqt() }, l.ji = function (e, n) { Hqt() }, l.Lc = function () { return new kn(null, new Cn(this, 16)) }, l.$c = function (e) { return Vqt() }, l.Mc = function (e) { return Gqt() }, l._c = function (e, n) { return Uqt() }, l.gc = function () { return 0 }, l.ad = function (e) { e4(this, e) }, l.Nc = function () { return new Cn(this, 16) }, l.Oc = function () { return new kn(null, new Cn(this, 16)) }, l.bd = function (e, n) { return pn(), new Qd(wo, e, n) }, l.Pc = function () { return Ivt((pn(), wo)) }, l.Qc = function (e) { return pn(), YD(wo, e) }, N(Ja, "ECollections/EmptyUnmodifiableEList", 1310), M(1311, 768, { 20: 1, 14: 1, 15: 1, 58: 1, 589: 1 }, Szt), l.Vc = function (e, n) { Bqt() }, l.Fc = function (e) { return Rqt() }, l.Wc = function (e, n) { return jqt() }, l.Gc = function (e) { return $qt() }, l.$b = function () { zqt() }, l.Hc = function (e) { return !1 }, l.Ic = function (e) { return !1 }, l.Jc = function (e) { Oa(this, e) }, l.Xb = function (e) { return I2t((pn(), e)), null }, l.Xc = function (e) { return -1 }, l.dc = function () { return !0 }, l.Kc = function () { return this.a }, l.Yc = function () { return this.a }, l.Zc = function (e) { return this.a }, l.ii = function (e, n) { return qqt() }, l.ji = function (e, n) { Hqt() }, l.Lc = function () { return new kn(null, new Cn(this, 16)) }, l.$c = function (e) { return Vqt() }, l.Mc = function (e) { return Gqt() }, l._c = function (e, n) { return Uqt() }, l.gc = function () { return 0 }, l.ad = function (e) { e4(this, e) }, l.Nc = function () { return new Cn(this, 16) }, l.Oc = function () { return new kn(null, new Cn(this, 16)) }, l.bd = function (e, n) { return pn(), new Qd(wo, e, n) }, l.Pc = function () { return Ivt((pn(), wo)) }, l.Qc = function (e) { return pn(), YD(wo, e) }, l.sj = function () { return pn(), pn(), u0 }, N(Ja, "ECollections/EmptyUnmodifiableEMap", 1311); var _At = ls(Ja, "Enumerator"), WG; M(281, 1, { 281: 1 }, Hst), l.Fb = function (e) { var n; return this === e ? !0 : Et(e, 281) ? (n = u(e, 281), this.f == n.f && gJe(this.i, n.i) && bnt(this.a, this.f & 256 ? n.f & 256 ? n.a : null : n.f & 256 ? null : n.a) && bnt(this.d, n.d) && bnt(this.g, n.g) && bnt(this.e, n.e) && cln(this, n)) : !1 }, l.Hb = function () { return this.f }, l.Ib = function () { return Qce(this) }, l.f = 0; var Y3e = 0, X3e = 0, Q3e = 0, Z3e = 0, CAt = 0, SAt = 0, AAt = 0, LAt = 0, MAt = 0, J3e, ZS = 0, JS = 0, t4e = 0, e4e = 0, KG, DAt; N(Ja, "URI", 281), M(1091, 43, C4, Azt), l.zc = function (e, n) { return u(Po(this, Kr(e), u(n, 281)), 281) }, N(Ja, "URI/URICache", 1091), M(497, 63, Id, _k, _j), l.hi = function () { return !0 }, N(Ja, "UniqueEList", 497), M(581, 60, G0, S$), N(Ja, "WrappedException", 581); var li = ls(xh, yde), Yy = ls(xh, xde), ju = ls(xh, kde), Xy = ls(xh, Ede), l1 = ls(xh, Tde), Zh = ls(xh, "EClass"), dft = ls(xh, "EDataType"), n4e; M(1183, 43, C4, Lzt), l.xc = function (e) { return pa(e) ? Uc(this, e) : gc(qo(this.f, e)) }, N(xh, "EDataType/Internal/ConversionDelegate/Factory/Registry/Impl", 1183); var YG = ls(xh, "EEnum"), tg = ls(xh, _de), Co = ls(xh, Cde), Jh = ls(xh, Sde), tf, Rw = ls(xh, Ade), Qy = ls(xh, Lde); M(1029, 1, {}, OZ), l.Ib = function () { return "NIL" }, N(xh, "EStructuralFeature/Internal/DynamicValueHolder/1", 1029); var r4e; M(1028, 43, C4, Mzt), l.xc = function (e) { return pa(e) ? Uc(this, e) : gc(qo(this.f, e)) }, N(xh, "EStructuralFeature/Internal/SettingDelegate/Factory/Registry/Impl", 1028); var wu = ls(xh, Mde), Vx = ls(xh, "EValidator/PatternMatcher"), IAt, OAt, Ln, Zg, Zy, S2, i4e, s4e, a4e, A2, Jg, L2, jw, J1, o4e, c4e, ef, tp, u4e, ep, Jy, c5, uo, l4e, h4e, $w, XG = ls(Ji, "FeatureMap/Entry"); M(535, 1, { 72: 1 }, VR), l.ak = function () { return this.a }, l.dd = function () { return this.b }, N(Mn, "BasicEObjectImpl/1", 535), M(1027, 1, qct, qVt), l.Wj = function (e) { return Ert(this.a, this.b, e) }, l.fj = function () { return kXt(this.a, this.b) }, l.Wb = function (e) { gwt(this.a, this.b, e) }, l.Xj = function () { ltn(this.a, this.b) }, N(Mn, "BasicEObjectImpl/4", 1027), M(1983, 1, { 108: 1 }), l.bk = function (e) { this.e = e == 0 ? f4e : Ot(nr, De, 1, e, 5, 1) }, l.Ch = function (e) { return this.e[e] }, l.Dh = function (e, n) { this.e[e] = n }, l.Eh = function (e) { this.e[e] = null }, l.ck = function () { return this.c }, l.dk = function () { throw et(new Gr) }, l.ek = function () { throw et(new Gr) }, l.fk = function () { return this.d }, l.gk = function () { return this.e != null }, l.hk = function (e) { this.c = e }, l.ik = function (e) { throw et(new Gr) }, l.jk = function (e) { throw et(new Gr) }, l.kk = function (e) { this.d = e }; var f4e; N(Mn, "BasicEObjectImpl/EPropertiesHolderBaseImpl", 1983), M(185, 1983, { 108: 1 }, ch), l.dk = function () { return this.a }, l.ek = function () { return this.b }, l.ik = function (e) { this.a = e }, l.jk = function (e) { this.b = e }, N(Mn, "BasicEObjectImpl/EPropertiesHolderImpl", 185), M(506, 97, D1e, Ck), l.Kg = function () { return this.f }, l.Pg = function () { return this.k }, l.Rg = function (e, n) { this.g = e, this.i = n }, l.Tg = function () { return this.j & 2 ? this.ph().ck() : this.zh() }, l.Vg = function () { return this.i }, l.Mg = function () { return (this.j & 1) != 0 }, l.eh = function () { return this.g }, l.kh = function () { return (this.j & 4) != 0 }, l.ph = function () { return !this.k && (this.k = new ch), this.k }, l.th = function (e) { this.ph().hk(e), e ? this.j |= 2 : this.j &= -3 }, l.vh = function (e) { this.ph().jk(e), e ? this.j |= 4 : this.j &= -5 }, l.zh = function () { return (zp(), Ln).S }, l.i = 0, l.j = 1, N(Mn, "EObjectImpl", 506), M(780, 506, { 105: 1, 92: 1, 90: 1, 56: 1, 108: 1, 49: 1, 97: 1 }, gvt), l.Ch = function (e) { return this.e[e] }, l.Dh = function (e, n) { this.e[e] = n }, l.Eh = function (e) { this.e[e] = null }, l.Tg = function () { return this.d }, l.Yg = function (e) { return is(this.d, e) }, l.$g = function () { return this.d }, l.dh = function () { return this.e != null }, l.ph = function () { return !this.k && (this.k = new HF), this.k }, l.th = function (e) { this.d = e }, l.yh = function () { var e; return this.e == null && (e = ar(this.d), this.e = e == 0 ? d4e : Ot(nr, De, 1, e, 5, 1)), this }, l.Ah = function () { return 0 }; var d4e; N(Mn, "DynamicEObjectImpl", 780), M(1376, 780, { 105: 1, 42: 1, 92: 1, 90: 1, 133: 1, 56: 1, 108: 1, 49: 1, 97: 1 }, rKt), l.Fb = function (e) { return this === e }, l.Hb = function () { return Av(this) }, l.th = function (e) { this.d = e, this.b = dI(e, "key"), this.c = dI(e, HC) }, l.Sh = function () { var e; return this.a == -1 && (e = Prt(this, this.b), this.a = e == null ? 0 : ns(e)), this.a }, l.cd = function () { return Prt(this, this.b) }, l.dd = function () { return Prt(this, this.c) }, l.Th = function (e) { this.a = e }, l.Uh = function (e) { gwt(this, this.b, e) }, l.ed = function (e) { var n; return n = Prt(this, this.c), gwt(this, this.c, e), n }, l.a = 0, N(Mn, "DynamicEObjectImpl/BasicEMapEntry", 1376), M(1377, 1, { 108: 1 }, HF), l.bk = function (e) { throw et(new Gr) }, l.Ch = function (e) { throw et(new Gr) }, l.Dh = function (e, n) { throw et(new Gr) }, l.Eh = function (e) { throw et(new Gr) }, l.ck = function () { throw et(new Gr) }, l.dk = function () { return this.a }, l.ek = function () { return this.b }, l.fk = function () { return this.c }, l.gk = function () { throw et(new Gr) }, l.hk = function (e) { throw et(new Gr) }, l.ik = function (e) { this.a = e }, l.jk = function (e) { this.b = e }, l.kk = function (e) { this.c = e }, N(Mn, "DynamicEObjectImpl/DynamicEPropertiesHolderImpl", 1377), M(510, 150, { 105: 1, 92: 1, 90: 1, 590: 1, 147: 1, 56: 1, 108: 1, 49: 1, 97: 1, 510: 1, 150: 1, 114: 1, 115: 1 }, VF), l.Qg = function (e) { return O3t(this, e) }, l._g = function (e, n, r) { var s; switch (e) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), this.Ab; case 1: return this.d; case 2: return r ? (!this.b && (this.b = new Ml((hn(), uo), xc, this)), this.b) : (!this.b && (this.b = new Ml((hn(), uo), xc, this)), hD(this.b)); case 3: return SXt(this); case 4: return !this.a && (this.a = new qs(T2, this, 4)), this.a; case 5: return !this.c && (this.c = new U3(T2, this, 5)), this.c }return ph(this, e - ar((hn(), Zg)), wn((s = u(Dn(this, 16), 26), s || Zg), e), n, r) }, l.hh = function (e, n, r) { var s, o, h; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), au(this.Ab, e, r); case 3: return this.Cb && (r = (o = this.Db >> 16, o >= 0 ? O3t(this, r) : this.Cb.ih(this, -1 - o, null, r))), Mvt(this, u(e, 147), r) }return h = u(wn((s = u(Dn(this, 16), 26), s || (hn(), Zg)), n), 66), h.Nj().Qj(this, fu(this), n - ar((hn(), Zg)), e, r) }, l.jh = function (e, n, r) { var s, o; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), Za(this.Ab, e, r); case 2: return !this.b && (this.b = new Ml((hn(), uo), xc, this)), dj(this.b, e, r); case 3: return Mvt(this, null, r); case 4: return !this.a && (this.a = new qs(T2, this, 4)), Za(this.a, e, r) }return o = u(wn((s = u(Dn(this, 16), 26), s || (hn(), Zg)), n), 66), o.Nj().Rj(this, fu(this), n - ar((hn(), Zg)), e, r) }, l.lh = function (e) { var n; switch (e) { case 0: return !!this.Ab && this.Ab.i != 0; case 1: return this.d != null; case 2: return !!this.b && this.b.f != 0; case 3: return !!SXt(this); case 4: return !!this.a && this.a.i != 0; case 5: return !!this.c && this.c.i != 0 }return dh(this, e - ar((hn(), Zg)), wn((n = u(Dn(this, 16), 26), n || Zg), e)) }, l.sh = function (e, n) { var r; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab), !this.Ab && (this.Ab = new he(li, this, 0, 3)), vs(this.Ab, u(n, 14)); return; case 1: JZe(this, Kr(n)); return; case 2: !this.b && (this.b = new Ml((hn(), uo), xc, this)), ez(this.b, n); return; case 3: zoe(this, u(n, 147)); return; case 4: !this.a && (this.a = new qs(T2, this, 4)), Ir(this.a), !this.a && (this.a = new qs(T2, this, 4)), vs(this.a, u(n, 14)); return; case 5: !this.c && (this.c = new U3(T2, this, 5)), Ir(this.c), !this.c && (this.c = new U3(T2, this, 5)), vs(this.c, u(n, 14)); return }yh(this, e - ar((hn(), Zg)), wn((r = u(Dn(this, 16), 26), r || Zg), e), n) }, l.zh = function () { return hn(), Zg }, l.Bh = function (e) { var n; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab); return; case 1: Nmt(this, null); return; case 2: !this.b && (this.b = new Ml((hn(), uo), xc, this)), this.b.c.$b(); return; case 3: zoe(this, null); return; case 4: !this.a && (this.a = new qs(T2, this, 4)), Ir(this.a); return; case 5: !this.c && (this.c = new U3(T2, this, 5)), Ir(this.c); return }wh(this, e - ar((hn(), Zg)), wn((n = u(Dn(this, 16), 26), n || Zg), e)) }, l.Ib = function () { return nre(this) }, l.d = null, N(Mn, "EAnnotationImpl", 510), M(151, 705, f8t, Nl), l.Xh = function (e, n) { PKe(this, e, u(n, 42)) }, l.lk = function (e, n) { return LXe(this, u(e, 42), n) }, l.pi = function (e) { return u(u(this.c, 69).pi(e), 133) }, l.Zh = function () { return u(this.c, 69).Zh() }, l.$h = function () { return u(this.c, 69).$h() }, l._h = function (e) { return u(this.c, 69)._h(e) }, l.mk = function (e, n) { return dj(this, e, n) }, l.Wj = function (e) { return u(this.c, 76).Wj(e) }, l.rj = function () { }, l.fj = function () { return u(this.c, 76).fj() }, l.tj = function (e, n, r) { var s; return s = u(Vl(this.b).Nh().Jh(this.b), 133), s.Th(e), s.Uh(n), s.ed(r), s }, l.uj = function () { return new Jgt(this) }, l.Wb = function (e) { ez(this, e) }, l.Xj = function () { u(this.c, 76).Xj() }, N(Ji, "EcoreEMap", 151), M(158, 151, f8t, Ml), l.qj = function () { var e, n, r, s, o, h; if (this.d == null) { for (h = Ot(EAt, h8t, 63, 2 * this.f + 1, 0, 1), r = this.c.Kc(); r.e != r.i.gc();)n = u(r.nj(), 133), s = n.Sh(), o = (s & Di) % h.length, e = h[o], !e && (e = h[o] = new Jgt(this)), e.Fc(n); this.d = h } }, N(Mn, "EAnnotationImpl/1", 158), M(284, 438, { 105: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 108: 1, 472: 1, 49: 1, 97: 1, 150: 1, 284: 1, 114: 1, 115: 1 }), l._g = function (e, n, r) { var s, o; switch (e) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), this.Ab; case 1: return this.zb; case 2: return Rn(), !!(this.Bb & 256); case 3: return Rn(), !!(this.Bb & 512); case 4: return pe(this.s); case 5: return pe(this.t); case 6: return Rn(), !!this.$j(); case 7: return Rn(), o = this.s, o >= 1; case 8: return n ? Bh(this) : this.r; case 9: return this.q }return ph(this, e - ar(this.zh()), wn((s = u(Dn(this, 16), 26), s || this.zh()), e), n, r) }, l.jh = function (e, n, r) { var s, o; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), Za(this.Ab, e, r); case 9: return Ont(this, r) }return o = u(wn((s = u(Dn(this, 16), 26), s || this.zh()), n), 66), o.Nj().Rj(this, fu(this), n - ar(this.zh()), e, r) }, l.lh = function (e) { var n, r; switch (e) { case 0: return !!this.Ab && this.Ab.i != 0; case 1: return this.zb != null; case 2: return (this.Bb & 256) == 0; case 3: return (this.Bb & 512) == 0; case 4: return this.s != 0; case 5: return this.t != 1; case 6: return this.$j(); case 7: return r = this.s, r >= 1; case 8: return !!this.r && !this.q.e && Fv(this.q).i == 0; case 9: return !!this.q && !(this.r && !this.q.e && Fv(this.q).i == 0) }return dh(this, e - ar(this.zh()), wn((n = u(Dn(this, 16), 26), n || this.zh()), e)) }, l.sh = function (e, n) { var r, s; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab), !this.Ab && (this.Ab = new he(li, this, 0, 3)), vs(this.Ab, u(n, 14)); return; case 1: this.Lh(Kr(n)); return; case 2: Og(this, Re(Be(n))); return; case 3: Ng(this, Re(Be(n))); return; case 4: Mg(this, u(n, 19).a); return; case 5: this.ok(u(n, 19).a); return; case 8: lb(this, u(n, 138)); return; case 9: s = z1(this, u(n, 87), null), s && s.Fi(); return }yh(this, e - ar(this.zh()), wn((r = u(Dn(this, 16), 26), r || this.zh()), e), n) }, l.zh = function () { return hn(), h4e }, l.Bh = function (e) { var n, r; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab); return; case 1: this.Lh(null); return; case 2: Og(this, !0); return; case 3: Ng(this, !0); return; case 4: Mg(this, 0); return; case 5: this.ok(1); return; case 8: lb(this, null); return; case 9: r = z1(this, null, null), r && r.Fi(); return }wh(this, e - ar(this.zh()), wn((n = u(Dn(this, 16), 26), n || this.zh()), e)) }, l.Gh = function () { Bh(this), this.Bb |= 1 }, l.Yj = function () { return Bh(this) }, l.Zj = function () { return this.t }, l.$j = function () { var e; return e = this.t, e > 1 || e == -1 }, l.hi = function () { return (this.Bb & 512) != 0 }, l.nk = function (e, n) { return Ayt(this, e, n) }, l.ok = function (e) { Zm(this, e) }, l.Ib = function () { return j4t(this) }, l.s = 0, l.t = 1, N(Mn, "ETypedElementImpl", 284), M(449, 284, { 105: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 170: 1, 66: 1, 108: 1, 472: 1, 49: 1, 97: 1, 150: 1, 449: 1, 284: 1, 114: 1, 115: 1, 677: 1 }), l.Qg = function (e) { return Rie(this, e) }, l._g = function (e, n, r) { var s, o; switch (e) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), this.Ab; case 1: return this.zb; case 2: return Rn(), !!(this.Bb & 256); case 3: return Rn(), !!(this.Bb & 512); case 4: return pe(this.s); case 5: return pe(this.t); case 6: return Rn(), !!this.$j(); case 7: return Rn(), o = this.s, o >= 1; case 8: return n ? Bh(this) : this.r; case 9: return this.q; case 10: return Rn(), !!(this.Bb & Tf); case 11: return Rn(), !!(this.Bb & Cy); case 12: return Rn(), !!(this.Bb & wy); case 13: return this.j; case 14: return m7(this); case 15: return Rn(), !!(this.Bb & Zu); case 16: return Rn(), !!(this.Bb & kd); case 17: return Hm(this) }return ph(this, e - ar(this.zh()), wn((s = u(Dn(this, 16), 26), s || this.zh()), e), n, r) }, l.hh = function (e, n, r) { var s, o, h; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), au(this.Ab, e, r); case 17: return this.Cb && (r = (o = this.Db >> 16, o >= 0 ? Rie(this, r) : this.Cb.ih(this, -1 - o, null, r))), Yl(this, e, 17, r) }return h = u(wn((s = u(Dn(this, 16), 26), s || this.zh()), n), 66), h.Nj().Qj(this, fu(this), n - ar(this.zh()), e, r) }, l.jh = function (e, n, r) { var s, o; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), Za(this.Ab, e, r); case 9: return Ont(this, r); case 17: return Yl(this, null, 17, r) }return o = u(wn((s = u(Dn(this, 16), 26), s || this.zh()), n), 66), o.Nj().Rj(this, fu(this), n - ar(this.zh()), e, r) }, l.lh = function (e) { var n, r; switch (e) { case 0: return !!this.Ab && this.Ab.i != 0; case 1: return this.zb != null; case 2: return (this.Bb & 256) == 0; case 3: return (this.Bb & 512) == 0; case 4: return this.s != 0; case 5: return this.t != 1; case 6: return this.$j(); case 7: return r = this.s, r >= 1; case 8: return !!this.r && !this.q.e && Fv(this.q).i == 0; case 9: return !!this.q && !(this.r && !this.q.e && Fv(this.q).i == 0); case 10: return (this.Bb & Tf) == 0; case 11: return (this.Bb & Cy) != 0; case 12: return (this.Bb & wy) != 0; case 13: return this.j != null; case 14: return m7(this) != null; case 15: return (this.Bb & Zu) != 0; case 16: return (this.Bb & kd) != 0; case 17: return !!Hm(this) }return dh(this, e - ar(this.zh()), wn((n = u(Dn(this, 16), 26), n || this.zh()), e)) }, l.sh = function (e, n) { var r, s; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab), !this.Ab && (this.Ab = new he(li, this, 0, 3)), vs(this.Ab, u(n, 14)); return; case 1: ort(this, Kr(n)); return; case 2: Og(this, Re(Be(n))); return; case 3: Ng(this, Re(Be(n))); return; case 4: Mg(this, u(n, 19).a); return; case 5: this.ok(u(n, 19).a); return; case 8: lb(this, u(n, 138)); return; case 9: s = z1(this, u(n, 87), null), s && s.Fi(); return; case 10: n7(this, Re(Be(n))); return; case 11: s7(this, Re(Be(n))); return; case 12: r7(this, Re(Be(n))); return; case 13: M2t(this, Kr(n)); return; case 15: i7(this, Re(Be(n))); return; case 16: a7(this, Re(Be(n))); return }yh(this, e - ar(this.zh()), wn((r = u(Dn(this, 16), 26), r || this.zh()), e), n) }, l.zh = function () { return hn(), l4e }, l.Bh = function (e) { var n, r; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab); return; case 1: Et(this.Cb, 88) && uy(gl(u(this.Cb, 88)), 4), su(this, null); return; case 2: Og(this, !0); return; case 3: Ng(this, !0); return; case 4: Mg(this, 0); return; case 5: this.ok(1); return; case 8: lb(this, null); return; case 9: r = z1(this, null, null), r && r.Fi(); return; case 10: n7(this, !0); return; case 11: s7(this, !1); return; case 12: r7(this, !1); return; case 13: this.i = null, U$(this, null); return; case 15: i7(this, !1); return; case 16: a7(this, !1); return }wh(this, e - ar(this.zh()), wn((n = u(Dn(this, 16), 26), n || this.zh()), e)) }, l.Gh = function () { k8(Bo((Yu(), Pa), this)), Bh(this), this.Bb |= 1 }, l.Gj = function () { return this.f }, l.zj = function () { return m7(this) }, l.Hj = function () { return Hm(this) }, l.Lj = function () { return null }, l.pk = function () { return this.k }, l.aj = function () { return this.n }, l.Mj = function () { return qz(this) }, l.Nj = function () { var e, n, r, s, o, h, d, w, k; return this.p || (r = Hm(this), (r.i == null && xd(r), r.i).length, s = this.Lj(), s && ar(Hm(s)), o = Bh(this), d = o.Bj(), e = d ? d.i & 1 ? d == Tl ? Zs : d == Br ? to : d == e3 ? X7 : d == wa ? ka : d == D2 ? xw : d == f5 ? kw : d == tl ? kx : tS : d : null, n = m7(this), w = o.zj(), Ocn(this), this.Bb & kd && ((h = $3t((Yu(), Pa), r)) && h != this || (h = z6(Bo(Pa, this)))) ? this.p = new VVt(this, h) : this.$j() ? this.rk() ? s ? this.Bb & Zu ? e ? this.sk() ? this.p = new X2(47, e, this, s) : this.p = new X2(5, e, this, s) : this.sk() ? this.p = new J2(46, this, s) : this.p = new J2(4, this, s) : e ? this.sk() ? this.p = new X2(49, e, this, s) : this.p = new X2(7, e, this, s) : this.sk() ? this.p = new J2(48, this, s) : this.p = new J2(6, this, s) : this.Bb & Zu ? e ? e == Ab ? this.p = new Tg(50, U3e, this) : this.sk() ? this.p = new Tg(43, e, this) : this.p = new Tg(1, e, this) : this.sk() ? this.p = new Cg(42, this) : this.p = new Cg(0, this) : e ? e == Ab ? this.p = new Tg(41, U3e, this) : this.sk() ? this.p = new Tg(45, e, this) : this.p = new Tg(3, e, this) : this.sk() ? this.p = new Cg(44, this) : this.p = new Cg(2, this) : Et(o, 148) ? e == XG ? this.p = new Cg(40, this) : this.Bb & 512 ? this.Bb & Zu ? e ? this.p = new Tg(9, e, this) : this.p = new Cg(8, this) : e ? this.p = new Tg(11, e, this) : this.p = new Cg(10, this) : this.Bb & Zu ? e ? this.p = new Tg(13, e, this) : this.p = new Cg(12, this) : e ? this.p = new Tg(15, e, this) : this.p = new Cg(14, this) : s ? (k = s.t, k > 1 || k == -1 ? this.sk() ? this.Bb & Zu ? e ? this.p = new X2(25, e, this, s) : this.p = new J2(24, this, s) : e ? this.p = new X2(27, e, this, s) : this.p = new J2(26, this, s) : this.Bb & Zu ? e ? this.p = new X2(29, e, this, s) : this.p = new J2(28, this, s) : e ? this.p = new X2(31, e, this, s) : this.p = new J2(30, this, s) : this.sk() ? this.Bb & Zu ? e ? this.p = new X2(33, e, this, s) : this.p = new J2(32, this, s) : e ? this.p = new X2(35, e, this, s) : this.p = new J2(34, this, s) : this.Bb & Zu ? e ? this.p = new X2(37, e, this, s) : this.p = new J2(36, this, s) : e ? this.p = new X2(39, e, this, s) : this.p = new J2(38, this, s)) : this.sk() ? this.Bb & Zu ? e ? this.p = new Tg(17, e, this) : this.p = new Cg(16, this) : e ? this.p = new Tg(19, e, this) : this.p = new Cg(18, this) : this.Bb & Zu ? e ? this.p = new Tg(21, e, this) : this.p = new Cg(20, this) : e ? this.p = new Tg(23, e, this) : this.p = new Cg(22, this) : this.qk() ? this.sk() ? this.p = new DWt(u(o, 26), this, s) : this.p = new dwt(u(o, 26), this, s) : Et(o, 148) ? e == XG ? this.p = new Cg(40, this) : this.Bb & Zu ? e ? this.p = new LKt(n, w, this, (Nit(), d == Br ? $At : d == Tl ? PAt : d == D2 ? zAt : d == e3 ? jAt : d == wa ? RAt : d == f5 ? qAt : d == tl ? FAt : d == Sh ? BAt : bft)) : this.p = new zYt(u(o, 148), n, w, this) : e ? this.p = new AKt(n, w, this, (Nit(), d == Br ? $At : d == Tl ? PAt : d == D2 ? zAt : d == e3 ? jAt : d == wa ? RAt : d == f5 ? qAt : d == tl ? FAt : d == Sh ? BAt : bft)) : this.p = new $Yt(u(o, 148), n, w, this) : this.rk() ? s ? this.Bb & Zu ? this.sk() ? this.p = new OWt(u(o, 26), this, s) : this.p = new ivt(u(o, 26), this, s) : this.sk() ? this.p = new IWt(u(o, 26), this, s) : this.p = new unt(u(o, 26), this, s) : this.Bb & Zu ? this.sk() ? this.p = new AUt(u(o, 26), this) : this.p = new wbt(u(o, 26), this) : this.sk() ? this.p = new SUt(u(o, 26), this) : this.p = new Yet(u(o, 26), this) : this.sk() ? s ? this.Bb & Zu ? this.p = new NWt(u(o, 26), this, s) : this.p = new nvt(u(o, 26), this, s) : this.Bb & Zu ? this.p = new LUt(u(o, 26), this) : this.p = new mbt(u(o, 26), this) : s ? this.Bb & Zu ? this.p = new PWt(u(o, 26), this, s) : this.p = new rvt(u(o, 26), this, s) : this.Bb & Zu ? this.p = new MUt(u(o, 26), this) : this.p = new Cj(u(o, 26), this)), this.p }, l.Ij = function () { return (this.Bb & Tf) != 0 }, l.qk = function () { return !1 }, l.rk = function () { return !1 }, l.Jj = function () { return (this.Bb & kd) != 0 }, l.Oj = function () { return Brt(this) }, l.sk = function () { return !1 }, l.Kj = function () { return (this.Bb & Zu) != 0 }, l.tk = function (e) { this.k = e }, l.Lh = function (e) { ort(this, e) }, l.Ib = function () { return aq(this) }, l.e = !1, l.n = 0, N(Mn, "EStructuralFeatureImpl", 449), M(322, 449, { 105: 1, 92: 1, 90: 1, 34: 1, 147: 1, 191: 1, 56: 1, 170: 1, 66: 1, 108: 1, 472: 1, 49: 1, 97: 1, 322: 1, 150: 1, 449: 1, 284: 1, 114: 1, 115: 1, 677: 1 }, Ntt), l._g = function (e, n, r) { var s, o; switch (e) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), this.Ab; case 1: return this.zb; case 2: return Rn(), !!(this.Bb & 256); case 3: return Rn(), !!(this.Bb & 512); case 4: return pe(this.s); case 5: return pe(this.t); case 6: return Rn(), !!P4t(this); case 7: return Rn(), o = this.s, o >= 1; case 8: return n ? Bh(this) : this.r; case 9: return this.q; case 10: return Rn(), !!(this.Bb & Tf); case 11: return Rn(), !!(this.Bb & Cy); case 12: return Rn(), !!(this.Bb & wy); case 13: return this.j; case 14: return m7(this); case 15: return Rn(), !!(this.Bb & Zu); case 16: return Rn(), !!(this.Bb & kd); case 17: return Hm(this); case 18: return Rn(), !!(this.Bb & Ac); case 19: return n ? eit(this) : zZt(this) }return ph(this, e - ar((hn(), Zy)), wn((s = u(Dn(this, 16), 26), s || Zy), e), n, r) }, l.lh = function (e) { var n, r; switch (e) { case 0: return !!this.Ab && this.Ab.i != 0; case 1: return this.zb != null; case 2: return (this.Bb & 256) == 0; case 3: return (this.Bb & 512) == 0; case 4: return this.s != 0; case 5: return this.t != 1; case 6: return P4t(this); case 7: return r = this.s, r >= 1; case 8: return !!this.r && !this.q.e && Fv(this.q).i == 0; case 9: return !!this.q && !(this.r && !this.q.e && Fv(this.q).i == 0); case 10: return (this.Bb & Tf) == 0; case 11: return (this.Bb & Cy) != 0; case 12: return (this.Bb & wy) != 0; case 13: return this.j != null; case 14: return m7(this) != null; case 15: return (this.Bb & Zu) != 0; case 16: return (this.Bb & kd) != 0; case 17: return !!Hm(this); case 18: return (this.Bb & Ac) != 0; case 19: return !!zZt(this) }return dh(this, e - ar((hn(), Zy)), wn((n = u(Dn(this, 16), 26), n || Zy), e)) }, l.sh = function (e, n) { var r, s; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab), !this.Ab && (this.Ab = new he(li, this, 0, 3)), vs(this.Ab, u(n, 14)); return; case 1: ort(this, Kr(n)); return; case 2: Og(this, Re(Be(n))); return; case 3: Ng(this, Re(Be(n))); return; case 4: Mg(this, u(n, 19).a); return; case 5: mqt(this, u(n, 19).a); return; case 8: lb(this, u(n, 138)); return; case 9: s = z1(this, u(n, 87), null), s && s.Fi(); return; case 10: n7(this, Re(Be(n))); return; case 11: s7(this, Re(Be(n))); return; case 12: r7(this, Re(Be(n))); return; case 13: M2t(this, Kr(n)); return; case 15: i7(this, Re(Be(n))); return; case 16: a7(this, Re(Be(n))); return; case 18: Cit(this, Re(Be(n))); return }yh(this, e - ar((hn(), Zy)), wn((r = u(Dn(this, 16), 26), r || Zy), e), n) }, l.zh = function () { return hn(), Zy }, l.Bh = function (e) { var n, r; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab); return; case 1: Et(this.Cb, 88) && uy(gl(u(this.Cb, 88)), 4), su(this, null); return; case 2: Og(this, !0); return; case 3: Ng(this, !0); return; case 4: Mg(this, 0); return; case 5: this.b = 0, Zm(this, 1); return; case 8: lb(this, null); return; case 9: r = z1(this, null, null), r && r.Fi(); return; case 10: n7(this, !0); return; case 11: s7(this, !1); return; case 12: r7(this, !1); return; case 13: this.i = null, U$(this, null); return; case 15: i7(this, !1); return; case 16: a7(this, !1); return; case 18: Cit(this, !1); return }wh(this, e - ar((hn(), Zy)), wn((n = u(Dn(this, 16), 26), n || Zy), e)) }, l.Gh = function () { eit(this), k8(Bo((Yu(), Pa), this)), Bh(this), this.Bb |= 1 }, l.$j = function () { return P4t(this) }, l.nk = function (e, n) { return this.b = 0, this.a = null, Ayt(this, e, n) }, l.ok = function (e) { mqt(this, e) }, l.Ib = function () { var e; return this.Db & 64 ? aq(this) : (e = new Ih(aq(this)), e.a += " (iD: ", xg(e, (this.Bb & Ac) != 0), e.a += ")", e.a) }, l.b = 0, N(Mn, "EAttributeImpl", 322), M(351, 438, { 105: 1, 92: 1, 90: 1, 138: 1, 147: 1, 191: 1, 56: 1, 108: 1, 49: 1, 97: 1, 351: 1, 150: 1, 114: 1, 115: 1, 676: 1 }), l.uk = function (e) { return e.Tg() == this }, l.Qg = function (e) { return ast(this, e) }, l.Rg = function (e, n) { this.w = null, this.Db = n << 16 | this.Db & 255, this.Cb = e }, l._g = function (e, n, r) { var s; switch (e) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), this.Ab; case 1: return this.zb; case 2: return this.D != null ? this.D : this.B; case 3: return sw(this); case 4: return this.zj(); case 5: return this.F; case 6: return n ? Vl(this) : _8(this); case 7: return !this.A && (this.A = new Vu(wu, this, 7)), this.A }return ph(this, e - ar(this.zh()), wn((s = u(Dn(this, 16), 26), s || this.zh()), e), n, r) }, l.hh = function (e, n, r) { var s, o, h; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), au(this.Ab, e, r); case 6: return this.Cb && (r = (o = this.Db >> 16, o >= 0 ? ast(this, r) : this.Cb.ih(this, -1 - o, null, r))), Yl(this, e, 6, r) }return h = u(wn((s = u(Dn(this, 16), 26), s || this.zh()), n), 66), h.Nj().Qj(this, fu(this), n - ar(this.zh()), e, r) }, l.jh = function (e, n, r) { var s, o; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), Za(this.Ab, e, r); case 6: return Yl(this, null, 6, r); case 7: return !this.A && (this.A = new Vu(wu, this, 7)), Za(this.A, e, r) }return o = u(wn((s = u(Dn(this, 16), 26), s || this.zh()), n), 66), o.Nj().Rj(this, fu(this), n - ar(this.zh()), e, r) }, l.lh = function (e) { var n; switch (e) { case 0: return !!this.Ab && this.Ab.i != 0; case 1: return this.zb != null; case 2: return this.D != null && this.D == this.F; case 3: return !!sw(this); case 4: return this.zj() != null; case 5: return this.F != null && this.F != this.D && this.F != this.B; case 6: return !!_8(this); case 7: return !!this.A && this.A.i != 0 }return dh(this, e - ar(this.zh()), wn((n = u(Dn(this, 16), 26), n || this.zh()), e)) }, l.sh = function (e, n) { var r; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab), !this.Ab && (this.Ab = new he(li, this, 0, 3)), vs(this.Ab, u(n, 14)); return; case 1: a$(this, Kr(n)); return; case 2: Fet(this, Kr(n)); return; case 5: _7(this, Kr(n)); return; case 7: !this.A && (this.A = new Vu(wu, this, 7)), Ir(this.A), !this.A && (this.A = new Vu(wu, this, 7)), vs(this.A, u(n, 14)); return }yh(this, e - ar(this.zh()), wn((r = u(Dn(this, 16), 26), r || this.zh()), e), n) }, l.zh = function () { return hn(), i4e }, l.Bh = function (e) { var n; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab); return; case 1: Et(this.Cb, 179) && (u(this.Cb, 179).tb = null), su(this, null); return; case 2: Z8(this, null), $8(this, this.D); return; case 5: _7(this, null); return; case 7: !this.A && (this.A = new Vu(wu, this, 7)), Ir(this.A); return }wh(this, e - ar(this.zh()), wn((n = u(Dn(this, 16), 26), n || this.zh()), e)) }, l.yj = function () { var e; return this.G == -1 && (this.G = (e = Vl(this), e ? Pg(e.Mh(), this) : -1)), this.G }, l.zj = function () { return null }, l.Aj = function () { return Vl(this) }, l.vk = function () { return this.v }, l.Bj = function () { return sw(this) }, l.Cj = function () { return this.D != null ? this.D : this.B }, l.Dj = function () { return this.F }, l.wj = function (e) { return Zst(this, e) }, l.wk = function (e) { this.v = e }, l.xk = function (e) { vee(this, e) }, l.yk = function (e) { this.C = e }, l.Lh = function (e) { a$(this, e) }, l.Ib = function () { return wz(this) }, l.C = null, l.D = null, l.G = -1, N(Mn, "EClassifierImpl", 351), M(88, 351, { 105: 1, 92: 1, 90: 1, 26: 1, 138: 1, 147: 1, 191: 1, 56: 1, 108: 1, 49: 1, 97: 1, 88: 1, 351: 1, 150: 1, 473: 1, 114: 1, 115: 1, 676: 1 }, YL), l.uk = function (e) { return pXe(this, e.Tg()) }, l._g = function (e, n, r) { var s; switch (e) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), this.Ab; case 1: return this.zb; case 2: return this.D != null ? this.D : this.B; case 3: return sw(this); case 4: return null; case 5: return this.F; case 6: return n ? Vl(this) : _8(this); case 7: return !this.A && (this.A = new Vu(wu, this, 7)), this.A; case 8: return Rn(), !!(this.Bb & 256); case 9: return Rn(), !!(this.Bb & 512); case 10: return zo(this); case 11: return !this.q && (this.q = new he(Jh, this, 11, 10)), this.q; case 12: return k4(this); case 13: return bC(this); case 14: return bC(this), this.r; case 15: return k4(this), this.k; case 16: return _4t(this); case 17: return rat(this); case 18: return xd(this); case 19: return Jz(this); case 20: return k4(this), this.o; case 21: return !this.s && (this.s = new he(ju, this, 21, 17)), this.s; case 22: return $c(this); case 23: return qst(this) }return ph(this, e - ar((hn(), S2)), wn((s = u(Dn(this, 16), 26), s || S2), e), n, r) }, l.hh = function (e, n, r) { var s, o, h; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), au(this.Ab, e, r); case 6: return this.Cb && (r = (o = this.Db >> 16, o >= 0 ? ast(this, r) : this.Cb.ih(this, -1 - o, null, r))), Yl(this, e, 6, r); case 11: return !this.q && (this.q = new he(Jh, this, 11, 10)), au(this.q, e, r); case 21: return !this.s && (this.s = new he(ju, this, 21, 17)), au(this.s, e, r) }return h = u(wn((s = u(Dn(this, 16), 26), s || (hn(), S2)), n), 66), h.Nj().Qj(this, fu(this), n - ar((hn(), S2)), e, r) }, l.jh = function (e, n, r) { var s, o; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), Za(this.Ab, e, r); case 6: return Yl(this, null, 6, r); case 7: return !this.A && (this.A = new Vu(wu, this, 7)), Za(this.A, e, r); case 11: return !this.q && (this.q = new he(Jh, this, 11, 10)), Za(this.q, e, r); case 21: return !this.s && (this.s = new he(ju, this, 21, 17)), Za(this.s, e, r); case 22: return Za($c(this), e, r) }return o = u(wn((s = u(Dn(this, 16), 26), s || (hn(), S2)), n), 66), o.Nj().Rj(this, fu(this), n - ar((hn(), S2)), e, r) }, l.lh = function (e) { var n; switch (e) { case 0: return !!this.Ab && this.Ab.i != 0; case 1: return this.zb != null; case 2: return this.D != null && this.D == this.F; case 3: return !!sw(this); case 4: return !1; case 5: return this.F != null && this.F != this.D && this.F != this.B; case 6: return !!_8(this); case 7: return !!this.A && this.A.i != 0; case 8: return (this.Bb & 256) != 0; case 9: return (this.Bb & 512) != 0; case 10: return !!this.u && $c(this.u.a).i != 0 && !(this.n && Yit(this.n)); case 11: return !!this.q && this.q.i != 0; case 12: return k4(this).i != 0; case 13: return bC(this).i != 0; case 14: return bC(this), this.r.i != 0; case 15: return k4(this), this.k.i != 0; case 16: return _4t(this).i != 0; case 17: return rat(this).i != 0; case 18: return xd(this).i != 0; case 19: return Jz(this).i != 0; case 20: return k4(this), !!this.o; case 21: return !!this.s && this.s.i != 0; case 22: return !!this.n && Yit(this.n); case 23: return qst(this).i != 0 }return dh(this, e - ar((hn(), S2)), wn((n = u(Dn(this, 16), 26), n || S2), e)) }, l.oh = function (e) { var n; return n = this.i == null || this.q && this.q.i != 0 ? null : dI(this, e), n || n6t(this, e) }, l.sh = function (e, n) { var r; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab), !this.Ab && (this.Ab = new he(li, this, 0, 3)), vs(this.Ab, u(n, 14)); return; case 1: a$(this, Kr(n)); return; case 2: Fet(this, Kr(n)); return; case 5: _7(this, Kr(n)); return; case 7: !this.A && (this.A = new Vu(wu, this, 7)), Ir(this.A), !this.A && (this.A = new Vu(wu, this, 7)), vs(this.A, u(n, 14)); return; case 8: Myt(this, Re(Be(n))); return; case 9: Dyt(this, Re(Be(n))); return; case 10: mC(zo(this)), vs(zo(this), u(n, 14)); return; case 11: !this.q && (this.q = new he(Jh, this, 11, 10)), Ir(this.q), !this.q && (this.q = new he(Jh, this, 11, 10)), vs(this.q, u(n, 14)); return; case 21: !this.s && (this.s = new he(ju, this, 21, 17)), Ir(this.s), !this.s && (this.s = new he(ju, this, 21, 17)), vs(this.s, u(n, 14)); return; case 22: Ir($c(this)), vs($c(this), u(n, 14)); return }yh(this, e - ar((hn(), S2)), wn((r = u(Dn(this, 16), 26), r || S2), e), n) }, l.zh = function () { return hn(), S2 }, l.Bh = function (e) { var n; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab); return; case 1: Et(this.Cb, 179) && (u(this.Cb, 179).tb = null), su(this, null); return; case 2: Z8(this, null), $8(this, this.D); return; case 5: _7(this, null); return; case 7: !this.A && (this.A = new Vu(wu, this, 7)), Ir(this.A); return; case 8: Myt(this, !1); return; case 9: Dyt(this, !1); return; case 10: this.u && mC(this.u); return; case 11: !this.q && (this.q = new he(Jh, this, 11, 10)), Ir(this.q); return; case 21: !this.s && (this.s = new he(ju, this, 21, 17)), Ir(this.s); return; case 22: this.n && Ir(this.n); return }wh(this, e - ar((hn(), S2)), wn((n = u(Dn(this, 16), 26), n || S2), e)) }, l.Gh = function () { var e, n; if (k4(this), bC(this), _4t(this), rat(this), xd(this), Jz(this), qst(this), I_(IZe(gl(this))), this.s) for (e = 0, n = this.s.i; e < n; ++e)PM(St(this.s, e)); if (this.q) for (e = 0, n = this.q.i; e < n; ++e)PM(St(this.q, e)); Ig((Yu(), Pa), this).ne(), this.Bb |= 1 }, l.Ib = function () { return W3t(this) }, l.k = null, l.r = null; var tA, g4e, gft; N(Mn, "EClassImpl", 88), M(1994, 1993, Ode), l.Vh = function (e, n) { return Jst(this, e, n) }, l.Wh = function (e) { return Jst(this, this.i, e) }, l.Xh = function (e, n) { $4t(this, e, n) }, l.Yh = function (e) { Dst(this, e) }, l.lk = function (e, n) { return au(this, e, n) }, l.pi = function (e) { return cmt(this, e) }, l.mk = function (e, n) { return Za(this, e, n) }, l.mi = function (e, n) { return Sue(this, e, n) }, l.Zh = function () { return new L6(this) }, l.$h = function () { return new NM(this) }, l._h = function (e) { return _D(this, e) }, N(Ji, "NotifyingInternalEListImpl", 1994), M(622, 1994, tc), l.Hc = function (e) { return Gue(this, e) }, l.Zi = function (e, n, r, s, o) { return C_(this, e, n, r, s, o) }, l.$i = function (e) { Kk(this, e) }, l.Wj = function (e) { return this }, l.ak = function () { return wn(this.e.Tg(), this.aj()) }, l._i = function () { return this.ak() }, l.aj = function () { return is(this.e.Tg(), this.ak()) }, l.zk = function () { return u(this.ak().Yj(), 26).Bj() }, l.Ak = function () { return bo(u(this.ak(), 18)).n }, l.Ai = function () { return this.e }, l.Bk = function () { return !0 }, l.Ck = function () { return !1 }, l.Dk = function () { return !1 }, l.Ek = function () { return !1 }, l.Xc = function (e) { return Pg(this, e) }, l.cj = function (e, n) { var r; return r = u(e, 49), this.Dk() ? this.Bk() ? r.gh(this.e, this.Ak(), this.zk(), n) : r.gh(this.e, is(r.Tg(), bo(u(this.ak(), 18))), null, n) : r.gh(this.e, -1 - this.aj(), null, n) }, l.dj = function (e, n) { var r; return r = u(e, 49), this.Dk() ? this.Bk() ? r.ih(this.e, this.Ak(), this.zk(), n) : r.ih(this.e, is(r.Tg(), bo(u(this.ak(), 18))), null, n) : r.ih(this.e, -1 - this.aj(), null, n) }, l.rk = function () { return !1 }, l.Fk = function () { return !0 }, l.wj = function (e) { return zQt(this.d, e) }, l.ej = function () { return Ll(this.e) }, l.fj = function () { return this.i != 0 }, l.ri = function (e) { return TD(this.d, e) }, l.li = function (e, n) { return this.Fk() && this.Ek() ? ax(this, e, u(n, 56)) : n }, l.Gk = function (e) { return e.kh() ? Xp(this.e, u(e, 49)) : e }, l.Wb = function (e) { $Gt(this, e) }, l.Pc = function () { return _Jt(this) }, l.Qc = function (e) { var n; if (this.Ek()) for (n = this.i - 1; n >= 0; --n)St(this, n); return Jyt(this, e) }, l.Xj = function () { Ir(this) }, l.oi = function (e, n) { return $te(this, e, n) }, N(Ji, "EcoreEList", 622), M(496, 622, tc, UM), l.ai = function () { return !1 }, l.aj = function () { return this.c }, l.bj = function () { return !1 }, l.Fk = function () { return !0 }, l.hi = function () { return !0 }, l.li = function (e, n) { return n }, l.ni = function () { return !1 }, l.c = 0, N(Ji, "EObjectEList", 496), M(85, 496, tc, qs), l.bj = function () { return !0 }, l.Dk = function () { return !1 }, l.rk = function () { return !0 }, N(Ji, "EObjectContainmentEList", 85), M(545, 85, tc, nj), l.ci = function () { this.b = !0 }, l.fj = function () { return this.b }, l.Xj = function () { var e; Ir(this), Ll(this.e) ? (e = this.b, this.b = !1, Oi(this.e, new mf(this.e, 2, this.c, e, !1))) : this.b = !1 }, l.b = !1, N(Ji, "EObjectContainmentEList/Unsettable", 545), M(1140, 545, tc, CKt), l.ii = function (e, n) { var r, s; return r = u(K_(this, e, n), 87), Ll(this.e) && Kk(this, new dD(this.a, 7, (hn(), s4e), pe(n), (s = r.c, Et(s, 88) ? u(s, 26) : ef), e)), r }, l.jj = function (e, n) { return yun(this, u(e, 87), n) }, l.kj = function (e, n) { return mun(this, u(e, 87), n) }, l.lj = function (e, n, r) { return xfn(this, u(e, 87), u(n, 87), r) }, l.Zi = function (e, n, r, s, o) { switch (e) { case 3: return C_(this, e, n, r, s, this.i > 1); case 5: return C_(this, e, n, r, s, this.i - u(r, 15).gc() > 0); default: return new P0(this.e, e, this.c, n, r, s, !0) } }, l.ij = function () { return !0 }, l.fj = function () { return Yit(this) }, l.Xj = function () { Ir(this) }, N(Mn, "EClassImpl/1", 1140), M(1154, 1153, l8t), l.ui = function (e) { var n, r, s, o, h, d, w; if (r = e.xi(), r != 8) { if (s = rln(e), s == 0) switch (r) { case 1: case 9: { w = e.Bi(), w != null && (n = gl(u(w, 473)), !n.c && (n.c = new mm), M$(n.c, e.Ai())), d = e.zi(), d != null && (o = u(d, 473), o.Bb & 1 || (n = gl(o), !n.c && (n.c = new mm), Hr(n.c, u(e.Ai(), 26)))); break } case 3: { d = e.zi(), d != null && (o = u(d, 473), o.Bb & 1 || (n = gl(o), !n.c && (n.c = new mm), Hr(n.c, u(e.Ai(), 26)))); break } case 5: { if (d = e.zi(), d != null) for (h = u(d, 14).Kc(); h.Ob();)o = u(h.Pb(), 473), o.Bb & 1 || (n = gl(o), !n.c && (n.c = new mm), Hr(n.c, u(e.Ai(), 26))); break } case 4: { w = e.Bi(), w != null && (o = u(w, 473), o.Bb & 1 || (n = gl(o), !n.c && (n.c = new mm), M$(n.c, e.Ai()))); break } case 6: { if (w = e.Bi(), w != null) for (h = u(w, 14).Kc(); h.Ob();)o = u(h.Pb(), 473), o.Bb & 1 || (n = gl(o), !n.c && (n.c = new mm), M$(n.c, e.Ai())); break } }this.Hk(s) } }, l.Hk = function (e) { _ce(this, e) }, l.b = 63, N(Mn, "ESuperAdapter", 1154), M(1155, 1154, l8t, R$t), l.Hk = function (e) { uy(this, e) }, N(Mn, "EClassImpl/10", 1155), M(1144, 696, tc), l.Vh = function (e, n) { return vst(this, e, n) }, l.Wh = function (e) { return xie(this, e) }, l.Xh = function (e, n) { $D(this, e, n) }, l.Yh = function (e) { cD(this, e) }, l.pi = function (e) { return cmt(this, e) }, l.mi = function (e, n) { return Frt(this, e, n) }, l.lk = function (e, n) { throw et(new Gr) }, l.Zh = function () { return new L6(this) }, l.$h = function () { return new NM(this) }, l._h = function (e) { return _D(this, e) }, l.mk = function (e, n) { throw et(new Gr) }, l.Wj = function (e) { return this }, l.fj = function () { return this.i != 0 }, l.Wb = function (e) { throw et(new Gr) }, l.Xj = function () { throw et(new Gr) }, N(Ji, "EcoreEList/UnmodifiableEList", 1144), M(319, 1144, tc, q3), l.ni = function () { return !1 }, N(Ji, "EcoreEList/UnmodifiableEList/FastCompare", 319), M(1147, 319, tc, une), l.Xc = function (e) { var n, r, s; if (Et(e, 170) && (n = u(e, 170), r = n.aj(), r != -1)) { for (s = this.i; r < s; ++r)if (qt(this.g[r]) === qt(e)) return r } return -1 }, N(Mn, "EClassImpl/1EAllStructuralFeaturesList", 1147), M(1141, 497, Id, e6), l.ri = function (e) { return Ot(Co, Nde, 87, e, 0, 1) }, l.ni = function () { return !1 }, N(Mn, "EClassImpl/1EGenericSuperTypeEList", 1141), M(623, 497, Id, $2), l.ri = function (e) { return Ot(ju, P4, 170, e, 0, 1) }, l.ni = function () { return !1 }, N(Mn, "EClassImpl/1EStructuralFeatureUniqueEList", 623), M(741, 497, Id, T0), l.ri = function (e) { return Ot(Qy, P4, 18, e, 0, 1) }, l.ni = function () { return !1 }, N(Mn, "EClassImpl/1ReferenceList", 741), M(1142, 497, Id, j$t), l.bi = function (e, n) { EJe(this, u(n, 34)) }, l.ri = function (e) { return Ot(Xy, P4, 34, e, 0, 1) }, l.ni = function () { return !1 }, N(Mn, "EClassImpl/2", 1142), M(1143, 497, Id, xp), l.ri = function (e) { return Ot(Xy, P4, 34, e, 0, 1) }, l.ni = function () { return !1 }, N(Mn, "EClassImpl/3", 1143), M(1145, 319, tc, HWt), l.Fc = function (e) { return CZe(this, u(e, 34)) }, l.Yh = function (e) { NWe(this, u(e, 34)) }, N(Mn, "EClassImpl/4", 1145), M(1146, 319, tc, VWt), l.Fc = function (e) { return SZe(this, u(e, 18)) }, l.Yh = function (e) { PWe(this, u(e, 18)) }, N(Mn, "EClassImpl/5", 1146), M(1148, 497, Id, S3), l.ri = function (e) { return Ot(Jh, d8t, 59, e, 0, 1) }, l.ni = function () { return !1 }, N(Mn, "EClassImpl/6", 1148), M(1149, 497, Id, Sk), l.ri = function (e) { return Ot(Qy, P4, 18, e, 0, 1) }, l.ni = function () { return !1 }, N(Mn, "EClassImpl/7", 1149), M(1997, 1996, { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 67: 1, 58: 1, 69: 1 }), l.Vh = function (e, n) { return I5t(this, e, n) }, l.Wh = function (e) { return I5t(this, this.Vi(), e) }, l.Xh = function (e, n) { ioe(this, e, n) }, l.Yh = function (e) { Yae(this, e) }, l.lk = function (e, n) { return Hln(this, e, n) }, l.mk = function (e, n) { return dln(this, e, n) }, l.mi = function (e, n) { return fue(this, e, n) }, l.pi = function (e) { return this.Oi(e) }, l.Zh = function () { return new L6(this) }, l.Gi = function () { return this.Ji() }, l.$h = function () { return new NM(this) }, l._h = function (e) { return _D(this, e) }, N(Ji, "DelegatingNotifyingInternalEListImpl", 1997), M(742, 1997, g8t), l.ai = function () { var e; return e = wn(Su(this.b), this.aj()).Yj(), Et(e, 148) && !Et(e, 457) && (e.Bj().i & 1) == 0 }, l.Hc = function (e) { var n, r, s, o, h, d, w, k; if (this.Fk()) { if (k = this.Vi(), k > 4) if (this.wj(e)) { if (this.rk()) { if (s = u(e, 49), r = s.Ug(), w = r == this.b && (this.Dk() ? s.Og(s.Vg(), u(wn(Su(this.b), this.aj()).Yj(), 26).Bj()) == bo(u(wn(Su(this.b), this.aj()), 18)).n : -1 - s.Vg() == this.aj()), this.Ek() && !w && !r && s.Zg()) { for (o = 0; o < k; ++o)if (n = Tnt(this, this.Oi(o)), qt(n) === qt(e)) return !0 } return w } else if (this.Dk() && !this.Ck()) { if (h = u(e, 56).ah(bo(u(wn(Su(this.b), this.aj()), 18))), qt(h) === qt(this.b)) return !0; if (h == null || !u(h, 56).kh()) return !1 } } else return !1; if (d = this.Li(e), this.Ek() && !d) { for (o = 0; o < k; ++o)if (s = Tnt(this, this.Oi(o)), qt(s) === qt(e)) return !0 } return d } else return this.Li(e) }, l.Zi = function (e, n, r, s, o) { return new P0(this.b, e, this.aj(), n, r, s, o) }, l.$i = function (e) { Oi(this.b, e) }, l.Wj = function (e) { return this }, l._i = function () { return wn(Su(this.b), this.aj()) }, l.aj = function () { return is(Su(this.b), wn(Su(this.b), this.aj())) }, l.Ai = function () { return this.b }, l.Bk = function () { return !!wn(Su(this.b), this.aj()).Yj().Bj() }, l.bj = function () { var e, n; return n = wn(Su(this.b), this.aj()), Et(n, 99) ? (e = u(n, 18), (e.Bb & Ac) != 0 || !!bo(u(n, 18))) : !1 }, l.Ck = function () { var e, n, r, s; return n = wn(Su(this.b), this.aj()), Et(n, 99) ? (e = u(n, 18), r = bo(e), !!r && (s = r.t, s > 1 || s == -1)) : !1 }, l.Dk = function () { var e, n, r; return n = wn(Su(this.b), this.aj()), Et(n, 99) ? (e = u(n, 18), r = bo(e), !!r) : !1 }, l.Ek = function () { var e, n; return n = wn(Su(this.b), this.aj()), Et(n, 99) ? (e = u(n, 18), (e.Bb & oo) != 0) : !1 }, l.Xc = function (e) { var n, r, s, o; if (s = this.Qi(e), s >= 0) return s; if (this.Fk()) { for (r = 0, o = this.Vi(); r < o; ++r)if (n = Tnt(this, this.Oi(r)), qt(n) === qt(e)) return r } return -1 }, l.cj = function (e, n) { var r; return r = u(e, 49), this.Dk() ? this.Bk() ? r.gh(this.b, bo(u(wn(Su(this.b), this.aj()), 18)).n, u(wn(Su(this.b), this.aj()).Yj(), 26).Bj(), n) : r.gh(this.b, is(r.Tg(), bo(u(wn(Su(this.b), this.aj()), 18))), null, n) : r.gh(this.b, -1 - this.aj(), null, n) }, l.dj = function (e, n) { var r; return r = u(e, 49), this.Dk() ? this.Bk() ? r.ih(this.b, bo(u(wn(Su(this.b), this.aj()), 18)).n, u(wn(Su(this.b), this.aj()).Yj(), 26).Bj(), n) : r.ih(this.b, is(r.Tg(), bo(u(wn(Su(this.b), this.aj()), 18))), null, n) : r.ih(this.b, -1 - this.aj(), null, n) }, l.rk = function () { var e, n; return n = wn(Su(this.b), this.aj()), Et(n, 99) ? (e = u(n, 18), (e.Bb & Ac) != 0) : !1 }, l.Fk = function () { return Et(wn(Su(this.b), this.aj()).Yj(), 88) }, l.wj = function (e) { return wn(Su(this.b), this.aj()).Yj().wj(e) }, l.ej = function () { return Ll(this.b) }, l.fj = function () { return !this.Ri() }, l.hi = function () { return wn(Su(this.b), this.aj()).hi() }, l.li = function (e, n) { return kI(this, e, n) }, l.Wb = function (e) { mC(this), vs(this, u(e, 15)) }, l.Pc = function () { var e; if (this.Ek()) for (e = this.Vi() - 1; e >= 0; --e)kI(this, e, this.Oi(e)); return this.Wi() }, l.Qc = function (e) { var n; if (this.Ek()) for (n = this.Vi() - 1; n >= 0; --n)kI(this, n, this.Oi(n)); return this.Xi(e) }, l.Xj = function () { mC(this) }, l.oi = function (e, n) { return TJt(this, e, n) }, N(Ji, "DelegatingEcoreEList", 742), M(1150, 742, g8t, zUt), l.Hi = function (e, n) { HYe(this, e, u(n, 26)) }, l.Ii = function (e) { BKe(this, u(e, 26)) }, l.Oi = function (e) { var n, r; return n = u(St($c(this.a), e), 87), r = n.c, Et(r, 88) ? u(r, 26) : (hn(), ef) }, l.Ti = function (e) { var n, r; return n = u(hy($c(this.a), e), 87), r = n.c, Et(r, 88) ? u(r, 26) : (hn(), ef) }, l.Ui = function (e, n) { return Vln(this, e, u(n, 26)) }, l.ai = function () { return !1 }, l.Zi = function (e, n, r, s, o) { return null }, l.Ji = function () { return new $$t(this) }, l.Ki = function () { Ir($c(this.a)) }, l.Li = function (e) { return tre(this, e) }, l.Mi = function (e) { var n, r; for (r = e.Kc(); r.Ob();)if (n = r.Pb(), !tre(this, n)) return !1; return !0 }, l.Ni = function (e) { var n, r, s; if (Et(e, 15) && (s = u(e, 15), s.gc() == $c(this.a).i)) { for (n = s.Kc(), r = new lr(this); n.Ob();)if (qt(n.Pb()) !== qt(kr(r))) return !1; return !0 } return !1 }, l.Pi = function () { var e, n, r, s, o; for (r = 1, n = new lr($c(this.a)); n.e != n.i.gc();)e = u(kr(n), 87), s = (o = e.c, Et(o, 88) ? u(o, 26) : (hn(), ef)), r = 31 * r + (s ? Av(s) : 0); return r }, l.Qi = function (e) { var n, r, s, o; for (s = 0, r = new lr($c(this.a)); r.e != r.i.gc();) { if (n = u(kr(r), 87), qt(e) === qt((o = n.c, Et(o, 88) ? u(o, 26) : (hn(), ef)))) return s; ++s } return -1 }, l.Ri = function () { return $c(this.a).i == 0 }, l.Si = function () { return null }, l.Vi = function () { return $c(this.a).i }, l.Wi = function () { var e, n, r, s, o, h; for (h = $c(this.a).i, o = Ot(nr, De, 1, h, 5, 1), r = 0, n = new lr($c(this.a)); n.e != n.i.gc();)e = u(kr(n), 87), o[r++] = (s = e.c, Et(s, 88) ? u(s, 26) : (hn(), ef)); return o }, l.Xi = function (e) { var n, r, s, o, h, d, w; for (w = $c(this.a).i, e.length < w && (o = TD(bl(e).c, w), e = o), e.length > w && ds(e, w, null), s = 0, r = new lr($c(this.a)); r.e != r.i.gc();)n = u(kr(r), 87), h = (d = n.c, Et(d, 88) ? u(d, 26) : (hn(), ef)), ds(e, s++, h); return e }, l.Yi = function () { var e, n, r, s, o; for (o = new yg, o.a += "[", e = $c(this.a), n = 0, s = $c(this.a).i; n < s;)So(o, o_((r = u(St(e, n), 87).c, Et(r, 88) ? u(r, 26) : (hn(), ef)))), ++n < s && (o.a += ao); return o.a += "]", o.a }, l.$i = function (e) { }, l.aj = function () { return 10 }, l.Bk = function () { return !0 }, l.bj = function () { return !1 }, l.Ck = function () { return !1 }, l.Dk = function () { return !1 }, l.Ek = function () { return !0 }, l.rk = function () { return !1 }, l.Fk = function () { return !0 }, l.wj = function (e) { return Et(e, 88) }, l.fj = function () { return Hnn(this.a) }, l.hi = function () { return !0 }, l.ni = function () { return !0 }, N(Mn, "EClassImpl/8", 1150), M(1151, 1964, D7, $$t), l.Zc = function (e) { return _D(this.a, e) }, l.gc = function () { return $c(this.a.a).i }, N(Mn, "EClassImpl/8/1", 1151), M(1152, 497, Id, GE), l.ri = function (e) { return Ot(l1, De, 138, e, 0, 1) }, l.ni = function () { return !1 }, N(Mn, "EClassImpl/9", 1152), M(1139, 53, v6t, Dzt), N(Mn, "EClassImpl/MyHashSet", 1139), M(566, 351, { 105: 1, 92: 1, 90: 1, 138: 1, 148: 1, 834: 1, 147: 1, 191: 1, 56: 1, 108: 1, 49: 1, 97: 1, 351: 1, 150: 1, 114: 1, 115: 1, 676: 1 }, eR), l._g = function (e, n, r) { var s; switch (e) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), this.Ab; case 1: return this.zb; case 2: return this.D != null ? this.D : this.B; case 3: return sw(this); case 4: return this.zj(); case 5: return this.F; case 6: return n ? Vl(this) : _8(this); case 7: return !this.A && (this.A = new Vu(wu, this, 7)), this.A; case 8: return Rn(), !!(this.Bb & 256) }return ph(this, e - ar(this.zh()), wn((s = u(Dn(this, 16), 26), s || this.zh()), e), n, r) }, l.lh = function (e) { var n; switch (e) { case 0: return !!this.Ab && this.Ab.i != 0; case 1: return this.zb != null; case 2: return this.D != null && this.D == this.F; case 3: return !!sw(this); case 4: return this.zj() != null; case 5: return this.F != null && this.F != this.D && this.F != this.B; case 6: return !!_8(this); case 7: return !!this.A && this.A.i != 0; case 8: return (this.Bb & 256) == 0 }return dh(this, e - ar(this.zh()), wn((n = u(Dn(this, 16), 26), n || this.zh()), e)) }, l.sh = function (e, n) { var r; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab), !this.Ab && (this.Ab = new he(li, this, 0, 3)), vs(this.Ab, u(n, 14)); return; case 1: a$(this, Kr(n)); return; case 2: Fet(this, Kr(n)); return; case 5: _7(this, Kr(n)); return; case 7: !this.A && (this.A = new Vu(wu, this, 7)), Ir(this.A), !this.A && (this.A = new Vu(wu, this, 7)), vs(this.A, u(n, 14)); return; case 8: fz(this, Re(Be(n))); return }yh(this, e - ar(this.zh()), wn((r = u(Dn(this, 16), 26), r || this.zh()), e), n) }, l.zh = function () { return hn(), a4e }, l.Bh = function (e) { var n; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab); return; case 1: Et(this.Cb, 179) && (u(this.Cb, 179).tb = null), su(this, null); return; case 2: Z8(this, null), $8(this, this.D); return; case 5: _7(this, null); return; case 7: !this.A && (this.A = new Vu(wu, this, 7)), Ir(this.A); return; case 8: fz(this, !0); return }wh(this, e - ar(this.zh()), wn((n = u(Dn(this, 16), 26), n || this.zh()), e)) }, l.Gh = function () { Ig((Yu(), Pa), this).ne(), this.Bb |= 1 }, l.Fj = function () { var e, n, r; if (!this.c && (e = Coe(Vl(this)), !e.dc())) for (r = e.Kc(); r.Ob();)n = Kr(r.Pb()), dC(this, n) && _cn(this); return this.b }, l.zj = function () { var e; if (!this.e) { e = null; try { e = sw(this) } catch (n) { if (n = os(n), !Et(n, 102)) throw et(n) } this.d = null, e && e.i & 1 && (e == Tl ? this.d = (Rn(), Lb) : e == Br ? this.d = pe(0) : e == e3 ? this.d = new I3(0) : e == wa ? this.d = 0 : e == D2 ? this.d = fb(0) : e == f5 ? this.d = e7(0) : e == tl ? this.d = kD(0) : this.d = DD(0)), this.e = !0 } return this.d }, l.Ej = function () { return (this.Bb & 256) != 0 }, l.Ik = function (e) { e && (this.D = "org.eclipse.emf.common.util.AbstractEnumerator") }, l.xk = function (e) { vee(this, e), this.Ik(e) }, l.yk = function (e) { this.C = e, this.e = !1 }, l.Ib = function () { var e; return this.Db & 64 ? wz(this) : (e = new Ih(wz(this)), e.a += " (serializable: ", xg(e, (this.Bb & 256) != 0), e.a += ")", e.a) }, l.c = !1, l.d = null, l.e = !1, N(Mn, "EDataTypeImpl", 566), M(457, 566, { 105: 1, 92: 1, 90: 1, 138: 1, 148: 1, 834: 1, 671: 1, 147: 1, 191: 1, 56: 1, 108: 1, 49: 1, 97: 1, 351: 1, 457: 1, 150: 1, 114: 1, 115: 1, 676: 1 }, Izt), l._g = function (e, n, r) { var s; switch (e) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), this.Ab; case 1: return this.zb; case 2: return this.D != null ? this.D : this.B; case 3: return sw(this); case 4: return byt(this); case 5: return this.F; case 6: return n ? Vl(this) : _8(this); case 7: return !this.A && (this.A = new Vu(wu, this, 7)), this.A; case 8: return Rn(), !!(this.Bb & 256); case 9: return !this.a && (this.a = new he(tg, this, 9, 5)), this.a }return ph(this, e - ar((hn(), A2)), wn((s = u(Dn(this, 16), 26), s || A2), e), n, r) }, l.hh = function (e, n, r) { var s, o, h; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), au(this.Ab, e, r); case 6: return this.Cb && (r = (o = this.Db >> 16, o >= 0 ? ast(this, r) : this.Cb.ih(this, -1 - o, null, r))), Yl(this, e, 6, r); case 9: return !this.a && (this.a = new he(tg, this, 9, 5)), au(this.a, e, r) }return h = u(wn((s = u(Dn(this, 16), 26), s || (hn(), A2)), n), 66), h.Nj().Qj(this, fu(this), n - ar((hn(), A2)), e, r) }, l.jh = function (e, n, r) { var s, o; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), Za(this.Ab, e, r); case 6: return Yl(this, null, 6, r); case 7: return !this.A && (this.A = new Vu(wu, this, 7)), Za(this.A, e, r); case 9: return !this.a && (this.a = new he(tg, this, 9, 5)), Za(this.a, e, r) }return o = u(wn((s = u(Dn(this, 16), 26), s || (hn(), A2)), n), 66), o.Nj().Rj(this, fu(this), n - ar((hn(), A2)), e, r) }, l.lh = function (e) { var n; switch (e) { case 0: return !!this.Ab && this.Ab.i != 0; case 1: return this.zb != null; case 2: return this.D != null && this.D == this.F; case 3: return !!sw(this); case 4: return !!byt(this); case 5: return this.F != null && this.F != this.D && this.F != this.B; case 6: return !!_8(this); case 7: return !!this.A && this.A.i != 0; case 8: return (this.Bb & 256) == 0; case 9: return !!this.a && this.a.i != 0 }return dh(this, e - ar((hn(), A2)), wn((n = u(Dn(this, 16), 26), n || A2), e)) }, l.sh = function (e, n) { var r; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab), !this.Ab && (this.Ab = new he(li, this, 0, 3)), vs(this.Ab, u(n, 14)); return; case 1: a$(this, Kr(n)); return; case 2: Fet(this, Kr(n)); return; case 5: _7(this, Kr(n)); return; case 7: !this.A && (this.A = new Vu(wu, this, 7)), Ir(this.A), !this.A && (this.A = new Vu(wu, this, 7)), vs(this.A, u(n, 14)); return; case 8: fz(this, Re(Be(n))); return; case 9: !this.a && (this.a = new he(tg, this, 9, 5)), Ir(this.a), !this.a && (this.a = new he(tg, this, 9, 5)), vs(this.a, u(n, 14)); return }yh(this, e - ar((hn(), A2)), wn((r = u(Dn(this, 16), 26), r || A2), e), n) }, l.zh = function () { return hn(), A2 }, l.Bh = function (e) { var n; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab); return; case 1: Et(this.Cb, 179) && (u(this.Cb, 179).tb = null), su(this, null); return; case 2: Z8(this, null), $8(this, this.D); return; case 5: _7(this, null); return; case 7: !this.A && (this.A = new Vu(wu, this, 7)), Ir(this.A); return; case 8: fz(this, !0); return; case 9: !this.a && (this.a = new he(tg, this, 9, 5)), Ir(this.a); return }wh(this, e - ar((hn(), A2)), wn((n = u(Dn(this, 16), 26), n || A2), e)) }, l.Gh = function () { var e, n; if (this.a) for (e = 0, n = this.a.i; e < n; ++e)PM(St(this.a, e)); Ig((Yu(), Pa), this).ne(), this.Bb |= 1 }, l.zj = function () { return byt(this) }, l.wj = function (e) { return e != null }, l.Ik = function (e) { }, N(Mn, "EEnumImpl", 457), M(573, 438, { 105: 1, 92: 1, 90: 1, 1940: 1, 678: 1, 147: 1, 191: 1, 56: 1, 108: 1, 49: 1, 97: 1, 573: 1, 150: 1, 114: 1, 115: 1 }, nzt), l.ne = function () { return this.zb }, l.Qg = function (e) { return Uie(this, e) }, l._g = function (e, n, r) { var s, o; switch (e) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), this.Ab; case 1: return this.zb; case 2: return pe(this.d); case 3: return this.b ? this.b : this.a; case 4: return o = this.c, o ?? this.zb; case 5: return this.Db >> 16 == 5 ? u(this.Cb, 671) : null }return ph(this, e - ar((hn(), Jg)), wn((s = u(Dn(this, 16), 26), s || Jg), e), n, r) }, l.hh = function (e, n, r) { var s, o, h; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), au(this.Ab, e, r); case 5: return this.Cb && (r = (o = this.Db >> 16, o >= 0 ? Uie(this, r) : this.Cb.ih(this, -1 - o, null, r))), Yl(this, e, 5, r) }return h = u(wn((s = u(Dn(this, 16), 26), s || (hn(), Jg)), n), 66), h.Nj().Qj(this, fu(this), n - ar((hn(), Jg)), e, r) }, l.jh = function (e, n, r) { var s, o; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), Za(this.Ab, e, r); case 5: return Yl(this, null, 5, r) }return o = u(wn((s = u(Dn(this, 16), 26), s || (hn(), Jg)), n), 66), o.Nj().Rj(this, fu(this), n - ar((hn(), Jg)), e, r) }, l.lh = function (e) { var n; switch (e) { case 0: return !!this.Ab && this.Ab.i != 0; case 1: return this.zb != null; case 2: return this.d != 0; case 3: return !!this.b; case 4: return this.c != null; case 5: return !!(this.Db >> 16 == 5 && u(this.Cb, 671)) }return dh(this, e - ar((hn(), Jg)), wn((n = u(Dn(this, 16), 26), n || Jg), e)) }, l.sh = function (e, n) { var r; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab), !this.Ab && (this.Ab = new he(li, this, 0, 3)), vs(this.Ab, u(n, 14)); return; case 1: su(this, Kr(n)); return; case 2: qrt(this, u(n, 19).a); return; case 3: zae(this, u(n, 1940)); return; case 4: Vrt(this, Kr(n)); return }yh(this, e - ar((hn(), Jg)), wn((r = u(Dn(this, 16), 26), r || Jg), e), n) }, l.zh = function () { return hn(), Jg }, l.Bh = function (e) { var n; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab); return; case 1: su(this, null); return; case 2: qrt(this, 0); return; case 3: zae(this, null); return; case 4: Vrt(this, null); return }wh(this, e - ar((hn(), Jg)), wn((n = u(Dn(this, 16), 26), n || Jg), e)) }, l.Ib = function () { var e; return e = this.c, e ?? this.zb }, l.b = null, l.c = null, l.d = 0, N(Mn, "EEnumLiteralImpl", 573); var Y4n = ls(Mn, "EFactoryImpl/InternalEDateTimeFormat"); M(489, 1, { 2015: 1 }, aM), N(Mn, "EFactoryImpl/1ClientInternalEDateTimeFormat", 489), M(241, 115, { 105: 1, 92: 1, 90: 1, 87: 1, 56: 1, 108: 1, 49: 1, 97: 1, 241: 1, 114: 1, 115: 1 }, pv), l.Sg = function (e, n, r) { var s; return r = Yl(this, e, n, r), this.e && Et(e, 170) && (s = Zz(this, this.e), s != this.c && (r = C7(this, s, r))), r }, l._g = function (e, n, r) { var s; switch (e) { case 0: return this.f; case 1: return !this.d && (this.d = new qs(Co, this, 1)), this.d; case 2: return n ? uq(this) : this.c; case 3: return this.b; case 4: return this.e; case 5: return n ? Zit(this) : this.a }return ph(this, e - ar((hn(), jw)), wn((s = u(Dn(this, 16), 26), s || jw), e), n, r) }, l.jh = function (e, n, r) { var s, o; switch (n) { case 0: return Vne(this, null, r); case 1: return !this.d && (this.d = new qs(Co, this, 1)), Za(this.d, e, r); case 3: return Hne(this, null, r) }return o = u(wn((s = u(Dn(this, 16), 26), s || (hn(), jw)), n), 66), o.Nj().Rj(this, fu(this), n - ar((hn(), jw)), e, r) }, l.lh = function (e) { var n; switch (e) { case 0: return !!this.f; case 1: return !!this.d && this.d.i != 0; case 2: return !!this.c; case 3: return !!this.b; case 4: return !!this.e; case 5: return !!this.a }return dh(this, e - ar((hn(), jw)), wn((n = u(Dn(this, 16), 26), n || jw), e)) }, l.sh = function (e, n) { var r; switch (e) { case 0: lse(this, u(n, 87)); return; case 1: !this.d && (this.d = new qs(Co, this, 1)), Ir(this.d), !this.d && (this.d = new qs(Co, this, 1)), vs(this.d, u(n, 14)); return; case 3: Y3t(this, u(n, 87)); return; case 4: f4t(this, u(n, 836)); return; case 5: P8(this, u(n, 138)); return }yh(this, e - ar((hn(), jw)), wn((r = u(Dn(this, 16), 26), r || jw), e), n) }, l.zh = function () { return hn(), jw }, l.Bh = function (e) { var n; switch (e) { case 0: lse(this, null); return; case 1: !this.d && (this.d = new qs(Co, this, 1)), Ir(this.d); return; case 3: Y3t(this, null); return; case 4: f4t(this, null); return; case 5: P8(this, null); return }wh(this, e - ar((hn(), jw)), wn((n = u(Dn(this, 16), 26), n || jw), e)) }, l.Ib = function () { var e; return e = new jl(kf(this)), e.a += " (expression: ", oat(this, e), e.a += ")", e.a }; var NAt; N(Mn, "EGenericTypeImpl", 241), M(1969, 1964, bH), l.Xh = function (e, n) { RUt(this, e, n) }, l.lk = function (e, n) { return RUt(this, this.gc(), e), n }, l.pi = function (e) { return r1(this.Gi(), e) }, l.Zh = function () { return this.$h() }, l.Gi = function () { return new V$t(this) }, l.$h = function () { return this._h(0) }, l._h = function (e) { return this.Gi().Zc(e) }, l.mk = function (e, n) { return ey(this, e, !0), n }, l.ii = function (e, n) { var r, s; return s = cst(this, n), r = this.Zc(e), r.Rb(s), s }, l.ji = function (e, n) { var r; ey(this, n, !0), r = this.Zc(e), r.Rb(n) }, N(Ji, "AbstractSequentialInternalEList", 1969), M(486, 1969, bH, OM), l.pi = function (e) { return r1(this.Gi(), e) }, l.Zh = function () { return this.b == null ? (kg(), kg(), lN) : this.Jk() }, l.Gi = function () { return new uGt(this.a, this.b) }, l.$h = function () { return this.b == null ? (kg(), kg(), lN) : this.Jk() }, l._h = function (e) { var n, r; if (this.b == null) { if (e < 0 || e > 1) throw et(new Oo(VC + e + ", size=0")); return kg(), kg(), lN } for (r = this.Jk(), n = 0; n < e; ++n)nz(r); return r }, l.dc = function () { var e, n, r, s, o, h; if (this.b != null) { for (r = 0; r < this.b.length; ++r)if (e = this.b[r], !this.Mk() || this.a.mh(e)) { if (h = this.a.bh(e, !1), go(), u(e, 66).Oj()) { for (n = u(h, 153), s = 0, o = n.gc(); s < o; ++s)if (tYt(n.il(s)) && n.jl(s) != null) return !1 } else if (e.$j()) { if (!u(h, 14).dc()) return !1 } else if (h != null) return !1 } } return !0 }, l.Kc = function () { return Bmt(this) }, l.Zc = function (e) { var n, r; if (this.b == null) { if (e != 0) throw et(new Oo(VC + e + ", size=0")); return kg(), kg(), lN } for (r = this.Lk() ? this.Kk() : this.Jk(), n = 0; n < e; ++n)nz(r); return r }, l.ii = function (e, n) { throw et(new Gr) }, l.ji = function (e, n) { throw et(new Gr) }, l.Jk = function () { return new oj(this.a, this.b) }, l.Kk = function () { return new vbt(this.a, this.b) }, l.Lk = function () { return !0 }, l.gc = function () { var e, n, r, s, o, h, d; if (o = 0, this.b != null) { for (r = 0; r < this.b.length; ++r)if (e = this.b[r], !this.Mk() || this.a.mh(e)) if (d = this.a.bh(e, !1), go(), u(e, 66).Oj()) for (n = u(d, 153), s = 0, h = n.gc(); s < h; ++s)tYt(n.il(s)) && n.jl(s) != null && ++o; else e.$j() ? o += u(d, 14).gc() : d != null && ++o } return o }, l.Mk = function () { return !0 }; var pft; N(Ji, "EContentsEList", 486), M(1156, 486, bH, TUt), l.Jk = function () { return new _Ut(this.a, this.b) }, l.Kk = function () { return new CUt(this.a, this.b) }, l.Mk = function () { return !1 }, N(Mn, "ENamedElementImpl/1", 1156), M(279, 1, vH, oj), l.Nb = function (e) { Da(this, e) }, l.Rb = function (e) { throw et(new Gr) }, l.Nk = function (e) { if (this.g != 0 || this.e) throw et(new Yo("Iterator already in use or already filtered")); this.e = e }, l.Ob = function () { var e, n, r, s, o, h; switch (this.g) { case 3: case 2: return !0; case 1: return !1; case -3: this.p ? this.p.Pb() : ++this.n; default: if (!this.k || (this.p ? !eae(this, this.p) : !qae(this))) { for (; this.d < this.c.length;)if (n = this.c[this.d++], (!this.e || n.Gj() != D9 || n.aj() != 0) && (!this.Mk() || this.b.mh(n))) { if (h = this.b.bh(n, this.Lk()), this.f = (go(), u(n, 66).Oj()), this.f || n.$j()) { if (this.Lk() ? (s = u(h, 15), this.k = s) : (s = u(h, 69), this.k = this.j = s), Et(this.k, 54) ? (this.p = null, this.o = this.k.gc(), this.n = 0) : this.p = this.j ? this.j.$h() : this.k.Yc(), this.p ? eae(this, this.p) : qae(this)) return o = this.p ? this.p.Pb() : this.j ? this.j.pi(this.n++) : this.k.Xb(this.n++), this.f ? (e = u(o, 72), e.ak(), r = e.dd(), this.i = r) : (r = o, this.i = r), this.g = 3, !0 } else if (h != null) return this.k = null, this.p = null, r = h, this.i = r, this.g = 2, !0 } return this.k = null, this.p = null, this.f = !1, this.g = 1, !1 } else return o = this.p ? this.p.Pb() : this.j ? this.j.pi(this.n++) : this.k.Xb(this.n++), this.f ? (e = u(o, 72), e.ak(), r = e.dd(), this.i = r) : (r = o, this.i = r), this.g = 3, !0 } }, l.Sb = function () { var e, n, r, s, o, h; switch (this.g) { case -3: case -2: return !0; case -1: return !1; case 3: this.p ? this.p.Ub() : --this.n; default: if (!this.k || (this.p ? !nae(this, this.p) : !gae(this))) { for (; this.d > 0;)if (n = this.c[--this.d], (!this.e || n.Gj() != D9 || n.aj() != 0) && (!this.Mk() || this.b.mh(n))) { if (h = this.b.bh(n, this.Lk()), this.f = (go(), u(n, 66).Oj()), this.f || n.$j()) { if (this.Lk() ? (s = u(h, 15), this.k = s) : (s = u(h, 69), this.k = this.j = s), Et(this.k, 54) ? (this.o = this.k.gc(), this.n = this.o) : this.p = this.j ? this.j._h(this.k.gc()) : this.k.Zc(this.k.gc()), this.p ? nae(this, this.p) : gae(this)) return o = this.p ? this.p.Ub() : this.j ? this.j.pi(--this.n) : this.k.Xb(--this.n), this.f ? (e = u(o, 72), e.ak(), r = e.dd(), this.i = r) : (r = o, this.i = r), this.g = -3, !0 } else if (h != null) return this.k = null, this.p = null, r = h, this.i = r, this.g = -2, !0 } return this.k = null, this.p = null, this.g = -1, !1 } else return o = this.p ? this.p.Ub() : this.j ? this.j.pi(--this.n) : this.k.Xb(--this.n), this.f ? (e = u(o, 72), e.ak(), r = e.dd(), this.i = r) : (r = o, this.i = r), this.g = -3, !0 } }, l.Pb = function () { return nz(this) }, l.Tb = function () { return this.a }, l.Ub = function () { var e; if (this.g < -1 || this.Sb()) return --this.a, this.g = 0, e = this.i, this.Sb(), e; throw et(new _c) }, l.Vb = function () { return this.a - 1 }, l.Qb = function () { throw et(new Gr) }, l.Lk = function () { return !1 }, l.Wb = function (e) { throw et(new Gr) }, l.Mk = function () { return !0 }, l.a = 0, l.d = 0, l.f = !1, l.g = 0, l.n = 0, l.o = 0; var lN; N(Ji, "EContentsEList/FeatureIteratorImpl", 279), M(697, 279, vH, vbt), l.Lk = function () { return !0 }, N(Ji, "EContentsEList/ResolvingFeatureIteratorImpl", 697), M(1157, 697, vH, CUt), l.Mk = function () { return !1 }, N(Mn, "ENamedElementImpl/1/1", 1157), M(1158, 279, vH, _Ut), l.Mk = function () { return !1 }, N(Mn, "ENamedElementImpl/1/2", 1158), M(36, 143, XI, Um, prt, la, Mrt, P0, mf, xmt, tQt, kmt, eQt, Uwt, nQt, _mt, rQt, Wwt, iQt, Emt, sQt, m_, dD, Wnt, Tmt, aQt, Kwt, oQt), l._i = function () { return smt(this) }, l.gj = function () { var e; return e = smt(this), e ? e.zj() : null }, l.yi = function (e) { return this.b == -1 && this.a && (this.b = this.c.Xg(this.a.aj(), this.a.Gj())), this.c.Og(this.b, e) }, l.Ai = function () { return this.c }, l.hj = function () { var e; return e = smt(this), e ? e.Kj() : !1 }, l.b = -1, N(Mn, "ENotificationImpl", 36), M(399, 284, { 105: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 59: 1, 108: 1, 472: 1, 49: 1, 97: 1, 150: 1, 399: 1, 284: 1, 114: 1, 115: 1 }, Ptt), l.Qg = function (e) { return Yie(this, e) }, l._g = function (e, n, r) { var s, o, h; switch (e) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), this.Ab; case 1: return this.zb; case 2: return Rn(), !!(this.Bb & 256); case 3: return Rn(), !!(this.Bb & 512); case 4: return pe(this.s); case 5: return pe(this.t); case 6: return Rn(), h = this.t, h > 1 || h == -1; case 7: return Rn(), o = this.s, o >= 1; case 8: return n ? Bh(this) : this.r; case 9: return this.q; case 10: return this.Db >> 16 == 10 ? u(this.Cb, 26) : null; case 11: return !this.d && (this.d = new Vu(wu, this, 11)), this.d; case 12: return !this.c && (this.c = new he(Rw, this, 12, 10)), this.c; case 13: return !this.a && (this.a = new jM(this, this)), this.a; case 14: return pl(this) }return ph(this, e - ar((hn(), tp)), wn((s = u(Dn(this, 16), 26), s || tp), e), n, r) }, l.hh = function (e, n, r) { var s, o, h; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), au(this.Ab, e, r); case 10: return this.Cb && (r = (o = this.Db >> 16, o >= 0 ? Yie(this, r) : this.Cb.ih(this, -1 - o, null, r))), Yl(this, e, 10, r); case 12: return !this.c && (this.c = new he(Rw, this, 12, 10)), au(this.c, e, r) }return h = u(wn((s = u(Dn(this, 16), 26), s || (hn(), tp)), n), 66), h.Nj().Qj(this, fu(this), n - ar((hn(), tp)), e, r) }, l.jh = function (e, n, r) { var s, o; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), Za(this.Ab, e, r); case 9: return Ont(this, r); case 10: return Yl(this, null, 10, r); case 11: return !this.d && (this.d = new Vu(wu, this, 11)), Za(this.d, e, r); case 12: return !this.c && (this.c = new he(Rw, this, 12, 10)), Za(this.c, e, r); case 14: return Za(pl(this), e, r) }return o = u(wn((s = u(Dn(this, 16), 26), s || (hn(), tp)), n), 66), o.Nj().Rj(this, fu(this), n - ar((hn(), tp)), e, r) }, l.lh = function (e) { var n, r, s; switch (e) { case 0: return !!this.Ab && this.Ab.i != 0; case 1: return this.zb != null; case 2: return (this.Bb & 256) == 0; case 3: return (this.Bb & 512) == 0; case 4: return this.s != 0; case 5: return this.t != 1; case 6: return s = this.t, s > 1 || s == -1; case 7: return r = this.s, r >= 1; case 8: return !!this.r && !this.q.e && Fv(this.q).i == 0; case 9: return !!this.q && !(this.r && !this.q.e && Fv(this.q).i == 0); case 10: return !!(this.Db >> 16 == 10 && u(this.Cb, 26)); case 11: return !!this.d && this.d.i != 0; case 12: return !!this.c && this.c.i != 0; case 13: return !!this.a && pl(this.a.a).i != 0 && !(this.b && Xit(this.b)); case 14: return !!this.b && Xit(this.b) }return dh(this, e - ar((hn(), tp)), wn((n = u(Dn(this, 16), 26), n || tp), e)) }, l.sh = function (e, n) { var r, s; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab), !this.Ab && (this.Ab = new he(li, this, 0, 3)), vs(this.Ab, u(n, 14)); return; case 1: su(this, Kr(n)); return; case 2: Og(this, Re(Be(n))); return; case 3: Ng(this, Re(Be(n))); return; case 4: Mg(this, u(n, 19).a); return; case 5: Zm(this, u(n, 19).a); return; case 8: lb(this, u(n, 138)); return; case 9: s = z1(this, u(n, 87), null), s && s.Fi(); return; case 11: !this.d && (this.d = new Vu(wu, this, 11)), Ir(this.d), !this.d && (this.d = new Vu(wu, this, 11)), vs(this.d, u(n, 14)); return; case 12: !this.c && (this.c = new he(Rw, this, 12, 10)), Ir(this.c), !this.c && (this.c = new he(Rw, this, 12, 10)), vs(this.c, u(n, 14)); return; case 13: !this.a && (this.a = new jM(this, this)), mC(this.a), !this.a && (this.a = new jM(this, this)), vs(this.a, u(n, 14)); return; case 14: Ir(pl(this)), vs(pl(this), u(n, 14)); return }yh(this, e - ar((hn(), tp)), wn((r = u(Dn(this, 16), 26), r || tp), e), n) }, l.zh = function () { return hn(), tp }, l.Bh = function (e) { var n, r; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab); return; case 1: su(this, null); return; case 2: Og(this, !0); return; case 3: Ng(this, !0); return; case 4: Mg(this, 0); return; case 5: Zm(this, 1); return; case 8: lb(this, null); return; case 9: r = z1(this, null, null), r && r.Fi(); return; case 11: !this.d && (this.d = new Vu(wu, this, 11)), Ir(this.d); return; case 12: !this.c && (this.c = new he(Rw, this, 12, 10)), Ir(this.c); return; case 13: this.a && mC(this.a); return; case 14: this.b && Ir(this.b); return }wh(this, e - ar((hn(), tp)), wn((n = u(Dn(this, 16), 26), n || tp), e)) }, l.Gh = function () { var e, n; if (this.c) for (e = 0, n = this.c.i; e < n; ++e)PM(St(this.c, e)); Bh(this), this.Bb |= 1 }, N(Mn, "EOperationImpl", 399), M(505, 742, g8t, jM), l.Hi = function (e, n) { qYe(this, e, u(n, 138)) }, l.Ii = function (e) { RKe(this, u(e, 138)) }, l.Oi = function (e) { var n, r; return n = u(St(pl(this.a), e), 87), r = n.c, r || (hn(), J1) }, l.Ti = function (e) { var n, r; return n = u(hy(pl(this.a), e), 87), r = n.c, r || (hn(), J1) }, l.Ui = function (e, n) { return jun(this, e, u(n, 138)) }, l.ai = function () { return !1 }, l.Zi = function (e, n, r, s, o) { return null }, l.Ji = function () { return new z$t(this) }, l.Ki = function () { Ir(pl(this.a)) }, l.Li = function (e) { return rre(this, e) }, l.Mi = function (e) { var n, r; for (r = e.Kc(); r.Ob();)if (n = r.Pb(), !rre(this, n)) return !1; return !0 }, l.Ni = function (e) { var n, r, s; if (Et(e, 15) && (s = u(e, 15), s.gc() == pl(this.a).i)) { for (n = s.Kc(), r = new lr(this); n.Ob();)if (qt(n.Pb()) !== qt(kr(r))) return !1; return !0 } return !1 }, l.Pi = function () { var e, n, r, s, o; for (r = 1, n = new lr(pl(this.a)); n.e != n.i.gc();)e = u(kr(n), 87), s = (o = e.c, o || (hn(), J1)), r = 31 * r + (s ? ns(s) : 0); return r }, l.Qi = function (e) { var n, r, s, o; for (s = 0, r = new lr(pl(this.a)); r.e != r.i.gc();) { if (n = u(kr(r), 87), qt(e) === qt((o = n.c, o || (hn(), J1)))) return s; ++s } return -1 }, l.Ri = function () { return pl(this.a).i == 0 }, l.Si = function () { return null }, l.Vi = function () { return pl(this.a).i }, l.Wi = function () { var e, n, r, s, o, h; for (h = pl(this.a).i, o = Ot(nr, De, 1, h, 5, 1), r = 0, n = new lr(pl(this.a)); n.e != n.i.gc();)e = u(kr(n), 87), o[r++] = (s = e.c, s || (hn(), J1)); return o }, l.Xi = function (e) { var n, r, s, o, h, d, w; for (w = pl(this.a).i, e.length < w && (o = TD(bl(e).c, w), e = o), e.length > w && ds(e, w, null), s = 0, r = new lr(pl(this.a)); r.e != r.i.gc();)n = u(kr(r), 87), h = (d = n.c, d || (hn(), J1)), ds(e, s++, h); return e }, l.Yi = function () { var e, n, r, s, o; for (o = new yg, o.a += "[", e = pl(this.a), n = 0, s = pl(this.a).i; n < s;)So(o, o_((r = u(St(e, n), 87).c, r || (hn(), J1)))), ++n < s && (o.a += ao); return o.a += "]", o.a }, l.$i = function (e) { }, l.aj = function () { return 13 }, l.Bk = function () { return !0 }, l.bj = function () { return !1 }, l.Ck = function () { return !1 }, l.Dk = function () { return !1 }, l.Ek = function () { return !0 }, l.rk = function () { return !1 }, l.Fk = function () { return !0 }, l.wj = function (e) { return Et(e, 138) }, l.fj = function () { return qnn(this.a) }, l.hi = function () { return !0 }, l.ni = function () { return !0 }, N(Mn, "EOperationImpl/1", 505), M(1340, 1964, D7, z$t), l.Zc = function (e) { return _D(this.a, e) }, l.gc = function () { return pl(this.a.a).i }, N(Mn, "EOperationImpl/1/1", 1340), M(1341, 545, tc, SKt), l.ii = function (e, n) { var r, s; return r = u(K_(this, e, n), 87), Ll(this.e) && Kk(this, new dD(this.a, 7, (hn(), u4e), pe(n), (s = r.c, s || J1), e)), r }, l.jj = function (e, n) { return ecn(this, u(e, 87), n) }, l.kj = function (e, n) { return ncn(this, u(e, 87), n) }, l.lj = function (e, n, r) { return eln(this, u(e, 87), u(n, 87), r) }, l.Zi = function (e, n, r, s, o) { switch (e) { case 3: return C_(this, e, n, r, s, this.i > 1); case 5: return C_(this, e, n, r, s, this.i - u(r, 15).gc() > 0); default: return new P0(this.e, e, this.c, n, r, s, !0) } }, l.ij = function () { return !0 }, l.fj = function () { return Xit(this) }, l.Xj = function () { Ir(this) }, N(Mn, "EOperationImpl/2", 1341), M(498, 1, { 1938: 1, 498: 1 }, HVt), N(Mn, "EPackageImpl/1", 498), M(16, 85, tc, he), l.zk = function () { return this.d }, l.Ak = function () { return this.b }, l.Dk = function () { return !0 }, l.b = 0, N(Ji, "EObjectContainmentWithInverseEList", 16), M(353, 16, tc, M6), l.Ek = function () { return !0 }, l.li = function (e, n) { return ax(this, e, u(n, 56)) }, N(Ji, "EObjectContainmentWithInverseEList/Resolving", 353), M(298, 353, tc, $m), l.ci = function () { this.a.tb = null }, N(Mn, "EPackageImpl/2", 298), M(1228, 1, {}, GF), N(Mn, "EPackageImpl/3", 1228), M(718, 43, C4, mpt), l._b = function (e) { return pa(e) ? Knt(this, e) : !!qo(this.f, e) }, N(Mn, "EPackageRegistryImpl", 718), M(509, 284, { 105: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 2017: 1, 108: 1, 472: 1, 49: 1, 97: 1, 150: 1, 509: 1, 284: 1, 114: 1, 115: 1 }, Ftt), l.Qg = function (e) { return Xie(this, e) }, l._g = function (e, n, r) { var s, o, h; switch (e) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), this.Ab; case 1: return this.zb; case 2: return Rn(), !!(this.Bb & 256); case 3: return Rn(), !!(this.Bb & 512); case 4: return pe(this.s); case 5: return pe(this.t); case 6: return Rn(), h = this.t, h > 1 || h == -1; case 7: return Rn(), o = this.s, o >= 1; case 8: return n ? Bh(this) : this.r; case 9: return this.q; case 10: return this.Db >> 16 == 10 ? u(this.Cb, 59) : null }return ph(this, e - ar((hn(), Jy)), wn((s = u(Dn(this, 16), 26), s || Jy), e), n, r) }, l.hh = function (e, n, r) { var s, o, h; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), au(this.Ab, e, r); case 10: return this.Cb && (r = (o = this.Db >> 16, o >= 0 ? Xie(this, r) : this.Cb.ih(this, -1 - o, null, r))), Yl(this, e, 10, r) }return h = u(wn((s = u(Dn(this, 16), 26), s || (hn(), Jy)), n), 66), h.Nj().Qj(this, fu(this), n - ar((hn(), Jy)), e, r) }, l.jh = function (e, n, r) { var s, o; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), Za(this.Ab, e, r); case 9: return Ont(this, r); case 10: return Yl(this, null, 10, r) }return o = u(wn((s = u(Dn(this, 16), 26), s || (hn(), Jy)), n), 66), o.Nj().Rj(this, fu(this), n - ar((hn(), Jy)), e, r) }, l.lh = function (e) { var n, r, s; switch (e) { case 0: return !!this.Ab && this.Ab.i != 0; case 1: return this.zb != null; case 2: return (this.Bb & 256) == 0; case 3: return (this.Bb & 512) == 0; case 4: return this.s != 0; case 5: return this.t != 1; case 6: return s = this.t, s > 1 || s == -1; case 7: return r = this.s, r >= 1; case 8: return !!this.r && !this.q.e && Fv(this.q).i == 0; case 9: return !!this.q && !(this.r && !this.q.e && Fv(this.q).i == 0); case 10: return !!(this.Db >> 16 == 10 && u(this.Cb, 59)) }return dh(this, e - ar((hn(), Jy)), wn((n = u(Dn(this, 16), 26), n || Jy), e)) }, l.zh = function () { return hn(), Jy }, N(Mn, "EParameterImpl", 509), M(99, 449, { 105: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 18: 1, 170: 1, 66: 1, 108: 1, 472: 1, 49: 1, 97: 1, 150: 1, 99: 1, 449: 1, 284: 1, 114: 1, 115: 1, 677: 1 }, kbt), l._g = function (e, n, r) { var s, o, h, d; switch (e) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), this.Ab; case 1: return this.zb; case 2: return Rn(), !!(this.Bb & 256); case 3: return Rn(), !!(this.Bb & 512); case 4: return pe(this.s); case 5: return pe(this.t); case 6: return Rn(), d = this.t, d > 1 || d == -1; case 7: return Rn(), o = this.s, o >= 1; case 8: return n ? Bh(this) : this.r; case 9: return this.q; case 10: return Rn(), !!(this.Bb & Tf); case 11: return Rn(), !!(this.Bb & Cy); case 12: return Rn(), !!(this.Bb & wy); case 13: return this.j; case 14: return m7(this); case 15: return Rn(), !!(this.Bb & Zu); case 16: return Rn(), !!(this.Bb & kd); case 17: return Hm(this); case 18: return Rn(), !!(this.Bb & Ac); case 19: return Rn(), h = bo(this), !!(h && h.Bb & Ac); case 20: return Rn(), !!(this.Bb & oo); case 21: return n ? bo(this) : this.b; case 22: return n ? syt(this) : LZt(this); case 23: return !this.a && (this.a = new U3(Xy, this, 23)), this.a }return ph(this, e - ar((hn(), c5)), wn((s = u(Dn(this, 16), 26), s || c5), e), n, r) }, l.lh = function (e) { var n, r, s, o; switch (e) { case 0: return !!this.Ab && this.Ab.i != 0; case 1: return this.zb != null; case 2: return (this.Bb & 256) == 0; case 3: return (this.Bb & 512) == 0; case 4: return this.s != 0; case 5: return this.t != 1; case 6: return o = this.t, o > 1 || o == -1; case 7: return r = this.s, r >= 1; case 8: return !!this.r && !this.q.e && Fv(this.q).i == 0; case 9: return !!this.q && !(this.r && !this.q.e && Fv(this.q).i == 0); case 10: return (this.Bb & Tf) == 0; case 11: return (this.Bb & Cy) != 0; case 12: return (this.Bb & wy) != 0; case 13: return this.j != null; case 14: return m7(this) != null; case 15: return (this.Bb & Zu) != 0; case 16: return (this.Bb & kd) != 0; case 17: return !!Hm(this); case 18: return (this.Bb & Ac) != 0; case 19: return s = bo(this), !!s && (s.Bb & Ac) != 0; case 20: return (this.Bb & oo) == 0; case 21: return !!this.b; case 22: return !!LZt(this); case 23: return !!this.a && this.a.i != 0 }return dh(this, e - ar((hn(), c5)), wn((n = u(Dn(this, 16), 26), n || c5), e)) }, l.sh = function (e, n) { var r, s; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab), !this.Ab && (this.Ab = new he(li, this, 0, 3)), vs(this.Ab, u(n, 14)); return; case 1: ort(this, Kr(n)); return; case 2: Og(this, Re(Be(n))); return; case 3: Ng(this, Re(Be(n))); return; case 4: Mg(this, u(n, 19).a); return; case 5: Zm(this, u(n, 19).a); return; case 8: lb(this, u(n, 138)); return; case 9: s = z1(this, u(n, 87), null), s && s.Fi(); return; case 10: n7(this, Re(Be(n))); return; case 11: s7(this, Re(Be(n))); return; case 12: r7(this, Re(Be(n))); return; case 13: M2t(this, Kr(n)); return; case 15: i7(this, Re(Be(n))); return; case 16: a7(this, Re(Be(n))); return; case 18: Yen(this, Re(Be(n))); return; case 20: Fyt(this, Re(Be(n))); return; case 21: Pmt(this, u(n, 18)); return; case 23: !this.a && (this.a = new U3(Xy, this, 23)), Ir(this.a), !this.a && (this.a = new U3(Xy, this, 23)), vs(this.a, u(n, 14)); return }yh(this, e - ar((hn(), c5)), wn((r = u(Dn(this, 16), 26), r || c5), e), n) }, l.zh = function () { return hn(), c5 }, l.Bh = function (e) { var n, r; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab); return; case 1: Et(this.Cb, 88) && uy(gl(u(this.Cb, 88)), 4), su(this, null); return; case 2: Og(this, !0); return; case 3: Ng(this, !0); return; case 4: Mg(this, 0); return; case 5: Zm(this, 1); return; case 8: lb(this, null); return; case 9: r = z1(this, null, null), r && r.Fi(); return; case 10: n7(this, !0); return; case 11: s7(this, !1); return; case 12: r7(this, !1); return; case 13: this.i = null, U$(this, null); return; case 15: i7(this, !1); return; case 16: a7(this, !1); return; case 18: Pyt(this, !1), Et(this.Cb, 88) && uy(gl(u(this.Cb, 88)), 2); return; case 20: Fyt(this, !0); return; case 21: Pmt(this, null); return; case 23: !this.a && (this.a = new U3(Xy, this, 23)), Ir(this.a); return }wh(this, e - ar((hn(), c5)), wn((n = u(Dn(this, 16), 26), n || c5), e)) }, l.Gh = function () { syt(this), k8(Bo((Yu(), Pa), this)), Bh(this), this.Bb |= 1 }, l.Lj = function () { return bo(this) }, l.qk = function () { var e; return e = bo(this), !!e && (e.Bb & Ac) != 0 }, l.rk = function () { return (this.Bb & Ac) != 0 }, l.sk = function () { return (this.Bb & oo) != 0 }, l.nk = function (e, n) { return this.c = null, Ayt(this, e, n) }, l.Ib = function () { var e; return this.Db & 64 ? aq(this) : (e = new Ih(aq(this)), e.a += " (containment: ", xg(e, (this.Bb & Ac) != 0), e.a += ", resolveProxies: ", xg(e, (this.Bb & oo) != 0), e.a += ")", e.a) }, N(Mn, "EReferenceImpl", 99), M(548, 115, { 105: 1, 42: 1, 92: 1, 90: 1, 133: 1, 56: 1, 108: 1, 49: 1, 97: 1, 548: 1, 114: 1, 115: 1 }, PZ), l.Fb = function (e) { return this === e }, l.cd = function () { return this.b }, l.dd = function () { return this.c }, l.Hb = function () { return Av(this) }, l.Uh = function (e) { tJe(this, Kr(e)) }, l.ed = function (e) { return qZe(this, Kr(e)) }, l._g = function (e, n, r) { var s; switch (e) { case 0: return this.b; case 1: return this.c }return ph(this, e - ar((hn(), uo)), wn((s = u(Dn(this, 16), 26), s || uo), e), n, r) }, l.lh = function (e) { var n; switch (e) { case 0: return this.b != null; case 1: return this.c != null }return dh(this, e - ar((hn(), uo)), wn((n = u(Dn(this, 16), 26), n || uo), e)) }, l.sh = function (e, n) { var r; switch (e) { case 0: eJe(this, Kr(n)); return; case 1: Imt(this, Kr(n)); return }yh(this, e - ar((hn(), uo)), wn((r = u(Dn(this, 16), 26), r || uo), e), n) }, l.zh = function () { return hn(), uo }, l.Bh = function (e) { var n; switch (e) { case 0: Dmt(this, null); return; case 1: Imt(this, null); return }wh(this, e - ar((hn(), uo)), wn((n = u(Dn(this, 16), 26), n || uo), e)) }, l.Sh = function () { var e; return this.a == -1 && (e = this.b, this.a = e == null ? 0 : Fg(e)), this.a }, l.Th = function (e) { this.a = e }, l.Ib = function () { var e; return this.Db & 64 ? kf(this) : (e = new Ih(kf(this)), e.a += " (key: ", So(e, this.b), e.a += ", value: ", So(e, this.c), e.a += ")", e.a) }, l.a = -1, l.b = null, l.c = null; var xc = N(Mn, "EStringToStringMapEntryImpl", 548), p4e = ls(Ji, "FeatureMap/Entry/Internal"); M(565, 1, wH), l.Ok = function (e) { return this.Pk(u(e, 49)) }, l.Pk = function (e) { return this.Ok(e) }, l.Fb = function (e) { var n, r; return this === e ? !0 : Et(e, 72) ? (n = u(e, 72), n.ak() == this.c ? (r = this.dd(), r == null ? n.dd() == null : Ni(r, n.dd())) : !1) : !1 }, l.ak = function () { return this.c }, l.Hb = function () { var e; return e = this.dd(), ns(this.c) ^ (e == null ? 0 : ns(e)) }, l.Ib = function () { var e, n; return e = this.c, n = Vl(e.Hj()).Ph(), e.ne(), (n != null && n.length != 0 ? n + ":" + e.ne() : e.ne()) + "=" + this.dd() }, N(Mn, "EStructuralFeatureImpl/BasicFeatureMapEntry", 565), M(776, 565, wH, Dbt), l.Pk = function (e) { return new Dbt(this.c, e) }, l.dd = function () { return this.a }, l.Qk = function (e, n, r) { return van(this, e, this.a, n, r) }, l.Rk = function (e, n, r) { return wan(this, e, this.a, n, r) }, N(Mn, "EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry", 776), M(1314, 1, {}, VVt), l.Pj = function (e, n, r, s, o) { var h; return h = u(D8(e, this.b), 215), h.nl(this.a).Wj(s) }, l.Qj = function (e, n, r, s, o) { var h; return h = u(D8(e, this.b), 215), h.el(this.a, s, o) }, l.Rj = function (e, n, r, s, o) { var h; return h = u(D8(e, this.b), 215), h.fl(this.a, s, o) }, l.Sj = function (e, n, r) { var s; return s = u(D8(e, this.b), 215), s.nl(this.a).fj() }, l.Tj = function (e, n, r, s) { var o; o = u(D8(e, this.b), 215), o.nl(this.a).Wb(s) }, l.Uj = function (e, n, r) { return u(D8(e, this.b), 215).nl(this.a) }, l.Vj = function (e, n, r) { var s; s = u(D8(e, this.b), 215), s.nl(this.a).Xj() }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator", 1314), M(89, 1, {}, Tg, X2, Cg, J2), l.Pj = function (e, n, r, s, o) { var h; if (h = n.Ch(r), h == null && n.Dh(r, h = mq(this, e)), !o) switch (this.e) { case 50: case 41: return u(h, 589).sj(); case 40: return u(h, 215).kl() }return h }, l.Qj = function (e, n, r, s, o) { var h, d; return d = n.Ch(r), d == null && n.Dh(r, d = mq(this, e)), h = u(d, 69).lk(s, o), h }, l.Rj = function (e, n, r, s, o) { var h; return h = n.Ch(r), h != null && (o = u(h, 69).mk(s, o)), o }, l.Sj = function (e, n, r) { var s; return s = n.Ch(r), s != null && u(s, 76).fj() }, l.Tj = function (e, n, r, s) { var o; o = u(n.Ch(r), 76), !o && n.Dh(r, o = mq(this, e)), o.Wb(s) }, l.Uj = function (e, n, r) { var s, o; return o = n.Ch(r), o == null && n.Dh(r, o = mq(this, e)), Et(o, 76) ? u(o, 76) : (s = u(n.Ch(r), 15), new H$t(s)) }, l.Vj = function (e, n, r) { var s; s = u(n.Ch(r), 76), !s && n.Dh(r, s = mq(this, e)), s.Xj() }, l.b = 0, l.e = 0, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateMany", 89), M(504, 1, {}), l.Qj = function (e, n, r, s, o) { throw et(new Gr) }, l.Rj = function (e, n, r, s, o) { throw et(new Gr) }, l.Uj = function (e, n, r) { return new jYt(this, e, n, r) }; var p0; N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingle", 504), M(1331, 1, qct, jYt), l.Wj = function (e) { return this.a.Pj(this.c, this.d, this.b, e, !0) }, l.fj = function () { return this.a.Sj(this.c, this.d, this.b) }, l.Wb = function (e) { this.a.Tj(this.c, this.d, this.b, e) }, l.Xj = function () { this.a.Vj(this.c, this.d, this.b) }, l.b = 0, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingle/1", 1331), M(769, 504, {}, dwt), l.Pj = function (e, n, r, s, o) { return Kst(e, e.eh(), e.Vg()) == this.b ? this.sk() && s ? Ist(e) : e.eh() : null }, l.Qj = function (e, n, r, s, o) { var h, d; return e.eh() && (o = (h = e.Vg(), h >= 0 ? e.Qg(o) : e.eh().ih(e, -1 - h, null, o))), d = is(e.Tg(), this.e), e.Sg(s, d, o) }, l.Rj = function (e, n, r, s, o) { var h; return h = is(e.Tg(), this.e), e.Sg(null, h, o) }, l.Sj = function (e, n, r) { var s; return s = is(e.Tg(), this.e), !!e.eh() && e.Vg() == s }, l.Tj = function (e, n, r, s) { var o, h, d, w, k; if (s != null && !Zst(this.a, s)) throw et(new Xk(mH + (Et(s, 56) ? W3t(u(s, 56).Tg()) : vmt(bl(s))) + yH + this.a + "'")); if (o = e.eh(), d = is(e.Tg(), this.e), qt(s) !== qt(o) || e.Vg() != d && s != null) { if (l7(e, u(s, 56))) throw et(new Bn(qC + e.Ib())); k = null, o && (k = (h = e.Vg(), h >= 0 ? e.Qg(k) : e.eh().ih(e, -1 - h, null, k))), w = u(s, 49), w && (k = w.gh(e, is(w.Tg(), this.b), null, k)), k = e.Sg(w, d, k), k && k.Fi() } else e.Lg() && e.Mg() && Oi(e, new la(e, 1, d, s, s)) }, l.Vj = function (e, n, r) { var s, o, h, d; s = e.eh(), s ? (d = (o = e.Vg(), o >= 0 ? e.Qg(null) : e.eh().ih(e, -1 - o, null, null)), h = is(e.Tg(), this.e), d = e.Sg(null, h, d), d && d.Fi()) : e.Lg() && e.Mg() && Oi(e, new m_(e, 1, this.e, null, null)) }, l.sk = function () { return !1 }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleContainer", 769), M(1315, 769, {}, DWt), l.sk = function () { return !0 }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving", 1315), M(563, 504, {}), l.Pj = function (e, n, r, s, o) { var h; return h = n.Ch(r), h == null ? this.b : qt(h) === qt(p0) ? null : h }, l.Sj = function (e, n, r) { var s; return s = n.Ch(r), s != null && (qt(s) === qt(p0) || !Ni(s, this.b)) }, l.Tj = function (e, n, r, s) { var o, h; e.Lg() && e.Mg() ? (o = (h = n.Ch(r), h == null ? this.b : qt(h) === qt(p0) ? null : h), s == null ? this.c != null ? (n.Dh(r, null), s = this.b) : this.b != null ? n.Dh(r, p0) : n.Dh(r, null) : (this.Sk(s), n.Dh(r, s)), Oi(e, this.d.Tk(e, 1, this.e, o, s))) : s == null ? this.c != null ? n.Dh(r, null) : this.b != null ? n.Dh(r, p0) : n.Dh(r, null) : (this.Sk(s), n.Dh(r, s)) }, l.Vj = function (e, n, r) { var s, o; e.Lg() && e.Mg() ? (s = (o = n.Ch(r), o == null ? this.b : qt(o) === qt(p0) ? null : o), n.Eh(r), Oi(e, this.d.Tk(e, 1, this.e, s, this.b))) : n.Eh(r) }, l.Sk = function (e) { throw et(new J$t) }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleData", 563), M(F4, 1, {}, UF), l.Tk = function (e, n, r, s, o) { return new m_(e, n, r, s, o) }, l.Uk = function (e, n, r, s, o, h) { return new Wnt(e, n, r, s, o, h) }; var PAt, FAt, BAt, RAt, jAt, $At, zAt, bft, qAt; N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator", F4), M(1332, F4, {}, WF), l.Tk = function (e, n, r, s, o) { return new Kwt(e, n, r, Re(Be(s)), Re(Be(o))) }, l.Uk = function (e, n, r, s, o, h) { return new oQt(e, n, r, Re(Be(s)), Re(Be(o)), h) }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1", 1332), M(1333, F4, {}, KF), l.Tk = function (e, n, r, s, o) { return new xmt(e, n, r, u(s, 217).a, u(o, 217).a) }, l.Uk = function (e, n, r, s, o, h) { return new tQt(e, n, r, u(s, 217).a, u(o, 217).a, h) }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2", 1333), M(1334, F4, {}, Ak), l.Tk = function (e, n, r, s, o) { return new kmt(e, n, r, u(s, 172).a, u(o, 172).a) }, l.Uk = function (e, n, r, s, o, h) { return new eQt(e, n, r, u(s, 172).a, u(o, 172).a, h) }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3", 1334), M(1335, F4, {}, YF), l.Tk = function (e, n, r, s, o) { return new Uwt(e, n, r, Xt(xe(s)), Xt(xe(o))) }, l.Uk = function (e, n, r, s, o, h) { return new nQt(e, n, r, Xt(xe(s)), Xt(xe(o)), h) }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4", 1335), M(1336, F4, {}, XF), l.Tk = function (e, n, r, s, o) { return new _mt(e, n, r, u(s, 155).a, u(o, 155).a) }, l.Uk = function (e, n, r, s, o, h) { return new rQt(e, n, r, u(s, 155).a, u(o, 155).a, h) }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5", 1336), M(1337, F4, {}, FZ), l.Tk = function (e, n, r, s, o) { return new Wwt(e, n, r, u(s, 19).a, u(o, 19).a) }, l.Uk = function (e, n, r, s, o, h) { return new iQt(e, n, r, u(s, 19).a, u(o, 19).a, h) }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6", 1337), M(1338, F4, {}, Lk), l.Tk = function (e, n, r, s, o) { return new Emt(e, n, r, u(s, 162).a, u(o, 162).a) }, l.Uk = function (e, n, r, s, o, h) { return new sQt(e, n, r, u(s, 162).a, u(o, 162).a, h) }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7", 1338), M(1339, F4, {}, Mk), l.Tk = function (e, n, r, s, o) { return new Tmt(e, n, r, u(s, 184).a, u(o, 184).a) }, l.Uk = function (e, n, r, s, o, h) { return new aQt(e, n, r, u(s, 184).a, u(o, 184).a, h) }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8", 1339), M(1317, 563, {}, $Yt), l.Sk = function (e) { if (!this.a.wj(e)) throw et(new Xk(mH + bl(e) + yH + this.a + "'")) }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic", 1317), M(1318, 563, {}, AKt), l.Sk = function (e) { }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic", 1318), M(770, 563, {}), l.Sj = function (e, n, r) { var s; return s = n.Ch(r), s != null }, l.Tj = function (e, n, r, s) { var o, h; e.Lg() && e.Mg() ? (o = !0, h = n.Ch(r), h == null ? (o = !1, h = this.b) : qt(h) === qt(p0) && (h = null), s == null ? this.c != null ? (n.Dh(r, null), s = this.b) : n.Dh(r, p0) : (this.Sk(s), n.Dh(r, s)), Oi(e, this.d.Uk(e, 1, this.e, h, s, !o))) : s == null ? this.c != null ? n.Dh(r, null) : n.Dh(r, p0) : (this.Sk(s), n.Dh(r, s)) }, l.Vj = function (e, n, r) { var s, o; e.Lg() && e.Mg() ? (s = !0, o = n.Ch(r), o == null ? (s = !1, o = this.b) : qt(o) === qt(p0) && (o = null), n.Eh(r), Oi(e, this.d.Uk(e, 2, this.e, o, this.b, s))) : n.Eh(r) }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable", 770), M(1319, 770, {}, zYt), l.Sk = function (e) { if (!this.a.wj(e)) throw et(new Xk(mH + bl(e) + yH + this.a + "'")) }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic", 1319), M(1320, 770, {}, LKt), l.Sk = function (e) { }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic", 1320), M(398, 504, {}, Cj), l.Pj = function (e, n, r, s, o) { var h, d, w, k, _; if (_ = n.Ch(r), this.Kj() && qt(_) === qt(p0)) return null; if (this.sk() && s && _ != null) { if (w = u(_, 49), w.kh() && (k = Xp(e, w), w != k)) { if (!Zst(this.a, k)) throw et(new Xk(mH + bl(k) + yH + this.a + "'")); n.Dh(r, _ = k), this.rk() && (h = u(k, 49), d = w.ih(e, this.b ? is(w.Tg(), this.b) : -1 - is(e.Tg(), this.e), null, null), !h.eh() && (d = h.gh(e, this.b ? is(h.Tg(), this.b) : -1 - is(e.Tg(), this.e), null, d)), d && d.Fi()), e.Lg() && e.Mg() && Oi(e, new m_(e, 9, this.e, w, k)) } return _ } else return _ }, l.Qj = function (e, n, r, s, o) { var h, d; return d = n.Ch(r), qt(d) === qt(p0) && (d = null), n.Dh(r, s), this.bj() ? qt(d) !== qt(s) && d != null && (h = u(d, 49), o = h.ih(e, is(h.Tg(), this.b), null, o)) : this.rk() && d != null && (o = u(d, 49).ih(e, -1 - is(e.Tg(), this.e), null, o)), e.Lg() && e.Mg() && (!o && (o = new Lp(4)), o.Ei(new m_(e, 1, this.e, d, s))), o }, l.Rj = function (e, n, r, s, o) { var h; return h = n.Ch(r), qt(h) === qt(p0) && (h = null), n.Eh(r), e.Lg() && e.Mg() && (!o && (o = new Lp(4)), this.Kj() ? o.Ei(new m_(e, 2, this.e, h, null)) : o.Ei(new m_(e, 1, this.e, h, null))), o }, l.Sj = function (e, n, r) { var s; return s = n.Ch(r), s != null }, l.Tj = function (e, n, r, s) { var o, h, d, w, k; if (s != null && !Zst(this.a, s)) throw et(new Xk(mH + (Et(s, 56) ? W3t(u(s, 56).Tg()) : vmt(bl(s))) + yH + this.a + "'")); k = n.Ch(r), w = k != null, this.Kj() && qt(k) === qt(p0) && (k = null), d = null, this.bj() ? qt(k) !== qt(s) && (k != null && (o = u(k, 49), d = o.ih(e, is(o.Tg(), this.b), null, d)), s != null && (o = u(s, 49), d = o.gh(e, is(o.Tg(), this.b), null, d))) : this.rk() && qt(k) !== qt(s) && (k != null && (d = u(k, 49).ih(e, -1 - is(e.Tg(), this.e), null, d)), s != null && (d = u(s, 49).gh(e, -1 - is(e.Tg(), this.e), null, d))), s == null && this.Kj() ? n.Dh(r, p0) : n.Dh(r, s), e.Lg() && e.Mg() ? (h = new Wnt(e, 1, this.e, k, s, this.Kj() && !w), d ? (d.Ei(h), d.Fi()) : Oi(e, h)) : d && d.Fi() }, l.Vj = function (e, n, r) { var s, o, h, d, w; w = n.Ch(r), d = w != null, this.Kj() && qt(w) === qt(p0) && (w = null), h = null, w != null && (this.bj() ? (s = u(w, 49), h = s.ih(e, is(s.Tg(), this.b), null, h)) : this.rk() && (h = u(w, 49).ih(e, -1 - is(e.Tg(), this.e), null, h))), n.Eh(r), e.Lg() && e.Mg() ? (o = new Wnt(e, this.Kj() ? 2 : 1, this.e, w, null, d), h ? (h.Ei(o), h.Fi()) : Oi(e, o)) : h && h.Fi() }, l.bj = function () { return !1 }, l.rk = function () { return !1 }, l.sk = function () { return !1 }, l.Kj = function () { return !1 }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleEObject", 398), M(564, 398, {}, Yet), l.rk = function () { return !0 }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment", 564), M(1323, 564, {}, SUt), l.sk = function () { return !0 }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving", 1323), M(772, 564, {}, wbt), l.Kj = function () { return !0 }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable", 772), M(1325, 772, {}, AUt), l.sk = function () { return !0 }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving", 1325), M(640, 564, {}, unt), l.bj = function () { return !0 }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse", 640), M(1324, 640, {}, IWt), l.sk = function () { return !0 }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving", 1324), M(773, 640, {}, ivt), l.Kj = function () { return !0 }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable", 773), M(1326, 773, {}, OWt), l.sk = function () { return !0 }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving", 1326), M(641, 398, {}, mbt), l.sk = function () { return !0 }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving", 641), M(1327, 641, {}, LUt), l.Kj = function () { return !0 }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable", 1327), M(774, 641, {}, nvt), l.bj = function () { return !0 }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse", 774), M(1328, 774, {}, NWt), l.Kj = function () { return !0 }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable", 1328), M(1321, 398, {}, MUt), l.Kj = function () { return !0 }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable", 1321), M(771, 398, {}, rvt), l.bj = function () { return !0 }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse", 771), M(1322, 771, {}, PWt), l.Kj = function () { return !0 }, N(Mn, "EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable", 1322), M(775, 565, wH, Jvt), l.Pk = function (e) { return new Jvt(this.a, this.c, e) }, l.dd = function () { return this.b }, l.Qk = function (e, n, r) { return win(this, e, this.b, r) }, l.Rk = function (e, n, r) { return min(this, e, this.b, r) }, N(Mn, "EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry", 775), M(1329, 1, qct, H$t), l.Wj = function (e) { return this.a }, l.fj = function () { return Et(this.a, 95) ? u(this.a, 95).fj() : !this.a.dc() }, l.Wb = function (e) { this.a.$b(), this.a.Gc(u(e, 15)) }, l.Xj = function () { Et(this.a, 95) ? u(this.a, 95).Xj() : this.a.$b() }, N(Mn, "EStructuralFeatureImpl/SettingMany", 1329), M(1330, 565, wH, YQt), l.Ok = function (e) { return new Zet((Vi(), rA), this.b.Ih(this.a, e)) }, l.dd = function () { return null }, l.Qk = function (e, n, r) { return r }, l.Rk = function (e, n, r) { return r }, N(Mn, "EStructuralFeatureImpl/SimpleContentFeatureMapEntry", 1330), M(642, 565, wH, Zet), l.Ok = function (e) { return new Zet(this.c, e) }, l.dd = function () { return this.a }, l.Qk = function (e, n, r) { return r }, l.Rk = function (e, n, r) { return r }, N(Mn, "EStructuralFeatureImpl/SimpleFeatureMapEntry", 642), M(391, 497, Id, mm), l.ri = function (e) { return Ot(Zh, De, 26, e, 0, 1) }, l.ni = function () { return !1 }, N(Mn, "ESuperAdapter/1", 391), M(444, 438, { 105: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 108: 1, 836: 1, 49: 1, 97: 1, 150: 1, 444: 1, 114: 1, 115: 1 }, BL), l._g = function (e, n, r) { var s; switch (e) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), this.Ab; case 1: return this.zb; case 2: return !this.a && (this.a = new p_(this, Co, this)), this.a }return ph(this, e - ar((hn(), $w)), wn((s = u(Dn(this, 16), 26), s || $w), e), n, r) }, l.jh = function (e, n, r) { var s, o; switch (n) { case 0: return !this.Ab && (this.Ab = new he(li, this, 0, 3)), Za(this.Ab, e, r); case 2: return !this.a && (this.a = new p_(this, Co, this)), Za(this.a, e, r) }return o = u(wn((s = u(Dn(this, 16), 26), s || (hn(), $w)), n), 66), o.Nj().Rj(this, fu(this), n - ar((hn(), $w)), e, r) }, l.lh = function (e) { var n; switch (e) { case 0: return !!this.Ab && this.Ab.i != 0; case 1: return this.zb != null; case 2: return !!this.a && this.a.i != 0 }return dh(this, e - ar((hn(), $w)), wn((n = u(Dn(this, 16), 26), n || $w), e)) }, l.sh = function (e, n) { var r; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab), !this.Ab && (this.Ab = new he(li, this, 0, 3)), vs(this.Ab, u(n, 14)); return; case 1: su(this, Kr(n)); return; case 2: !this.a && (this.a = new p_(this, Co, this)), Ir(this.a), !this.a && (this.a = new p_(this, Co, this)), vs(this.a, u(n, 14)); return }yh(this, e - ar((hn(), $w)), wn((r = u(Dn(this, 16), 26), r || $w), e), n) }, l.zh = function () { return hn(), $w }, l.Bh = function (e) { var n; switch (e) { case 0: !this.Ab && (this.Ab = new he(li, this, 0, 3)), Ir(this.Ab); return; case 1: su(this, null); return; case 2: !this.a && (this.a = new p_(this, Co, this)), Ir(this.a); return }wh(this, e - ar((hn(), $w)), wn((n = u(Dn(this, 16), 26), n || $w), e)) }, N(Mn, "ETypeParameterImpl", 444), M(445, 85, tc, p_), l.cj = function (e, n) { return m1n(this, u(e, 87), n) }, l.dj = function (e, n) { return y1n(this, u(e, 87), n) }, N(Mn, "ETypeParameterImpl/1", 445), M(634, 43, C4, Btt), l.ec = function () { return new JB(this) }, N(Mn, "ETypeParameterImpl/2", 634), M(556, q1, Xu, JB), l.Fc = function (e) { return nWt(this, u(e, 87)) }, l.Gc = function (e) { var n, r, s; for (s = !1, r = e.Kc(); r.Ob();)n = u(r.Pb(), 87), Pi(this.a, n, "") == null && (s = !0); return s }, l.$b = function () { al(this.a) }, l.Hc = function (e) { return Il(this.a, e) }, l.Kc = function () { var e; return e = new ub(new vg(this.a).a), new tR(e) }, l.Mc = function (e) { return qZt(this, e) }, l.gc = function () { return NT(this.a) }, N(Mn, "ETypeParameterImpl/2/1", 556), M(557, 1, va, tR), l.Nb = function (e) { Da(this, e) }, l.Pb = function () { return u(Uv(this.a).cd(), 87) }, l.Ob = function () { return this.a.b }, l.Qb = function () { mJt(this.a) }, N(Mn, "ETypeParameterImpl/2/1/1", 557), M(1276, 43, C4, Ozt), l._b = function (e) { return pa(e) ? Knt(this, e) : !!qo(this.f, e) }, l.xc = function (e) { var n, r; return n = pa(e) ? Uc(this, e) : gc(qo(this.f, e)), Et(n, 837) ? (r = u(n, 837), n = r._j(), Pi(this, u(e, 235), n), n) : n ?? (e == null ? (tet(), v4e) : null) }, N(Mn, "EValidatorRegistryImpl", 1276), M(1313, 704, { 105: 1, 92: 1, 90: 1, 471: 1, 147: 1, 56: 1, 108: 1, 1941: 1, 49: 1, 97: 1, 150: 1, 114: 1, 115: 1 }, BZ), l.Ih = function (e, n) { switch (e.yj()) { case 21: case 22: case 23: case 24: case 26: case 31: case 32: case 37: case 38: case 39: case 40: case 43: case 44: case 48: case 49: case 20: return n == null ? null : Jo(n); case 25: return Ssn(n); case 27: return Vin(n); case 28: return Gin(n); case 29: return n == null ? null : FGt(QS[0], u(n, 199)); case 41: return n == null ? "" : Mp(u(n, 290)); case 42: return Jo(n); case 50: return Kr(n); default: throw et(new Bn(H7 + e.ne() + mw)) } }, l.Jh = function (e) { var n, r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt; switch (e.G == -1 && (e.G = (q = Vl(e), q ? Pg(q.Mh(), e) : -1)), e.G) { case 0: return r = new Ntt, r; case 1: return n = new VF, n; case 2: return s = new YL, s; case 4: return o = new eR, o; case 5: return h = new Izt, h; case 6: return d = new nzt, d; case 7: return w = new OB, w; case 10: return _ = new Ck, _; case 11: return L = new Ptt, L; case 12: return F = new iXt, F; case 13: return G = new Ftt, G; case 14: return W = new kbt, W; case 17: return Z = new PZ, Z; case 18: return k = new pv, k; case 19: return bt = new BL, bt; default: throw et(new Bn(Cct + e.zb + mw)) } }, l.Kh = function (e, n) { switch (e.yj()) { case 20: return n == null ? null : new zpt(n); case 21: return n == null ? null : new Fp(n); case 23: case 22: return n == null ? null : Iun(n); case 26: case 24: return n == null ? null : kD(Kl(n, -128, 127) << 24 >> 24); case 25: return Hgn(n); case 27: return phn(n); case 28: return bhn(n); case 29: return R1n(n); case 32: case 31: return n == null ? null : cy(n); case 38: case 37: return n == null ? null : new opt(n); case 40: case 39: return n == null ? null : pe(Kl(n, $a, Di)); case 41: return null; case 42: return n == null, null; case 44: case 43: return n == null ? null : fb(wq(n)); case 49: case 48: return n == null ? null : e7(Kl(n, xH, 32767) << 16 >> 16); case 50: return n; default: throw et(new Bn(H7 + e.ne() + mw)) } }, N(Mn, "EcoreFactoryImpl", 1313), M(547, 179, { 105: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 235: 1, 108: 1, 1939: 1, 49: 1, 97: 1, 150: 1, 179: 1, 547: 1, 114: 1, 115: 1, 675: 1 }, xYt), l.gb = !1, l.hb = !1; var HAt, b4e = !1; N(Mn, "EcorePackageImpl", 547), M(1184, 1, { 837: 1 }, RZ), l._j = function () { return aUt(), w4e }, N(Mn, "EcorePackageImpl/1", 1184), M(1193, 1, vi, jZ), l.wj = function (e) { return Et(e, 147) }, l.xj = function (e) { return Ot(aN, De, 147, e, 0, 1) }, N(Mn, "EcorePackageImpl/10", 1193), M(1194, 1, vi, $Z), l.wj = function (e) { return Et(e, 191) }, l.xj = function (e) { return Ot(oft, De, 191, e, 0, 1) }, N(Mn, "EcorePackageImpl/11", 1194), M(1195, 1, vi, zZ), l.wj = function (e) { return Et(e, 56) }, l.xj = function (e) { return Ot(T2, De, 56, e, 0, 1) }, N(Mn, "EcorePackageImpl/12", 1195), M(1196, 1, vi, qZ), l.wj = function (e) { return Et(e, 399) }, l.xj = function (e) { return Ot(Jh, d8t, 59, e, 0, 1) }, N(Mn, "EcorePackageImpl/13", 1196), M(1197, 1, vi, HZ), l.wj = function (e) { return Et(e, 235) }, l.xj = function (e) { return Ot(u1, De, 235, e, 0, 1) }, N(Mn, "EcorePackageImpl/14", 1197), M(1198, 1, vi, VZ), l.wj = function (e) { return Et(e, 509) }, l.xj = function (e) { return Ot(Rw, De, 2017, e, 0, 1) }, N(Mn, "EcorePackageImpl/15", 1198), M(1199, 1, vi, QF), l.wj = function (e) { return Et(e, 99) }, l.xj = function (e) { return Ot(Qy, P4, 18, e, 0, 1) }, N(Mn, "EcorePackageImpl/16", 1199), M(1200, 1, vi, GZ), l.wj = function (e) { return Et(e, 170) }, l.xj = function (e) { return Ot(ju, P4, 170, e, 0, 1) }, N(Mn, "EcorePackageImpl/17", 1200), M(1201, 1, vi, UZ), l.wj = function (e) { return Et(e, 472) }, l.xj = function (e) { return Ot(Yy, De, 472, e, 0, 1) }, N(Mn, "EcorePackageImpl/18", 1201), M(1202, 1, vi, WZ), l.wj = function (e) { return Et(e, 548) }, l.xj = function (e) { return Ot(xc, vde, 548, e, 0, 1) }, N(Mn, "EcorePackageImpl/19", 1202), M(1185, 1, vi, ZF), l.wj = function (e) { return Et(e, 322) }, l.xj = function (e) { return Ot(Xy, P4, 34, e, 0, 1) }, N(Mn, "EcorePackageImpl/2", 1185), M(1203, 1, vi, Dk), l.wj = function (e) { return Et(e, 241) }, l.xj = function (e) { return Ot(Co, Nde, 87, e, 0, 1) }, N(Mn, "EcorePackageImpl/20", 1203), M(1204, 1, vi, UE), l.wj = function (e) { return Et(e, 444) }, l.xj = function (e) { return Ot(wu, De, 836, e, 0, 1) }, N(Mn, "EcorePackageImpl/21", 1204), M(1205, 1, vi, JF), l.wj = function (e) { return Dm(e) }, l.xj = function (e) { return Ot(Zs, te, 476, e, 8, 1) }, N(Mn, "EcorePackageImpl/22", 1205), M(1206, 1, vi, KZ), l.wj = function (e) { return Et(e, 190) }, l.xj = function (e) { return Ot(tl, te, 190, e, 0, 2) }, N(Mn, "EcorePackageImpl/23", 1206), M(1207, 1, vi, tB), l.wj = function (e) { return Et(e, 217) }, l.xj = function (e) { return Ot(kx, te, 217, e, 0, 1) }, N(Mn, "EcorePackageImpl/24", 1207), M(1208, 1, vi, eB), l.wj = function (e) { return Et(e, 172) }, l.xj = function (e) { return Ot(tS, te, 172, e, 0, 1) }, N(Mn, "EcorePackageImpl/25", 1208), M(1209, 1, vi, YZ), l.wj = function (e) { return Et(e, 199) }, l.xj = function (e) { return Ot(NH, te, 199, e, 0, 1) }, N(Mn, "EcorePackageImpl/26", 1209), M(1210, 1, vi, WE), l.wj = function (e) { return !1 }, l.xj = function (e) { return Ot(oLt, De, 2110, e, 0, 1) }, N(Mn, "EcorePackageImpl/27", 1210), M(1211, 1, vi, ym), l.wj = function (e) { return Im(e) }, l.xj = function (e) { return Ot(ka, te, 333, e, 7, 1) }, N(Mn, "EcorePackageImpl/28", 1211), M(1212, 1, vi, nB), l.wj = function (e) { return Et(e, 58) }, l.xj = function (e) { return Ot(kAt, my, 58, e, 0, 1) }, N(Mn, "EcorePackageImpl/29", 1212), M(1186, 1, vi, rB), l.wj = function (e) { return Et(e, 510) }, l.xj = function (e) { return Ot(li, { 3: 1, 4: 1, 5: 1, 1934: 1 }, 590, e, 0, 1) }, N(Mn, "EcorePackageImpl/3", 1186), M(1213, 1, vi, XZ), l.wj = function (e) { return Et(e, 573) }, l.xj = function (e) { return Ot(_At, De, 1940, e, 0, 1) }, N(Mn, "EcorePackageImpl/30", 1213), M(1214, 1, vi, QZ), l.wj = function (e) { return Et(e, 153) }, l.xj = function (e) { return Ot(KAt, my, 153, e, 0, 1) }, N(Mn, "EcorePackageImpl/31", 1214), M(1215, 1, vi, KE), l.wj = function (e) { return Et(e, 72) }, l.xj = function (e) { return Ot(XG, Hde, 72, e, 0, 1) }, N(Mn, "EcorePackageImpl/32", 1215), M(1216, 1, vi, iB), l.wj = function (e) { return Et(e, 155) }, l.xj = function (e) { return Ot(X7, te, 155, e, 0, 1) }, N(Mn, "EcorePackageImpl/33", 1216), M(1217, 1, vi, sB), l.wj = function (e) { return Et(e, 19) }, l.xj = function (e) { return Ot(to, te, 19, e, 0, 1) }, N(Mn, "EcorePackageImpl/34", 1217), M(1218, 1, vi, Tc), l.wj = function (e) { return Et(e, 290) }, l.xj = function (e) { return Ot(C8t, De, 290, e, 0, 1) }, N(Mn, "EcorePackageImpl/35", 1218), M(1219, 1, vi, ZZ), l.wj = function (e) { return Et(e, 162) }, l.xj = function (e) { return Ot(xw, te, 162, e, 0, 1) }, N(Mn, "EcorePackageImpl/36", 1219), M(1220, 1, vi, aB), l.wj = function (e) { return Et(e, 83) }, l.xj = function (e) { return Ot(S8t, De, 83, e, 0, 1) }, N(Mn, "EcorePackageImpl/37", 1220), M(1221, 1, vi, YE), l.wj = function (e) { return Et(e, 591) }, l.xj = function (e) { return Ot(VAt, De, 591, e, 0, 1) }, N(Mn, "EcorePackageImpl/38", 1221), M(1222, 1, vi, JZ), l.wj = function (e) { return !1 }, l.xj = function (e) { return Ot(cLt, De, 2111, e, 0, 1) }, N(Mn, "EcorePackageImpl/39", 1222), M(1187, 1, vi, tJ), l.wj = function (e) { return Et(e, 88) }, l.xj = function (e) { return Ot(Zh, De, 26, e, 0, 1) }, N(Mn, "EcorePackageImpl/4", 1187), M(1223, 1, vi, XE), l.wj = function (e) { return Et(e, 184) }, l.xj = function (e) { return Ot(kw, te, 184, e, 0, 1) }, N(Mn, "EcorePackageImpl/40", 1223), M(1224, 1, vi, oB), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Mn, "EcorePackageImpl/41", 1224), M(1225, 1, vi, QE), l.wj = function (e) { return Et(e, 588) }, l.xj = function (e) { return Ot(TAt, De, 588, e, 0, 1) }, N(Mn, "EcorePackageImpl/42", 1225), M(1226, 1, vi, ZE), l.wj = function (e) { return !1 }, l.xj = function (e) { return Ot(uLt, te, 2112, e, 0, 1) }, N(Mn, "EcorePackageImpl/43", 1226), M(1227, 1, vi, Vf), l.wj = function (e) { return Et(e, 42) }, l.xj = function (e) { return Ot(Ab, Eq, 42, e, 0, 1) }, N(Mn, "EcorePackageImpl/44", 1227), M(1188, 1, vi, RL), l.wj = function (e) { return Et(e, 138) }, l.xj = function (e) { return Ot(l1, De, 138, e, 0, 1) }, N(Mn, "EcorePackageImpl/5", 1188), M(1189, 1, vi, jL), l.wj = function (e) { return Et(e, 148) }, l.xj = function (e) { return Ot(dft, De, 148, e, 0, 1) }, N(Mn, "EcorePackageImpl/6", 1189), M(1190, 1, vi, n6), l.wj = function (e) { return Et(e, 457) }, l.xj = function (e) { return Ot(YG, De, 671, e, 0, 1) }, N(Mn, "EcorePackageImpl/7", 1190), M(1191, 1, vi, eJ), l.wj = function (e) { return Et(e, 573) }, l.xj = function (e) { return Ot(tg, De, 678, e, 0, 1) }, N(Mn, "EcorePackageImpl/8", 1191), M(1192, 1, vi, nJ), l.wj = function (e) { return Et(e, 471) }, l.xj = function (e) { return Ot(XS, De, 471, e, 0, 1) }, N(Mn, "EcorePackageImpl/9", 1192), M(1025, 1982, bde, Qzt), l.bi = function (e, n) { icn(this, u(n, 415)) }, l.fi = function (e, n) { hae(this, e, u(n, 415)) }, N(Mn, "MinimalEObjectImpl/1ArrayDelegatingAdapterList", 1025), M(1026, 143, XI, fYt), l.Ai = function () { return this.a.a }, N(Mn, "MinimalEObjectImpl/1ArrayDelegatingAdapterList/1", 1026), M(1053, 1052, {}, AGt), N("org.eclipse.emf.ecore.plugin", "EcorePlugin", 1053); var VAt = ls(Vde, "Resource"); M(781, 1378, Gde), l.Yk = function (e) { }, l.Zk = function (e) { }, l.Vk = function () { return !this.a && (this.a = new Ltt(this)), this.a }, l.Wk = function (e) { var n, r, s, o, h; if (s = e.length, s > 0) if (Yr(0, e.length), e.charCodeAt(0) == 47) { for (h = new iu(4), o = 1, n = 1; n < s; ++n)Yr(n, e.length), e.charCodeAt(n) == 47 && (ue(h, o == n ? "" : e.substr(o, n - o)), o = n + 1); return ue(h, e.substr(o)), afn(this, h) } else Yr(s - 1, e.length), e.charCodeAt(s - 1) == 63 && (r = Hbt(e, Nu(63), s - 2), r > 0 && (e = e.substr(0, r))); return C0n(this, e) }, l.Xk = function () { return this.c }, l.Ib = function () { var e; return Mp(this.gm) + "@" + (e = ns(this) >>> 0, e.toString(16)) + " uri='" + this.d + "'" }, l.b = !1, N(Hct, "ResourceImpl", 781), M(1379, 781, Gde, G$t), N(Hct, "BinaryResourceImpl", 1379), M(1169, 694, Bct), l.si = function (e) { return Et(e, 56) ? oen(this, u(e, 56)) : Et(e, 591) ? new lr(u(e, 591).Vk()) : qt(e) === qt(this.f) ? u(e, 14).Kc() : (f8(), uN.a) }, l.Ob = function () { return R4t(this) }, l.a = !1, N(Ji, "EcoreUtil/ContentTreeIterator", 1169), M(1380, 1169, Bct, HKt), l.si = function (e) { return qt(e) === qt(this.f) ? u(e, 15).Kc() : new CQt(u(e, 56)) }, N(Hct, "ResourceImpl/5", 1380), M(648, 1994, Ode, Ltt), l.Hc = function (e) { return this.i <= 4 ? f7(this, e) : Et(e, 49) && u(e, 49).Zg() == this.a }, l.bi = function (e, n) { e == this.i - 1 && (this.a.b || (this.a.b = !0)) }, l.di = function (e, n) { e == 0 ? this.a.b || (this.a.b = !0) : _rt(this, e, n) }, l.fi = function (e, n) { }, l.gi = function (e, n, r) { }, l.aj = function () { return 2 }, l.Ai = function () { return this.a }, l.bj = function () { return !0 }, l.cj = function (e, n) { var r; return r = u(e, 49), n = r.wh(this.a, n), n }, l.dj = function (e, n) { var r; return r = u(e, 49), r.wh(null, n) }, l.ej = function () { return !1 }, l.hi = function () { return !0 }, l.ri = function (e) { return Ot(T2, De, 56, e, 0, 1) }, l.ni = function () { return !1 }, N(Hct, "ResourceImpl/ContentsEList", 648), M(957, 1964, D7, V$t), l.Zc = function (e) { return this.a._h(e) }, l.gc = function () { return this.a.gc() }, N(Ji, "AbstractSequentialInternalEList/1", 957); var GAt, UAt, Pa, WAt; M(624, 1, {}, GWt); var QG, ZG; N(Ji, "BasicExtendedMetaData", 624), M(1160, 1, {}, GVt), l.$k = function () { return null }, l._k = function () { return this.a == -2 && bg(this, O1n(this.d, this.b)), this.a }, l.al = function () { return null }, l.bl = function () { return pn(), pn(), wo }, l.ne = function () { return this.c == U7 && D3(this, qre(this.d, this.b)), this.c }, l.cl = function () { return 0 }, l.a = -2, l.c = U7, N(Ji, "BasicExtendedMetaData/EClassExtendedMetaDataImpl", 1160), M(1161, 1, {}, fQt), l.$k = function () { return this.a == (L8(), QG) && Wgt(this, Ypn(this.f, this.b)), this.a }, l._k = function () { return 0 }, l.al = function () { return this.c == (L8(), QG) && ftt(this, Xpn(this.f, this.b)), this.c }, l.bl = function () { return !this.d && dtt(this, Ybn(this.f, this.b)), this.d }, l.ne = function () { return this.e == U7 && qB(this, qre(this.f, this.b)), this.e }, l.cl = function () { return this.g == -2 && HB(this, Zfn(this.f, this.b)), this.g }, l.e = U7, l.g = -2, N(Ji, "BasicExtendedMetaData/EDataTypeExtendedMetaDataImpl", 1161), M(1159, 1, {}, WVt), l.b = !1, l.c = !1, N(Ji, "BasicExtendedMetaData/EPackageExtendedMetaDataImpl", 1159), M(1162, 1, {}, hQt), l.c = -2, l.e = U7, l.f = U7, N(Ji, "BasicExtendedMetaData/EStructuralFeatureExtendedMetaDataImpl", 1162), M(585, 622, tc, wj), l.aj = function () { return this.c }, l.Fk = function () { return !1 }, l.li = function (e, n) { return n }, l.c = 0, N(Ji, "EDataTypeEList", 585); var KAt = ls(Ji, "FeatureMap"); M(75, 585, { 3: 1, 4: 1, 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 54: 1, 67: 1, 63: 1, 58: 1, 76: 1, 153: 1, 215: 1, 1937: 1, 69: 1, 95: 1 }, ws), l.Vc = function (e, n) { Gpn(this, e, u(n, 72)) }, l.Fc = function (e) { return lpn(this, u(e, 72)) }, l.Yh = function (e) { XJe(this, u(e, 72)) }, l.cj = function (e, n) { return MXe(this, u(e, 72), n) }, l.dj = function (e, n) { return Gbt(this, u(e, 72), n) }, l.ii = function (e, n) { return dvn(this, e, n) }, l.li = function (e, n) { return Umn(this, e, u(n, 72)) }, l._c = function (e, n) { return P2n(this, e, u(n, 72)) }, l.jj = function (e, n) { return DXe(this, u(e, 72), n) }, l.kj = function (e, n) { return bWt(this, u(e, 72), n) }, l.lj = function (e, n, r) { return Pfn(this, u(e, 72), u(n, 72), r) }, l.oi = function (e, n) { return pst(this, e, u(n, 72)) }, l.dl = function (e, n) { return C5t(this, e, n) }, l.Wc = function (e, n) { var r, s, o, h, d, w, k, _, L; for (_ = new Gv(n.gc()), o = n.Kc(); o.Ob();)if (s = u(o.Pb(), 72), h = s.ak(), V0(this.e, h)) (!h.hi() || !d$(this, h, s.dd()) && !f7(_, s)) && Hr(_, s); else { for (L = gu(this.e.Tg(), h), r = u(this.g, 119), d = !0, w = 0; w < this.i; ++w)if (k = r[w], L.rl(k.ak())) { u(u4(this, w, s), 72), d = !1; break } d && Hr(_, s) } return tyt(this, e, _) }, l.Gc = function (e) { var n, r, s, o, h, d, w, k, _; for (k = new Gv(e.gc()), s = e.Kc(); s.Ob();)if (r = u(s.Pb(), 72), o = r.ak(), V0(this.e, o)) (!o.hi() || !d$(this, o, r.dd()) && !f7(k, r)) && Hr(k, r); else { for (_ = gu(this.e.Tg(), o), n = u(this.g, 119), h = !0, d = 0; d < this.i; ++d)if (w = n[d], _.rl(w.ak())) { u(u4(this, d, r), 72), h = !1; break } h && Hr(k, r) } return vs(this, k) }, l.Wh = function (e) { return this.j = -1, Jst(this, this.i, e) }, l.el = function (e, n, r) { return y5t(this, e, n, r) }, l.mk = function (e, n) { return vI(this, e, n) }, l.fl = function (e, n, r) { return H5t(this, e, n, r) }, l.gl = function () { return this }, l.hl = function (e, n) { return xI(this, e, n) }, l.il = function (e) { return u(St(this, e), 72).ak() }, l.jl = function (e) { return u(St(this, e), 72).dd() }, l.kl = function () { return this.b }, l.bj = function () { return !0 }, l.ij = function () { return !0 }, l.ll = function (e) { return !VD(this, e) }, l.ri = function (e) { return Ot(p4e, Hde, 332, e, 0, 1) }, l.Gk = function (e) { return Xet(this, e) }, l.Wb = function (e) { XM(this, e) }, l.ml = function (e, n) { dq(this, e, n) }, l.nl = function (e) { return nee(this, e) }, l.ol = function (e) { Cie(this, e) }, N(Ji, "BasicFeatureMap", 75), M(1851, 1, n0), l.Nb = function (e) { Da(this, e) }, l.Rb = function (e) { if (this.g == -1) throw et(new qu); Ij(this); try { Qoe(this.e, this.b, this.a, e), this.d = this.e.j, Dz(this) } catch (n) { throw n = os(n), Et(n, 73) ? et(new uh) : et(n) } }, l.Ob = function () { return git(this) }, l.Sb = function () { return Cne(this) }, l.Pb = function () { return Dz(this) }, l.Tb = function () { return this.a }, l.Ub = function () { var e; if (Cne(this)) return Ij(this), this.g = --this.a, this.Lk() && (e = oC(this.e, this.b, this.c, this.a, this.j), this.j = e), this.i = 0, this.j; throw et(new _c) }, l.Vb = function () { return this.a - 1 }, l.Qb = function () { if (this.g == -1) throw et(new qu); Ij(this); try { Kse(this.e, this.b, this.g), this.d = this.e.j, this.g < this.a && (--this.a, --this.c), --this.g } catch (e) { throw e = os(e), Et(e, 73) ? et(new uh) : et(e) } }, l.Lk = function () { return !1 }, l.Wb = function (e) { if (this.g == -1) throw et(new qu); Ij(this); try { xue(this.e, this.b, this.g, e), this.d = this.e.j } catch (n) { throw n = os(n), Et(n, 73) ? et(new uh) : et(n) } }, l.a = 0, l.c = 0, l.d = 0, l.f = !1, l.g = 0, l.i = 0, N(Ji, "FeatureMapUtil/BasicFeatureEIterator", 1851), M(410, 1851, n0, U8), l.pl = function () { var e, n, r; for (r = this.e.i, e = u(this.e.g, 119); this.c < r;) { if (n = e[this.c], this.k.rl(n.ak())) return this.j = this.f ? n : n.dd(), this.i = 2, !0; ++this.c } return this.i = 1, this.g = -1, !1 }, l.ql = function () { var e, n; for (e = u(this.e.g, 119); --this.c >= 0;)if (n = e[this.c], this.k.rl(n.ak())) return this.j = this.f ? n : n.dd(), this.i = -2, !0; return this.i = -1, this.g = -1, !1 }, N(Ji, "BasicFeatureMap/FeatureEIterator", 410), M(662, 410, n0, Net), l.Lk = function () { return !0 }, N(Ji, "BasicFeatureMap/ResolvingFeatureEIterator", 662), M(955, 486, bH, RGt), l.Gi = function () { return this }, N(Ji, "EContentsEList/1", 955), M(956, 486, bH, uGt), l.Lk = function () { return !1 }, N(Ji, "EContentsEList/2", 956), M(954, 279, vH, jGt), l.Nk = function (e) { }, l.Ob = function () { return !1 }, l.Sb = function () { return !1 }, N(Ji, "EContentsEList/FeatureIteratorImpl/1", 954), M(825, 585, tc, X2t), l.ci = function () { this.a = !0 }, l.fj = function () { return this.a }, l.Xj = function () { var e; Ir(this), Ll(this.e) ? (e = this.a, this.a = !1, Oi(this.e, new mf(this.e, 2, this.c, e, !1))) : this.a = !1 }, l.a = !1, N(Ji, "EDataTypeEList/Unsettable", 825), M(1849, 585, tc, WGt), l.hi = function () { return !0 }, N(Ji, "EDataTypeUniqueEList", 1849), M(1850, 825, tc, KGt), l.hi = function () { return !0 }, N(Ji, "EDataTypeUniqueEList/Unsettable", 1850), M(139, 85, tc, Vu), l.Ek = function () { return !0 }, l.li = function (e, n) { return ax(this, e, u(n, 56)) }, N(Ji, "EObjectContainmentEList/Resolving", 139), M(1163, 545, tc, UGt), l.Ek = function () { return !0 }, l.li = function (e, n) { return ax(this, e, u(n, 56)) }, N(Ji, "EObjectContainmentEList/Unsettable/Resolving", 1163), M(748, 16, tc, Rbt), l.ci = function () { this.a = !0 }, l.fj = function () { return this.a }, l.Xj = function () { var e; Ir(this), Ll(this.e) ? (e = this.a, this.a = !1, Oi(this.e, new mf(this.e, 2, this.c, e, !1))) : this.a = !1 }, l.a = !1, N(Ji, "EObjectContainmentWithInverseEList/Unsettable", 748), M(1173, 748, tc, rWt), l.Ek = function () { return !0 }, l.li = function (e, n) { return ax(this, e, u(n, 56)) }, N(Ji, "EObjectContainmentWithInverseEList/Unsettable/Resolving", 1173), M(743, 496, tc, Y2t), l.ci = function () { this.a = !0 }, l.fj = function () { return this.a }, l.Xj = function () { var e; Ir(this), Ll(this.e) ? (e = this.a, this.a = !1, Oi(this.e, new mf(this.e, 2, this.c, e, !1))) : this.a = !1 }, l.a = !1, N(Ji, "EObjectEList/Unsettable", 743), M(328, 496, tc, U3), l.Ek = function () { return !0 }, l.li = function (e, n) { return ax(this, e, u(n, 56)) }, N(Ji, "EObjectResolvingEList", 328), M(1641, 743, tc, YGt), l.Ek = function () { return !0 }, l.li = function (e, n) { return ax(this, e, u(n, 56)) }, N(Ji, "EObjectResolvingEList/Unsettable", 1641), M(1381, 1, {}, rJ); var v4e; N(Ji, "EObjectValidator", 1381), M(546, 496, tc, Bj), l.zk = function () { return this.d }, l.Ak = function () { return this.b }, l.bj = function () { return !0 }, l.Dk = function () { return !0 }, l.b = 0, N(Ji, "EObjectWithInverseEList", 546), M(1176, 546, tc, iWt), l.Ck = function () { return !0 }, N(Ji, "EObjectWithInverseEList/ManyInverse", 1176), M(625, 546, tc, tnt), l.ci = function () { this.a = !0 }, l.fj = function () { return this.a }, l.Xj = function () { var e; Ir(this), Ll(this.e) ? (e = this.a, this.a = !1, Oi(this.e, new mf(this.e, 2, this.c, e, !1))) : this.a = !1 }, l.a = !1, N(Ji, "EObjectWithInverseEList/Unsettable", 625), M(1175, 625, tc, sWt), l.Ck = function () { return !0 }, N(Ji, "EObjectWithInverseEList/Unsettable/ManyInverse", 1175), M(749, 546, tc, jbt), l.Ek = function () { return !0 }, l.li = function (e, n) { return ax(this, e, u(n, 56)) }, N(Ji, "EObjectWithInverseResolvingEList", 749), M(31, 749, tc, Tn), l.Ck = function () { return !0 }, N(Ji, "EObjectWithInverseResolvingEList/ManyInverse", 31), M(750, 625, tc, $bt), l.Ek = function () { return !0 }, l.li = function (e, n) { return ax(this, e, u(n, 56)) }, N(Ji, "EObjectWithInverseResolvingEList/Unsettable", 750), M(1174, 750, tc, aWt), l.Ck = function () { return !0 }, N(Ji, "EObjectWithInverseResolvingEList/Unsettable/ManyInverse", 1174), M(1164, 622, tc), l.ai = function () { return (this.b & 1792) == 0 }, l.ci = function () { this.b |= 1 }, l.Bk = function () { return (this.b & 4) != 0 }, l.bj = function () { return (this.b & 40) != 0 }, l.Ck = function () { return (this.b & 16) != 0 }, l.Dk = function () { return (this.b & 8) != 0 }, l.Ek = function () { return (this.b & Cy) != 0 }, l.rk = function () { return (this.b & 32) != 0 }, l.Fk = function () { return (this.b & Tf) != 0 }, l.wj = function (e) { return this.d ? zQt(this.d, e) : this.ak().Yj().wj(e) }, l.fj = function () { return this.b & 2 ? (this.b & 1) != 0 : this.i != 0 }, l.hi = function () { return (this.b & 128) != 0 }, l.Xj = function () { var e; Ir(this), this.b & 2 && (Ll(this.e) ? (e = (this.b & 1) != 0, this.b &= -2, Kk(this, new mf(this.e, 2, is(this.e.Tg(), this.ak()), e, !1))) : this.b &= -2) }, l.ni = function () { return (this.b & 1536) == 0 }, l.b = 0, N(Ji, "EcoreEList/Generic", 1164), M(1165, 1164, tc, XYt), l.ak = function () { return this.a }, N(Ji, "EcoreEList/Dynamic", 1165), M(747, 63, Id, Jgt), l.ri = function (e) { return TD(this.a.a, e) }, N(Ji, "EcoreEMap/1", 747), M(746, 85, tc, Rvt), l.bi = function (e, n) { Oz(this.b, u(n, 133)) }, l.di = function (e, n) { Fee(this.b) }, l.ei = function (e, n, r) { var s; ++(s = this.b, u(n, 133), s).e }, l.fi = function (e, n) { Tit(this.b, u(n, 133)) }, l.gi = function (e, n, r) { Tit(this.b, u(r, 133)), qt(r) === qt(n) && u(r, 133).Th(jKe(u(n, 133).cd())), Oz(this.b, u(n, 133)) }, N(Ji, "EcoreEMap/DelegateEObjectContainmentEList", 746), M(1171, 151, f8t, Yte), N(Ji, "EcoreEMap/Unsettable", 1171), M(1172, 746, tc, oWt), l.ci = function () { this.a = !0 }, l.fj = function () { return this.a }, l.Xj = function () { var e; Ir(this), Ll(this.e) ? (e = this.a, this.a = !1, Oi(this.e, new mf(this.e, 2, this.c, e, !1))) : this.a = !1 }, l.a = !1, N(Ji, "EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList", 1172), M(1168, 228, C4, JKt), l.a = !1, l.b = !1, N(Ji, "EcoreUtil/Copier", 1168), M(745, 1, va, CQt), l.Nb = function (e) { Da(this, e) }, l.Ob = function () { return kre(this) }, l.Pb = function () { var e; return kre(this), e = this.b, this.b = null, e }, l.Qb = function () { this.a.Qb() }, N(Ji, "EcoreUtil/ProperContentIterator", 745), M(1382, 1381, {}, NB); var w4e; N(Ji, "EcoreValidator", 1382); var m4e; ls(Ji, "FeatureMapUtil/Validator"), M(1260, 1, { 1942: 1 }, iJ), l.rl = function (e) { return !0 }, N(Ji, "FeatureMapUtil/1", 1260), M(757, 1, { 1942: 1 }, e6t), l.rl = function (e) { var n; return this.c == e ? !0 : (n = Be(or(this.a, e)), n == null ? Mbn(this, e) ? (NZt(this.a, e, (Rn(), Y7)), !0) : (NZt(this.a, e, (Rn(), Lb)), !1) : n == (Rn(), Y7)) }, l.e = !1; var vft; N(Ji, "FeatureMapUtil/BasicValidator", 757), M(758, 43, C4, G2t), N(Ji, "FeatureMapUtil/BasicValidator/Cache", 758), M(501, 52, { 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 58: 1, 76: 1, 69: 1, 95: 1 }, DM), l.Vc = function (e, n) { Qoe(this.c, this.b, e, n) }, l.Fc = function (e) { return C5t(this.c, this.b, e) }, l.Wc = function (e, n) { return Gwn(this.c, this.b, e, n) }, l.Gc = function (e) { return s_(this, e) }, l.Xh = function (e, n) { fsn(this.c, this.b, e, n) }, l.lk = function (e, n) { return y5t(this.c, this.b, e, n) }, l.pi = function (e) { return fq(this.c, this.b, e, !1) }, l.Zh = function () { return yGt(this.c, this.b) }, l.$h = function () { return CKe(this.c, this.b) }, l._h = function (e) { return vin(this.c, this.b, e) }, l.mk = function (e, n) { return jUt(this, e, n) }, l.$b = function () { b6(this) }, l.Hc = function (e) { return d$(this.c, this.b, e) }, l.Ic = function (e) { return ban(this.c, this.b, e) }, l.Xb = function (e) { return fq(this.c, this.b, e, !0) }, l.Wj = function (e) { return this }, l.Xc = function (e) { return Arn(this.c, this.b, e) }, l.dc = function () { return GR(this) }, l.fj = function () { return !VD(this.c, this.b) }, l.Kc = function () { return tsn(this.c, this.b) }, l.Yc = function () { return esn(this.c, this.b) }, l.Zc = function (e) { return dcn(this.c, this.b, e) }, l.ii = function (e, n) { return pue(this.c, this.b, e, n) }, l.ji = function (e, n) { hin(this.c, this.b, e, n) }, l.$c = function (e) { return Kse(this.c, this.b, e) }, l.Mc = function (e) { return Qbn(this.c, this.b, e) }, l._c = function (e, n) { return xue(this.c, this.b, e, n) }, l.Wb = function (e) { Yz(this.c, this.b), s_(this, u(e, 15)) }, l.gc = function () { return Ccn(this.c, this.b) }, l.Pc = function () { return _nn(this.c, this.b) }, l.Qc = function (e) { return Lrn(this.c, this.b, e) }, l.Ib = function () { var e, n; for (n = new yg, n.a += "[", e = yGt(this.c, this.b); git(e);)So(n, o_(Dz(e))), git(e) && (n.a += ao); return n.a += "]", n.a }, l.Xj = function () { Yz(this.c, this.b) }, N(Ji, "FeatureMapUtil/FeatureEList", 501), M(627, 36, XI, brt), l.yi = function (e) { return U_(this, e) }, l.Di = function (e) { var n, r, s, o, h, d, w; switch (this.d) { case 1: case 2: { if (h = e.Ai(), qt(h) === qt(this.c) && U_(this, null) == e.yi(null)) return this.g = e.zi(), e.xi() == 1 && (this.d = 1), !0; break } case 3: { switch (o = e.xi(), o) { case 3: { if (h = e.Ai(), qt(h) === qt(this.c) && U_(this, null) == e.yi(null)) return this.d = 5, n = new Gv(2), Hr(n, this.g), Hr(n, e.zi()), this.g = n, !0; break } }break } case 5: { switch (o = e.xi(), o) { case 3: { if (h = e.Ai(), qt(h) === qt(this.c) && U_(this, null) == e.yi(null)) return r = u(this.g, 14), r.Fc(e.zi()), !0; break } }break } case 4: { switch (o = e.xi(), o) { case 3: { if (h = e.Ai(), qt(h) === qt(this.c) && U_(this, null) == e.yi(null)) return this.d = 1, this.g = e.zi(), !0; break } case 4: { if (h = e.Ai(), qt(h) === qt(this.c) && U_(this, null) == e.yi(null)) return this.d = 6, w = new Gv(2), Hr(w, this.n), Hr(w, e.Bi()), this.n = w, d = ct(ot(Br, 1), oi, 25, 15, [this.o, e.Ci()]), this.g = d, !0; break } }break } case 6: { switch (o = e.xi(), o) { case 4: { if (h = e.Ai(), qt(h) === qt(this.c) && U_(this, null) == e.yi(null)) return r = u(this.n, 14), r.Fc(e.Bi()), d = u(this.g, 48), s = Ot(Br, oi, 25, d.length + 1, 15, 1), qc(d, 0, s, 0, d.length), s[d.length] = e.Ci(), this.g = s, !0; break } }break } }return !1 }, N(Ji, "FeatureMapUtil/FeatureENotificationImpl", 627), M(552, 501, { 20: 1, 28: 1, 52: 1, 14: 1, 15: 1, 58: 1, 76: 1, 153: 1, 215: 1, 1937: 1, 69: 1, 95: 1 }, kj), l.dl = function (e, n) { return C5t(this.c, e, n) }, l.el = function (e, n, r) { return y5t(this.c, e, n, r) }, l.fl = function (e, n, r) { return H5t(this.c, e, n, r) }, l.gl = function () { return this }, l.hl = function (e, n) { return xI(this.c, e, n) }, l.il = function (e) { return u(fq(this.c, this.b, e, !1), 72).ak() }, l.jl = function (e) { return u(fq(this.c, this.b, e, !1), 72).dd() }, l.kl = function () { return this.a }, l.ll = function (e) { return !VD(this.c, e) }, l.ml = function (e, n) { dq(this.c, e, n) }, l.nl = function (e) { return nee(this.c, e) }, l.ol = function (e) { Cie(this.c, e) }, N(Ji, "FeatureMapUtil/FeatureFeatureMap", 552), M(1259, 1, qct, KVt), l.Wj = function (e) { return fq(this.b, this.a, -1, e) }, l.fj = function () { return !VD(this.b, this.a) }, l.Wb = function (e) { dq(this.b, this.a, e) }, l.Xj = function () { Yz(this.b, this.a) }, N(Ji, "FeatureMapUtil/FeatureValue", 1259); var Gx, wft, mft, Ux, y4e, hN = ls(_H, "AnyType"); M(666, 60, G0, Gtt), N(_H, "InvalidDatatypeValueException", 666); var JG = ls(_H, Wde), fN = ls(_H, Kde), YAt = ls(_H, Yde), x4e, Mc, XAt, Vb, k4e, E4e, T4e, _4e, C4e, S4e, A4e, L4e, M4e, D4e, I4e, u5, O4e, l5, eA, N4e, zw, dN, gN, P4e, nA, rA; M(830, 506, { 105: 1, 92: 1, 90: 1, 56: 1, 49: 1, 97: 1, 843: 1 }, ypt), l._g = function (e, n, r) { switch (e) { case 0: return r ? (!this.c && (this.c = new ws(this, 0)), this.c) : (!this.c && (this.c = new ws(this, 0)), this.c.b); case 1: return r ? (!this.c && (this.c = new ws(this, 0)), u(Wc(this.c, (Vi(), Vb)), 153)) : (!this.c && (this.c = new ws(this, 0)), u(u(Wc(this.c, (Vi(), Vb)), 153), 215)).kl(); case 2: return r ? (!this.b && (this.b = new ws(this, 2)), this.b) : (!this.b && (this.b = new ws(this, 2)), this.b.b) }return ph(this, e - ar(this.zh()), wn(this.j & 2 ? (!this.k && (this.k = new ch), this.k).ck() : this.zh(), e), n, r) }, l.jh = function (e, n, r) { var s; switch (n) { case 0: return !this.c && (this.c = new ws(this, 0)), vI(this.c, e, r); case 1: return (!this.c && (this.c = new ws(this, 0)), u(u(Wc(this.c, (Vi(), Vb)), 153), 69)).mk(e, r); case 2: return !this.b && (this.b = new ws(this, 2)), vI(this.b, e, r) }return s = u(wn(this.j & 2 ? (!this.k && (this.k = new ch), this.k).ck() : this.zh(), n), 66), s.Nj().Rj(this, dmt(this), n - ar(this.zh()), e, r) }, l.lh = function (e) { switch (e) { case 0: return !!this.c && this.c.i != 0; case 1: return !(!this.c && (this.c = new ws(this, 0)), u(Wc(this.c, (Vi(), Vb)), 153)).dc(); case 2: return !!this.b && this.b.i != 0 }return dh(this, e - ar(this.zh()), wn(this.j & 2 ? (!this.k && (this.k = new ch), this.k).ck() : this.zh(), e)) }, l.sh = function (e, n) { switch (e) { case 0: !this.c && (this.c = new ws(this, 0)), XM(this.c, n); return; case 1: (!this.c && (this.c = new ws(this, 0)), u(u(Wc(this.c, (Vi(), Vb)), 153), 215)).Wb(n); return; case 2: !this.b && (this.b = new ws(this, 2)), XM(this.b, n); return }yh(this, e - ar(this.zh()), wn(this.j & 2 ? (!this.k && (this.k = new ch), this.k).ck() : this.zh(), e), n) }, l.zh = function () { return Vi(), XAt }, l.Bh = function (e) { switch (e) { case 0: !this.c && (this.c = new ws(this, 0)), Ir(this.c); return; case 1: (!this.c && (this.c = new ws(this, 0)), u(Wc(this.c, (Vi(), Vb)), 153)).$b(); return; case 2: !this.b && (this.b = new ws(this, 2)), Ir(this.b); return }wh(this, e - ar(this.zh()), wn(this.j & 2 ? (!this.k && (this.k = new ch), this.k).ck() : this.zh(), e)) }, l.Ib = function () { var e; return this.j & 4 ? kf(this) : (e = new Ih(kf(this)), e.a += " (mixed: ", e_(e, this.c), e.a += ", anyAttribute: ", e_(e, this.b), e.a += ")", e.a) }, N(Ps, "AnyTypeImpl", 830), M(667, 506, { 105: 1, 92: 1, 90: 1, 56: 1, 49: 1, 97: 1, 2021: 1, 667: 1 }, cB), l._g = function (e, n, r) { switch (e) { case 0: return this.a; case 1: return this.b }return ph(this, e - ar((Vi(), u5)), wn(this.j & 2 ? (!this.k && (this.k = new ch), this.k).ck() : u5, e), n, r) }, l.lh = function (e) { switch (e) { case 0: return this.a != null; case 1: return this.b != null }return dh(this, e - ar((Vi(), u5)), wn(this.j & 2 ? (!this.k && (this.k = new ch), this.k).ck() : u5, e)) }, l.sh = function (e, n) { switch (e) { case 0: vtt(this, Kr(n)); return; case 1: Ygt(this, Kr(n)); return }yh(this, e - ar((Vi(), u5)), wn(this.j & 2 ? (!this.k && (this.k = new ch), this.k).ck() : u5, e), n) }, l.zh = function () { return Vi(), u5 }, l.Bh = function (e) { switch (e) { case 0: this.a = null; return; case 1: this.b = null; return }wh(this, e - ar((Vi(), u5)), wn(this.j & 2 ? (!this.k && (this.k = new ch), this.k).ck() : u5, e)) }, l.Ib = function () { var e; return this.j & 4 ? kf(this) : (e = new Ih(kf(this)), e.a += " (data: ", So(e, this.a), e.a += ", target: ", So(e, this.b), e.a += ")", e.a) }, l.a = null, l.b = null, N(Ps, "ProcessingInstructionImpl", 667), M(668, 830, { 105: 1, 92: 1, 90: 1, 56: 1, 49: 1, 97: 1, 843: 1, 2022: 1, 668: 1 }, Pzt), l._g = function (e, n, r) { switch (e) { case 0: return r ? (!this.c && (this.c = new ws(this, 0)), this.c) : (!this.c && (this.c = new ws(this, 0)), this.c.b); case 1: return r ? (!this.c && (this.c = new ws(this, 0)), u(Wc(this.c, (Vi(), Vb)), 153)) : (!this.c && (this.c = new ws(this, 0)), u(u(Wc(this.c, (Vi(), Vb)), 153), 215)).kl(); case 2: return r ? (!this.b && (this.b = new ws(this, 2)), this.b) : (!this.b && (this.b = new ws(this, 2)), this.b.b); case 3: return !this.c && (this.c = new ws(this, 0)), Kr(xI(this.c, (Vi(), eA), !0)); case 4: return zbt(this.a, (!this.c && (this.c = new ws(this, 0)), Kr(xI(this.c, (Vi(), eA), !0)))); case 5: return this.a }return ph(this, e - ar((Vi(), l5)), wn(this.j & 2 ? (!this.k && (this.k = new ch), this.k).ck() : l5, e), n, r) }, l.lh = function (e) { switch (e) { case 0: return !!this.c && this.c.i != 0; case 1: return !(!this.c && (this.c = new ws(this, 0)), u(Wc(this.c, (Vi(), Vb)), 153)).dc(); case 2: return !!this.b && this.b.i != 0; case 3: return !this.c && (this.c = new ws(this, 0)), Kr(xI(this.c, (Vi(), eA), !0)) != null; case 4: return zbt(this.a, (!this.c && (this.c = new ws(this, 0)), Kr(xI(this.c, (Vi(), eA), !0)))) != null; case 5: return !!this.a }return dh(this, e - ar((Vi(), l5)), wn(this.j & 2 ? (!this.k && (this.k = new ch), this.k).ck() : l5, e)) }, l.sh = function (e, n) { switch (e) { case 0: !this.c && (this.c = new ws(this, 0)), XM(this.c, n); return; case 1: (!this.c && (this.c = new ws(this, 0)), u(u(Wc(this.c, (Vi(), Vb)), 153), 215)).Wb(n); return; case 2: !this.b && (this.b = new ws(this, 2)), XM(this.b, n); return; case 3: Cwt(this, Kr(n)); return; case 4: Cwt(this, qbt(this.a, n)); return; case 5: Dc(this, u(n, 148)); return }yh(this, e - ar((Vi(), l5)), wn(this.j & 2 ? (!this.k && (this.k = new ch), this.k).ck() : l5, e), n) }, l.zh = function () { return Vi(), l5 }, l.Bh = function (e) { switch (e) { case 0: !this.c && (this.c = new ws(this, 0)), Ir(this.c); return; case 1: (!this.c && (this.c = new ws(this, 0)), u(Wc(this.c, (Vi(), Vb)), 153)).$b(); return; case 2: !this.b && (this.b = new ws(this, 2)), Ir(this.b); return; case 3: !this.c && (this.c = new ws(this, 0)), dq(this.c, (Vi(), eA), null); return; case 4: Cwt(this, qbt(this.a, null)); return; case 5: this.a = null; return }wh(this, e - ar((Vi(), l5)), wn(this.j & 2 ? (!this.k && (this.k = new ch), this.k).ck() : l5, e)) }, N(Ps, "SimpleAnyTypeImpl", 668), M(669, 506, { 105: 1, 92: 1, 90: 1, 56: 1, 49: 1, 97: 1, 2023: 1, 669: 1 }, Nzt), l._g = function (e, n, r) { switch (e) { case 0: return r ? (!this.a && (this.a = new ws(this, 0)), this.a) : (!this.a && (this.a = new ws(this, 0)), this.a.b); case 1: return r ? (!this.b && (this.b = new Nl((hn(), uo), xc, this, 1)), this.b) : (!this.b && (this.b = new Nl((hn(), uo), xc, this, 1)), hD(this.b)); case 2: return r ? (!this.c && (this.c = new Nl((hn(), uo), xc, this, 2)), this.c) : (!this.c && (this.c = new Nl((hn(), uo), xc, this, 2)), hD(this.c)); case 3: return !this.a && (this.a = new ws(this, 0)), Wc(this.a, (Vi(), dN)); case 4: return !this.a && (this.a = new ws(this, 0)), Wc(this.a, (Vi(), gN)); case 5: return !this.a && (this.a = new ws(this, 0)), Wc(this.a, (Vi(), nA)); case 6: return !this.a && (this.a = new ws(this, 0)), Wc(this.a, (Vi(), rA)) }return ph(this, e - ar((Vi(), zw)), wn(this.j & 2 ? (!this.k && (this.k = new ch), this.k).ck() : zw, e), n, r) }, l.jh = function (e, n, r) { var s; switch (n) { case 0: return !this.a && (this.a = new ws(this, 0)), vI(this.a, e, r); case 1: return !this.b && (this.b = new Nl((hn(), uo), xc, this, 1)), dj(this.b, e, r); case 2: return !this.c && (this.c = new Nl((hn(), uo), xc, this, 2)), dj(this.c, e, r); case 5: return !this.a && (this.a = new ws(this, 0)), jUt(Wc(this.a, (Vi(), nA)), e, r) }return s = u(wn(this.j & 2 ? (!this.k && (this.k = new ch), this.k).ck() : (Vi(), zw), n), 66), s.Nj().Rj(this, dmt(this), n - ar((Vi(), zw)), e, r) }, l.lh = function (e) { switch (e) { case 0: return !!this.a && this.a.i != 0; case 1: return !!this.b && this.b.f != 0; case 2: return !!this.c && this.c.f != 0; case 3: return !this.a && (this.a = new ws(this, 0)), !GR(Wc(this.a, (Vi(), dN))); case 4: return !this.a && (this.a = new ws(this, 0)), !GR(Wc(this.a, (Vi(), gN))); case 5: return !this.a && (this.a = new ws(this, 0)), !GR(Wc(this.a, (Vi(), nA))); case 6: return !this.a && (this.a = new ws(this, 0)), !GR(Wc(this.a, (Vi(), rA))) }return dh(this, e - ar((Vi(), zw)), wn(this.j & 2 ? (!this.k && (this.k = new ch), this.k).ck() : zw, e)) }, l.sh = function (e, n) { switch (e) { case 0: !this.a && (this.a = new ws(this, 0)), XM(this.a, n); return; case 1: !this.b && (this.b = new Nl((hn(), uo), xc, this, 1)), ez(this.b, n); return; case 2: !this.c && (this.c = new Nl((hn(), uo), xc, this, 2)), ez(this.c, n); return; case 3: !this.a && (this.a = new ws(this, 0)), b6(Wc(this.a, (Vi(), dN))), !this.a && (this.a = new ws(this, 0)), s_(Wc(this.a, dN), u(n, 14)); return; case 4: !this.a && (this.a = new ws(this, 0)), b6(Wc(this.a, (Vi(), gN))), !this.a && (this.a = new ws(this, 0)), s_(Wc(this.a, gN), u(n, 14)); return; case 5: !this.a && (this.a = new ws(this, 0)), b6(Wc(this.a, (Vi(), nA))), !this.a && (this.a = new ws(this, 0)), s_(Wc(this.a, nA), u(n, 14)); return; case 6: !this.a && (this.a = new ws(this, 0)), b6(Wc(this.a, (Vi(), rA))), !this.a && (this.a = new ws(this, 0)), s_(Wc(this.a, rA), u(n, 14)); return }yh(this, e - ar((Vi(), zw)), wn(this.j & 2 ? (!this.k && (this.k = new ch), this.k).ck() : zw, e), n) }, l.zh = function () { return Vi(), zw }, l.Bh = function (e) { switch (e) { case 0: !this.a && (this.a = new ws(this, 0)), Ir(this.a); return; case 1: !this.b && (this.b = new Nl((hn(), uo), xc, this, 1)), this.b.c.$b(); return; case 2: !this.c && (this.c = new Nl((hn(), uo), xc, this, 2)), this.c.c.$b(); return; case 3: !this.a && (this.a = new ws(this, 0)), b6(Wc(this.a, (Vi(), dN))); return; case 4: !this.a && (this.a = new ws(this, 0)), b6(Wc(this.a, (Vi(), gN))); return; case 5: !this.a && (this.a = new ws(this, 0)), b6(Wc(this.a, (Vi(), nA))); return; case 6: !this.a && (this.a = new ws(this, 0)), b6(Wc(this.a, (Vi(), rA))); return }wh(this, e - ar((Vi(), zw)), wn(this.j & 2 ? (!this.k && (this.k = new ch), this.k).ck() : zw, e)) }, l.Ib = function () { var e; return this.j & 4 ? kf(this) : (e = new Ih(kf(this)), e.a += " (mixed: ", e_(e, this.a), e.a += ")", e.a) }, N(Ps, "XMLTypeDocumentRootImpl", 669), M(1919, 704, { 105: 1, 92: 1, 90: 1, 471: 1, 147: 1, 56: 1, 108: 1, 49: 1, 97: 1, 150: 1, 114: 1, 115: 1, 2024: 1 }, xm), l.Ih = function (e, n) { switch (e.yj()) { case 7: case 8: case 9: case 10: case 16: case 22: case 23: case 24: case 25: case 26: case 32: case 33: case 34: case 36: case 37: case 44: case 45: case 50: case 51: case 53: case 55: case 56: case 57: case 58: case 60: case 61: case 4: return n == null ? null : Jo(n); case 19: case 28: case 29: case 35: case 38: case 39: case 41: case 46: case 52: case 54: case 5: return Kr(n); case 6: return VYe(u(n, 190)); case 12: case 47: case 49: case 11: return cle(this, e, n); case 13: return n == null ? null : Dwn(u(n, 240)); case 15: case 14: return n == null ? null : zJe(Xt(xe(n))); case 17: return hse((Vi(), n)); case 18: return hse(n); case 21: case 20: return n == null ? null : qJe(u(n, 155).a); case 27: return GYe(u(n, 190)); case 30: return Sie((Vi(), u(n, 15))); case 31: return Sie(u(n, 15)); case 40: return WYe((Vi(), n)); case 42: return fse((Vi(), n)); case 43: return fse(n); case 59: case 48: return UYe((Vi(), n)); default: throw et(new Bn(H7 + e.ne() + mw)) } }, l.Jh = function (e) { var n, r, s, o, h; switch (e.G == -1 && (e.G = (r = Vl(e), r ? Pg(r.Mh(), e) : -1)), e.G) { case 0: return n = new ypt, n; case 1: return s = new cB, s; case 2: return o = new Pzt, o; case 3: return h = new Nzt, h; default: throw et(new Bn(Cct + e.zb + mw)) } }, l.Kh = function (e, n) { var r, s, o, h, d, w, k, _, L, F, q, G, W, Z, bt, Lt; switch (e.yj()) { case 5: case 52: case 4: return n; case 6: return oln(n); case 8: case 7: return n == null ? null : Kfn(n); case 9: return n == null ? null : kD(Kl((s = Xc(n, !0), s.length > 0 && (Yr(0, s.length), s.charCodeAt(0) == 43) ? s.substr(1) : s), -128, 127) << 24 >> 24); case 10: return n == null ? null : kD(Kl((o = Xc(n, !0), o.length > 0 && (Yr(0, o.length), o.charCodeAt(0) == 43) ? o.substr(1) : o), -128, 127) << 24 >> 24); case 11: return Kr(fw(this, (Vi(), T4e), n)); case 12: return Kr(fw(this, (Vi(), _4e), n)); case 13: return n == null ? null : new zpt(Xc(n, !0)); case 15: case 14: return ppn(n); case 16: return Kr(fw(this, (Vi(), C4e), n)); case 17: return Ore((Vi(), n)); case 18: return Ore(n); case 28: case 29: case 35: case 38: case 39: case 41: case 54: case 19: return Xc(n, !0); case 21: case 20: return Tpn(n); case 22: return Kr(fw(this, (Vi(), S4e), n)); case 23: return Kr(fw(this, (Vi(), A4e), n)); case 24: return Kr(fw(this, (Vi(), L4e), n)); case 25: return Kr(fw(this, (Vi(), M4e), n)); case 26: return Kr(fw(this, (Vi(), D4e), n)); case 27: return nln(n); case 30: return Nre((Vi(), n)); case 31: return Nre(n); case 32: return n == null ? null : pe(Kl((L = Xc(n, !0), L.length > 0 && (Yr(0, L.length), L.charCodeAt(0) == 43) ? L.substr(1) : L), $a, Di)); case 33: return n == null ? null : new Fp((F = Xc(n, !0), F.length > 0 && (Yr(0, F.length), F.charCodeAt(0) == 43) ? F.substr(1) : F)); case 34: return n == null ? null : pe(Kl((q = Xc(n, !0), q.length > 0 && (Yr(0, q.length), q.charCodeAt(0) == 43) ? q.substr(1) : q), $a, Di)); case 36: return n == null ? null : fb(wq((G = Xc(n, !0), G.length > 0 && (Yr(0, G.length), G.charCodeAt(0) == 43) ? G.substr(1) : G))); case 37: return n == null ? null : fb(wq((W = Xc(n, !0), W.length > 0 && (Yr(0, W.length), W.charCodeAt(0) == 43) ? W.substr(1) : W))); case 40: return wun((Vi(), n)); case 42: return Pre((Vi(), n)); case 43: return Pre(n); case 44: return n == null ? null : new Fp((Z = Xc(n, !0), Z.length > 0 && (Yr(0, Z.length), Z.charCodeAt(0) == 43) ? Z.substr(1) : Z)); case 45: return n == null ? null : new Fp((bt = Xc(n, !0), bt.length > 0 && (Yr(0, bt.length), bt.charCodeAt(0) == 43) ? bt.substr(1) : bt)); case 46: return Xc(n, !1); case 47: return Kr(fw(this, (Vi(), I4e), n)); case 59: case 48: return vun((Vi(), n)); case 49: return Kr(fw(this, (Vi(), O4e), n)); case 50: return n == null ? null : e7(Kl((Lt = Xc(n, !0), Lt.length > 0 && (Yr(0, Lt.length), Lt.charCodeAt(0) == 43) ? Lt.substr(1) : Lt), xH, 32767) << 16 >> 16); case 51: return n == null ? null : e7(Kl((h = Xc(n, !0), h.length > 0 && (Yr(0, h.length), h.charCodeAt(0) == 43) ? h.substr(1) : h), xH, 32767) << 16 >> 16); case 53: return Kr(fw(this, (Vi(), N4e), n)); case 55: return n == null ? null : e7(Kl((d = Xc(n, !0), d.length > 0 && (Yr(0, d.length), d.charCodeAt(0) == 43) ? d.substr(1) : d), xH, 32767) << 16 >> 16); case 56: return n == null ? null : e7(Kl((w = Xc(n, !0), w.length > 0 && (Yr(0, w.length), w.charCodeAt(0) == 43) ? w.substr(1) : w), xH, 32767) << 16 >> 16); case 57: return n == null ? null : fb(wq((k = Xc(n, !0), k.length > 0 && (Yr(0, k.length), k.charCodeAt(0) == 43) ? k.substr(1) : k))); case 58: return n == null ? null : fb(wq((_ = Xc(n, !0), _.length > 0 && (Yr(0, _.length), _.charCodeAt(0) == 43) ? _.substr(1) : _))); case 60: return n == null ? null : pe(Kl((r = Xc(n, !0), r.length > 0 && (Yr(0, r.length), r.charCodeAt(0) == 43) ? r.substr(1) : r), $a, Di)); case 61: return n == null ? null : pe(Kl(Xc(n, !0), $a, Di)); default: throw et(new Bn(H7 + e.ne() + mw)) } }; var F4e, QAt, B4e, ZAt; N(Ps, "XMLTypeFactoryImpl", 1919), M(586, 179, { 105: 1, 92: 1, 90: 1, 147: 1, 191: 1, 56: 1, 235: 1, 108: 1, 49: 1, 97: 1, 150: 1, 179: 1, 114: 1, 115: 1, 675: 1, 1945: 1, 586: 1 }, yYt), l.N = !1, l.O = !1; var R4e = !1; N(Ps, "XMLTypePackageImpl", 586), M(1852, 1, { 837: 1 }, r6), l._j = function () { return N5t(), W4e }, N(Ps, "XMLTypePackageImpl/1", 1852), M(1861, 1, vi, m1), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/10", 1861), M(1862, 1, vi, uB), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/11", 1862), M(1863, 1, vi, lB), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/12", 1863), M(1864, 1, vi, hB), l.wj = function (e) { return Im(e) }, l.xj = function (e) { return Ot(ka, te, 333, e, 7, 1) }, N(Ps, "XMLTypePackageImpl/13", 1864), M(1865, 1, vi, fB), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/14", 1865), M(1866, 1, vi, dB), l.wj = function (e) { return Et(e, 15) }, l.xj = function (e) { return Ot(Eh, my, 15, e, 0, 1) }, N(Ps, "XMLTypePackageImpl/15", 1866), M(1867, 1, vi, gB), l.wj = function (e) { return Et(e, 15) }, l.xj = function (e) { return Ot(Eh, my, 15, e, 0, 1) }, N(Ps, "XMLTypePackageImpl/16", 1867), M(1868, 1, vi, Gf), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/17", 1868), M(1869, 1, vi, ku), l.wj = function (e) { return Et(e, 155) }, l.xj = function (e) { return Ot(X7, te, 155, e, 0, 1) }, N(Ps, "XMLTypePackageImpl/18", 1869), M(1870, 1, vi, sJ), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/19", 1870), M(1853, 1, vi, aJ), l.wj = function (e) { return Et(e, 843) }, l.xj = function (e) { return Ot(hN, De, 843, e, 0, 1) }, N(Ps, "XMLTypePackageImpl/2", 1853), M(1871, 1, vi, oJ), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/20", 1871), M(1872, 1, vi, Eu), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/21", 1872), M(1873, 1, vi, JE), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/22", 1873), M(1874, 1, vi, pB), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/23", 1874), M(1875, 1, vi, bB), l.wj = function (e) { return Et(e, 190) }, l.xj = function (e) { return Ot(tl, te, 190, e, 0, 2) }, N(Ps, "XMLTypePackageImpl/24", 1875), M(1876, 1, vi, i6), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/25", 1876), M(1877, 1, vi, cJ), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/26", 1877), M(1878, 1, vi, Ik), l.wj = function (e) { return Et(e, 15) }, l.xj = function (e) { return Ot(Eh, my, 15, e, 0, 1) }, N(Ps, "XMLTypePackageImpl/27", 1878), M(1879, 1, vi, uJ), l.wj = function (e) { return Et(e, 15) }, l.xj = function (e) { return Ot(Eh, my, 15, e, 0, 1) }, N(Ps, "XMLTypePackageImpl/28", 1879), M(1880, 1, vi, vB), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/29", 1880), M(1854, 1, vi, lJ), l.wj = function (e) { return Et(e, 667) }, l.xj = function (e) { return Ot(JG, De, 2021, e, 0, 1) }, N(Ps, "XMLTypePackageImpl/3", 1854), M(1881, 1, vi, hJ), l.wj = function (e) { return Et(e, 19) }, l.xj = function (e) { return Ot(to, te, 19, e, 0, 1) }, N(Ps, "XMLTypePackageImpl/30", 1881), M(1882, 1, vi, tT), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/31", 1882), M(1883, 1, vi, wB), l.wj = function (e) { return Et(e, 162) }, l.xj = function (e) { return Ot(xw, te, 162, e, 0, 1) }, N(Ps, "XMLTypePackageImpl/32", 1883), M(1884, 1, vi, $L), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/33", 1884), M(1885, 1, vi, eT), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/34", 1885), M(1886, 1, vi, fJ), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/35", 1886), M(1887, 1, vi, dJ), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/36", 1887), M(1888, 1, vi, zL), l.wj = function (e) { return Et(e, 15) }, l.xj = function (e) { return Ot(Eh, my, 15, e, 0, 1) }, N(Ps, "XMLTypePackageImpl/37", 1888), M(1889, 1, vi, nT), l.wj = function (e) { return Et(e, 15) }, l.xj = function (e) { return Ot(Eh, my, 15, e, 0, 1) }, N(Ps, "XMLTypePackageImpl/38", 1889), M(1890, 1, vi, y1), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/39", 1890), M(1855, 1, vi, Ok), l.wj = function (e) { return Et(e, 668) }, l.xj = function (e) { return Ot(fN, De, 2022, e, 0, 1) }, N(Ps, "XMLTypePackageImpl/4", 1855), M(1891, 1, vi, gJ), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/40", 1891), M(1892, 1, vi, Nk), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/41", 1892), M(1893, 1, vi, qL), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/42", 1893), M(1894, 1, vi, z2), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/43", 1894), M(1895, 1, vi, rT), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/44", 1895), M(1896, 1, vi, HL), l.wj = function (e) { return Et(e, 184) }, l.xj = function (e) { return Ot(kw, te, 184, e, 0, 1) }, N(Ps, "XMLTypePackageImpl/45", 1896), M(1897, 1, vi, Uf), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/46", 1897), M(1898, 1, vi, iT), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/47", 1898), M(1899, 1, vi, x1), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/48", 1899), M(i2, 1, vi, k1), l.wj = function (e) { return Et(e, 184) }, l.xj = function (e) { return Ot(kw, te, 184, e, 0, 1) }, N(Ps, "XMLTypePackageImpl/49", i2), M(1856, 1, vi, pJ), l.wj = function (e) { return Et(e, 669) }, l.xj = function (e) { return Ot(YAt, De, 2023, e, 0, 1) }, N(Ps, "XMLTypePackageImpl/5", 1856), M(1901, 1, vi, bJ), l.wj = function (e) { return Et(e, 162) }, l.xj = function (e) { return Ot(xw, te, 162, e, 0, 1) }, N(Ps, "XMLTypePackageImpl/50", 1901), M(1902, 1, vi, A3), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/51", 1902), M(1903, 1, vi, Pk), l.wj = function (e) { return Et(e, 19) }, l.xj = function (e) { return Ot(to, te, 19, e, 0, 1) }, N(Ps, "XMLTypePackageImpl/52", 1903), M(1857, 1, vi, Fk), l.wj = function (e) { return pa(e) }, l.xj = function (e) { return Ot(Me, te, 2, e, 6, 1) }, N(Ps, "XMLTypePackageImpl/6", 1857), M(1858, 1, vi, sT), l.wj = function (e) { return Et(e, 190) }, l.xj = function (e) { return Ot(tl, te, 190, e, 0, 2) }, N(Ps, "XMLTypePackageImpl/7", 1858), M(1859, 1, vi, vJ), l.wj = function (e) { return Dm(e) }, l.xj = function (e) { return Ot(Zs, te, 476, e, 8, 1) }, N(Ps, "XMLTypePackageImpl/8", 1859), M(1860, 1, vi, s6), l.wj = function (e) { return Et(e, 217) }, l.xj = function (e) { return Ot(kx, te, 217, e, 0, 1) }, N(Ps, "XMLTypePackageImpl/9", 1860); var td, np, iA, tU, vt; M(50, 60, G0, Wr), N(Vg, "RegEx/ParseException", 50), M(820, 1, {}, VL), l.sl = function (e) { return e < this.j && Ia(this.i, e) == 63 }, l.tl = function () { var e, n, r, s, o; if (this.c != 10) throw et(new Wr(Jr((Ur(), dH)))); switch (e = this.a, e) { case 101: e = 27; break; case 102: e = 12; break; case 110: e = 10; break; case 114: e = 13; break; case 116: e = 9; break; case 120: if (Si(this), this.c != 0) throw et(new Wr(Jr((Ur(), Hg)))); if (this.a == 123) { o = 0, r = 0; do { if (Si(this), this.c != 0) throw et(new Wr(Jr((Ur(), Hg)))); if ((o = gb(this.a)) < 0) break; if (r > r * 16) throw et(new Wr(Jr((Ur(), ade)))); r = r * 16 + o } while (!0); if (this.a != 125) throw et(new Wr(Jr((Ur(), ode)))); if (r > W7) throw et(new Wr(Jr((Ur(), cde)))); e = r } else { if (o = 0, this.c != 0 || (o = gb(this.a)) < 0) throw et(new Wr(Jr((Ur(), Hg)))); if (r = o, Si(this), this.c != 0 || (o = gb(this.a)) < 0) throw et(new Wr(Jr((Ur(), Hg)))); r = r * 16 + o, e = r } break; case 117: if (s = 0, Si(this), this.c != 0 || (s = gb(this.a)) < 0) throw et(new Wr(Jr((Ur(), Hg)))); if (n = s, Si(this), this.c != 0 || (s = gb(this.a)) < 0) throw et(new Wr(Jr((Ur(), Hg)))); if (n = n * 16 + s, Si(this), this.c != 0 || (s = gb(this.a)) < 0) throw et(new Wr(Jr((Ur(), Hg)))); if (n = n * 16 + s, Si(this), this.c != 0 || (s = gb(this.a)) < 0) throw et(new Wr(Jr((Ur(), Hg)))); n = n * 16 + s, e = n; break; case 118: if (Si(this), this.c != 0 || (s = gb(this.a)) < 0) throw et(new Wr(Jr((Ur(), Hg)))); if (n = s, Si(this), this.c != 0 || (s = gb(this.a)) < 0) throw et(new Wr(Jr((Ur(), Hg)))); if (n = n * 16 + s, Si(this), this.c != 0 || (s = gb(this.a)) < 0) throw et(new Wr(Jr((Ur(), Hg)))); if (n = n * 16 + s, Si(this), this.c != 0 || (s = gb(this.a)) < 0) throw et(new Wr(Jr((Ur(), Hg)))); if (n = n * 16 + s, Si(this), this.c != 0 || (s = gb(this.a)) < 0) throw et(new Wr(Jr((Ur(), Hg)))); if (n = n * 16 + s, Si(this), this.c != 0 || (s = gb(this.a)) < 0) throw et(new Wr(Jr((Ur(), Hg)))); if (n = n * 16 + s, n > W7) throw et(new Wr(Jr((Ur(), "parser.descappe.4")))); e = n; break; case 65: case 90: case 122: throw et(new Wr(Jr((Ur(), ude)))) }return e }, l.ul = function (e) { var n, r; switch (e) { case 100: r = (this.e & 32) == 32 ? n2("Nd", !0) : (Ai(), eU); break; case 68: r = (this.e & 32) == 32 ? n2("Nd", !1) : (Ai(), iLt); break; case 119: r = (this.e & 32) == 32 ? n2("IsWord", !0) : (Ai(), N9); break; case 87: r = (this.e & 32) == 32 ? n2("IsWord", !1) : (Ai(), aLt); break; case 115: r = (this.e & 32) == 32 ? n2("IsSpace", !0) : (Ai(), Wx); break; case 83: r = (this.e & 32) == 32 ? n2("IsSpace", !1) : (Ai(), sLt); break; default: throw et(new ic((n = e, u0e + n.toString(16)))) }return r }, l.vl = function (e) { var n, r, s, o, h, d, w, k, _, L, F, q; for (this.b = 1, Si(this), n = null, this.c == 0 && this.a == 94 ? (Si(this), e ? L = (Ai(), Ai(), new ql(5)) : (n = (Ai(), Ai(), new ql(4)), Yc(n, 0, W7), L = new ql(4))) : L = (Ai(), Ai(), new ql(4)), o = !0; (q = this.c) != 1 && !(q == 0 && this.a == 93 && !o);) { if (o = !1, r = this.a, s = !1, q == 10) switch (r) { case 100: case 68: case 119: case 87: case 115: case 83: py(L, this.ul(r)), s = !0; break; case 105: case 73: case 99: case 67: r = this.Ll(L, r), r < 0 && (s = !0); break; case 112: case 80: if (F = F4t(this, r), !F) throw et(new Wr(Jr((Ur(), jct)))); py(L, F), s = !0; break; default: r = this.tl() } else if (q == 20) { if (d = l8(this.i, 58, this.d), d < 0) throw et(new Wr(Jr((Ur(), a8t)))); if (w = !0, Ia(this.i, this.d) == 94 && (++this.d, w = !1), h = $l(this.i, this.d, d), k = xJt(h, w, (this.e & 512) == 512), !k) throw et(new Wr(Jr((Ur(), ede)))); if (py(L, k), s = !0, d + 1 >= this.j || Ia(this.i, d + 1) != 93) throw et(new Wr(Jr((Ur(), a8t)))); this.d = d + 2 } if (Si(this), !s) if (this.c != 0 || this.a != 45) Yc(L, r, r); else { if (Si(this), (q = this.c) == 1) throw et(new Wr(Jr((Ur(), gH)))); q == 0 && this.a == 93 ? (Yc(L, r, r), Yc(L, 45, 45)) : (_ = this.a, q == 10 && (_ = this.tl()), Si(this), Yc(L, r, _)) } (this.e & Tf) == Tf && this.c == 0 && this.a == 44 && Si(this) } if (this.c == 1) throw et(new Wr(Jr((Ur(), gH)))); return n && (yC(n, L), L = n), b4(L), wC(L), this.b = 0, Si(this), L }, l.wl = function () { var e, n, r, s; for (r = this.vl(!1); (s = this.c) != 7;)if (e = this.a, s == 0 && (e == 45 || e == 38) || s == 4) { if (Si(this), this.c != 9) throw et(new Wr(Jr((Ur(), rde)))); if (n = this.vl(!1), s == 4) py(r, n); else if (e == 45) yC(r, n); else if (e == 38) nle(r, n); else throw et(new ic("ASSERT")) } else throw et(new Wr(Jr((Ur(), ide)))); return Si(this), r }, l.xl = function () { var e, n; return e = this.a - 48, n = (Ai(), Ai(), new Jnt(12, null, e)), !this.g && (this.g = new rR), nR(this.g, new tpt(e)), Si(this), n }, l.yl = function () { return Si(this), Ai(), z4e }, l.zl = function () { return Si(this), Ai(), $4e }, l.Al = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.Bl = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.Cl = function () { return Si(this), mon() }, l.Dl = function () { return Si(this), Ai(), H4e }, l.El = function () { return Si(this), Ai(), G4e }, l.Fl = function () { var e; if (this.d >= this.j || ((e = Ia(this.i, this.d++)) & 65504) != 64) throw et(new Wr(Jr((Ur(), Z1e)))); return Si(this), Ai(), Ai(), new Kd(0, e - 64) }, l.Gl = function () { return Si(this), nwn() }, l.Hl = function () { return Si(this), Ai(), U4e }, l.Il = function () { var e; return e = (Ai(), Ai(), new Kd(0, 105)), Si(this), e }, l.Jl = function () { return Si(this), Ai(), V4e }, l.Kl = function () { return Si(this), Ai(), q4e }, l.Ll = function (e, n) { return this.tl() }, l.Ml = function () { return Si(this), Ai(), nLt }, l.Nl = function () { var e, n, r, s, o; if (this.d + 1 >= this.j) throw et(new Wr(Jr((Ur(), Y1e)))); if (s = -1, n = null, e = Ia(this.i, this.d), 49 <= e && e <= 57) { if (s = e - 48, !this.g && (this.g = new rR), nR(this.g, new tpt(s)), ++this.d, Ia(this.i, this.d) != 41) throw et(new Wr(Jr((Ur(), Cb)))); ++this.d } else switch (e == 63 && --this.d, Si(this), n = s6t(this), n.e) { case 20: case 21: case 22: case 23: break; case 8: if (this.c != 7) throw et(new Wr(Jr((Ur(), Cb)))); break; default: throw et(new Wr(Jr((Ur(), X1e)))) }if (Si(this), o = nw(this), r = null, o.e == 2) { if (o.em() != 2) throw et(new Wr(Jr((Ur(), Q1e)))); r = o.am(1), o = o.am(0) } if (this.c != 7) throw et(new Wr(Jr((Ur(), Cb)))); return Si(this), Ai(), Ai(), new JJt(s, n, o, r) }, l.Ol = function () { return Si(this), Ai(), rLt }, l.Pl = function () { var e; if (Si(this), e = Rj(24, nw(this)), this.c != 7) throw et(new Wr(Jr((Ur(), Cb)))); return Si(this), e }, l.Ql = function () { var e; if (Si(this), e = Rj(20, nw(this)), this.c != 7) throw et(new Wr(Jr((Ur(), Cb)))); return Si(this), e }, l.Rl = function () { var e; if (Si(this), e = Rj(22, nw(this)), this.c != 7) throw et(new Wr(Jr((Ur(), Cb)))); return Si(this), e }, l.Sl = function () { var e, n, r, s, o; for (e = 0, r = 0, n = -1; this.d < this.j && (n = Ia(this.i, this.d), o = z4t(n), o != 0);)e |= o, ++this.d; if (this.d >= this.j) throw et(new Wr(Jr((Ur(), i8t)))); if (n == 45) { for (++this.d; this.d < this.j && (n = Ia(this.i, this.d), o = z4t(n), o != 0);)r |= o, ++this.d; if (this.d >= this.j) throw et(new Wr(Jr((Ur(), i8t)))) } if (n == 58) { if (++this.d, Si(this), s = iYt(nw(this), e, r), this.c != 7) throw et(new Wr(Jr((Ur(), Cb)))); Si(this) } else if (n == 41) ++this.d, Si(this), s = iYt(nw(this), e, r); else throw et(new Wr(Jr((Ur(), K1e)))); return s }, l.Tl = function () { var e; if (Si(this), e = Rj(21, nw(this)), this.c != 7) throw et(new Wr(Jr((Ur(), Cb)))); return Si(this), e }, l.Ul = function () { var e; if (Si(this), e = Rj(23, nw(this)), this.c != 7) throw et(new Wr(Jr((Ur(), Cb)))); return Si(this), e }, l.Vl = function () { var e, n; if (Si(this), e = this.f++, n = Cnt(nw(this), e), this.c != 7) throw et(new Wr(Jr((Ur(), Cb)))); return Si(this), n }, l.Wl = function () { var e; if (Si(this), e = Cnt(nw(this), 0), this.c != 7) throw et(new Wr(Jr((Ur(), Cb)))); return Si(this), e }, l.Xl = function (e) { return Si(this), this.c == 5 ? (Si(this), Aj(e, (Ai(), Ai(), new Gm(9, e)))) : Aj(e, (Ai(), Ai(), new Gm(3, e))) }, l.Yl = function (e) { var n; return Si(this), n = (Ai(), Ai(), new i_(2)), this.c == 5 ? (Si(this), vb(n, aA), vb(n, e)) : (vb(n, e), vb(n, aA)), n }, l.Zl = function (e) { return Si(this), this.c == 5 ? (Si(this), Ai(), Ai(), new Gm(9, e)) : (Ai(), Ai(), new Gm(3, e)) }, l.a = 0, l.b = 0, l.c = 0, l.d = 0, l.e = 0, l.f = 1, l.g = null, l.j = 0, N(Vg, "RegEx/RegexParser", 820), M(1824, 820, {}, Fzt), l.sl = function (e) { return !1 }, l.tl = function () { return b5t(this) }, l.ul = function (e) { return k7(e) }, l.vl = function (e) { return Kle(this) }, l.wl = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.xl = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.yl = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.zl = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.Al = function () { return Si(this), k7(67) }, l.Bl = function () { return Si(this), k7(73) }, l.Cl = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.Dl = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.El = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.Fl = function () { return Si(this), k7(99) }, l.Gl = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.Hl = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.Il = function () { return Si(this), k7(105) }, l.Jl = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.Kl = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.Ll = function (e, n) { return py(e, k7(n)), -1 }, l.Ml = function () { return Si(this), Ai(), Ai(), new Kd(0, 94) }, l.Nl = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.Ol = function () { return Si(this), Ai(), Ai(), new Kd(0, 36) }, l.Pl = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.Ql = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.Rl = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.Sl = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.Tl = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.Ul = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.Vl = function () { var e; if (Si(this), e = Cnt(nw(this), 0), this.c != 7) throw et(new Wr(Jr((Ur(), Cb)))); return Si(this), e }, l.Wl = function () { throw et(new Wr(Jr((Ur(), kh)))) }, l.Xl = function (e) { return Si(this), Aj(e, (Ai(), Ai(), new Gm(3, e))) }, l.Yl = function (e) { var n; return Si(this), n = (Ai(), Ai(), new i_(2)), vb(n, e), vb(n, aA), n }, l.Zl = function (e) { return Si(this), Ai(), Ai(), new Gm(3, e) }; var h5 = null, I9 = null; N(Vg, "RegEx/ParserForXMLSchema", 1824), M(117, 1, K7, gv), l.$l = function (e) { throw et(new ic("Not supported.")) }, l._l = function () { return -1 }, l.am = function (e) { return null }, l.bm = function () { return null }, l.cm = function (e) { }, l.dm = function (e) { }, l.em = function () { return 0 }, l.Ib = function () { return this.fm(0) }, l.fm = function (e) { return this.e == 11 ? "." : "" }, l.e = 0; var JAt, O9, sA, j4e, tLt, t3 = null, eU, yft = null, eLt, aA, xft = null, nLt, rLt, iLt, sLt, aLt, $4e, Wx, z4e, q4e, H4e, V4e, N9, G4e, U4e, X4n = N(Vg, "RegEx/Token", 117); M(136, 117, { 3: 1, 136: 1, 117: 1 }, ql), l.fm = function (e) { var n, r, s; if (this.e == 4) if (this == eLt) r = "."; else if (this == eU) r = "\\d"; else if (this == N9) r = "\\w"; else if (this == Wx) r = "\\s"; else { for (s = new yg, s.a += "[", n = 0; n < this.b.length; n += 2)e & Tf && n > 0 && (s.a += ","), this.b[n] === this.b[n + 1] ? So(s, yI(this.b[n])) : (So(s, yI(this.b[n])), s.a += "-", So(s, yI(this.b[n + 1]))); s.a += "]", r = s.a } else if (this == iLt) r = "\\D"; else if (this == aLt) r = "\\W"; else if (this == sLt) r = "\\S"; else { for (s = new yg, s.a += "[^", n = 0; n < this.b.length; n += 2)e & Tf && n > 0 && (s.a += ","), this.b[n] === this.b[n + 1] ? So(s, yI(this.b[n])) : (So(s, yI(this.b[n])), s.a += "-", So(s, yI(this.b[n + 1]))); s.a += "]", r = s.a } return r }, l.a = !1, l.c = !1, N(Vg, "RegEx/RangeToken", 136), M(584, 1, { 584: 1 }, tpt), l.a = 0, N(Vg, "RegEx/RegexParser/ReferencePosition", 584), M(583, 1, { 3: 1, 583: 1 }, Wqt), l.Fb = function (e) { var n; return e == null || !Et(e, 583) ? !1 : (n = u(e, 583), ln(this.b, n.b) && this.a == n.a) }, l.Hb = function () { return Fg(this.b + "/" + l5t(this.a)) }, l.Ib = function () { return this.c.fm(this.a) }, l.a = 0, N(Vg, "RegEx/RegularExpression", 583), M(223, 117, K7, Kd), l._l = function () { return this.a }, l.fm = function (e) { var n, r, s; switch (this.e) { case 0: switch (this.a) { case 124: case 42: case 43: case 63: case 40: case 41: case 46: case 91: case 123: case 92: s = "\\" + Jet(this.a & Ns); break; case 12: s = "\\f"; break; case 10: s = "\\n"; break; case 13: s = "\\r"; break; case 9: s = "\\t"; break; case 27: s = "\\e"; break; default: this.a >= oo ? (r = (n = this.a >>> 0, "0" + n.toString(16)), s = "\\v" + $l(r, r.length - 6, r.length)) : s = "" + Jet(this.a & Ns) }break; case 8: this == nLt || this == rLt ? s = "" + Jet(this.a & Ns) : s = "\\" + Jet(this.a & Ns); break; default: s = null }return s }, l.a = 0, N(Vg, "RegEx/Token/CharToken", 223), M(309, 117, K7, Gm), l.am = function (e) { return this.a }, l.cm = function (e) { this.b = e }, l.dm = function (e) { this.c = e }, l.em = function () { return 1 }, l.fm = function (e) { var n; if (this.e == 3) if (this.c < 0 && this.b < 0) n = this.a.fm(e) + "*"; else if (this.c == this.b) n = this.a.fm(e) + "{" + this.c + "}"; else if (this.c >= 0 && this.b >= 0) n = this.a.fm(e) + "{" + this.c + "," + this.b + "}"; else if (this.c >= 0 && this.b < 0) n = this.a.fm(e) + "{" + this.c + ",}"; else throw et(new ic("Token#toString(): CLOSURE " + this.c + ao + this.b)); else if (this.c < 0 && this.b < 0) n = this.a.fm(e) + "*?"; else if (this.c == this.b) n = this.a.fm(e) + "{" + this.c + "}?"; else if (this.c >= 0 && this.b >= 0) n = this.a.fm(e) + "{" + this.c + "," + this.b + "}?"; else if (this.c >= 0 && this.b < 0) n = this.a.fm(e) + "{" + this.c + ",}?"; else throw et(new ic("Token#toString(): NONGREEDYCLOSURE " + this.c + ao + this.b)); return n }, l.b = 0, l.c = 0, N(Vg, "RegEx/Token/ClosureToken", 309), M(821, 117, K7, Uvt), l.am = function (e) { return e == 0 ? this.a : this.b }, l.em = function () { return 2 }, l.fm = function (e) { var n; return this.b.e == 3 && this.b.am(0) == this.a ? n = this.a.fm(e) + "+" : this.b.e == 9 && this.b.am(0) == this.a ? n = this.a.fm(e) + "+?" : n = this.a.fm(e) + ("" + this.b.fm(e)), n }, N(Vg, "RegEx/Token/ConcatToken", 821), M(1822, 117, K7, JJt), l.am = function (e) { if (e == 0) return this.d; if (e == 1) return this.b; throw et(new ic("Internal Error: " + e)) }, l.em = function () { return this.b ? 2 : 1 }, l.fm = function (e) { var n; return this.c > 0 ? n = "(?(" + this.c + ")" : this.a.e == 8 ? n = "(?(" + this.a + ")" : n = "(?" + this.a, this.b ? n += this.d + "|" + this.b + ")" : n += this.d + ")", n }, l.c = 0, N(Vg, "RegEx/Token/ConditionToken", 1822), M(1823, 117, K7, JXt), l.am = function (e) { return this.b }, l.em = function () { return 1 }, l.fm = function (e) { return "(?" + (this.a == 0 ? "" : l5t(this.a)) + (this.c == 0 ? "" : l5t(this.c)) + ":" + this.b.fm(e) + ")" }, l.a = 0, l.c = 0, N(Vg, "RegEx/Token/ModifierToken", 1823), M(822, 117, K7, Zvt), l.am = function (e) { return this.a }, l.em = function () { return 1 }, l.fm = function (e) { var n; switch (n = null, this.e) { case 6: this.b == 0 ? n = "(?:" + this.a.fm(e) + ")" : n = "(" + this.a.fm(e) + ")"; break; case 20: n = "(?=" + this.a.fm(e) + ")"; break; case 21: n = "(?!" + this.a.fm(e) + ")"; break; case 22: n = "(?<=" + this.a.fm(e) + ")"; break; case 23: n = "(?<!" + this.a.fm(e) + ")"; break; case 24: n = "(?>" + this.a.fm(e) + ")" }return n }, l.b = 0, N(Vg, "RegEx/Token/ParenToken", 822), M(521, 117, { 3: 1, 117: 1, 521: 1 }, Jnt), l.bm = function () { return this.b }, l.fm = function (e) { return this.e == 12 ? "\\" + this.a : lgn(this.b) }, l.a = 0, N(Vg, "RegEx/Token/StringToken", 521), M(465, 117, K7, i_), l.$l = function (e) { vb(this, e) }, l.am = function (e) { return u(Pv(this.a, e), 117) }, l.em = function () { return this.a ? this.a.a.c.length : 0 }, l.fm = function (e) { var n, r, s, o, h; if (this.e == 1) { if (this.a.a.c.length == 2) n = u(Pv(this.a, 0), 117), r = u(Pv(this.a, 1), 117), r.e == 3 && r.am(0) == n ? o = n.fm(e) + "+" : r.e == 9 && r.am(0) == n ? o = n.fm(e) + "+?" : o = n.fm(e) + ("" + r.fm(e)); else { for (h = new yg, s = 0; s < this.a.a.c.length; s++)So(h, u(Pv(this.a, s), 117).fm(e)); o = h.a } return o } if (this.a.a.c.length == 2 && u(Pv(this.a, 1), 117).e == 7) o = u(Pv(this.a, 0), 117).fm(e) + "?"; else if (this.a.a.c.length == 2 && u(Pv(this.a, 0), 117).e == 7) o = u(Pv(this.a, 1), 117).fm(e) + "??"; else { for (h = new yg, So(h, u(Pv(this.a, 0), 117).fm(e)), s = 1; s < this.a.a.c.length; s++)h.a += "|", So(h, u(Pv(this.a, s), 117).fm(e)); o = h.a } return o }, N(Vg, "RegEx/Token/UnionToken", 465), M(518, 1, { 592: 1 }, lM), l.Ib = function () { return this.a.b }, N(d0e, "XMLTypeUtil/PatternMatcherImpl", 518), M(1622, 1381, {}, mB); var W4e; N(d0e, "XMLTypeValidator", 1622), M(264, 1, r0, Y2), l.Jc = function (e) { Oa(this, e) }, l.Kc = function () { return (this.b - this.a) * this.c < 0 ? M2 : new Bp(this) }, l.a = 0, l.b = 0, l.c = 0; var M2; N(_8t, "ExclusiveRange", 264), M(1068, 1, n0, wJ), l.Rb = function (e) { u(e, 19), $Ke() }, l.Nb = function (e) { Da(this, e) }, l.Pb = function () { return DWe() }, l.Ub = function () { return IWe() }, l.Wb = function (e) { u(e, 19), qKe() }, l.Ob = function () { return !1 }, l.Sb = function () { return !1 }, l.Tb = function () { return -1 }, l.Vb = function () { return -1 }, l.Qb = function () { throw et(new mg(b0e)) }, N(_8t, "ExclusiveRange/1", 1068), M(254, 1, n0, Bp), l.Rb = function (e) { u(e, 19), zKe() }, l.Nb = function (e) { Da(this, e) }, l.Pb = function () { return $on(this) }, l.Ub = function () { return Fin(this) }, l.Wb = function (e) { u(e, 19), HKe() }, l.Ob = function () { return this.c.c < 0 ? this.a >= this.c.b : this.a <= this.c.b }, l.Sb = function () { return this.b > 0 }, l.Tb = function () { return this.b }, l.Vb = function () { return this.b - 1 }, l.Qb = function () { throw et(new mg(b0e)) }, l.a = 0, l.b = 0, N(_8t, "ExclusiveRange/RangeIterator", 254); var Sh = y8(pH, "C"), Br = y8(KC, "I"), Tl = y8(cx, "Z"), D2 = y8(YC, "J"), tl = y8(GC, "B"), wa = y8(UC, "D"), e3 = y8(WC, "F"), f5 = y8(XC, "S"), Q4n = ls("org.eclipse.elk.core.labels", "ILabelManager"), oLt = ls(Ja, "DiagnosticChain"), cLt = ls(Vde, "ResourceSet"), uLt = N(Ja, "InvocationTargetException", null), K4e = (cR(), qrn), Y4e = Y4e = Dfn; Bsn(MUe), uan("permProps", [[[AH, LH], [MH, "gecko1_8"]], [[AH, LH], [MH, "ie10"]], [[AH, LH], [MH, "ie8"]], [[AH, LH], [MH, "ie9"]], [[AH, LH], [MH, "safari"]]]), Y4e(null, "elk", null)
                        }).call(this)
                    }).call(this, typeof b0 < "u" ? b0 : typeof self < "u" ? self : typeof window < "u" ? window : {})
                }, {}], 3: [function (f, p, v) {
                    function m(P, B) { if (!(P instanceof B)) throw new TypeError("Cannot call a class as a function") } function b(P, B) { if (!P) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return B && (typeof B == "object" || typeof B == "function") ? B : P } function E(P, B) { if (typeof B != "function" && B !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof B); P.prototype = Object.create(B && B.prototype, { constructor: { value: P, enumerable: !1, writable: !0, configurable: !0 } }), B && (Object.setPrototypeOf ? Object.setPrototypeOf(P, B) : P.__proto__ = B) } var C = f("./elk-api.js").default, D = function (P) {
                        E(B, P); function B() {
                            var j = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; m(this, B); var R = Object.assign({}, j), H = !1; try { f.resolve("web-worker"), H = !0 } catch { } if (j.workerUrl) if (H) { var Y = f("web-worker"); R.workerFactory = function (st) { return new Y(st) } } else console.warn(`Web worker requested but 'web-worker' package not installed. 
    Consider installing the package or pass your own 'workerFactory' to ELK's constructor.
    ... Falling back to non-web worker version.`); if (!R.workerFactory) { var it = f("./elk-worker.min.js"), nt = it.Worker; R.workerFactory = function (st) { return new nt(st) } } return b(this, (B.__proto__ || Object.getPrototypeOf(B)).call(this, R))
                        } return B
                    }(C); Object.defineProperty(p.exports, "__esModule", { value: !0 }), p.exports = D, D.default = D
                }, { "./elk-api.js": 1, "./elk-worker.min.js": 2, "web-worker": 4 }], 4: [function (f, p, v) { p.exports = Worker }, {}]
            }, {}, [3])(3)
        })
    })(uGe); const lGe = hLt(Cgt), qRt = new lGe; let rv = {}; const hGe = {}; let F5 = {}; const fGe = async function (i, a, f, p, v, m, b) { const C = f.select(`[id="${a}"]`).insert("g").attr("class", "nodes"), D = Object.keys(i); return await Promise.all(D.map(async function (P) { const B = i[P]; let j = "default"; B.classes.length > 0 && (j = B.classes.join(" ")), j = j + " flowchart-label"; const R = Qw(B.styles); let H = B.text !== void 0 ? B.text : B.id; const Y = { width: 0, height: 0 }, it = [{ id: B.id + "-west", layoutOptions: { "port.side": "WEST" } }, { id: B.id + "-east", layoutOptions: { "port.side": "EAST" } }, { id: B.id + "-south", layoutOptions: { "port.side": "SOUTH" } }, { id: B.id + "-north", layoutOptions: { "port.side": "NORTH" } }]; let nt = 0, st = "", pt = {}; switch (B.type) { case "round": nt = 5, st = "rect"; break; case "square": st = "rect"; break; case "diamond": st = "question", pt = { portConstraints: "FIXED_SIDE" }; break; case "hexagon": st = "hexagon"; break; case "odd": st = "rect_left_inv_arrow"; break; case "lean_right": st = "lean_right"; break; case "lean_left": st = "lean_left"; break; case "trapezoid": st = "trapezoid"; break; case "inv_trapezoid": st = "inv_trapezoid"; break; case "odd_right": st = "rect_left_inv_arrow"; break; case "circle": st = "circle"; break; case "ellipse": st = "ellipse"; break; case "stadium": st = "stadium"; break; case "subroutine": st = "subroutine"; break; case "cylinder": st = "cylinder"; break; case "group": st = "rect"; break; case "doublecircle": st = "doublecircle"; break; default: st = "rect" }const Tt = { labelStyle: R.labelStyle, shape: st, labelText: H, labelType: B.labelType, rx: nt, ry: nt, class: j, style: R.style, id: B.id, link: B.link, linkTarget: B.linkTarget, tooltip: v.db.getTooltip(B.id) || "", domId: v.db.lookUpDomId(B.id), haveCallback: B.haveCallback, width: B.type === "group" ? 500 : void 0, dir: B.dir, type: B.type, props: B.props, padding: Oe().flowchart.padding }; let kt, yt; if (Tt.type !== "group") yt = await tBt(C, Tt, B.dir), kt = yt.node().getBBox(); else { p.createElementNS("http://www.w3.org/2000/svg", "text"); const { shapeSvg: mt, bbox: rt } = await Rd(C, Tt, void 0, !0); Y.width = rt.width, Y.wrappingWidth = Oe().flowchart.wrappingWidth, Y.height = rt.height, Y.labelNode = mt.node(), Tt.labelData = Y } const ht = { id: B.id, ports: B.type === "diamond" ? it : [], layoutOptions: pt, labelText: H, labelData: Y, domId: v.db.lookUpDomId(B.id), width: kt == null ? void 0 : kt.width, height: kt == null ? void 0 : kt.height, type: B.type, el: yt, parent: m.parentById[B.id] }; F5[Tt.id] = ht })), b }, HRt = (i, a, f) => { const p = { TB: { in: { north: "north" }, out: { south: "west", west: "east", east: "south" } }, LR: { in: { west: "west" }, out: { east: "south", south: "north", north: "east" } }, RL: { in: { east: "east" }, out: { west: "north", north: "south", south: "west" } }, BT: { in: { south: "south" }, out: { north: "east", east: "west", west: "north" } } }; return p.TD = p.TB, zt.info("abc88", f, a, i), p[f][a][i] }, VRt = (i, a, f) => { if (zt.info("getNextPort abc88", { node: i, edgeDirection: a, graphDirection: f }), !rv[i]) switch (f) { case "TB": case "TD": rv[i] = { inPosition: "north", outPosition: "south" }; break; case "BT": rv[i] = { inPosition: "south", outPosition: "north" }; break; case "RL": rv[i] = { inPosition: "east", outPosition: "west" }; break; case "LR": rv[i] = { inPosition: "west", outPosition: "east" }; break }const p = a === "in" ? rv[i].inPosition : rv[i].outPosition; return a === "in" ? rv[i].inPosition = HRt(rv[i].inPosition, a, f) : rv[i].outPosition = HRt(rv[i].outPosition, a, f), p }, dGe = (i, a) => { let f = i.start, p = i.end; const v = f, m = p, b = F5[f], E = F5[p]; return !b || !E ? { source: f, target: p } : (b.type === "diamond" && (f = `${f}-${VRt(f, "out", a)}`), E.type === "diamond" && (p = `${p}-${VRt(p, "in", a)}`), { source: f, target: p, sourceId: v, targetId: m }) }, gGe = function (i, a, f, p) {
        zt.info("abc78 edges = ", i); const v = p.insert("g").attr("class", "edgeLabels"); let m = {}, b = a.db.getDirection(), E, C; if (i.defaultStyle !== void 0) { const D = Qw(i.defaultStyle); E = D.style, C = D.labelStyle } return i.forEach(function (D) {
            const P = "L-" + D.start + "-" + D.end; m[P] === void 0 ? (m[P] = 0, zt.info("abc78 new entry", P, m[P])) : (m[P]++, zt.info("abc78 new entry", P, m[P])); let B = P + "-" + m[P]; zt.info("abc78 new link id to be used is", P, B, m[P]); const j = "LS-" + D.start, R = "LE-" + D.end, H = { style: "", labelStyle: "" }; switch (H.minlen = D.length || 1, D.type === "arrow_open" ? H.arrowhead = "none" : H.arrowhead = "normal", H.arrowTypeStart = "arrow_open", H.arrowTypeEnd = "arrow_open", D.type) { case "double_arrow_cross": H.arrowTypeStart = "arrow_cross"; case "arrow_cross": H.arrowTypeEnd = "arrow_cross"; break; case "double_arrow_point": H.arrowTypeStart = "arrow_point"; case "arrow_point": H.arrowTypeEnd = "arrow_point"; break; case "double_arrow_circle": H.arrowTypeStart = "arrow_circle"; case "arrow_circle": H.arrowTypeEnd = "arrow_circle"; break }let Y = "", it = ""; switch (D.stroke) { case "normal": Y = "fill:none;", E !== void 0 && (Y = E), C !== void 0 && (it = C), H.thickness = "normal", H.pattern = "solid"; break; case "dotted": H.thickness = "normal", H.pattern = "dotted", H.style = "fill:none;stroke-width:2px;stroke-dasharray:3;"; break; case "thick": H.thickness = "thick", H.pattern = "solid", H.style = "stroke-width: 3.5px;fill:none;"; break }if (D.style !== void 0) { const yt = Qw(D.style); Y = yt.style, it = yt.labelStyle } H.style = H.style += Y, H.labelStyle = H.labelStyle += it, D.interpolate !== void 0 ? H.curve = Xb(D.interpolate, rg) : i.defaultInterpolate !== void 0 ? H.curve = Xb(i.defaultInterpolate, rg) : H.curve = Xb(hGe.curve, rg), D.text === void 0 ? D.style !== void 0 && (H.arrowheadStyle = "fill: #333") : (H.arrowheadStyle = "fill: #333", H.labelpos = "c"), H.labelType = D.labelType, H.label = D.text.replace(yi.lineBreakRegex, `
    `), D.style === void 0 && (H.style = H.style || "stroke: #333; stroke-width: 1.5px;fill:none;"), H.labelStyle = H.labelStyle.replace("color:", "fill:"), H.id = B, H.classes = "flowchart-link " + j + " " + R; const nt = rBt(v, H), { source: st, target: pt, sourceId: Tt, targetId: kt } = dGe(D, b); zt.debug("abc78 source and target", st, pt), f.edges.push({ id: "e" + D.start + D.end, sources: [st], targets: [pt], sourceId: Tt, targetId: kt, labelEl: nt, labels: [{ width: H.width, height: H.height, orgWidth: H.width, orgHeight: H.height, text: H.label, layoutOptions: { "edgeLabels.inline": "true", "edgeLabels.placement": "CENTER" } }], edgeData: H })
        }), f
    }, pGe = function (i, a, f, p) { let v = ""; switch (p && (v = window.location.protocol + "//" + window.location.host + window.location.pathname + window.location.search, v = v.replace(/\(/g, "\\("), v = v.replace(/\)/g, "\\)")), a.arrowTypeStart) { case "arrow_cross": i.attr("marker-start", "url(" + v + "#" + f + "-crossStart)"); break; case "arrow_point": i.attr("marker-start", "url(" + v + "#" + f + "-pointStart)"); break; case "arrow_barb": i.attr("marker-start", "url(" + v + "#" + f + "-barbStart)"); break; case "arrow_circle": i.attr("marker-start", "url(" + v + "#" + f + "-circleStart)"); break; case "aggregation": i.attr("marker-start", "url(" + v + "#" + f + "-aggregationStart)"); break; case "extension": i.attr("marker-start", "url(" + v + "#" + f + "-extensionStart)"); break; case "composition": i.attr("marker-start", "url(" + v + "#" + f + "-compositionStart)"); break; case "dependency": i.attr("marker-start", "url(" + v + "#" + f + "-dependencyStart)"); break; case "lollipop": i.attr("marker-start", "url(" + v + "#" + f + "-lollipopStart)"); break }switch (a.arrowTypeEnd) { case "arrow_cross": i.attr("marker-end", "url(" + v + "#" + f + "-crossEnd)"); break; case "arrow_point": i.attr("marker-end", "url(" + v + "#" + f + "-pointEnd)"); break; case "arrow_barb": i.attr("marker-end", "url(" + v + "#" + f + "-barbEnd)"); break; case "arrow_circle": i.attr("marker-end", "url(" + v + "#" + f + "-circleEnd)"); break; case "aggregation": i.attr("marker-end", "url(" + v + "#" + f + "-aggregationEnd)"); break; case "extension": i.attr("marker-end", "url(" + v + "#" + f + "-extensionEnd)"); break; case "composition": i.attr("marker-end", "url(" + v + "#" + f + "-compositionEnd)"); break; case "dependency": i.attr("marker-end", "url(" + v + "#" + f + "-dependencyEnd)"); break; case "lollipop": i.attr("marker-end", "url(" + v + "#" + f + "-lollipopEnd)"); break } }, bGe = function (i, a) { zt.info("Extracting classes"), a.db.clear("ver-2"); try { return a.parse(i), a.db.getClasses() } catch { return {} } }, vGe = function (i) { const a = { parentById: {}, childrenById: {} }, f = i.getSubGraphs(); return zt.info("Subgraphs - ", f), f.forEach(function (p) { p.nodes.forEach(function (v) { a.parentById[v] = p.id, a.childrenById[p.id] === void 0 && (a.childrenById[p.id] = []), a.childrenById[p.id].push(v) }) }), f.forEach(function (p) { p.id, a.parentById[p.id] !== void 0 && a.parentById[p.id] }), a }, wGe = function (i, a, f) { const p = cGe(i, a, f); if (p === void 0 || p === "root") return { x: 0, y: 0 }; const v = F5[p].offset; return { x: v.posX, y: v.posY } }, mGe = function (i, a, f, p, v) { const m = wGe(a.sourceId, a.targetId, v), b = a.sections[0].startPoint, E = a.sections[0].endPoint, D = (a.sections[0].bendPoints ? a.sections[0].bendPoints : []).map(it => [it.x + m.x, it.y + m.y]), P = [[b.x + m.x, b.y + m.y], ...D, [E.x + m.x, E.y + m.y]], B = Y9().curve(rg), j = i.insert("path").attr("d", B(P)).attr("class", "path " + f.classes).attr("fill", "none"), R = i.insert("g").attr("class", "edgeLabel"), H = Mr(R.node().appendChild(a.labelEl)), Y = H.node().firstChild.getBoundingClientRect(); H.attr("width", Y.width), H.attr("height", Y.height), R.attr("transform", `translate(${a.labels[0].x + m.x}, ${a.labels[0].y + m.y})`), pGe(j, f, p.type, p.arrowMarkerAbsolute) }, GRt = (i, a) => { i.forEach(f => { f.children || (f.children = []); const p = a.childrenById[f.id]; p && p.forEach(v => { f.children.push(F5[v]) }), GRt(f.children, a) }) }, yGe = async function (i, a, f, p) { var ht; p.db.clear(), F5 = {}, rv = {}, p.db.setGen("gen-2"), p.parser.parse(i); const v = Mr("body").append("div").attr("style", "height:400px").attr("id", "cy"); let m = { id: "root", layoutOptions: { "elk.hierarchyHandling": "INCLUDE_CHILDREN", "org.eclipse.elk.padding": "[top=100, left=100, bottom=110, right=110]", "elk.layered.spacing.edgeNodeBetweenLayers": "30", "elk.direction": "DOWN" }, children: [], edges: [] }; switch (zt.info("Drawing flowchart using v3 renderer", qRt), p.db.getDirection()) { case "BT": m.layoutOptions["elk.direction"] = "UP"; break; case "TB": m.layoutOptions["elk.direction"] = "DOWN"; break; case "LR": m.layoutOptions["elk.direction"] = "RIGHT"; break; case "RL": m.layoutOptions["elk.direction"] = "LEFT"; break }const { securityLevel: E, flowchart: C } = Oe(); let D; E === "sandbox" && (D = Mr("#i" + a)); const P = Mr(E === "sandbox" ? D.nodes()[0].contentDocument.body : "body"), B = E === "sandbox" ? D.nodes()[0].contentDocument : document, j = P.select(`[id="${a}"]`); oFt(j, ["point", "circle", "cross"], p.type, p.arrowMarkerAbsolute); const H = p.db.getVertices(); let Y; const it = p.db.getSubGraphs(); zt.info("Subgraphs - ", it); for (let mt = it.length - 1; mt >= 0; mt--)Y = it[mt], p.db.addVertex(Y.id, { text: Y.title, type: Y.labelType }, "group", void 0, Y.classes, Y.dir); const nt = j.insert("g").attr("class", "subgraphs"), st = vGe(p.db); m = await fGe(H, a, P, B, p, st, m); const pt = j.insert("g").attr("class", "edges edgePath"), Tt = p.db.getEdges(); m = gGe(Tt, p, m, j), Object.keys(F5).forEach(mt => { const rt = F5[mt]; rt.parent || m.children.push(rt), st.childrenById[mt] !== void 0 && (rt.labels = [{ text: rt.labelText, layoutOptions: { "nodeLabels.placement": "[H_CENTER, V_TOP, INSIDE]" }, width: rt.labelData.width, height: rt.labelData.height }], delete rt.x, delete rt.y, delete rt.width, delete rt.height) }), GRt(m.children, st), zt.info("after layout", JSON.stringify(m, null, 2)); const yt = await qRt.layout(m); URt(0, 0, yt.children, j, nt, p, 0), zt.info("after layout", yt), (ht = yt.edges) == null || ht.map(mt => { mGe(pt, mt, mt.edgeData, p, st) }), Z9({}, j, C.diagramPadding, C.useMaxWidth), v.remove() }, URt = (i, a, f, p, v, m, b) => { f.forEach(function (E) { if (E) if (F5[E.id].offset = { posX: E.x + i, posY: E.y + a, x: i, y: a, depth: b, width: E.width, height: E.height }, E.type === "group") { const C = v.insert("g").attr("class", "subgraph"); C.insert("rect").attr("class", "subgraph subgraph-lvl-" + b % 5 + " node").attr("x", E.x + i).attr("y", E.y + a).attr("width", E.width).attr("height", E.height); const D = C.insert("g").attr("class", "label"), P = Oe().flowchart.htmlLabels ? E.labelData.width / 2 : 0; D.attr("transform", `translate(${E.labels[0].x + i + E.x + P}, ${E.labels[0].y + a + E.y + 3})`), D.node().appendChild(E.labelData.labelNode), zt.info("Id (UGH)= ", E.type, E.labels) } else zt.info("Id (UGH)= ", E.id), E.el.attr("transform", `translate(${E.x + i + E.width / 2}, ${E.y + a + E.height / 2})`) }), f.forEach(function (E) { E && E.type === "group" && URt(i + E.x, a + E.y, E.children, p, v, m, b + 1) }) }, xGe = { getClasses: bGe, draw: yGe }, kGe = i => {
        let a = ""; for (let f = 0; f < 5; f++)a += `
          .subgraph-lvl-${f} {
            fill: ${i[`surface${f}`]};
            stroke: ${i[`surfacePeer${f}`]};
          }
        `; return a
    }, EGe = Object.freeze(Object.defineProperty({
        __proto__: null, diagram: {
            db: nMe, renderer: xGe, parser: mdt, styles: i => `.label {
        font-family: ${i.fontFamily};
        color: ${i.nodeTextColor || i.textColor};
      }
      .cluster-label text {
        fill: ${i.titleColor};
      }
      .cluster-label span {
        color: ${i.titleColor};
      }
    
      .label text,span {
        fill: ${i.nodeTextColor || i.textColor};
        color: ${i.nodeTextColor || i.textColor};
      }
    
      .node rect,
      .node circle,
      .node ellipse,
      .node polygon,
      .node path {
        fill: ${i.mainBkg};
        stroke: ${i.nodeBorder};
        stroke-width: 1px;
      }
    
      .node .label {
        text-align: center;
      }
      .node.clickable {
        cursor: pointer;
      }
    
      .arrowheadPath {
        fill: ${i.arrowheadColor};
      }
    
      .edgePath .path {
        stroke: ${i.lineColor};
        stroke-width: 2.0px;
      }
    
      .flowchart-link {
        stroke: ${i.lineColor};
        fill: none;
      }
    
      .edgeLabel {
        background-color: ${i.edgeLabelBackground};
        rect {
          opacity: 0.85;
          background-color: ${i.edgeLabelBackground};
          fill: ${i.edgeLabelBackground};
        }
        text-align: center;
      }
    
      .cluster rect {
        fill: ${i.clusterBkg};
        stroke: ${i.clusterBorder};
        stroke-width: 1px;
      }
    
      .cluster text {
        fill: ${i.titleColor};
      }
    
      .cluster span {
        color: ${i.titleColor};
      }
      /* .cluster div {
        color: ${i.titleColor};
      } */
    
      div.mermaidTooltip {
        position: absolute;
        text-align: center;
        max-width: 200px;
        padding: 2px;
        font-family: ${i.fontFamily};
        font-size: 12px;
        background: ${i.tertiaryColor};
        border: 1px solid ${i.border2};
        border-radius: 2px;
        pointer-events: none;
        z-index: 100;
      }
    
      .flowchartTitleText {
        text-anchor: middle;
        font-size: 18px;
        fill: ${i.textColor};
      }
      .subgraph {
        stroke-width:2;
        rx:3;
      }
      // .subgraph-lvl-1 {
      //   fill:#ccc;
      //   // stroke:black;
      // }
    
      .flowchart-label text {
        text-anchor: middle;
      }
    
      ${kGe(i)}
    `}
    }, Symbol.toStringTag, { value: "Module" })); var Sgt = function () {
        var i = function (it, nt, st, pt) { for (st = st || {}, pt = it.length; pt--; st[it[pt]] = nt); return st }, a = [1, 2], f = [1, 5], p = [6, 9, 11, 17, 18, 20, 22, 23, 26, 27, 28], v = [1, 15], m = [1, 16], b = [1, 17], E = [1, 18], C = [1, 19], D = [1, 23], P = [1, 24], B = [1, 27], j = [4, 6, 9, 11, 17, 18, 20, 22, 23, 26, 27, 28], R = {
            trace: function () { }, yy: {}, symbols_: { error: 2, start: 3, timeline: 4, document: 5, EOF: 6, directive: 7, line: 8, SPACE: 9, statement: 10, NEWLINE: 11, openDirective: 12, typeDirective: 13, closeDirective: 14, ":": 15, argDirective: 16, title: 17, acc_title: 18, acc_title_value: 19, acc_descr: 20, acc_descr_value: 21, acc_descr_multiline_value: 22, section: 23, period_statement: 24, event_statement: 25, period: 26, event: 27, open_directive: 28, type_directive: 29, arg_directive: 30, close_directive: 31, $accept: 0, $end: 1 }, terminals_: { 2: "error", 4: "timeline", 6: "EOF", 9: "SPACE", 11: "NEWLINE", 15: ":", 17: "title", 18: "acc_title", 19: "acc_title_value", 20: "acc_descr", 21: "acc_descr_value", 22: "acc_descr_multiline_value", 23: "section", 26: "period", 27: "event", 28: "open_directive", 29: "type_directive", 30: "arg_directive", 31: "close_directive" }, productions_: [0, [3, 3], [3, 2], [5, 0], [5, 2], [8, 2], [8, 1], [8, 1], [8, 1], [7, 4], [7, 6], [10, 1], [10, 2], [10, 2], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [24, 1], [25, 1], [12, 1], [13, 1], [16, 1], [14, 1]], performAction: function (nt, st, pt, Tt, kt, yt, ht) { var mt = yt.length - 1; switch (kt) { case 1: return yt[mt - 1]; case 3: this.$ = []; break; case 4: yt[mt - 1].push(yt[mt]), this.$ = yt[mt - 1]; break; case 5: case 6: this.$ = yt[mt]; break; case 7: case 8: this.$ = []; break; case 11: Tt.getCommonDb().setDiagramTitle(yt[mt].substr(6)), this.$ = yt[mt].substr(6); break; case 12: this.$ = yt[mt].trim(), Tt.getCommonDb().setAccTitle(this.$); break; case 13: case 14: this.$ = yt[mt].trim(), Tt.getCommonDb().setAccDescription(this.$); break; case 15: Tt.addSection(yt[mt].substr(8)), this.$ = yt[mt].substr(8); break; case 19: Tt.addTask(yt[mt], 0, ""), this.$ = yt[mt]; break; case 20: Tt.addEvent(yt[mt].substr(2)), this.$ = yt[mt]; break; case 21: Tt.parseDirective("%%{", "open_directive"); break; case 22: Tt.parseDirective(yt[mt], "type_directive"); break; case 23: yt[mt] = yt[mt].trim().replace(/'/g, '"'), Tt.parseDirective(yt[mt], "arg_directive"); break; case 24: Tt.parseDirective("}%%", "close_directive", "timeline"); break } }, table: [{ 3: 1, 4: a, 7: 3, 12: 4, 28: f }, { 1: [3] }, i(p, [2, 3], { 5: 6 }), { 3: 7, 4: a, 7: 3, 12: 4, 28: f }, { 13: 8, 29: [1, 9] }, { 29: [2, 21] }, { 6: [1, 10], 7: 22, 8: 11, 9: [1, 12], 10: 13, 11: [1, 14], 12: 4, 17: v, 18: m, 20: b, 22: E, 23: C, 24: 20, 25: 21, 26: D, 27: P, 28: f }, { 1: [2, 2] }, { 14: 25, 15: [1, 26], 31: B }, i([15, 31], [2, 22]), i(p, [2, 8], { 1: [2, 1] }), i(p, [2, 4]), { 7: 22, 10: 28, 12: 4, 17: v, 18: m, 20: b, 22: E, 23: C, 24: 20, 25: 21, 26: D, 27: P, 28: f }, i(p, [2, 6]), i(p, [2, 7]), i(p, [2, 11]), { 19: [1, 29] }, { 21: [1, 30] }, i(p, [2, 14]), i(p, [2, 15]), i(p, [2, 16]), i(p, [2, 17]), i(p, [2, 18]), i(p, [2, 19]), i(p, [2, 20]), { 11: [1, 31] }, { 16: 32, 30: [1, 33] }, { 11: [2, 24] }, i(p, [2, 5]), i(p, [2, 12]), i(p, [2, 13]), i(j, [2, 9]), { 14: 34, 31: B }, { 31: [2, 23] }, { 11: [1, 35] }, i(j, [2, 10])], defaultActions: { 5: [2, 21], 7: [2, 2], 27: [2, 24], 33: [2, 23] }, parseError: function (nt, st) { if (st.recoverable) this.trace(nt); else { var pt = new Error(nt); throw pt.hash = st, pt } }, parse: function (nt) {
                var st = this, pt = [0], Tt = [], kt = [null], yt = [], ht = this.table, mt = "", rt = 0, wt = 0, gt = 2, lt = 1, _t = yt.slice.call(arguments, 1), X = Object.create(this.lexer), Rt = { yy: {} }; for (var ft in this.yy) Object.prototype.hasOwnProperty.call(this.yy, ft) && (Rt.yy[ft] = this.yy[ft]); X.setInput(nt, Rt.yy), Rt.yy.lexer = X, Rt.yy.parser = this, typeof X.yylloc > "u" && (X.yylloc = {}); var de = X.yylloc; yt.push(de); var J = X.options && X.options.ranges; typeof Rt.yy.parseError == "function" ? this.parseError = Rt.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; function ae() { var Ee; return Ee = Tt.pop() || X.lex() || lt, typeof Ee != "number" && (Ee instanceof Array && (Tt = Ee, Ee = Tt.pop()), Ee = st.symbols_[Ee] || Ee), Ee } for (var Wt, It, Nt, me, Ue = {}, _n, _e, rr, Te; ;) {
                    if (It = pt[pt.length - 1], this.defaultActions[It] ? Nt = this.defaultActions[It] : ((Wt === null || typeof Wt > "u") && (Wt = ae()), Nt = ht[It] && ht[It][Wt]), typeof Nt > "u" || !Nt.length || !Nt[0]) {
                        var ne = ""; Te = []; for (_n in ht[It]) this.terminals_[_n] && _n > gt && Te.push("'" + this.terminals_[_n] + "'"); X.showPosition ? ne = "Parse error on line " + (rt + 1) + `:
    `+ X.showPosition() + `
    Expecting `+ Te.join(", ") + ", got '" + (this.terminals_[Wt] || Wt) + "'" : ne = "Parse error on line " + (rt + 1) + ": Unexpected " + (Wt == lt ? "end of input" : "'" + (this.terminals_[Wt] || Wt) + "'"), this.parseError(ne, { text: X.match, token: this.terminals_[Wt] || Wt, line: X.yylineno, loc: de, expected: Te })
                    } if (Nt[0] instanceof Array && Nt.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + It + ", token: " + Wt); switch (Nt[0]) { case 1: pt.push(Wt), kt.push(X.yytext), yt.push(X.yylloc), pt.push(Nt[1]), Wt = null, wt = X.yyleng, mt = X.yytext, rt = X.yylineno, de = X.yylloc; break; case 2: if (_e = this.productions_[Nt[1]][1], Ue.$ = kt[kt.length - _e], Ue._$ = { first_line: yt[yt.length - (_e || 1)].first_line, last_line: yt[yt.length - 1].last_line, first_column: yt[yt.length - (_e || 1)].first_column, last_column: yt[yt.length - 1].last_column }, J && (Ue._$.range = [yt[yt.length - (_e || 1)].range[0], yt[yt.length - 1].range[1]]), me = this.performAction.apply(Ue, [mt, wt, rt, Rt.yy, Nt[1], kt, yt].concat(_t)), typeof me < "u") return me; _e && (pt = pt.slice(0, -1 * _e * 2), kt = kt.slice(0, -1 * _e), yt = yt.slice(0, -1 * _e)), pt.push(this.productions_[Nt[1]][0]), kt.push(Ue.$), yt.push(Ue._$), rr = ht[pt[pt.length - 2]][pt[pt.length - 1]], pt.push(rr); break; case 3: return !0 }
                } return !0
            }
        }, H = function () {
            var it = {
                EOF: 1, parseError: function (st, pt) { if (this.yy.parser) this.yy.parser.parseError(st, pt); else throw new Error(st) }, setInput: function (nt, st) { return this.yy = st || this.yy || {}, this._input = nt, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this }, input: function () { var nt = this._input[0]; this.yytext += nt, this.yyleng++, this.offset++, this.match += nt, this.matched += nt; var st = nt.match(/(?:\r\n?|\n).*/g); return st ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), nt }, unput: function (nt) { var st = nt.length, pt = nt.split(/(?:\r\n?|\n)/g); this._input = nt + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - st), this.offset -= st; var Tt = this.match.split(/(?:\r\n?|\n)/g); this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), pt.length - 1 && (this.yylineno -= pt.length - 1); var kt = this.yylloc.range; return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: pt ? (pt.length === Tt.length ? this.yylloc.first_column : 0) + Tt[Tt.length - pt.length].length - pt[0].length : this.yylloc.first_column - st }, this.options.ranges && (this.yylloc.range = [kt[0], kt[0] + this.yyleng - st]), this.yyleng = this.yytext.length, this }, more: function () { return this._more = !0, this }, reject: function () {
                    if (this.options.backtrack_lexer) this._backtrack = !0; else 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).
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno }); return this
                }, less: function (nt) { this.unput(this.match.slice(nt)) }, pastInput: function () { var nt = this.matched.substr(0, this.matched.length - this.match.length); return (nt.length > 20 ? "..." : "") + nt.substr(-20).replace(/\n/g, "") }, upcomingInput: function () { var nt = this.match; return nt.length < 20 && (nt += this._input.substr(0, 20 - nt.length)), (nt.substr(0, 20) + (nt.length > 20 ? "..." : "")).replace(/\n/g, "") }, showPosition: function () {
                    var nt = this.pastInput(), st = new Array(nt.length + 1).join("-"); return nt + this.upcomingInput() + `
    `+ st + "^"
                }, test_match: function (nt, st) { var pt, Tt, kt; if (this.options.backtrack_lexer && (kt = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (kt.yylloc.range = this.yylloc.range.slice(0))), Tt = nt[0].match(/(?:\r\n?|\n).*/g), Tt && (this.yylineno += Tt.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: Tt ? Tt[Tt.length - 1].length - Tt[Tt.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + nt[0].length }, this.yytext += nt[0], this.match += nt[0], this.matches = nt, 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(nt[0].length), this.matched += nt[0], pt = this.performAction.call(this, this.yy, this, st, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), pt) return pt; if (this._backtrack) { for (var yt in kt) this[yt] = kt[yt]; return !1 } return !1 }, next: function () {
                    if (this.done) return this.EOF; this._input || (this.done = !0); var nt, st, pt, Tt; this._more || (this.yytext = "", this.match = ""); for (var kt = this._currentRules(), yt = 0; yt < kt.length; yt++)if (pt = this._input.match(this.rules[kt[yt]]), pt && (!st || pt[0].length > st[0].length)) { if (st = pt, Tt = yt, this.options.backtrack_lexer) { if (nt = this.test_match(pt, kt[yt]), nt !== !1) return nt; if (this._backtrack) { st = !1; continue } else return !1 } else if (!this.options.flex) break } return st ? (nt = this.test_match(st, kt[Tt]), nt !== !1 ? nt : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno })
                }, lex: function () { var st = this.next(); return st || this.lex() }, begin: function (st) { this.conditionStack.push(st) }, popState: function () { var st = this.conditionStack.length - 1; return st > 0 ? this.conditionStack.pop() : this.conditionStack[0] }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules }, topState: function (st) { return st = this.conditionStack.length - 1 - Math.abs(st || 0), st >= 0 ? this.conditionStack[st] : "INITIAL" }, pushState: function (st) { this.begin(st) }, stateStackSize: function () { return this.conditionStack.length }, options: { "case-insensitive": !0 }, performAction: function (st, pt, Tt, kt) { switch (Tt) { case 0: return this.begin("open_directive"), 28; case 1: return this.begin("type_directive"), 29; case 2: return this.popState(), this.begin("arg_directive"), 15; case 3: return this.popState(), this.popState(), 31; case 4: return 30; case 5: break; case 6: break; case 7: return 11; case 8: break; case 9: break; case 10: return 4; case 11: return 17; case 12: return this.begin("acc_title"), 18; case 13: return this.popState(), "acc_title_value"; case 14: return this.begin("acc_descr"), 20; case 15: return this.popState(), "acc_descr_value"; case 16: this.begin("acc_descr_multiline"); break; case 17: this.popState(); break; case 18: return "acc_descr_multiline_value"; case 19: return 23; case 20: return 27; case 21: return 26; case 22: return 6; case 23: return "INVALID" } }, rules: [/^(?:%%\{)/i, /^(?:((?:(?!\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\}%%)/i, /^(?:((?:(?!\}%%).|\n)*))/i, /^(?:%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[\n]+)/i, /^(?:\s+)/i, /^(?:#[^\n]*)/i, /^(?:timeline\b)/i, /^(?:title\s[^#\n;]+)/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:section\s[^#:\n;]+)/i, /^(?::\s[^#:\n;]+)/i, /^(?:[^#:\n;]+)/i, /^(?:$)/i, /^(?:.)/i], conditions: { open_directive: { rules: [1], inclusive: !1 }, type_directive: { rules: [2, 3], inclusive: !1 }, arg_directive: { rules: [3, 4], inclusive: !1 }, acc_descr_multiline: { rules: [17, 18], inclusive: !1 }, acc_descr: { rules: [15], inclusive: !1 }, acc_title: { rules: [13], inclusive: !1 }, INITIAL: { rules: [0, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 19, 20, 21, 22, 23], inclusive: !0 } }
            }; return it
        }(); R.lexer = H; function Y() { this.yy = {} } return Y.prototype = R, R.Parser = Y, new Y
    }(); Sgt.parser = Sgt; const TGe = Sgt; let gL = "", WRt = 0; const Agt = [], FK = [], pL = [], KRt = () => uIt, YRt = (i, a, f) => { V1t(globalThis, i, a, f) }, XRt = function () { Agt.length = 0, FK.length = 0, gL = "", pL.length = 0, cg() }, QRt = function (i) { gL = i, Agt.push(i) }, ZRt = function () { return Agt }, JRt = function () { let i = rjt(); const a = 100; let f = 0; for (; !i && f < a;)i = rjt(), f++; return FK.push(...pL), FK }, tjt = function (i, a, f) { const p = { id: WRt++, section: gL, type: gL, task: i, score: a || 0, events: f ? [f] : [] }; pL.push(p) }, ejt = function (i) { pL.find(f => f.id === WRt - 1).events.push(i) }, njt = function (i) { const a = { section: gL, type: gL, description: i, task: i, classes: [] }; FK.push(a) }, rjt = function () { const i = function (f) { return pL[f].processed }; let a = !0; for (const [f, p] of pL.entries()) i(f), a = a && p.processed; return a }, _Ge = Object.freeze(Object.defineProperty({ __proto__: null, addEvent: ejt, addSection: QRt, addTask: tjt, addTaskOrg: njt, clear: XRt, default: { clear: XRt, getCommonDb: KRt, addSection: QRt, getSections: ZRt, getTasks: JRt, addTask: tjt, addTaskOrg: njt, addEvent: ejt, parseDirective: YRt }, getCommonDb: KRt, getSections: ZRt, getTasks: JRt, parseDirective: YRt }, Symbol.toStringTag, { value: "Module" })), CGe = 12, BK = function (i, a) { const f = i.append("rect"); return f.attr("x", a.x), f.attr("y", a.y), f.attr("fill", a.fill), f.attr("stroke", a.stroke), f.attr("width", a.width), f.attr("height", a.height), f.attr("rx", a.rx), f.attr("ry", a.ry), a.class !== void 0 && f.attr("class", a.class), f }, SGe = function (i, a) { const p = i.append("circle").attr("cx", a.cx).attr("cy", a.cy).attr("class", "face").attr("r", 15).attr("stroke-width", 2).attr("overflow", "visible"), v = i.append("g"); v.append("circle").attr("cx", a.cx - 15 / 3).attr("cy", a.cy - 15 / 3).attr("r", 1.5).attr("stroke-width", 2).attr("fill", "#666").attr("stroke", "#666"), v.append("circle").attr("cx", a.cx + 15 / 3).attr("cy", a.cy - 15 / 3).attr("r", 1.5).attr("stroke-width", 2).attr("fill", "#666").attr("stroke", "#666"); function m(C) { const D = _A().startAngle(Math.PI / 2).endAngle(3 * (Math.PI / 2)).innerRadius(7.5).outerRadius(6.8181818181818175); C.append("path").attr("class", "mouth").attr("d", D).attr("transform", "translate(" + a.cx + "," + (a.cy + 2) + ")") } function b(C) { const D = _A().startAngle(3 * Math.PI / 2).endAngle(5 * (Math.PI / 2)).innerRadius(7.5).outerRadius(6.8181818181818175); C.append("path").attr("class", "mouth").attr("d", D).attr("transform", "translate(" + a.cx + "," + (a.cy + 7) + ")") } function E(C) { C.append("line").attr("class", "mouth").attr("stroke", 2).attr("x1", a.cx - 5).attr("y1", a.cy + 7).attr("x2", a.cx + 5).attr("y2", a.cy + 7).attr("class", "mouth").attr("stroke-width", "1px").attr("stroke", "#666") } return a.score > 3 ? m(v) : a.score < 3 ? b(v) : E(v), p }, AGe = function (i, a) { const f = i.append("circle"); return f.attr("cx", a.cx), f.attr("cy", a.cy), f.attr("class", "actor-" + a.pos), f.attr("fill", a.fill), f.attr("stroke", a.stroke), f.attr("r", a.r), f.class !== void 0 && f.attr("class", f.class), a.title !== void 0 && f.append("title").text(a.title), f }, ijt = function (i, a) { const f = a.text.replace(/<br\s*\/?>/gi, " "), p = i.append("text"); p.attr("x", a.x), p.attr("y", a.y), p.attr("class", "legend"), p.style("text-anchor", a.anchor), a.class !== void 0 && p.attr("class", a.class); const v = p.append("tspan"); return v.attr("x", a.x + a.textMargin * 2), v.text(f), p }, LGe = function (i, a) { function f(v, m, b, E, C) { return v + "," + m + " " + (v + b) + "," + m + " " + (v + b) + "," + (m + E - C) + " " + (v + b - C * 1.2) + "," + (m + E) + " " + v + "," + (m + E) } const p = i.append("polygon"); p.attr("points", f(a.x, a.y, 50, 20, 7)), p.attr("class", "labelBox"), a.y = a.y + a.labelMargin, a.x = a.x + .5 * a.labelMargin, ijt(i, a) }, MGe = function (i, a, f) { const p = i.append("g"), v = Lgt(); v.x = a.x, v.y = a.y, v.fill = a.fill, v.width = f.width, v.height = f.height, v.class = "journey-section section-type-" + a.num, v.rx = 3, v.ry = 3, BK(p, v), ajt(f)(a.text, p, v.x, v.y, v.width, v.height, { class: "journey-section section-type-" + a.num }, f, a.colour) }; let sjt = -1; const DGe = function (i, a, f) { const p = a.x + f.width / 2, v = i.append("g"); sjt++; const m = 300 + 5 * 30; v.append("line").attr("id", "task" + sjt).attr("x1", p).attr("y1", a.y).attr("x2", p).attr("y2", m).attr("class", "task-line").attr("stroke-width", "1px").attr("stroke-dasharray", "4 2").attr("stroke", "#666"), SGe(v, { cx: p, cy: 300 + (5 - a.score) * 30, score: a.score }); const b = Lgt(); b.x = a.x, b.y = a.y, b.fill = a.fill, b.width = f.width, b.height = f.height, b.class = "task task-type-" + a.num, b.rx = 3, b.ry = 3, BK(v, b), a.x + 14, ajt(f)(a.task, v, b.x, b.y, b.width, b.height, { class: "task" }, f, a.colour) }, IGe = function (i, a) { BK(i, { x: a.startx, y: a.starty, width: a.stopx - a.startx, height: a.stopy - a.starty, fill: a.fill, class: "rect" }).lower() }, OGe = function () { return { x: 0, y: 0, fill: void 0, "text-anchor": "start", width: 100, height: 100, textMargin: 0, rx: 0, ry: 0 } }, Lgt = function () { return { x: 0, y: 0, width: 100, anchor: "start", height: 100, rx: 0, ry: 0 } }, ajt = function () { function i(v, m, b, E, C, D, P, B) { const j = m.append("text").attr("x", b + C / 2).attr("y", E + D / 2 + 5).style("font-color", B).style("text-anchor", "middle").text(v); p(j, P) } function a(v, m, b, E, C, D, P, B, j) { const { taskFontSize: R, taskFontFamily: H } = B, Y = v.split(/<br\s*\/?>/gi); for (let it = 0; it < Y.length; it++) { const nt = it * R - R * (Y.length - 1) / 2, st = m.append("text").attr("x", b + C / 2).attr("y", E).attr("fill", j).style("text-anchor", "middle").style("font-size", R).style("font-family", H); st.append("tspan").attr("x", b + C / 2).attr("dy", nt).text(Y[it]), st.attr("y", E + D / 2).attr("dominant-baseline", "central").attr("alignment-baseline", "central"), p(st, P) } } function f(v, m, b, E, C, D, P, B) { const j = m.append("switch"), H = j.append("foreignObject").attr("x", b).attr("y", E).attr("width", C).attr("height", D).attr("position", "fixed").append("xhtml:div").style("display", "table").style("height", "100%").style("width", "100%"); H.append("div").attr("class", "label").style("display", "table-cell").style("text-align", "center").style("vertical-align", "middle").text(v), a(v, j, b, E, C, D, P, B), p(H, P) } function p(v, m) { for (const b in m) b in m && v.attr(b, m[b]) } return function (v) { return v.textPlacement === "fo" ? f : v.textPlacement === "old" ? i : a } }(), NGe = function (i) { i.append("defs").append("marker").attr("id", "arrowhead").attr("refX", 5).attr("refY", 2).attr("markerWidth", 6).attr("markerHeight", 4).attr("orient", "auto").append("path").attr("d", "M 0,0 V 4 L6,2 Z") }; function ojt(i, a) { i.each(function () { var f = Mr(this), p = f.text().split(/(\s+|<br>)/).reverse(), v, m = [], b = 1.1, E = f.attr("y"), C = parseFloat(f.attr("dy")), D = f.text(null).append("tspan").attr("x", 0).attr("y", E).attr("dy", C + "em"); for (let P = 0; P < p.length; P++)v = p[p.length - 1 - P], m.push(v), D.text(m.join(" ").trim()), (D.node().getComputedTextLength() > a || v === "<br>") && (m.pop(), D.text(m.join(" ").trim()), v === "<br>" ? m = [""] : m = [v], D = f.append("tspan").attr("x", 0).attr("y", E).attr("dy", b + "em").text(v)) }) } const PGe = function (i, a, f, p) { const v = f % CGe - 1, m = i.append("g"); a.section = v, m.attr("class", (a.class ? a.class + " " : "") + "timeline-node " + ("section-" + v)); const b = m.append("g"), E = m.append("g"), D = E.append("text").text(a.descr).attr("dy", "1em").attr("alignment-baseline", "middle").attr("dominant-baseline", "middle").attr("text-anchor", "middle").call(ojt, a.width).node().getBBox(), P = p.fontSize && p.fontSize.replace ? p.fontSize.replace("px", "") : p.fontSize; return a.height = D.height + P * 1.1 * .5 + a.padding, a.height = Math.max(a.height, a.maxHeight), a.width = a.width + 2 * a.padding, E.attr("transform", "translate(" + a.width / 2 + ", " + a.padding / 2 + ")"), BGe(b, a, v), a }, FGe = function (i, a, f) { const p = i.append("g"), m = p.append("text").text(a.descr).attr("dy", "1em").attr("alignment-baseline", "middle").attr("dominant-baseline", "middle").attr("text-anchor", "middle").call(ojt, a.width).node().getBBox(), b = f.fontSize && f.fontSize.replace ? f.fontSize.replace("px", "") : f.fontSize; return p.remove(), m.height + b * 1.1 * .5 + a.padding }, BGe = function (i, a, f) { i.append("path").attr("id", "node-" + a.id).attr("class", "node-bkg node-" + a.type).attr("d", `M0 ${a.height - 5} v${-a.height + 2 * 5} q0,-5 5,-5 h${a.width - 2 * 5} q5,0 5,5 v${a.height - 5} H0 Z`), i.append("line").attr("class", "node-line-" + f).attr("x1", 0).attr("y1", a.height).attr("x2", a.width).attr("y2", a.height) }, xE = { drawRect: BK, drawCircle: AGe, drawSection: MGe, drawText: ijt, drawLabel: LGe, drawTask: DGe, drawBackgroundRect: IGe, getTextObj: OGe, getNoteRect: Lgt, initGraphics: NGe, drawNode: PGe, getVirtualNodeHeight: FGe }, RGe = function (i, a, f, p) {
        var rt, wt, gt, lt; const v = Oe(), m = v.leftMargin ?? 50; (wt = (rt = p.db).clear) == null || wt.call(rt), p.parser.parse(i + `
    `), zt.debug("timeline", p.db); const b = v.securityLevel; let E; b === "sandbox" && (E = Mr("#i" + a)); const D = Mr(b === "sandbox" ? E.nodes()[0].contentDocument.body : "body").select("#" + a); D.append("g"); const P = p.db.getTasks(), B = p.db.getCommonDb().getDiagramTitle(); zt.debug("task", P), xE.initGraphics(D); const j = p.db.getSections(); zt.debug("sections", j); let R = 0, H = 0, Y = 0, it = 0, nt = 50 + m, st = 50; it = 50; let pt = 0, Tt = !0; j.forEach(function (_t) { const X = { number: pt, descr: _t, section: pt, width: 150, padding: 20, maxHeight: R }, Rt = xE.getVirtualNodeHeight(D, X, v); zt.debug("sectionHeight before draw", Rt), R = Math.max(R, Rt + 20) }); let kt = 0, yt = 0; zt.debug("tasks.length", P.length); for (const [_t, X] of P.entries()) { const Rt = { number: _t, descr: X, section: X.section, width: 150, padding: 20, maxHeight: H }, ft = xE.getVirtualNodeHeight(D, Rt, v); zt.debug("taskHeight before draw", ft), H = Math.max(H, ft + 20), kt = Math.max(kt, X.events.length); let de = 0; for (let J = 0; J < X.events.length; J++) { const Wt = { descr: X.events[J], section: X.section, number: X.section, width: 150, padding: 20, maxHeight: 50 }; de += xE.getVirtualNodeHeight(D, Wt, v) } yt = Math.max(yt, de) } zt.debug("maxSectionHeight before draw", R), zt.debug("maxTaskHeight before draw", H), j && j.length > 0 ? j.forEach(_t => { const X = P.filter(J => J.section === _t), Rt = { number: pt, descr: _t, section: pt, width: 200 * Math.max(X.length, 1) - 50, padding: 20, maxHeight: R }; zt.debug("sectionNode", Rt); const ft = D.append("g"), de = xE.drawNode(ft, Rt, pt, v); zt.debug("sectionNode output", de), ft.attr("transform", `translate(${nt}, ${it})`), st += R + 50, X.length > 0 && cjt(D, X, pt, nt, st, H, v, kt, yt, R, !1), nt += 200 * Math.max(X.length, 1), st = it, pt++ }) : (Tt = !1, cjt(D, P, pt, nt, st, H, v, kt, yt, R, !0)); const ht = D.node().getBBox(); zt.debug("bounds", ht), B && D.append("text").text(B).attr("x", ht.width / 2 - m).attr("font-size", "4ex").attr("font-weight", "bold").attr("y", 20), Y = Tt ? R + H + 150 : H + 100, D.append("g").attr("class", "lineWrapper").append("line").attr("x1", m).attr("y1", Y).attr("x2", ht.width + 3 * m).attr("y2", Y).attr("stroke-width", 4).attr("stroke", "black").attr("marker-end", "url(#arrowhead)"), Z9(void 0, D, ((gt = v.timeline) == null ? void 0 : gt.padding) ?? 50, ((lt = v.timeline) == null ? void 0 : lt.useMaxWidth) ?? !1)
    }, cjt = function (i, a, f, p, v, m, b, E, C, D, P) { var B; for (const j of a) { const R = { descr: j.task, section: f, number: f, width: 150, padding: 20, maxHeight: m }; zt.debug("taskNode", R); const H = i.append("g").attr("class", "taskWrapper"), it = xE.drawNode(H, R, f, b).height; if (zt.debug("taskHeight after draw", it), H.attr("transform", `translate(${p}, ${v})`), m = Math.max(m, it), j.events) { const nt = i.append("g").attr("class", "lineWrapper"); let st = m; v += 100, st = st + jGe(i, j.events, f, p, v, b), v -= 100, nt.append("line").attr("x1", p + 190 / 2).attr("y1", v + m).attr("x2", p + 190 / 2).attr("y2", v + m + (P ? m : D) + C + 120).attr("stroke-width", 2).attr("stroke", "black").attr("marker-end", "url(#arrowhead)").attr("stroke-dasharray", "5,5") } p = p + 200, P && !((B = b.timeline) != null && B.disableMulticolor) && f++ } v = v - 10 }, jGe = function (i, a, f, p, v, m) { let b = 0; const E = v; v = v + 100; for (const C of a) { const D = { descr: C, section: f, number: f, width: 150, padding: 20, maxHeight: 50 }; zt.debug("eventNode", D); const P = i.append("g").attr("class", "eventWrapper"), j = xE.drawNode(P, D, f, m).height; b = b + j, P.attr("transform", `translate(${p}, ${v})`), v = v + 10 + j } return v = E, b }, $Ge = { setConf: () => { }, draw: RGe }, zGe = i => {
        let a = ""; for (let f = 0; f < i.THEME_COLOR_LIMIT; f++)i["lineColor" + f] = i["lineColor" + f] || i["cScaleInv" + f], X9(i["lineColor" + f]) ? i["lineColor" + f] = Ds(i["lineColor" + f], 20) : i["lineColor" + f] = ta(i["lineColor" + f], 20); for (let f = 0; f < i.THEME_COLOR_LIMIT; f++) {
            const p = "" + (17 - 3 * f); a += `
        .section-${f - 1} rect, .section-${f - 1} path, .section-${f - 1} circle, .section-${f - 1} path  {
          fill: ${i["cScale" + f]};
        }
        .section-${f - 1} text {
         fill: ${i["cScaleLabel" + f]};
        }
        .node-icon-${f - 1} {
          font-size: 40px;
          color: ${i["cScaleLabel" + f]};
        }
        .section-edge-${f - 1}{
          stroke: ${i["cScale" + f]};
        }
        .edge-depth-${f - 1}{
          stroke-width: ${p};
        }
        .section-${f - 1} line {
          stroke: ${i["cScaleInv" + f]} ;
          stroke-width: 3;
        }
    
        .lineWrapper line{
          stroke: ${i["cScaleLabel" + f]} ;
        }
    
        .disabled, .disabled circle, .disabled text {
          fill: lightgray;
        }
        .disabled text {
          fill: #efefef;
        }
        `} return a
    }, qGe = Object.freeze(Object.defineProperty({
        __proto__: null, diagram: {
            db: _Ge, renderer: $Ge, parser: TGe, styles: i => `
      .edge {
        stroke-width: 3;
      }
      ${zGe(i)}
      .section-root rect, .section-root path, .section-root circle  {
        fill: ${i.git0};
      }
      .section-root text {
        fill: ${i.gitBranchLabel0};
      }
      .icon-container {
        height:100%;
        display: flex;
        justify-content: center;
        align-items: center;
      }
      .edge {
        fill: none;
      }
      .eventWrapper  {
       filter: brightness(120%);
      }
    `}
    }, Symbol.toStringTag, { value: "Module" })); var Mgt = function () {
        var i = function (Tt, kt, yt, ht) { for (yt = yt || {}, ht = Tt.length; ht--; yt[Tt[ht]] = kt); return yt }, a = [1, 4], f = [1, 13], p = [1, 12], v = [1, 15], m = [1, 16], b = [1, 20], E = [1, 19], C = [6, 7, 8], D = [1, 26], P = [1, 24], B = [1, 25], j = [6, 7, 11], R = [1, 6, 13, 15, 16, 19, 22], H = [1, 33], Y = [1, 34], it = [1, 6, 7, 11, 13, 15, 16, 19, 22], nt = {
            trace: function () { }, yy: {}, symbols_: { error: 2, start: 3, mindMap: 4, spaceLines: 5, SPACELINE: 6, NL: 7, MINDMAP: 8, document: 9, stop: 10, EOF: 11, statement: 12, SPACELIST: 13, node: 14, ICON: 15, CLASS: 16, nodeWithId: 17, nodeWithoutId: 18, NODE_DSTART: 19, NODE_DESCR: 20, NODE_DEND: 21, NODE_ID: 22, $accept: 0, $end: 1 }, terminals_: { 2: "error", 6: "SPACELINE", 7: "NL", 8: "MINDMAP", 11: "EOF", 13: "SPACELIST", 15: "ICON", 16: "CLASS", 19: "NODE_DSTART", 20: "NODE_DESCR", 21: "NODE_DEND", 22: "NODE_ID" }, productions_: [0, [3, 1], [3, 2], [5, 1], [5, 2], [5, 2], [4, 2], [4, 3], [10, 1], [10, 1], [10, 1], [10, 2], [10, 2], [9, 3], [9, 2], [12, 2], [12, 2], [12, 2], [12, 1], [12, 1], [12, 1], [12, 1], [12, 1], [14, 1], [14, 1], [18, 3], [17, 1], [17, 4]], performAction: function (kt, yt, ht, mt, rt, wt, gt) { var lt = wt.length - 1; switch (rt) { case 6: case 7: return mt; case 8: mt.getLogger().trace("Stop NL "); break; case 9: mt.getLogger().trace("Stop EOF "); break; case 11: mt.getLogger().trace("Stop NL2 "); break; case 12: mt.getLogger().trace("Stop EOF2 "); break; case 15: mt.getLogger().info("Node: ", wt[lt].id), mt.addNode(wt[lt - 1].length, wt[lt].id, wt[lt].descr, wt[lt].type); break; case 16: mt.getLogger().trace("Icon: ", wt[lt]), mt.decorateNode({ icon: wt[lt] }); break; case 17: case 21: mt.decorateNode({ class: wt[lt] }); break; case 18: mt.getLogger().trace("SPACELIST"); break; case 19: mt.getLogger().trace("Node: ", wt[lt].id), mt.addNode(0, wt[lt].id, wt[lt].descr, wt[lt].type); break; case 20: mt.decorateNode({ icon: wt[lt] }); break; case 25: mt.getLogger().trace("node found ..", wt[lt - 2]), this.$ = { id: wt[lt - 1], descr: wt[lt - 1], type: mt.getType(wt[lt - 2], wt[lt]) }; break; case 26: this.$ = { id: wt[lt], descr: wt[lt], type: mt.nodeType.DEFAULT }; break; case 27: mt.getLogger().trace("node found ..", wt[lt - 3]), this.$ = { id: wt[lt - 3], descr: wt[lt - 1], type: mt.getType(wt[lt - 2], wt[lt]) }; break } }, table: [{ 3: 1, 4: 2, 5: 3, 6: [1, 5], 8: a }, { 1: [3] }, { 1: [2, 1] }, { 4: 6, 6: [1, 7], 7: [1, 8], 8: a }, { 6: f, 7: [1, 10], 9: 9, 12: 11, 13: p, 14: 14, 15: v, 16: m, 17: 17, 18: 18, 19: b, 22: E }, i(C, [2, 3]), { 1: [2, 2] }, i(C, [2, 4]), i(C, [2, 5]), { 1: [2, 6], 6: f, 12: 21, 13: p, 14: 14, 15: v, 16: m, 17: 17, 18: 18, 19: b, 22: E }, { 6: f, 9: 22, 12: 11, 13: p, 14: 14, 15: v, 16: m, 17: 17, 18: 18, 19: b, 22: E }, { 6: D, 7: P, 10: 23, 11: B }, i(j, [2, 22], { 17: 17, 18: 18, 14: 27, 15: [1, 28], 16: [1, 29], 19: b, 22: E }), i(j, [2, 18]), i(j, [2, 19]), i(j, [2, 20]), i(j, [2, 21]), i(j, [2, 23]), i(j, [2, 24]), i(j, [2, 26], { 19: [1, 30] }), { 20: [1, 31] }, { 6: D, 7: P, 10: 32, 11: B }, { 1: [2, 7], 6: f, 12: 21, 13: p, 14: 14, 15: v, 16: m, 17: 17, 18: 18, 19: b, 22: E }, i(R, [2, 14], { 7: H, 11: Y }), i(it, [2, 8]), i(it, [2, 9]), i(it, [2, 10]), i(j, [2, 15]), i(j, [2, 16]), i(j, [2, 17]), { 20: [1, 35] }, { 21: [1, 36] }, i(R, [2, 13], { 7: H, 11: Y }), i(it, [2, 11]), i(it, [2, 12]), { 21: [1, 37] }, i(j, [2, 25]), i(j, [2, 27])], defaultActions: { 2: [2, 1], 6: [2, 2] }, parseError: function (kt, yt) { if (yt.recoverable) this.trace(kt); else { var ht = new Error(kt); throw ht.hash = yt, ht } }, parse: function (kt) {
                var yt = this, ht = [0], mt = [], rt = [null], wt = [], gt = this.table, lt = "", _t = 0, X = 0, Rt = 2, ft = 1, de = wt.slice.call(arguments, 1), J = Object.create(this.lexer), ae = { yy: {} }; for (var Wt in this.yy) Object.prototype.hasOwnProperty.call(this.yy, Wt) && (ae.yy[Wt] = this.yy[Wt]); J.setInput(kt, ae.yy), ae.yy.lexer = J, ae.yy.parser = this, typeof J.yylloc > "u" && (J.yylloc = {}); var It = J.yylloc; wt.push(It); var Nt = J.options && J.options.ranges; typeof ae.yy.parseError == "function" ? this.parseError = ae.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; function me() { var Gt; return Gt = mt.pop() || J.lex() || ft, typeof Gt != "number" && (Gt instanceof Array && (mt = Gt, Gt = mt.pop()), Gt = yt.symbols_[Gt] || Gt), Gt } for (var Ue, _n, _e, rr, Te = {}, ne, Ee, ye, Vt; ;) {
                    if (_n = ht[ht.length - 1], this.defaultActions[_n] ? _e = this.defaultActions[_n] : ((Ue === null || typeof Ue > "u") && (Ue = me()), _e = gt[_n] && gt[_n][Ue]), typeof _e > "u" || !_e.length || !_e[0]) {
                        var Ae = ""; Vt = []; for (ne in gt[_n]) this.terminals_[ne] && ne > Rt && Vt.push("'" + this.terminals_[ne] + "'"); J.showPosition ? Ae = "Parse error on line " + (_t + 1) + `:
    `+ J.showPosition() + `
    Expecting `+ Vt.join(", ") + ", got '" + (this.terminals_[Ue] || Ue) + "'" : Ae = "Parse error on line " + (_t + 1) + ": Unexpected " + (Ue == ft ? "end of input" : "'" + (this.terminals_[Ue] || Ue) + "'"), this.parseError(Ae, { text: J.match, token: this.terminals_[Ue] || Ue, line: J.yylineno, loc: It, expected: Vt })
                    } if (_e[0] instanceof Array && _e.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + _n + ", token: " + Ue); switch (_e[0]) { case 1: ht.push(Ue), rt.push(J.yytext), wt.push(J.yylloc), ht.push(_e[1]), Ue = null, X = J.yyleng, lt = J.yytext, _t = J.yylineno, It = J.yylloc; break; case 2: if (Ee = this.productions_[_e[1]][1], Te.$ = rt[rt.length - Ee], Te._$ = { first_line: wt[wt.length - (Ee || 1)].first_line, last_line: wt[wt.length - 1].last_line, first_column: wt[wt.length - (Ee || 1)].first_column, last_column: wt[wt.length - 1].last_column }, Nt && (Te._$.range = [wt[wt.length - (Ee || 1)].range[0], wt[wt.length - 1].range[1]]), rr = this.performAction.apply(Te, [lt, X, _t, ae.yy, _e[1], rt, wt].concat(de)), typeof rr < "u") return rr; Ee && (ht = ht.slice(0, -1 * Ee * 2), rt = rt.slice(0, -1 * Ee), wt = wt.slice(0, -1 * Ee)), ht.push(this.productions_[_e[1]][0]), rt.push(Te.$), wt.push(Te._$), ye = gt[ht[ht.length - 2]][ht[ht.length - 1]], ht.push(ye); break; case 3: return !0 }
                } return !0
            }
        }, st = function () {
            var Tt = {
                EOF: 1, parseError: function (yt, ht) { if (this.yy.parser) this.yy.parser.parseError(yt, ht); else throw new Error(yt) }, setInput: function (kt, yt) { return this.yy = yt || this.yy || {}, this._input = kt, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this }, input: function () { var kt = this._input[0]; this.yytext += kt, this.yyleng++, this.offset++, this.match += kt, this.matched += kt; var yt = kt.match(/(?:\r\n?|\n).*/g); return yt ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), kt }, unput: function (kt) { var yt = kt.length, ht = kt.split(/(?:\r\n?|\n)/g); this._input = kt + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - yt), this.offset -= yt; var mt = this.match.split(/(?:\r\n?|\n)/g); this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), ht.length - 1 && (this.yylineno -= ht.length - 1); var rt = this.yylloc.range; return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: ht ? (ht.length === mt.length ? this.yylloc.first_column : 0) + mt[mt.length - ht.length].length - ht[0].length : this.yylloc.first_column - yt }, this.options.ranges && (this.yylloc.range = [rt[0], rt[0] + this.yyleng - yt]), this.yyleng = this.yytext.length, this }, more: function () { return this._more = !0, this }, reject: function () {
                    if (this.options.backtrack_lexer) this._backtrack = !0; else 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).
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno }); return this
                }, less: function (kt) { this.unput(this.match.slice(kt)) }, pastInput: function () { var kt = this.matched.substr(0, this.matched.length - this.match.length); return (kt.length > 20 ? "..." : "") + kt.substr(-20).replace(/\n/g, "") }, upcomingInput: function () { var kt = this.match; return kt.length < 20 && (kt += this._input.substr(0, 20 - kt.length)), (kt.substr(0, 20) + (kt.length > 20 ? "..." : "")).replace(/\n/g, "") }, showPosition: function () {
                    var kt = this.pastInput(), yt = new Array(kt.length + 1).join("-"); return kt + this.upcomingInput() + `
    `+ yt + "^"
                }, test_match: function (kt, yt) { var ht, mt, rt; if (this.options.backtrack_lexer && (rt = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (rt.yylloc.range = this.yylloc.range.slice(0))), mt = kt[0].match(/(?:\r\n?|\n).*/g), mt && (this.yylineno += mt.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: mt ? mt[mt.length - 1].length - mt[mt.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + kt[0].length }, this.yytext += kt[0], this.match += kt[0], this.matches = kt, 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(kt[0].length), this.matched += kt[0], ht = this.performAction.call(this, this.yy, this, yt, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), ht) return ht; if (this._backtrack) { for (var wt in rt) this[wt] = rt[wt]; return !1 } return !1 }, next: function () {
                    if (this.done) return this.EOF; this._input || (this.done = !0); var kt, yt, ht, mt; this._more || (this.yytext = "", this.match = ""); for (var rt = this._currentRules(), wt = 0; wt < rt.length; wt++)if (ht = this._input.match(this.rules[rt[wt]]), ht && (!yt || ht[0].length > yt[0].length)) { if (yt = ht, mt = wt, this.options.backtrack_lexer) { if (kt = this.test_match(ht, rt[wt]), kt !== !1) return kt; if (this._backtrack) { yt = !1; continue } else return !1 } else if (!this.options.flex) break } return yt ? (kt = this.test_match(yt, rt[mt]), kt !== !1 ? kt : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
    `+ this.showPosition(), { text: "", token: null, line: this.yylineno })
                }, lex: function () { var yt = this.next(); return yt || this.lex() }, begin: function (yt) { this.conditionStack.push(yt) }, popState: function () { var yt = this.conditionStack.length - 1; return yt > 0 ? this.conditionStack.pop() : this.conditionStack[0] }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules }, topState: function (yt) { return yt = this.conditionStack.length - 1 - Math.abs(yt || 0), yt >= 0 ? this.conditionStack[yt] : "INITIAL" }, pushState: function (yt) { this.begin(yt) }, stateStackSize: function () { return this.conditionStack.length }, options: { "case-insensitive": !0 }, performAction: function (yt, ht, mt, rt) { switch (mt) { case 0: return yt.getLogger().trace("Found comment", ht.yytext), 6; case 1: return 8; case 2: this.begin("CLASS"); break; case 3: return this.popState(), 16; case 4: this.popState(); break; case 5: yt.getLogger().trace("Begin icon"), this.begin("ICON"); break; case 6: return yt.getLogger().trace("SPACELINE"), 6; case 7: return 7; case 8: return 15; case 9: yt.getLogger().trace("end icon"), this.popState(); break; case 10: return yt.getLogger().trace("Exploding node"), this.begin("NODE"), 19; case 11: return yt.getLogger().trace("Cloud"), this.begin("NODE"), 19; case 12: return yt.getLogger().trace("Explosion Bang"), this.begin("NODE"), 19; case 13: return yt.getLogger().trace("Cloud Bang"), this.begin("NODE"), 19; case 14: return this.begin("NODE"), 19; case 15: return this.begin("NODE"), 19; case 16: return this.begin("NODE"), 19; case 17: return this.begin("NODE"), 19; case 18: return 13; case 19: return 22; case 20: return 11; case 21: this.begin("NSTR2"); break; case 22: return "NODE_DESCR"; case 23: this.popState(); break; case 24: yt.getLogger().trace("Starting NSTR"), this.begin("NSTR"); break; case 25: return yt.getLogger().trace("description:", ht.yytext), "NODE_DESCR"; case 26: this.popState(); break; case 27: return this.popState(), yt.getLogger().trace("node end ))"), "NODE_DEND"; case 28: return this.popState(), yt.getLogger().trace("node end )"), "NODE_DEND"; case 29: return this.popState(), yt.getLogger().trace("node end ...", ht.yytext), "NODE_DEND"; case 30: return this.popState(), yt.getLogger().trace("node end (("), "NODE_DEND"; case 31: return this.popState(), yt.getLogger().trace("node end (-"), "NODE_DEND"; case 32: return this.popState(), yt.getLogger().trace("node end (-"), "NODE_DEND"; case 33: return this.popState(), yt.getLogger().trace("node end (("), "NODE_DEND"; case 34: return this.popState(), yt.getLogger().trace("node end (("), "NODE_DEND"; case 35: return yt.getLogger().trace("Long description:", ht.yytext), 20; case 36: return yt.getLogger().trace("Long description:", ht.yytext), 20 } }, rules: [/^(?:\s*%%.*)/i, /^(?:mindmap\b)/i, /^(?::::)/i, /^(?:.+)/i, /^(?:\n)/i, /^(?:::icon\()/i, /^(?:[\s]+[\n])/i, /^(?:[\n]+)/i, /^(?:[^\)]+)/i, /^(?:\))/i, /^(?:-\))/i, /^(?:\(-)/i, /^(?:\)\))/i, /^(?:\))/i, /^(?:\(\()/i, /^(?:\{\{)/i, /^(?:\()/i, /^(?:\[)/i, /^(?:[\s]+)/i, /^(?:[^\(\[\n\-\)\{\}]+)/i, /^(?:$)/i, /^(?:["][`])/i, /^(?:[^`"]+)/i, /^(?:[`]["])/i, /^(?:["])/i, /^(?:[^"]+)/i, /^(?:["])/i, /^(?:[\)]\))/i, /^(?:[\)])/i, /^(?:[\]])/i, /^(?:\}\})/i, /^(?:\(-)/i, /^(?:-\))/i, /^(?:\(\()/i, /^(?:\()/i, /^(?:[^\)\]\(\}]+)/i, /^(?:.+(?!\(\())/i], conditions: { CLASS: { rules: [3, 4], inclusive: !1 }, ICON: { rules: [8, 9], inclusive: !1 }, NSTR2: { rules: [22, 23], inclusive: !1 }, NSTR: { rules: [25, 26], inclusive: !1 }, NODE: { rules: [21, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], inclusive: !1 }, INITIAL: { rules: [0, 1, 2, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], inclusive: !0 } }
            }; return Tt
        }(); nt.lexer = st; function pt() { this.yy = {} } return pt.prototype = nt, nt.Parser = pt, new pt
    }(); Mgt.parser = Mgt; const HGe = Mgt, RP = i => sg(i, Oe()); let iv = [], ujt = 0, Dgt = {}; const VGe = () => { iv = [], ujt = 0, Dgt = {} }, GGe = function (i) { for (let a = iv.length - 1; a >= 0; a--)if (iv[a].level < i) return iv[a]; return null }, UGe = () => iv.length > 0 ? iv[0] : null, WGe = (i, a, f, p) => { zt.info("addNode", i, a, f, p); const v = Oe(), m = { id: ujt++, nodeId: RP(a), level: i, descr: RP(f), type: p, children: [], width: Oe().mindmap.maxNodeWidth }; switch (m.type) { case nl.ROUNDED_RECT: m.padding = 2 * v.mindmap.padding; break; case nl.RECT: m.padding = 2 * v.mindmap.padding; break; case nl.HEXAGON: m.padding = 2 * v.mindmap.padding; break; default: m.padding = v.mindmap.padding }const b = GGe(i); if (b) b.children.push(m), iv.push(m); else if (iv.length === 0) iv.push(m); else { let E = new Error('There can be only one root. No parent could be found for ("' + m.descr + '")'); throw E.hash = { text: "branch " + name, token: "branch " + name, line: "1", loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 }, expected: ['"checkout ' + name + '"'] }, E } }, nl = { DEFAULT: 0, NO_BORDER: 0, ROUNDED_RECT: 1, RECT: 2, CIRCLE: 3, CLOUD: 4, BANG: 5, HEXAGON: 6 }, KGe = (i, a) => { switch (zt.debug("In get type", i, a), i) { case "[": return nl.RECT; case "(": return a === ")" ? nl.ROUNDED_RECT : nl.CLOUD; case "((": return nl.CIRCLE; case ")": return nl.CLOUD; case "))": return nl.BANG; case "{{": return nl.HEXAGON; default: return nl.DEFAULT } }, ljt = (i, a) => { Dgt[i] = a }, YGe = i => { const a = iv[iv.length - 1]; i && i.icon && (a.icon = RP(i.icon)), i && i.class && (a.class = RP(i.class)) }, kE = i => { switch (i) { case nl.DEFAULT: return "no-border"; case nl.RECT: return "rect"; case nl.ROUNDED_RECT: return "rounded-rect"; case nl.CIRCLE: return "circle"; case nl.CLOUD: return "cloud"; case nl.BANG: return "bang"; case nl.HEXAGON: return "hexgon"; default: return "no-border" } }; let hjt; const XGe = i => { hjt = i }, QGe = () => zt, ZGe = i => iv[i], Igt = i => Dgt[i], JGe = Object.freeze(Object.defineProperty({ __proto__: null, addNode: WGe, clear: VGe, decorateNode: YGe, getElementById: Igt, getLogger: QGe, getMindmap: UGe, getNodeById: ZGe, getType: KGe, nodeType: nl, get parseError() { return hjt }, sanitizeText: RP, setElementForId: ljt, setErrorHandler: XGe, type2Str: kE }, Symbol.toStringTag, { value: "Module" })), fjt = 12, tUe = function (i, a, f) { i.append("path").attr("id", "node-" + a.id).attr("class", "node-bkg node-" + kE(a.type)).attr("d", `M0 ${a.height - 5} v${-a.height + 2 * 5} q0,-5 5,-5 h${a.width - 2 * 5} q5,0 5,5 v${a.height - 5} H0 Z`), i.append("line").attr("class", "node-line-" + f).attr("x1", 0).attr("y1", a.height).attr("x2", a.width).attr("y2", a.height) }, eUe = function (i, a) { i.append("rect").attr("id", "node-" + a.id).attr("class", "node-bkg node-" + kE(a.type)).attr("height", a.height).attr("width", a.width) }, nUe = function (i, a) {
        const f = a.width, p = a.height, v = .15 * f, m = .25 * f, b = .35 * f, E = .2 * f; i.append("path").attr("id", "node-" + a.id).attr("class", "node-bkg node-" + kE(a.type)).attr("d", `M0 0 a${v},${v} 0 0,1 ${f * .25},${-1 * f * .1}
          a${b},${b} 1 0,1 ${f * .4},${-1 * f * .1}
          a${m},${m} 1 0,1 ${f * .35},${1 * f * .2}
    
          a${v},${v} 1 0,1 ${f * .15},${1 * p * .35}
          a${E},${E} 1 0,1 ${-1 * f * .15},${1 * p * .65}
    
          a${m},${v} 1 0,1 ${-1 * f * .25},${f * .15}
          a${b},${b} 1 0,1 ${-1 * f * .5},0
          a${v},${v} 1 0,1 ${-1 * f * .25},${-1 * f * .15}
    
          a${v},${v} 1 0,1 ${-1 * f * .1},${-1 * p * .35}
          a${E},${E} 1 0,1 ${f * .1},${-1 * p * .65}
    
        H0 V0 Z`)
    }, rUe = function (i, a) {
        const f = a.width, p = a.height, v = .15 * f; i.append("path").attr("id", "node-" + a.id).attr("class", "node-bkg node-" + kE(a.type)).attr("d", `M0 0 a${v},${v} 1 0,0 ${f * .25},${-1 * p * .1}
          a${v},${v} 1 0,0 ${f * .25},0
          a${v},${v} 1 0,0 ${f * .25},0
          a${v},${v} 1 0,0 ${f * .25},${1 * p * .1}
    
          a${v},${v} 1 0,0 ${f * .15},${1 * p * .33}
          a${v * .8},${v * .8} 1 0,0 0,${1 * p * .34}
          a${v},${v} 1 0,0 ${-1 * f * .15},${1 * p * .33}
    
          a${v},${v} 1 0,0 ${-1 * f * .25},${p * .15}
          a${v},${v} 1 0,0 ${-1 * f * .25},0
          a${v},${v} 1 0,0 ${-1 * f * .25},0
          a${v},${v} 1 0,0 ${-1 * f * .25},${-1 * p * .15}
    
          a${v},${v} 1 0,0 ${-1 * f * .1},${-1 * p * .33}
          a${v * .8},${v * .8} 1 0,0 0,${-1 * p * .34}
          a${v},${v} 1 0,0 ${f * .1},${-1 * p * .33}
    
        H0 V0 Z`)
    }, iUe = function (i, a) { i.append("circle").attr("id", "node-" + a.id).attr("class", "node-bkg node-" + kE(a.type)).attr("r", a.width / 2) }; function sUe(i, a, f, p, v) { return i.insert("polygon", ":first-child").attr("points", p.map(function (m) { return m.x + "," + m.y }).join(" ")).attr("transform", "translate(" + (v.width - a) / 2 + ", " + f + ")") } const aUe = function (i, a) { const f = a.height, v = f / 4, m = a.width - a.padding + 2 * v, b = [{ x: v, y: 0 }, { x: m - v, y: 0 }, { x: m, y: -f / 2 }, { x: m - v, y: -f }, { x: v, y: -f }, { x: 0, y: -f / 2 }]; sUe(i, m, f, b, a) }, oUe = function (i, a) { i.append("rect").attr("id", "node-" + a.id).attr("class", "node-bkg node-" + kE(a.type)).attr("height", a.height).attr("rx", a.padding).attr("ry", a.padding).attr("width", a.width) }, djt = {
        drawNode: function (i, a, f, p) {
            const v = p.htmlLabels, m = f % (fjt - 1), b = i.append("g"); a.section = m; let E = "section-" + m; m < 0 && (E += " section-root"), b.attr("class", (a.class ? a.class + " " : "") + "mindmap-node " + E); const C = b.append("g"), D = b.append("g"), P = a.descr.replace(/(<br\/*>)/g, `
    `); aK(D, P, { useHtmlLabels: v, width: a.width, classes: "mindmap-node-label" }), v || D.attr("dy", "1em").attr("alignment-baseline", "middle").attr("dominant-baseline", "middle").attr("text-anchor", "middle"); const B = D.node().getBBox(), j = p.fontSize.replace ? p.fontSize.replace("px", "") : p.fontSize; if (a.height = B.height + j * 1.1 * .5 + a.padding, a.width = B.width + 2 * a.padding, a.icon) if (a.type === nl.CIRCLE) a.height += 50, a.width += 50, b.append("foreignObject").attr("height", "50px").attr("width", a.width).attr("style", "text-align: center;").append("div").attr("class", "icon-container").append("i").attr("class", "node-icon-" + m + " " + a.icon), D.attr("transform", "translate(" + a.width / 2 + ", " + (a.height / 2 - 1.5 * a.padding) + ")"); else { a.width += 50; const R = a.height; a.height = Math.max(R, 60); const H = Math.abs(a.height - R); b.append("foreignObject").attr("width", "60px").attr("height", a.height).attr("style", "text-align: center;margin-top:" + H / 2 + "px;").append("div").attr("class", "icon-container").append("i").attr("class", "node-icon-" + m + " " + a.icon), D.attr("transform", "translate(" + (25 + a.width / 2) + ", " + (H / 2 + a.padding / 2) + ")") } else if (v) { const R = (a.width - B.width) / 2, H = (a.height - B.height) / 2; D.attr("transform", "translate(" + R + ", " + H + ")") } else { const R = a.width / 2, H = a.padding / 2; D.attr("transform", "translate(" + R + ", " + H + ")") } switch (a.type) { case nl.DEFAULT: tUe(C, a, m); break; case nl.ROUNDED_RECT: oUe(C, a); break; case nl.RECT: eUe(C, a); break; case nl.CIRCLE: C.attr("transform", "translate(" + a.width / 2 + ", " + +a.height / 2 + ")"), iUe(C, a); break; case nl.CLOUD: nUe(C, a); break; case nl.BANG: rUe(C, a); break; case nl.HEXAGON: aUe(C, a); break }return ljt(a.id, b), a.height
        }, positionNode: function (i) { const a = Igt(i.id), f = i.x || 0, p = i.y || 0; a.attr("transform", "translate(" + f + "," + p + ")") }, drawEdge: function (a, f, p, v, m) { const b = m % (fjt - 1), E = p.x + p.width / 2, C = p.y + p.height / 2, D = f.x + f.width / 2, P = f.y + f.height / 2, B = D > E ? E + Math.abs(E - D) / 2 : E - Math.abs(E - D) / 2, j = P > C ? C + Math.abs(C - P) / 2 : C - Math.abs(C - P) / 2, R = D > E ? Math.abs(E - B) / 2 + E : -Math.abs(E - B) / 2 + E, H = P > C ? Math.abs(C - j) / 2 + C : -Math.abs(C - j) / 2 + C; a.append("path").attr("d", p.direction === "TB" || p.direction === "BT" ? `M${E},${C} Q${E},${H} ${B},${j} T${D},${P}` : `M${E},${C} Q${R},${C} ${B},${j} T${D},${P}`).attr("class", "edge section-edge-" + b + " edge-depth-" + v) }
    }; var Ogt = {}, cUe = { get exports() { return Ogt }, set exports(i) { Ogt = i } }; (function (i, a) {
        (function (f, p) { i.exports = p() })(b0, function () {
            function f(y) { return f = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function (g) { return typeof g } : function (g) { return g && typeof Symbol == "function" && g.constructor === Symbol && g !== Symbol.prototype ? "symbol" : typeof g }, f(y) } function p(y, g) { if (!(y instanceof g)) throw new TypeError("Cannot call a class as a function") } function v(y, g) { for (var x = 0; x < g.length; x++) { var T = g[x]; T.enumerable = T.enumerable || !1, T.configurable = !0, "value" in T && (T.writable = !0), Object.defineProperty(y, T.key, T) } } function m(y, g, x) { return g && v(y.prototype, g), x && v(y, x), Object.defineProperty(y, "prototype", { writable: !1 }), y } function b(y, g, x) { return g in y ? Object.defineProperty(y, g, { value: x, enumerable: !0, configurable: !0, writable: !0 }) : y[g] = x, y } function E(y, g) { return C(y) || D(y, g) || P(y, g) || j() } function C(y) { if (Array.isArray(y)) return y } function D(y, g) { var x = y == null ? null : typeof Symbol < "u" && y[Symbol.iterator] || y["@@iterator"]; if (x != null) { var T = [], A = !0, I = !1, O, $; try { for (x = x.call(y); !(A = (O = x.next()).done) && (T.push(O.value), !(g && T.length === g)); A = !0); } catch (z) { I = !0, $ = z } finally { try { !A && x.return != null && x.return() } finally { if (I) throw $ } } return T } } function P(y, g) { if (y) { if (typeof y == "string") return B(y, g); var x = Object.prototype.toString.call(y).slice(8, -1); if (x === "Object" && y.constructor && (x = y.constructor.name), x === "Map" || x === "Set") return Array.from(y); if (x === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(x)) return B(y, g) } } function B(y, g) { (g == null || g > y.length) && (g = y.length); for (var x = 0, T = new Array(g); x < g; x++)T[x] = y[x]; return T } function j() {
                throw new TypeError(`Invalid attempt to destructure non-iterable instance.
    In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)
            } var R = typeof window > "u" ? null : window, H = R ? R.navigator : null; R && R.document; var Y = f(""), it = f({}), nt = f(function () { }), st = typeof HTMLElement > "u" ? "undefined" : f(HTMLElement), pt = function (g) { return g && g.instanceString && kt(g.instanceString) ? g.instanceString() : null }, Tt = function (g) { return g != null && f(g) == Y }, kt = function (g) { return g != null && f(g) === nt }, yt = function (g) { return !lt(g) && (Array.isArray ? Array.isArray(g) : g != null && g instanceof Array) }, ht = function (g) { return g != null && f(g) === it && !yt(g) && g.constructor === Object }, mt = function (g) { return g != null && f(g) === it }, rt = function (g) { return g != null && f(g) === f(1) && !isNaN(g) }, wt = function (g) { return rt(g) && Math.floor(g) === g }, gt = function (g) { if (st !== "undefined") return g != null && g instanceof HTMLElement }, lt = function (g) { return _t(g) || X(g) }, _t = function (g) { return pt(g) === "collection" && g._private.single }, X = function (g) { return pt(g) === "collection" && !g._private.single }, Rt = function (g) { return pt(g) === "core" }, ft = function (g) { return pt(g) === "stylesheet" }, de = function (g) { return pt(g) === "event" }, J = function (g) { return g == null ? !0 : !!(g === "" || g.match(/^\s+$/)) }, ae = function (g) { return typeof HTMLElement > "u" ? !1 : g instanceof HTMLElement }, Wt = function (g) { return ht(g) && rt(g.x1) && rt(g.x2) && rt(g.y1) && rt(g.y2) }, It = function (g) { return mt(g) && kt(g.then) }, Nt = function () { return H && H.userAgent.match(/msie|trident|edge/i) }, me = function (g, x) { x || (x = function () { if (arguments.length === 1) return arguments[0]; if (arguments.length === 0) return "undefined"; for (var I = [], O = 0; O < arguments.length; O++)I.push(arguments[O]); return I.join("$") }); var T = function A() { var I = this, O = arguments, $, z = x.apply(I, O), S = A.cache; return ($ = S[z]) || ($ = S[z] = g.apply(I, O)), $ }; return T.cache = {}, T }, Ue = me(function (y) { return y.replace(/([A-Z])/g, function (g) { return "-" + g.toLowerCase() }) }), _n = me(function (y) { return y.replace(/(-\w)/g, function (g) { return g[1].toUpperCase() }) }), _e = me(function (y, g) { return y + g[0].toUpperCase() + g.substring(1) }, function (y, g) { return y + "$" + g }), rr = function (g) { return J(g) ? g : g.charAt(0).toUpperCase() + g.substring(1) }, Te = "(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))", ne = "rgb[a]?\\((" + Te + "[%]?)\\s*,\\s*(" + Te + "[%]?)\\s*,\\s*(" + Te + "[%]?)(?:\\s*,\\s*(" + Te + "))?\\)", Ee = "rgb[a]?\\((?:" + Te + "[%]?)\\s*,\\s*(?:" + Te + "[%]?)\\s*,\\s*(?:" + Te + "[%]?)(?:\\s*,\\s*(?:" + Te + "))?\\)", ye = "hsl[a]?\\((" + Te + ")\\s*,\\s*(" + Te + "[%])\\s*,\\s*(" + Te + "[%])(?:\\s*,\\s*(" + Te + "))?\\)", Vt = "hsl[a]?\\((?:" + Te + ")\\s*,\\s*(?:" + Te + "[%])\\s*,\\s*(?:" + Te + "[%])(?:\\s*,\\s*(?:" + Te + "))?\\)", Ae = "\\#[0-9a-fA-F]{3}", Gt = "\\#[0-9a-fA-F]{6}", un = function (g, x) { return g < x ? -1 : g > x ? 1 : 0 }, jt = function (g, x) { return -1 * un(g, x) }, Ke = Object.assign != null ? Object.assign.bind(Object) : function (y) { for (var g = arguments, x = 1; x < g.length; x++) { var T = g[x]; if (T != null) for (var A = Object.keys(T), I = 0; I < A.length; I++) { var O = A[I]; y[O] = T[O] } } return y }, oe = function (g) { if (!(!(g.length === 4 || g.length === 7) || g[0] !== "#")) { var x = g.length === 4, T, A, I, O = 16; return x ? (T = parseInt(g[1] + g[1], O), A = parseInt(g[2] + g[2], O), I = parseInt(g[3] + g[3], O)) : (T = parseInt(g[1] + g[2], O), A = parseInt(g[3] + g[4], O), I = parseInt(g[5] + g[6], O)), [T, A, I] } }, Or = function (g) { var x, T, A, I, O, $, z, S; function V(ut, dt, At) { return At < 0 && (At += 1), At > 1 && (At -= 1), At < 1 / 6 ? ut + (dt - ut) * 6 * At : At < 1 / 2 ? dt : At < 2 / 3 ? ut + (dt - ut) * (2 / 3 - At) * 6 : ut } var U = new RegExp("^" + ye + "$").exec(g); if (U) { if (T = parseInt(U[1]), T < 0 ? T = (360 - -1 * T % 360) % 360 : T > 360 && (T = T % 360), T /= 360, A = parseFloat(U[2]), A < 0 || A > 100 || (A = A / 100, I = parseFloat(U[3]), I < 0 || I > 100) || (I = I / 100, O = U[4], O !== void 0 && (O = parseFloat(O), O < 0 || O > 1))) return; if (A === 0) $ = z = S = Math.round(I * 255); else { var tt = I < .5 ? I * (1 + A) : I + A - I * A, at = 2 * I - tt; $ = Math.round(255 * V(at, tt, T + 1 / 3)), z = Math.round(255 * V(at, tt, T)), S = Math.round(255 * V(at, tt, T - 1 / 3)) } x = [$, z, S, O] } return x }, Le = function (g) { var x, T = new RegExp("^" + ne + "$").exec(g); if (T) { x = []; for (var A = [], I = 1; I <= 3; I++) { var O = T[I]; if (O[O.length - 1] === "%" && (A[I] = !0), O = parseFloat(O), A[I] && (O = O / 100 * 255), O < 0 || O > 255) return; x.push(Math.floor(O)) } var $ = A[1] || A[2] || A[3], z = A[1] && A[2] && A[3]; if ($ && !z) return; var S = T[4]; if (S !== void 0) { if (S = parseFloat(S), S < 0 || S > 1) return; x.push(S) } } return x }, Nr = function (g) { return sr[g.toLowerCase()] }, fe = function (g) { return (yt(g) ? g : null) || Nr(g) || oe(g) || Le(g) || Or(g) }, sr = { transparent: [0, 0, 0, 0], aliceblue: [240, 248, 255], antiquewhite: [250, 235, 215], aqua: [0, 255, 255], aquamarine: [127, 255, 212], azure: [240, 255, 255], beige: [245, 245, 220], bisque: [255, 228, 196], black: [0, 0, 0], blanchedalmond: [255, 235, 205], blue: [0, 0, 255], blueviolet: [138, 43, 226], brown: [165, 42, 42], burlywood: [222, 184, 135], cadetblue: [95, 158, 160], chartreuse: [127, 255, 0], chocolate: [210, 105, 30], coral: [255, 127, 80], cornflowerblue: [100, 149, 237], cornsilk: [255, 248, 220], crimson: [220, 20, 60], cyan: [0, 255, 255], darkblue: [0, 0, 139], darkcyan: [0, 139, 139], darkgoldenrod: [184, 134, 11], darkgray: [169, 169, 169], darkgreen: [0, 100, 0], darkgrey: [169, 169, 169], darkkhaki: [189, 183, 107], darkmagenta: [139, 0, 139], darkolivegreen: [85, 107, 47], darkorange: [255, 140, 0], darkorchid: [153, 50, 204], darkred: [139, 0, 0], darksalmon: [233, 150, 122], darkseagreen: [143, 188, 143], darkslateblue: [72, 61, 139], darkslategray: [47, 79, 79], darkslategrey: [47, 79, 79], darkturquoise: [0, 206, 209], darkviolet: [148, 0, 211], deeppink: [255, 20, 147], deepskyblue: [0, 191, 255], dimgray: [105, 105, 105], dimgrey: [105, 105, 105], dodgerblue: [30, 144, 255], firebrick: [178, 34, 34], floralwhite: [255, 250, 240], forestgreen: [34, 139, 34], fuchsia: [255, 0, 255], gainsboro: [220, 220, 220], ghostwhite: [248, 248, 255], gold: [255, 215, 0], goldenrod: [218, 165, 32], gray: [128, 128, 128], grey: [128, 128, 128], green: [0, 128, 0], greenyellow: [173, 255, 47], honeydew: [240, 255, 240], hotpink: [255, 105, 180], indianred: [205, 92, 92], indigo: [75, 0, 130], ivory: [255, 255, 240], khaki: [240, 230, 140], lavender: [230, 230, 250], lavenderblush: [255, 240, 245], lawngreen: [124, 252, 0], lemonchiffon: [255, 250, 205], lightblue: [173, 216, 230], lightcoral: [240, 128, 128], lightcyan: [224, 255, 255], lightgoldenrodyellow: [250, 250, 210], lightgray: [211, 211, 211], lightgreen: [144, 238, 144], lightgrey: [211, 211, 211], lightpink: [255, 182, 193], lightsalmon: [255, 160, 122], lightseagreen: [32, 178, 170], lightskyblue: [135, 206, 250], lightslategray: [119, 136, 153], lightslategrey: [119, 136, 153], lightsteelblue: [176, 196, 222], lightyellow: [255, 255, 224], lime: [0, 255, 0], limegreen: [50, 205, 50], linen: [250, 240, 230], magenta: [255, 0, 255], maroon: [128, 0, 0], mediumaquamarine: [102, 205, 170], mediumblue: [0, 0, 205], mediumorchid: [186, 85, 211], mediumpurple: [147, 112, 219], mediumseagreen: [60, 179, 113], mediumslateblue: [123, 104, 238], mediumspringgreen: [0, 250, 154], mediumturquoise: [72, 209, 204], mediumvioletred: [199, 21, 133], midnightblue: [25, 25, 112], mintcream: [245, 255, 250], mistyrose: [255, 228, 225], moccasin: [255, 228, 181], navajowhite: [255, 222, 173], navy: [0, 0, 128], oldlace: [253, 245, 230], olive: [128, 128, 0], olivedrab: [107, 142, 35], orange: [255, 165, 0], orangered: [255, 69, 0], orchid: [218, 112, 214], palegoldenrod: [238, 232, 170], palegreen: [152, 251, 152], paleturquoise: [175, 238, 238], palevioletred: [219, 112, 147], papayawhip: [255, 239, 213], peachpuff: [255, 218, 185], peru: [205, 133, 63], pink: [255, 192, 203], plum: [221, 160, 221], powderblue: [176, 224, 230], purple: [128, 0, 128], red: [255, 0, 0], rosybrown: [188, 143, 143], royalblue: [65, 105, 225], saddlebrown: [139, 69, 19], salmon: [250, 128, 114], sandybrown: [244, 164, 96], seagreen: [46, 139, 87], seashell: [255, 245, 238], sienna: [160, 82, 45], silver: [192, 192, 192], skyblue: [135, 206, 235], slateblue: [106, 90, 205], slategray: [112, 128, 144], slategrey: [112, 128, 144], snow: [255, 250, 250], springgreen: [0, 255, 127], steelblue: [70, 130, 180], tan: [210, 180, 140], teal: [0, 128, 128], thistle: [216, 191, 216], tomato: [255, 99, 71], turquoise: [64, 224, 208], violet: [238, 130, 238], wheat: [245, 222, 179], white: [255, 255, 255], whitesmoke: [245, 245, 245], yellow: [255, 255, 0], yellowgreen: [154, 205, 50] }, Yn = function (g) { for (var x = g.map, T = g.keys, A = T.length, I = 0; I < A; I++) { var O = T[I]; if (ht(O)) throw Error("Tried to set map with object key"); I < T.length - 1 ? (x[O] == null && (x[O] = {}), x = x[O]) : x[O] = g.value } }, tr = function (g) { for (var x = g.map, T = g.keys, A = T.length, I = 0; I < A; I++) { var O = T[I]; if (ht(O)) throw Error("Tried to get map with object key"); if (x = x[O], x == null) return x } return x }; function ur(y) { var g = typeof y; return y != null && (g == "object" || g == "function") } var gn = ur, En = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof b0 < "u" ? b0 : typeof self < "u" ? self : {}; function Dr(y, g) { return g = { exports: {} }, y(g, g.exports), g.exports } var hr = typeof En == "object" && En && En.Object === Object && En, Ki = hr, Is = typeof self == "object" && self && self.Object === Object && self, Ha = Ki || Is || Function("return this")(), hi = Ha, qi = function () { return hi.Date.now() }, zn = qi, Zn = /\s/; function Pr(y) { for (var g = y.length; g-- && Zn.test(y.charAt(g));); return g } var On = Pr, xi = /^\s+/; function In(y) { return y && y.slice(0, On(y) + 1).replace(xi, "") } var rc = In, qn = hi.Symbol, ss = qn, Aa = Object.prototype, Ya = Aa.hasOwnProperty, Ea = Aa.toString, ga = ss ? ss.toStringTag : void 0; function Es(y) { var g = Ya.call(y, ga), x = y[ga]; try { y[ga] = void 0; var T = !0 } catch { } var A = Ea.call(y); return T && (g ? y[ga] = x : delete y[ga]), A } var Bs = Es, Ta = Object.prototype, La = Ta.toString; function Va(y) { return La.call(y) } var sv = Va, rl = "[object Null]", mu = "[object Undefined]", As = ss ? ss.toStringTag : void 0; function gp(y) { return y == null ? y === void 0 ? mu : rl : As && As in Object(y) ? Bs(y) : sv(y) } var sd = gp; function Rl(y) { return y != null && typeof y == "object" } var $u = Rl, Gi = "[object Symbol]"; function He(y) { return typeof y == "symbol" || $u(y) && sd(y) == Gi } var Er = He, ci = 0 / 0, Xa = /^[-+]0x[0-9a-f]+$/i, kc = /^0b[01]+$/i, yu = /^0o[0-7]+$/i, mo = parseInt; function xu(y) { if (typeof y == "number") return y; if (Er(y)) return ci; if (gn(y)) { var g = typeof y.valueOf == "function" ? y.valueOf() : y; y = gn(g) ? g + "" : g } if (typeof y != "string") return y === 0 ? y : +y; y = rc(y); var x = kc.test(y); return x || yu.test(y) ? mo(y.slice(2), x ? 2 : 8) : Xa.test(y) ? ci : +y } var cf = xu, x3 = "Expected a function", v1 = Math.max, k3 = Math.min; function bL(y, g, x) { var T, A, I, O, $, z, S = 0, V = !1, U = !1, tt = !0; if (typeof y != "function") throw new TypeError(x3); g = cf(g) || 0, gn(x) && (V = !!x.leading, U = "maxWait" in x, I = U ? v1(cf(x.maxWait) || 0, g) : I, tt = "trailing" in x ? !!x.trailing : tt); function at(Kt) { var $t = T, ee = A; return T = A = void 0, S = Kt, O = y.apply(ee, $t), O } function ut(Kt) { return S = Kt, $ = setTimeout(xt, g), V ? at(Kt) : O } function dt(Kt) { var $t = Kt - z, ee = Kt - S, Ht = g - $t; return U ? k3(Ht, I - ee) : Ht } function At(Kt) { var $t = Kt - z, ee = Kt - S; return z === void 0 || $t >= g || $t < 0 || U && ee >= I } function xt() { var Kt = zn(); if (At(Kt)) return Mt(Kt); $ = setTimeout(xt, dt(Kt)) } function Mt(Kt) { return $ = void 0, tt && T ? at(Kt) : (T = A = void 0, O) } function Dt() { $ !== void 0 && clearTimeout($), S = 0, T = z = A = $ = void 0 } function Bt() { return $ === void 0 ? O : Mt(zn()) } function Zt() { var Kt = zn(), $t = At(Kt); if (T = arguments, A = this, z = Kt, $t) { if ($ === void 0) return ut(z); if (U) return clearTimeout($), $ = setTimeout(xt, g), at(z) } return $ === void 0 && ($ = setTimeout(xt, g)), O } return Zt.cancel = Dt, Zt.flush = Bt, Zt } var um = bL, dg = R ? R.performance : null, cs = dg && dg.now ? function () { return dg.now() } : function () { return Date.now() }, zs = function () { if (R) { if (R.requestAnimationFrame) return function (y) { R.requestAnimationFrame(y) }; if (R.mozRequestAnimationFrame) return function (y) { R.mozRequestAnimationFrame(y) }; if (R.webkitRequestAnimationFrame) return function (y) { R.webkitRequestAnimationFrame(y) }; if (R.msRequestAnimationFrame) return function (y) { R.msRequestAnimationFrame(y) } } return function (y) { y && setTimeout(function () { y(cs()) }, 1e3 / 60) } }(), Ma = function (g) { return zs(g) }, Ei = cs, Rc = 9261, Ne = 65599, pp = 5381, We = function (g) { for (var x = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Rc, T = x, A; A = g.next(), !A.done;)T = T * Ne + A.value | 0; return T }, uf = function (g) { var x = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Rc; return x * Ne + g | 0 }, lm = function (g) { var x = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : pp; return (x << 5) + x + g | 0 }, EE = function (g, x) { return g * 2097152 + x }, bp = function (g) { return g[0] * 2097152 + g[1] }, B5 = function (g, x) { return [uf(g[0], x[0]), lm(g[1], x[1])] }, ah = function (g, x) { var T = { value: 0, done: !1 }, A = 0, I = g.length, O = { next: function () { return A < I ? T.value = g[A++] : T.done = !0, T } }; return We(O, x) }, ad = function (g, x) { var T = { value: 0, done: !1 }, A = 0, I = g.length, O = { next: function () { return A < I ? T.value = g.charCodeAt(A++) : T.done = !0, T } }; return We(O, x) }, R5 = function () { return j5(arguments) }, j5 = function (g) { for (var x, T = 0; T < g.length; T++) { var A = g[T]; T === 0 ? x = ad(A) : x = ad(A, x) } return x }, TE = !0, vL = console.warn != null, w1 = console.trace != null, vp = Number.MAX_SAFE_INTEGER || 9007199254740991, od = function () { return !0 }, hm = function () { return !1 }, av = function () { return 0 }, fm = function () { }, Ec = function (g) { throw new Error(g) }, gk = function (g) { if (g !== void 0) TE = !!g; else return TE }, Wo = function (g) { gk() && (vL ?  { for (x = g = ""; g++ < 36; x += g * 51 & 52 ? (g ^ 15 ? 8 ^ Math.random() * (g ^ 20 ? 16 : 4) : 4).toString(16) : "-"); return x }, zK = {}, jP = function () { return zK }, Hf = function (g) { var x = Object.keys(g); return function (T) { for (var A = {}, I = 0; I < x.length; I++) { var O = x[I], $ = T == null ? void 0 : T[O]; A[O] = $ === void 0 ? g[O] : $ } return A } }, dm = function (g, x, T) { for (var A = g.length - 1; A >= 0 && !(g[A] === x && (g.splice(A, 1), T)); A--); }, wL = function (g) { g.splice(0, g.length) }, $P = function (g, x) { for (var T = 0; T < x.length; T++) { var A = x[T]; g.push(A) } }, wp = function (g, x, T) { return T && (x = _e(T, x)), g[x] }, gm = function (g, x, T, A) { T && (x = _e(T, x)), g[x] = A }, qK = function () { function y() { p(this, y), this._obj = {} } return m(y, [{ key: "set", value: function (x, T) { return this._obj[x] = T, this } }, { key: "delete", value: function (x) { return this._obj[x] = void 0, this } }, { key: "clear", value: function () { this._obj = {} } }, { key: "has", value: function (x) { return this._obj[x] !== void 0 } }, { key: "get", value: function (x) { return this._obj[x] } }]), y }(), j2 = typeof Map < "u" ? Map : qK, HK = "undefined", VK = function () { function y(g) { if (p(this, y), this._obj = Object.create(null), this.size = 0, g != null) { var x; g.instanceString != null && g.instanceString() === this.instanceString() ? x = g.toArray() : x = g; for (var T = 0; T < x.length; T++)this.add(x[T]) } } return m(y, [{ key: "instanceString", value: function () { return "set" } }, { key: "add", value: function (x) { var T = this._obj; T[x] !== 1 && (T[x] = 1, this.size++) } }, { key: "delete", value: function (x) { var T = this._obj; T[x] === 1 && (T[x] = 0, this.size--) } }, { key: "clear", value: function () { this._obj = Object.create(null) } }, { key: "has", value: function (x) { return this._obj[x] === 1 } }, { key: "toArray", value: function () { var x = this; return Object.keys(this._obj).filter(function (T) { return x.has(T) }) } }, { key: "forEach", value: function (x, T) { return this.toArray().forEach(x, T) } }]), y }(), $5 = (typeof Set > "u" ? "undefined" : f(Set)) !== HK ? Set : VK, CE = function (g, x) { var T = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0; if (g === void 0 || x === void 0 || !Rt(g)) { Ec("An element must have a core reference and parameters set"); return } var A = x.group; if (A == null && (x.data && x.data.source != null && x.data.target != null ? A = "edges" : A = "nodes"), A !== "nodes" && A !== "edges") { Ec("An element must be of type `nodes` or `edges`; you specified `" + A + "`"); return } this.length = 1, this[0] = this; var I = this._private = { cy: g, single: !0, data: x.data || {}, position: x.position || { x: 0, y: 0 }, autoWidth: void 0, autoHeight: void 0, autoPadding: void 0, compoundBoundsClean: !1, listeners: [], group: A, style: {}, rstyle: {}, styleCxts: [], styleKeys: {}, removed: !0, selected: !!x.selected, selectable: x.selectable === void 0 ? !0 : !!x.selectable, locked: !!x.locked, grabbed: !1, grabbable: x.grabbable === void 0 ? !0 : !!x.grabbable, pannable: x.pannable === void 0 ? A === "edges" : !!x.pannable, active: !1, classes: new $5, animation: { current: [], queue: [] }, rscratch: {}, scratch: x.scratch || {}, edges: [], children: [], parent: x.parent && x.parent.isNode() ? x.parent : null, traversalCache: {}, backgrounding: !1, bbCache: null, bbCacheShift: { x: 0, y: 0 }, bodyBounds: null, overlayBounds: null, labelBounds: { all: null, source: null, target: null, main: null }, arrowBounds: { source: null, target: null, "mid-source": null, "mid-target": null } }; if (I.position.x == null && (I.position.x = 0), I.position.y == null && (I.position.y = 0), x.renderedPosition) { var O = x.renderedPosition, $ = g.pan(), z = g.zoom(); I.position = { x: (O.x - $.x) / z, y: (O.y - $.y) / z } } var S = []; yt(x.classes) ? S = x.classes : Tt(x.classes) && (S = x.classes.split(/\s+/)); for (var V = 0, U = S.length; V < U; V++) { var tt = S[V]; !tt || tt === "" || I.classes.add(tt) } this.createEmitter(); var at = x.style || x.css; at && (Wo("Setting a `style` bypass at element creation should be done only when absolutely necessary.  Try to use the stylesheet instead."), this.style(at)), (T === void 0 || T) && this.restore() }, zP = function (g) { return g = { bfs: g.bfs || !g.dfs, dfs: g.dfs || !g.bfs }, function (T, A, I) { var O; ht(T) && !lt(T) && (O = T, T = O.roots || O.root, A = O.visit, I = O.directed), I = arguments.length === 2 && !kt(A) ? A : I, A = kt(A) ? A : function () { }; for (var $ = this._private.cy, z = T = Tt(T) ? this.filter(T) : T, S = [], V = [], U = {}, tt = {}, at = {}, ut = 0, dt, At = this.byGroup(), xt = At.nodes, Mt = At.edges, Dt = 0; Dt < z.length; Dt++) { var Bt = z[Dt], Zt = Bt.id(); Bt.isNode() && (S.unshift(Bt), g.bfs && (at[Zt] = !0, V.push(Bt)), tt[Zt] = 0) } for (var Kt = function () { var Pe = g.bfs ? S.shift() : S.pop(), ve = Pe.id(); if (g.dfs) { if (at[ve]) return "continue"; at[ve] = !0, V.push(Pe) } var fn = tt[ve], $e = U[ve], qe = $e != null ? $e.source() : null, xn = $e != null ? $e.target() : null, Nn = $e == null ? void 0 : Pe.same(qe) ? xn[0] : qe[0], er = void 0; if (er = A(Pe, $e, Nn, ut++, fn), er === !0) return dt = Pe, "break"; if (er === !1) return "break"; for (var Sn = Pe.connectedEdges().filter(function (cr) { return (!I || cr.source().same(Pe)) && Mt.has(cr) }), Jn = 0; Jn < Sn.length; Jn++) { var fr = Sn[Jn], Sr = fr.connectedNodes().filter(function (cr) { return !cr.same(Pe) && xt.has(cr) }), wr = Sr.id(); Sr.length !== 0 && !at[wr] && (Sr = Sr[0], S.push(Sr), g.bfs && (at[wr] = !0, V.push(Sr)), U[wr] = fr, tt[wr] = tt[ve] + 1) } }; S.length !== 0;) { var $t = Kt(); if ($t !== "continue" && $t === "break") break } for (var ee = $.collection(), Ht = 0; Ht < V.length; Ht++) { var ge = V[Ht], be = U[ge.id()]; be != null && ee.push(be), ee.push(ge) } return { path: $.collection(ee), found: $.collection(dt) } } }, bk = { breadthFirstSearch: zP({ bfs: !0 }), depthFirstSearch: zP({ dfs: !0 }) }; bk.bfs = bk.breadthFirstSearch, bk.dfs = bk.depthFirstSearch; var GK = Dr(function (y, g) { (function () { var x, T, A, I, O, $, z, S, V, U, tt, at, ut, dt, At; A = Math.floor, U = Math.min, T = function (xt, Mt) { return xt < Mt ? -1 : xt > Mt ? 1 : 0 }, V = function (xt, Mt, Dt, Bt, Zt) { var Kt; if (Dt == null && (Dt = 0), Zt == null && (Zt = T), Dt < 0) throw new Error("lo must be non-negative"); for (Bt == null && (Bt = xt.length); Dt < Bt;)Kt = A((Dt + Bt) / 2), Zt(Mt, xt[Kt]) < 0 ? Bt = Kt : Dt = Kt + 1; return [].splice.apply(xt, [Dt, Dt - Dt].concat(Mt)), Mt }, $ = function (xt, Mt, Dt) { return Dt == null && (Dt = T), xt.push(Mt), dt(xt, 0, xt.length - 1, Dt) }, O = function (xt, Mt) { var Dt, Bt; return Mt == null && (Mt = T), Dt = xt.pop(), xt.length ? (Bt = xt[0], xt[0] = Dt, At(xt, 0, Mt)) : Bt = Dt, Bt }, S = function (xt, Mt, Dt) { var Bt; return Dt == null && (Dt = T), Bt = xt[0], xt[0] = Mt, At(xt, 0, Dt), Bt }, z = function (xt, Mt, Dt) { var Bt; return Dt == null && (Dt = T), xt.length && Dt(xt[0], Mt) < 0 && (Bt = [xt[0], Mt], Mt = Bt[0], xt[0] = Bt[1], At(xt, 0, Dt)), Mt }, I = function (xt, Mt) { var Dt, Bt, Zt, Kt, $t, ee; for (Mt == null && (Mt = T), Kt = function () { ee = []; for (var Ht = 0, ge = A(xt.length / 2); 0 <= ge ? Ht < ge : Ht > ge; 0 <= ge ? Ht++ : Ht--)ee.push(Ht); return ee }.apply(this).reverse(), $t = [], Bt = 0, Zt = Kt.length; Bt < Zt; Bt++)Dt = Kt[Bt], $t.push(At(xt, Dt, Mt)); return $t }, ut = function (xt, Mt, Dt) { var Bt; if (Dt == null && (Dt = T), Bt = xt.indexOf(Mt), Bt !== -1) return dt(xt, 0, Bt, Dt), At(xt, Bt, Dt) }, tt = function (xt, Mt, Dt) { var Bt, Zt, Kt, $t, ee; if (Dt == null && (Dt = T), Zt = xt.slice(0, Mt), !Zt.length) return Zt; for (I(Zt, Dt), ee = xt.slice(Mt), Kt = 0, $t = ee.length; Kt < $t; Kt++)Bt = ee[Kt], z(Zt, Bt, Dt); return Zt.sort(Dt).reverse() }, at = function (xt, Mt, Dt) { var Bt, Zt, Kt, $t, ee, Ht, ge, be, re; if (Dt == null && (Dt = T), Mt * 10 <= xt.length) { if (Kt = xt.slice(0, Mt).sort(Dt), !Kt.length) return Kt; for (Zt = Kt[Kt.length - 1], ge = xt.slice(Mt), $t = 0, Ht = ge.length; $t < Ht; $t++)Bt = ge[$t], Dt(Bt, Zt) < 0 && (V(Kt, Bt, 0, null, Dt), Kt.pop(), Zt = Kt[Kt.length - 1]); return Kt } for (I(xt, Dt), re = [], ee = 0, be = U(Mt, xt.length); 0 <= be ? ee < be : ee > be; 0 <= be ? ++ee : --ee)re.push(O(xt, Dt)); return re }, dt = function (xt, Mt, Dt, Bt) { var Zt, Kt, $t; for (Bt == null && (Bt = T), Zt = xt[Dt]; Dt > Mt;) { if ($t = Dt - 1 >> 1, Kt = xt[$t], Bt(Zt, Kt) < 0) { xt[Dt] = Kt, Dt = $t; continue } break } return xt[Dt] = Zt }, At = function (xt, Mt, Dt) { var Bt, Zt, Kt, $t, ee; for (Dt == null && (Dt = T), Zt = xt.length, ee = Mt, Kt = xt[Mt], Bt = 2 * Mt + 1; Bt < Zt;)$t = Bt + 1, $t < Zt && !(Dt(xt[Bt], xt[$t]) < 0) && (Bt = $t), xt[Mt] = xt[Bt], Mt = Bt, Bt = 2 * Mt + 1; return xt[Mt] = Kt, dt(xt, ee, Mt, Dt) }, x = function () { xt.push = $, xt.pop = O, xt.replace = S, xt.pushpop = z, xt.heapify = I, xt.updateItem = ut, xt.nlargest = tt, xt.nsmallest = at; function xt(Mt) { this.cmp = Mt ?? T, this.nodes = [] } return xt.prototype.push = function (Mt) { return $(this.nodes, Mt, this.cmp) }, xt.prototype.pop = function () { return O(this.nodes, this.cmp) }, xt.prototype.peek = function () { return this.nodes[0] }, xt.prototype.contains = function (Mt) { return this.nodes.indexOf(Mt) !== -1 }, xt.prototype.replace = function (Mt) { return S(this.nodes, Mt, this.cmp) }, xt.prototype.pushpop = function (Mt) { return z(this.nodes, Mt, this.cmp) }, xt.prototype.heapify = function () { return I(this.nodes, this.cmp) }, xt.prototype.updateItem = function (Mt) { return ut(this.nodes, Mt, this.cmp) }, xt.prototype.clear = function () { return this.nodes = [] }, xt.prototype.empty = function () { return this.nodes.length === 0 }, xt.prototype.size = function () { return this.nodes.length }, xt.prototype.clone = function () { var Mt; return Mt = new xt, Mt.nodes = this.nodes.slice(0), Mt }, xt.prototype.toArray = function () { return this.nodes.slice(0) }, xt.prototype.insert = xt.prototype.push, xt.prototype.top = xt.prototype.peek, xt.prototype.front = xt.prototype.peek, xt.prototype.has = xt.prototype.contains, xt.prototype.copy = xt.prototype.clone, xt }(), function (xt, Mt) { return y.exports = Mt() }(this, function () { return x }) }).call(En) }), vk = GK, UK = Hf({ root: null, weight: function (g) { return 1 }, directed: !1 }), WK = { dijkstra: function (g) { if (!ht(g)) { var x = arguments; g = { root: x[0], weight: x[1], directed: x[2] } } var T = UK(g), A = T.root, I = T.weight, O = T.directed, $ = this, z = I, S = Tt(A) ? this.filter(A)[0] : A[0], V = {}, U = {}, tt = {}, at = this.byGroup(), ut = at.nodes, dt = at.edges; dt.unmergeBy(function (fn) { return fn.isLoop() }); for (var At = function ($e) { return V[$e.id()] }, xt = function ($e, qe) { V[$e.id()] = qe, Mt.updateItem($e) }, Mt = new vk(function (fn, $e) { return At(fn) - At($e) }), Dt = 0; Dt < ut.length; Dt++) { var Bt = ut[Dt]; V[Bt.id()] = Bt.same(S) ? 0 : 1 / 0, Mt.push(Bt) } for (var Zt = function ($e, qe) { for (var xn = (O ? $e.edgesTo(qe) : $e.edgesWith(qe)).intersect(dt), Nn = 1 / 0, er, Sn = 0; Sn < xn.length; Sn++) { var Jn = xn[Sn], fr = z(Jn); (fr < Nn || !er) && (Nn = fr, er = Jn) } return { edge: er, dist: Nn } }; Mt.size() > 0;) { var Kt = Mt.pop(), $t = At(Kt), ee = Kt.id(); if (tt[ee] = $t, $t !== 1 / 0) for (var Ht = Kt.neighborhood().intersect(ut), ge = 0; ge < Ht.length; ge++) { var be = Ht[ge], re = be.id(), Pe = Zt(Kt, be), ve = $t + Pe.dist; ve < At(be) && (xt(be, ve), U[re] = { node: Kt, edge: Pe.edge }) } } return { distanceTo: function ($e) { var qe = Tt($e) ? ut.filter($e)[0] : $e[0]; return tt[qe.id()] }, pathTo: function ($e) { var qe = Tt($e) ? ut.filter($e)[0] : $e[0], xn = [], Nn = qe, er = Nn.id(); if (qe.length > 0) for (xn.unshift(qe); U[er];) { var Sn = U[er]; xn.unshift(Sn.edge), xn.unshift(Sn.node), Nn = Sn.node, er = Nn.id() } return $.spawn(xn) } } } }, KK = { kruskal: function (g) { g = g || function (Dt) { return 1 }; for (var x = this.byGroup(), T = x.nodes, A = x.edges, I = T.length, O = new Array(I), $ = T, z = function (Bt) { for (var Zt = 0; Zt < O.length; Zt++) { var Kt = O[Zt]; if (Kt.has(Bt)) return Zt } }, S = 0; S < I; S++)O[S] = this.spawn(T[S]); for (var V = A.sort(function (Dt, Bt) { return g(Dt) - g(Bt) }), U = 0; U < V.length; U++) { var tt = V[U], at = tt.source()[0], ut = tt.target()[0], dt = z(at), At = z(ut), xt = O[dt], Mt = O[At]; dt !== At && ($.merge(tt), xt.merge(Mt), O.splice(At, 1)) } return $ } }, YK = Hf({ root: null, goal: null, weight: function (g) { return 1 }, heuristic: function (g) { return 0 }, directed: !1 }), XK = { aStar: function (g) { var x = this.cy(), T = YK(g), A = T.root, I = T.goal, O = T.heuristic, $ = T.directed, z = T.weight; A = x.collection(A)[0], I = x.collection(I)[0]; var S = A.id(), V = I.id(), U = {}, tt = {}, at = {}, ut = new vk(function (er, Sn) { return tt[er.id()] - tt[Sn.id()] }), dt = new $5, At = {}, xt = {}, Mt = function (Sn, Jn) { ut.push(Sn), dt.add(Jn) }, Dt, Bt, Zt = function () { Dt = ut.pop(), Bt = Dt.id(), dt.delete(Bt) }, Kt = function (Sn) { return dt.has(Sn) }; Mt(A, S), U[S] = 0, tt[S] = O(A); for (var $t = 0; ut.size() > 0;) { if (Zt(), $t++, Bt === V) { for (var ee = [], Ht = I, ge = V, be = xt[ge]; ee.unshift(Ht), be != null && ee.unshift(be), Ht = At[ge], Ht != null;)ge = Ht.id(), be = xt[ge]; return { found: !0, distance: U[Bt], path: this.spawn(ee), steps: $t } } at[Bt] = !0; for (var re = Dt._private.edges, Pe = 0; Pe < re.length; Pe++) { var ve = re[Pe]; if (this.hasElementWithId(ve.id()) && !($ && ve.data("source") !== Bt)) { var fn = ve.source(), $e = ve.target(), qe = fn.id() !== Bt ? fn : $e, xn = qe.id(); if (this.hasElementWithId(xn) && !at[xn]) { var Nn = U[Bt] + z(ve); if (!Kt(xn)) { U[xn] = Nn, tt[xn] = Nn + O(qe), Mt(qe, xn), At[xn] = Dt, xt[xn] = ve; continue } Nn < U[xn] && (U[xn] = Nn, tt[xn] = Nn + O(qe), At[xn] = Dt, xt[xn] = ve) } } } } return { found: !1, distance: void 0, path: void 0, steps: $t } } }, QK = Hf({ weight: function (g) { return 1 }, directed: !1 }), ZK = { floydWarshall: function (g) { for (var x = this.cy(), T = QK(g), A = T.weight, I = T.directed, O = A, $ = this.byGroup(), z = $.nodes, S = $.edges, V = z.length, U = V * V, tt = function (fr) { return z.indexOf(fr) }, at = function (fr) { return z[fr] }, ut = new Array(U), dt = 0; dt < U; dt++) { var At = dt % V, xt = (dt - At) / V; xt === At ? ut[dt] = 0 : ut[dt] = 1 / 0 } for (var Mt = new Array(U), Dt = new Array(U), Bt = 0; Bt < S.length; Bt++) { var Zt = S[Bt], Kt = Zt.source()[0], $t = Zt.target()[0]; if (Kt !== $t) { var ee = tt(Kt), Ht = tt($t), ge = ee * V + Ht, be = O(Zt); if (ut[ge] > be && (ut[ge] = be, Mt[ge] = Ht, Dt[ge] = Zt), !I) { var re = Ht * V + ee; !I && ut[re] > be && (ut[re] = be, Mt[re] = ee, Dt[re] = Zt) } } } for (var Pe = 0; Pe < V; Pe++)for (var ve = 0; ve < V; ve++)for (var fn = ve * V + Pe, $e = 0; $e < V; $e++) { var qe = ve * V + $e, xn = Pe * V + $e; ut[fn] + ut[xn] < ut[qe] && (ut[qe] = ut[fn] + ut[xn], Mt[qe] = Mt[fn]) } var Nn = function (fr) { return (Tt(fr) ? x.filter(fr) : fr)[0] }, er = function (fr) { return tt(Nn(fr)) }, Sn = { distance: function (fr, Sr) { var wr = er(fr), cr = er(Sr); return ut[wr * V + cr] }, path: function (fr, Sr) { var wr = er(fr), cr = er(Sr), bn = at(wr); if (wr === cr) return bn.collection(); if (Mt[wr * V + cr] == null) return x.collection(); var Tr = x.collection(), xr = wr, fi; for (Tr.merge(bn); wr !== cr;)xr = wr, wr = Mt[wr * V + cr], fi = Dt[xr * V + wr], Tr.merge(fi), Tr.merge(at(wr)); return Tr } }; return Sn } }, JK = Hf({ weight: function (g) { return 1 }, directed: !1, root: null }), tY = { bellmanFord: function (g) { var x = this, T = JK(g), A = T.weight, I = T.directed, O = T.root, $ = A, z = this, S = this.cy(), V = this.byGroup(), U = V.edges, tt = V.nodes, at = tt.length, ut = new j2, dt = !1, At = []; O = S.collection(O)[0], U.unmergeBy(function (es) { return es.isLoop() }); for (var xt = U.length, Mt = function (Ri) { var as = ut.get(Ri.id()); return as || (as = {}, ut.set(Ri.id(), as)), as }, Dt = function (Ri) { return (Tt(Ri) ? S.$(Ri) : Ri)[0] }, Bt = function (Ri) { return Mt(Dt(Ri)).dist }, Zt = function (Ri) { for (var as = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : O, no = Dt(Ri), ca = [], ea = no; ;) { if (ea == null) return x.spawn(); var Fr = Mt(ea), Qt = Fr.edge, Hn = Fr.pred; if (ca.unshift(ea[0]), ea.same(as) && ca.length > 0) break; Qt != null && ca.unshift(Qt), ea = Hn } return z.spawn(ca) }, Kt = 0; Kt < at; Kt++) { var $t = tt[Kt], ee = Mt($t); $t.same(O) ? ee.dist = 0 : ee.dist = 1 / 0, ee.pred = null, ee.edge = null } for (var Ht = !1, ge = function (Ri, as, no, ca, ea, Fr) { var Qt = ca.dist + Fr; Qt < ea.dist && !no.same(ca.edge) && (ea.dist = Qt, ea.pred = Ri, ea.edge = no, Ht = !0) }, be = 1; be < at; be++) { Ht = !1; for (var re = 0; re < xt; re++) { var Pe = U[re], ve = Pe.source(), fn = Pe.target(), $e = $(Pe), qe = Mt(ve), xn = Mt(fn); ge(ve, fn, Pe, qe, xn, $e), I || ge(fn, ve, Pe, xn, qe, $e) } if (!Ht) break } if (Ht) for (var Nn = [], er = 0; er < xt; er++) { var Sn = U[er], Jn = Sn.source(), fr = Sn.target(), Sr = $(Sn), wr = Mt(Jn).dist, cr = Mt(fr).dist; if (wr + Sr < cr || !I && cr + Sr < wr) if (dt || (Wo("Graph contains a negative weight cycle for Bellman-Ford"), dt = !0), g.findNegativeWeightCycles !== !1) { var bn = []; wr + Sr < cr && bn.push(Jn), !I && cr + Sr < wr && bn.push(fr); for (var Tr = bn.length, xr = 0; xr < Tr; xr++) { var fi = bn[xr], Ii = [fi]; Ii.push(Mt(fi).edge); for (var oa = Mt(fi).pred; Ii.indexOf(oa) === -1;)Ii.push(oa), Ii.push(Mt(oa).edge), oa = Mt(oa).pred; Ii = Ii.slice(Ii.indexOf(oa)); for (var Fa = Ii[0].id(), Fi = 0, Ci = 2; Ci < Ii.length; Ci += 2)Ii[Ci].id() < Fa && (Fa = Ii[Ci].id(), Fi = Ci); Ii = Ii.slice(Fi).concat(Ii.slice(0, Fi)), Ii.push(Ii[0]); var Ls = Ii.map(function (es) { return es.id() }).join(","); Nn.indexOf(Ls) === -1 && (At.push(z.spawn(Ii)), Nn.push(Ls)) } } else break } return { distanceTo: Bt, pathTo: Zt, hasNegativeWeightCycle: dt, negativeWeightCycles: At } } }, eY = Math.sqrt(2), nY = function (g, x, T) { T.length === 0 && Ec("Karger-Stein must be run on a connected (sub)graph"); for (var A = T[g], I = A[1], O = A[2], $ = x[I], z = x[O], S = T, V = S.length - 1; V >= 0; V--) { var U = S[V], tt = U[1], at = U[2]; (x[tt] === $ && x[at] === z || x[tt] === z && x[at] === $) && S.splice(V, 1) } for (var ut = 0; ut < S.length; ut++) { var dt = S[ut]; dt[1] === z ? (S[ut] = dt.slice(), S[ut][1] = $) : dt[2] === z && (S[ut] = dt.slice(), S[ut][2] = $) } for (var At = 0; At < x.length; At++)x[At] === z && (x[At] = $); return S }, mL = function (g, x, T, A) { for (; T > A;) { var I = Math.floor(Math.random() * x.length); x = nY(I, g, x), T-- } return x }, rY = { kargerStein: function () { var g = this, x = this.byGroup(), T = x.nodes, A = x.edges; A.unmergeBy(function (xn) { return xn.isLoop() }); var I = T.length, O = A.length, $ = Math.ceil(Math.pow(Math.log(I) / Math.LN2, 2)), z = Math.floor(I / eY); if (I < 2) { Ec("At least 2 nodes are required for Karger-Stein algorithm"); return } for (var S = [], V = 0; V < O; V++) { var U = A[V]; S.push([V, T.indexOf(U.source()), T.indexOf(U.target())]) } for (var tt = 1 / 0, at = [], ut = new Array(I), dt = new Array(I), At = new Array(I), xt = function (Nn, er) { for (var Sn = 0; Sn < I; Sn++)er[Sn] = Nn[Sn] }, Mt = 0; Mt <= $; Mt++) { for (var Dt = 0; Dt < I; Dt++)dt[Dt] = Dt; var Bt = mL(dt, S.slice(), I, z), Zt = Bt.slice(); xt(dt, At); var Kt = mL(dt, Bt, z, 2), $t = mL(At, Zt, z, 2); Kt.length <= $t.length && Kt.length < tt ? (tt = Kt.length, at = Kt, xt(dt, ut)) : $t.length <= Kt.length && $t.length < tt && (tt = $t.length, at = $t, xt(At, ut)) } for (var ee = this.spawn(at.map(function (xn) { return A[xn[0]] })), Ht = this.spawn(), ge = this.spawn(), be = ut[0], re = 0; re < ut.length; re++) { var Pe = ut[re], ve = T[re]; Pe === be ? Ht.merge(ve) : ge.merge(ve) } var fn = function (Nn) { var er = g.spawn(); return Nn.forEach(function (Sn) { er.merge(Sn), Sn.connectedEdges().forEach(function (Jn) { g.contains(Jn) && !ee.contains(Jn) && er.merge(Jn) }) }), er }, $e = [fn(Ht), fn(ge)], qe = { cut: ee, components: $e, partition1: Ht, partition2: ge }; return qe } }, iY = function (g) { return { x: g.x, y: g.y } }, SE = function (g, x, T) { return { x: g.x * x + T.x, y: g.y * x + T.y } }, qP = function (g, x, T) { return { x: (g.x - T.x) / x, y: (g.y - T.y) / x } }, z5 = function (g) { return { x: g[0], y: g[1] } }, sY = function (g) { for (var x = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, T = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : g.length, A = 1 / 0, I = x; I < T; I++) { var O = g[I]; isFinite(O) && (A = Math.min(O, A)) } return A }, aY = function (g) { for (var x = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, T = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : g.length, A = -1 / 0, I = x; I < T; I++) { var O = g[I]; isFinite(O) && (A = Math.max(O, A)) } return A }, oY = function (g) { for (var x = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, T = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : g.length, A = 0, I = 0, O = x; O < T; O++) { var $ = g[O]; isFinite($) && (A += $, I++) } return A / I }, cY = function (g) { var x = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, T = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : g.length, A = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, I = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, O = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0; A ? g = g.slice(x, T) : (T < g.length && g.splice(T, g.length - T), x > 0 && g.splice(0, x)); for (var $ = 0, z = g.length - 1; z >= 0; z--) { var S = g[z]; O ? isFinite(S) || (g[z] = -1 / 0, $++) : g.splice(z, 1) } I && g.sort(function (tt, at) { return tt - at }); var V = g.length, U = Math.floor(V / 2); return V % 2 !== 0 ? g[U + 1 + $] : (g[U - 1 + $] + g[U + $]) / 2 }, uY = function (g) { return Math.PI * g / 180 }, AE = function (g, x) { return Math.atan2(x, g) - Math.PI / 2 }, yL = Math.log2 || function (y) { return Math.log(y) / Math.log(2) }, HP = function (g) { return g > 0 ? 1 : g < 0 ? -1 : 0 }, E3 = function (g, x) { return Math.sqrt(T3(g, x)) }, T3 = function (g, x) { var T = x.x - g.x, A = x.y - g.y; return T * T + A * A }, lY = function (g) { for (var x = g.length, T = 0, A = 0; A < x; A++)T += g[A]; for (var I = 0; I < x; I++)g[I] = g[I] / T; return g }, lf = function (g, x, T, A) { return (1 - A) * (1 - A) * g + 2 * (1 - A) * A * x + A * A * T }, q5 = function (g, x, T, A) { return { x: lf(g.x, x.x, T.x, A), y: lf(g.y, x.y, T.y, A) } }, hY = function (g, x, T, A) { var I = { x: x.x - g.x, y: x.y - g.y }, O = E3(g, x), $ = { x: I.x / O, y: I.y / O }; return T = T ?? 0, A = A ?? T * O, { x: g.x + $.x * A, y: g.y + $.y * A } }, wk = function (g, x, T) { return Math.max(g, Math.min(T, x)) }, zd = function (g) { if (g == null) return { x1: 1 / 0, y1: 1 / 0, x2: -1 / 0, y2: -1 / 0, w: 0, h: 0 }; if (g.x1 != null && g.y1 != null) { if (g.x2 != null && g.y2 != null && g.x2 >= g.x1 && g.y2 >= g.y1) return { x1: g.x1, y1: g.y1, x2: g.x2, y2: g.y2, w: g.x2 - g.x1, h: g.y2 - g.y1 }; if (g.w != null && g.h != null && g.w >= 0 && g.h >= 0) return { x1: g.x1, y1: g.y1, x2: g.x1 + g.w, y2: g.y1 + g.h, w: g.w, h: g.h } } }, fY = function (g) { return { x1: g.x1, x2: g.x2, w: g.w, y1: g.y1, y2: g.y2, h: g.h } }, dY = function (g) { g.x1 = 1 / 0, g.y1 = 1 / 0, g.x2 = -1 / 0, g.y2 = -1 / 0, g.w = 0, g.h = 0 }, gY = function (g, x) { g.x1 = Math.min(g.x1, x.x1), g.x2 = Math.max(g.x2, x.x2), g.w = g.x2 - g.x1, g.y1 = Math.min(g.y1, x.y1), g.y2 = Math.max(g.y2, x.y2), g.h = g.y2 - g.y1 }, pY = function (g, x, T) { g.x1 = Math.min(g.x1, x), g.x2 = Math.max(g.x2, x), g.w = g.x2 - g.x1, g.y1 = Math.min(g.y1, T), g.y2 = Math.max(g.y2, T), g.h = g.y2 - g.y1 }, LE = function (g) { var x = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; return g.x1 -= x, g.x2 += x, g.y1 -= x, g.y2 += x, g.w = g.x2 - g.x1, g.h = g.y2 - g.y1, g }, xL = function (g) { var x = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [0], T, A, I, O; if (x.length === 1) T = A = I = O = x[0]; else if (x.length === 2) T = I = x[0], O = A = x[1]; else if (x.length === 4) { var $ = E(x, 4); T = $[0], A = $[1], I = $[2], O = $[3] } return g.x1 -= O, g.x2 += A, g.y1 -= T, g.y2 += I, g.w = g.x2 - g.x1, g.h = g.y2 - g.y1, g }, VP = function (g, x) { g.x1 = x.x1, g.y1 = x.y1, g.x2 = x.x2, g.y2 = x.y2, g.w = g.x2 - g.x1, g.h = g.y2 - g.y1 }, kL = function (g, x) { return !(g.x1 > x.x2 || x.x1 > g.x2 || g.x2 < x.x1 || x.x2 < g.x1 || g.y2 < x.y1 || x.y2 < g.y1 || g.y1 > x.y2 || x.y1 > g.y2) }, H5 = function (g, x, T) { return g.x1 <= x && x <= g.x2 && g.y1 <= T && T <= g.y2 }, bY = function (g, x) { return H5(g, x.x, x.y) }, GP = function (g, x) { return H5(g, x.x1, x.y1) && H5(g, x.x2, x.y2) }, UP = function (g, x, T, A, I, O, $) { var z = xk(I, O), S = I / 2, V = O / 2, U; { var tt = T - S + z - $, at = A - V - $, ut = T + S - z + $, dt = at; if (U = pm(g, x, T, A, tt, at, ut, dt, !1), U.length > 0) return U } { var At = T + S + $, xt = A - V + z - $, Mt = At, Dt = A + V - z + $; if (U = pm(g, x, T, A, At, xt, Mt, Dt, !1), U.length > 0) return U } { var Bt = T - S + z - $, Zt = A + V + $, Kt = T + S - z + $, $t = Zt; if (U = pm(g, x, T, A, Bt, Zt, Kt, $t, !1), U.length > 0) return U } { var ee = T - S - $, Ht = A - V + z - $, ge = ee, be = A + V - z + $; if (U = pm(g, x, T, A, ee, Ht, ge, be, !1), U.length > 0) return U } var re; { var Pe = T - S + z, ve = A - V + z; if (re = mk(g, x, T, A, Pe, ve, z + $), re.length > 0 && re[0] <= Pe && re[1] <= ve) return [re[0], re[1]] } { var fn = T + S - z, $e = A - V + z; if (re = mk(g, x, T, A, fn, $e, z + $), re.length > 0 && re[0] >= fn && re[1] <= $e) return [re[0], re[1]] } { var qe = T + S - z, xn = A + V - z; if (re = mk(g, x, T, A, qe, xn, z + $), re.length > 0 && re[0] >= qe && re[1] >= xn) return [re[0], re[1]] } { var Nn = T - S + z, er = A + V - z; if (re = mk(g, x, T, A, Nn, er, z + $), re.length > 0 && re[0] <= Nn && re[1] >= er) return [re[0], re[1]] } return [] }, vY = function (g, x, T, A, I, O, $) { var z = $, S = Math.min(T, I), V = Math.max(T, I), U = Math.min(A, O), tt = Math.max(A, O); return S - z <= g && g <= V + z && U - z <= x && x <= tt + z }, wY = function (g, x, T, A, I, O, $, z, S) { var V = { x1: Math.min(T, $, I) - S, x2: Math.max(T, $, I) + S, y1: Math.min(A, z, O) - S, y2: Math.max(A, z, O) + S }; return !(g < V.x1 || g > V.x2 || x < V.y1 || x > V.y2) }, mY = function (g, x, T, A) { T -= A; var I = x * x - 4 * g * T; if (I < 0) return []; var O = Math.sqrt(I), $ = 2 * g, z = (-x + O) / $, S = (-x - O) / $; return [z, S] }, yY = function (g, x, T, A, I) { var O = 1e-5; g === 0 && (g = O), x /= g, T /= g, A /= g; var $, z, S, V, U, tt, at, ut; if (z = (3 * T - x * x) / 9, S = -(27 * A) + x * (9 * T - 2 * (x * x)), S /= 54, $ = z * z * z + S * S, I[1] = 0, at = x / 3, $ > 0) { U = S + Math.sqrt($), U = U < 0 ? -Math.pow(-U, 1 / 3) : Math.pow(U, 1 / 3), tt = S - Math.sqrt($), tt = tt < 0 ? -Math.pow(-tt, 1 / 3) : Math.pow(tt, 1 / 3), I[0] = -at + U + tt, at += (U + tt) / 2, I[4] = I[2] = -at, at = Math.sqrt(3) * (-tt + U) / 2, I[3] = at, I[5] = -at; return } if (I[5] = I[3] = 0, $ === 0) { ut = S < 0 ? -Math.pow(-S, 1 / 3) : Math.pow(S, 1 / 3), I[0] = -at + 2 * ut, I[4] = I[2] = -(ut + at); return } z = -z, V = z * z * z, V = Math.acos(S / Math.sqrt(V)), ut = 2 * Math.sqrt(z), I[0] = -at + ut * Math.cos(V / 3), I[2] = -at + ut * Math.cos((V + 2 * Math.PI) / 3), I[4] = -at + ut * Math.cos((V + 4 * Math.PI) / 3) }, xY = function (g, x, T, A, I, O, $, z) { var S = 1 * T * T - 4 * T * I + 2 * T * $ + 4 * I * I - 4 * I * $ + $ * $ + A * A - 4 * A * O + 2 * A * z + 4 * O * O - 4 * O * z + z * z, V = 1 * 9 * T * I - 3 * T * T - 3 * T * $ - 6 * I * I + 3 * I * $ + 9 * A * O - 3 * A * A - 3 * A * z - 6 * O * O + 3 * O * z, U = 1 * 3 * T * T - 6 * T * I + T * $ - T * g + 2 * I * I + 2 * I * g - $ * g + 3 * A * A - 6 * A * O + A * z - A * x + 2 * O * O + 2 * O * x - z * x, tt = 1 * T * I - T * T + T * g - I * g + A * O - A * A + A * x - O * x, at = []; yY(S, V, U, tt, at); for (var ut = 1e-7, dt = [], At = 0; At < 6; At += 2)Math.abs(at[At + 1]) < ut && at[At] >= 0 && at[At] <= 1 && dt.push(at[At]); dt.push(1), dt.push(0); for (var xt = -1, Mt, Dt, Bt, Zt = 0; Zt < dt.length; Zt++)Mt = Math.pow(1 - dt[Zt], 2) * T + 2 * (1 - dt[Zt]) * dt[Zt] * I + dt[Zt] * dt[Zt] * $, Dt = Math.pow(1 - dt[Zt], 2) * A + 2 * (1 - dt[Zt]) * dt[Zt] * O + dt[Zt] * dt[Zt] * z, Bt = Math.pow(Mt - g, 2) + Math.pow(Dt - x, 2), xt >= 0 ? Bt < xt && (xt = Bt) : xt = Bt; return xt }, kY = function (g, x, T, A, I, O) { var $ = [g - T, x - A], z = [I - T, O - A], S = z[0] * z[0] + z[1] * z[1], V = $[0] * $[0] + $[1] * $[1], U = $[0] * z[0] + $[1] * z[1], tt = U * U / S; return U < 0 ? V : tt > S ? (g - I) * (g - I) + (x - O) * (x - O) : V - tt }, qd = function (g, x, T) { for (var A, I, O, $, z, S = 0, V = 0; V < T.length / 2; V++)if (A = T[V * 2], I = T[V * 2 + 1], V + 1 < T.length / 2 ? (O = T[(V + 1) * 2], $ = T[(V + 1) * 2 + 1]) : (O = T[(V + 1 - T.length / 2) * 2], $ = T[(V + 1 - T.length / 2) * 2 + 1]), !(A == g && O == g)) if (A >= g && g >= O || A <= g && g <= O) z = (g - A) / (O - A) * ($ - I) + I, z > x && S++; else continue; return S % 2 !== 0 }, ov = function (g, x, T, A, I, O, $, z, S) { var V = new Array(T.length), U; z[0] != null ? (U = Math.atan(z[1] / z[0]), z[0] < 0 ? U = U + Math.PI / 2 : U = -U - Math.PI / 2) : U = z; for (var tt = Math.cos(-U), at = Math.sin(-U), ut = 0; ut < V.length / 2; ut++)V[ut * 2] = O / 2 * (T[ut * 2] * tt - T[ut * 2 + 1] * at), V[ut * 2 + 1] = $ / 2 * (T[ut * 2 + 1] * tt + T[ut * 2] * at), V[ut * 2] += A, V[ut * 2 + 1] += I; var dt; if (S > 0) { var At = KP(V, -S); dt = WP(At) } else dt = V; return qd(g, x, dt) }, EY = function (g, x, T, A, I, O, $) { for (var z = new Array(T.length), S = O / 2, V = $ / 2, U = _L(O, $), tt = U * U, at = 0; at < T.length / 4; at++) { var ut = void 0, dt = void 0; at === 0 ? ut = T.length - 2 : ut = at * 4 - 2, dt = at * 4 + 2; var At = A + S * T[at * 4], xt = I + V * T[at * 4 + 1], Mt = -T[ut] * T[dt] - T[ut + 1] * T[dt + 1], Dt = U / Math.tan(Math.acos(Mt) / 2), Bt = At - Dt * T[ut], Zt = xt - Dt * T[ut + 1], Kt = At + Dt * T[dt], $t = xt + Dt * T[dt + 1]; z[at * 4] = Bt, z[at * 4 + 1] = Zt, z[at * 4 + 2] = Kt, z[at * 4 + 3] = $t; var ee = T[ut + 1], Ht = -T[ut], ge = ee * T[dt] + Ht * T[dt + 1]; ge < 0 && (ee *= -1, Ht *= -1); var be = Bt + ee * U, re = Zt + Ht * U, Pe = Math.pow(be - g, 2) + Math.pow(re - x, 2); if (Pe <= tt) return !0 } return qd(g, x, z) }, WP = function (g) { for (var x = new Array(g.length / 2), T, A, I, O, $, z, S, V, U = 0; U < g.length / 4; U++) { T = g[U * 4], A = g[U * 4 + 1], I = g[U * 4 + 2], O = g[U * 4 + 3], U < g.length / 4 - 1 ? ($ = g[(U + 1) * 4], z = g[(U + 1) * 4 + 1], S = g[(U + 1) * 4 + 2], V = g[(U + 1) * 4 + 3]) : ($ = g[0], z = g[1], S = g[2], V = g[3]); var tt = pm(T, A, I, O, $, z, S, V, !0); x[U * 2] = tt[0], x[U * 2 + 1] = tt[1] } return x }, KP = function (g, x) { for (var T = new Array(g.length * 2), A, I, O, $, z = 0; z < g.length / 2; z++) { A = g[z * 2], I = g[z * 2 + 1], z < g.length / 2 - 1 ? (O = g[(z + 1) * 2], $ = g[(z + 1) * 2 + 1]) : (O = g[0], $ = g[1]); var S = $ - I, V = -(O - A), U = Math.sqrt(S * S + V * V), tt = S / U, at = V / U; T[z * 4] = A + tt * x, T[z * 4 + 1] = I + at * x, T[z * 4 + 2] = O + tt * x, T[z * 4 + 3] = $ + at * x } return T }, TY = function (g, x, T, A, I, O) { var $ = T - g, z = A - x; $ /= I, z /= O; var S = Math.sqrt($ * $ + z * z), V = S - 1; if (V < 0) return []; var U = V / S; return [(T - g) * U + g, (A - x) * U + x] }, _3 = function (g, x, T, A, I, O, $) { return g -= I, x -= O, g /= T / 2 + $, x /= A / 2 + $, g * g + x * x <= 1 }, mk = function (g, x, T, A, I, O, $) { var z = [T - g, A - x], S = [g - I, x - O], V = z[0] * z[0] + z[1] * z[1], U = 2 * (S[0] * z[0] + S[1] * z[1]), tt = S[0] * S[0] + S[1] * S[1] - $ * $, at = U * U - 4 * V * tt; if (at < 0) return []; var ut = (-U + Math.sqrt(at)) / (2 * V), dt = (-U - Math.sqrt(at)) / (2 * V), At = Math.min(ut, dt), xt = Math.max(ut, dt), Mt = []; if (At >= 0 && At <= 1 && Mt.push(At), xt >= 0 && xt <= 1 && Mt.push(xt), Mt.length === 0) return []; var Dt = Mt[0] * z[0] + g, Bt = Mt[0] * z[1] + x; if (Mt.length > 1) { if (Mt[0] == Mt[1]) return [Dt, Bt]; var Zt = Mt[1] * z[0] + g, Kt = Mt[1] * z[1] + x; return [Dt, Bt, Zt, Kt] } else return [Dt, Bt] }, EL = function (g, x, T) { return x <= g && g <= T || T <= g && g <= x ? g : g <= x && x <= T || T <= x && x <= g ? x : T }, pm = function (g, x, T, A, I, O, $, z, S) { var V = g - I, U = T - g, tt = $ - I, at = x - O, ut = A - x, dt = z - O, At = tt * at - dt * V, xt = U * at - ut * V, Mt = dt * U - tt * ut; if (Mt !== 0) { var Dt = At / Mt, Bt = xt / Mt, Zt = .001, Kt = 0 - Zt, $t = 1 + Zt; return Kt <= Dt && Dt <= $t && Kt <= Bt && Bt <= $t ? [g + Dt * U, x + Dt * ut] : S ? [g + Dt * U, x + Dt * ut] : [] } else return At === 0 || xt === 0 ? EL(g, T, $) === $ ? [$, z] : EL(g, T, I) === I ? [I, O] : EL(I, $, T) === T ? [T, A] : [] : [] }, yk = function (g, x, T, A, I, O, $, z) { var S = [], V, U = new Array(T.length), tt = !0; O == null && (tt = !1); var at; if (tt) { for (var ut = 0; ut < U.length / 2; ut++)U[ut * 2] = T[ut * 2] * O + A, U[ut * 2 + 1] = T[ut * 2 + 1] * $ + I; if (z > 0) { var dt = KP(U, -z); at = WP(dt) } else at = U } else at = T; for (var At, xt, Mt, Dt, Bt = 0; Bt < at.length / 2; Bt++)At = at[Bt * 2], xt = at[Bt * 2 + 1], Bt < at.length / 2 - 1 ? (Mt = at[(Bt + 1) * 2], Dt = at[(Bt + 1) * 2 + 1]) : (Mt = at[0], Dt = at[1]), V = pm(g, x, A, I, At, xt, Mt, Dt), V.length !== 0 && S.push(V[0], V[1]); return S }, _Y = function (g, x, T, A, I, O, $, z) { for (var S = [], V, U = new Array(T.length), tt = O / 2, at = $ / 2, ut = _L(O, $), dt = 0; dt < T.length / 4; dt++) { var At = void 0, xt = void 0; dt === 0 ? At = T.length - 2 : At = dt * 4 - 2, xt = dt * 4 + 2; var Mt = A + tt * T[dt * 4], Dt = I + at * T[dt * 4 + 1], Bt = -T[At] * T[xt] - T[At + 1] * T[xt + 1], Zt = ut / Math.tan(Math.acos(Bt) / 2), Kt = Mt - Zt * T[At], $t = Dt - Zt * T[At + 1], ee = Mt + Zt * T[xt], Ht = Dt + Zt * T[xt + 1]; dt === 0 ? (U[T.length - 2] = Kt, U[T.length - 1] = $t) : (U[dt * 4 - 2] = Kt, U[dt * 4 - 1] = $t), U[dt * 4] = ee, U[dt * 4 + 1] = Ht; var ge = T[At + 1], be = -T[At], re = ge * T[xt] + be * T[xt + 1]; re < 0 && (ge *= -1, be *= -1); var Pe = Kt + ge * ut, ve = $t + be * ut; V = mk(g, x, A, I, Pe, ve, ut), V.length !== 0 && S.push(V[0], V[1]) } for (var fn = 0; fn < U.length / 4; fn++)V = pm(g, x, A, I, U[fn * 4], U[fn * 4 + 1], U[fn * 4 + 2], U[fn * 4 + 3], !1), V.length !== 0 && S.push(V[0], V[1]); if (S.length > 2) { for (var $e = [S[0], S[1]], qe = Math.pow($e[0] - g, 2) + Math.pow($e[1] - x, 2), xn = 1; xn < S.length / 2; xn++) { var Nn = Math.pow(S[xn * 2] - g, 2) + Math.pow(S[xn * 2 + 1] - x, 2); Nn <= qe && ($e[0] = S[xn * 2], $e[1] = S[xn * 2 + 1], qe = Nn) } return $e } return S }, ME = function (g, x, T) { var A = [g[0] - x[0], g[1] - x[1]], I = Math.sqrt(A[0] * A[0] + A[1] * A[1]), O = (I - T) / I; return O < 0 && (O = 1e-5), [x[0] + O * A[0], x[1] + O * A[1]] }, cd = function (g, x) { var T = TL(g, x); return T = YP(T), T }, YP = function (g) { for (var x, T, A = g.length / 2, I = 1 / 0, O = 1 / 0, $ = -1 / 0, z = -1 / 0, S = 0; S < A; S++)x = g[2 * S], T = g[2 * S + 1], I = Math.min(I, x), $ = Math.max($, x), O = Math.min(O, T), z = Math.max(z, T); for (var V = 2 / ($ - I), U = 2 / (z - O), tt = 0; tt < A; tt++)x = g[2 * tt] = g[2 * tt] * V, T = g[2 * tt + 1] = g[2 * tt + 1] * U, I = Math.min(I, x), $ = Math.max($, x), O = Math.min(O, T), z = Math.max(z, T); if (O < -1) for (var at = 0; at < A; at++)T = g[2 * at + 1] = g[2 * at + 1] + (-1 - O); return g }, TL = function (g, x) { var T = 1 / g * 2 * Math.PI, A = g % 2 === 0 ? Math.PI / 2 + T / 2 : Math.PI / 2; A += x; for (var I = new Array(g * 2), O, $ = 0; $ < g; $++)O = $ * T + A, I[2 * $] = Math.cos(O), I[2 * $ + 1] = Math.sin(-O); return I }, xk = function (g, x) { return Math.min(g / 4, x / 4, 8) }, _L = function (g, x) { return Math.min(g / 10, x / 10, 8) }, XP = function () { return 8 }, CY = function (g, x, T) { return [g - 2 * x + T, 2 * (x - g), g] }, CL = function (g, x) { return { heightOffset: Math.min(15, .05 * x), widthOffset: Math.min(100, .25 * g), ctrlPtOffsetPct: .05 } }, SY = Hf({ dampingFactor: .8, precision: 1e-6, iterations: 200, weight: function (g) { return 1 } }), AY = { pageRank: function (g) { for (var x = SY(g), T = x.dampingFactor, A = x.precision, I = x.iterations, O = x.weight, $ = this._private.cy, z = this.byGroup(), S = z.nodes, V = z.edges, U = S.length, tt = U * U, at = V.length, ut = new Array(tt), dt = new Array(U), At = (1 - T) / U, xt = 0; xt < U; xt++) { for (var Mt = 0; Mt < U; Mt++) { var Dt = xt * U + Mt; ut[Dt] = 0 } dt[xt] = 0 } for (var Bt = 0; Bt < at; Bt++) { var Zt = V[Bt], Kt = Zt.data("source"), $t = Zt.data("target"); if (Kt !== $t) { var ee = S.indexOfId(Kt), Ht = S.indexOfId($t), ge = O(Zt), be = Ht * U + ee; ut[be] += ge, dt[ee] += ge } } for (var re = 1 / U + At, Pe = 0; Pe < U; Pe++)if (dt[Pe] === 0) for (var ve = 0; ve < U; ve++) { var fn = ve * U + Pe; ut[fn] = re } else for (var $e = 0; $e < U; $e++) { var qe = $e * U + Pe; ut[qe] = ut[qe] / dt[Pe] + At } for (var xn = new Array(U), Nn = new Array(U), er, Sn = 0; Sn < U; Sn++)xn[Sn] = 1; for (var Jn = 0; Jn < I; Jn++) { for (var fr = 0; fr < U; fr++)Nn[fr] = 0; for (var Sr = 0; Sr < U; Sr++)for (var wr = 0; wr < U; wr++) { var cr = Sr * U + wr; Nn[Sr] += ut[cr] * xn[wr] } lY(Nn), er = xn, xn = Nn, Nn = er; for (var bn = 0, Tr = 0; Tr < U; Tr++) { var xr = er[Tr] - xn[Tr]; bn += xr * xr } if (bn < A) break } var fi = { rank: function (oa) { return oa = $.collection(oa)[0], xn[S.indexOf(oa)] } }; return fi } }, QP = Hf({ root: null, weight: function (g) { return 1 }, directed: !1, alpha: 0 }), V5 = { degreeCentralityNormalized: function (g) { g = QP(g); var x = this.cy(), T = this.nodes(), A = T.length; if (g.directed) { for (var V = {}, U = {}, tt = 0, at = 0, ut = 0; ut < A; ut++) { var dt = T[ut], At = dt.id(); g.root = dt; var xt = this.degreeCentrality(g); tt < xt.indegree && (tt = xt.indegree), at < xt.outdegree && (at = xt.outdegree), V[At] = xt.indegree, U[At] = xt.outdegree } return { indegree: function (Dt) { return tt == 0 ? 0 : (Tt(Dt) && (Dt = x.filter(Dt)), V[Dt.id()] / tt) }, outdegree: function (Dt) { return at === 0 ? 0 : (Tt(Dt) && (Dt = x.filter(Dt)), U[Dt.id()] / at) } } } else { for (var I = {}, O = 0, $ = 0; $ < A; $++) { var z = T[$]; g.root = z; var S = this.degreeCentrality(g); O < S.degree && (O = S.degree), I[z.id()] = S.degree } return { degree: function (Dt) { return O === 0 ? 0 : (Tt(Dt) && (Dt = x.filter(Dt)), I[Dt.id()] / O) } } } }, degreeCentrality: function (g) { g = QP(g); var x = this.cy(), T = this, A = g, I = A.root, O = A.weight, $ = A.directed, z = A.alpha; if (I = x.collection(I)[0], $) { for (var at = I.connectedEdges(), ut = at.filter(function (Kt) { return Kt.target().same(I) && T.has(Kt) }), dt = at.filter(function (Kt) { return Kt.source().same(I) && T.has(Kt) }), At = ut.length, xt = dt.length, Mt = 0, Dt = 0, Bt = 0; Bt < ut.length; Bt++)Mt += O(ut[Bt]); for (var Zt = 0; Zt < dt.length; Zt++)Dt += O(dt[Zt]); return { indegree: Math.pow(At, 1 - z) * Math.pow(Mt, z), outdegree: Math.pow(xt, 1 - z) * Math.pow(Dt, z) } } else { for (var S = I.connectedEdges().intersection(T), V = S.length, U = 0, tt = 0; tt < S.length; tt++)U += O(S[tt]); return { degree: Math.pow(V, 1 - z) * Math.pow(U, z) } } } }; V5.dc = V5.degreeCentrality, V5.dcn = V5.degreeCentralityNormalised = V5.degreeCentralityNormalized; var ZP = Hf({ harmonic: !0, weight: function () { return 1 }, directed: !1, root: null }), G5 = { closenessCentralityNormalized: function (g) { for (var x = ZP(g), T = x.harmonic, A = x.weight, I = x.directed, O = this.cy(), $ = {}, z = 0, S = this.nodes(), V = this.floydWarshall({ weight: A, directed: I }), U = 0; U < S.length; U++) { for (var tt = 0, at = S[U], ut = 0; ut < S.length; ut++)if (U !== ut) { var dt = V.distance(at, S[ut]); T ? tt += 1 / dt : tt += dt } T || (tt = 1 / tt), z < tt && (z = tt), $[at.id()] = tt } return { closeness: function (xt) { return z == 0 ? 0 : (Tt(xt) ? xt = O.filter(xt)[0].id() : xt = xt.id(), $[xt] / z) } } }, closenessCentrality: function (g) { var x = ZP(g), T = x.root, A = x.weight, I = x.directed, O = x.harmonic; T = this.filter(T)[0]; for (var $ = this.dijkstra({ root: T, weight: A, directed: I }), z = 0, S = this.nodes(), V = 0; V < S.length; V++) { var U = S[V]; if (!U.same(T)) { var tt = $.distanceTo(U); O ? z += 1 / tt : z += tt } } return O ? z : 1 / z } }; G5.cc = G5.closenessCentrality, G5.ccn = G5.closenessCentralityNormalised = G5.closenessCentralityNormalized; var LY = Hf({ weight: null, directed: !1 }), SL = { betweennessCentrality: function (g) { for (var x = LY(g), T = x.directed, A = x.weight, I = A != null, O = this.cy(), $ = this.nodes(), z = {}, S = {}, V = 0, U = { set: function (Dt, Bt) { S[Dt] = Bt, Bt > V && (V = Bt) }, get: function (Dt) { return S[Dt] } }, tt = 0; tt < $.length; tt++) { var at = $[tt], ut = at.id(); T ? z[ut] = at.outgoers().nodes() : z[ut] = at.openNeighborhood().nodes(), U.set(ut, 0) } for (var dt = function (Dt) { for (var Bt = $[Dt].id(), Zt = [], Kt = {}, $t = {}, ee = {}, Ht = new vk(function (wr, cr) { return ee[wr] - ee[cr] }), ge = 0; ge < $.length; ge++) { var be = $[ge].id(); Kt[be] = [], $t[be] = 0, ee[be] = 1 / 0 } for ($t[Bt] = 1, ee[Bt] = 0, Ht.push(Bt); !Ht.empty();) { var re = Ht.pop(); if (Zt.push(re), I) for (var Pe = 0; Pe < z[re].length; Pe++) { var ve = z[re][Pe], fn = O.getElementById(re), $e = void 0; fn.edgesTo(ve).length > 0 ? $e = fn.edgesTo(ve)[0] : $e = ve.edgesTo(fn)[0]; var qe = A($e); ve = ve.id(), ee[ve] > ee[re] + qe && (ee[ve] = ee[re] + qe, Ht.nodes.indexOf(ve) < 0 ? Ht.push(ve) : Ht.updateItem(ve), $t[ve] = 0, Kt[ve] = []), ee[ve] == ee[re] + qe && ($t[ve] = $t[ve] + $t[re], Kt[ve].push(re)) } else for (var xn = 0; xn < z[re].length; xn++) { var Nn = z[re][xn].id(); ee[Nn] == 1 / 0 && (Ht.push(Nn), ee[Nn] = ee[re] + 1), ee[Nn] == ee[re] + 1 && ($t[Nn] = $t[Nn] + $t[re], Kt[Nn].push(re)) } } for (var er = {}, Sn = 0; Sn < $.length; Sn++)er[$[Sn].id()] = 0; for (; Zt.length > 0;) { for (var Jn = Zt.pop(), fr = 0; fr < Kt[Jn].length; fr++) { var Sr = Kt[Jn][fr]; er[Sr] = er[Sr] + $t[Sr] / $t[Jn] * (1 + er[Jn]) } Jn != $[Dt].id() && U.set(Jn, U.get(Jn) + er[Jn]) } }, At = 0; At < $.length; At++)dt(At); var xt = { betweenness: function (Dt) { var Bt = O.collection(Dt).id(); return U.get(Bt) }, betweennessNormalized: function (Dt) { if (V == 0) return 0; var Bt = O.collection(Dt).id(); return U.get(Bt) / V } }; return xt.betweennessNormalised = xt.betweennessNormalized, xt } }; SL.bc = SL.betweennessCentrality; var MY = Hf({ expandFactor: 2, inflateFactor: 2, multFactor: 1, maxIterations: 20, attributes: [function (y) { return 1 }] }), DY = function (g) { return MY(g) }, IY = function (g, x) { for (var T = 0, A = 0; A < x.length; A++)T += x[A](g); return T }, OY = function (g, x, T) { for (var A = 0; A < x; A++)g[A * x + A] = T }, JP = function (g, x) { for (var T, A = 0; A < x; A++) { T = 0; for (var I = 0; I < x; I++)T += g[I * x + A]; for (var O = 0; O < x; O++)g[O * x + A] = g[O * x + A] / T } }, NY = function (g, x, T) { for (var A = new Array(T * T), I = 0; I < T; I++) { for (var O = 0; O < T; O++)A[I * T + O] = 0; for (var $ = 0; $ < T; $++)for (var z = 0; z < T; z++)A[I * T + z] += g[I * T + $] * x[$ * T + z] } return A }, PY = function (g, x, T) { for (var A = g.slice(0), I = 1; I < T; I++)g = NY(g, A, x); return g }, FY = function (g, x, T) { for (var A = new Array(x * x), I = 0; I < x * x; I++)A[I] = Math.pow(g[I], T); return JP(A, x), A }, tF = function (g, x, T, A) { for (var I = 0; I < T; I++) { var O = Math.round(g[I] * Math.pow(10, A)) / Math.pow(10, A), $ = Math.round(x[I] * Math.pow(10, A)) / Math.pow(10, A); if (O !== $) return !1 } return !0 }, BY = function (g, x, T, A) { for (var I = [], O = 0; O < x; O++) { for (var $ = [], z = 0; z < x; z++)Math.round(g[O * x + z] * 1e3) / 1e3 > 0 && $.push(T[z]); $.length !== 0 && I.push(A.collection($)) } return I }, RY = function (g, x) { for (var T = 0; T < g.length; T++)if (!x[T] || g[T].id() !== x[T].id()) return !1; return !0 }, jY = function (g) { for (var x = 0; x < g.length; x++)for (var T = 0; T < g.length; T++)x != T && RY(g[x], g[T]) && g.splice(T, 1); return g }, eF = function (g) { for (var x = this.nodes(), T = this.edges(), A = this.cy(), I = DY(g), O = {}, $ = 0; $ < x.length; $++)O[x[$].id()] = $; for (var z = x.length, S = z * z, V = new Array(S), U, tt = 0; tt < S; tt++)V[tt] = 0; for (var at = 0; at < T.length; at++) { var ut = T[at], dt = O[ut.source().id()], At = O[ut.target().id()], xt = IY(ut, I.attributes); V[dt * z + At] += xt, V[At * z + dt] += xt } OY(V, z, I.multFactor), JP(V, z); for (var Mt = !0, Dt = 0; Mt && Dt < I.maxIterations;)Mt = !1, U = PY(V, z, I.expandFactor), V = FY(U, z, I.inflateFactor), tF(V, U, S, 4) || (Mt = !0), Dt++; var Bt = BY(V, z, x, A); return Bt = jY(Bt), Bt }, $Y = { markovClustering: eF, mcl: eF }, zY = function (g) { return g }, nF = function (g, x) { return Math.abs(x - g) }, rF = function (g, x, T) { return g + nF(x, T) }, iF = function (g, x, T) { return g + Math.pow(T - x, 2) }, qY = function (g) { return Math.sqrt(g) }, HY = function (g, x, T) { return Math.max(g, nF(x, T)) }, kk = function (g, x, T, A, I) { for (var O = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : zY, $ = A, z, S, V = 0; V < g; V++)z = x(V), S = T(V), $ = I($, z, S); return O($) }, U5 = { euclidean: function (g, x, T) { return g >= 2 ? kk(g, x, T, 0, iF, qY) : kk(g, x, T, 0, rF) }, squaredEuclidean: function (g, x, T) { return kk(g, x, T, 0, iF) }, manhattan: function (g, x, T) { return kk(g, x, T, 0, rF) }, max: function (g, x, T) { return kk(g, x, T, -1 / 0, HY) } }; U5["squared-euclidean"] = U5.squaredEuclidean, U5.squaredeuclidean = U5.squaredEuclidean; function DE(y, g, x, T, A, I) { var O; return kt(y) ? O = y : O = U5[y] || U5.euclidean, g === 0 && kt(y) ? O(A, I) : O(g, x, T, A, I) } var VY = Hf({ k: 2, m: 2, sensitivityThreshold: 1e-4, distance: "euclidean", maxIterations: 10, attributes: [], testMode: !1, testCentroids: null }), AL = function (g) { return VY(g) }, IE = function (g, x, T, A, I) { var O = I !== "kMedoids", $ = O ? function (U) { return T[U] } : function (U) { return A[U](T) }, z = function (tt) { return A[tt](x) }, S = T, V = x; return DE(g, A.length, $, z, S, V) }, LL = function (g, x, T) { for (var A = T.length, I = new Array(A), O = new Array(A), $ = new Array(x), z = null, S = 0; S < A; S++)I[S] = g.min(T[S]).value, O[S] = g.max(T[S]).value; for (var V = 0; V < x; V++) { z = []; for (var U = 0; U < A; U++)z[U] = Math.random() * (O[U] - I[U]) + I[U]; $[V] = z } return $ }, sF = function (g, x, T, A, I) { for (var O = 1 / 0, $ = 0, z = 0; z < x.length; z++) { var S = IE(T, g, x[z], A, I); S < O && (O = S, $ = z) } return $ }, aF = function (g, x, T) { for (var A = [], I = null, O = 0; O < x.length; O++)I = x[O], T[I.id()] === g && A.push(I); return A }, GY = function (g, x, T) { return Math.abs(x - g) <= T }, UY = function (g, x, T) { for (var A = 0; A < g.length; A++)for (var I = 0; I < g[A].length; I++) { var O = Math.abs(g[A][I] - x[A][I]); if (O > T) return !1 } return !0 }, WY = function (g, x, T) { for (var A = 0; A < T; A++)if (g === x[A]) return !0; return !1 }, oF = function (g, x) { var T = new Array(x); if (g.length < 50) for (var A = 0; A < x; A++) { for (var I = g[Math.floor(Math.random() * g.length)]; WY(I, T, A);)I = g[Math.floor(Math.random() * g.length)]; T[A] = I } else for (var O = 0; O < x; O++)T[O] = g[Math.floor(Math.random() * g.length)]; return T }, cF = function (g, x, T) { for (var A = 0, I = 0; I < x.length; I++)A += IE("manhattan", x[I], g, T, "kMedoids"); return A }, KY = function (g) { var x = this.cy(), T = this.nodes(), A = null, I = AL(g), O = new Array(I.k), $ = {}, z; I.testMode ? typeof I.testCentroids == "number" ? (I.testCentroids, z = LL(T, I.k, I.attributes)) : f(I.testCentroids) === "object" ? z = I.testCentroids : z = LL(T, I.k, I.attributes) : z = LL(T, I.k, I.attributes); for (var S = !0, V = 0; S && V < I.maxIterations;) { for (var U = 0; U < T.length; U++)A = T[U], $[A.id()] = sF(A, z, I.distance, I.attributes, "kMeans"); S = !1; for (var tt = 0; tt < I.k; tt++) { var at = aF(tt, T, $); if (at.length !== 0) { for (var ut = I.attributes.length, dt = z[tt], At = new Array(ut), xt = new Array(ut), Mt = 0; Mt < ut; Mt++) { xt[Mt] = 0; for (var Dt = 0; Dt < at.length; Dt++)A = at[Dt], xt[Mt] += I.attributes[Mt](A); At[Mt] = xt[Mt] / at.length, GY(At[Mt], dt[Mt], I.sensitivityThreshold) || (S = !0) } z[tt] = At, O[tt] = x.collection(at) } } V++ } return O }, YY = function (g) { var x = this.cy(), T = this.nodes(), A = null, I = AL(g), O = new Array(I.k), $, z = {}, S, V = new Array(I.k); I.testMode ? typeof I.testCentroids == "number" || (f(I.testCentroids) === "object" ? $ = I.testCentroids : $ = oF(T, I.k)) : $ = oF(T, I.k); for (var U = !0, tt = 0; U && tt < I.maxIterations;) { for (var at = 0; at < T.length; at++)A = T[at], z[A.id()] = sF(A, $, I.distance, I.attributes, "kMedoids"); U = !1; for (var ut = 0; ut < $.length; ut++) { var dt = aF(ut, T, z); if (dt.length !== 0) { V[ut] = cF($[ut], dt, I.attributes); for (var At = 0; At < dt.length; At++)S = cF(dt[At], dt, I.attributes), S < V[ut] && (V[ut] = S, $[ut] = dt[At], U = !0); O[ut] = x.collection(dt) } } tt++ } return O }, XY = function (g, x, T, A, I) { for (var O, $, z = 0; z < x.length; z++)for (var S = 0; S < g.length; S++)A[z][S] = Math.pow(T[z][S], I.m); for (var V = 0; V < g.length; V++)for (var U = 0; U < I.attributes.length; U++) { O = 0, $ = 0; for (var tt = 0; tt < x.length; tt++)O += A[tt][V] * I.attributes[U](x[tt]), $ += A[tt][V]; g[V][U] = O / $ } }, QY = function (g, x, T, A, I) { for (var O = 0; O < g.length; O++)x[O] = g[O].slice(); for (var $, z, S, V = 2 / (I.m - 1), U = 0; U < T.length; U++)for (var tt = 0; tt < A.length; tt++) { $ = 0; for (var at = 0; at < T.length; at++)z = IE(I.distance, A[tt], T[U], I.attributes, "cmeans"), S = IE(I.distance, A[tt], T[at], I.attributes, "cmeans"), $ += Math.pow(z / S, V); g[tt][U] = 1 / $ } }, ZY = function (g, x, T, A) { for (var I = new Array(T.k), O = 0; O < I.length; O++)I[O] = []; for (var $, z, S = 0; S < x.length; S++) { $ = -1 / 0, z = -1; for (var V = 0; V < x[0].length; V++)x[S][V] > $ && ($ = x[S][V], z = V); I[z].push(g[S]) } for (var U = 0; U < I.length; U++)I[U] = A.collection(I[U]); return I }, uF = function (g) { var x = this.cy(), T = this.nodes(), A = AL(g), I, O, $, z, S; z = new Array(T.length); for (var V = 0; V < T.length; V++)z[V] = new Array(A.k); $ = new Array(T.length); for (var U = 0; U < T.length; U++)$[U] = new Array(A.k); for (var tt = 0; tt < T.length; tt++) { for (var at = 0, ut = 0; ut < A.k; ut++)$[tt][ut] = Math.random(), at += $[tt][ut]; for (var dt = 0; dt < A.k; dt++)$[tt][dt] = $[tt][dt] / at } O = new Array(A.k); for (var At = 0; At < A.k; At++)O[At] = new Array(A.attributes.length); S = new Array(T.length); for (var xt = 0; xt < T.length; xt++)S[xt] = new Array(A.k); for (var Mt = !0, Dt = 0; Mt && Dt < A.maxIterations;)Mt = !1, XY(O, T, $, S, A), QY($, z, O, T, A), UY($, z, A.sensitivityThreshold) || (Mt = !0), Dt++; return I = ZY(T, $, A, x), { clusters: I, degreeOfMembership: $ } }, JY = { kMeans: KY, kMedoids: YY, fuzzyCMeans: uF, fcm: uF }, tX = Hf({ distance: "euclidean", linkage: "min", mode: "threshold", threshold: 1 / 0, addDendrogram: !1, dendrogramDepth: 0, attributes: [] }), eX = { single: "min", complete: "max" }, nX = function (g) { var x = tX(g), T = eX[x.linkage]; return T != null && (x.linkage = T), x }, lF = function (g, x, T, A, I) { for (var O = 0, $ = 1 / 0, z, S = I.attributes, V = function (Ht, ge) { return DE(I.distance, S.length, function (be) { return S[be](Ht) }, function (be) { return S[be](ge) }, Ht, ge) }, U = 0; U < g.length; U++) { var tt = g[U].key, at = T[tt][A[tt]]; at < $ && (O = tt, $ = at) } if (I.mode === "threshold" && $ >= I.threshold || I.mode === "dendrogram" && g.length === 1) return !1; var ut = x[O], dt = x[A[O]], At; I.mode === "dendrogram" ? At = { left: ut, right: dt, key: ut.key } : At = { value: ut.value.concat(dt.value), key: ut.key }, g[ut.index] = At, g.splice(dt.index, 1), x[ut.key] = At; for (var xt = 0; xt < g.length; xt++) { var Mt = g[xt]; ut.key === Mt.key ? z = 1 / 0 : I.linkage === "min" ? (z = T[ut.key][Mt.key], T[ut.key][Mt.key] > T[dt.key][Mt.key] && (z = T[dt.key][Mt.key])) : I.linkage === "max" ? (z = T[ut.key][Mt.key], T[ut.key][Mt.key] < T[dt.key][Mt.key] && (z = T[dt.key][Mt.key])) : I.linkage === "mean" ? z = (T[ut.key][Mt.key] * ut.size + T[dt.key][Mt.key] * dt.size) / (ut.size + dt.size) : I.mode === "dendrogram" ? z = V(Mt.value, ut.value) : z = V(Mt.value[0], ut.value[0]), T[ut.key][Mt.key] = T[Mt.key][ut.key] = z } for (var Dt = 0; Dt < g.length; Dt++) { var Bt = g[Dt].key; if (A[Bt] === ut.key || A[Bt] === dt.key) { for (var Zt = Bt, Kt = 0; Kt < g.length; Kt++) { var $t = g[Kt].key; T[Bt][$t] < T[Bt][Zt] && (Zt = $t) } A[Bt] = Zt } g[Dt].index = Dt } return ut.key = dt.key = ut.index = dt.index = null, !0 }, OE = function y(g, x, T) { g && (g.value ? x.push(g.value) : (g.left && y(g.left, x), g.right && y(g.right, x))) }, rX = function y(g, x) { if (!g) return ""; if (g.left && g.right) { var T = y(g.left, x), A = y(g.right, x), I = x.add({ group: "nodes", data: { id: T + "," + A } }); return x.add({ group: "edges", data: { source: T, target: I.id() } }), x.add({ group: "edges", data: { source: A, target: I.id() } }), I.id() } else if (g.value) return g.value.id() }, iX = function y(g, x, T) { if (!g) return []; var A = [], I = [], O = []; return x === 0 ? (g.left && OE(g.left, A), g.right && OE(g.right, I), O = A.concat(I), [T.collection(O)]) : x === 1 ? g.value ? [T.collection(g.value)] : (g.left && OE(g.left, A), g.right && OE(g.right, I), [T.collection(A), T.collection(I)]) : g.value ? [T.collection(g.value)] : (g.left && (A = y(g.left, x - 1, T)), g.right && (I = y(g.right, x - 1, T)), A.concat(I)) }, hF = function (g) { for (var x = this.cy(), T = this.nodes(), A = nX(g), I = A.attributes, O = function (Dt, Bt) { return DE(A.distance, I.length, function (Zt) { return I[Zt](Dt) }, function (Zt) { return I[Zt](Bt) }, Dt, Bt) }, $ = [], z = [], S = [], V = [], U = 0; U < T.length; U++) { var tt = { value: A.mode === "dendrogram" ? T[U] : [T[U]], key: U, index: U }; $[U] = tt, V[U] = tt, z[U] = [], S[U] = 0 } for (var at = 0; at < $.length; at++)for (var ut = 0; ut <= at; ut++) { var dt = void 0; A.mode === "dendrogram" ? dt = at === ut ? 1 / 0 : O($[at].value, $[ut].value) : dt = at === ut ? 1 / 0 : O($[at].value[0], $[ut].value[0]), z[at][ut] = dt, z[ut][at] = dt, dt < z[at][S[at]] && (S[at] = ut) } for (var At = lF($, V, z, S, A); At;)At = lF($, V, z, S, A); var xt; return A.mode === "dendrogram" ? (xt = iX($[0], A.dendrogramDepth, x), A.addDendrogram && rX($[0], x)) : (xt = new Array($.length), $.forEach(function (Mt, Dt) { Mt.key = Mt.index = null, xt[Dt] = x.collection(Mt.value) })), xt }, sX = { hierarchicalClustering: hF, hca: hF }, aX = Hf({ distance: "euclidean", preference: "median", damping: .8, maxIterations: 1e3, minIterations: 100, attributes: [] }), oX = function (g) { var x = g.damping, T = g.preference; .5 <= x && x < 1 || Ec("Damping must range on [0.5, 1).  Got: ".concat(x)); var A = ["median", "mean", "min", "max"]; return A.some(function (I) { return I === T }) || rt(T) || Ec("Preference must be one of [".concat(A.map(function (I) { return "'".concat(I, "'") }).join(", "), "] or a number.  Got: ").concat(T)), aX(g) }, cX = function (g, x, T, A) { var I = function ($, z) { return A[z]($) }; return -DE(g, A.length, function (O) { return I(x, O) }, function (O) { return I(T, O) }, x, T) }, uX = function (g, x) { var T = null; return x === "median" ? T = cY(g) : x === "mean" ? T = oY(g) : x === "min" ? T = sY(g) : x === "max" ? T = aY(g) : T = x, T }, lX = function (g, x, T) { for (var A = [], I = 0; I < g; I++)x[I * g + I] + T[I * g + I] > 0 && A.push(I); return A }, fF = function (g, x, T) { for (var A = [], I = 0; I < g; I++) { for (var O = -1, $ = -1 / 0, z = 0; z < T.length; z++) { var S = T[z]; x[I * g + S] > $ && (O = S, $ = x[I * g + S]) } O > 0 && A.push(O) } for (var V = 0; V < T.length; V++)A[T[V]] = T[V]; return A }, hX = function (g, x, T) { for (var A = fF(g, x, T), I = 0; I < T.length; I++) { for (var O = [], $ = 0; $ < A.length; $++)A[$] === T[I] && O.push($); for (var z = -1, S = -1 / 0, V = 0; V < O.length; V++) { for (var U = 0, tt = 0; tt < O.length; tt++)U += x[O[tt] * g + O[V]]; U > S && (z = V, S = U) } T[I] = O[z] } return A = fF(g, x, T), A }, dF = function (g) { for (var x = this.cy(), T = this.nodes(), A = oX(g), I = {}, O = 0; O < T.length; O++)I[T[O].id()] = O; var $, z, S, V, U, tt; $ = T.length, z = $ * $, S = new Array(z); for (var at = 0; at < z; at++)S[at] = -1 / 0; for (var ut = 0; ut < $; ut++)for (var dt = 0; dt < $; dt++)ut !== dt && (S[ut * $ + dt] = cX(A.distance, T[ut], T[dt], A.attributes)); V = uX(S, A.preference); for (var At = 0; At < $; At++)S[At * $ + At] = V; U = new Array(z); for (var xt = 0; xt < z; xt++)U[xt] = 0; tt = new Array(z); for (var Mt = 0; Mt < z; Mt++)tt[Mt] = 0; for (var Dt = new Array($), Bt = new Array($), Zt = new Array($), Kt = 0; Kt < $; Kt++)Dt[Kt] = 0, Bt[Kt] = 0, Zt[Kt] = 0; for (var $t = new Array($ * A.minIterations), ee = 0; ee < $t.length; ee++)$t[ee] = 0; var Ht; for (Ht = 0; Ht < A.maxIterations; Ht++) { for (var ge = 0; ge < $; ge++) { for (var be = -1 / 0, re = -1 / 0, Pe = -1, ve = 0, fn = 0; fn < $; fn++)Dt[fn] = U[ge * $ + fn], ve = tt[ge * $ + fn] + S[ge * $ + fn], ve >= be ? (re = be, be = ve, Pe = fn) : ve > re && (re = ve); for (var $e = 0; $e < $; $e++)U[ge * $ + $e] = (1 - A.damping) * (S[ge * $ + $e] - be) + A.damping * Dt[$e]; U[ge * $ + Pe] = (1 - A.damping) * (S[ge * $ + Pe] - re) + A.damping * Dt[Pe] } for (var qe = 0; qe < $; qe++) { for (var xn = 0, Nn = 0; Nn < $; Nn++)Dt[Nn] = tt[Nn * $ + qe], Bt[Nn] = Math.max(0, U[Nn * $ + qe]), xn += Bt[Nn]; xn -= Bt[qe], Bt[qe] = U[qe * $ + qe], xn += Bt[qe]; for (var er = 0; er < $; er++)tt[er * $ + qe] = (1 - A.damping) * Math.min(0, xn - Bt[er]) + A.damping * Dt[er]; tt[qe * $ + qe] = (1 - A.damping) * (xn - Bt[qe]) + A.damping * Dt[qe] } for (var Sn = 0, Jn = 0; Jn < $; Jn++) { var fr = tt[Jn * $ + Jn] + U[Jn * $ + Jn] > 0 ? 1 : 0; $t[Ht % A.minIterations * $ + Jn] = fr, Sn += fr } if (Sn > 0 && (Ht >= A.minIterations - 1 || Ht == A.maxIterations - 1)) { for (var Sr = 0, wr = 0; wr < $; wr++) { Zt[wr] = 0; for (var cr = 0; cr < A.minIterations; cr++)Zt[wr] += $t[cr * $ + wr]; (Zt[wr] === 0 || Zt[wr] === A.minIterations) && Sr++ } if (Sr === $) break } } for (var bn = lX($, U, tt), Tr = hX($, S, bn), xr = {}, fi = 0; fi < bn.length; fi++)xr[bn[fi]] = []; for (var Ii = 0; Ii < T.length; Ii++) { var oa = I[T[Ii].id()], Fa = Tr[oa]; Fa != null && xr[Fa].push(T[Ii]) } for (var Fi = new Array(bn.length), Ci = 0; Ci < bn.length; Ci++)Fi[Ci] = x.collection(xr[bn[Ci]]); return Fi }, fX = { affinityPropagation: dF, ap: dF }, dX = Hf({ root: void 0, directed: !1 }), gX = { hierholzer: function (g) { if (!ht(g)) { var x = arguments; g = { root: x[0], directed: x[1] } } var T = dX(g), A = T.root, I = T.directed, O = this, $ = !1, z, S, V; A && (V = Tt(A) ? this.filter(A)[0].id() : A[0].id()); var U = {}, tt = {}; I ? O.forEach(function (Mt) { var Dt = Mt.id(); if (Mt.isNode()) { var Bt = Mt.indegree(!0), Zt = Mt.outdegree(!0), Kt = Bt - Zt, $t = Zt - Bt; Kt == 1 ? z ? $ = !0 : z = Dt : $t == 1 ? S ? $ = !0 : S = Dt : ($t > 1 || Kt > 1) && ($ = !0), U[Dt] = [], Mt.outgoers().forEach(function (ee) { ee.isEdge() && U[Dt].push(ee.id()) }) } else tt[Dt] = [void 0, Mt.target().id()] }) : O.forEach(function (Mt) { var Dt = Mt.id(); if (Mt.isNode()) { var Bt = Mt.degree(!0); Bt % 2 && (z ? S ? $ = !0 : S = Dt : z = Dt), U[Dt] = [], Mt.connectedEdges().forEach(function (Zt) { return U[Dt].push(Zt.id()) }) } else tt[Dt] = [Mt.source().id(), Mt.target().id()] }); var at = { found: !1, trail: void 0 }; if ($) return at; if (S && z) if (I) { if (V && S != V) return at; V = S } else { if (V && S != V && z != V) return at; V || (V = S) } else V || (V = O[0].id()); var ut = function (Dt) { for (var Bt = Dt, Zt = [Dt], Kt, $t, ee; U[Bt].length;)Kt = U[Bt].shift(), $t = tt[Kt][0], ee = tt[Kt][1], Bt != ee ? (U[ee] = U[ee].filter(function (Ht) { return Ht != Kt }), Bt = ee) : !I && Bt != $t && (U[$t] = U[$t].filter(function (Ht) { return Ht != Kt }), Bt = $t), Zt.unshift(Kt), Zt.unshift(Bt); return Zt }, dt = [], At = []; for (At = ut(V); At.length != 1;)U[At[0]].length == 0 ? (dt.unshift(O.getElementById(At.shift())), dt.unshift(O.getElementById(At.shift()))) : At = ut(At.shift()).concat(At); dt.unshift(O.getElementById(At.shift())); for (var xt in U) if (U[xt].length) return at; return at.found = !0, at.trail = this.spawn(dt, !0), at } }, NE = function () { var g = this, x = {}, T = 0, A = 0, I = [], O = [], $ = {}, z = function (tt, at) { for (var ut = O.length - 1, dt = [], At = g.spawn(); O[ut].x != tt || O[ut].y != at;)dt.push(O.pop().edge), ut--; dt.push(O.pop().edge), dt.forEach(function (xt) { var Mt = xt.connectedNodes().intersection(g); At.merge(xt), Mt.forEach(function (Dt) { var Bt = Dt.id(), Zt = Dt.connectedEdges().intersection(g); At.merge(Dt), x[Bt].cutVertex ? At.merge(Zt.filter(function (Kt) { return Kt.isLoop() })) : At.merge(Zt) }) }), I.push(At) }, S = function U(tt, at, ut) { tt === ut && (A += 1), x[at] = { id: T, low: T++, cutVertex: !1 }; var dt = g.getElementById(at).connectedEdges().intersection(g); if (dt.size() === 0) I.push(g.spawn(g.getElementById(at))); else { var At, xt, Mt, Dt; dt.forEach(function (Bt) { At = Bt.source().id(), xt = Bt.target().id(), Mt = At === at ? xt : At, Mt !== ut && (Dt = Bt.id(), $[Dt] || ($[Dt] = !0, O.push({ x: at, y: Mt, edge: Bt })), Mt in x ? x[at].low = Math.min(x[at].low, x[Mt].id) : (U(tt, Mt, at), x[at].low = Math.min(x[at].low, x[Mt].low), x[at].id <= x[Mt].low && (x[at].cutVertex = !0, z(at, Mt)))) }) } }; g.forEach(function (U) { if (U.isNode()) { var tt = U.id(); tt in x || (A = 0, S(tt, tt), x[tt].cutVertex = A > 1) } }); var V = Object.keys(x).filter(function (U) { return x[U].cutVertex }).map(function (U) { return g.getElementById(U) }); return { cut: g.spawn(V), components: I } }, pX = { hopcroftTarjanBiconnected: NE, htbc: NE, htb: NE, hopcroftTarjanBiconnectedComponents: NE }, PE = function () { var g = this, x = {}, T = 0, A = [], I = [], O = g.spawn(g), $ = function z(S) { I.push(S), x[S] = { index: T, low: T++, explored: !1 }; var V = g.getElementById(S).connectedEdges().intersection(g); if (V.forEach(function (dt) { var At = dt.target().id(); At !== S && (At in x || z(At), x[At].explored || (x[S].low = Math.min(x[S].low, x[At].low))) }), x[S].index === x[S].low) { for (var U = g.spawn(); ;) { var tt = I.pop(); if (U.merge(g.getElementById(tt)), x[tt].low = x[S].index, x[tt].explored = !0, tt === S) break } var at = U.edgesWith(U), ut = U.merge(at); A.push(ut), O = O.difference(ut) } }; return g.forEach(function (z) { if (z.isNode()) { var S = z.id(); S in x || $(S) } }), { cut: O, components: A } }, bX = { tarjanStronglyConnected: PE, tsc: PE, tscc: PE, tarjanStronglyConnectedComponents: PE }, gF = {};[bk, WK, KK, XK, ZK, tY, rY, AY, V5, G5, SL, $Y, JY, sX, fX, gX, pX, bX].forEach(function (y) { Ke(gF, y) });/*!
    Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable
    Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com)
    Licensed under The MIT License (http://opensource.org/licenses/MIT)
    */var pF = 0, bF = 1, vF = 2, cv = function y(g) { if (!(this instanceof y)) return new y(g); this.id = "Thenable/1.0.7", this.state = pF, this.fulfillValue = void 0, this.rejectReason = void 0, this.onFulfilled = [], this.onRejected = [], this.proxy = { then: this.then.bind(this) }, typeof g == "function" && g.call(this, this.fulfill.bind(this), this.reject.bind(this)) }; cv.prototype = { fulfill: function (g) { return wF(this, bF, "fulfillValue", g) }, reject: function (g) { return wF(this, vF, "rejectReason", g) }, then: function (g, x) { var T = this, A = new cv; return T.onFulfilled.push(xF(g, A, "fulfill")), T.onRejected.push(xF(x, A, "reject")), mF(T), A.proxy } }; var wF = function (g, x, T, A) { return g.state === pF && (g.state = x, g[T] = A, mF(g)), g }, mF = function (g) { g.state === bF ? yF(g, "onFulfilled", g.fulfillValue) : g.state === vF && yF(g, "onRejected", g.rejectReason) }, yF = function (g, x, T) { if (g[x].length !== 0) { var A = g[x]; g[x] = []; var I = function () { for (var $ = 0; $ < A.length; $++)A[$](T) }; typeof setImmediate == "function" ? setImmediate(I) : setTimeout(I, 0) } }, xF = function (g, x, T) { return function (A) { if (typeof g != "function") x[T].call(x, A); else { var I; try { I = g(A) } catch (O) { x.reject(O); return } vX(x, I) } } }, vX = function y(g, x) { if (g === x || g.proxy === x) { g.reject(new TypeError("cannot resolve promise with itself")); return } var T; if (f(x) === "object" && x !== null || typeof x == "function") try { T = x.then } catch (I) { g.reject(I); return } if (typeof T == "function") { var A = !1; try { T.call(x, function (I) { A || (A = !0, I === x ? g.reject(new TypeError("circular thenable chain")) : y(g, I)) }, function (I) { A || (A = !0, g.reject(I)) }) } catch (I) { A || g.reject(I) } return } g.fulfill(x) }; cv.all = function (y) { return new cv(function (g, x) { for (var T = new Array(y.length), A = 0, I = function (z, S) { T[z] = S, A++, A === y.length && g(T) }, O = 0; O < y.length; O++)(function ($) { var z = y[$], S = z != null && z.then != null; if (S) z.then(function (U) { I($, U) }, function (U) { x(U) }); else { var V = z; I($, V) } })(O) }) }, cv.resolve = function (y) { return new cv(function (g, x) { g(y) }) }, cv.reject = function (y) { return new cv(function (g, x) { x(y) }) }; var W5 = typeof Promise < "u" ? Promise : cv, FE = function (g, x, T) { var A = Rt(g), I = !A, O = this._private = Ke({ duration: 1e3 }, x, T); if (O.target = g, O.style = O.style || O.css, O.started = !1, O.playing = !1, O.hooked = !1, O.applying = !1, O.progress = 0, O.completes = [], O.frames = [], O.complete && kt(O.complete) && O.completes.push(O.complete), I) { var $ = g.position(); O.startPosition = O.startPosition || { x: $.x, y: $.y }, O.startStyle = O.startStyle || g.cy().style().getAnimationStartStyle(g, O.style) } if (A) { var z = g.pan(); O.startPan = { x: z.x, y: z.y }, O.startZoom = g.zoom() } this.length = 1, this[0] = this }, C3 = FE.prototype; Ke(C3, { instanceString: function () { return "animation" }, hook: function () { var g = this._private; if (!g.hooked) { var x, T = g.target._private.animation; g.queue ? x = T.queue : x = T.current, x.push(this), lt(g.target) && g.target.cy().addToAnimationPool(g.target), g.hooked = !0 } return this }, play: function () { var g = this._private; return g.progress === 1 && (g.progress = 0), g.playing = !0, g.started = !1, g.stopped = !1, this.hook(), this }, playing: function () { return this._private.playing }, apply: function () { var g = this._private; return g.applying = !0, g.started = !1, g.stopped = !1, this.hook(), this }, applying: function () { return this._private.applying }, pause: function () { var g = this._private; return g.playing = !1, g.started = !1, this }, stop: function () { var g = this._private; return g.playing = !1, g.started = !1, g.stopped = !0, this }, rewind: function () { return this.progress(0) }, fastforward: function () { return this.progress(1) }, time: function (g) { var x = this._private; return g === void 0 ? x.progress * x.duration : this.progress(g / x.duration) }, progress: function (g) { var x = this._private, T = x.playing; return g === void 0 ? x.progress : (T && this.pause(), x.progress = g, x.started = !1, T && this.play(), this) }, completed: function () { return this._private.progress === 1 }, reverse: function () { var g = this._private, x = g.playing; x && this.pause(), g.progress = 1 - g.progress, g.started = !1; var T = function (S, V) { var U = g[S]; U != null && (g[S] = g[V], g[V] = U) }; if (T("zoom", "startZoom"), T("pan", "startPan"), T("position", "startPosition"), g.style) for (var A = 0; A < g.style.length; A++) { var I = g.style[A], O = I.name, $ = g.startStyle[O]; g.startStyle[O] = I, g.style[A] = $ } return x && this.play(), this }, promise: function (g) { var x = this._private, T; switch (g) { case "frame": T = x.frames; break; default: case "complete": case "completed": T = x.completes }return new W5(function (A, I) { T.push(function () { A() }) }) } }), C3.complete = C3.completed, C3.run = C3.play, C3.running = C3.playing; var wX = { animated: function () { return function () { var x = this, T = x.length !== void 0, A = T ? x : [x], I = this._private.cy || this; if (!I.styleEnabled()) return !1; var O = A[0]; if (O) return O._private.animation.current.length > 0 } }, clearQueue: function () { return function () { var x = this, T = x.length !== void 0, A = T ? x : [x], I = this._private.cy || this; if (!I.styleEnabled()) return this; for (var O = 0; O < A.length; O++) { var $ = A[O]; $._private.animation.queue = [] } return this } }, delay: function () { return function (x, T) { var A = this._private.cy || this; return A.styleEnabled() ? this.animate({ delay: x, duration: x, complete: T }) : this } }, delayAnimation: function () { return function (x, T) { var A = this._private.cy || this; return A.styleEnabled() ? this.animation({ delay: x, duration: x, complete: T }) : this } }, animation: function () { return function (x, T) { var A = this, I = A.length !== void 0, O = I ? A : [A], $ = this._private.cy || this, z = !I, S = !z; if (!$.styleEnabled()) return this; var V = $.style(); x = Ke({}, x, T); var U = Object.keys(x).length === 0; if (U) return new FE(O[0], x); switch (x.duration === void 0 && (x.duration = 400), x.duration) { case "slow": x.duration = 600; break; case "fast": x.duration = 200; break }if (S && (x.style = V.getPropsList(x.style || x.css), x.css = void 0), S && x.renderedPosition != null) { var tt = x.renderedPosition, at = $.pan(), ut = $.zoom(); x.position = qP(tt, ut, at) } if (z && x.panBy != null) { var dt = x.panBy, At = $.pan(); x.pan = { x: At.x + dt.x, y: At.y + dt.y } } var xt = x.center || x.centre; if (z && xt != null) { var Mt = $.getCenterPan(xt.eles, x.zoom); Mt != null && (x.pan = Mt) } if (z && x.fit != null) { var Dt = x.fit, Bt = $.getFitViewport(Dt.eles || Dt.boundingBox, Dt.padding); Bt != null && (x.pan = Bt.pan, x.zoom = Bt.zoom) } if (z && ht(x.zoom)) { var Zt = $.getZoomedViewport(x.zoom); Zt != null ? (Zt.zoomed && (x.zoom = Zt.zoom), Zt.panned && (x.pan = Zt.pan)) : x.zoom = null } return new FE(O[0], x) } }, animate: function () { return function (x, T) { var A = this, I = A.length !== void 0, O = I ? A : [A], $ = this._private.cy || this; if (!$.styleEnabled()) return this; T && (x = Ke({}, x, T)); for (var z = 0; z < O.length; z++) { var S = O[z], V = S.animated() && (x.queue === void 0 || x.queue), U = S.animation(x, V ? { queue: !0 } : void 0); U.play() } return this } }, stop: function () { return function (x, T) { var A = this, I = A.length !== void 0, O = I ? A : [A], $ = this._private.cy || this; if (!$.styleEnabled()) return this; for (var z = 0; z < O.length; z++) { for (var S = O[z], V = S._private, U = V.animation.current, tt = 0; tt < U.length; tt++) { var at = U[tt], ut = at._private; T && (ut.duration = 0) } x && (V.animation.queue = []), T || (V.animation.current = []) } return $.notify("draw"), this } } }, mX = Array.isArray, BE = mX, yX = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, xX = /^\w*$/; function kX(y, g) { if (BE(y)) return !1; var x = typeof y; return x == "number" || x == "symbol" || x == "boolean" || y == null || Er(y) ? !0 : xX.test(y) || !yX.test(y) || g != null && y in Object(g) } var EX = kX, TX = "[object AsyncFunction]", _X = "[object Function]", CX = "[object GeneratorFunction]", SX = "[object Proxy]"; function AX(y) { if (!gn(y)) return !1; var g = sd(y); return g == _X || g == CX || g == TX || g == SX } var LX = AX, MX = hi["__core-js_shared__"], ML = MX, kF = function () { var y = /[^.]+$/.exec(ML && ML.keys && ML.keys.IE_PROTO || ""); return y ? "Symbol(src)_1." + y : "" }(); function DX(y) { return !!kF && kF in y } var IX = DX, OX = Function.prototype, EF = OX.toString; function NX(y) { if (y != null) { try { return EF.call(y) } catch { } try { return y + "" } catch { } } return "" } var PX = NX, FX = /[\\^$.*+?()[\]{}|]/g, BX = /^\[object .+?Constructor\]$/, RX = Function.prototype, jX = Object.prototype, TF = RX.toString, _F = jX.hasOwnProperty, $X = RegExp("^" + TF.call(_F).replace(FX, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"); function CF(y) { if (!gn(y) || IX(y)) return !1; var g = LX(y) ? $X : BX; return g.test(PX(y)) } var SF = CF; function zX(y, g) { return y == null ? void 0 : y[g] } var qX = zX; function HX(y, g) { var x = qX(y, g); return SF(x) ? x : void 0 } var DL = HX, VX = DL(Object, "create"), Ek = VX; function GX() { this.__data__ = Ek ? Ek(null) : {}, this.size = 0 } var UX = GX; function WX(y) { var g = this.has(y) && delete this.__data__[y]; return this.size -= g ? 1 : 0, g } var AF = WX, KX = "__lodash_hash_undefined__", YX = Object.prototype, XX = YX.hasOwnProperty; function QX(y) { var g = this.__data__; if (Ek) { var x = g[y]; return x === KX ? void 0 : x } return XX.call(g, y) ? g[y] : void 0 } var ZX = QX, JX = Object.prototype, tQ = JX.hasOwnProperty; function eQ(y) { var g = this.__data__; return Ek ? g[y] !== void 0 : tQ.call(g, y) } var nQ = eQ, rQ = "__lodash_hash_undefined__"; function iQ(y, g) { var x = this.__data__; return this.size += this.has(y) ? 0 : 1, x[y] = Ek && g === void 0 ? rQ : g, this } var sQ = iQ; function K5(y) { var g = -1, x = y == null ? 0 : y.length; for (this.clear(); ++g < x;) { var T = y[g]; this.set(T[0], T[1]) } } K5.prototype.clear = UX, K5.prototype.delete = AF, K5.prototype.get = ZX, K5.prototype.has = nQ, K5.prototype.set = sQ; var LF = K5; function aQ() { this.__data__ = [], this.size = 0 } var oQ = aQ; function cQ(y, g) { return y === g || y !== y && g !== g } var MF = cQ; function uQ(y, g) { for (var x = y.length; x--;)if (MF(y[x][0], g)) return x; return -1 } var RE = uQ, lQ = Array.prototype, hQ = lQ.splice; function fQ(y) { var g = this.__data__, x = RE(g, y); if (x < 0) return !1; var T = g.length - 1; return x == T ? g.pop() : hQ.call(g, x, 1), --this.size, !0 } var dQ = fQ; function gQ(y) { var g = this.__data__, x = RE(g, y); return x < 0 ? void 0 : g[x][1] } var pQ = gQ; function bQ(y) { return RE(this.__data__, y) > -1 } var vQ = bQ; function wQ(y, g) { var x = this.__data__, T = RE(x, y); return T < 0 ? (++this.size, x.push([y, g])) : x[T][1] = g, this } var mQ = wQ; function Y5(y) { var g = -1, x = y == null ? 0 : y.length; for (this.clear(); ++g < x;) { var T = y[g]; this.set(T[0], T[1]) } } Y5.prototype.clear = oQ, Y5.prototype.delete = dQ, Y5.prototype.get = pQ, Y5.prototype.has = vQ, Y5.prototype.set = mQ; var yQ = Y5, xQ = DL(hi, "Map"), kQ = xQ; function EQ() { this.size = 0, this.__data__ = { hash: new LF, map: new (kQ || yQ), string: new LF } } var TQ = EQ; function _Q(y) { var g = typeof y; return g == "string" || g == "number" || g == "symbol" || g == "boolean" ? y !== "__proto__" : y === null } var CQ = _Q; function SQ(y, g) { var x = y.__data__; return CQ(g) ? x[typeof g == "string" ? "string" : "hash"] : x.map } var jE = SQ; function AQ(y) { var g = jE(this, y).delete(y); return this.size -= g ? 1 : 0, g } var LQ = AQ; function MQ(y) { return jE(this, y).get(y) } var DQ = MQ; function IQ(y) { return jE(this, y).has(y) } var OQ = IQ; function NQ(y, g) { var x = jE(this, y), T = x.size; return x.set(y, g), this.size += x.size == T ? 0 : 1, this } var PQ = NQ; function X5(y) { var g = -1, x = y == null ? 0 : y.length; for (this.clear(); ++g < x;) { var T = y[g]; this.set(T[0], T[1]) } } X5.prototype.clear = TQ, X5.prototype.delete = LQ, X5.prototype.get = DQ, X5.prototype.has = OQ, X5.prototype.set = PQ; var DF = X5, FQ = "Expected a function"; function IL(y, g) { if (typeof y != "function" || g != null && typeof g != "function") throw new TypeError(FQ); var x = function () { var T = arguments, A = g ? g.apply(this, T) : T[0], I = x.cache; if (I.has(A)) return I.get(A); var O = y.apply(this, T); return x.cache = I.set(A, O) || I, O }; return x.cache = new (IL.Cache || DF), x } IL.Cache = DF; var BQ = IL, RQ = 500; function jQ(y) { var g = BQ(y, function (T) { return x.size === RQ && x.clear(), T }), x = g.cache; return g } var $Q = jQ, zQ = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, qQ = /\\(\\)?/g, HQ = $Q(function (y) { var g = []; return y.charCodeAt(0) === 46 && g.push(""), y.replace(zQ, function (x, T, A, I) { g.push(A ? I.replace(qQ, "$1") : T || x) }), g }), IF = HQ; function VQ(y, g) { for (var x = -1, T = y == null ? 0 : y.length, A = Array(T); ++x < T;)A[x] = g(y[x], x, y); return A } var OF = VQ, GQ = 1 / 0, NF = ss ? ss.prototype : void 0, PF = NF ? NF.toString : void 0; function FF(y) { if (typeof y == "string") return y; if (BE(y)) return OF(y, FF) + ""; if (Er(y)) return PF ? PF.call(y) : ""; var g = y + ""; return g == "0" && 1 / y == -GQ ? "-0" : g } var UQ = FF; function WQ(y) { return y == null ? "" : UQ(y) } var $E = WQ; function OL(y, g) { return BE(y) ? y : EX(y, g) ? [y] : IF($E(y)) } var zE = OL, KQ = 1 / 0; function YQ(y) { if (typeof y == "string" || Er(y)) return y; var g = y + ""; return g == "0" && 1 / y == -KQ ? "-0" : g } var NL = YQ; function XQ(y, g) { g = zE(g, y); for (var x = 0, T = g.length; y != null && x < T;)y = y[NL(g[x++])]; return x && x == T ? y : void 0 } var QQ = XQ; function BF(y, g, x) { var T = y == null ? void 0 : QQ(y, g); return T === void 0 ? x : T } var ZQ = BF, JQ = function () { try { var y = DL(Object, "defineProperty"); return y({}, "", {}), y } catch { } }(), tZ = JQ; function eZ(y, g, x) { g == "__proto__" && tZ ? tZ(y, g, { configurable: !0, enumerable: !0, value: x, writable: !0 }) : y[g] = x } var nZ = eZ, rZ = Object.prototype, iZ = rZ.hasOwnProperty; function sZ(y, g, x) { var T = y[g]; (!(iZ.call(y, g) && MF(T, x)) || x === void 0 && !(g in y)) && nZ(y, g, x) } var aZ = sZ, oZ = 9007199254740991, gg = /^(?:0|[1-9]\d*)$/; function cZ(y, g) { var x = typeof y; return g = g ?? oZ, !!g && (x == "number" || x != "symbol" && gg.test(y)) && y > -1 && y % 1 == 0 && y < g } var bm = cZ; function RF(y, g, x, T) { if (!gn(y)) return y; g = zE(g, y); for (var A = -1, I = g.length, O = I - 1, $ = y; $ != null && ++A < I;) { var z = NL(g[A]), S = x; if (z === "__proto__" || z === "constructor" || z === "prototype") return y; if (A != O) { var V = $[z]; S = T ? T(V, z, $) : void 0, S === void 0 && (S = gn(V) ? V : bm(g[A + 1]) ? [] : {}) } aZ($, z, S), $ = $[z] } return y } var uZ = RF; function lZ(y, g, x) { return y == null ? y : uZ(y, g, x) } var hZ = lZ; function fZ(y, g) { var x = -1, T = y.length; for (g || (g = Array(T)); ++x < T;)g[x] = y[x]; return g } var dZ = fZ; function gZ(y) { return BE(y) ? OF(y, NL) : Er(y) ? [y] : dZ(IF($E(y))) } var pZ = gZ, bZ = { data: function (g) { var x = { field: "data", bindingEvent: "data", allowBinding: !1, allowSetting: !1, allowGetting: !1, settingEvent: "data", settingTriggersEvent: !1, triggerFnName: "trigger", immutableKeys: {}, updateStyle: !1, beforeGet: function (A) { }, beforeSet: function (A, I) { }, onSet: function (A) { }, canSet: function (A) { return !0 } }; return g = Ke({}, x, g), function (A, I) { var O = g, $ = this, z = $.length !== void 0, S = z ? $ : [$], V = z ? $[0] : $; if (Tt(A)) { var U = A.indexOf(".") !== -1, tt = U && pZ(A); if (O.allowGetting && I === void 0) { var at; return V && (O.beforeGet(V), tt && V._private[O.field][A] === void 0 ? at = ZQ(V._private[O.field], tt) : at = V._private[O.field][A]), at } else if (O.allowSetting && I !== void 0) { var ut = !O.immutableKeys[A]; if (ut) { var dt = b({}, A, I); O.beforeSet($, dt); for (var At = 0, xt = S.length; At < xt; At++) { var Mt = S[At]; O.canSet(Mt) && (tt && V._private[O.field][A] === void 0 ? hZ(Mt._private[O.field], tt, I) : Mt._private[O.field][A] = I) } O.updateStyle && $.updateStyle(), O.onSet($), O.settingTriggersEvent && $[O.triggerFnName](O.settingEvent) } } } else if (O.allowSetting && ht(A)) { var Dt = A, Bt, Zt, Kt = Object.keys(Dt); O.beforeSet($, Dt); for (var $t = 0; $t < Kt.length; $t++) { Bt = Kt[$t], Zt = Dt[Bt]; var ee = !O.immutableKeys[Bt]; if (ee) for (var Ht = 0; Ht < S.length; Ht++) { var ge = S[Ht]; O.canSet(ge) && (ge._private[O.field][Bt] = Zt) } } O.updateStyle && $.updateStyle(), O.onSet($), O.settingTriggersEvent && $[O.triggerFnName](O.settingEvent) } else if (O.allowBinding && kt(A)) { var be = A; $.on(O.bindingEvent, be) } else if (O.allowGetting && A === void 0) { var re; return V && (O.beforeGet(V), re = V._private[O.field]), re } return $ } }, removeData: function (g) { var x = { field: "data", event: "data", triggerFnName: "trigger", triggerEvent: !1, immutableKeys: {} }; return g = Ke({}, x, g), function (A) { var I = g, O = this, $ = O.length !== void 0, z = $ ? O : [O]; if (Tt(A)) { for (var S = A.split(/\s+/), V = S.length, U = 0; U < V; U++) { var tt = S[U]; if (!J(tt)) { var at = !I.immutableKeys[tt]; if (at) for (var ut = 0, dt = z.length; ut < dt; ut++)z[ut]._private[I.field][tt] = void 0 } } I.triggerEvent && O[I.triggerFnName](I.event) } else if (A === void 0) { for (var At = 0, xt = z.length; At < xt; At++)for (var Mt = z[At]._private[I.field], Dt = Object.keys(Mt), Bt = 0; Bt < Dt.length; Bt++) { var Zt = Dt[Bt], Kt = !I.immutableKeys[Zt]; Kt && (Mt[Zt] = void 0) } I.triggerEvent && O[I.triggerFnName](I.event) } return O } } }, vZ = { eventAliasesOn: function (g) { var x = g; x.addListener = x.listen = x.bind = x.on, x.unlisten = x.unbind = x.off = x.removeListener, x.trigger = x.emit, x.pon = x.promiseOn = function (T, A) { var I = this, O = Array.prototype.slice.call(arguments, 0); return new W5(function ($, z) { var S = function (at) { I.off.apply(I, U), $(at) }, V = O.concat([S]), U = V.concat([]); I.on.apply(I, V) }) } } }, jc = {};[wX, bZ, vZ].forEach(function (y) { Ke(jc, y) }); var wZ = { animate: jc.animate(), animation: jc.animation(), animated: jc.animated(), clearQueue: jc.clearQueue(), delay: jc.delay(), delayAnimation: jc.delayAnimation(), stop: jc.stop() }, qE = { classes: function (g) { var x = this; if (g === void 0) { var T = []; return x[0]._private.classes.forEach(function (ut) { return T.push(ut) }), T } else yt(g) || (g = (g || "").match(/\S+/g) || []); for (var A = [], I = new $5(g), O = 0; O < x.length; O++) { for (var $ = x[O], z = $._private, S = z.classes, V = !1, U = 0; U < g.length; U++) { var tt = g[U], at = S.has(tt); if (!at) { V = !0; break } } V || (V = S.size !== g.length), V && (z.classes = I, A.push($)) } return A.length > 0 && this.spawn(A).updateStyle().emit("class"), x }, addClass: function (g) { return this.toggleClass(g, !0) }, hasClass: function (g) { var x = this[0]; return x != null && x._private.classes.has(g) }, toggleClass: function (g, x) { yt(g) || (g = g.match(/\S+/g) || []); for (var T = this, A = x === void 0, I = [], O = 0, $ = T.length; O < $; O++)for (var z = T[O], S = z._private.classes, V = !1, U = 0; U < g.length; U++) { var tt = g[U], at = S.has(tt), ut = !1; x || A && !at ? (S.add(tt), ut = !0) : (!x || A && at) && (S.delete(tt), ut = !0), !V && ut && (I.push(z), V = !0) } return I.length > 0 && this.spawn(I).updateStyle().emit("class"), T }, removeClass: function (g) { return this.toggleClass(g, !1) }, flashClass: function (g, x) { var T = this; if (x == null) x = 250; else if (x === 0) return T; return T.addClass(g), setTimeout(function () { T.removeClass(g) }, x), T } }; qE.className = qE.classNames = qE.classes; var dc = { metaChar: "[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]", comparatorOp: "=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=", boolOp: "\\?|\\!|\\^", string: `"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`, number: Te, meta: "degree|indegree|outdegree", separator: "\\s*,\\s*", descendant: "\\s+", child: "\\s+>\\s+", subject: "\\$", group: "node|edge|\\*", directedEdge: "\\s+->\\s+", undirectedEdge: "\\s+<->\\s+" }; dc.variable = "(?:[\\w-.]|(?:\\\\" + dc.metaChar + "))+", dc.className = "(?:[\\w-]|(?:\\\\" + dc.metaChar + "))+", dc.value = dc.string + "|" + dc.number, dc.id = dc.variable, function () { var y, g, x; for (y = dc.comparatorOp.split("|"), x = 0; x < y.length; x++)g = y[x], dc.comparatorOp += "|@" + g; for (y = dc.comparatorOp.split("|"), x = 0; x < y.length; x++)g = y[x], !(g.indexOf("!") >= 0) && g !== "=" && (dc.comparatorOp += "|\\!" + g) }(); var ru = function () { return { checks: [] } }, ts = { GROUP: 0, COLLECTION: 1, FILTER: 2, DATA_COMPARE: 3, DATA_EXIST: 4, DATA_BOOL: 5, META_COMPARE: 6, STATE: 7, ID: 8, CLASS: 9, UNDIRECTED_EDGE: 10, DIRECTED_EDGE: 11, NODE_SOURCE: 12, NODE_TARGET: 13, NODE_NEIGHBOR: 14, CHILD: 15, DESCENDANT: 16, PARENT: 17, ANCESTOR: 18, COMPOUND_SPLIT: 19, TRUE: 20 }, PL = [{ selector: ":selected", matches: function (g) { return g.selected() } }, { selector: ":unselected", matches: function (g) { return !g.selected() } }, { selector: ":selectable", matches: function (g) { return g.selectable() } }, { selector: ":unselectable", matches: function (g) { return !g.selectable() } }, { selector: ":locked", matches: function (g) { return g.locked() } }, { selector: ":unlocked", matches: function (g) { return !g.locked() } }, { selector: ":visible", matches: function (g) { return g.visible() } }, { selector: ":hidden", matches: function (g) { return !g.visible() } }, { selector: ":transparent", matches: function (g) { return g.transparent() } }, { selector: ":grabbed", matches: function (g) { return g.grabbed() } }, { selector: ":free", matches: function (g) { return !g.grabbed() } }, { selector: ":removed", matches: function (g) { return g.removed() } }, { selector: ":inside", matches: function (g) { return !g.removed() } }, { selector: ":grabbable", matches: function (g) { return g.grabbable() } }, { selector: ":ungrabbable", matches: function (g) { return !g.grabbable() } }, { selector: ":animated", matches: function (g) { return g.animated() } }, { selector: ":unanimated", matches: function (g) { return !g.animated() } }, { selector: ":parent", matches: function (g) { return g.isParent() } }, { selector: ":childless", matches: function (g) { return g.isChildless() } }, { selector: ":child", matches: function (g) { return g.isChild() } }, { selector: ":orphan", matches: function (g) { return g.isOrphan() } }, { selector: ":nonorphan", matches: function (g) { return g.isChild() } }, { selector: ":compound", matches: function (g) { return g.isNode() ? g.isParent() : g.source().isParent() || g.target().isParent() } }, { selector: ":loop", matches: function (g) { return g.isLoop() } }, { selector: ":simple", matches: function (g) { return g.isSimple() } }, { selector: ":active", matches: function (g) { return g.active() } }, { selector: ":inactive", matches: function (g) { return !g.active() } }, { selector: ":backgrounding", matches: function (g) { return g.backgrounding() } }, { selector: ":nonbackgrounding", matches: function (g) { return !g.backgrounding() } }].sort(function (y, g) { return jt(y.selector, g.selector) }), mZ = function () { for (var y = {}, g, x = 0; x < PL.length; x++)g = PL[x], y[g.selector] = g.matches; return y }(), yZ = function (g, x) { return mZ[g](x) }, xZ = "(" + PL.map(function (y) { return y.selector }).join("|") + ")", Q5 = function (g) { return g.replace(new RegExp("\\\\(" + dc.metaChar + ")", "g"), function (x, T) { return T }) }, vm = function (g, x, T) { g[g.length - 1] = T }, Ve = [{ name: "group", query: !0, regex: "(" + dc.group + ")", populate: function (g, x, T) { var A = E(T, 1), I = A[0]; x.checks.push({ type: ts.GROUP, value: I === "*" ? I : I + "s" }) } }, { name: "state", query: !0, regex: xZ, populate: function (g, x, T) { var A = E(T, 1), I = A[0]; x.checks.push({ type: ts.STATE, value: I }) } }, { name: "id", query: !0, regex: "\\#(" + dc.id + ")", populate: function (g, x, T) { var A = E(T, 1), I = A[0]; x.checks.push({ type: ts.ID, value: Q5(I) }) } }, { name: "className", query: !0, regex: "\\.(" + dc.className + ")", populate: function (g, x, T) { var A = E(T, 1), I = A[0]; x.checks.push({ type: ts.CLASS, value: Q5(I) }) } }, { name: "dataExists", query: !0, regex: "\\[\\s*(" + dc.variable + ")\\s*\\]", populate: function (g, x, T) { var A = E(T, 1), I = A[0]; x.checks.push({ type: ts.DATA_EXIST, field: Q5(I) }) } }, { name: "dataCompare", query: !0, regex: "\\[\\s*(" + dc.variable + ")\\s*(" + dc.comparatorOp + ")\\s*(" + dc.value + ")\\s*\\]", populate: function (g, x, T) { var A = E(T, 3), I = A[0], O = A[1], $ = A[2], z = new RegExp("^" + dc.string + "$").exec($) != null; z ? $ = $.substring(1, $.length - 1) : $ = parseFloat($), x.checks.push({ type: ts.DATA_COMPARE, field: Q5(I), operator: O, value: $ }) } }, { name: "dataBool", query: !0, regex: "\\[\\s*(" + dc.boolOp + ")\\s*(" + dc.variable + ")\\s*\\]", populate: function (g, x, T) { var A = E(T, 2), I = A[0], O = A[1]; x.checks.push({ type: ts.DATA_BOOL, field: Q5(O), operator: I }) } }, { name: "metaCompare", query: !0, regex: "\\[\\[\\s*(" + dc.meta + ")\\s*(" + dc.comparatorOp + ")\\s*(" + dc.number + ")\\s*\\]\\]", populate: function (g, x, T) { var A = E(T, 3), I = A[0], O = A[1], $ = A[2]; x.checks.push({ type: ts.META_COMPARE, field: Q5(I), operator: O, value: parseFloat($) }) } }, { name: "nextQuery", separator: !0, regex: dc.separator, populate: function (g, x) { var T = g.currentSubject, A = g.edgeCount, I = g.compoundCount, O = g[g.length - 1]; T != null && (O.subject = T, g.currentSubject = null), O.edgeCount = A, O.compoundCount = I, g.edgeCount = 0, g.compoundCount = 0; var $ = g[g.length++] = ru(); return $ } }, { name: "directedEdge", separator: !0, regex: dc.directedEdge, populate: function (g, x) { if (g.currentSubject == null) { var T = ru(), A = x, I = ru(); return T.checks.push({ type: ts.DIRECTED_EDGE, source: A, target: I }), vm(g, x, T), g.edgeCount++, I } else { var O = ru(), $ = x, z = ru(); return O.checks.push({ type: ts.NODE_SOURCE, source: $, target: z }), vm(g, x, O), g.edgeCount++, z } } }, { name: "undirectedEdge", separator: !0, regex: dc.undirectedEdge, populate: function (g, x) { if (g.currentSubject == null) { var T = ru(), A = x, I = ru(); return T.checks.push({ type: ts.UNDIRECTED_EDGE, nodes: [A, I] }), vm(g, x, T), g.edgeCount++, I } else { var O = ru(), $ = x, z = ru(); return O.checks.push({ type: ts.NODE_NEIGHBOR, node: $, neighbor: z }), vm(g, x, O), z } } }, { name: "child", separator: !0, regex: dc.child, populate: function (g, x) { if (g.currentSubject == null) { var T = ru(), A = ru(), I = g[g.length - 1]; return T.checks.push({ type: ts.CHILD, parent: I, child: A }), vm(g, x, T), g.compoundCount++, A } else if (g.currentSubject === x) { var O = ru(), $ = g[g.length - 1], z = ru(), S = ru(), V = ru(), U = ru(); return O.checks.push({ type: ts.COMPOUND_SPLIT, left: $, right: z, subject: S }), S.checks = x.checks, x.checks = [{ type: ts.TRUE }], U.checks.push({ type: ts.TRUE }), z.checks.push({ type: ts.PARENT, parent: U, child: V }), vm(g, $, O), g.currentSubject = S, g.compoundCount++, V } else { var tt = ru(), at = ru(), ut = [{ type: ts.PARENT, parent: tt, child: at }]; return tt.checks = x.checks, x.checks = ut, g.compoundCount++, at } } }, { name: "descendant", separator: !0, regex: dc.descendant, populate: function (g, x) { if (g.currentSubject == null) { var T = ru(), A = ru(), I = g[g.length - 1]; return T.checks.push({ type: ts.DESCENDANT, ancestor: I, descendant: A }), vm(g, x, T), g.compoundCount++, A } else if (g.currentSubject === x) { var O = ru(), $ = g[g.length - 1], z = ru(), S = ru(), V = ru(), U = ru(); return O.checks.push({ type: ts.COMPOUND_SPLIT, left: $, right: z, subject: S }), S.checks = x.checks, x.checks = [{ type: ts.TRUE }], U.checks.push({ type: ts.TRUE }), z.checks.push({ type: ts.ANCESTOR, ancestor: U, descendant: V }), vm(g, $, O), g.currentSubject = S, g.compoundCount++, V } else { var tt = ru(), at = ru(), ut = [{ type: ts.ANCESTOR, ancestor: tt, descendant: at }]; return tt.checks = x.checks, x.checks = ut, g.compoundCount++, at } } }, { name: "subject", modifier: !0, regex: dc.subject, populate: function (g, x) { if (g.currentSubject != null && g.currentSubject !== x) return Wo("Redefinition of subject in selector `" + g.toString() + "`"), !1; g.currentSubject = x; var T = g[g.length - 1], A = T.checks[0], I = A == null ? null : A.type; I === ts.DIRECTED_EDGE ? A.type = ts.NODE_TARGET : I === ts.UNDIRECTED_EDGE && (A.type = ts.NODE_NEIGHBOR, A.node = A.nodes[1], A.neighbor = A.nodes[0], A.nodes = null) } }]; Ve.forEach(function (y) { return y.regexObj = new RegExp("^" + y.regex) }); var kZ = function (g) { for (var x, T, A, I = 0; I < Ve.length; I++) { var O = Ve[I], $ = O.name, z = g.match(O.regexObj); if (z != null) { T = z, x = O, A = $; var S = z[0]; g = g.substring(S.length); break } } return { expr: x, match: T, name: A, remaining: g } }, EZ = function (g) { var x = g.match(/^\s+/); if (x) { var T = x[0]; g = g.substring(T.length) } return g }, TZ = function (g) { var x = this, T = x.inputText = g, A = x[0] = ru(); for (x.length = 1, T = EZ(T); ;) { var I = kZ(T); if (I.expr == null) return Wo("The selector `" + g + "`is invalid"), !1; var O = I.match.slice(1), $ = I.expr.populate(x, A, O); if ($ === !1) return !1; if ($ != null && (A = $), T = I.remaining, T.match(/^\s*$/)) break } var z = x[x.length - 1]; x.currentSubject != null && (z.subject = x.currentSubject), z.edgeCount = x.edgeCount, z.compoundCount = x.compoundCount; for (var S = 0; S < x.length; S++) { var V = x[S]; if (V.compoundCount > 0 && V.edgeCount > 0) return Wo("The selector `" + g + "` is invalid because it uses both a compound selector and an edge selector"), !1; if (V.edgeCount > 1) return Wo("The selector `" + g + "` is invalid because it uses multiple edge selectors"), !1; V.edgeCount === 1 && Wo("The selector `" + g + "` is deprecated.  Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons.  Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.") } return !0 }, _Z = function () { if (this.toStringCache != null) return this.toStringCache; for (var g = function (V) { return V ?? "" }, x = function (V) { return Tt(V) ? '"' + V + '"' : g(V) }, T = function (V) { return " " + V + " " }, A = function (V, U) { var tt = V.type, at = V.value; switch (tt) { case ts.GROUP: { var ut = g(at); return ut.substring(0, ut.length - 1) } case ts.DATA_COMPARE: { var dt = V.field, At = V.operator; return "[" + dt + T(g(At)) + x(at) + "]" } case ts.DATA_BOOL: { var xt = V.operator, Mt = V.field; return "[" + g(xt) + Mt + "]" } case ts.DATA_EXIST: { var Dt = V.field; return "[" + Dt + "]" } case ts.META_COMPARE: { var Bt = V.operator, Zt = V.field; return "[[" + Zt + T(g(Bt)) + x(at) + "]]" } case ts.STATE: return at; case ts.ID: return "#" + at; case ts.CLASS: return "." + at; case ts.PARENT: case ts.CHILD: return I(V.parent, U) + T(">") + I(V.child, U); case ts.ANCESTOR: case ts.DESCENDANT: return I(V.ancestor, U) + " " + I(V.descendant, U); case ts.COMPOUND_SPLIT: { var Kt = I(V.left, U), $t = I(V.subject, U), ee = I(V.right, U); return Kt + (Kt.length > 0 ? " " : "") + $t + ee } case ts.TRUE: return "" } }, I = function (V, U) { return V.checks.reduce(function (tt, at, ut) { return tt + (U === V && ut === 0 ? "$" : "") + A(at, U) }, "") }, O = "", $ = 0; $ < this.length; $++) { var z = this[$]; O += I(z, z.subject), this.length > 1 && $ < this.length - 1 && (O += ", ") } return this.toStringCache = O, O }, CZ = { parse: TZ, toString: _Z }, jF = function (g, x, T) { var A, I = Tt(g), O = rt(g), $ = Tt(T), z, S, V = !1, U = !1, tt = !1; switch (x.indexOf("!") >= 0 && (x = x.replace("!", ""), U = !0), x.indexOf("@") >= 0 && (x = x.replace("@", ""), V = !0), (I || $ || V) && (z = !I && !O ? "" : "" + g, S = "" + T), V && (g = z = z.toLowerCase(), T = S = S.toLowerCase()), x) { case "*=": A = z.indexOf(S) >= 0; break; case "$=": A = z.indexOf(S, z.length - S.length) >= 0; break; case "^=": A = z.indexOf(S) === 0; break; case "=": A = g === T; break; case ">": tt = !0, A = g > T; break; case ">=": tt = !0, A = g >= T; break; case "<": tt = !0, A = g < T; break; case "<=": tt = !0, A = g <= T; break; default: A = !1; break }return U && (g != null || !tt) && (A = !A), A }, SZ = function (g, x) { switch (x) { case "?": return !!g; case "!": return !g; case "^": return g === void 0 } }, AZ = function (g) { return g !== void 0 }, FL = function (g, x) { return g.data(x) }, LZ = function (g, x) { return g[x]() }, il = [], zu = function (g, x) { return g.checks.every(function (T) { return il[T.type](T, x) }) }; il[ts.GROUP] = function (y, g) { var x = y.value; return x === "*" || x === g.group() }, il[ts.STATE] = function (y, g) { var x = y.value; return yZ(x, g) }, il[ts.ID] = function (y, g) { var x = y.value; return g.id() === x }, il[ts.CLASS] = function (y, g) { var x = y.value; return g.hasClass(x) }, il[ts.META_COMPARE] = function (y, g) { var x = y.field, T = y.operator, A = y.value; return jF(LZ(g, x), T, A) }, il[ts.DATA_COMPARE] = function (y, g) { var x = y.field, T = y.operator, A = y.value; return jF(FL(g, x), T, A) }, il[ts.DATA_BOOL] = function (y, g) { var x = y.field, T = y.operator; return SZ(FL(g, x), T) }, il[ts.DATA_EXIST] = function (y, g) { var x = y.field; return y.operator, AZ(FL(g, x)) }, il[ts.UNDIRECTED_EDGE] = function (y, g) { var x = y.nodes[0], T = y.nodes[1], A = g.source(), I = g.target(); return zu(x, A) && zu(T, I) || zu(T, A) && zu(x, I) }, il[ts.NODE_NEIGHBOR] = function (y, g) { return zu(y.node, g) && g.neighborhood().some(function (x) { return x.isNode() && zu(y.neighbor, x) }) }, il[ts.DIRECTED_EDGE] = function (y, g) { return zu(y.source, g.source()) && zu(y.target, g.target()) }, il[ts.NODE_SOURCE] = function (y, g) { return zu(y.source, g) && g.outgoers().some(function (x) { return x.isNode() && zu(y.target, x) }) }, il[ts.NODE_TARGET] = function (y, g) { return zu(y.target, g) && g.incomers().some(function (x) { return x.isNode() && zu(y.source, x) }) }, il[ts.CHILD] = function (y, g) { return zu(y.child, g) && zu(y.parent, g.parent()) }, il[ts.PARENT] = function (y, g) { return zu(y.parent, g) && g.children().some(function (x) { return zu(y.child, x) }) }, il[ts.DESCENDANT] = function (y, g) { return zu(y.descendant, g) && g.ancestors().some(function (x) { return zu(y.ancestor, x) }) }, il[ts.ANCESTOR] = function (y, g) { return zu(y.ancestor, g) && g.descendants().some(function (x) { return zu(y.descendant, x) }) }, il[ts.COMPOUND_SPLIT] = function (y, g) { return zu(y.subject, g) && zu(y.left, g) && zu(y.right, g) }, il[ts.TRUE] = function () { return !0 }, il[ts.COLLECTION] = function (y, g) { var x = y.value; return x.has(g) }, il[ts.FILTER] = function (y, g) { var x = y.value; return x(g) }; var MZ = function (g) { var x = this; if (x.length === 1 && x[0].checks.length === 1 && x[0].checks[0].type === ts.ID) return g.getElementById(x[0].checks[0].value).collection(); var T = function (I) { for (var O = 0; O < x.length; O++) { var $ = x[O]; if (zu($, I)) return !0 } return !1 }; return x.text() == null && (T = function () { return !0 }), g.filter(T) }, DZ = function (g) { for (var x = this, T = 0; T < x.length; T++) { var A = x[T]; if (zu(A, g)) return !0 } return !1 }, IZ = { matches: DZ, filter: MZ }, wm = function (g) { this.inputText = g, this.currentSubject = null, this.compoundCount = 0, this.edgeCount = 0, this.length = 0, g == null || Tt(g) && g.match(/^\s*$/) || (lt(g) ? this.addQuery({ checks: [{ type: ts.COLLECTION, value: g.collection() }] }) : kt(g) ? this.addQuery({ checks: [{ type: ts.FILTER, value: g }] }) : Tt(g) ? this.parse(g) || (this.invalid = !0) : Ec("A selector must be created from a string; found ")) }, uv = wm.prototype;[CZ, IZ].forEach(function (y) { return Ke(uv, y) }), uv.text = function () { return this.inputText }, uv.size = function () { return this.length }, uv.eq = function (y) { return this[y] }, uv.sameText = function (y) { return !this.invalid && !y.invalid && this.text() === y.text() }, uv.addQuery = function (y) { this[this.length++] = y }, uv.selector = uv.toString; var mp = { allAre: function (g) { var x = new wm(g); return this.every(function (T) { return x.matches(T) }) }, is: function (g) { var x = new wm(g); return this.some(function (T) { return x.matches(T) }) }, some: function (g, x) { for (var T = 0; T < this.length; T++) { var A = x ? g.apply(x, [this[T], T, this]) : g(this[T], T, this); if (A) return !0 } return !1 }, every: function (g, x) { for (var T = 0; T < this.length; T++) { var A = x ? g.apply(x, [this[T], T, this]) : g(this[T], T, this); if (!A) return !1 } return !0 }, same: function (g) { if (this === g) return !0; g = this.cy().collection(g); var x = this.length, T = g.length; return x !== T ? !1 : x === 1 ? this[0] === g[0] : this.every(function (A) { return g.hasElementWithId(A.id()) }) }, anySame: function (g) { return g = this.cy().collection(g), this.some(function (x) { return g.hasElementWithId(x.id()) }) }, allAreNeighbors: function (g) { g = this.cy().collection(g); var x = this.neighborhood(); return g.every(function (T) { return x.hasElementWithId(T.id()) }) }, contains: function (g) { g = this.cy().collection(g); var x = this; return g.every(function (T) { return x.hasElementWithId(T.id()) }) } }; mp.allAreNeighbours = mp.allAreNeighbors, mp.has = mp.contains, mp.equal = mp.equals = mp.same; var ud = function (g, x) { return function (A, I, O, $) { var z = A, S = this, V; if (z == null ? V = "" : lt(z) && z.length === 1 && (V = z.id()), S.length === 1 && V) { var U = S[0]._private, tt = U.traversalCache = U.traversalCache || {}, at = tt[x] = tt[x] || [], ut = ad(V), dt = at[ut]; return dt || (at[ut] = g.call(S, A, I, O, $)) } else return g.call(S, A, I, O, $) } }, Z5 = { parent: function (g) { var x = []; if (this.length === 1) { var T = this[0]._private.parent; if (T) return T } for (var A = 0; A < this.length; A++) { var I = this[A], O = I._private.parent; O && x.push(O) } return this.spawn(x, !0).filter(g) }, parents: function (g) { for (var x = [], T = this.parent(); T.nonempty();) { for (var A = 0; A < T.length; A++) { var I = T[A]; x.push(I) } T = T.parent() } return this.spawn(x, !0).filter(g) }, commonAncestors: function (g) { for (var x, T = 0; T < this.length; T++) { var A = this[T], I = A.parents(); x = x || I, x = x.intersect(I) } return x.filter(g) }, orphans: function (g) { return this.stdFilter(function (x) { return x.isOrphan() }).filter(g) }, nonorphans: function (g) { return this.stdFilter(function (x) { return x.isChild() }).filter(g) }, children: ud(function (y) { for (var g = [], x = 0; x < this.length; x++)for (var T = this[x], A = T._private.children, I = 0; I < A.length; I++)g.push(A[I]); return this.spawn(g, !0).filter(y) }, "children"), siblings: function (g) { return this.parent().children().not(this).filter(g) }, isParent: function () { var g = this[0]; if (g) return g.isNode() && g._private.children.length !== 0 }, isChildless: function () { var g = this[0]; if (g) return g.isNode() && g._private.children.length === 0 }, isChild: function () { var g = this[0]; if (g) return g.isNode() && g._private.parent != null }, isOrphan: function () { var g = this[0]; if (g) return g.isNode() && g._private.parent == null }, descendants: function (g) { var x = []; function T(A) { for (var I = 0; I < A.length; I++) { var O = A[I]; x.push(O), O.children().nonempty() && T(O.children()) } } return T(this.children()), this.spawn(x, !0).filter(g) } }; function HE(y, g, x, T) { for (var A = [], I = new $5, O = y.cy(), $ = O.hasCompoundNodes(), z = 0; z < y.length; z++) { var S = y[z]; x ? A.push(S) : $ && T(A, I, S) } for (; A.length > 0;) { var V = A.shift(); g(V), I.add(V.id()), $ && T(A, I, V) } return y } function Tk(y, g, x) { if (x.isParent()) for (var T = x._private.children, A = 0; A < T.length; A++) { var I = T[A]; g.has(I.id()) || y.push(I) } } Z5.forEachDown = function (y) { var g = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return HE(this, y, g, Tk) }; function $F(y, g, x) { if (x.isChild()) { var T = x._private.parent; g.has(T.id()) || y.push(T) } } Z5.forEachUp = function (y) { var g = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return HE(this, y, g, $F) }; function OZ(y, g, x) { $F(y, g, x), Tk(y, g, x) } Z5.forEachUpAndDown = function (y) { var g = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return HE(this, y, g, OZ) }, Z5.ancestors = Z5.parents; var _k, zF; _k = zF = { data: jc.data({ field: "data", bindingEvent: "data", allowBinding: !0, allowSetting: !0, settingEvent: "data", settingTriggersEvent: !0, triggerFnName: "trigger", allowGetting: !0, immutableKeys: { id: !0, source: !0, target: !0, parent: !0 }, updateStyle: !0 }), removeData: jc.removeData({ field: "data", event: "data", triggerFnName: "trigger", triggerEvent: !0, immutableKeys: { id: !0, source: !0, target: !0, parent: !0 }, updateStyle: !0 }), scratch: jc.data({ field: "scratch", bindingEvent: "scratch", allowBinding: !0, allowSetting: !0, settingEvent: "scratch", settingTriggersEvent: !0, triggerFnName: "trigger", allowGetting: !0, updateStyle: !0 }), removeScratch: jc.removeData({ field: "scratch", event: "scratch", triggerFnName: "trigger", triggerEvent: !0, updateStyle: !0 }), rscratch: jc.data({ field: "rscratch", allowBinding: !1, allowSetting: !0, settingTriggersEvent: !1, allowGetting: !0 }), removeRscratch: jc.removeData({ field: "rscratch", triggerEvent: !1 }), id: function () { var g = this[0]; if (g) return g._private.data.id } }, _k.attr = _k.data, _k.removeAttr = _k.removeData; var NZ = zF, VE = {}; function J5(y) { return function (g) { var x = this; if (g === void 0 && (g = !0), x.length !== 0) if (x.isNode() && !x.removed()) { for (var T = 0, A = x[0], I = A._private.edges, O = 0; O < I.length; O++) { var $ = I[O]; !g && $.isLoop() || (T += y(A, $)) } return T } else return } } Ke(VE, { degree: J5(function (y, g) { return g.source().same(g.target()) ? 2 : 1 }), indegree: J5(function (y, g) { return g.target().same(y) ? 1 : 0 }), outdegree: J5(function (y, g) { return g.source().same(y) ? 1 : 0 }) }); function t6(y, g) { return function (x) { for (var T, A = this.nodes(), I = 0; I < A.length; I++) { var O = A[I], $ = O[y](x); $ !== void 0 && (T === void 0 || g($, T)) && (T = $) } return T } } Ke(VE, { minDegree: t6("degree", function (y, g) { return y < g }), maxDegree: t6("degree", function (y, g) { return y > g }), minIndegree: t6("indegree", function (y, g) { return y < g }), maxIndegree: t6("indegree", function (y, g) { return y > g }), minOutdegree: t6("outdegree", function (y, g) { return y < g }), maxOutdegree: t6("outdegree", function (y, g) { return y > g }) }), Ke(VE, { totalDegree: function (g) { for (var x = 0, T = this.nodes(), A = 0; A < T.length; A++)x += T[A].degree(g); return x } }); var yp, qF, Ck = function (g, x, T) { for (var A = 0; A < g.length; A++) { var I = g[A]; if (!I.locked()) { var O = I._private.position, $ = { x: x.x != null ? x.x - O.x : 0, y: x.y != null ? x.y - O.y : 0 }; I.isParent() && !($.x === 0 && $.y === 0) && I.children().shift($, T), I.dirtyBoundingBoxCache() } } }, HF = { field: "position", bindingEvent: "position", allowBinding: !0, allowSetting: !0, settingEvent: "position", settingTriggersEvent: !0, triggerFnName: "emitAndNotify", allowGetting: !0, validKeys: ["x", "y"], beforeGet: function (g) { g.updateCompoundBounds() }, beforeSet: function (g, x) { Ck(g, x, !1) }, onSet: function (g) { g.dirtyCompoundBoundsCache() }, canSet: function (g) { return !g.locked() } }; yp = qF = { position: jc.data(HF), silentPosition: jc.data(Ke({}, HF, { allowBinding: !1, allowSetting: !0, settingTriggersEvent: !1, allowGetting: !1, beforeSet: function (g, x) { Ck(g, x, !0) }, onSet: function (g) { g.dirtyCompoundBoundsCache() } })), positions: function (g, x) { if (ht(g)) x ? this.silentPosition(g) : this.position(g); else if (kt(g)) { var T = g, A = this.cy(); A.startBatch(); for (var I = 0; I < this.length; I++) { var O = this[I], $ = void 0; ($ = T(O, I)) && (x ? O.silentPosition($) : O.position($)) } A.endBatch() } return this }, silentPositions: function (g) { return this.positions(g, !0) }, shift: function (g, x, T) { var A; if (ht(g) ? (A = { x: rt(g.x) ? g.x : 0, y: rt(g.y) ? g.y : 0 }, T = x) : Tt(g) && rt(x) && (A = { x: 0, y: 0 }, A[g] = x), A != null) { var I = this.cy(); I.startBatch(); for (var O = 0; O < this.length; O++) { var $ = this[O]; if (!(I.hasCompoundNodes() && $.isChild() && $.ancestors().anySame(this))) { var z = $.position(), S = { x: z.x + A.x, y: z.y + A.y }; T ? $.silentPosition(S) : $.position(S) } } I.endBatch() } return this }, silentShift: function (g, x) { return ht(g) ? this.shift(g, !0) : Tt(g) && rt(x) && this.shift(g, x, !0), this }, renderedPosition: function (g, x) { var T = this[0], A = this.cy(), I = A.zoom(), O = A.pan(), $ = ht(g) ? g : void 0, z = $ !== void 0 || x !== void 0 && Tt(g); if (T && T.isNode()) if (z) for (var S = 0; S < this.length; S++) { var V = this[S]; x !== void 0 ? V.position(g, (x - O[g]) / I) : $ !== void 0 && V.position(qP($, I, O)) } else { var U = T.position(); return $ = SE(U, I, O), g === void 0 ? $ : $[g] } else if (!z) return; return this }, relativePosition: function (g, x) { var T = this[0], A = this.cy(), I = ht(g) ? g : void 0, O = I !== void 0 || x !== void 0 && Tt(g), $ = A.hasCompoundNodes(); if (T && T.isNode()) if (O) for (var z = 0; z < this.length; z++) { var S = this[z], V = $ ? S.parent() : null, U = V && V.length > 0, tt = U; U && (V = V[0]); var at = tt ? V.position() : { x: 0, y: 0 }; x !== void 0 ? S.position(g, x + at[g]) : I !== void 0 && S.position({ x: I.x + at.x, y: I.y + at.y }) } else { var ut = T.position(), dt = $ ? T.parent() : null, At = dt && dt.length > 0, xt = At; At && (dt = dt[0]); var Mt = xt ? dt.position() : { x: 0, y: 0 }; return I = { x: ut.x - Mt.x, y: ut.y - Mt.y }, g === void 0 ? I : I[g] } else if (!O) return; return this } }, yp.modelPosition = yp.point = yp.position, yp.modelPositions = yp.points = yp.positions, yp.renderedPoint = yp.renderedPosition, yp.relativePoint = yp.relativePosition; var VF = qF, e6, $2; e6 = $2 = {}, $2.renderedBoundingBox = function (y) { var g = this.boundingBox(y), x = this.cy(), T = x.zoom(), A = x.pan(), I = g.x1 * T + A.x, O = g.x2 * T + A.x, $ = g.y1 * T + A.y, z = g.y2 * T + A.y; return { x1: I, x2: O, y1: $, y2: z, w: O - I, h: z - $ } }, $2.dirtyCompoundBoundsCache = function () { var y = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1, g = this.cy(); return !g.styleEnabled() || !g.hasCompoundNodes() ? this : (this.forEachUp(function (x) { if (x.isParent()) { var T = x._private; T.compoundBoundsClean = !1, T.bbCache = null, y || x.emitAndNotify("bounds") } }), this) }, $2.updateCompoundBounds = function () { var y = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1, g = this.cy(); if (!g.styleEnabled() || !g.hasCompoundNodes()) return this; if (!y && g.batching()) return this; function x(O) { if (!O.isParent()) return; var $ = O._private, z = O.children(), S = O.pstyle("compound-sizing-wrt-labels").value === "include", V = { width: { val: O.pstyle("min-width").pfValue, left: O.pstyle("min-width-bias-left"), right: O.pstyle("min-width-bias-right") }, height: { val: O.pstyle("min-height").pfValue, top: O.pstyle("min-height-bias-top"), bottom: O.pstyle("min-height-bias-bottom") } }, U = z.boundingBox({ includeLabels: S, includeOverlays: !1, useCache: !1 }), tt = $.position; (U.w === 0 || U.h === 0) && (U = { w: O.pstyle("width").pfValue, h: O.pstyle("height").pfValue }, U.x1 = tt.x - U.w / 2, U.x2 = tt.x + U.w / 2, U.y1 = tt.y - U.h / 2, U.y2 = tt.y + U.h / 2); function at(Ht, ge, be) { var re = 0, Pe = 0, ve = ge + be; return Ht > 0 && ve > 0 && (re = ge / ve * Ht, Pe = be / ve * Ht), { biasDiff: re, biasComplementDiff: Pe } } function ut(Ht, ge, be, re) { if (be.units === "%") switch (re) { case "width": return Ht > 0 ? be.pfValue * Ht : 0; case "height": return ge > 0 ? be.pfValue * ge : 0; case "average": return Ht > 0 && ge > 0 ? be.pfValue * (Ht + ge) / 2 : 0; case "min": return Ht > 0 && ge > 0 ? Ht > ge ? be.pfValue * ge : be.pfValue * Ht : 0; case "max": return Ht > 0 && ge > 0 ? Ht > ge ? be.pfValue * Ht : be.pfValue * ge : 0; default: return 0 } else return be.units === "px" ? be.pfValue : 0 } var dt = V.width.left.value; V.width.left.units === "px" && V.width.val > 0 && (dt = dt * 100 / V.width.val); var At = V.width.right.value; V.width.right.units === "px" && V.width.val > 0 && (At = At * 100 / V.width.val); var xt = V.height.top.value; V.height.top.units === "px" && V.height.val > 0 && (xt = xt * 100 / V.height.val); var Mt = V.height.bottom.value; V.height.bottom.units === "px" && V.height.val > 0 && (Mt = Mt * 100 / V.height.val); var Dt = at(V.width.val - U.w, dt, At), Bt = Dt.biasDiff, Zt = Dt.biasComplementDiff, Kt = at(V.height.val - U.h, xt, Mt), $t = Kt.biasDiff, ee = Kt.biasComplementDiff; $.autoPadding = ut(U.w, U.h, O.pstyle("padding"), O.pstyle("padding-relative-to").value), $.autoWidth = Math.max(U.w, V.width.val), tt.x = (-Bt + U.x1 + U.x2 + Zt) / 2, $.autoHeight = Math.max(U.h, V.height.val), tt.y = (-$t + U.y1 + U.y2 + ee) / 2 } for (var T = 0; T < this.length; T++) { var A = this[T], I = A._private; (!I.compoundBoundsClean || y) && (x(A), g.batching() || (I.compoundBoundsClean = !0)) } return this }; var T0 = function (g) { return g === 1 / 0 || g === -1 / 0 ? 0 : g }, xp = function (g, x, T, A, I) { A - x === 0 || I - T === 0 || x == null || T == null || A == null || I == null || (g.x1 = x < g.x1 ? x : g.x1, g.x2 = A > g.x2 ? A : g.x2, g.y1 = T < g.y1 ? T : g.y1, g.y2 = I > g.y2 ? I : g.y2, g.w = g.x2 - g.x1, g.h = g.y2 - g.y1) }, S3 = function (g, x) { return x == null ? g : xp(g, x.x1, x.y1, x.x2, x.y2) }, Sk = function (g, x, T) { return wp(g, x, T) }, GE = function (g, x, T) { if (!x.cy().headless()) { var A = x._private, I = A.rstyle, O = I.arrowWidth / 2, $ = x.pstyle(T + "-arrow-shape").value, z, S; if ($ !== "none") { T === "source" ? (z = I.srcX, S = I.srcY) : T === "target" ? (z = I.tgtX, S = I.tgtY) : (z = I.midX, S = I.midY); var V = A.arrowBounds = A.arrowBounds || {}, U = V[T] = V[T] || {}; U.x1 = z - O, U.y1 = S - O, U.x2 = z + O, U.y2 = S + O, U.w = U.x2 - U.x1, U.h = U.y2 - U.y1, LE(U, 1), xp(g, U.x1, U.y1, U.x2, U.y2) } } }, GF = function (g, x, T) { if (!x.cy().headless()) { var A; T ? A = T + "-" : A = ""; var I = x._private, O = I.rstyle, $ = x.pstyle(A + "label").strValue; if ($) { var z = x.pstyle("text-halign"), S = x.pstyle("text-valign"), V = Sk(O, "labelWidth", T), U = Sk(O, "labelHeight", T), tt = Sk(O, "labelX", T), at = Sk(O, "labelY", T), ut = x.pstyle(A + "text-margin-x").pfValue, dt = x.pstyle(A + "text-margin-y").pfValue, At = x.isEdge(), xt = x.pstyle(A + "text-rotation"), Mt = x.pstyle("text-outline-width").pfValue, Dt = x.pstyle("text-border-width").pfValue, Bt = Dt / 2, Zt = x.pstyle("text-background-padding").pfValue, Kt = 2, $t = U, ee = V, Ht = ee / 2, ge = $t / 2, be, re, Pe, ve; if (At) be = tt - Ht, re = tt + Ht, Pe = at - ge, ve = at + ge; else { switch (z.value) { case "left": be = tt - ee, re = tt; break; case "center": be = tt - Ht, re = tt + Ht; break; case "right": be = tt, re = tt + ee; break }switch (S.value) { case "top": Pe = at - $t, ve = at; break; case "center": Pe = at - ge, ve = at + ge; break; case "bottom": Pe = at, ve = at + $t; break } } be += ut - Math.max(Mt, Bt) - Zt - Kt, re += ut + Math.max(Mt, Bt) + Zt + Kt, Pe += dt - Math.max(Mt, Bt) - Zt - Kt, ve += dt + Math.max(Mt, Bt) + Zt + Kt; var fn = T || "main", $e = I.labelBounds, qe = $e[fn] = $e[fn] || {}; qe.x1 = be, qe.y1 = Pe, qe.x2 = re, qe.y2 = ve, qe.w = re - be, qe.h = ve - Pe; var xn = At && xt.strValue === "autorotate", Nn = xt.pfValue != null && xt.pfValue !== 0; if (xn || Nn) { var er = xn ? Sk(I.rstyle, "labelAngle", T) : xt.pfValue, Sn = Math.cos(er), Jn = Math.sin(er), fr = (be + re) / 2, Sr = (Pe + ve) / 2; if (!At) { switch (z.value) { case "left": fr = re; break; case "right": fr = be; break }switch (S.value) { case "top": Sr = ve; break; case "bottom": Sr = Pe; break } } var wr = function (Fa, Fi) { return Fa = Fa - fr, Fi = Fi - Sr, { x: Fa * Sn - Fi * Jn + fr, y: Fa * Jn + Fi * Sn + Sr } }, cr = wr(be, Pe), bn = wr(be, ve), Tr = wr(re, Pe), xr = wr(re, ve); be = Math.min(cr.x, bn.x, Tr.x, xr.x), re = Math.max(cr.x, bn.x, Tr.x, xr.x), Pe = Math.min(cr.y, bn.y, Tr.y, xr.y), ve = Math.max(cr.y, bn.y, Tr.y, xr.y) } var fi = fn + "Rot", Ii = $e[fi] = $e[fi] || {}; Ii.x1 = be, Ii.y1 = Pe, Ii.x2 = re, Ii.y2 = ve, Ii.w = re - be, Ii.h = ve - Pe, xp(g, be, Pe, re, ve), xp(I.labelBounds.all, be, Pe, re, ve) } return g } }, PZ = function (g, x) { var T = g._private.cy, A = T.styleEnabled(), I = T.headless(), O = zd(), $ = g._private, z = g.isNode(), S = g.isEdge(), V, U, tt, at, ut, dt, At = $.rstyle, xt = z && A ? g.pstyle("bounds-expansion").pfValue : [0], Mt = function (Ls) { return Ls.pstyle("display").value !== "none" }, Dt = !A || Mt(g) && (!S || Mt(g.source()) && Mt(g.target())); if (Dt) { var Bt = 0, Zt = 0; A && x.includeOverlays && (Bt = g.pstyle("overlay-opacity").value, Bt !== 0 && (Zt = g.pstyle("overlay-padding").value)); var Kt = 0, $t = 0; A && x.includeUnderlays && (Kt = g.pstyle("underlay-opacity").value, Kt !== 0 && ($t = g.pstyle("underlay-padding").value)); var ee = Math.max(Zt, $t), Ht = 0, ge = 0; if (A && (Ht = g.pstyle("width").pfValue, ge = Ht / 2), z && x.includeNodes) { var be = g.position(); ut = be.x, dt = be.y; var re = g.outerWidth(), Pe = re / 2, ve = g.outerHeight(), fn = ve / 2; V = ut - Pe, U = ut + Pe, tt = dt - fn, at = dt + fn, xp(O, V, tt, U, at) } else if (S && x.includeEdges) if (A && !I) { var $e = g.pstyle("curve-style").strValue; if (V = Math.min(At.srcX, At.midX, At.tgtX), U = Math.max(At.srcX, At.midX, At.tgtX), tt = Math.min(At.srcY, At.midY, At.tgtY), at = Math.max(At.srcY, At.midY, At.tgtY), V -= ge, U += ge, tt -= ge, at += ge, xp(O, V, tt, U, at), $e === "haystack") { var qe = At.haystackPts; if (qe && qe.length === 2) { if (V = qe[0].x, tt = qe[0].y, U = qe[1].x, at = qe[1].y, V > U) { var xn = V; V = U, U = xn } if (tt > at) { var Nn = tt; tt = at, at = Nn } xp(O, V - ge, tt - ge, U + ge, at + ge) } } else if ($e === "bezier" || $e === "unbundled-bezier" || $e === "segments" || $e === "taxi") { var er; switch ($e) { case "bezier": case "unbundled-bezier": er = At.bezierPts; break; case "segments": case "taxi": er = At.linePts; break }if (er != null) for (var Sn = 0; Sn < er.length; Sn++) { var Jn = er[Sn]; V = Jn.x - ge, U = Jn.x + ge, tt = Jn.y - ge, at = Jn.y + ge, xp(O, V, tt, U, at) } } } else { var fr = g.source(), Sr = fr.position(), wr = g.target(), cr = wr.position(); if (V = Sr.x, U = cr.x, tt = Sr.y, at = cr.y, V > U) { var bn = V; V = U, U = bn } if (tt > at) { var Tr = tt; tt = at, at = Tr } V -= ge, U += ge, tt -= ge, at += ge, xp(O, V, tt, U, at) } if (A && x.includeEdges && S && (GE(O, g, "mid-source"), GE(O, g, "mid-target"), GE(O, g, "source"), GE(O, g, "target")), A) { var xr = g.pstyle("ghost").value === "yes"; if (xr) { var fi = g.pstyle("ghost-offset-x").pfValue, Ii = g.pstyle("ghost-offset-y").pfValue; xp(O, O.x1 + fi, O.y1 + Ii, O.x2 + fi, O.y2 + Ii) } } var oa = $.bodyBounds = $.bodyBounds || {}; VP(oa, O), xL(oa, xt), LE(oa, 1), A && (V = O.x1, U = O.x2, tt = O.y1, at = O.y2, xp(O, V - ee, tt - ee, U + ee, at + ee)); var Fa = $.overlayBounds = $.overlayBounds || {}; VP(Fa, O), xL(Fa, xt), LE(Fa, 1); var Fi = $.labelBounds = $.labelBounds || {}; Fi.all != null ? dY(Fi.all) : Fi.all = zd(), A && x.includeLabels && (x.includeMainLabels && GF(O, g, null), S && (x.includeSourceLabels && GF(O, g, "source"), x.includeTargetLabels && GF(O, g, "target"))) } return O.x1 = T0(O.x1), O.y1 = T0(O.y1), O.x2 = T0(O.x2), O.y2 = T0(O.y2), O.w = T0(O.x2 - O.x1), O.h = T0(O.y2 - O.y1), O.w > 0 && O.h > 0 && Dt && (xL(O, xt), LE(O, 1)), O }, UF = function (g) { var x = 0, T = function (O) { return (O ? 1 : 0) << x++ }, A = 0; return A += T(g.incudeNodes), A += T(g.includeEdges), A += T(g.includeLabels), A += T(g.includeMainLabels), A += T(g.includeSourceLabels), A += T(g.includeTargetLabels), A += T(g.includeOverlays), A }, WF = function (g) { if (g.isEdge()) { var x = g.source().position(), T = g.target().position(), A = function (O) { return Math.round(O) }; return ah([A(x.x), A(x.y), A(T.x), A(T.y)]) } else return 0 }, KF = function (g, x) { var T = g._private, A, I = g.isEdge(), O = x == null ? YF : UF(x), $ = O === YF, z = WF(g), S = T.bbCachePosKey === z, V = x.useCache && S, U = function (dt) { return dt._private.bbCache == null || dt._private.styleDirty }, tt = !V || U(g) || I && U(g.source()) || U(g.target()); if (tt ? (S || g.recalculateRenderedStyle(V), A = PZ(g, Ak), T.bbCache = A, T.bbCachePosKey = z) : A = T.bbCache, !$) { var at = g.isNode(); A = zd(), (x.includeNodes && at || x.includeEdges && !at) && (x.includeOverlays ? S3(A, T.overlayBounds) : S3(A, T.bodyBounds)), x.includeLabels && (x.includeMainLabels && (!I || x.includeSourceLabels && x.includeTargetLabels) ? S3(A, T.labelBounds.all) : (x.includeMainLabels && S3(A, T.labelBounds.mainRot), x.includeSourceLabels && S3(A, T.labelBounds.sourceRot), x.includeTargetLabels && S3(A, T.labelBounds.targetRot))), A.w = A.x2 - A.x1, A.h = A.y2 - A.y1 } return A }, Ak = { includeNodes: !0, includeEdges: !0, includeLabels: !0, includeMainLabels: !0, includeSourceLabels: !0, includeTargetLabels: !0, includeOverlays: !0, includeUnderlays: !0, useCache: !0 }, YF = UF(Ak), XF = Hf(Ak); $2.boundingBox = function (y) { var g; if (this.length === 1 && this[0]._private.bbCache != null && !this[0]._private.styleDirty && (y === void 0 || y.useCache === void 0 || y.useCache === !0)) y === void 0 ? y = Ak : y = XF(y), g = KF(this[0], y); else { g = zd(), y = y || Ak; var x = XF(y), T = this, A = T.cy(), I = A.styleEnabled(); if (I) for (var O = 0; O < T.length; O++) { var $ = T[O], z = $._private, S = WF($), V = z.bbCachePosKey === S, U = x.useCache && V && !z.styleDirty; $.recalculateRenderedStyle(U) } this.updateCompoundBounds(!y.useCache); for (var tt = 0; tt < T.length; tt++) { var at = T[tt]; S3(g, KF(at, x)) } } return g.x1 = T0(g.x1), g.y1 = T0(g.y1), g.x2 = T0(g.x2), g.y2 = T0(g.y2), g.w = T0(g.x2 - g.x1), g.h = T0(g.y2 - g.y1), g }, $2.dirtyBoundingBoxCache = function () { for (var y = 0; y < this.length; y++) { var g = this[y]._private; g.bbCache = null, g.bbCachePosKey = null, g.bodyBounds = null, g.overlayBounds = null, g.labelBounds.all = null, g.labelBounds.source = null, g.labelBounds.target = null, g.labelBounds.main = null, g.labelBounds.sourceRot = null, g.labelBounds.targetRot = null, g.labelBounds.mainRot = null, g.arrowBounds.source = null, g.arrowBounds.target = null, g.arrowBounds["mid-source"] = null, g.arrowBounds["mid-target"] = null } return this.emitAndNotify("bounds"), this }, $2.boundingBoxAt = function (y) { var g = this.nodes(), x = this.cy(), T = x.hasCompoundNodes(), A = x.collection(); if (T && (A = g.filter(function (S) { return S.isParent() }), g = g.not(A)), ht(y)) { var I = y; y = function () { return I } } var O = function (V, U) { return V._private.bbAtOldPos = y(V, U) }, $ = function (V) { return V._private.bbAtOldPos }; x.startBatch(), g.forEach(O).silentPositions(y), T && (A.dirtyCompoundBoundsCache(), A.dirtyBoundingBoxCache(), A.updateCompoundBounds(!0)); var z = fY(this.boundingBox({ useCache: !1 })); return g.silentPositions($), T && (A.dirtyCompoundBoundsCache(), A.dirtyBoundingBoxCache(), A.updateCompoundBounds(!0)), x.endBatch(), z }, e6.boundingbox = e6.bb = e6.boundingBox, e6.renderedBoundingbox = e6.renderedBoundingBox; var FZ = $2, Lk, Mk; Lk = Mk = {}; var mm = function (g) { g.uppercaseName = rr(g.name), g.autoName = "auto" + g.uppercaseName, g.labelName = "label" + g.uppercaseName, g.outerName = "outer" + g.uppercaseName, g.uppercaseOuterName = rr(g.outerName), Lk[g.name] = function () { var T = this[0], A = T._private, I = A.cy, O = I._private.styleEnabled; if (T) if (O) { if (T.isParent()) return T.updateCompoundBounds(), A[g.autoName] || 0; var $ = T.pstyle(g.name); switch ($.strValue) { case "label": return T.recalculateRenderedStyle(), A.rstyle[g.labelName] || 0; default: return $.pfValue } } else return 1 }, Lk["outer" + g.uppercaseName] = function () { var T = this[0], A = T._private, I = A.cy, O = I._private.styleEnabled; if (T) if (O) { var $ = T[g.name](), z = T.pstyle("border-width").pfValue, S = 2 * T.padding(); return $ + z + S } else return 1 }, Lk["rendered" + g.uppercaseName] = function () { var T = this[0]; if (T) { var A = T[g.name](); return A * this.cy().zoom() } }, Lk["rendered" + g.uppercaseOuterName] = function () { var T = this[0]; if (T) { var A = T[g.outerName](); return A * this.cy().zoom() } } }; mm({ name: "width" }), mm({ name: "height" }), Mk.padding = function () { var y = this[0], g = y._private; return y.isParent() ? (y.updateCompoundBounds(), g.autoPadding !== void 0 ? g.autoPadding : y.pstyle("padding").pfValue) : y.pstyle("padding").pfValue }, Mk.paddedHeight = function () { var y = this[0]; return y.height() + 2 * y.padding() }, Mk.paddedWidth = function () { var y = this[0]; return y.width() + 2 * y.padding() }; var BL = Mk, BZ = function (g, x) { if (g.isEdge()) return x(g) }, RZ = function (g, x) { if (g.isEdge()) { var T = g.cy(); return SE(x(g), T.zoom(), T.pan()) } }, jZ = function (g, x) { if (g.isEdge()) { var T = g.cy(), A = T.pan(), I = T.zoom(); return x(g).map(function (O) { return SE(O, I, A) }) } }, $Z = function (g) { return g.renderer().getControlPoints(g) }, zZ = function (g) { return g.renderer().getSegmentPoints(g) }, qZ = function (g) { return g.renderer().getSourceEndpoint(g) }, HZ = function (g) { return g.renderer().getTargetEndpoint(g) }, VZ = function (g) { return g.renderer().getEdgeMidpoint(g) }, QF = { controlPoints: { get: $Z, mult: !0 }, segmentPoints: { get: zZ, mult: !0 }, sourceEndpoint: { get: qZ }, targetEndpoint: { get: HZ }, midpoint: { get: VZ } }, GZ = function (g) { return "rendered" + g[0].toUpperCase() + g.substr(1) }, UZ = Object.keys(QF).reduce(function (y, g) { var x = QF[g], T = GZ(g); return y[g] = function () { return BZ(this, x.get) }, x.mult ? y[T] = function () { return jZ(this, x.get) } : y[T] = function () { return RZ(this, x.get) }, y }, {}), WZ = Ke({}, VF, FZ, BL, UZ);/*!
              Event object based on jQuery events, MIT license
    
              https://jquery.org/license/
              https://tldrlegal.com/license/mit-license
              https://github.com/jquery/jquery/blob/master/src/event.js
              */var ZF = function (g, x) { this.recycle(g, x) }; function Dk() { return !1 } function UE() { return !0 } ZF.prototype = { instanceString: function () { return "event" }, recycle: function (g, x) { if (this.isImmediatePropagationStopped = this.isPropagationStopped = this.isDefaultPrevented = Dk, g != null && g.preventDefault ? (this.type = g.type, this.isDefaultPrevented = g.defaultPrevented ? UE : Dk) : g != null && g.type ? x = g : this.type = g, x != null && (this.originalEvent = x.originalEvent, this.type = x.type != null ? x.type : this.type, this.cy = x.cy, this.target = x.target, this.position = x.position, this.renderedPosition = x.renderedPosition, this.namespace = x.namespace, this.layout = x.layout), this.cy != null && this.position != null && this.renderedPosition == null) { var T = this.position, A = this.cy.zoom(), I = this.cy.pan(); this.renderedPosition = { x: T.x * A + I.x, y: T.y * A + I.y } } this.timeStamp = g && g.timeStamp || Date.now() }, preventDefault: function () { this.isDefaultPrevented = UE; var g = this.originalEvent; g && g.preventDefault && g.preventDefault() }, stopPropagation: function () { this.isPropagationStopped = UE; var g = this.originalEvent; g && g.stopPropagation && g.stopPropagation() }, stopImmediatePropagation: function () { this.isImmediatePropagationStopped = UE, this.stopPropagation() }, isDefaultPrevented: Dk, isPropagationStopped: Dk, isImmediatePropagationStopped: Dk }; var JF = /^([^.]+)(\.(?:[^.]+))?$/, KZ = ".*", tB = { qualifierCompare: function (g, x) { return g === x }, eventMatches: function () { return !0 }, addEventFields: function () { }, callbackContext: function (g) { return g }, beforeEmit: function () { }, afterEmit: function () { }, bubble: function () { return !1 }, parent: function () { return null }, context: null }, eB = Object.keys(tB), YZ = {}; function WE() { for (var y = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : YZ, g = arguments.length > 1 ? arguments[1] : void 0, x = 0; x < eB.length; x++) { var T = eB[x]; this[T] = y[T] || tB[T] } this.context = g || this.context, this.listeners = [], this.emitting = 0 } var ym = WE.prototype, nB = function (g, x, T, A, I, O, $) { kt(A) && (I = A, A = null), $ && (O == null ? O = $ : O = Ke({}, O, $)); for (var z = yt(T) ? T : T.split(/\s+/), S = 0; S < z.length; S++) { var V = z[S]; if (!J(V)) { var U = V.match(JF); if (U) { var tt = U[1], at = U[2] ? U[2] : null, ut = x(g, V, tt, at, A, I, O); if (ut === !1) break } } } }, rB = function (g, x) { return g.addEventFields(g.context, x), new ZF(x.type, x) }, XZ = function (g, x, T) { if (de(T)) { x(g, T); return } else if (ht(T)) { x(g, rB(g, T)); return } for (var A = yt(T) ? T : T.split(/\s+/), I = 0; I < A.length; I++) { var O = A[I]; if (!J(O)) { var $ = O.match(JF); if ($) { var z = $[1], S = $[2] ? $[2] : null, V = rB(g, { type: z, namespace: S, target: g.context }); x(g, V) } } } }; ym.on = ym.addListener = function (y, g, x, T, A) { return nB(this, function (I, O, $, z, S, V, U) { kt(V) && I.listeners.push({ event: O, callback: V, type: $, namespace: z, qualifier: S, conf: U }) }, y, g, x, T, A), this }, ym.one = function (y, g, x, T) { return this.on(y, g, x, T, { one: !0 }) }, ym.removeListener = ym.off = function (y, g, x, T) { var A = this; this.emitting !== 0 && (this.listeners = $K(this.listeners)); for (var I = this.listeners, O = function (S) { var V = I[S]; nB(A, function (U, tt, at, ut, dt, At) { if ((V.type === at || y === "*") && (!ut && V.namespace !== ".*" || V.namespace === ut) && (!dt || U.qualifierCompare(V.qualifier, dt)) && (!At || V.callback === At)) return I.splice(S, 1), !1 }, y, g, x, T) }, $ = I.length - 1; $ >= 0; $--)O($); return this }, ym.removeAllListeners = function () { return this.removeListener("*") }, ym.emit = ym.trigger = function (y, g, x) { var T = this.listeners, A = T.length; return this.emitting++, yt(g) || (g = [g]), XZ(this, function (I, O) { x != null && (T = [{ event: O.event, type: O.type, namespace: O.namespace, callback: x }], A = T.length); for (var $ = function (V) { var U = T[V]; if (U.type === O.type && (!U.namespace || U.namespace === O.namespace || U.namespace === KZ) && I.eventMatches(I.context, U, O)) { var tt = [O]; g != null && $P(tt, g), I.beforeEmit(I.context, U, O), U.conf && U.conf.one && (I.listeners = I.listeners.filter(function (dt) { return dt !== U })); var at = I.callbackContext(I.context, U, O), ut = U.callback.apply(at, tt); I.afterEmit(I.context, U, O), ut === !1 && (O.stopPropagation(), O.preventDefault()) } }, z = 0; z < A; z++)$(z); I.bubble(I.context) && !O.isPropagationStopped() && I.parent(I.context).emit(O, g) }, y), this.emitting--, this }; var QZ = { qualifierCompare: function (g, x) { return g == null || x == null ? g == null && x == null : g.sameText(x) }, eventMatches: function (g, x, T) { var A = x.qualifier; return A != null ? g !== T.target && _t(T.target) && A.matches(T.target) : !0 }, addEventFields: function (g, x) { x.cy = g.cy(), x.target = g }, callbackContext: function (g, x, T) { return x.qualifier != null ? T.target : g }, beforeEmit: function (g, x) { x.conf && x.conf.once && x.conf.onceCollection.removeListener(x.event, x.qualifier, x.callback) }, bubble: function () { return !0 }, parent: function (g) { return g.isChild() ? g.parent() : g.cy() } }, KE = function (g) { return Tt(g) ? new wm(g) : g }, iB = { createEmitter: function () { for (var g = 0; g < this.length; g++) { var x = this[g], T = x._private; T.emitter || (T.emitter = new WE(QZ, x)) } return this }, emitter: function () { return this._private.emitter }, on: function (g, x, T) { for (var A = KE(x), I = 0; I < this.length; I++) { var O = this[I]; O.emitter().on(g, A, T) } return this }, removeListener: function (g, x, T) { for (var A = KE(x), I = 0; I < this.length; I++) { var O = this[I]; O.emitter().removeListener(g, A, T) } return this }, removeAllListeners: function () { for (var g = 0; g < this.length; g++) { var x = this[g]; x.emitter().removeAllListeners() } return this }, one: function (g, x, T) { for (var A = KE(x), I = 0; I < this.length; I++) { var O = this[I]; O.emitter().one(g, A, T) } return this }, once: function (g, x, T) { for (var A = KE(x), I = 0; I < this.length; I++) { var O = this[I]; O.emitter().on(g, A, T, { once: !0, onceCollection: this }) } }, emit: function (g, x) { for (var T = 0; T < this.length; T++) { var A = this[T]; A.emitter().emit(g, x) } return this }, emitAndNotify: function (g, x) { if (this.length !== 0) return this.cy().notify(g, this), this.emit(g, x), this } }; jc.eventAliasesOn(iB); var sB = { nodes: function (g) { return this.filter(function (x) { return x.isNode() }).filter(g) }, edges: function (g) { return this.filter(function (x) { return x.isEdge() }).filter(g) }, byGroup: function () { for (var g = this.spawn(), x = this.spawn(), T = 0; T < this.length; T++) { var A = this[T]; A.isNode() ? g.push(A) : x.push(A) } return { nodes: g, edges: x } }, filter: function (g, x) { if (g === void 0) return this; if (Tt(g) || lt(g)) return new wm(g).filter(this); if (kt(g)) { for (var T = this.spawn(), A = this, I = 0; I < A.length; I++) { var O = A[I], $ = x ? g.apply(x, [O, I, A]) : g(O, I, A); $ && T.push(O) } return T } return this.spawn() }, not: function (g) { if (g) { Tt(g) && (g = this.filter(g)); for (var x = this.spawn(), T = 0; T < this.length; T++) { var A = this[T], I = g.has(A); I || x.push(A) } return x } else return this }, absoluteComplement: function () { var g = this.cy(); return g.mutableElements().not(this) }, intersect: function (g) { if (Tt(g)) { var x = g; return this.filter(x) } for (var T = this.spawn(), A = this, I = g, O = this.length < g.length, $ = O ? A : I, z = O ? I : A, S = 0; S < $.length; S++) { var V = $[S]; z.has(V) && T.push(V) } return T }, xor: function (g) { var x = this._private.cy; Tt(g) && (g = x.$(g)); var T = this.spawn(), A = this, I = g, O = function (z, S) { for (var V = 0; V < z.length; V++) { var U = z[V], tt = U._private.data.id, at = S.hasElementWithId(tt); at || T.push(U) } }; return O(A, I), O(I, A), T }, diff: function (g) { var x = this._private.cy; Tt(g) && (g = x.$(g)); var T = this.spawn(), A = this.spawn(), I = this.spawn(), O = this, $ = g, z = function (V, U, tt) { for (var at = 0; at < V.length; at++) { var ut = V[at], dt = ut._private.data.id, At = U.hasElementWithId(dt); At ? I.merge(ut) : tt.push(ut) } }; return z(O, $, T), z($, O, A), { left: T, right: A, both: I } }, add: function (g) { var x = this._private.cy; if (!g) return this; if (Tt(g)) { var T = g; g = x.mutableElements().filter(T) } for (var A = this.spawnSelf(), I = 0; I < g.length; I++) { var O = g[I], $ = !this.has(O); $ && A.push(O) } return A }, merge: function (g) { var x = this._private, T = x.cy; if (!g) return this; if (g && Tt(g)) { var A = g; g = T.mutableElements().filter(A) } for (var I = x.map, O = 0; O < g.length; O++) { var $ = g[O], z = $._private.data.id, S = !I.has(z); if (S) { var V = this.length++; this[V] = $, I.set(z, { ele: $, index: V }) } } return this }, unmergeAt: function (g) { var x = this[g], T = x.id(), A = this._private, I = A.map; this[g] = void 0, I.delete(T); var O = g === this.length - 1; if (this.length > 1 && !O) { var $ = this.length - 1, z = this[$], S = z._private.data.id; this[$] = void 0, this[g] = z, I.set(S, { ele: z, index: g }) } return this.length--, this }, unmergeOne: function (g) { g = g[0]; var x = this._private, T = g._private.data.id, A = x.map, I = A.get(T); if (!I) return this; var O = I.index; return this.unmergeAt(O), this }, unmerge: function (g) { var x = this._private.cy; if (!g) return this; if (g && Tt(g)) { var T = g; g = x.mutableElements().filter(T) } for (var A = 0; A < g.length; A++)this.unmergeOne(g[A]); return this }, unmergeBy: function (g) { for (var x = this.length - 1; x >= 0; x--) { var T = this[x]; g(T) && this.unmergeAt(x) } return this }, map: function (g, x) { for (var T = [], A = this, I = 0; I < A.length; I++) { var O = A[I], $ = x ? g.apply(x, [O, I, A]) : g(O, I, A); T.push($) } return T }, reduce: function (g, x) { for (var T = x, A = this, I = 0; I < A.length; I++)T = g(T, A[I], I, A); return T }, max: function (g, x) { for (var T = -1 / 0, A, I = this, O = 0; O < I.length; O++) { var $ = I[O], z = x ? g.apply(x, [$, O, I]) : g($, O, I); z > T && (T = z, A = $) } return { value: T, ele: A } }, min: function (g, x) { for (var T = 1 / 0, A, I = this, O = 0; O < I.length; O++) { var $ = I[O], z = x ? g.apply(x, [$, O, I]) : g($, O, I); z < T && (T = z, A = $) } return { value: T, ele: A } } }, Tc = sB; Tc.u = Tc["|"] = Tc["+"] = Tc.union = Tc.or = Tc.add, Tc["\\"] = Tc["!"] = Tc["-"] = Tc.difference = Tc.relativeComplement = Tc.subtract = Tc.not, Tc.n = Tc["&"] = Tc["."] = Tc.and = Tc.intersection = Tc.intersect, Tc["^"] = Tc["(+)"] = Tc["(-)"] = Tc.symmetricDifference = Tc.symdiff = Tc.xor, Tc.fnFilter = Tc.filterFn = Tc.stdFilter = Tc.filter, Tc.complement = Tc.abscomp = Tc.absoluteComplement; var ZZ = { isNode: function () { return this.group() === "nodes" }, isEdge: function () { return this.group() === "edges" }, isLoop: function () { return this.isEdge() && this.source()[0] === this.target()[0] }, isSimple: function () { return this.isEdge() && this.source()[0] !== this.target()[0] }, group: function () { var g = this[0]; if (g) return g._private.group } }, aB = function (g, x) { var T = g.cy(), A = T.hasCompoundNodes(); function I(V) { var U = V.pstyle("z-compound-depth"); return U.value === "auto" ? A ? V.zDepth() : 0 : U.value === "bottom" ? -1 : U.value === "top" ? vp : 0 } var O = I(g) - I(x); if (O !== 0) return O; function $(V) { var U = V.pstyle("z-index-compare"); return U.value === "auto" && V.isNode() ? 1 : 0 } var z = $(g) - $(x); if (z !== 0) return z; var S = g.pstyle("z-index").value - x.pstyle("z-index").value; return S !== 0 ? S : g.poolIndex() - x.poolIndex() }, YE = { forEach: function (g, x) { if (kt(g)) for (var T = this.length, A = 0; A < T; A++) { var I = this[A], O = x ? g.apply(x, [I, A, this]) : g(I, A, this); if (O === !1) break } return this }, toArray: function () { for (var g = [], x = 0; x < this.length; x++)g.push(this[x]); return g }, slice: function (g, x) { var T = [], A = this.length; x == null && (x = A), g == null && (g = 0), g < 0 && (g = A + g), x < 0 && (x = A + x); for (var I = g; I >= 0 && I < x && I < A; I++)T.push(this[I]); return this.spawn(T) }, size: function () { return this.length }, eq: function (g) { return this[g] || this.spawn() }, first: function () { return this[0] || this.spawn() }, last: function () { return this[this.length - 1] || this.spawn() }, empty: function () { return this.length === 0 }, nonempty: function () { return !this.empty() }, sort: function (g) { if (!kt(g)) return this; var x = this.toArray().sort(g); return this.spawn(x) }, sortByZIndex: function () { return this.sort(aB) }, zDepth: function () { var g = this[0]; if (g) { var x = g._private, T = x.group; if (T === "nodes") { var A = x.data.parent ? g.parents().size() : 0; return g.isParent() ? A : vp - 1 } else { var I = x.source, O = x.target, $ = I.zDepth(), z = O.zDepth(); return Math.max($, z, 0) } } } }; YE.each = YE.forEach; var JZ = function () { var g = "undefined", x = (typeof Symbol > "u" ? "undefined" : f(Symbol)) != g && f(Symbol.iterator) != g; x && (YE[Symbol.iterator] = function () { var T = this, A = { value: void 0, done: !1 }, I = 0, O = this.length; return b({ next: function () { return I < O ? A.value = T[I++] : (A.value = void 0, A.done = !0), A } }, Symbol.iterator, function () { return this }) }) }; JZ(); var tJ = Hf({ nodeDimensionsIncludeLabels: !1 }), XE = { layoutDimensions: function (g) { g = tJ(g); var x; if (!this.takesUpSpace()) x = { w: 0, h: 0 }; else if (g.nodeDimensionsIncludeLabels) { var T = this.boundingBox(); x = { w: T.w, h: T.h } } else x = { w: this.outerWidth(), h: this.outerHeight() }; return (x.w === 0 || x.h === 0) && (x.w = x.h = 1), x }, layoutPositions: function (g, x, T) { var A = this.nodes().filter(function (Zt) { return !Zt.isParent() }), I = this.cy(), O = x.eles, $ = function (Kt) { return Kt.id() }, z = me(T, $); g.emit({ type: "layoutstart", layout: g }), g.animations = []; var S = function (Kt, $t, ee) { var Ht = { x: $t.x1 + $t.w / 2, y: $t.y1 + $t.h / 2 }, ge = { x: (ee.x - Ht.x) * Kt, y: (ee.y - Ht.y) * Kt }; return { x: Ht.x + ge.x, y: Ht.y + ge.y } }, V = x.spacingFactor && x.spacingFactor !== 1, U = function () { if (!V) return null; for (var Kt = zd(), $t = 0; $t < A.length; $t++) { var ee = A[$t], Ht = z(ee, $t); pY(Kt, Ht.x, Ht.y) } return Kt }, tt = U(), at = me(function (Zt, Kt) { var $t = z(Zt, Kt); if (V) { var ee = Math.abs(x.spacingFactor); $t = S(ee, tt, $t) } return x.transform != null && ($t = x.transform(Zt, $t)), $t }, $); if (x.animate) { for (var ut = 0; ut < A.length; ut++) { var dt = A[ut], At = at(dt, ut), xt = x.animateFilter == null || x.animateFilter(dt, ut); if (xt) { var Mt = dt.animation({ position: At, duration: x.animationDuration, easing: x.animationEasing }); g.animations.push(Mt) } else dt.position(At) } if (x.fit) { var Dt = I.animation({ fit: { boundingBox: O.boundingBoxAt(at), padding: x.padding }, duration: x.animationDuration, easing: x.animationEasing }); g.animations.push(Dt) } else if (x.zoom !== void 0 && x.pan !== void 0) { var Bt = I.animation({ zoom: x.zoom, pan: x.pan, duration: x.animationDuration, easing: x.animationEasing }); g.animations.push(Bt) } g.animations.forEach(function (Zt) { return Zt.play() }), g.one("layoutready", x.ready), g.emit({ type: "layoutready", layout: g }), W5.all(g.animations.map(function (Zt) { return Zt.promise() })).then(function () { g.one("layoutstop", x.stop), g.emit({ type: "layoutstop", layout: g }) }) } else A.positions(at), x.fit && I.fit(x.eles, x.padding), x.zoom != null && I.zoom(x.zoom), x.pan && I.pan(x.pan), g.one("layoutready", x.ready), g.emit({ type: "layoutready", layout: g }), g.one("layoutstop", x.stop), g.emit({ type: "layoutstop", layout: g }); return this }, layout: function (g) { var x = this.cy(); return x.makeLayout(Ke({}, g, { eles: this })) } }; XE.createLayout = XE.makeLayout = XE.layout; function oB(y, g, x) { var T = x._private, A = T.styleCache = T.styleCache || [], I; return (I = A[y]) != null || (I = A[y] = g(x)), I } function QE(y, g) { return y = ad(y), function (T) { return oB(y, g, T) } } function ZE(y, g) { y = ad(y); var x = function (A) { return g.call(A) }; return function () { var A = this[0]; if (A) return oB(y, x, A) } } var Vf = { recalculateRenderedStyle: function (g) { var x = this.cy(), T = x.renderer(), A = x.styleEnabled(); return T && A && T.recalculateRenderedStyle(this, g), this }, dirtyStyleCache: function () { var g = this.cy(), x = function (I) { return I._private.styleCache = null }; if (g.hasCompoundNodes()) { var T; T = this.spawnSelf().merge(this.descendants()).merge(this.parents()), T.merge(T.connectedEdges()), T.forEach(x) } else this.forEach(function (A) { x(A), A.connectedEdges().forEach(x) }); return this }, updateStyle: function (g) { var x = this._private.cy; if (!x.styleEnabled()) return this; if (x.batching()) { var T = x._private.batchStyleEles; return T.merge(this), this } var A = x.hasCompoundNodes(), I = this; g = !!(g || g === void 0), A && (I = this.spawnSelf().merge(this.descendants()).merge(this.parents())); var O = I; return g ? O.emitAndNotify("style") : O.emit("style"), I.forEach(function ($) { return $._private.styleDirty = !0 }), this }, cleanStyle: function () { var g = this.cy(); if (g.styleEnabled()) for (var x = 0; x < this.length; x++) { var T = this[x]; T._private.styleDirty && (T._private.styleDirty = !1, g.style().apply(T)) } }, parsedStyle: function (g) { var x = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, T = this[0], A = T.cy(); if (A.styleEnabled() && T) { this.cleanStyle(); var I = T._private.style[g]; return I ?? (x ? A.style().getDefaultProperty(g) : null) } }, numericStyle: function (g) { var x = this[0]; if (x.cy().styleEnabled() && x) { var T = x.pstyle(g); return T.pfValue !== void 0 ? T.pfValue : T.value } }, numericStyleUnits: function (g) { var x = this[0]; if (x.cy().styleEnabled() && x) return x.pstyle(g).units }, renderedStyle: function (g) { var x = this.cy(); if (!x.styleEnabled()) return this; var T = this[0]; if (T) return x.style().getRenderedStyle(T, g) }, style: function (g, x) { var T = this.cy(); if (!T.styleEnabled()) return this; var A = !1, I = T.style(); if (ht(g)) { var O = g; I.applyBypass(this, O, A), this.emitAndNotify("style") } else if (Tt(g)) if (x === void 0) { var $ = this[0]; return $ ? I.getStylePropertyValue($, g) : void 0 } else I.applyBypass(this, g, x, A), this.emitAndNotify("style"); else if (g === void 0) { var z = this[0]; return z ? I.getRawStyle(z) : void 0 } return this }, removeStyle: function (g) { var x = this.cy(); if (!x.styleEnabled()) return this; var T = !1, A = x.style(), I = this; if (g === void 0) for (var O = 0; O < I.length; O++) { var $ = I[O]; A.removeAllBypasses($, T) } else { g = g.split(/\s+/); for (var z = 0; z < I.length; z++) { var S = I[z]; A.removeBypasses(S, g, T) } } return this.emitAndNotify("style"), this }, show: function () { return this.css("display", "element"), this }, hide: function () { return this.css("display", "none"), this }, effectiveOpacity: function () { var g = this.cy(); if (!g.styleEnabled()) return 1; var x = g.hasCompoundNodes(), T = this[0]; if (T) { var A = T._private, I = T.pstyle("opacity").value; if (!x) return I; var O = A.data.parent ? T.parents() : null; if (O) for (var $ = 0; $ < O.length; $++) { var z = O[$], S = z.pstyle("opacity").value; I = S * I } return I } }, transparent: function () { var g = this.cy(); if (!g.styleEnabled()) return !1; var x = this[0], T = x.cy().hasCompoundNodes(); if (x) return T ? x.effectiveOpacity() === 0 : x.pstyle("opacity").value === 0 }, backgrounding: function () { var g = this.cy(); if (!g.styleEnabled()) return !1; var x = this[0]; return !!x._private.backgrounding } }; function RL(y, g) { var x = y._private, T = x.data.parent ? y.parents() : null; if (T) for (var A = 0; A < T.length; A++) { var I = T[A]; if (!g(I)) return !1 } return !0 } function jL(y) { var g = y.ok, x = y.edgeOkViaNode || y.ok, T = y.parentOk || y.ok; return function () { var A = this.cy(); if (!A.styleEnabled()) return !0; var I = this[0], O = A.hasCompoundNodes(); if (I) { var $ = I._private; if (!g(I)) return !1; if (I.isNode()) return !O || RL(I, T); var z = $.source, S = $.target; return x(z) && (!O || RL(z, x)) && (z === S || x(S) && (!O || RL(S, x))) } } } var n6 = QE("eleTakesUpSpace", function (y) { return y.pstyle("display").value === "element" && y.width() !== 0 && (y.isNode() ? y.height() !== 0 : !0) }); Vf.takesUpSpace = ZE("takesUpSpace", jL({ ok: n6 })); var eJ = QE("eleInteractive", function (y) { return y.pstyle("events").value === "yes" && y.pstyle("visibility").value === "visible" && n6(y) }), nJ = QE("parentInteractive", function (y) { return y.pstyle("visibility").value === "visible" && n6(y) }); Vf.interactive = ZE("interactive", jL({ ok: eJ, parentOk: nJ, edgeOkViaNode: n6 })), Vf.noninteractive = function () { var y = this[0]; if (y) return !y.interactive() }; var rJ = QE("eleVisible", function (y) { return y.pstyle("visibility").value === "visible" && y.pstyle("opacity").pfValue !== 0 && n6(y) }), iJ = n6; Vf.visible = ZE("visible", jL({ ok: rJ, edgeOkViaNode: iJ })), Vf.hidden = function () { var y = this[0]; if (y) return !y.visible() }, Vf.isBundledBezier = ZE("isBundledBezier", function () { return this.cy().styleEnabled() ? !this.removed() && this.pstyle("curve-style").value === "bezier" && this.takesUpSpace() : !1 }), Vf.bypass = Vf.css = Vf.style, Vf.renderedCss = Vf.renderedStyle, Vf.removeBypass = Vf.removeCss = Vf.removeStyle, Vf.pstyle = Vf.parsedStyle; var xm = {}; function cB(y) { return function () { var g = arguments, x = []; if (g.length === 2) { var T = g[0], A = g[1]; this.on(y.event, T, A) } else if (g.length === 1 && kt(g[0])) { var I = g[0]; this.on(y.event, I) } else if (g.length === 0 || g.length === 1 && yt(g[0])) { for (var O = g.length === 1 ? g[0] : null, $ = 0; $ < this.length; $++) { var z = this[$], S = !y.ableField || z._private[y.ableField], V = z._private[y.field] != y.value; if (y.overrideAble) { var U = y.overrideAble(z); if (U !== void 0 && (S = U, !U)) return this } S && (z._private[y.field] = y.value, V && x.push(z)) } var tt = this.spawn(x); tt.updateStyle(), tt.emit(y.event), O && tt.emit(O) } return this } } function r6(y) { xm[y.field] = function () { var g = this[0]; if (g) { if (y.overrideField) { var x = y.overrideField(g); if (x !== void 0) return x } return g._private[y.field] } }, xm[y.on] = cB({ event: y.on, field: y.field, ableField: y.ableField, overrideAble: y.overrideAble, value: !0 }), xm[y.off] = cB({ event: y.off, field: y.field, ableField: y.ableField, overrideAble: y.overrideAble, value: !1 }) } r6({ field: "locked", overrideField: function (g) { return g.cy().autolock() ? !0 : void 0 }, on: "lock", off: "unlock" }), r6({ field: "grabbable", overrideField: function (g) { return g.cy().autoungrabify() || g.pannable() ? !1 : void 0 }, on: "grabify", off: "ungrabify" }), r6({ field: "selected", ableField: "selectable", overrideAble: function (g) { return g.cy().autounselectify() ? !1 : void 0 }, on: "select", off: "unselect" }), r6({ field: "selectable", overrideField: function (g) { return g.cy().autounselectify() ? !1 : void 0 }, on: "selectify", off: "unselectify" }), xm.deselect = xm.unselect, xm.grabbed = function () { var y = this[0]; if (y) return y._private.grabbed }, r6({ field: "active", on: "activate", off: "unactivate" }), r6({ field: "pannable", on: "panify", off: "unpanify" }), xm.inactive = function () { var y = this[0]; if (y) return !y._private.active }; var m1 = {}, uB = function (g) { return function (T) { for (var A = this, I = [], O = 0; O < A.length; O++) { var $ = A[O]; if ($.isNode()) { for (var z = !1, S = $.connectedEdges(), V = 0; V < S.length; V++) { var U = S[V], tt = U.source(), at = U.target(); if (g.noIncomingEdges && at === $ && tt !== $ || g.noOutgoingEdges && tt === $ && at !== $) { z = !0; break } } z || I.push($) } } return this.spawn(I, !0).filter(T) } }, lB = function (g) { return function (x) { for (var T = this, A = [], I = 0; I < T.length; I++) { var O = T[I]; if (O.isNode()) for (var $ = O.connectedEdges(), z = 0; z < $.length; z++) { var S = $[z], V = S.source(), U = S.target(); g.outgoing && V === O ? (A.push(S), A.push(U)) : g.incoming && U === O && (A.push(S), A.push(V)) } } return this.spawn(A, !0).filter(x) } }, hB = function (g) { return function (x) { for (var T = this, A = [], I = {}; ;) { var O = g.outgoing ? T.outgoers() : T.incomers(); if (O.length === 0) break; for (var $ = !1, z = 0; z < O.length; z++) { var S = O[z], V = S.id(); I[V] || (I[V] = !0, A.push(S), $ = !0) } if (!$) break; T = O } return this.spawn(A, !0).filter(x) } }; m1.clearTraversalCache = function () { for (var y = 0; y < this.length; y++)this[y]._private.traversalCache = null }, Ke(m1, { roots: uB({ noIncomingEdges: !0 }), leaves: uB({ noOutgoingEdges: !0 }), outgoers: ud(lB({ outgoing: !0 }), "outgoers"), successors: hB({ outgoing: !0 }), incomers: ud(lB({ incoming: !0 }), "incomers"), predecessors: hB({ incoming: !0 }) }), Ke(m1, { neighborhood: ud(function (y) { for (var g = [], x = this.nodes(), T = 0; T < x.length; T++)for (var A = x[T], I = A.connectedEdges(), O = 0; O < I.length; O++) { var $ = I[O], z = $.source(), S = $.target(), V = A === z ? S : z; V.length > 0 && g.push(V[0]), g.push($[0]) } return this.spawn(g, !0).filter(y) }, "neighborhood"), closedNeighborhood: function (g) { return this.neighborhood().add(this).filter(g) }, openNeighborhood: function (g) { return this.neighborhood(g) } }), m1.neighbourhood = m1.neighborhood, m1.closedNeighbourhood = m1.closedNeighborhood, m1.openNeighbourhood = m1.openNeighborhood, Ke(m1, { source: ud(function (g) { var x = this[0], T; return x && (T = x._private.source || x.cy().collection()), T && g ? T.filter(g) : T }, "source"), target: ud(function (g) { var x = this[0], T; return x && (T = x._private.target || x.cy().collection()), T && g ? T.filter(g) : T }, "target"), sources: fB({ attr: "source" }), targets: fB({ attr: "target" }) }); function fB(y) { return function (x) { for (var T = [], A = 0; A < this.length; A++) { var I = this[A], O = I._private[y.attr]; O && T.push(O) } return this.spawn(T, !0).filter(x) } } Ke(m1, { edgesWith: ud(dB(), "edgesWith"), edgesTo: ud(dB({ thisIsSrc: !0 }), "edgesTo") }); function dB(y) { return function (x) { var T = [], A = this._private.cy, I = y || {}; Tt(x) && (x = A.$(x)); for (var O = 0; O < x.length; O++)for (var $ = x[O]._private.edges, z = 0; z < $.length; z++) { var S = $[z], V = S._private.data, U = this.hasElementWithId(V.source) && x.hasElementWithId(V.target), tt = x.hasElementWithId(V.source) && this.hasElementWithId(V.target), at = U || tt; at && ((I.thisIsSrc || I.thisIsTgt) && (I.thisIsSrc && !U || I.thisIsTgt && !tt) || T.push(S)) } return this.spawn(T, !0) } } Ke(m1, { connectedEdges: ud(function (y) { for (var g = [], x = this, T = 0; T < x.length; T++) { var A = x[T]; if (A.isNode()) for (var I = A._private.edges, O = 0; O < I.length; O++) { var $ = I[O]; g.push($) } } return this.spawn(g, !0).filter(y) }, "connectedEdges"), connectedNodes: ud(function (y) { for (var g = [], x = this, T = 0; T < x.length; T++) { var A = x[T]; A.isEdge() && (g.push(A.source()[0]), g.push(A.target()[0])) } return this.spawn(g, !0).filter(y) }, "connectedNodes"), parallelEdges: ud(gB(), "parallelEdges"), codirectedEdges: ud(gB({ codirected: !0 }), "codirectedEdges") }); function gB(y) { var g = { codirected: !1 }; return y = Ke({}, g, y), function (T) { for (var A = [], I = this.edges(), O = y, $ = 0; $ < I.length; $++)for (var z = I[$], S = z._private, V = S.source, U = V._private.data.id, tt = S.data.target, at = V._private.edges, ut = 0; ut < at.length; ut++) { var dt = at[ut], At = dt._private.data, xt = At.target, Mt = At.source, Dt = xt === tt && Mt === U, Bt = U === xt && tt === Mt; (O.codirected && Dt || !O.codirected && (Dt || Bt)) && A.push(dt) } return this.spawn(A, !0).filter(T) } } Ke(m1, { components: function (g) { var x = this, T = x.cy(), A = T.collection(), I = g == null ? x.nodes() : g.nodes(), O = []; g != null && I.empty() && (I = g.sources()); var $ = function (V, U) { A.merge(V), I.unmerge(V), U.merge(V) }; if (I.empty()) return x.spawn(); var z = function () { var V = T.collection(); O.push(V); var U = I[0]; $(U, V), x.bfs({ directed: !1, roots: U, visit: function (at) { return $(at, V) } }), V.forEach(function (tt) { tt.connectedEdges().forEach(function (at) { x.has(at) && V.has(at.source()) && V.has(at.target()) && V.merge(at) }) }) }; do z(); while (I.length > 0); return O }, component: function () { var g = this[0]; return g.cy().mutableElements().components(g)[0] } }), m1.componentsOf = m1.components; var Gf = function (g, x) { var T = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1, A = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1; if (g === void 0) { Ec("A collection must have a reference to the core"); return } var I = new j2, O = !1; if (!x) x = []; else if (x.length > 0 && ht(x[0]) && !_t(x[0])) { O = !0; for (var $ = [], z = new $5, S = 0, V = x.length; S < V; S++) { var U = x[S]; U.data == null && (U.data = {}); var tt = U.data; if (tt.id == null) tt.id = _E(); else if (g.hasElementWithId(tt.id) || z.has(tt.id)) continue; var at = new CE(g, U, !1); $.push(at), z.add(tt.id) } x = $ } this.length = 0; for (var ut = 0, dt = x.length; ut < dt; ut++) { var At = x[ut][0]; if (At != null) { var xt = At._private.data.id; (!T || !I.has(xt)) && (T && I.set(xt, { index: this.length, ele: At }), this[this.length] = At, this.length++) } } this._private = { eles: this, cy: g, get map() { return this.lazyMap == null && this.rebuildMap(), this.lazyMap }, set map(Mt) { this.lazyMap = Mt }, rebuildMap: function () { for (var Dt = this.lazyMap = new j2, Bt = this.eles, Zt = 0; Zt < Bt.length; Zt++) { var Kt = Bt[Zt]; Dt.set(Kt.id(), { index: Zt, ele: Kt }) } } }, T && (this._private.map = I), O && !A && this.restore() }, ku = CE.prototype = Gf.prototype = Object.create(Array.prototype); ku.instanceString = function () { return "collection" }, ku.spawn = function (y, g) { return new Gf(this.cy(), y, g) }, ku.spawnSelf = function () { return this.spawn(this) }, ku.cy = function () { return this._private.cy }, ku.renderer = function () { return this._private.cy.renderer() }, ku.element = function () { return this[0] }, ku.collection = function () { return X(this) ? this : new Gf(this._private.cy, [this]) }, ku.unique = function () { return new Gf(this._private.cy, this, !0) }, ku.hasElementWithId = function (y) { return y = "" + y, this._private.map.has(y) }, ku.getElementById = function (y) { y = "" + y; var g = this._private.cy, x = this._private.map.get(y); return x ? x.ele : new Gf(g) }, ku.$id = ku.getElementById, ku.poolIndex = function () { var y = this._private.cy, g = y._private.elements, x = this[0]._private.data.id; return g._private.map.get(x).index }, ku.indexOf = function (y) { var g = y[0]._private.data.id; return this._private.map.get(g).index }, ku.indexOfId = function (y) { return y = "" + y, this._private.map.get(y).index }, ku.json = function (y) { var g = this.element(), x = this.cy(); if (g == null && y) return this; if (g != null) { var T = g._private; if (ht(y)) { if (x.startBatch(), y.data) { g.data(y.data); var A = T.data; if (g.isEdge()) { var I = !1, O = {}, $ = y.data.source, z = y.data.target; $ != null && $ != A.source && (O.source = "" + $, I = !0), z != null && z != A.target && (O.target = "" + z, I = !0), I && (g = g.move(O)) } else { var S = "parent" in y.data, V = y.data.parent; S && (V != null || A.parent != null) && V != A.parent && (V === void 0 && (V = null), V != null && (V = "" + V), g = g.move({ parent: V })) } } y.position && g.position(y.position); var U = function (dt, At, xt) { var Mt = y[dt]; Mt != null && Mt !== T[dt] && (Mt ? g[At]() : g[xt]()) }; return U("removed", "remove", "restore"), U("selected", "select", "unselect"), U("selectable", "selectify", "unselectify"), U("locked", "lock", "unlock"), U("grabbable", "grabify", "ungrabify"), U("pannable", "panify", "unpanify"), y.classes != null && g.classes(y.classes), x.endBatch(), this } else if (y === void 0) { var tt = { data: oh(T.data), position: oh(T.position), group: T.group, removed: T.removed, selected: T.selected, selectable: T.selectable, locked: T.locked, grabbable: T.grabbable, pannable: T.pannable, classes: null }; tt.classes = ""; var at = 0; return T.classes.forEach(function (ut) { return tt.classes += at++ === 0 ? ut : " " + ut }), tt } } }, ku.jsons = function () { for (var y = [], g = 0; g < this.length; g++) { var x = this[g], T = x.json(); y.push(T) } return y }, ku.clone = function () { for (var y = this.cy(), g = [], x = 0; x < this.length; x++) { var T = this[x], A = T.json(), I = new CE(y, A, !1); g.push(I) } return new Gf(y, g) }, ku.copy = ku.clone, ku.restore = function () { for (var y = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0, g = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, x = this, T = x.cy(), A = T._private, I = [], O = [], $, z = 0, S = x.length; z < S; z++) { var V = x[z]; g && !V.removed() || (V.isNode() ? I.push(V) : O.push(V)) } $ = I.concat(O); var U, tt = function () { $.splice(U, 1), U-- }; for (U = 0; U < $.length; U++) { var at = $[U], ut = at._private, dt = ut.data; if (at.clearTraversalCache(), !(!g && !ut.removed)) { if (dt.id === void 0) dt.id = _E(); else if (rt(dt.id)) dt.id = "" + dt.id; else if (J(dt.id) || !Tt(dt.id)) { Ec("Can not create element with invalid string ID `" + dt.id + "`"), tt(); continue } else if (T.hasElementWithId(dt.id)) { Ec("Can not create second element with ID `" + dt.id + "`"), tt(); continue } } var At = dt.id; if (at.isNode()) { var xt = ut.position; xt.x == null && (xt.x = 0), xt.y == null && (xt.y = 0) } if (at.isEdge()) { for (var Mt = at, Dt = ["source", "target"], Bt = Dt.length, Zt = !1, Kt = 0; Kt < Bt; Kt++) { var $t = Dt[Kt], ee = dt[$t]; rt(ee) && (ee = dt[$t] = "" + dt[$t]), ee == null || ee === "" ? (Ec("Can not create edge `" + At + "` with unspecified " + $t), Zt = !0) : T.hasElementWithId(ee) || (Ec("Can not create edge `" + At + "` with nonexistant " + $t + " `" + ee + "`"), Zt = !0) } if (Zt) { tt(); continue } var Ht = T.getElementById(dt.source), ge = T.getElementById(dt.target); Ht.same(ge) ? Ht._private.edges.push(Mt) : (Ht._private.edges.push(Mt), ge._private.edges.push(Mt)), Mt._private.source = Ht, Mt._private.target = ge } ut.map = new j2, ut.map.set(At, { ele: at, index: 0 }), ut.removed = !1, g && T.addToPool(at) } for (var be = 0; be < I.length; be++) { var re = I[be], Pe = re._private.data; rt(Pe.parent) && (Pe.parent = "" + Pe.parent); var ve = Pe.parent, fn = ve != null; if (fn || re._private.parent) { var $e = re._private.parent ? T.collection().merge(re._private.parent) : T.getElementById(ve); if ($e.empty()) Pe.parent = void 0; else if ($e[0].removed()) Wo("Node added with missing parent, reference to parent removed"), Pe.parent = void 0, re._private.parent = null; else { for (var qe = !1, xn = $e; !xn.empty();) { if (re.same(xn)) { qe = !0, Pe.parent = void 0; break } xn = xn.parent() } qe || ($e[0]._private.children.push(re), re._private.parent = $e[0], A.hasCompoundNodes = !0) } } } if ($.length > 0) { for (var Nn = $.length === x.length ? x : new Gf(T, $), er = 0; er < Nn.length; er++) { var Sn = Nn[er]; Sn.isNode() || (Sn.parallelEdges().clearTraversalCache(), Sn.source().clearTraversalCache(), Sn.target().clearTraversalCache()) } var Jn; A.hasCompoundNodes ? Jn = T.collection().merge(Nn).merge(Nn.connectedNodes()).merge(Nn.parent()) : Jn = Nn, Jn.dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(y), y ? Nn.emitAndNotify("add") : g && Nn.emit("add") } return x }, ku.removed = function () { var y = this[0]; return y && y._private.removed }, ku.inside = function () { var y = this[0]; return y && !y._private.removed }, ku.remove = function () { var y = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0, g = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, x = this, T = [], A = {}, I = x._private.cy; function O(ve) { for (var fn = ve._private.edges, $e = 0; $e < fn.length; $e++)z(fn[$e]) } function $(ve) { for (var fn = ve._private.children, $e = 0; $e < fn.length; $e++)z(fn[$e]) } function z(ve) { var fn = A[ve.id()]; g && ve.removed() || fn || (A[ve.id()] = !0, ve.isNode() ? (T.push(ve), O(ve), $(ve)) : T.unshift(ve)) } for (var S = 0, V = x.length; S < V; S++) { var U = x[S]; z(U) } function tt(ve, fn) { var $e = ve._private.edges; dm($e, fn), ve.clearTraversalCache() } function at(ve) { ve.clearTraversalCache() } var ut = []; ut.ids = {}; function dt(ve, fn) { fn = fn[0], ve = ve[0]; var $e = ve._private.children, qe = ve.id(); dm($e, fn), fn._private.parent = null, ut.ids[qe] || (ut.ids[qe] = !0, ut.push(ve)) } x.dirtyCompoundBoundsCache(), g && I.removeFromPool(T); for (var At = 0; At < T.length; At++) { var xt = T[At]; if (xt.isEdge()) { var Mt = xt.source()[0], Dt = xt.target()[0]; tt(Mt, xt), tt(Dt, xt); for (var Bt = xt.parallelEdges(), Zt = 0; Zt < Bt.length; Zt++) { var Kt = Bt[Zt]; at(Kt), Kt.isBundledBezier() && Kt.dirtyBoundingBoxCache() } } else { var $t = xt.parent(); $t.length !== 0 && dt($t, xt) } g && (xt._private.removed = !0) } var ee = I._private.elements; I._private.hasCompoundNodes = !1; for (var Ht = 0; Ht < ee.length; Ht++) { var ge = ee[Ht]; if (ge.isParent()) { I._private.hasCompoundNodes = !0; break } } var be = new Gf(this.cy(), T); be.size() > 0 && (y ? be.emitAndNotify("remove") : g && be.emit("remove")); for (var re = 0; re < ut.length; re++) { var Pe = ut[re]; (!g || !Pe.removed()) && Pe.updateStyle() } return be }, ku.move = function (y) { var g = this._private.cy, x = this, T = !1, A = !1, I = function (ut) { return ut == null ? ut : "" + ut }; if (y.source !== void 0 || y.target !== void 0) { var O = I(y.source), $ = I(y.target), z = O != null && g.hasElementWithId(O), S = $ != null && g.hasElementWithId($); (z || S) && (g.batch(function () { x.remove(T, A), x.emitAndNotify("moveout"); for (var at = 0; at < x.length; at++) { var ut = x[at], dt = ut._private.data; ut.isEdge() && (z && (dt.source = O), S && (dt.target = $)) } x.restore(T, A) }), x.emitAndNotify("move")) } else if (y.parent !== void 0) { var V = I(y.parent), U = V === null || g.hasElementWithId(V); if (U) { var tt = V === null ? void 0 : V; g.batch(function () { var at = x.remove(T, A); at.emitAndNotify("moveout"); for (var ut = 0; ut < x.length; ut++) { var dt = x[ut], At = dt._private.data; dt.isNode() && (At.parent = tt) } at.restore(T, A) }), x.emitAndNotify("move") } } return this }, [gF, wZ, qE, mp, Z5, NZ, VE, WZ, iB, sB, ZZ, YE, XE, Vf, xm, m1].forEach(function (y) { Ke(ku, y) }); var sJ = { add: function (g) { var x, T = this; if (lt(g)) { var A = g; if (A._private.cy === T) x = A.restore(); else { for (var I = [], O = 0; O < A.length; O++) { var $ = A[O]; I.push($.json()) } x = new Gf(T, I) } } else if (yt(g)) { var z = g; x = new Gf(T, z) } else if (ht(g) && (yt(g.nodes) || yt(g.edges))) { for (var S = g, V = [], U = ["nodes", "edges"], tt = 0, at = U.length; tt < at; tt++) { var ut = U[tt], dt = S[ut]; if (yt(dt)) for (var At = 0, xt = dt.length; At < xt; At++) { var Mt = Ke({ group: ut }, dt[At]); V.push(Mt) } } x = new Gf(T, V) } else { var Dt = g; x = new CE(T, Dt).collection() } return x }, remove: function (g) { if (!lt(g)) { if (Tt(g)) { var x = g; g = this.$(x) } } return g.remove() } };/*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License */function aJ(y, g, x, T) { var A = 4, I = .001, O = 1e-7, $ = 10, z = 11, S = 1 / (z - 1), V = typeof Float32Array < "u"; if (arguments.length !== 4) return !1; for (var U = 0; U < 4; ++U)if (typeof arguments[U] != "number" || isNaN(arguments[U]) || !isFinite(arguments[U])) return !1; y = Math.min(y, 1), x = Math.min(x, 1), y = Math.max(y, 0), x = Math.max(x, 0); var tt = V ? new Float32Array(z) : new Array(z); function at(ge, be) { return 1 - 3 * be + 3 * ge } function ut(ge, be) { return 3 * be - 6 * ge } function dt(ge) { return 3 * ge } function At(ge, be, re) { return ((at(be, re) * ge + ut(be, re)) * ge + dt(be)) * ge } function xt(ge, be, re) { return 3 * at(be, re) * ge * ge + 2 * ut(be, re) * ge + dt(be) } function Mt(ge, be) { for (var re = 0; re < A; ++re) { var Pe = xt(be, y, x); if (Pe === 0) return be; var ve = At(be, y, x) - ge; be -= ve / Pe } return be } function Dt() { for (var ge = 0; ge < z; ++ge)tt[ge] = At(ge * S, y, x) } function Bt(ge, be, re) { var Pe, ve, fn = 0; do ve = be + (re - be) / 2, Pe = At(ve, y, x) - ge, Pe > 0 ? re = ve : be = ve; while (Math.abs(Pe) > O && ++fn < $); return ve } function Zt(ge) { for (var be = 0, re = 1, Pe = z - 1; re !== Pe && tt[re] <= ge; ++re)be += S; --re; var ve = (ge - tt[re]) / (tt[re + 1] - tt[re]), fn = be + ve * S, $e = xt(fn, y, x); return $e >= I ? Mt(ge, fn) : $e === 0 ? fn : Bt(ge, be, be + S) } var Kt = !1; function $t() { Kt = !0, (y !== g || x !== T) && Dt() } var ee = function (be) { return Kt || $t(), y === g && x === T ? be : be === 0 ? 0 : be === 1 ? 1 : At(Zt(be), g, T) }; ee.getControlPoints = function () { return [{ x: y, y: g }, { x, y: T }] }; var Ht = "generateBezier(" + [y, g, x, T] + ")"; return ee.toString = function () { return Ht }, ee }/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var oJ = function () { function y(T) { return -T.tension * T.x - T.friction * T.v } function g(T, A, I) { var O = { x: T.x + I.dx * A, v: T.v + I.dv * A, tension: T.tension, friction: T.friction }; return { dx: O.v, dv: y(O) } } function x(T, A) { var I = { dx: T.v, dv: y(T) }, O = g(T, A * .5, I), $ = g(T, A * .5, O), z = g(T, A, $), S = 1 / 6 * (I.dx + 2 * (O.dx + $.dx) + z.dx), V = 1 / 6 * (I.dv + 2 * (O.dv + $.dv) + z.dv); return T.x = T.x + S * A, T.v = T.v + V * A, T } return function T(A, I, O) { var $ = { x: -1, v: 0, tension: null, friction: null }, z = [0], S = 0, V = 1 / 1e4, U = 16 / 1e3, tt, at, ut; for (A = parseFloat(A) || 500, I = parseFloat(I) || 20, O = O || null, $.tension = A, $.friction = I, tt = O !== null, tt ? (S = T(A, I), at = S / O * U) : at = U; ut = x(ut || $, at), z.push(1 + ut.x), S += 16, Math.abs(ut.x) > V && Math.abs(ut.v) > V;); return tt ? function (dt) { return z[dt * (z.length - 1) | 0] } : S } }(), Eu = function (g, x, T, A) { var I = aJ(g, x, T, A); return function (O, $, z) { return O + ($ - O) * I(z) } }, JE = { linear: function (g, x, T) { return g + (x - g) * T }, ease: Eu(.25, .1, .25, 1), "ease-in": Eu(.42, 0, 1, 1), "ease-out": Eu(0, 0, .58, 1), "ease-in-out": Eu(.42, 0, .58, 1), "ease-in-sine": Eu(.47, 0, .745, .715), "ease-out-sine": Eu(.39, .575, .565, 1), "ease-in-out-sine": Eu(.445, .05, .55, .95), "ease-in-quad": Eu(.55, .085, .68, .53), "ease-out-quad": Eu(.25, .46, .45, .94), "ease-in-out-quad": Eu(.455, .03, .515, .955), "ease-in-cubic": Eu(.55, .055, .675, .19), "ease-out-cubic": Eu(.215, .61, .355, 1), "ease-in-out-cubic": Eu(.645, .045, .355, 1), "ease-in-quart": Eu(.895, .03, .685, .22), "ease-out-quart": Eu(.165, .84, .44, 1), "ease-in-out-quart": Eu(.77, 0, .175, 1), "ease-in-quint": Eu(.755, .05, .855, .06), "ease-out-quint": Eu(.23, 1, .32, 1), "ease-in-out-quint": Eu(.86, 0, .07, 1), "ease-in-expo": Eu(.95, .05, .795, .035), "ease-out-expo": Eu(.19, 1, .22, 1), "ease-in-out-expo": Eu(1, 0, 0, 1), "ease-in-circ": Eu(.6, .04, .98, .335), "ease-out-circ": Eu(.075, .82, .165, 1), "ease-in-out-circ": Eu(.785, .135, .15, .86), spring: function (g, x, T) { if (T === 0) return JE.linear; var A = oJ(g, x, T); return function (I, O, $) { return I + (O - I) * A($) } }, "cubic-bezier": Eu }; function pB(y, g, x, T, A) { if (T === 1 || g === x) return x; var I = A(g, x, T); return y == null || ((y.roundValue || y.color) && (I = Math.round(I)), y.min !== void 0 && (I = Math.max(I, y.min)), y.max !== void 0 && (I = Math.min(I, y.max))), I } function bB(y, g) { return y.pfValue != null || y.value != null ? y.pfValue != null && (g == null || g.type.units !== "%") ? y.pfValue : y.value : y } function i6(y, g, x, T, A) { var I = A != null ? A.type : null; x < 0 ? x = 0 : x > 1 && (x = 1); var O = bB(y, A), $ = bB(g, A); if (rt(O) && rt($)) return pB(I, O, $, x, T); if (yt(O) && yt($)) { for (var z = [], S = 0; S < $.length; S++) { var V = O[S], U = $[S]; if (V != null && U != null) { var tt = pB(I, V, U, x, T); z.push(tt) } else z.push(U) } return z } } function cJ(y, g, x, T) { var A = !T, I = y._private, O = g._private, $ = O.easing, z = O.startTime, S = T ? y : y.cy(), V = S.style(); if (!O.easingImpl) if ($ == null) O.easingImpl = JE.linear; else { var U; if (Tt($)) { var tt = V.parse("transition-timing-function", $); U = tt.value } else U = $; var at, ut; Tt(U) ? (at = U, ut = []) : (at = U[1], ut = U.slice(2).map(function (Nn) { return +Nn })), ut.length > 0 ? (at === "spring" && ut.push(O.duration), O.easingImpl = JE[at].apply(null, ut)) : O.easingImpl = JE[at] } var dt = O.easingImpl, At; if (O.duration === 0 ? At = 1 : At = (x - z) / O.duration, O.applying && (At = O.progress), At < 0 ? At = 0 : At > 1 && (At = 1), O.delay == null) { var xt = O.startPosition, Mt = O.position; if (Mt && A && !y.locked()) { var Dt = {}; Ik(xt.x, Mt.x) && (Dt.x = i6(xt.x, Mt.x, At, dt)), Ik(xt.y, Mt.y) && (Dt.y = i6(xt.y, Mt.y, At, dt)), y.position(Dt) } var Bt = O.startPan, Zt = O.pan, Kt = I.pan, $t = Zt != null && T; $t && (Ik(Bt.x, Zt.x) && (Kt.x = i6(Bt.x, Zt.x, At, dt)), Ik(Bt.y, Zt.y) && (Kt.y = i6(Bt.y, Zt.y, At, dt)), y.emit("pan")); var ee = O.startZoom, Ht = O.zoom, ge = Ht != null && T; ge && (Ik(ee, Ht) && (I.zoom = wk(I.minZoom, i6(ee, Ht, At, dt), I.maxZoom)), y.emit("zoom")), ($t || ge) && y.emit("viewport"); var be = O.style; if (be && be.length > 0 && A) { for (var re = 0; re < be.length; re++) { var Pe = be[re], ve = Pe.name, fn = Pe, $e = O.startStyle[ve], qe = V.properties[$e.name], xn = i6($e, fn, At, dt, qe); V.overrideBypass(y, ve, xn) } y.emit("style") } } return O.progress = At, At } function Ik(y, g) { return y == null || g == null ? !1 : rt(y) && rt(g) ? !0 : !!(y && g) } function uJ(y, g, x, T) { var A = g._private; A.started = !0, A.startTime = x - A.progress * A.duration } function vB(y, g) { var x = g._private.aniEles, T = []; function A(V, U) { var tt = V._private, at = tt.animation.current, ut = tt.animation.queue, dt = !1; if (at.length === 0) { var At = ut.shift(); At && at.push(At) } for (var xt = function (Kt) { for (var $t = Kt.length - 1; $t >= 0; $t--) { var ee = Kt[$t]; ee() } Kt.splice(0, Kt.length) }, Mt = at.length - 1; Mt >= 0; Mt--) { var Dt = at[Mt], Bt = Dt._private; if (Bt.stopped) { at.splice(Mt, 1), Bt.hooked = !1, Bt.playing = !1, Bt.started = !1, xt(Bt.frames); continue } !Bt.playing && !Bt.applying || (Bt.playing && Bt.applying && (Bt.applying = !1), Bt.started || uJ(V, Dt, y), cJ(V, Dt, y, U), Bt.applying && (Bt.applying = !1), xt(Bt.frames), Bt.step != null && Bt.step(y), Dt.completed() && (at.splice(Mt, 1), Bt.hooked = !1, Bt.playing = !1, Bt.started = !1, xt(Bt.completes)), dt = !0) } return !U && at.length === 0 && ut.length === 0 && T.push(V), dt } for (var I = !1, O = 0; O < x.length; O++) { var $ = x[O], z = A($); I = I || z } var S = A(g, !0); (I || S) && (x.length > 0 ? g.notify("draw", x) : g.notify("draw")), x.unmerge(T), g.emit("step") } var lJ = { animate: jc.animate(), animation: jc.animation(), animated: jc.animated(), clearQueue: jc.clearQueue(), delay: jc.delay(), delayAnimation: jc.delayAnimation(), stop: jc.stop(), addToAnimationPool: function (g) { var x = this; x.styleEnabled() && x._private.aniEles.merge(g) }, stopAnimationLoop: function () { this._private.animationsRunning = !1 }, startAnimationLoop: function () { var g = this; if (g._private.animationsRunning = !0, !g.styleEnabled()) return; function x() { g._private.animationsRunning && Ma(function (I) { vB(I, g), x() }) } var T = g.renderer(); T && T.beforeRender ? T.beforeRender(function (I, O) { vB(O, g) }, T.beforeRenderPriorities.animations) : x() } }, hJ = { qualifierCompare: function (g, x) { return g == null || x == null ? g == null && x == null : g.sameText(x) }, eventMatches: function (g, x, T) { var A = x.qualifier; return A != null ? g !== T.target && _t(T.target) && A.matches(T.target) : !0 }, addEventFields: function (g, x) { x.cy = g, x.target = g }, callbackContext: function (g, x, T) { return x.qualifier != null ? T.target : g } }, tT = function (g) { return Tt(g) ? new wm(g) : g }, wB = { createEmitter: function () { var g = this._private; return g.emitter || (g.emitter = new WE(hJ, this)), this }, emitter: function () { return this._private.emitter }, on: function (g, x, T) { return this.emitter().on(g, tT(x), T), this }, removeListener: function (g, x, T) { return this.emitter().removeListener(g, tT(x), T), this }, removeAllListeners: function () { return this.emitter().removeAllListeners(), this }, one: function (g, x, T) { return this.emitter().one(g, tT(x), T), this }, once: function (g, x, T) { return this.emitter().one(g, tT(x), T), this }, emit: function (g, x) { return this.emitter().emit(g, x), this }, emitAndNotify: function (g, x) { return this.emit(g), this.notify(g, x), this } }; jc.eventAliasesOn(wB); var $L = { png: function (g) { var x = this._private.renderer; return g = g || {}, x.png(g) }, jpg: function (g) { var x = this._private.renderer; return g = g || {}, g.bg = g.bg || "#fff", x.jpg(g) } }; $L.jpeg = $L.jpg; var eT = { layout: function (g) { var x = this; if (g == null) { Ec("Layout options must be specified to make a layout"); return } if (g.name == null) { Ec("A `name` must be specified to make a layout"); return } var T = g.name, A = x.extension("layout", T); if (A == null) { Ec("No such layout `" + T + "` found.  Did you forget to import it and `cytoscape.use()` it?"); return } var I; Tt(g.eles) ? I = x.$(g.eles) : I = g.eles != null ? g.eles : x.$(); var O = new A(Ke({}, g, { cy: x, eles: I })); return O } }; eT.createLayout = eT.makeLayout = eT.layout; var fJ = { notify: function (g, x) { var T = this._private; if (this.batching()) { T.batchNotifications = T.batchNotifications || {}; var A = T.batchNotifications[g] = T.batchNotifications[g] || this.collection(); x != null && A.merge(x); return } if (T.notificationsEnabled) { var I = this.renderer(); this.destroyed() || !I || I.notify(g, x) } }, notifications: function (g) { var x = this._private; return g === void 0 ? x.notificationsEnabled : (x.notificationsEnabled = !!g, this) }, noNotifications: function (g) { this.notifications(!1), g(), this.notifications(!0) }, batching: function () { return this._private.batchCount > 0 }, startBatch: function () { var g = this._private; return g.batchCount == null && (g.batchCount = 0), g.batchCount === 0 && (g.batchStyleEles = this.collection(), g.batchNotifications = {}), g.batchCount++, this }, endBatch: function () { var g = this._private; if (g.batchCount === 0) return this; if (g.batchCount--, g.batchCount === 0) { g.batchStyleEles.updateStyle(); var x = this.renderer(); Object.keys(g.batchNotifications).forEach(function (T) { var A = g.batchNotifications[T]; A.empty() ? x.notify(T) : x.notify(T, A) }) } return this }, batch: function (g) { return this.startBatch(), g(), this.endBatch(), this }, batchData: function (g) { var x = this; return this.batch(function () { for (var T = Object.keys(g), A = 0; A < T.length; A++) { var I = T[A], O = g[I], $ = x.getElementById(I); $.data(O) } }) } }, dJ = Hf({ hideEdgesOnViewport: !1, textureOnViewport: !1, motionBlur: !1, motionBlurOpacity: .05, pixelRatio: void 0, desktopTapThreshold: 4, touchTapThreshold: 8, wheelSensitivity: 1, debug: !1, showFps: !1 }), zL = { renderTo: function (g, x, T, A) { var I = this._private.renderer; return I.renderTo(g, x, T, A), this }, renderer: function () { return this._private.renderer }, forceRender: function () { return this.notify("draw"), this }, resize: function () { return this.invalidateSize(), this.emitAndNotify("resize"), this }, initRenderer: function (g) { var x = this, T = x.extension("renderer", g.name); if (T == null) { Ec("Can not initialise: No such renderer `".concat(g.name, "` found. Did you forget to import it and `cytoscape.use()` it?")); return } g.wheelSensitivity !== void 0 && Wo("You have set a custom wheel sensitivity.  This will make your app zoom unnaturally when using mainstream mice.  You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine."); var A = dJ(g); A.cy = x, x._private.renderer = new T(A), this.notify("init") }, destroyRenderer: function () { var g = this; g.notify("destroy"); var x = g.container(); if (x) for (x._cyreg = null; x.childNodes.length > 0;)x.removeChild(x.childNodes[0]); g._private.renderer = null, g.mutableElements().forEach(function (T) { var A = T._private; A.rscratch = {}, A.rstyle = {}, A.animation.current = [], A.animation.queue = [] }) }, onRender: function (g) { return this.on("render", g) }, offRender: function (g) { return this.off("render", g) } }; zL.invalidateDimensions = zL.resize; var nT = { collection: function (g, x) { return Tt(g) ? this.$(g) : lt(g) ? g.collection() : yt(g) ? (x || (x = {}), new Gf(this, g, x.unique, x.removed)) : new Gf(this) }, nodes: function (g) { var x = this.$(function (T) { return T.isNode() }); return g ? x.filter(g) : x }, edges: function (g) { var x = this.$(function (T) { return T.isEdge() }); return g ? x.filter(g) : x }, $: function (g) { var x = this._private.elements; return g ? x.filter(g) : x.spawnSelf() }, mutableElements: function () { return this._private.elements } }; nT.elements = nT.filter = nT.$; var y1 = {}, Ok = "t", gJ = "f"; y1.apply = function (y) { for (var g = this, x = g._private, T = x.cy, A = T.collection(), I = 0; I < y.length; I++) { var O = y[I], $ = g.getContextMeta(O); if (!$.empty) { var z = g.getContextStyle($), S = g.applyContextStyle($, z, O); O._private.appliedInitStyle ? g.updateTransitions(O, S.diffProps) : O._private.appliedInitStyle = !0; var V = g.updateStyleHints(O); V && A.push(O) } } return A }, y1.getPropertiesDiff = function (y, g) { var x = this, T = x._private.propDiffs = x._private.propDiffs || {}, A = y + "-" + g, I = T[A]; if (I) return I; for (var O = [], $ = {}, z = 0; z < x.length; z++) { var S = x[z], V = y[z] === Ok, U = g[z] === Ok, tt = V !== U, at = S.mappedProperties.length > 0; if (tt || U && at) { var ut = void 0; tt && at || tt ? ut = S.properties : at && (ut = S.mappedProperties); for (var dt = 0; dt < ut.length; dt++) { for (var At = ut[dt], xt = At.name, Mt = !1, Dt = z + 1; Dt < x.length; Dt++) { var Bt = x[Dt], Zt = g[Dt] === Ok; if (Zt && (Mt = Bt.properties[At.name] != null, Mt)) break } !$[xt] && !Mt && ($[xt] = !0, O.push(xt)) } } } return T[A] = O, O }, y1.getContextMeta = function (y) { for (var g = this, x = "", T, A = y._private.styleCxtKey || "", I = 0; I < g.length; I++) { var O = g[I], $ = O.selector && O.selector.matches(y); $ ? x += Ok : x += gJ } return T = g.getPropertiesDiff(A, x), y._private.styleCxtKey = x, { key: x, diffPropNames: T, empty: T.length === 0 } }, y1.getContextStyle = function (y) { var g = y.key, x = this, T = this._private.contextStyles = this._private.contextStyles || {}; if (T[g]) return T[g]; for (var A = { _private: { key: g } }, I = 0; I < x.length; I++) { var O = x[I], $ = g[I] === Ok; if ($) for (var z = 0; z < O.properties.length; z++) { var S = O.properties[z]; A[S.name] = S } } return T[g] = A, A }, y1.applyContextStyle = function (y, g, x) { for (var T = this, A = y.diffPropNames, I = {}, O = T.types, $ = 0; $ < A.length; $++) { var z = A[$], S = g[z], V = x.pstyle(z); if (!S) if (V) V.bypass ? S = { name: z, deleteBypassed: !0 } : S = { name: z, delete: !0 }; else continue; if (V !== S) { if (S.mapped === O.fn && V != null && V.mapping != null && V.mapping.value === S.value) { var U = V.mapping, tt = U.fnValue = S.value(x); if (tt === U.prevFnValue) continue } var at = I[z] = { prev: V }; T.applyParsedProperty(x, S), at.next = x.pstyle(z), at.next && at.next.bypass && (at.next = at.next.bypassed) } } return { diffProps: I } }, y1.updateStyleHints = function (y) { var g = y._private, x = this, T = x.propertyGroupNames, A = x.propertyGroupKeys, I = function (fi, Ii, oa) { return x.getPropertiesHash(fi, Ii, oa) }, O = g.styleKey; if (y.removed()) return !1; var $ = g.group === "nodes", z = y._private.style; T = Object.keys(z); for (var S = 0; S < A.length; S++) { var V = A[S]; g.styleKeys[V] = [Rc, pp] } for (var U = function (fi, Ii) { return g.styleKeys[Ii][0] = uf(fi, g.styleKeys[Ii][0]) }, tt = function (fi, Ii) { return g.styleKeys[Ii][1] = lm(fi, g.styleKeys[Ii][1]) }, at = function (fi, Ii) { U(fi, Ii), tt(fi, Ii) }, ut = function (fi, Ii) { for (var oa = 0; oa < fi.length; oa++) { var Fa = fi.charCodeAt(oa); U(Fa, Ii), tt(Fa, Ii) } }, dt = 2e9, At = function (fi) { return -128 < fi && fi < 128 && Math.floor(fi) !== fi ? dt - (fi * 1024 | 0) : fi }, xt = 0; xt < T.length; xt++) { var Mt = T[xt], Dt = z[Mt]; if (Dt != null) { var Bt = this.properties[Mt], Zt = Bt.type, Kt = Bt.groupKey, $t = void 0; Bt.hashOverride != null ? $t = Bt.hashOverride(y, Dt) : Dt.pfValue != null && ($t = Dt.pfValue); var ee = Bt.enums == null ? Dt.value : null, Ht = $t != null, ge = ee != null, be = Ht || ge, re = Dt.units; if (Zt.number && be && !Zt.multiple) { var Pe = Ht ? $t : ee; at(At(Pe), Kt), !Ht && re != null && ut(re, Kt) } else ut(Dt.strValue, Kt) } } for (var ve = [Rc, pp], fn = 0; fn < A.length; fn++) { var $e = A[fn], qe = g.styleKeys[$e]; ve[0] = uf(qe[0], ve[0]), ve[1] = lm(qe[1], ve[1]) } g.styleKey = EE(ve[0], ve[1]); var xn = g.styleKeys; g.labelDimsKey = bp(xn.labelDimensions); var Nn = I(y, ["label"], xn.labelDimensions); if (g.labelKey = bp(Nn), g.labelStyleKey = bp(B5(xn.commonLabel, Nn)), !$) { var er = I(y, ["source-label"], xn.labelDimensions); g.sourceLabelKey = bp(er), g.sourceLabelStyleKey = bp(B5(xn.commonLabel, er)); var Sn = I(y, ["target-label"], xn.labelDimensions); g.targetLabelKey = bp(Sn), g.targetLabelStyleKey = bp(B5(xn.commonLabel, Sn)) } if ($) { var Jn = g.styleKeys, fr = Jn.nodeBody, Sr = Jn.nodeBorder, wr = Jn.backgroundImage, cr = Jn.compound, bn = Jn.pie, Tr = [fr, Sr, wr, cr, bn].filter(function (xr) { return xr != null }).reduce(B5, [Rc, pp]); g.nodeKey = bp(Tr), g.hasPie = bn != null && bn[0] !== Rc && bn[1] !== pp } return O !== g.styleKey }, y1.clearStyleHints = function (y) { var g = y._private; g.styleCxtKey = "", g.styleKeys = {}, g.styleKey = null, g.labelKey = null, g.labelStyleKey = null, g.sourceLabelKey = null, g.sourceLabelStyleKey = null, g.targetLabelKey = null, g.targetLabelStyleKey = null, g.nodeKey = null, g.hasPie = null }, y1.applyParsedProperty = function (y, g) { var x = this, T = g, A = y._private.style, I, O = x.types, $ = x.properties[T.name].type, z = T.bypass, S = A[T.name], V = S && S.bypass, U = y._private, tt = "mapping", at = function (fr) { return fr == null ? null : fr.pfValue != null ? fr.pfValue : fr.value }, ut = function () { var fr = at(S), Sr = at(T); x.checkTriggers(y, T.name, fr, Sr) }; if (T && T.name.substr(0, 3) === "pie" && Wo("The pie style properties are deprecated.  Create charts using background images instead."), g.name === "curve-style" && y.isEdge() && (g.value !== "bezier" && y.isLoop() || g.value === "haystack" && (y.source().isParent() || y.target().isParent())) && (T = g = this.parse(g.name, "bezier", z)), T.delete) return A[T.name] = void 0, ut(), !0; if (T.deleteBypassed) return S ? S.bypass ? (S.bypassed = void 0, ut(), !0) : !1 : (ut(), !0); if (T.deleteBypass) return S ? S.bypass ? (A[T.name] = S.bypassed, ut(), !0) : !1 : (ut(), !0); var dt = function () { Wo("Do not assign mappings to elements without corresponding data (i.e. ele `" + y.id() + "` has no mapping for property `" + T.name + "` with data field `" + T.field + "`); try a `[" + T.field + "]` selector to limit scope to elements with `" + T.field + "` defined") }; switch (T.mapped) { case O.mapData: { for (var At = T.field.split("."), xt = U.data, Mt = 0; Mt < At.length && xt; Mt++) { var Dt = At[Mt]; xt = xt[Dt] } if (xt == null) return dt(), !1; var Bt; if (rt(xt)) { var Zt = T.fieldMax - T.fieldMin; Zt === 0 ? Bt = 0 : Bt = (xt - T.fieldMin) / Zt } else return Wo("Do not use continuous mappers without specifying numeric data (i.e. `" + T.field + ": " + xt + "` for `" + y.id() + "` is non-numeric)"), !1; if (Bt < 0 ? Bt = 0 : Bt > 1 && (Bt = 1), $.color) { var Kt = T.valueMin[0], $t = T.valueMax[0], ee = T.valueMin[1], Ht = T.valueMax[1], ge = T.valueMin[2], be = T.valueMax[2], re = T.valueMin[3] == null ? 1 : T.valueMin[3], Pe = T.valueMax[3] == null ? 1 : T.valueMax[3], ve = [Math.round(Kt + ($t - Kt) * Bt), Math.round(ee + (Ht - ee) * Bt), Math.round(ge + (be - ge) * Bt), Math.round(re + (Pe - re) * Bt)]; I = { bypass: T.bypass, name: T.name, value: ve, strValue: "rgb(" + ve[0] + ", " + ve[1] + ", " + ve[2] + ")" } } else if ($.number) { var fn = T.valueMin + (T.valueMax - T.valueMin) * Bt; I = this.parse(T.name, fn, T.bypass, tt) } else return !1; if (!I) return dt(), !1; I.mapping = T, T = I; break } case O.data: { for (var $e = T.field.split("."), qe = U.data, xn = 0; xn < $e.length && qe; xn++) { var Nn = $e[xn]; qe = qe[Nn] } if (qe != null && (I = this.parse(T.name, qe, T.bypass, tt)), !I) return dt(), !1; I.mapping = T, T = I; break } case O.fn: { var er = T.value, Sn = T.fnValue != null ? T.fnValue : er(y); if (T.prevFnValue = Sn, Sn == null) return Wo("Custom function mappers may not return null (i.e. `" + T.name + "` for ele `" + y.id() + "` is null)"), !1; if (I = this.parse(T.name, Sn, T.bypass, tt), !I) return Wo("Custom function mappers may not return invalid values for the property type (i.e. `" + T.name + "` for ele `" + y.id() + "` is invalid)"), !1; I.mapping = oh(T), T = I; break } case void 0: break; default: return !1 }return z ? (V ? T.bypassed = S.bypassed : T.bypassed = S, A[T.name] = T) : V ? S.bypassed = T : A[T.name] = T, ut(), !0 }, y1.cleanElements = function (y, g) { for (var x = 0; x < y.length; x++) { var T = y[x]; if (this.clearStyleHints(T), T.dirtyCompoundBoundsCache(), T.dirtyBoundingBoxCache(), !g) T._private.style = {}; else for (var A = T._private.style, I = Object.keys(A), O = 0; O < I.length; O++) { var $ = I[O], z = A[$]; z != null && (z.bypass ? z.bypassed = null : A[$] = null) } } }, y1.update = function () { var y = this._private.cy, g = y.mutableElements(); g.updateStyle() }, y1.updateTransitions = function (y, g) { var x = this, T = y._private, A = y.pstyle("transition-property").value, I = y.pstyle("transition-duration").pfValue, O = y.pstyle("transition-delay").pfValue; if (A.length > 0 && I > 0) { for (var $ = {}, z = !1, S = 0; S < A.length; S++) { var V = A[S], U = y.pstyle(V), tt = g[V]; if (tt) { var at = tt.prev, ut = at, dt = tt.next != null ? tt.next : U, At = !1, xt = void 0, Mt = 1e-6; ut && (rt(ut.pfValue) && rt(dt.pfValue) ? (At = dt.pfValue - ut.pfValue, xt = ut.pfValue + Mt * At) : rt(ut.value) && rt(dt.value) ? (At = dt.value - ut.value, xt = ut.value + Mt * At) : yt(ut.value) && yt(dt.value) && (At = ut.value[0] !== dt.value[0] || ut.value[1] !== dt.value[1] || ut.value[2] !== dt.value[2], xt = ut.strValue), At && ($[V] = dt.strValue, this.applyBypass(y, V, xt), z = !0)) } } if (!z) return; T.transitioning = !0, new W5(function (Dt) { O > 0 ? y.delayAnimation(O).play().promise().then(Dt) : Dt() }).then(function () { return y.animation({ style: $, duration: I, easing: y.pstyle("transition-timing-function").value, queue: !1 }).play().promise() }).then(function () { x.removeBypasses(y, A), y.emitAndNotify("style"), T.transitioning = !1 }) } else T.transitioning && (this.removeBypasses(y, A), y.emitAndNotify("style"), T.transitioning = !1) }, y1.checkTrigger = function (y, g, x, T, A, I) { var O = this.properties[g], $ = A(O); $ != null && $(x, T) && I(O) }, y1.checkZOrderTrigger = function (y, g, x, T) { var A = this; this.checkTrigger(y, g, x, T, function (I) { return I.triggersZOrder }, function () { A._private.cy.notify("zorder", y) }) }, y1.checkBoundsTrigger = function (y, g, x, T) { this.checkTrigger(y, g, x, T, function (A) { return A.triggersBounds }, function (A) { y.dirtyCompoundBoundsCache(), y.dirtyBoundingBoxCache(), A.triggersBoundsOfParallelBeziers && (g === "curve-style" && (x === "bezier" || T === "bezier") || g === "display" && (x === "none" || T === "none")) && y.parallelEdges().forEach(function (I) { I.isBundledBezier() && I.dirtyBoundingBoxCache() }) }) }, y1.checkTriggers = function (y, g, x, T) { y.dirtyStyleCache(), this.checkZOrderTrigger(y, g, x, T), this.checkBoundsTrigger(y, g, x, T) }; var Nk = {}; Nk.applyBypass = function (y, g, x, T) { var A = this, I = [], O = !0; if (g === "*" || g === "**") { if (x !== void 0) for (var $ = 0; $ < A.properties.length; $++) { var z = A.properties[$], S = z.name, V = this.parse(S, x, !0); V && I.push(V) } } else if (Tt(g)) { var U = this.parse(g, x, !0); U && I.push(U) } else if (ht(g)) { var tt = g; T = x; for (var at = Object.keys(tt), ut = 0; ut < at.length; ut++) { var dt = at[ut], At = tt[dt]; if (At === void 0 && (At = tt[_n(dt)]), At !== void 0) { var xt = this.parse(dt, At, !0); xt && I.push(xt) } } } else return !1; if (I.length === 0) return !1; for (var Mt = !1, Dt = 0; Dt < y.length; Dt++) { for (var Bt = y[Dt], Zt = {}, Kt = void 0, $t = 0; $t < I.length; $t++) { var ee = I[$t]; if (T) { var Ht = Bt.pstyle(ee.name); Kt = Zt[ee.name] = { prev: Ht } } Mt = this.applyParsedProperty(Bt, oh(ee)) || Mt, T && (Kt.next = Bt.pstyle(ee.name)) } Mt && this.updateStyleHints(Bt), T && this.updateTransitions(Bt, Zt, O) } return Mt }, Nk.overrideBypass = function (y, g, x) { g = Ue(g); for (var T = 0; T < y.length; T++) { var A = y[T], I = A._private.style[g], O = this.properties[g].type, $ = O.color, z = O.mutiple, S = I ? I.pfValue != null ? I.pfValue : I.value : null; !I || !I.bypass ? this.applyBypass(A, g, x) : (I.value = x, I.pfValue != null && (I.pfValue = x), $ ? I.strValue = "rgb(" + x.join(",") + ")" : z ? I.strValue = x.join(" ") : I.strValue = "" + x, this.updateStyleHints(A)), this.checkTriggers(A, g, S, x) } }, Nk.removeAllBypasses = function (y, g) { return this.removeBypasses(y, this.propertyNames, g) }, Nk.removeBypasses = function (y, g, x) { for (var T = !0, A = 0; A < y.length; A++) { for (var I = y[A], O = {}, $ = 0; $ < g.length; $++) { var z = g[$], S = this.properties[z], V = I.pstyle(S.name); if (!(!V || !V.bypass)) { var U = "", tt = this.parse(z, U, !0), at = O[S.name] = { prev: V }; this.applyParsedProperty(I, tt), at.next = I.pstyle(S.name) } } this.updateStyleHints(I), x && this.updateTransitions(I, O, T) } }; var qL = {}; qL.getEmSizeInPixels = function () { var y = this.containerCss("font-size"); return y != null ? parseFloat(y) : 1 }, qL.containerCss = function (y) { var g = this._private.cy, x = g.container(); if (R && x && R.getComputedStyle) return R.getComputedStyle(x).getPropertyValue(y) }; var z2 = {}; z2.getRenderedStyle = function (y, g) { return g ? this.getStylePropertyValue(y, g, !0) : this.getRawStyle(y, !0) }, z2.getRawStyle = function (y, g) { var x = this; if (y = y[0], y) { for (var T = {}, A = 0; A < x.properties.length; A++) { var I = x.properties[A], O = x.getStylePropertyValue(y, I.name, g); O != null && (T[I.name] = O, T[_n(I.name)] = O) } return T } }, z2.getIndexedStyle = function (y, g, x, T) { var A = y.pstyle(g)[x][T]; return A ?? y.cy().style().getDefaultProperty(g)[x][0] }, z2.getStylePropertyValue = function (y, g, x) { var T = this; if (y = y[0], y) { var A = T.properties[g]; A.alias && (A = A.pointsTo); var I = A.type, O = y.pstyle(A.name); if (O) { var $ = O.value, z = O.units, S = O.strValue; if (x && I.number && $ != null && rt($)) { var V = y.cy().zoom(), U = function (At) { return At * V }, tt = function (At, xt) { return U(At) + xt }, at = yt($), ut = at ? z.every(function (dt) { return dt != null }) : z != null; return ut ? at ? $.map(function (dt, At) { return tt(dt, z[At]) }).join(" ") : tt($, z) : at ? $.map(function (dt) { return Tt(dt) ? dt : "" + U(dt) }).join(" ") : "" + U($) } else if (S != null) return S } return null } }, z2.getAnimationStartStyle = function (y, g) { for (var x = {}, T = 0; T < g.length; T++) { var A = g[T], I = A.name, O = y.pstyle(I); O !== void 0 && (ht(O) ? O = this.parse(I, O.strValue) : O = this.parse(I, O)), O && (x[I] = O) } return x }, z2.getPropsList = function (y) { var g = this, x = [], T = y, A = g.properties; if (T) for (var I = Object.keys(T), O = 0; O < I.length; O++) { var $ = I[O], z = T[$], S = A[$] || A[Ue($)], V = this.parse(S.name, z); V && x.push(V) } return x }, z2.getNonDefaultPropertiesHash = function (y, g, x) { var T = x.slice(), A, I, O, $, z, S; for (z = 0; z < g.length; z++)if (A = g[z], I = y.pstyle(A, !1), I != null) if (I.pfValue != null) T[0] = uf($, T[0]), T[1] = lm($, T[1]); else for (O = I.strValue, S = 0; S < O.length; S++)$ = O.charCodeAt(S), T[0] = uf($, T[0]), T[1] = lm($, T[1]); return T }, z2.getPropertiesHash = z2.getNonDefaultPropertiesHash; var rT = {}; rT.appendFromJson = function (y) { for (var g = this, x = 0; x < y.length; x++) { var T = y[x], A = T.selector, I = T.style || T.css, O = Object.keys(I); g.selector(A); for (var $ = 0; $ < O.length; $++) { var z = O[$], S = I[z]; g.css(z, S) } } return g }, rT.fromJson = function (y) { var g = this; return g.resetToDefault(), g.appendFromJson(y), g }, rT.json = function () { for (var y = [], g = this.defaultLength; g < this.length; g++) { for (var x = this[g], T = x.selector, A = x.properties, I = {}, O = 0; O < A.length; O++) { var $ = A[O]; I[$.name] = $.strValue } y.push({ selector: T ? T.toString() : "core", style: I }) } return y }; var HL = {}; HL.appendFromString = function (y) { var g = this, x = this, T = "" + y, A, I, O; T = T.replace(/[/][*](\s|.)+?[*][/]/g, ""); function $() { T.length > A.length ? T = T.substr(A.length) : T = "" } function z() { I.length > O.length ? I = I.substr(O.length) : I = "" } for (; ;) { var S = T.match(/^\s*$/); if (S) break; var V = T.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/); if (!V) { Wo("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: " + T); break } A = V[0]; var U = V[1]; if (U !== "core") { var tt = new wm(U); if (tt.invalid) { Wo("Skipping parsing of block: Invalid selector found in string stylesheet: " + U), $(); continue } } var at = V[2], ut = !1; I = at; for (var dt = []; ;) { var At = I.match(/^\s*$/); if (At) break; var xt = I.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/); if (!xt) { Wo("Skipping parsing of block: Invalid formatting of style property and value definitions found in:" + at), ut = !0; break } O = xt[0]; var Mt = xt[1], Dt = xt[2], Bt = g.properties[Mt]; if (!Bt) { Wo("Skipping property: Invalid property name in: " + O), z(); continue } var Zt = x.parse(Mt, Dt); if (!Zt) { Wo("Skipping property: Invalid property definition in: " + O), z(); continue } dt.push({ name: Mt, val: Dt }), z() } if (ut) { $(); break } x.selector(U); for (var Kt = 0; Kt < dt.length; Kt++) { var $t = dt[Kt]; x.css($t.name, $t.val) } $() } return x }, HL.fromString = function (y) { var g = this; return g.resetToDefault(), g.appendFromString(y), g }; var Uf = {}; (function () { var y = Te, g = Ee, x = Vt, T = Ae, A = Gt, I = function (Tr) { return "^" + Tr + "\\s*\\(\\s*([\\w\\.]+)\\s*\\)$" }, O = function (Tr) { var xr = y + "|\\w+|" + g + "|" + x + "|" + T + "|" + A; return "^" + Tr + "\\s*\\(([\\w\\.]+)\\s*\\,\\s*(" + y + ")\\s*\\,\\s*(" + y + ")\\s*,\\s*(" + xr + ")\\s*\\,\\s*(" + xr + ")\\)$" }, $ = [`^url\\s*\\(\\s*['"]?(.+?)['"]?\\s*\\)$`, "^(none)$", "^(.+)$"]; Uf.types = { time: { number: !0, min: 0, units: "s|ms", implicitUnits: "ms" }, percent: { number: !0, min: 0, max: 100, units: "%", implicitUnits: "%" }, percentages: { number: !0, min: 0, max: 100, units: "%", implicitUnits: "%", multiple: !0 }, zeroOneNumber: { number: !0, min: 0, max: 1, unitless: !0 }, zeroOneNumbers: { number: !0, min: 0, max: 1, unitless: !0, multiple: !0 }, nOneOneNumber: { number: !0, min: -1, max: 1, unitless: !0 }, nonNegativeInt: { number: !0, min: 0, integer: !0, unitless: !0 }, position: { enums: ["parent", "origin"] }, nodeSize: { number: !0, min: 0, enums: ["label"] }, number: { number: !0, unitless: !0 }, numbers: { number: !0, unitless: !0, multiple: !0 }, positiveNumber: { number: !0, unitless: !0, min: 0, strictMin: !0 }, size: { number: !0, min: 0 }, bidirectionalSize: { number: !0 }, bidirectionalSizeMaybePercent: { number: !0, allowPercent: !0 }, bidirectionalSizes: { number: !0, multiple: !0 }, sizeMaybePercent: { number: !0, min: 0, allowPercent: !0 }, axisDirection: { enums: ["horizontal", "leftward", "rightward", "vertical", "upward", "downward", "auto"] }, paddingRelativeTo: { enums: ["width", "height", "average", "min", "max"] }, bgWH: { number: !0, min: 0, allowPercent: !0, enums: ["auto"], multiple: !0 }, bgPos: { number: !0, allowPercent: !0, multiple: !0 }, bgRelativeTo: { enums: ["inner", "include-padding"], multiple: !0 }, bgRepeat: { enums: ["repeat", "repeat-x", "repeat-y", "no-repeat"], multiple: !0 }, bgFit: { enums: ["none", "contain", "cover"], multiple: !0 }, bgCrossOrigin: { enums: ["anonymous", "use-credentials"], multiple: !0 }, bgClip: { enums: ["none", "node"], multiple: !0 }, bgContainment: { enums: ["inside", "over"], multiple: !0 }, color: { color: !0 }, colors: { color: !0, multiple: !0 }, fill: { enums: ["solid", "linear-gradient", "radial-gradient"] }, bool: { enums: ["yes", "no"] }, bools: { enums: ["yes", "no"], multiple: !0 }, lineStyle: { enums: ["solid", "dotted", "dashed"] }, lineCap: { enums: ["butt", "round", "square"] }, borderStyle: { enums: ["solid", "dotted", "dashed", "double"] }, curveStyle: { enums: ["bezier", "unbundled-bezier", "haystack", "segments", "straight", "straight-triangle", "taxi"] }, fontFamily: { regex: '^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$' }, fontStyle: { enums: ["italic", "normal", "oblique"] }, fontWeight: { enums: ["normal", "bold", "bolder", "lighter", "100", "200", "300", "400", "500", "600", "800", "900", 100, 200, 300, 400, 500, 600, 700, 800, 900] }, textDecoration: { enums: ["none", "underline", "overline", "line-through"] }, textTransform: { enums: ["none", "uppercase", "lowercase"] }, textWrap: { enums: ["none", "wrap", "ellipsis"] }, textOverflowWrap: { enums: ["whitespace", "anywhere"] }, textBackgroundShape: { enums: ["rectangle", "roundrectangle", "round-rectangle"] }, nodeShape: { enums: ["rectangle", "roundrectangle", "round-rectangle", "cutrectangle", "cut-rectangle", "bottomroundrectangle", "bottom-round-rectangle", "barrel", "ellipse", "triangle", "round-triangle", "square", "pentagon", "round-pentagon", "hexagon", "round-hexagon", "concavehexagon", "concave-hexagon", "heptagon", "round-heptagon", "octagon", "round-octagon", "tag", "round-tag", "star", "diamond", "round-diamond", "vee", "rhomboid", "polygon"] }, overlayShape: { enums: ["roundrectangle", "round-rectangle", "ellipse"] }, compoundIncludeLabels: { enums: ["include", "exclude"] }, arrowShape: { enums: ["tee", "triangle", "triangle-tee", "circle-triangle", "triangle-cross", "triangle-backcurve", "vee", "square", "circle", "diamond", "chevron", "none"] }, arrowFill: { enums: ["filled", "hollow"] }, display: { enums: ["element", "none"] }, visibility: { enums: ["hidden", "visible"] }, zCompoundDepth: { enums: ["bottom", "orphan", "auto", "top"] }, zIndexCompare: { enums: ["auto", "manual"] }, valign: { enums: ["top", "center", "bottom"] }, halign: { enums: ["left", "center", "right"] }, justification: { enums: ["left", "center", "right", "auto"] }, text: { string: !0 }, data: { mapping: !0, regex: I("data") }, layoutData: { mapping: !0, regex: I("layoutData") }, scratch: { mapping: !0, regex: I("scratch") }, mapData: { mapping: !0, regex: O("mapData") }, mapLayoutData: { mapping: !0, regex: O("mapLayoutData") }, mapScratch: { mapping: !0, regex: O("mapScratch") }, fn: { mapping: !0, fn: !0 }, url: { regexes: $, singleRegexMatchValue: !0 }, urls: { regexes: $, singleRegexMatchValue: !0, multiple: !0 }, propList: { propList: !0 }, angle: { number: !0, units: "deg|rad", implicitUnits: "rad" }, textRotation: { number: !0, units: "deg|rad", implicitUnits: "rad", enums: ["none", "autorotate"] }, polygonPointList: { number: !0, multiple: !0, evenMultiple: !0, min: -1, max: 1, unitless: !0 }, edgeDistances: { enums: ["intersection", "node-position"] }, edgeEndpoint: { number: !0, multiple: !0, units: "%|px|em|deg|rad", implicitUnits: "px", enums: ["inside-to-node", "outside-to-node", "outside-to-node-or-label", "outside-to-line", "outside-to-line-or-label"], singleEnum: !0, validate: function (Tr, xr) { switch (Tr.length) { case 2: return xr[0] !== "deg" && xr[0] !== "rad" && xr[1] !== "deg" && xr[1] !== "rad"; case 1: return Tt(Tr[0]) || xr[0] === "deg" || xr[0] === "rad"; default: return !1 } } }, easing: { regexes: ["^(spring)\\s*\\(\\s*(" + y + ")\\s*,\\s*(" + y + ")\\s*\\)$", "^(cubic-bezier)\\s*\\(\\s*(" + y + ")\\s*,\\s*(" + y + ")\\s*,\\s*(" + y + ")\\s*,\\s*(" + y + ")\\s*\\)$"], enums: ["linear", "ease", "ease-in", "ease-out", "ease-in-out", "ease-in-sine", "ease-out-sine", "ease-in-out-sine", "ease-in-quad", "ease-out-quad", "ease-in-out-quad", "ease-in-cubic", "ease-out-cubic", "ease-in-out-cubic", "ease-in-quart", "ease-out-quart", "ease-in-out-quart", "ease-in-quint", "ease-out-quint", "ease-in-out-quint", "ease-in-expo", "ease-out-expo", "ease-in-out-expo", "ease-in-circ", "ease-out-circ", "ease-in-out-circ"] }, gradientDirection: { enums: ["to-bottom", "to-top", "to-left", "to-right", "to-bottom-right", "to-bottom-left", "to-top-right", "to-top-left", "to-right-bottom", "to-left-bottom", "to-right-top", "to-left-top"] }, boundsExpansion: { number: !0, multiple: !0, min: 0, validate: function (Tr) { var xr = Tr.length; return xr === 1 || xr === 2 || xr === 4 } } }; var z = { zeroNonZero: function (Tr, xr) { return (Tr == null || xr == null) && Tr !== xr || Tr == 0 && xr != 0 ? !0 : Tr != 0 && xr == 0 }, any: function (Tr, xr) { return Tr != xr }, emptyNonEmpty: function (Tr, xr) { var fi = J(Tr), Ii = J(xr); return fi && !Ii || !fi && Ii } }, S = Uf.types, V = [{ name: "label", type: S.text, triggersBounds: z.any, triggersZOrder: z.emptyNonEmpty }, { name: "text-rotation", type: S.textRotation, triggersBounds: z.any }, { name: "text-margin-x", type: S.bidirectionalSize, triggersBounds: z.any }, { name: "text-margin-y", type: S.bidirectionalSize, triggersBounds: z.any }], U = [{ name: "source-label", type: S.text, triggersBounds: z.any }, { name: "source-text-rotation", type: S.textRotation, triggersBounds: z.any }, { name: "source-text-margin-x", type: S.bidirectionalSize, triggersBounds: z.any }, { name: "source-text-margin-y", type: S.bidirectionalSize, triggersBounds: z.any }, { name: "source-text-offset", type: S.size, triggersBounds: z.any }], tt = [{ name: "target-label", type: S.text, triggersBounds: z.any }, { name: "target-text-rotation", type: S.textRotation, triggersBounds: z.any }, { name: "target-text-margin-x", type: S.bidirectionalSize, triggersBounds: z.any }, { name: "target-text-margin-y", type: S.bidirectionalSize, triggersBounds: z.any }, { name: "target-text-offset", type: S.size, triggersBounds: z.any }], at = [{ name: "font-family", type: S.fontFamily, triggersBounds: z.any }, { name: "font-style", type: S.fontStyle, triggersBounds: z.any }, { name: "font-weight", type: S.fontWeight, triggersBounds: z.any }, { name: "font-size", type: S.size, triggersBounds: z.any }, { name: "text-transform", type: S.textTransform, triggersBounds: z.any }, { name: "text-wrap", type: S.textWrap, triggersBounds: z.any }, { name: "text-overflow-wrap", type: S.textOverflowWrap, triggersBounds: z.any }, { name: "text-max-width", type: S.size, triggersBounds: z.any }, { name: "text-outline-width", type: S.size, triggersBounds: z.any }, { name: "line-height", type: S.positiveNumber, triggersBounds: z.any }], ut = [{ name: "text-valign", type: S.valign, triggersBounds: z.any }, { name: "text-halign", type: S.halign, triggersBounds: z.any }, { name: "color", type: S.color }, { name: "text-outline-color", type: S.color }, { name: "text-outline-opacity", type: S.zeroOneNumber }, { name: "text-background-color", type: S.color }, { name: "text-background-opacity", type: S.zeroOneNumber }, { name: "text-background-padding", type: S.size, triggersBounds: z.any }, { name: "text-border-opacity", type: S.zeroOneNumber }, { name: "text-border-color", type: S.color }, { name: "text-border-width", type: S.size, triggersBounds: z.any }, { name: "text-border-style", type: S.borderStyle, triggersBounds: z.any }, { name: "text-background-shape", type: S.textBackgroundShape, triggersBounds: z.any }, { name: "text-justification", type: S.justification }], dt = [{ name: "events", type: S.bool }, { name: "text-events", type: S.bool }], At = [{ name: "display", type: S.display, triggersZOrder: z.any, triggersBounds: z.any, triggersBoundsOfParallelBeziers: !0 }, { name: "visibility", type: S.visibility, triggersZOrder: z.any }, { name: "opacity", type: S.zeroOneNumber, triggersZOrder: z.zeroNonZero }, { name: "text-opacity", type: S.zeroOneNumber }, { name: "min-zoomed-font-size", type: S.size }, { name: "z-compound-depth", type: S.zCompoundDepth, triggersZOrder: z.any }, { name: "z-index-compare", type: S.zIndexCompare, triggersZOrder: z.any }, { name: "z-index", type: S.nonNegativeInt, triggersZOrder: z.any }], xt = [{ name: "overlay-padding", type: S.size, triggersBounds: z.any }, { name: "overlay-color", type: S.color }, { name: "overlay-opacity", type: S.zeroOneNumber, triggersBounds: z.zeroNonZero }, { name: "overlay-shape", type: S.overlayShape, triggersBounds: z.any }], Mt = [{ name: "underlay-padding", type: S.size, triggersBounds: z.any }, { name: "underlay-color", type: S.color }, { name: "underlay-opacity", type: S.zeroOneNumber, triggersBounds: z.zeroNonZero }, { name: "underlay-shape", type: S.overlayShape, triggersBounds: z.any }], Dt = [{ name: "transition-property", type: S.propList }, { name: "transition-duration", type: S.time }, { name: "transition-delay", type: S.time }, { name: "transition-timing-function", type: S.easing }], Bt = function (Tr, xr) { return xr.value === "label" ? -Tr.poolIndex() : xr.pfValue }, Zt = [{ name: "height", type: S.nodeSize, triggersBounds: z.any, hashOverride: Bt }, { name: "width", type: S.nodeSize, triggersBounds: z.any, hashOverride: Bt }, { name: "shape", type: S.nodeShape, triggersBounds: z.any }, { name: "shape-polygon-points", type: S.polygonPointList, triggersBounds: z.any }, { name: "background-color", type: S.color }, { name: "background-fill", type: S.fill }, { name: "background-opacity", type: S.zeroOneNumber }, { name: "background-blacken", type: S.nOneOneNumber }, { name: "background-gradient-stop-colors", type: S.colors }, { name: "background-gradient-stop-positions", type: S.percentages }, { name: "background-gradient-direction", type: S.gradientDirection }, { name: "padding", type: S.sizeMaybePercent, triggersBounds: z.any }, { name: "padding-relative-to", type: S.paddingRelativeTo, triggersBounds: z.any }, { name: "bounds-expansion", type: S.boundsExpansion, triggersBounds: z.any }], Kt = [{ name: "border-color", type: S.color }, { name: "border-opacity", type: S.zeroOneNumber }, { name: "border-width", type: S.size, triggersBounds: z.any }, { name: "border-style", type: S.borderStyle }], $t = [{ name: "background-image", type: S.urls }, { name: "background-image-crossorigin", type: S.bgCrossOrigin }, { name: "background-image-opacity", type: S.zeroOneNumbers }, { name: "background-image-containment", type: S.bgContainment }, { name: "background-image-smoothing", type: S.bools }, { name: "background-position-x", type: S.bgPos }, { name: "background-position-y", type: S.bgPos }, { name: "background-width-relative-to", type: S.bgRelativeTo }, { name: "background-height-relative-to", type: S.bgRelativeTo }, { name: "background-repeat", type: S.bgRepeat }, { name: "background-fit", type: S.bgFit }, { name: "background-clip", type: S.bgClip }, { name: "background-width", type: S.bgWH }, { name: "background-height", type: S.bgWH }, { name: "background-offset-x", type: S.bgPos }, { name: "background-offset-y", type: S.bgPos }], ee = [{ name: "position", type: S.position, triggersBounds: z.any }, { name: "compound-sizing-wrt-labels", type: S.compoundIncludeLabels, triggersBounds: z.any }, { name: "min-width", type: S.size, triggersBounds: z.any }, { name: "min-width-bias-left", type: S.sizeMaybePercent, triggersBounds: z.any }, { name: "min-width-bias-right", type: S.sizeMaybePercent, triggersBounds: z.any }, { name: "min-height", type: S.size, triggersBounds: z.any }, { name: "min-height-bias-top", type: S.sizeMaybePercent, triggersBounds: z.any }, { name: "min-height-bias-bottom", type: S.sizeMaybePercent, triggersBounds: z.any }], Ht = [{ name: "line-style", type: S.lineStyle }, { name: "line-color", type: S.color }, { name: "line-fill", type: S.fill }, { name: "line-cap", type: S.lineCap }, { name: "line-opacity", type: S.zeroOneNumber }, { name: "line-dash-pattern", type: S.numbers }, { name: "line-dash-offset", type: S.number }, { name: "line-gradient-stop-colors", type: S.colors }, { name: "line-gradient-stop-positions", type: S.percentages }, { name: "curve-style", type: S.curveStyle, triggersBounds: z.any, triggersBoundsOfParallelBeziers: !0 }, { name: "haystack-radius", type: S.zeroOneNumber, triggersBounds: z.any }, { name: "source-endpoint", type: S.edgeEndpoint, triggersBounds: z.any }, { name: "target-endpoint", type: S.edgeEndpoint, triggersBounds: z.any }, { name: "control-point-step-size", type: S.size, triggersBounds: z.any }, { name: "control-point-distances", type: S.bidirectionalSizes, triggersBounds: z.any }, { name: "control-point-weights", type: S.numbers, triggersBounds: z.any }, { name: "segment-distances", type: S.bidirectionalSizes, triggersBounds: z.any }, { name: "segment-weights", type: S.numbers, triggersBounds: z.any }, { name: "taxi-turn", type: S.bidirectionalSizeMaybePercent, triggersBounds: z.any }, { name: "taxi-turn-min-distance", type: S.size, triggersBounds: z.any }, { name: "taxi-direction", type: S.axisDirection, triggersBounds: z.any }, { name: "edge-distances", type: S.edgeDistances, triggersBounds: z.any }, { name: "arrow-scale", type: S.positiveNumber, triggersBounds: z.any }, { name: "loop-direction", type: S.angle, triggersBounds: z.any }, { name: "loop-sweep", type: S.angle, triggersBounds: z.any }, { name: "source-distance-from-node", type: S.size, triggersBounds: z.any }, { name: "target-distance-from-node", type: S.size, triggersBounds: z.any }], ge = [{ name: "ghost", type: S.bool, triggersBounds: z.any }, { name: "ghost-offset-x", type: S.bidirectionalSize, triggersBounds: z.any }, { name: "ghost-offset-y", type: S.bidirectionalSize, triggersBounds: z.any }, { name: "ghost-opacity", type: S.zeroOneNumber }], be = [{ name: "selection-box-color", type: S.color }, { name: "selection-box-opacity", type: S.zeroOneNumber }, { name: "selection-box-border-color", type: S.color }, { name: "selection-box-border-width", type: S.size }, { name: "active-bg-color", type: S.color }, { name: "active-bg-opacity", type: S.zeroOneNumber }, { name: "active-bg-size", type: S.size }, { name: "outside-texture-bg-color", type: S.color }, { name: "outside-texture-bg-opacity", type: S.zeroOneNumber }], re = []; Uf.pieBackgroundN = 16, re.push({ name: "pie-size", type: S.sizeMaybePercent }); for (var Pe = 1; Pe <= Uf.pieBackgroundN; Pe++)re.push({ name: "pie-" + Pe + "-background-color", type: S.color }), re.push({ name: "pie-" + Pe + "-background-size", type: S.percent }), re.push({ name: "pie-" + Pe + "-background-opacity", type: S.zeroOneNumber }); var ve = [], fn = Uf.arrowPrefixes = ["source", "mid-source", "target", "mid-target"];[{ name: "arrow-shape", type: S.arrowShape, triggersBounds: z.any }, { name: "arrow-color", type: S.color }, { name: "arrow-fill", type: S.arrowFill }].forEach(function (bn) { fn.forEach(function (Tr) { var xr = Tr + "-" + bn.name, fi = bn.type, Ii = bn.triggersBounds; ve.push({ name: xr, type: fi, triggersBounds: Ii }) }) }, {}); var $e = Uf.properties = [].concat(dt, Dt, At, xt, Mt, ge, ut, at, V, U, tt, Zt, Kt, $t, re, ee, Ht, ve, be), qe = Uf.propertyGroups = { behavior: dt, transition: Dt, visibility: At, overlay: xt, underlay: Mt, ghost: ge, commonLabel: ut, labelDimensions: at, mainLabel: V, sourceLabel: U, targetLabel: tt, nodeBody: Zt, nodeBorder: Kt, backgroundImage: $t, pie: re, compound: ee, edgeLine: Ht, edgeArrow: ve, core: be }, xn = Uf.propertyGroupNames = {}, Nn = Uf.propertyGroupKeys = Object.keys(qe); Nn.forEach(function (bn) { xn[bn] = qe[bn].map(function (Tr) { return Tr.name }), qe[bn].forEach(function (Tr) { return Tr.groupKey = bn }) }); var er = Uf.aliases = [{ name: "content", pointsTo: "label" }, { name: "control-point-distance", pointsTo: "control-point-distances" }, { name: "control-point-weight", pointsTo: "control-point-weights" }, { name: "edge-text-rotation", pointsTo: "text-rotation" }, { name: "padding-left", pointsTo: "padding" }, { name: "padding-right", pointsTo: "padding" }, { name: "padding-top", pointsTo: "padding" }, { name: "padding-bottom", pointsTo: "padding" }]; Uf.propertyNames = $e.map(function (bn) { return bn.name }); for (var Sn = 0; Sn < $e.length; Sn++) { var Jn = $e[Sn]; $e[Jn.name] = Jn } for (var fr = 0; fr < er.length; fr++) { var Sr = er[fr], wr = $e[Sr.pointsTo], cr = { name: Sr.name, alias: !0, pointsTo: wr }; $e.push(cr), $e[Sr.name] = cr } })(), Uf.getDefaultProperty = function (y) { return this.getDefaultProperties()[y] }, Uf.getDefaultProperties = function () { var y = this._private; if (y.defaultProperties != null) return y.defaultProperties; for (var g = Ke({ "selection-box-color": "#ddd", "selection-box-opacity": .65, "selection-box-border-color": "#aaa", "selection-box-border-width": 1, "active-bg-color": "black", "active-bg-opacity": .15, "active-bg-size": 30, "outside-texture-bg-color": "#000", "outside-texture-bg-opacity": .125, events: "yes", "text-events": "no", "text-valign": "top", "text-halign": "center", "text-justification": "auto", "line-height": 1, color: "#000", "text-outline-color": "#000", "text-outline-width": 0, "text-outline-opacity": 1, "text-opacity": 1, "text-decoration": "none", "text-transform": "none", "text-wrap": "none", "text-overflow-wrap": "whitespace", "text-max-width": 9999, "text-background-color": "#000", "text-background-opacity": 0, "text-background-shape": "rectangle", "text-background-padding": 0, "text-border-opacity": 0, "text-border-width": 0, "text-border-style": "solid", "text-border-color": "#000", "font-family": "Helvetica Neue, Helvetica, sans-serif", "font-style": "normal", "font-weight": "normal", "font-size": 16, "min-zoomed-font-size": 0, "text-rotation": "none", "source-text-rotation": "none", "target-text-rotation": "none", visibility: "visible", display: "element", opacity: 1, "z-compound-depth": "auto", "z-index-compare": "auto", "z-index": 0, label: "", "text-margin-x": 0, "text-margin-y": 0, "source-label": "", "source-text-offset": 0, "source-text-margin-x": 0, "source-text-margin-y": 0, "target-label": "", "target-text-offset": 0, "target-text-margin-x": 0, "target-text-margin-y": 0, "overlay-opacity": 0, "overlay-color": "#000", "overlay-padding": 10, "overlay-shape": "round-rectangle", "underlay-opacity": 0, "underlay-color": "#000", "underlay-padding": 10, "underlay-shape": "round-rectangle", "transition-property": "none", "transition-duration": 0, "transition-delay": 0, "transition-timing-function": "linear", "background-blacken": 0, "background-color": "#999", "background-fill": "solid", "background-opacity": 1, "background-image": "none", "background-image-crossorigin": "anonymous", "background-image-opacity": 1, "background-image-containment": "inside", "background-image-smoothing": "yes", "background-position-x": "50%", "background-position-y": "50%", "background-offset-x": 0, "background-offset-y": 0, "background-width-relative-to": "include-padding", "background-height-relative-to": "include-padding", "background-repeat": "no-repeat", "background-fit": "none", "background-clip": "node", "background-width": "auto", "background-height": "auto", "border-color": "#000", "border-opacity": 1, "border-width": 0, "border-style": "solid", height: 30, width: 30, shape: "ellipse", "shape-polygon-points": "-1, -1,   1, -1,   1, 1,   -1, 1", "bounds-expansion": 0, "background-gradient-direction": "to-bottom", "background-gradient-stop-colors": "#999", "background-gradient-stop-positions": "0%", ghost: "no", "ghost-offset-y": 0, "ghost-offset-x": 0, "ghost-opacity": 0, padding: 0, "padding-relative-to": "width", position: "origin", "compound-sizing-wrt-labels": "include", "min-width": 0, "min-width-bias-left": 0, "min-width-bias-right": 0, "min-height": 0, "min-height-bias-top": 0, "min-height-bias-bottom": 0 }, { "pie-size": "100%" }, [{ name: "pie-{{i}}-background-color", value: "black" }, { name: "pie-{{i}}-background-size", value: "0%" }, { name: "pie-{{i}}-background-opacity", value: 1 }].reduce(function (z, S) { for (var V = 1; V <= Uf.pieBackgroundN; V++) { var U = S.name.replace("{{i}}", V), tt = S.value; z[U] = tt } return z }, {}), { "line-style": "solid", "line-color": "#999", "line-fill": "solid", "line-cap": "butt", "line-opacity": 1, "line-gradient-stop-colors": "#999", "line-gradient-stop-positions": "0%", "control-point-step-size": 40, "control-point-weights": .5, "segment-weights": .5, "segment-distances": 20, "taxi-turn": "50%", "taxi-turn-min-distance": 10, "taxi-direction": "auto", "edge-distances": "intersection", "curve-style": "haystack", "haystack-radius": 0, "arrow-scale": 1, "loop-direction": "-45deg", "loop-sweep": "-90deg", "source-distance-from-node": 0, "target-distance-from-node": 0, "source-endpoint": "outside-to-node", "target-endpoint": "outside-to-node", "line-dash-pattern": [6, 3], "line-dash-offset": 0 }, [{ name: "arrow-shape", value: "none" }, { name: "arrow-color", value: "#999" }, { name: "arrow-fill", value: "filled" }].reduce(function (z, S) { return Uf.arrowPrefixes.forEach(function (V) { var U = V + "-" + S.name, tt = S.value; z[U] = tt }), z }, {})), x = {}, T = 0; T < this.properties.length; T++) { var A = this.properties[T]; if (!A.pointsTo) { var I = A.name, O = g[I], $ = this.parse(I, O); x[I] = $ } } return y.defaultProperties = x, y.defaultProperties }, Uf.addDefaultStylesheet = function () { this.selector(":parent").css({ shape: "rectangle", padding: 10, "background-color": "#eee", "border-color": "#ccc", "border-width": 1 }).selector("edge").css({ width: 3 }).selector(":loop").css({ "curve-style": "bezier" }).selector("edge:compound").css({ "curve-style": "bezier", "source-endpoint": "outside-to-line", "target-endpoint": "outside-to-line" }).selector(":selected").css({ "background-color": "#0169D9", "line-color": "#0169D9", "source-arrow-color": "#0169D9", "target-arrow-color": "#0169D9", "mid-source-arrow-color": "#0169D9", "mid-target-arrow-color": "#0169D9" }).selector(":parent:selected").css({ "background-color": "#CCE1F9", "border-color": "#aec8e5" }).selector(":active").css({ "overlay-color": "black", "overlay-padding": 10, "overlay-opacity": .25 }), this.defaultLength = this.length }; var iT = {}; iT.parse = function (y, g, x, T) { var A = this; if (kt(g)) return A.parseImplWarn(y, g, x, T); var I = T === "mapping" || T === !0 || T === !1 || T == null ? "dontcare" : T, O = x ? "t" : "f", $ = "" + g, z = R5(y, $, O, I), S = A.propCache = A.propCache || [], V; return (V = S[z]) || (V = S[z] = A.parseImplWarn(y, g, x, T)), (x || T === "mapping") && (V = oh(V), V && (V.value = oh(V.value))), V }, iT.parseImplWarn = function (y, g, x, T) { var A = this.parseImpl(y, g, x, T); return !A && g != null && Wo("The style property `".concat(y, ": ").concat(g, "` is invalid")), A && (A.name === "width" || A.name === "height") && g === "label" && Wo("The style value of `label` is deprecated for `" + A.name + "`"), A }, iT.parseImpl = function (y, g, x, T) { var A = this; y = Ue(y); var I = A.properties[y], O = g, $ = A.types; if (!I || g === void 0) return null; I.alias && (I = I.pointsTo, y = I.name); var z = Tt(g); z && (g = g.trim()); var S = I.type; if (!S) return null; if (x && (g === "" || g === null)) return { name: y, value: g, bypass: !0, deleteBypass: !0 }; if (kt(g)) return { name: y, value: g, strValue: "fn", mapped: $.fn, bypass: x }; var V, U; if (!(!z || T || g.length < 7 || g[1] !== "a")) { if (g.length >= 7 && g[0] === "d" && (V = new RegExp($.data.regex).exec(g))) { if (x) return !1; var tt = $.data; return { name: y, value: V, strValue: "" + g, mapped: tt, field: V[1], bypass: x } } else if (g.length >= 10 && g[0] === "m" && (U = new RegExp($.mapData.regex).exec(g))) { if (x || S.multiple) return !1; var at = $.mapData; if (!(S.color || S.number)) return !1; var ut = this.parse(y, U[4]); if (!ut || ut.mapped) return !1; var dt = this.parse(y, U[5]); if (!dt || dt.mapped) return !1; if (ut.pfValue === dt.pfValue || ut.strValue === dt.strValue) return Wo("`" + y + ": " + g + "` is not a valid mapper because the output range is zero; converting to `" + y + ": " + ut.strValue + "`"), this.parse(y, ut.strValue); if (S.color) { var At = ut.value, xt = dt.value, Mt = At[0] === xt[0] && At[1] === xt[1] && At[2] === xt[2] && (At[3] === xt[3] || (At[3] == null || At[3] === 1) && (xt[3] == null || xt[3] === 1)); if (Mt) return !1 } return { name: y, value: U, strValue: "" + g, mapped: at, field: U[1], fieldMin: parseFloat(U[2]), fieldMax: parseFloat(U[3]), valueMin: ut.value, valueMax: dt.value, bypass: x } } } if (S.multiple && T !== "multiple") { var Dt; if (z ? Dt = g.split(/\s+/) : yt(g) ? Dt = g : Dt = [g], S.evenMultiple && Dt.length % 2 !== 0) return null; for (var Bt = [], Zt = [], Kt = [], $t = "", ee = !1, Ht = 0; Ht < Dt.length; Ht++) { var ge = A.parse(y, Dt[Ht], x, "multiple"); ee = ee || Tt(ge.value), Bt.push(ge.value), Kt.push(ge.pfValue != null ? ge.pfValue : ge.value), Zt.push(ge.units), $t += (Ht > 0 ? " " : "") + ge.strValue } return S.validate && !S.validate(Bt, Zt) ? null : S.singleEnum && ee ? Bt.length === 1 && Tt(Bt[0]) ? { name: y, value: Bt[0], strValue: Bt[0], bypass: x } : null : { name: y, value: Bt, pfValue: Kt, strValue: $t, bypass: x, units: Zt } } var be = function () { for (var xr = 0; xr < S.enums.length; xr++) { var fi = S.enums[xr]; if (fi === g) return { name: y, value: g, strValue: "" + g, bypass: x } } return null }; if (S.number) { var re, Pe = "px"; if (S.units && (re = S.units), S.implicitUnits && (Pe = S.implicitUnits), !S.unitless) if (z) { var ve = "px|em" + (S.allowPercent ? "|\\%" : ""); re && (ve = re); var fn = g.match("^(" + Te + ")(" + ve + ")?$"); fn && (g = fn[1], re = fn[2] || Pe) } else (!re || S.implicitUnits) && (re = Pe); if (g = parseFloat(g), isNaN(g) && S.enums === void 0) return null; if (isNaN(g) && S.enums !== void 0) return g = O, be(); if (S.integer && !wt(g) || S.min !== void 0 && (g < S.min || S.strictMin && g === S.min) || S.max !== void 0 && (g > S.max || S.strictMax && g === S.max)) return null; var $e = { name: y, value: g, strValue: "" + g + (re || ""), units: re, bypass: x }; return S.unitless || re !== "px" && re !== "em" ? $e.pfValue = g : $e.pfValue = re === "px" || !re ? g : this.getEmSizeInPixels() * g, (re === "ms" || re === "s") && ($e.pfValue = re === "ms" ? g : 1e3 * g), (re === "deg" || re === "rad") && ($e.pfValue = re === "rad" ? g : uY(g)), re === "%" && ($e.pfValue = g / 100), $e } else if (S.propList) { var qe = [], xn = "" + g; if (xn !== "none") { for (var Nn = xn.split(/\s*,\s*|\s+/), er = 0; er < Nn.length; er++) { var Sn = Nn[er].trim(); A.properties[Sn] ? qe.push(Sn) : Wo("`" + Sn + "` is not a valid property name") } if (qe.length === 0) return null } return { name: y, value: qe, strValue: qe.length === 0 ? "none" : qe.join(" "), bypass: x } } else if (S.color) { var Jn = fe(g); return Jn ? { name: y, value: Jn, pfValue: Jn, strValue: "rgb(" + Jn[0] + "," + Jn[1] + "," + Jn[2] + ")", bypass: x } : null } else if (S.regex || S.regexes) { if (S.enums) { var fr = be(); if (fr) return fr } for (var Sr = S.regexes ? S.regexes : [S.regex], wr = 0; wr < Sr.length; wr++) { var cr = new RegExp(Sr[wr]), bn = cr.exec(g); if (bn) return { name: y, value: S.singleRegexMatchValue ? bn[1] : bn, strValue: "" + g, bypass: x } } return null } else return S.string ? { name: y, value: "" + g, strValue: "" + g, bypass: x } : S.enums ? be() : null }; var x1 = function y(g) { if (!(this instanceof y)) return new y(g); if (!Rt(g)) { Ec("A style must have a core reference"); return } this._private = { cy: g, coreStyle: {} }, this.length = 0, this.resetToDefault() }, k1 = x1.prototype; k1.instanceString = function () { return "style" }, k1.clear = function () { for (var y = this._private, g = y.cy, x = g.elements(), T = 0; T < this.length; T++)this[T] = void 0; return this.length = 0, y.contextStyles = {}, y.propDiffs = {}, this.cleanElements(x, !0), x.forEach(function (A) { var I = A[0]._private; I.styleDirty = !0, I.appliedInitStyle = !1 }), this }, k1.resetToDefault = function () { return this.clear(), this.addDefaultStylesheet(), this }, k1.core = function (y) { return this._private.coreStyle[y] || this.getDefaultProperty(y) }, k1.selector = function (y) { var g = y === "core" ? null : new wm(y), x = this.length++; return this[x] = { selector: g, properties: [], mappedProperties: [], index: x }, this }, k1.css = function () { var y = this, g = arguments; if (g.length === 1) for (var x = g[0], T = 0; T < y.properties.length; T++) { var A = y.properties[T], I = x[A.name]; I === void 0 && (I = x[_n(A.name)]), I !== void 0 && this.cssRule(A.name, I) } else g.length === 2 && this.cssRule(g[0], g[1]); return this }, k1.style = k1.css, k1.cssRule = function (y, g) { var x = this.parse(y, g); if (x) { var T = this.length - 1; this[T].properties.push(x), this[T].properties[x.name] = x, x.name.match(/pie-(\d+)-background-size/) && x.value && (this._private.hasPie = !0), x.mapped && this[T].mappedProperties.push(x); var A = !this[T].selector; A && (this._private.coreStyle[x.name] = x) } return this }, k1.append = function (y) { return ft(y) ? y.appendToStyle(this) : yt(y) ? this.appendFromJson(y) : Tt(y) && this.appendFromString(y), this }, x1.fromJson = function (y, g) { var x = new x1(y); return x.fromJson(g), x }, x1.fromString = function (y, g) { return new x1(y).fromString(g) }, [y1, Nk, qL, z2, rT, HL, Uf, iT].forEach(function (y) { Ke(k1, y) }), x1.types = k1.types, x1.properties = k1.properties, x1.propertyGroups = k1.propertyGroups, x1.propertyGroupNames = k1.propertyGroupNames, x1.propertyGroupKeys = k1.propertyGroupKeys; var pJ = { style: function (g) { if (g) { var x = this.setStyle(g); x.update() } return this._private.style }, setStyle: function (g) { var x = this._private; return ft(g) ? x.style = g.generateStyle(this) : yt(g) ? x.style = x1.fromJson(this, g) : Tt(g) ? x.style = x1.fromString(this, g) : x.style = x1(this), x.style }, updateStyle: function () { this.mutableElements().updateStyle() } }, bJ = "single", A3 = { autolock: function (g) { if (g !== void 0) this._private.autolock = !!g; else return this._private.autolock; return this }, autoungrabify: function (g) { if (g !== void 0) this._private.autoungrabify = !!g; else return this._private.autoungrabify; return this }, autounselectify: function (g) { if (g !== void 0) this._private.autounselectify = !!g; else return this._private.autounselectify; return this }, selectionType: function (g) { var x = this._private; if (x.selectionType == null && (x.selectionType = bJ), g !== void 0) (g === "additive" || g === "single") && (x.selectionType = g); else return x.selectionType; return this }, panningEnabled: function (g) { if (g !== void 0) this._private.panningEnabled = !!g; else return this._private.panningEnabled; return this }, userPanningEnabled: function (g) { if (g !== void 0) this._private.userPanningEnabled = !!g; else return this._private.userPanningEnabled; return this }, zoomingEnabled: function (g) { if (g !== void 0) this._private.zoomingEnabled = !!g; else return this._private.zoomingEnabled; return this }, userZoomingEnabled: function (g) { if (g !== void 0) this._private.userZoomingEnabled = !!g; else return this._private.userZoomingEnabled; return this }, boxSelectionEnabled: function (g) { if (g !== void 0) this._private.boxSelectionEnabled = !!g; else return this._private.boxSelectionEnabled; return this }, pan: function () { var g = arguments, x = this._private.pan, T, A, I, O, $; switch (g.length) { case 0: return x; case 1: if (Tt(g[0])) return T = g[0], x[T]; if (ht(g[0])) { if (!this._private.panningEnabled) return this; I = g[0], O = I.x, $ = I.y, rt(O) && (x.x = O), rt($) && (x.y = $), this.emit("pan viewport") } break; case 2: if (!this._private.panningEnabled) return this; T = g[0], A = g[1], (T === "x" || T === "y") && rt(A) && (x[T] = A), this.emit("pan viewport"); break }return this.notify("viewport"), this }, panBy: function (g, x) { var T = arguments, A = this._private.pan, I, O, $, z, S; if (!this._private.panningEnabled) return this; switch (T.length) { case 1: ht(g) && ($ = T[0], z = $.x, S = $.y, rt(z) && (A.x += z), rt(S) && (A.y += S), this.emit("pan viewport")); break; case 2: I = g, O = x, (I === "x" || I === "y") && rt(O) && (A[I] += O), this.emit("pan viewport"); break }return this.notify("viewport"), this }, fit: function (g, x) { var T = this.getFitViewport(g, x); if (T) { var A = this._private; A.zoom = T.zoom, A.pan = T.pan, this.emit("pan zoom viewport"), this.notify("viewport") } return this }, getFitViewport: function (g, x) { if (rt(g) && x === void 0 && (x = g, g = void 0), !(!this._private.panningEnabled || !this._private.zoomingEnabled)) { var T; if (Tt(g)) { var A = g; g = this.$(A) } else if (Wt(g)) { var I = g; T = { x1: I.x1, y1: I.y1, x2: I.x2, y2: I.y2 }, T.w = T.x2 - T.x1, T.h = T.y2 - T.y1 } else lt(g) || (g = this.mutableElements()); if (!(lt(g) && g.empty())) { T = T || g.boundingBox(); var O = this.width(), $ = this.height(), z; if (x = rt(x) ? x : 0, !isNaN(O) && !isNaN($) && O > 0 && $ > 0 && !isNaN(T.w) && !isNaN(T.h) && T.w > 0 && T.h > 0) { z = Math.min((O - 2 * x) / T.w, ($ - 2 * x) / T.h), z = z > this._private.maxZoom ? this._private.maxZoom : z, z = z < this._private.minZoom ? this._private.minZoom : z; var S = { x: (O - z * (T.x1 + T.x2)) / 2, y: ($ - z * (T.y1 + T.y2)) / 2 }; return { zoom: z, pan: S } } } } }, zoomRange: function (g, x) { var T = this._private; if (x == null) { var A = g; g = A.min, x = A.max } return rt(g) && rt(x) && g <= x ? (T.minZoom = g, T.maxZoom = x) : rt(g) && x === void 0 && g <= T.maxZoom ? T.minZoom = g : rt(x) && g === void 0 && x >= T.minZoom && (T.maxZoom = x), this }, minZoom: function (g) { return g === void 0 ? this._private.minZoom : this.zoomRange({ min: g }) }, maxZoom: function (g) { return g === void 0 ? this._private.maxZoom : this.zoomRange({ max: g }) }, getZoomedViewport: function (g) { var x = this._private, T = x.pan, A = x.zoom, I, O, $ = !1; if (x.zoomingEnabled || ($ = !0), rt(g) ? O = g : ht(g) && (O = g.level, g.position != null ? I = SE(g.position, A, T) : g.renderedPosition != null && (I = g.renderedPosition), I != null && !x.panningEnabled && ($ = !0)), O = O > x.maxZoom ? x.maxZoom : O, O = O < x.minZoom ? x.minZoom : O, $ || !rt(O) || O === A || I != null && (!rt(I.x) || !rt(I.y))) return null; if (I != null) { var z = T, S = A, V = O, U = { x: -V / S * (I.x - z.x) + I.x, y: -V / S * (I.y - z.y) + I.y }; return { zoomed: !0, panned: !0, zoom: V, pan: U } } else return { zoomed: !0, panned: !1, zoom: O, pan: T } }, zoom: function (g) { if (g === void 0) return this._private.zoom; var x = this.getZoomedViewport(g), T = this._private; return x == null || !x.zoomed ? this : (T.zoom = x.zoom, x.panned && (T.pan.x = x.pan.x, T.pan.y = x.pan.y), this.emit("zoom" + (x.panned ? " pan" : "") + " viewport"), this.notify("viewport"), this) }, viewport: function (g) { var x = this._private, T = !0, A = !0, I = [], O = !1, $ = !1; if (!g) return this; if (rt(g.zoom) || (T = !1), ht(g.pan) || (A = !1), !T && !A) return this; if (T) { var z = g.zoom; z < x.minZoom || z > x.maxZoom || !x.zoomingEnabled ? O = !0 : (x.zoom = z, I.push("zoom")) } if (A && (!O || !g.cancelOnFailedZoom) && x.panningEnabled) { var S = g.pan; rt(S.x) && (x.pan.x = S.x, $ = !1), rt(S.y) && (x.pan.y = S.y, $ = !1), $ || I.push("pan") } return I.length > 0 && (I.push("viewport"), this.emit(I.join(" ")), this.notify("viewport")), this }, center: function (g) { var x = this.getCenterPan(g); return x && (this._private.pan = x, this.emit("pan viewport"), this.notify("viewport")), this }, getCenterPan: function (g, x) { if (this._private.panningEnabled) { if (Tt(g)) { var T = g; g = this.mutableElements().filter(T) } else lt(g) || (g = this.mutableElements()); if (g.length !== 0) { var A = g.boundingBox(), I = this.width(), O = this.height(); x = x === void 0 ? this._private.zoom : x; var $ = { x: (I - x * (A.x1 + A.x2)) / 2, y: (O - x * (A.y1 + A.y2)) / 2 }; return $ } } }, reset: function () { return !this._private.panningEnabled || !this._private.zoomingEnabled ? this : (this.viewport({ pan: { x: 0, y: 0 }, zoom: 1 }), this) }, invalidateSize: function () { this._private.sizeCache = null }, size: function () { var g = this._private, x = g.container; return g.sizeCache = g.sizeCache || (x ? function () { var T = R.getComputedStyle(x), A = function (O) { return parseFloat(T.getPropertyValue(O)) }; return { width: x.clientWidth - A("padding-left") - A("padding-right"), height: x.clientHeight - A("padding-top") - A("padding-bottom") } }() : { width: 1, height: 1 }) }, width: function () { return this.size().width }, height: function () { return this.size().height }, extent: function () { var g = this._private.pan, x = this._private.zoom, T = this.renderedExtent(), A = { x1: (T.x1 - g.x) / x, x2: (T.x2 - g.x) / x, y1: (T.y1 - g.y) / x, y2: (T.y2 - g.y) / x }; return A.w = A.x2 - A.x1, A.h = A.y2 - A.y1, A }, renderedExtent: function () { var g = this.width(), x = this.height(); return { x1: 0, y1: 0, x2: g, y2: x, w: g, h: x } }, multiClickDebounceTime: function (g) { if (g) this._private.multiClickDebounceTime = g; else return this._private.multiClickDebounceTime; return this } }; A3.centre = A3.center, A3.autolockNodes = A3.autolock, A3.autoungrabifyNodes = A3.autoungrabify; var Pk = { data: jc.data({ field: "data", bindingEvent: "data", allowBinding: !0, allowSetting: !0, settingEvent: "data", settingTriggersEvent: !0, triggerFnName: "trigger", allowGetting: !0, updateStyle: !0 }), removeData: jc.removeData({ field: "data", event: "data", triggerFnName: "trigger", triggerEvent: !0, updateStyle: !0 }), scratch: jc.data({ field: "scratch", bindingEvent: "scratch", allowBinding: !0, allowSetting: !0, settingEvent: "scratch", settingTriggersEvent: !0, triggerFnName: "trigger", allowGetting: !0, updateStyle: !0 }), removeScratch: jc.removeData({ field: "scratch", event: "scratch", triggerFnName: "trigger", triggerEvent: !0, updateStyle: !0 }) }; Pk.attr = Pk.data, Pk.removeAttr = Pk.removeData; var Fk = function (g) { var x = this; g = Ke({}, g); var T = g.container; T && !gt(T) && gt(T[0]) && (T = T[0]); var A = T ? T._cyreg : null; A = A || {}, A && A.cy && (A.cy.destroy(), A = {}); var I = A.readies = A.readies || []; T && (T._cyreg = A), A.cy = x; var O = R !== void 0 && T !== void 0 && !g.headless, $ = g; $.layout = Ke({ name: O ? "grid" : "null" }, $.layout), $.renderer = Ke({ name: O ? "canvas" : "null" }, $.renderer); var z = function (ut, dt, At) { return dt !== void 0 ? dt : At !== void 0 ? At : ut }, S = this._private = { container: T, ready: !1, options: $, elements: new Gf(this), listeners: [], aniEles: new Gf(this), data: $.data || {}, scratch: {}, layout: null, renderer: null, destroyed: !1, notificationsEnabled: !0, minZoom: 1e-50, maxZoom: 1e50, zoomingEnabled: z(!0, $.zoomingEnabled), userZoomingEnabled: z(!0, $.userZoomingEnabled), panningEnabled: z(!0, $.panningEnabled), userPanningEnabled: z(!0, $.userPanningEnabled), boxSelectionEnabled: z(!0, $.boxSelectionEnabled), autolock: z(!1, $.autolock, $.autolockNodes), autoungrabify: z(!1, $.autoungrabify, $.autoungrabifyNodes), autounselectify: z(!1, $.autounselectify), styleEnabled: $.styleEnabled === void 0 ? O : $.styleEnabled, zoom: rt($.zoom) ? $.zoom : 1, pan: { x: ht($.pan) && rt($.pan.x) ? $.pan.x : 0, y: ht($.pan) && rt($.pan.y) ? $.pan.y : 0 }, animation: { current: [], queue: [] }, hasCompoundNodes: !1, multiClickDebounceTime: z(250, $.multiClickDebounceTime) }; this.createEmitter(), this.selectionType($.selectionType), this.zoomRange({ min: $.minZoom, max: $.maxZoom }); var V = function (ut, dt) { var At = ut.some(It); if (At) return W5.all(ut).then(dt); dt(ut) }; S.styleEnabled && x.setStyle([]); var U = Ke({}, $, $.renderer); x.initRenderer(U); var tt = function (ut, dt, At) { x.notifications(!1); var xt = x.mutableElements(); xt.length > 0 && xt.remove(), ut != null && (ht(ut) || yt(ut)) && x.add(ut), x.one("layoutready", function (Dt) { x.notifications(!0), x.emit(Dt), x.one("load", dt), x.emitAndNotify("load") }).one("layoutstop", function () { x.one("done", At), x.emit("done") }); var Mt = Ke({}, x._private.options.layout); Mt.eles = x.elements(), x.layout(Mt).run() }; V([$.style, $.elements], function (at) { var ut = at[0], dt = at[1]; S.styleEnabled && x.style().append(ut), tt(dt, function () { x.startAnimationLoop(), S.ready = !0, kt($.ready) && x.on("ready", $.ready); for (var At = 0; At < I.length; At++) { var xt = I[At]; x.on("ready", xt) } A && (A.readies = []), x.emit("ready") }, $.done) }) }, sT = Fk.prototype; Ke(sT, { instanceString: function () { return "core" }, isReady: function () { return this._private.ready }, destroyed: function () { return this._private.destroyed }, ready: function (g) { return this.isReady() ? this.emitter().emit("ready", [], g) : this.on("ready", g), this }, destroy: function () { var g = this; if (!g.destroyed()) return g.stopAnimationLoop(), g.destroyRenderer(), this.emit("destroy"), g._private.destroyed = !0, g }, hasElementWithId: function (g) { return this._private.elements.hasElementWithId(g) }, getElementById: function (g) { return this._private.elements.getElementById(g) }, hasCompoundNodes: function () { return this._private.hasCompoundNodes }, headless: function () { return this._private.renderer.isHeadless() }, styleEnabled: function () { return this._private.styleEnabled }, addToPool: function (g) { return this._private.elements.merge(g), this }, removeFromPool: function (g) { return this._private.elements.unmerge(g), this }, container: function () { return this._private.container || null }, mount: function (g) { if (g != null) { var x = this, T = x._private, A = T.options; return !gt(g) && gt(g[0]) && (g = g[0]), x.stopAnimationLoop(), x.destroyRenderer(), T.container = g, T.styleEnabled = !0, x.invalidateSize(), x.initRenderer(Ke({}, A, A.renderer, { name: A.renderer.name === "null" ? "canvas" : A.renderer.name })), x.startAnimationLoop(), x.style(A.style), x.emit("mount"), x } }, unmount: function () { var g = this; return g.stopAnimationLoop(), g.destroyRenderer(), g.initRenderer({ name: "null" }), g.emit("unmount"), g }, options: function () { return oh(this._private.options) }, json: function (g) { var x = this, T = x._private, A = x.mutableElements(), I = function (Bt) { return x.getElementById(Bt.id()) }; if (ht(g)) { if (x.startBatch(), g.elements) { var O = {}, $ = function (Bt, Zt) { for (var Kt = [], $t = [], ee = 0; ee < Bt.length; ee++) { var Ht = Bt[ee]; if (!Ht.data.id) { Wo("cy.json() cannot handle elements without an ID attribute"); continue } var ge = "" + Ht.data.id, be = x.getElementById(ge); O[ge] = !0, be.length !== 0 ? $t.push({ ele: be, json: Ht }) : (Zt && (Ht.group = Zt), Kt.push(Ht)) } x.add(Kt); for (var re = 0; re < $t.length; re++) { var Pe = $t[re], ve = Pe.ele, fn = Pe.json; ve.json(fn) } }; if (yt(g.elements)) $(g.elements); else for (var z = ["nodes", "edges"], S = 0; S < z.length; S++) { var V = z[S], U = g.elements[V]; yt(U) && $(U, V) } var tt = x.collection(); A.filter(function (Dt) { return !O[Dt.id()] }).forEach(function (Dt) { Dt.isParent() ? tt.merge(Dt) : Dt.remove() }), tt.forEach(function (Dt) { return Dt.children().move({ parent: null }) }), tt.forEach(function (Dt) { return I(Dt).remove() }) } g.style && x.style(g.style), g.zoom != null && g.zoom !== T.zoom && x.zoom(g.zoom), g.pan && (g.pan.x !== T.pan.x || g.pan.y !== T.pan.y) && x.pan(g.pan), g.data && x.data(g.data); for (var at = ["minZoom", "maxZoom", "zoomingEnabled", "userZoomingEnabled", "panningEnabled", "userPanningEnabled", "boxSelectionEnabled", "autolock", "autoungrabify", "autounselectify", "multiClickDebounceTime"], ut = 0; ut < at.length; ut++) { var dt = at[ut]; g[dt] != null && x[dt](g[dt]) } return x.endBatch(), this } else { var At = !!g, xt = {}; At ? xt.elements = this.elements().map(function (Dt) { return Dt.json() }) : (xt.elements = {}, A.forEach(function (Dt) { var Bt = Dt.group(); xt.elements[Bt] || (xt.elements[Bt] = []), xt.elements[Bt].push(Dt.json()) })), this._private.styleEnabled && (xt.style = x.style().json()), xt.data = oh(x.data()); var Mt = T.options; return xt.zoomingEnabled = T.zoomingEnabled, xt.userZoomingEnabled = T.userZoomingEnabled, xt.zoom = T.zoom, xt.minZoom = T.minZoom, xt.maxZoom = T.maxZoom, xt.panningEnabled = T.panningEnabled, xt.userPanningEnabled = T.userPanningEnabled, xt.pan = oh(T.pan), xt.boxSelectionEnabled = T.boxSelectionEnabled, xt.renderer = oh(Mt.renderer), xt.hideEdgesOnViewport = Mt.hideEdgesOnViewport, xt.textureOnViewport = Mt.textureOnViewport, xt.wheelSensitivity = Mt.wheelSensitivity, xt.motionBlur = Mt.motionBlur, xt.multiClickDebounceTime = Mt.multiClickDebounceTime, xt } } }), sT.$id = sT.getElementById, [sJ, lJ, wB, $L, eT, fJ, zL, nT, pJ, A3, Pk].forEach(function (y) { Ke(sT, y) }); var vJ = { fit: !0, directed: !1, padding: 30, circle: !1, grid: !1, spacingFactor: 1.75, boundingBox: void 0, avoidOverlap: !0, nodeDimensionsIncludeLabels: !1, roots: void 0, maximal: !1, depthSort: void 0, animate: !1, animationDuration: 500, animationEasing: void 0, animateFilter: function (g, x) { return !0 }, ready: void 0, stop: void 0, transform: function (g, x) { return x } }, s6 = function (g) { return g.scratch("breadthfirst") }, VL = function (g, x) { return g.scratch("breadthfirst", x) }; function mB(y) { this.options = Ke({}, vJ, y) } mB.prototype.run = function () { var y = this.options, g = y, x = y.cy, T = g.eles, A = T.nodes().filter(function (Fi) { return !Fi.isParent() }), I = T, O = g.directed, $ = g.maximal || g.maximalAdjustments > 0, z = zd(g.boundingBox ? g.boundingBox : { x1: 0, y1: 0, w: x.width(), h: x.height() }), S; if (lt(g.roots)) S = g.roots; else if (yt(g.roots)) { for (var V = [], U = 0; U < g.roots.length; U++) { var tt = g.roots[U], at = x.getElementById(tt); V.push(at) } S = x.collection(V) } else if (Tt(g.roots)) S = x.$(g.roots); else if (O) S = A.roots(); else { var ut = T.components(); S = x.collection(); for (var dt = function (Ci) { var Ls = ut[Ci], es = Ls.maxDegree(!1), Ri = Ls.filter(function (as) { return as.degree(!1) === es }); S = S.add(Ri) }, At = 0; At < ut.length; At++)dt(At) } var xt = [], Mt = {}, Dt = function (Ci, Ls) { xt[Ls] == null && (xt[Ls] = []); var es = xt[Ls].length; xt[Ls].push(Ci), VL(Ci, { index: es, depth: Ls }) }, Bt = function (Ci, Ls) { var es = s6(Ci), Ri = es.depth, as = es.index; xt[Ri][as] = null, Dt(Ci, Ls) }; I.bfs({ roots: S, directed: g.directed, visit: function (Ci, Ls, es, Ri, as) { var no = Ci[0], ca = no.id(); Dt(no, as), Mt[ca] = !0 } }); for (var Zt = [], Kt = 0; Kt < A.length; Kt++) { var $t = A[Kt]; Mt[$t.id()] || Zt.push($t) } var ee = function (Ci) { for (var Ls = xt[Ci], es = 0; es < Ls.length; es++) { var Ri = Ls[es]; if (Ri == null) { Ls.splice(es, 1), es--; continue } VL(Ri, { depth: Ci, index: es }) } }, Ht = function () { for (var Ci = 0; Ci < xt.length; Ci++)ee(Ci) }, ge = function (Ci, Ls) { for (var es = s6(Ci), Ri = Ci.incomers().filter(function (Qt) { return Qt.isNode() && T.has(Qt) }), as = -1, no = Ci.id(), ca = 0; ca < Ri.length; ca++) { var ea = Ri[ca], Fr = s6(ea); as = Math.max(as, Fr.depth) } return es.depth <= as ? Ls[no] ? null : (Bt(Ci, as + 1), Ls[no] = !0, !0) : !1 }; if (O && $) { var be = [], re = {}, Pe = function (Ci) { return be.push(Ci) }, ve = function () { return be.shift() }; for (A.forEach(function (Fi) { return be.push(Fi) }); be.length > 0;) { var fn = ve(), $e = ge(fn, re); if ($e) fn.outgoers().filter(function (Fi) { return Fi.isNode() && T.has(Fi) }).forEach(Pe); else if ($e === null) { Wo("Detected double maximal shift for node `" + fn.id() + "`.  Bailing maximal adjustment due to cycle.  Use `options.maximal: true` only on DAGs."); break } } } Ht(); var qe = 0; if (g.avoidOverlap) for (var xn = 0; xn < A.length; xn++) { var Nn = A[xn], er = Nn.layoutDimensions(g), Sn = er.w, Jn = er.h; qe = Math.max(qe, Sn, Jn) } var fr = {}, Sr = function (Ci) { if (fr[Ci.id()]) return fr[Ci.id()]; for (var Ls = s6(Ci).depth, es = Ci.neighborhood(), Ri = 0, as = 0, no = 0; no < es.length; no++) { var ca = es[no]; if (!(ca.isEdge() || ca.isParent() || !A.has(ca))) { var ea = s6(ca); if (ea != null) { var Fr = ea.index, Qt = ea.depth; if (!(Fr == null || Qt == null)) { var Hn = xt[Qt].length; Qt < Ls && (Ri += Fr / Hn, as++) } } } } return as = Math.max(1, as), Ri = Ri / as, as === 0 && (Ri = 0), fr[Ci.id()] = Ri, Ri }, wr = function (Ci, Ls) { var es = Sr(Ci), Ri = Sr(Ls), as = es - Ri; return as === 0 ? un(Ci.id(), Ls.id()) : as }; g.depthSort !== void 0 && (wr = g.depthSort); for (var cr = 0; cr < xt.length; cr++)xt[cr].sort(wr), ee(cr); for (var bn = [], Tr = 0; Tr < Zt.length; Tr++)bn.push(Zt[Tr]); xt.unshift(bn), Ht(); for (var xr = 0, fi = 0; fi < xt.length; fi++)xr = Math.max(xt[fi].length, xr); var Ii = { x: z.x1 + z.w / 2, y: z.x1 + z.h / 2 }, oa = xt.reduce(function (Fi, Ci) { return Math.max(Fi, Ci.length) }, 0), Fa = function (Ci) { var Ls = s6(Ci), es = Ls.depth, Ri = Ls.index, as = xt[es].length, no = Math.max(z.w / ((g.grid ? oa : as) + 1), qe), ca = Math.max(z.h / (xt.length + 1), qe), ea = Math.min(z.w / 2 / xt.length, z.h / 2 / xt.length); if (ea = Math.max(ea, qe), g.circle) { var Qt = ea * es + ea - (xt.length > 0 && xt[0].length <= 3 ? ea / 2 : 0), Hn = 2 * Math.PI / xt[es].length * Ri; return es === 0 && xt[0].length === 1 && (Qt = 1), { x: Ii.x + Qt * Math.cos(Hn), y: Ii.y + Qt * Math.sin(Hn) } } else { var Fr = { x: Ii.x + (Ri + 1 - (as + 1) / 2) * no, y: (es + 1) * ca }; return Fr } }; return T.nodes().layoutPositions(this, g, Fa), this }; var wJ = { fit: !0, padding: 30, boundingBox: void 0, avoidOverlap: !0, nodeDimensionsIncludeLabels: !1, spacingFactor: void 0, radius: void 0, startAngle: 3 / 2 * Math.PI, sweep: void 0, clockwise: !0, sort: void 0, animate: !1, animationDuration: 500, animationEasing: void 0, animateFilter: function (g, x) { return !0 }, ready: void 0, stop: void 0, transform: function (g, x) { return x } }; function aT(y) { this.options = Ke({}, wJ, y) } aT.prototype.run = function () { var y = this.options, g = y, x = y.cy, T = g.eles, A = g.counterclockwise !== void 0 ? !g.counterclockwise : g.clockwise, I = T.nodes().not(":parent"); g.sort && (I = I.sort(g.sort)); for (var O = zd(g.boundingBox ? g.boundingBox : { x1: 0, y1: 0, w: x.width(), h: x.height() }), $ = { x: O.x1 + O.w / 2, y: O.y1 + O.h / 2 }, z = g.sweep === void 0 ? 2 * Math.PI - 2 * Math.PI / I.length : g.sweep, S = z / Math.max(1, I.length - 1), V, U = 0, tt = 0; tt < I.length; tt++) { var at = I[tt], ut = at.layoutDimensions(g), dt = ut.w, At = ut.h; U = Math.max(U, dt, At) } if (rt(g.radius) ? V = g.radius : I.length <= 1 ? V = 0 : V = Math.min(O.h, O.w) / 2 - U, I.length > 1 && g.avoidOverlap) { U *= 1.75; var xt = Math.cos(S) - Math.cos(0), Mt = Math.sin(S) - Math.sin(0), Dt = Math.sqrt(U * U / (xt * xt + Mt * Mt)); V = Math.max(Dt, V) } var Bt = function (Kt, $t) { var ee = g.startAngle + $t * S * (A ? 1 : -1), Ht = V * Math.cos(ee), ge = V * Math.sin(ee), be = { x: $.x + Ht, y: $.y + ge }; return be }; return T.nodes().layoutPositions(this, g, Bt), this }; var mJ = { fit: !0, padding: 30, startAngle: 3 / 2 * Math.PI, sweep: void 0, clockwise: !0, equidistant: !1, minNodeSpacing: 10, boundingBox: void 0, avoidOverlap: !0, nodeDimensionsIncludeLabels: !1, height: void 0, width: void 0, spacingFactor: void 0, concentric: function (g) { return g.degree() }, levelWidth: function (g) { return g.maxDegree() / 4 }, animate: !1, animationDuration: 500, animationEasing: void 0, animateFilter: function (g, x) { return !0 }, ready: void 0, stop: void 0, transform: function (g, x) { return x } }; function yB(y) { this.options = Ke({}, mJ, y) } yB.prototype.run = function () { for (var y = this.options, g = y, x = g.counterclockwise !== void 0 ? !g.counterclockwise : g.clockwise, T = y.cy, A = g.eles, I = A.nodes().not(":parent"), O = zd(g.boundingBox ? g.boundingBox : { x1: 0, y1: 0, w: T.width(), h: T.height() }), $ = { x: O.x1 + O.w / 2, y: O.y1 + O.h / 2 }, z = [], S = 0, V = 0; V < I.length; V++) { var U = I[V], tt = void 0; tt = g.concentric(U), z.push({ value: tt, node: U }), U._private.scratch.concentric = tt } I.updateStyle(); for (var at = 0; at < I.length; at++) { var ut = I[at], dt = ut.layoutDimensions(g); S = Math.max(S, dt.w, dt.h) } z.sort(function (Fi, Ci) { return Ci.value - Fi.value }); for (var At = g.levelWidth(I), xt = [[]], Mt = xt[0], Dt = 0; Dt < z.length; Dt++) { var Bt = z[Dt]; if (Mt.length > 0) { var Zt = Math.abs(Mt[0].value - Bt.value); Zt >= At && (Mt = [], xt.push(Mt)) } Mt.push(Bt) } var Kt = S + g.minNodeSpacing; if (!g.avoidOverlap) { var $t = xt.length > 0 && xt[0].length > 1, ee = Math.min(O.w, O.h) / 2 - Kt, Ht = ee / (xt.length + $t ? 1 : 0); Kt = Math.min(Kt, Ht) } for (var ge = 0, be = 0; be < xt.length; be++) { var re = xt[be], Pe = g.sweep === void 0 ? 2 * Math.PI - 2 * Math.PI / re.length : g.sweep, ve = re.dTheta = Pe / Math.max(1, re.length - 1); if (re.length > 1 && g.avoidOverlap) { var fn = Math.cos(ve) - Math.cos(0), $e = Math.sin(ve) - Math.sin(0), qe = Math.sqrt(Kt * Kt / (fn * fn + $e * $e)); ge = Math.max(qe, ge) } re.r = ge, ge += Kt } if (g.equidistant) { for (var xn = 0, Nn = 0, er = 0; er < xt.length; er++) { var Sn = xt[er], Jn = Sn.r - Nn; xn = Math.max(xn, Jn) } Nn = 0; for (var fr = 0; fr < xt.length; fr++) { var Sr = xt[fr]; fr === 0 && (Nn = Sr.r), Sr.r = Nn, Nn += xn } } for (var wr = {}, cr = 0; cr < xt.length; cr++)for (var bn = xt[cr], Tr = bn.dTheta, xr = bn.r, fi = 0; fi < bn.length; fi++) { var Ii = bn[fi], oa = g.startAngle + (x ? 1 : -1) * Tr * fi, Fa = { x: $.x + xr * Math.cos(oa), y: $.y + xr * Math.sin(oa) }; wr[Ii.node.id()] = Fa } return A.nodes().layoutPositions(this, g, function (Fi) { var Ci = Fi.id(); return wr[Ci] }), this }; var GL, yJ = { ready: function () { }, stop: function () { }, animate: !0, animationEasing: void 0, animationDuration: void 0, animateFilter: function (g, x) { return !0 }, animationThreshold: 250, refresh: 20, fit: !0, padding: 30, boundingBox: void 0, nodeDimensionsIncludeLabels: !1, randomize: !1, componentSpacing: 40, nodeRepulsion: function (g) { return 2048 }, nodeOverlap: 4, idealEdgeLength: function (g) { return 32 }, edgeElasticity: function (g) { return 32 }, nestingFactor: 1.2, gravity: 1, numIter: 1e3, initialTemp: 1e3, coolingFactor: .99, minTemp: 1 }; function oT(y) { this.options = Ke({}, yJ, y), this.options.layout = this } oT.prototype.run = function () { var y = this.options, g = y.cy, x = this; x.stopped = !1, (y.animate === !0 || y.animate === !1) && x.emit({ type: "layoutstart", layout: x }), y.debug === !0 ? GL = !0 : GL = !1; var T = xJ(g, x, y); GL && TJ(T), y.randomize && _J(T); var A = Ei(), I = function () { CJ(T, g, y), y.fit === !0 && g.fit(y.padding) }, O = function (tt) { return !(x.stopped || tt >= y.numIter || (SJ(T, y), T.temperature = T.temperature * y.coolingFactor, T.temperature < y.minTemp)) }, $ = function () { if (y.animate === !0 || y.animate === !1) I(), x.one("layoutstop", y.stop), x.emit({ type: "layoutstop", layout: x }); else { var tt = y.eles.nodes(), at = xB(T, y, tt); tt.layoutPositions(x, y, at) } }, z = 0, S = !0; if (y.animate === !0) { var V = function U() { for (var tt = 0; S && tt < y.refresh;)S = O(z), z++, tt++; if (!S) EB(T, y), $(); else { var at = Ei(); at - A >= y.animationThreshold && I(), Ma(U) } }; V() } else { for (; S;)S = O(z), z++; EB(T, y), $() } return this }, oT.prototype.stop = function () { return this.stopped = !0, this.thread && this.thread.stop(), this.emit("layoutstop"), this }, oT.prototype.destroy = function () { return this.thread && this.thread.stop(), this }; var xJ = function (g, x, T) { for (var A = T.eles.edges(), I = T.eles.nodes(), O = { isCompound: g.hasCompoundNodes(), layoutNodes: [], idToIndex: {}, nodeSize: I.size(), graphSet: [], indexToGraph: [], layoutEdges: [], edgeSize: A.size(), temperature: T.initialTemp, clientWidth: g.width(), clientHeight: g.width(), boundingBox: zd(T.boundingBox ? T.boundingBox : { x1: 0, y1: 0, w: g.width(), h: g.height() }) }, $ = T.eles.components(), z = {}, S = 0; S < $.length; S++)for (var V = $[S], U = 0; U < V.length; U++) { var tt = V[U]; z[tt.id()] = S } for (var S = 0; S < O.nodeSize; S++) { var at = I[S], ut = at.layoutDimensions(T), dt = {}; dt.isLocked = at.locked(), dt.id = at.data("id"), dt.parentId = at.data("parent"), dt.cmptId = z[at.id()], dt.children = [], dt.positionX = at.position("x"), dt.positionY = at.position("y"), dt.offsetX = 0, dt.offsetY = 0, dt.height = ut.w, dt.width = ut.h, dt.maxX = dt.positionX + dt.width / 2, dt.minX = dt.positionX - dt.width / 2, dt.maxY = dt.positionY + dt.height / 2, dt.minY = dt.positionY - dt.height / 2, dt.padLeft = parseFloat(at.style("padding")), dt.padRight = parseFloat(at.style("padding")), dt.padTop = parseFloat(at.style("padding")), dt.padBottom = parseFloat(at.style("padding")), dt.nodeRepulsion = kt(T.nodeRepulsion) ? T.nodeRepulsion(at) : T.nodeRepulsion, O.layoutNodes.push(dt), O.idToIndex[dt.id] = S } for (var At = [], xt = 0, Mt = -1, Dt = [], S = 0; S < O.nodeSize; S++) { var at = O.layoutNodes[S], Bt = at.parentId; Bt != null ? O.layoutNodes[O.idToIndex[Bt]].children.push(at.id) : (At[++Mt] = at.id, Dt.push(at.id)) } for (O.graphSet.push(Dt); xt <= Mt;) { var Zt = At[xt++], Kt = O.idToIndex[Zt], tt = O.layoutNodes[Kt], $t = tt.children; if ($t.length > 0) { O.graphSet.push($t); for (var S = 0; S < $t.length; S++)At[++Mt] = $t[S] } } for (var S = 0; S < O.graphSet.length; S++)for (var ee = O.graphSet[S], U = 0; U < ee.length; U++) { var Ht = O.idToIndex[ee[U]]; O.indexToGraph[Ht] = S } for (var S = 0; S < O.edgeSize; S++) { var ge = A[S], be = {}; be.id = ge.data("id"), be.sourceId = ge.data("source"), be.targetId = ge.data("target"); var re = kt(T.idealEdgeLength) ? T.idealEdgeLength(ge) : T.idealEdgeLength, Pe = kt(T.edgeElasticity) ? T.edgeElasticity(ge) : T.edgeElasticity, ve = O.idToIndex[be.sourceId], fn = O.idToIndex[be.targetId], $e = O.indexToGraph[ve], qe = O.indexToGraph[fn]; if ($e != qe) { for (var xn = kJ(be.sourceId, be.targetId, O), Nn = O.graphSet[xn], er = 0, dt = O.layoutNodes[ve]; Nn.indexOf(dt.id) === -1;)dt = O.layoutNodes[O.idToIndex[dt.parentId]], er++; for (dt = O.layoutNodes[fn]; Nn.indexOf(dt.id) === -1;)dt = O.layoutNodes[O.idToIndex[dt.parentId]], er++; re *= er * T.nestingFactor } be.idealLength = re, be.elasticity = Pe, O.layoutEdges.push(be) } return O }, kJ = function (g, x, T) { var A = EJ(g, x, 0, T); return 2 > A.count ? 0 : A.graph }, EJ = function y(g, x, T, A) { var I = A.graphSet[T]; if (-1 < I.indexOf(g) && -1 < I.indexOf(x)) return { count: 2, graph: T }; for (var O = 0, $ = 0; $ < I.length; $++) { var z = I[$], S = A.idToIndex[z], V = A.layoutNodes[S].children; if (V.length !== 0) { var U = A.indexToGraph[A.idToIndex[V[0]]], tt = y(g, x, U, A); if (tt.count !== 0) if (tt.count === 1) { if (O++, O === 2) break } else return tt } } return { count: O, graph: T } }, TJ, _J = function (g, x) { for (var T = g.clientWidth, A = g.clientHeight, I = 0; I < g.nodeSize; I++) { var O = g.layoutNodes[I]; O.children.length === 0 && !O.isLocked && (O.positionX = Math.random() * T, O.positionY = Math.random() * A) } }, xB = function (g, x, T) { var A = g.boundingBox, I = { x1: 1 / 0, x2: -1 / 0, y1: 1 / 0, y2: -1 / 0 }; return x.boundingBox && (T.forEach(function (O) { var $ = g.layoutNodes[g.idToIndex[O.data("id")]]; I.x1 = Math.min(I.x1, $.positionX), I.x2 = Math.max(I.x2, $.positionX), I.y1 = Math.min(I.y1, $.positionY), I.y2 = Math.max(I.y2, $.positionY) }), I.w = I.x2 - I.x1, I.h = I.y2 - I.y1), function (O, $) { var z = g.layoutNodes[g.idToIndex[O.data("id")]]; if (x.boundingBox) { var S = (z.positionX - I.x1) / I.w, V = (z.positionY - I.y1) / I.h; return { x: A.x1 + S * A.w, y: A.y1 + V * A.h } } else return { x: z.positionX, y: z.positionY } } }, CJ = function (g, x, T) { var A = T.layout, I = T.eles.nodes(), O = xB(g, T, I); I.positions(O), g.ready !== !0 && (g.ready = !0, A.one("layoutready", T.ready), A.emit({ type: "layoutready", layout: this })) }, SJ = function (g, x, T) { AJ(g, x), DJ(g), IJ(g, x), OJ(g), NJ(g) }, AJ = function (g, x) { for (var T = 0; T < g.graphSet.length; T++)for (var A = g.graphSet[T], I = A.length, O = 0; O < I; O++)for (var $ = g.layoutNodes[g.idToIndex[A[O]]], z = O + 1; z < I; z++) { var S = g.layoutNodes[g.idToIndex[A[z]]]; LJ($, S, g, x) } }, kB = function (g) { return -g + 2 * g * Math.random() }, LJ = function (g, x, T, A) { var I = g.cmptId, O = x.cmptId; if (!(I !== O && !T.isCompound)) { var $ = x.positionX - g.positionX, z = x.positionY - g.positionY, S = 1; $ === 0 && z === 0 && ($ = kB(S), z = kB(S)); var V = MJ(g, x, $, z); if (V > 0) var U = A.nodeOverlap * V, tt = Math.sqrt($ * $ + z * z), at = U * $ / tt, ut = U * z / tt; else var dt = cT(g, $, z), At = cT(x, -1 * $, -1 * z), xt = At.x - dt.x, Mt = At.y - dt.y, Dt = xt * xt + Mt * Mt, tt = Math.sqrt(Dt), U = (g.nodeRepulsion + x.nodeRepulsion) / Dt, at = U * xt / tt, ut = U * Mt / tt; g.isLocked || (g.offsetX -= at, g.offsetY -= ut), x.isLocked || (x.offsetX += at, x.offsetY += ut) } }, MJ = function (g, x, T, A) { if (T > 0) var I = g.maxX - x.minX; else var I = x.maxX - g.minX; if (A > 0) var O = g.maxY - x.minY; else var O = x.maxY - g.minY; return I >= 0 && O >= 0 ? Math.sqrt(I * I + O * O) : 0 }, cT = function (g, x, T) { var A = g.positionX, I = g.positionY, O = g.height || 1, $ = g.width || 1, z = T / x, S = O / $, V = {}; return x === 0 && 0 < T || x === 0 && 0 > T ? (V.x = A, V.y = I + O / 2, V) : 0 < x && -1 * S <= z && z <= S ? (V.x = A + $ / 2, V.y = I + $ * T / 2 / x, V) : 0 > x && -1 * S <= z && z <= S ? (V.x = A - $ / 2, V.y = I - $ * T / 2 / x, V) : 0 < T && (z <= -1 * S || z >= S) ? (V.x = A + O * x / 2 / T, V.y = I + O / 2, V) : (0 > T && (z <= -1 * S || z >= S) && (V.x = A - O * x / 2 / T, V.y = I - O / 2), V) }, DJ = function (g, x) { for (var T = 0; T < g.edgeSize; T++) { var A = g.layoutEdges[T], I = g.idToIndex[A.sourceId], O = g.layoutNodes[I], $ = g.idToIndex[A.targetId], z = g.layoutNodes[$], S = z.positionX - O.positionX, V = z.positionY - O.positionY; if (!(S === 0 && V === 0)) { var U = cT(O, S, V), tt = cT(z, -1 * S, -1 * V), at = tt.x - U.x, ut = tt.y - U.y, dt = Math.sqrt(at * at + ut * ut), At = Math.pow(A.idealLength - dt, 2) / A.elasticity; if (dt !== 0) var xt = At * at / dt, Mt = At * ut / dt; else var xt = 0, Mt = 0; O.isLocked || (O.offsetX += xt, O.offsetY += Mt), z.isLocked || (z.offsetX -= xt, z.offsetY -= Mt) } } }, IJ = function (g, x) { if (x.gravity !== 0) for (var T = 1, A = 0; A < g.graphSet.length; A++) { var I = g.graphSet[A], O = I.length; if (A === 0) var $ = g.clientHeight / 2, z = g.clientWidth / 2; else var S = g.layoutNodes[g.idToIndex[I[0]]], V = g.layoutNodes[g.idToIndex[S.parentId]], $ = V.positionX, z = V.positionY; for (var U = 0; U < O; U++) { var tt = g.layoutNodes[g.idToIndex[I[U]]]; if (!tt.isLocked) { var at = $ - tt.positionX, ut = z - tt.positionY, dt = Math.sqrt(at * at + ut * ut); if (dt > T) { var At = x.gravity * at / dt, xt = x.gravity * ut / dt; tt.offsetX += At, tt.offsetY += xt } } } } }, OJ = function (g, x) { var T = [], A = 0, I = -1; for (T.push.apply(T, g.graphSet[0]), I += g.graphSet[0].length; A <= I;) { var O = T[A++], $ = g.idToIndex[O], z = g.layoutNodes[$], S = z.children; if (0 < S.length && !z.isLocked) { for (var V = z.offsetX, U = z.offsetY, tt = 0; tt < S.length; tt++) { var at = g.layoutNodes[g.idToIndex[S[tt]]]; at.offsetX += V, at.offsetY += U, T[++I] = S[tt] } z.offsetX = 0, z.offsetY = 0 } } }, NJ = function (g, x) { for (var T = 0; T < g.nodeSize; T++) { var A = g.layoutNodes[T]; 0 < A.children.length && (A.maxX = void 0, A.minX = void 0, A.maxY = void 0, A.minY = void 0) } for (var T = 0; T < g.nodeSize; T++) { var A = g.layoutNodes[T]; if (!(0 < A.children.length || A.isLocked)) { var I = PJ(A.offsetX, A.offsetY, g.temperature); A.positionX += I.x, A.positionY += I.y, A.offsetX = 0, A.offsetY = 0, A.minX = A.positionX - A.width, A.maxX = A.positionX + A.width, A.minY = A.positionY - A.height, A.maxY = A.positionY + A.height, FJ(A, g) } } for (var T = 0; T < g.nodeSize; T++) { var A = g.layoutNodes[T]; 0 < A.children.length && !A.isLocked && (A.positionX = (A.maxX + A.minX) / 2, A.positionY = (A.maxY + A.minY) / 2, A.width = A.maxX - A.minX, A.height = A.maxY - A.minY) } }, PJ = function (g, x, T) { var A = Math.sqrt(g * g + x * x); if (A > T) var I = { x: T * g / A, y: T * x / A }; else var I = { x: g, y: x }; return I }, FJ = function y(g, x) { var T = g.parentId; if (T != null) { var A = x.layoutNodes[x.idToIndex[T]], I = !1; if ((A.maxX == null || g.maxX + A.padRight > A.maxX) && (A.maxX = g.maxX + A.padRight, I = !0), (A.minX == null || g.minX - A.padLeft < A.minX) && (A.minX = g.minX - A.padLeft, I = !0), (A.maxY == null || g.maxY + A.padBottom > A.maxY) && (A.maxY = g.maxY + A.padBottom, I = !0), (A.minY == null || g.minY - A.padTop < A.minY) && (A.minY = g.minY - A.padTop, I = !0), I) return y(A, x) } }, EB = function (g, x) { for (var T = g.layoutNodes, A = [], I = 0; I < T.length; I++) { var O = T[I], $ = O.cmptId, z = A[$] = A[$] || []; z.push(O) } for (var S = 0, I = 0; I < A.length; I++) { var V = A[I]; if (V) { V.x1 = 1 / 0, V.x2 = -1 / 0, V.y1 = 1 / 0, V.y2 = -1 / 0; for (var U = 0; U < V.length; U++) { var tt = V[U]; V.x1 = Math.min(V.x1, tt.positionX - tt.width / 2), V.x2 = Math.max(V.x2, tt.positionX + tt.width / 2), V.y1 = Math.min(V.y1, tt.positionY - tt.height / 2), V.y2 = Math.max(V.y2, tt.positionY + tt.height / 2) } V.w = V.x2 - V.x1, V.h = V.y2 - V.y1, S += V.w * V.h } } A.sort(function (Mt, Dt) { return Dt.w * Dt.h - Mt.w * Mt.h }); for (var at = 0, ut = 0, dt = 0, At = 0, xt = Math.sqrt(S) * g.clientWidth / g.clientHeight, I = 0; I < A.length; I++) { var V = A[I]; if (V) { for (var U = 0; U < V.length; U++) { var tt = V[U]; tt.isLocked || (tt.positionX += at - V.x1, tt.positionY += ut - V.y1) } at += V.w + x.componentSpacing, dt += V.w + x.componentSpacing, At = Math.max(At, V.h), dt > xt && (ut += At + x.componentSpacing, at = 0, dt = 0, At = 0) } } }, BJ = { fit: !0, padding: 30, boundingBox: void 0, avoidOverlap: !0, avoidOverlapPadding: 10, nodeDimensionsIncludeLabels: !1, spacingFactor: void 0, condense: !1, rows: void 0, cols: void 0, position: function (g) { }, sort: void 0, animate: !1, animationDuration: 500, animationEasing: void 0, animateFilter: function (g, x) { return !0 }, ready: void 0, stop: void 0, transform: function (g, x) { return x } }; function TB(y) { this.options = Ke({}, BJ, y) } TB.prototype.run = function () { var y = this.options, g = y, x = y.cy, T = g.eles, A = T.nodes().not(":parent"); g.sort && (A = A.sort(g.sort)); var I = zd(g.boundingBox ? g.boundingBox : { x1: 0, y1: 0, w: x.width(), h: x.height() }); if (I.h === 0 || I.w === 0) T.nodes().layoutPositions(this, g, function (fr) { return { x: I.x1, y: I.y1 } }); else { var O = A.size(), $ = Math.sqrt(O * I.h / I.w), z = Math.round($), S = Math.round(I.w / I.h * $), V = function (Sr) { if (Sr == null) return Math.min(z, S); var wr = Math.min(z, S); wr == z ? z = Sr : S = Sr }, U = function (Sr) { if (Sr == null) return Math.max(z, S); var wr = Math.max(z, S); wr == z ? z = Sr : S = Sr }, tt = g.rows, at = g.cols != null ? g.cols : g.columns; if (tt != null && at != null) z = tt, S = at; else if (tt != null && at == null) z = tt, S = Math.ceil(O / z); else if (tt == null && at != null) S = at, z = Math.ceil(O / S); else if (S * z > O) { var ut = V(), dt = U(); (ut - 1) * dt >= O ? V(ut - 1) : (dt - 1) * ut >= O && U(dt - 1) } else for (; S * z < O;) { var At = V(), xt = U(); (xt + 1) * At >= O ? U(xt + 1) : V(At + 1) } var Mt = I.w / S, Dt = I.h / z; if (g.condense && (Mt = 0, Dt = 0), g.avoidOverlap) for (var Bt = 0; Bt < A.length; Bt++) { var Zt = A[Bt], Kt = Zt._private.position; (Kt.x == null || Kt.y == null) && (Kt.x = 0, Kt.y = 0); var $t = Zt.layoutDimensions(g), ee = g.avoidOverlapPadding, Ht = $t.w + ee, ge = $t.h + ee; Mt = Math.max(Mt, Ht), Dt = Math.max(Dt, ge) } for (var be = {}, re = function (Sr, wr) { return !!be["c-" + Sr + "-" + wr] }, Pe = function (Sr, wr) { be["c-" + Sr + "-" + wr] = !0 }, ve = 0, fn = 0, $e = function () { fn++, fn >= S && (fn = 0, ve++) }, qe = {}, xn = 0; xn < A.length; xn++) { var Nn = A[xn], er = g.position(Nn); if (er && (er.row !== void 0 || er.col !== void 0)) { var Sn = { row: er.row, col: er.col }; if (Sn.col === void 0) for (Sn.col = 0; re(Sn.row, Sn.col);)Sn.col++; else if (Sn.row === void 0) for (Sn.row = 0; re(Sn.row, Sn.col);)Sn.row++; qe[Nn.id()] = Sn, Pe(Sn.row, Sn.col) } } var Jn = function (Sr, wr) { var cr, bn; if (Sr.locked() || Sr.isParent()) return !1; var Tr = qe[Sr.id()]; if (Tr) cr = Tr.col * Mt + Mt / 2 + I.x1, bn = Tr.row * Dt + Dt / 2 + I.y1; else { for (; re(ve, fn);)$e(); cr = fn * Mt + Mt / 2 + I.x1, bn = ve * Dt + Dt / 2 + I.y1, Pe(ve, fn), $e() } return { x: cr, y: bn } }; A.layoutPositions(this, g, Jn) } return this }; var RJ = { ready: function () { }, stop: function () { } }; function UL(y) { this.options = Ke({}, RJ, y) } UL.prototype.run = function () { var y = this.options, g = y.eles, x = this; return y.cy, x.emit("layoutstart"), g.nodes().positions(function () { return { x: 0, y: 0 } }), x.one("layoutready", y.ready), x.emit("layoutready"), x.one("layoutstop", y.stop), x.emit("layoutstop"), this }, UL.prototype.stop = function () { return this }; var jJ = { positions: void 0, zoom: void 0, pan: void 0, fit: !0, padding: 30, animate: !1, animationDuration: 500, animationEasing: void 0, animateFilter: function (g, x) { return !0 }, ready: void 0, stop: void 0, transform: function (g, x) { return x } }; function _B(y) { this.options = Ke({}, jJ, y) } _B.prototype.run = function () { var y = this.options, g = y.eles, x = g.nodes(), T = kt(y.positions); function A(I) { if (y.positions == null) return iY(I.position()); if (T) return y.positions(I); var O = y.positions[I._private.data.id]; return O ?? null } return x.layoutPositions(this, y, function (I, O) { var $ = A(I); return I.locked() || $ == null ? !1 : $ }), this }; var $J = { fit: !0, padding: 30, boundingBox: void 0, animate: !1, animationDuration: 500, animationEasing: void 0, animateFilter: function (g, x) { return !0 }, ready: void 0, stop: void 0, transform: function (g, x) { return x } }; function CB(y) { this.options = Ke({}, $J, y) } CB.prototype.run = function () { var y = this.options, g = y.cy, x = y.eles, T = zd(y.boundingBox ? y.boundingBox : { x1: 0, y1: 0, w: g.width(), h: g.height() }), A = function (O, $) { return { x: T.x1 + Math.round(Math.random() * T.w), y: T.y1 + Math.round(Math.random() * T.h) } }; return x.nodes().layoutPositions(this, y, A), this }; var zJ = [{ name: "breadthfirst", impl: mB }, { name: "circle", impl: aT }, { name: "concentric", impl: yB }, { name: "cose", impl: oT }, { name: "grid", impl: TB }, { name: "null", impl: UL }, { name: "preset", impl: _B }, { name: "random", impl: CB }]; function SB(y) { this.options = y, this.notifications = 0 } var AB = function () { }, LB = function () { throw new Error("A headless instance can not render images") }; SB.prototype = { recalculateRenderedStyle: AB, notify: function () { this.notifications++ }, init: AB, isHeadless: function () { return !0 }, png: LB, jpg: LB }; var WL = {}; WL.arrowShapeWidth = .3, WL.registerArrowShapes = function () { var y = this.arrowShapes = {}, g = this, x = function (S, V, U, tt, at, ut, dt) { var At = at.x - U / 2 - dt, xt = at.x + U / 2 + dt, Mt = at.y - U / 2 - dt, Dt = at.y + U / 2 + dt, Bt = At <= S && S <= xt && Mt <= V && V <= Dt; return Bt }, T = function (S, V, U, tt, at) { var ut = S * Math.cos(tt) - V * Math.sin(tt), dt = S * Math.sin(tt) + V * Math.cos(tt), At = ut * U, xt = dt * U, Mt = At + at.x, Dt = xt + at.y; return { x: Mt, y: Dt } }, A = function (S, V, U, tt) { for (var at = [], ut = 0; ut < S.length; ut += 2) { var dt = S[ut], At = S[ut + 1]; at.push(T(dt, At, V, U, tt)) } return at }, I = function (S) { for (var V = [], U = 0; U < S.length; U++) { var tt = S[U]; V.push(tt.x, tt.y) } return V }, O = function (S) { return S.pstyle("width").pfValue * S.pstyle("arrow-scale").pfValue * 2 }, $ = function (S, V) { Tt(V) && (V = y[V]), y[S] = Ke({ name: S, points: [-.15, -.3, .15, -.3, .15, .3, -.15, .3], collide: function (tt, at, ut, dt, At, xt) { var Mt = I(A(this.points, ut + 2 * xt, dt, At)), Dt = qd(tt, at, Mt); return Dt }, roughCollide: x, draw: function (tt, at, ut, dt) { var At = A(this.points, at, ut, dt); g.arrowShapeImpl("polygon")(tt, At) }, spacing: function (tt) { return 0 }, gap: O }, V) }; $("none", { collide: hm, roughCollide: hm, draw: fm, spacing: av, gap: av }), $("triangle", { points: [-.15, -.3, 0, 0, .15, -.3] }), $("arrow", "triangle"), $("triangle-backcurve", { points: y.triangle.points, controlPoint: [0, -.15], roughCollide: x, draw: function (S, V, U, tt, at) { var ut = A(this.points, V, U, tt), dt = this.controlPoint, At = T(dt[0], dt[1], V, U, tt); g.arrowShapeImpl(this.name)(S, ut, At) }, gap: function (S) { return O(S) * .8 } }), $("triangle-tee", { points: [0, 0, .15, -.3, -.15, -.3, 0, 0], pointsTee: [-.15, -.4, -.15, -.5, .15, -.5, .15, -.4], collide: function (S, V, U, tt, at, ut, dt) { var At = I(A(this.points, U + 2 * dt, tt, at)), xt = I(A(this.pointsTee, U + 2 * dt, tt, at)), Mt = qd(S, V, At) || qd(S, V, xt); return Mt }, draw: function (S, V, U, tt, at) { var ut = A(this.points, V, U, tt), dt = A(this.pointsTee, V, U, tt); g.arrowShapeImpl(this.name)(S, ut, dt) } }), $("circle-triangle", { radius: .15, pointsTr: [0, -.15, .15, -.45, -.15, -.45, 0, -.15], collide: function (S, V, U, tt, at, ut, dt) { var At = at, xt = Math.pow(At.x - S, 2) + Math.pow(At.y - V, 2) <= Math.pow((U + 2 * dt) * this.radius, 2), Mt = I(A(this.points, U + 2 * dt, tt, at)); return qd(S, V, Mt) || xt }, draw: function (S, V, U, tt, at) { var ut = A(this.pointsTr, V, U, tt); g.arrowShapeImpl(this.name)(S, ut, tt.x, tt.y, this.radius * V) }, spacing: function (S) { return g.getArrowWidth(S.pstyle("width").pfValue, S.pstyle("arrow-scale").value) * this.radius } }), $("triangle-cross", { points: [0, 0, .15, -.3, -.15, -.3, 0, 0], baseCrossLinePts: [-.15, -.4, -.15, -.4, .15, -.4, .15, -.4], crossLinePts: function (S, V) { var U = this.baseCrossLinePts.slice(), tt = V / S, at = 3, ut = 5; return U[at] = U[at] - tt, U[ut] = U[ut] - tt, U }, collide: function (S, V, U, tt, at, ut, dt) { var At = I(A(this.points, U + 2 * dt, tt, at)), xt = I(A(this.crossLinePts(U, ut), U + 2 * dt, tt, at)), Mt = qd(S, V, At) || qd(S, V, xt); return Mt }, draw: function (S, V, U, tt, at) { var ut = A(this.points, V, U, tt), dt = A(this.crossLinePts(V, at), V, U, tt); g.arrowShapeImpl(this.name)(S, ut, dt) } }), $("vee", { points: [-.15, -.3, 0, 0, .15, -.3, 0, -.15], gap: function (S) { return O(S) * .525 } }), $("circle", { radius: .15, collide: function (S, V, U, tt, at, ut, dt) { var At = at, xt = Math.pow(At.x - S, 2) + Math.pow(At.y - V, 2) <= Math.pow((U + 2 * dt) * this.radius, 2); return xt }, draw: function (S, V, U, tt, at) { g.arrowShapeImpl(this.name)(S, tt.x, tt.y, this.radius * V) }, spacing: function (S) { return g.getArrowWidth(S.pstyle("width").pfValue, S.pstyle("arrow-scale").value) * this.radius } }), $("tee", { points: [-.15, 0, -.15, -.1, .15, -.1, .15, 0], spacing: function (S) { return 1 }, gap: function (S) { return 1 } }), $("square", { points: [-.15, 0, .15, 0, .15, -.3, -.15, -.3] }), $("diamond", { points: [-.15, -.15, 0, -.3, .15, -.15, 0, 0], gap: function (S) { return S.pstyle("width").pfValue * S.pstyle("arrow-scale").value } }), $("chevron", { points: [0, 0, -.15, -.15, -.1, -.2, 0, -.1, .1, -.2, .15, -.15], gap: function (S) { return .95 * S.pstyle("width").pfValue * S.pstyle("arrow-scale").value } }) }; var L3 = {}; L3.projectIntoViewport = function (y, g) { var x = this.cy, T = this.findContainerClientCoords(), A = T[0], I = T[1], O = T[4], $ = x.pan(), z = x.zoom(), S = ((y - A) / O - $.x) / z, V = ((g - I) / O - $.y) / z; return [S, V] }, L3.findContainerClientCoords = function () { if (this.containerBB) return this.containerBB; var y = this.container, g = y.getBoundingClientRect(), x = R.getComputedStyle(y), T = function (xt) { return parseFloat(x.getPropertyValue(xt)) }, A = { left: T("padding-left"), right: T("padding-right"), top: T("padding-top"), bottom: T("padding-bottom") }, I = { left: T("border-left-width"), right: T("border-right-width"), top: T("border-top-width"), bottom: T("border-bottom-width") }, O = y.clientWidth, $ = y.clientHeight, z = A.left + A.right, S = A.top + A.bottom, V = I.left + I.right, U = g.width / (O + V), tt = O - z, at = $ - S, ut = g.left + A.left + I.left, dt = g.top + A.top + I.top; return this.containerBB = [ut, dt, tt, at, U] }, L3.invalidateContainerClientCoordsCache = function () { this.containerBB = null }, L3.findNearestElement = function (y, g, x, T) { return this.findNearestElements(y, g, x, T)[0] }, L3.findNearestElements = function (y, g, x, T) { var A = this, I = this, O = I.getCachedZSortedEles(), $ = [], z = I.cy.zoom(), S = I.cy.hasCompoundNodes(), V = (T ? 24 : 8) / z, U = (T ? 8 : 2) / z, tt = (T ? 8 : 2) / z, at = 1 / 0, ut, dt; x && (O = O.interactive); function At($t, ee) { if ($t.isNode()) { if (dt) return; dt = $t, $.push($t) } if ($t.isEdge() && (ee == null || ee < at)) if (ut) { if (ut.pstyle("z-compound-depth").value === $t.pstyle("z-compound-depth").value && ut.pstyle("z-compound-depth").value === $t.pstyle("z-compound-depth").value) { for (var Ht = 0; Ht < $.length; Ht++)if ($[Ht].isEdge()) { $[Ht] = $t, ut = $t, at = ee ?? at; break } } } else $.push($t), ut = $t, at = ee ?? at } function xt($t) { var ee = $t.outerWidth() + 2 * U, Ht = $t.outerHeight() + 2 * U, ge = ee / 2, be = Ht / 2, re = $t.position(); if (re.x - ge <= y && y <= re.x + ge && re.y - be <= g && g <= re.y + be) { var Pe = I.nodeShapes[A.getNodeShape($t)]; if (Pe.checkPoint(y, g, 0, ee, Ht, re.x, re.y)) return At($t, 0), !0 } } function Mt($t) { var ee = $t._private, Ht = ee.rscratch, ge = $t.pstyle("width").pfValue, be = $t.pstyle("arrow-scale").value, re = ge / 2 + V, Pe = re * re, ve = re * 2, xn = ee.source, Nn = ee.target, fn; if (Ht.edgeType === "segments" || Ht.edgeType === "straight" || Ht.edgeType === "haystack") { for (var $e = Ht.allpts, qe = 0; qe + 3 < $e.length; qe += 2)if (vY(y, g, $e[qe], $e[qe + 1], $e[qe + 2], $e[qe + 3], ve) && Pe > (fn = kY(y, g, $e[qe], $e[qe + 1], $e[qe + 2], $e[qe + 3]))) return At($t, fn), !0 } else if (Ht.edgeType === "bezier" || Ht.edgeType === "multibezier" || Ht.edgeType === "self" || Ht.edgeType === "compound") { for (var $e = Ht.allpts, qe = 0; qe + 5 < Ht.allpts.length; qe += 4)if (wY(y, g, $e[qe], $e[qe + 1], $e[qe + 2], $e[qe + 3], $e[qe + 4], $e[qe + 5], ve) && Pe > (fn = xY(y, g, $e[qe], $e[qe + 1], $e[qe + 2], $e[qe + 3], $e[qe + 4], $e[qe + 5]))) return At($t, fn), !0 } for (var xn = xn || ee.source, Nn = Nn || ee.target, er = A.getArrowWidth(ge, be), Sn = [{ name: "source", x: Ht.arrowStartX, y: Ht.arrowStartY, angle: Ht.srcArrowAngle }, { name: "target", x: Ht.arrowEndX, y: Ht.arrowEndY, angle: Ht.tgtArrowAngle }, { name: "mid-source", x: Ht.midX, y: Ht.midY, angle: Ht.midsrcArrowAngle }, { name: "mid-target", x: Ht.midX, y: Ht.midY, angle: Ht.midtgtArrowAngle }], qe = 0; qe < Sn.length; qe++) { var Jn = Sn[qe], fr = I.arrowShapes[$t.pstyle(Jn.name + "-arrow-shape").value], Sr = $t.pstyle("width").pfValue; if (fr.roughCollide(y, g, er, Jn.angle, { x: Jn.x, y: Jn.y }, Sr, V) && fr.collide(y, g, er, Jn.angle, { x: Jn.x, y: Jn.y }, Sr, V)) return At($t), !0 } S && $.length > 0 && (xt(xn), xt(Nn)) } function Dt($t, ee, Ht) { return wp($t, ee, Ht) } function Bt($t, ee) { var Ht = $t._private, ge = tt, be; ee ? be = ee + "-" : be = "", $t.boundingBox(); var re = Ht.labelBounds[ee || "main"], Pe = $t.pstyle(be + "label").value, ve = $t.pstyle("text-events").strValue === "yes"; if (!(!ve || !Pe)) { var fn = Dt(Ht.rscratch, "labelX", ee), $e = Dt(Ht.rscratch, "labelY", ee), qe = Dt(Ht.rscratch, "labelAngle", ee), xn = $t.pstyle(be + "text-margin-x").pfValue, Nn = $t.pstyle(be + "text-margin-y").pfValue, er = re.x1 - ge - xn, Sn = re.x2 + ge - xn, Jn = re.y1 - ge - Nn, fr = re.y2 + ge - Nn; if (qe) { var Sr = Math.cos(qe), wr = Math.sin(qe), cr = function (Fa, Fi) { return Fa = Fa - fn, Fi = Fi - $e, { x: Fa * Sr - Fi * wr + fn, y: Fa * wr + Fi * Sr + $e } }, bn = cr(er, Jn), Tr = cr(er, fr), xr = cr(Sn, Jn), fi = cr(Sn, fr), Ii = [bn.x + xn, bn.y + Nn, xr.x + xn, xr.y + Nn, fi.x + xn, fi.y + Nn, Tr.x + xn, Tr.y + Nn]; if (qd(y, g, Ii)) return At($t), !0 } else if (H5(re, y, g)) return At($t), !0 } } for (var Zt = O.length - 1; Zt >= 0; Zt--) { var Kt = O[Zt]; Kt.isNode() ? xt(Kt) || Bt(Kt) : Mt(Kt) || Bt(Kt) || Bt(Kt, "source") || Bt(Kt, "target") } return $ }, L3.getAllInBox = function (y, g, x, T) { var A = this.getCachedZSortedEles().interactive, I = [], O = Math.min(y, x), $ = Math.max(y, x), z = Math.min(g, T), S = Math.max(g, T); y = O, x = $, g = z, T = S; for (var V = zd({ x1: y, y1: g, x2: x, y2: T }), U = 0; U < A.length; U++) { var tt = A[U]; if (tt.isNode()) { var at = tt, ut = at.boundingBox({ includeNodes: !0, includeEdges: !1, includeLabels: !1 }); kL(V, ut) && !GP(ut, V) && I.push(at) } else { var dt = tt, At = dt._private, xt = At.rscratch; if (xt.startX != null && xt.startY != null && !H5(V, xt.startX, xt.startY) || xt.endX != null && xt.endY != null && !H5(V, xt.endX, xt.endY)) continue; if (xt.edgeType === "bezier" || xt.edgeType === "multibezier" || xt.edgeType === "self" || xt.edgeType === "compound" || xt.edgeType === "segments" || xt.edgeType === "haystack") { for (var Mt = At.rstyle.bezierPts || At.rstyle.linePts || At.rstyle.haystackPts, Dt = !0, Bt = 0; Bt < Mt.length; Bt++)if (!bY(V, Mt[Bt])) { Dt = !1; break } Dt && I.push(dt) } else (xt.edgeType === "haystack" || xt.edgeType === "straight") && I.push(dt) } } return I }; var uT = {}; uT.calculateArrowAngles = function (y) { var g = y._private.rscratch, x = g.edgeType === "haystack", T = g.edgeType === "bezier", A = g.edgeType === "multibezier", I = g.edgeType === "segments", O = g.edgeType === "compound", $ = g.edgeType === "self", z, S, V, U, tt, at, xt, Mt; if (x ? (V = g.haystackPts[0], U = g.haystackPts[1], tt = g.haystackPts[2], at = g.haystackPts[3]) : (V = g.arrowStartX, U = g.arrowStartY, tt = g.arrowEndX, at = g.arrowEndY), xt = g.midX, Mt = g.midY, I) z = V - g.segpts[0], S = U - g.segpts[1]; else if (A || O || $ || T) { var ut = g.allpts, dt = lf(ut[0], ut[2], ut[4], .1), At = lf(ut[1], ut[3], ut[5], .1); z = V - dt, S = U - At } else z = V - xt, S = U - Mt; g.srcArrowAngle = AE(z, S); var xt = g.midX, Mt = g.midY; if (x && (xt = (V + tt) / 2, Mt = (U + at) / 2), z = tt - V, S = at - U, I) { var ut = g.allpts; if (ut.length / 2 % 2 === 0) { var Dt = ut.length / 2, Bt = Dt - 2; z = ut[Dt] - ut[Bt], S = ut[Dt + 1] - ut[Bt + 1] } else { var Dt = ut.length / 2 - 1, Bt = Dt - 2, Zt = Dt + 2; z = ut[Dt] - ut[Bt], S = ut[Dt + 1] - ut[Bt + 1] } } else if (A || O || $) { var ut = g.allpts, Kt = g.ctrlpts, $t, ee, Ht, ge; if (Kt.length / 2 % 2 === 0) { var be = ut.length / 2 - 1, re = be + 2, Pe = re + 2; $t = lf(ut[be], ut[re], ut[Pe], 0), ee = lf(ut[be + 1], ut[re + 1], ut[Pe + 1], 0), Ht = lf(ut[be], ut[re], ut[Pe], 1e-4), ge = lf(ut[be + 1], ut[re + 1], ut[Pe + 1], 1e-4) } else { var re = ut.length / 2 - 1, be = re - 2, Pe = re + 2; $t = lf(ut[be], ut[re], ut[Pe], .4999), ee = lf(ut[be + 1], ut[re + 1], ut[Pe + 1], .4999), Ht = lf(ut[be], ut[re], ut[Pe], .5), ge = lf(ut[be + 1], ut[re + 1], ut[Pe + 1], .5) } z = Ht - $t, S = ge - ee } if (g.midtgtArrowAngle = AE(z, S), g.midDispX = z, g.midDispY = S, z *= -1, S *= -1, I) { var ut = g.allpts; if (ut.length / 2 % 2 !== 0) { var Dt = ut.length / 2 - 1, Zt = Dt + 2; z = -(ut[Zt] - ut[Dt]), S = -(ut[Zt + 1] - ut[Dt + 1]) } } if (g.midsrcArrowAngle = AE(z, S), I) z = tt - g.segpts[g.segpts.length - 2], S = at - g.segpts[g.segpts.length - 1]; else if (A || O || $ || T) { var ut = g.allpts, ve = ut.length, dt = lf(ut[ve - 6], ut[ve - 4], ut[ve - 2], .9), At = lf(ut[ve - 5], ut[ve - 3], ut[ve - 1], .9); z = tt - dt, S = at - At } else z = tt - xt, S = at - Mt; g.tgtArrowAngle = AE(z, S) }, uT.getArrowWidth = uT.getArrowHeight = function (y, g) { var x = this.arrowWidthCache = this.arrowWidthCache || {}, T = x[y + ", " + g]; return T || (T = Math.max(Math.pow(y * 13.37, .9), 29) * g, x[y + ", " + g] = T, T) }; var ld = {}; ld.findHaystackPoints = function (y) { for (var g = 0; g < y.length; g++) { var x = y[g], T = x._private, A = T.rscratch; if (!A.haystack) { var I = Math.random() * 2 * Math.PI; A.source = { x: Math.cos(I), y: Math.sin(I) }, I = Math.random() * 2 * Math.PI, A.target = { x: Math.cos(I), y: Math.sin(I) } } var O = T.source, $ = T.target, z = O.position(), S = $.position(), V = O.width(), U = $.width(), tt = O.height(), at = $.height(), ut = x.pstyle("haystack-radius").value, dt = ut / 2; A.haystackPts = A.allpts = [A.source.x * V * dt + z.x, A.source.y * tt * dt + z.y, A.target.x * U * dt + S.x, A.target.y * at * dt + S.y], A.midX = (A.allpts[0] + A.allpts[2]) / 2, A.midY = (A.allpts[1] + A.allpts[3]) / 2, A.edgeType = "haystack", A.haystack = !0, this.storeEdgeProjections(x), this.calculateArrowAngles(x), this.recalculateEdgeLabelProjections(x), this.calculateLabelAngles(x) } }, ld.findSegmentsPoints = function (y, g) { var x = y._private.rscratch, T = g.posPts, A = g.intersectionPts, I = g.vectorNormInverse, O = y.pstyle("edge-distances").value, $ = y.pstyle("segment-weights"), z = y.pstyle("segment-distances"), S = Math.min($.pfValue.length, z.pfValue.length); x.edgeType = "segments", x.segpts = []; for (var V = 0; V < S; V++) { var U = $.pfValue[V], tt = z.pfValue[V], at = 1 - U, ut = U, dt = O === "node-position" ? T : A, At = { x: dt.x1 * at + dt.x2 * ut, y: dt.y1 * at + dt.y2 * ut }; x.segpts.push(At.x + I.x * tt, At.y + I.y * tt) } }, ld.findLoopPoints = function (y, g, x, T) { var A = y._private.rscratch, I = g.dirCounts, O = g.srcPos, $ = y.pstyle("control-point-distances"), z = $ ? $.pfValue[0] : void 0, S = y.pstyle("loop-direction").pfValue, V = y.pstyle("loop-sweep").pfValue, U = y.pstyle("control-point-step-size").pfValue; A.edgeType = "self"; var tt = x, at = U; T && (tt = 0, at = z); var ut = S - Math.PI / 2, dt = ut - V / 2, At = ut + V / 2, xt = S + "_" + V; tt = I[xt] === void 0 ? I[xt] = 0 : ++I[xt], A.ctrlpts = [O.x + Math.cos(dt) * 1.4 * at * (tt / 3 + 1), O.y + Math.sin(dt) * 1.4 * at * (tt / 3 + 1), O.x + Math.cos(At) * 1.4 * at * (tt / 3 + 1), O.y + Math.sin(At) * 1.4 * at * (tt / 3 + 1)] }, ld.findCompoundLoopPoints = function (y, g, x, T) { var A = y._private.rscratch; A.edgeType = "compound"; var I = g.srcPos, O = g.tgtPos, $ = g.srcW, z = g.srcH, S = g.tgtW, V = g.tgtH, U = y.pstyle("control-point-step-size").pfValue, tt = y.pstyle("control-point-distances"), at = tt ? tt.pfValue[0] : void 0, ut = x, dt = U; T && (ut = 0, dt = at); var At = 50, xt = { x: I.x - $ / 2, y: I.y - z / 2 }, Mt = { x: O.x - S / 2, y: O.y - V / 2 }, Dt = { x: Math.min(xt.x, Mt.x), y: Math.min(xt.y, Mt.y) }, Bt = .5, Zt = Math.max(Bt, Math.log($ * .01)), Kt = Math.max(Bt, Math.log(S * .01)); A.ctrlpts = [Dt.x, Dt.y - (1 + Math.pow(At, 1.12) / 100) * dt * (ut / 3 + 1) * Zt, Dt.x - (1 + Math.pow(At, 1.12) / 100) * dt * (ut / 3 + 1) * Kt, Dt.y] }, ld.findStraightEdgePoints = function (y) { y._private.rscratch.edgeType = "straight" }, ld.findBezierPoints = function (y, g, x, T, A) { var I = y._private.rscratch, O = g.vectorNormInverse, $ = g.posPts, z = g.intersectionPts, S = y.pstyle("edge-distances").value, V = y.pstyle("control-point-step-size").pfValue, U = y.pstyle("control-point-distances"), tt = y.pstyle("control-point-weights"), at = U && tt ? Math.min(U.value.length, tt.value.length) : 1, ut = U ? U.pfValue[0] : void 0, dt = tt.value[0], At = T; I.edgeType = At ? "multibezier" : "bezier", I.ctrlpts = []; for (var xt = 0; xt < at; xt++) { var Mt = (.5 - g.eles.length / 2 + x) * V * (A ? -1 : 1), Dt = void 0, Bt = HP(Mt); At && (ut = U ? U.pfValue[xt] : V, dt = tt.value[xt]), T ? Dt = ut : Dt = ut !== void 0 ? Bt * ut : void 0; var Zt = Dt !== void 0 ? Dt : Mt, Kt = 1 - dt, $t = dt, ee = S === "node-position" ? $ : z, Ht = { x: ee.x1 * Kt + ee.x2 * $t, y: ee.y1 * Kt + ee.y2 * $t }; I.ctrlpts.push(Ht.x + O.x * Zt, Ht.y + O.y * Zt) } }, ld.findTaxiPoints = function (y, g) { var x = y._private.rscratch; x.edgeType = "segments"; var T = "vertical", A = "horizontal", I = "leftward", O = "rightward", $ = "downward", z = "upward", S = "auto", V = g.posPts, U = g.srcW, tt = g.srcH, at = g.tgtW, ut = g.tgtH, dt = y.pstyle("edge-distances").value, At = dt !== "node-position", xt = y.pstyle("taxi-direction").value, Mt = xt, Dt = y.pstyle("taxi-turn"), Bt = Dt.units === "%", Zt = Dt.pfValue, Kt = Zt < 0, $t = y.pstyle("taxi-turn-min-distance").pfValue, ee = At ? (U + at) / 2 : 0, Ht = At ? (tt + ut) / 2 : 0, ge = V.x2 - V.x1, be = V.y2 - V.y1, re = function (us, Ko) { return us > 0 ? Math.max(us - Ko, 0) : Math.min(us + Ko, 0) }, Pe = re(ge, ee), ve = re(be, Ht), fn = !1; Mt === S ? xt = Math.abs(Pe) > Math.abs(ve) ? A : T : Mt === z || Mt === $ ? (xt = T, fn = !0) : (Mt === I || Mt === O) && (xt = A, fn = !0); var $e = xt === T, qe = $e ? ve : Pe, xn = $e ? be : ge, Nn = HP(xn), er = !1; !(fn && (Bt || Kt)) && (Mt === $ && xn < 0 || Mt === z && xn > 0 || Mt === I && xn > 0 || Mt === O && xn < 0) && (Nn *= -1, qe = Nn * Math.abs(qe), er = !0); var Sn; if (Bt) { var Jn = Zt < 0 ? 1 + Zt : Zt; Sn = Jn * qe } else { var fr = Zt < 0 ? qe : 0; Sn = fr + Zt * Nn } var Sr = function (us) { return Math.abs(us) < $t || Math.abs(us) >= Math.abs(qe) }, wr = Sr(Sn), cr = Sr(Math.abs(qe) - Math.abs(Sn)), bn = wr || cr; if (bn && !er) if ($e) { var Tr = Math.abs(xn) <= tt / 2, xr = Math.abs(ge) <= at / 2; if (Tr) { var fi = (V.x1 + V.x2) / 2, Ii = V.y1, oa = V.y2; x.segpts = [fi, Ii, fi, oa] } else if (xr) { var Fa = (V.y1 + V.y2) / 2, Fi = V.x1, Ci = V.x2; x.segpts = [Fi, Fa, Ci, Fa] } else x.segpts = [V.x1, V.y2] } else { var Ls = Math.abs(xn) <= U / 2, es = Math.abs(be) <= ut / 2; if (Ls) { var Ri = (V.y1 + V.y2) / 2, as = V.x1, no = V.x2; x.segpts = [as, Ri, no, Ri] } else if (es) { var ca = (V.x1 + V.x2) / 2, ea = V.y1, Fr = V.y2; x.segpts = [ca, ea, ca, Fr] } else x.segpts = [V.x2, V.y1] } else if ($e) { var Qt = V.y1 + Sn + (At ? tt / 2 * Nn : 0), Hn = V.x1, jr = V.x2; x.segpts = [Hn, Qt, jr, Qt] } else { var dr = V.x1 + Sn + (At ? U / 2 * Nn : 0), gr = V.y1, Ga = V.y2; x.segpts = [dr, gr, dr, Ga] } }, ld.tryToCorrectInvalidPoints = function (y, g) { var x = y._private.rscratch; if (x.edgeType === "bezier") { var T = g.srcPos, A = g.tgtPos, I = g.srcW, O = g.srcH, $ = g.tgtW, z = g.tgtH, S = g.srcShape, V = g.tgtShape, U = !rt(x.startX) || !rt(x.startY), tt = !rt(x.arrowStartX) || !rt(x.arrowStartY), at = !rt(x.endX) || !rt(x.endY), ut = !rt(x.arrowEndX) || !rt(x.arrowEndY), dt = 3, At = this.getArrowWidth(y.pstyle("width").pfValue, y.pstyle("arrow-scale").value) * this.arrowShapeWidth, xt = dt * At, Mt = E3({ x: x.ctrlpts[0], y: x.ctrlpts[1] }, { x: x.startX, y: x.startY }), Dt = Mt < xt, Bt = E3({ x: x.ctrlpts[0], y: x.ctrlpts[1] }, { x: x.endX, y: x.endY }), Zt = Bt < xt, Kt = !1; if (U || tt || Dt) { Kt = !0; var $t = { x: x.ctrlpts[0] - T.x, y: x.ctrlpts[1] - T.y }, ee = Math.sqrt($t.x * $t.x + $t.y * $t.y), Ht = { x: $t.x / ee, y: $t.y / ee }, ge = Math.max(I, O), be = { x: x.ctrlpts[0] + Ht.x * 2 * ge, y: x.ctrlpts[1] + Ht.y * 2 * ge }, re = S.intersectLine(T.x, T.y, I, O, be.x, be.y, 0); Dt ? (x.ctrlpts[0] = x.ctrlpts[0] + Ht.x * (xt - Mt), x.ctrlpts[1] = x.ctrlpts[1] + Ht.y * (xt - Mt)) : (x.ctrlpts[0] = re[0] + Ht.x * xt, x.ctrlpts[1] = re[1] + Ht.y * xt) } if (at || ut || Zt) { Kt = !0; var Pe = { x: x.ctrlpts[0] - A.x, y: x.ctrlpts[1] - A.y }, ve = Math.sqrt(Pe.x * Pe.x + Pe.y * Pe.y), fn = { x: Pe.x / ve, y: Pe.y / ve }, $e = Math.max(I, O), qe = { x: x.ctrlpts[0] + fn.x * 2 * $e, y: x.ctrlpts[1] + fn.y * 2 * $e }, xn = V.intersectLine(A.x, A.y, $, z, qe.x, qe.y, 0); Zt ? (x.ctrlpts[0] = x.ctrlpts[0] + fn.x * (xt - Bt), x.ctrlpts[1] = x.ctrlpts[1] + fn.y * (xt - Bt)) : (x.ctrlpts[0] = xn[0] + fn.x * xt, x.ctrlpts[1] = xn[1] + fn.y * xt) } Kt && this.findEndpoints(y) } }, ld.storeAllpts = function (y) { var g = y._private.rscratch; if (g.edgeType === "multibezier" || g.edgeType === "bezier" || g.edgeType === "self" || g.edgeType === "compound") { g.allpts = [], g.allpts.push(g.startX, g.startY); for (var x = 0; x + 1 < g.ctrlpts.length; x += 2)g.allpts.push(g.ctrlpts[x], g.ctrlpts[x + 1]), x + 3 < g.ctrlpts.length && g.allpts.push((g.ctrlpts[x] + g.ctrlpts[x + 2]) / 2, (g.ctrlpts[x + 1] + g.ctrlpts[x + 3]) / 2); g.allpts.push(g.endX, g.endY); var T, A; g.ctrlpts.length / 2 % 2 === 0 ? (T = g.allpts.length / 2 - 1, g.midX = g.allpts[T], g.midY = g.allpts[T + 1]) : (T = g.allpts.length / 2 - 3, A = .5, g.midX = lf(g.allpts[T], g.allpts[T + 2], g.allpts[T + 4], A), g.midY = lf(g.allpts[T + 1], g.allpts[T + 3], g.allpts[T + 5], A)) } else if (g.edgeType === "straight") g.allpts = [g.startX, g.startY, g.endX, g.endY], g.midX = (g.startX + g.endX + g.arrowStartX + g.arrowEndX) / 4, g.midY = (g.startY + g.endY + g.arrowStartY + g.arrowEndY) / 4; else if (g.edgeType === "segments") if (g.allpts = [], g.allpts.push(g.startX, g.startY), g.allpts.push.apply(g.allpts, g.segpts), g.allpts.push(g.endX, g.endY), g.segpts.length % 4 === 0) { var I = g.segpts.length / 2, O = I - 2; g.midX = (g.segpts[O] + g.segpts[I]) / 2, g.midY = (g.segpts[O + 1] + g.segpts[I + 1]) / 2 } else { var $ = g.segpts.length / 2 - 1; g.midX = g.segpts[$], g.midY = g.segpts[$ + 1] } }, ld.checkForInvalidEdgeWarning = function (y) { var g = y[0]._private.rscratch; g.nodesOverlap || rt(g.startX) && rt(g.startY) && rt(g.endX) && rt(g.endY) ? g.loggedErr = !1 : g.loggedErr || (g.loggedErr = !0, Wo("Edge `" + y.id() + "` has invalid endpoints and so it is impossible to draw.  Adjust your edge style (e.g. control points) accordingly or use an alternative edge type.  This is expected behaviour when the source node and the target node overlap.")) }, ld.findEdgeControlPoints = function (y) { var g = this; if (!(!y || y.length === 0)) { for (var x = this, T = x.cy, A = T.hasCompoundNodes(), I = { map: new j2, get: function ($t) { var ee = this.map.get($t[0]); return ee != null ? ee.get($t[1]) : null }, set: function ($t, ee) { var Ht = this.map.get($t[0]); Ht == null && (Ht = new j2, this.map.set($t[0], Ht)), Ht.set($t[1], ee) } }, O = [], $ = [], z = 0; z < y.length; z++) { var S = y[z], V = S._private, U = S.pstyle("curve-style").value; if (!(S.removed() || !S.takesUpSpace())) { if (U === "haystack") { $.push(S); continue } var tt = U === "unbundled-bezier" || U === "segments" || U === "straight" || U === "straight-triangle" || U === "taxi", at = U === "unbundled-bezier" || U === "bezier", ut = V.source, dt = V.target, At = ut.poolIndex(), xt = dt.poolIndex(), Mt = [At, xt].sort(), Dt = I.get(Mt); Dt == null && (Dt = { eles: [] }, I.set(Mt, Dt), O.push(Mt)), Dt.eles.push(S), tt && (Dt.hasUnbundled = !0), at && (Dt.hasBezier = !0) } } for (var Bt = function ($t) { var ee = O[$t], Ht = I.get(ee), ge = void 0; if (!Ht.hasUnbundled) { var be = Ht.eles[0].parallelEdges().filter(function (Fr) { return Fr.isBundledBezier() }); wL(Ht.eles), be.forEach(function (Fr) { return Ht.eles.push(Fr) }), Ht.eles.sort(function (Fr, Qt) { return Fr.poolIndex() - Qt.poolIndex() }) } var re = Ht.eles[0], Pe = re.source(), ve = re.target(); if (Pe.poolIndex() > ve.poolIndex()) { var fn = Pe; Pe = ve, ve = fn } var $e = Ht.srcPos = Pe.position(), qe = Ht.tgtPos = ve.position(), xn = Ht.srcW = Pe.outerWidth(), Nn = Ht.srcH = Pe.outerHeight(), er = Ht.tgtW = ve.outerWidth(), Sn = Ht.tgtH = ve.outerHeight(), Jn = Ht.srcShape = x.nodeShapes[g.getNodeShape(Pe)], fr = Ht.tgtShape = x.nodeShapes[g.getNodeShape(ve)]; Ht.dirCounts = { north: 0, west: 0, south: 0, east: 0, northwest: 0, southwest: 0, northeast: 0, southeast: 0 }; for (var Sr = 0; Sr < Ht.eles.length; Sr++) { var wr = Ht.eles[Sr], cr = wr[0]._private.rscratch, bn = wr.pstyle("curve-style").value, Tr = bn === "unbundled-bezier" || bn === "segments" || bn === "taxi", xr = !Pe.same(wr.source()); if (!Ht.calculatedIntersection && Pe !== ve && (Ht.hasBezier || Ht.hasUnbundled)) { Ht.calculatedIntersection = !0; var fi = Jn.intersectLine($e.x, $e.y, xn, Nn, qe.x, qe.y, 0), Ii = Ht.srcIntn = fi, oa = fr.intersectLine(qe.x, qe.y, er, Sn, $e.x, $e.y, 0), Fa = Ht.tgtIntn = oa, Fi = Ht.intersectionPts = { x1: fi[0], x2: oa[0], y1: fi[1], y2: oa[1] }, Ci = Ht.posPts = { x1: $e.x, x2: qe.x, y1: $e.y, y2: qe.y }, Ls = oa[1] - fi[1], es = oa[0] - fi[0], Ri = Math.sqrt(es * es + Ls * Ls), as = Ht.vector = { x: es, y: Ls }, no = Ht.vectorNorm = { x: as.x / Ri, y: as.y / Ri }, ca = { x: -no.y, y: no.x }; Ht.nodesOverlap = !rt(Ri) || fr.checkPoint(fi[0], fi[1], 0, er, Sn, qe.x, qe.y) || Jn.checkPoint(oa[0], oa[1], 0, xn, Nn, $e.x, $e.y), Ht.vectorNormInverse = ca, ge = { nodesOverlap: Ht.nodesOverlap, dirCounts: Ht.dirCounts, calculatedIntersection: !0, hasBezier: Ht.hasBezier, hasUnbundled: Ht.hasUnbundled, eles: Ht.eles, srcPos: qe, tgtPos: $e, srcW: er, srcH: Sn, tgtW: xn, tgtH: Nn, srcIntn: Fa, tgtIntn: Ii, srcShape: fr, tgtShape: Jn, posPts: { x1: Ci.x2, y1: Ci.y2, x2: Ci.x1, y2: Ci.y1 }, intersectionPts: { x1: Fi.x2, y1: Fi.y2, x2: Fi.x1, y2: Fi.y1 }, vector: { x: -as.x, y: -as.y }, vectorNorm: { x: -no.x, y: -no.y }, vectorNormInverse: { x: -ca.x, y: -ca.y } } } var ea = xr ? ge : Ht; cr.nodesOverlap = ea.nodesOverlap, cr.srcIntn = ea.srcIntn, cr.tgtIntn = ea.tgtIntn, A && (Pe.isParent() || Pe.isChild() || ve.isParent() || ve.isChild()) && (Pe.parents().anySame(ve) || ve.parents().anySame(Pe) || Pe.same(ve) && Pe.isParent()) ? g.findCompoundLoopPoints(wr, ea, Sr, Tr) : Pe === ve ? g.findLoopPoints(wr, ea, Sr, Tr) : bn === "segments" ? g.findSegmentsPoints(wr, ea) : bn === "taxi" ? g.findTaxiPoints(wr, ea) : bn === "straight" || !Tr && Ht.eles.length % 2 === 1 && Sr === Math.floor(Ht.eles.length / 2) ? g.findStraightEdgePoints(wr) : g.findBezierPoints(wr, ea, Sr, Tr, xr), g.findEndpoints(wr), g.tryToCorrectInvalidPoints(wr, ea), g.checkForInvalidEdgeWarning(wr), g.storeAllpts(wr), g.storeEdgeProjections(wr), g.calculateArrowAngles(wr), g.recalculateEdgeLabelProjections(wr), g.calculateLabelAngles(wr) } }, Zt = 0; Zt < O.length; Zt++)Bt(Zt); this.findHaystackPoints($) } }; function MB(y) { var g = []; if (y != null) { for (var x = 0; x < y.length; x += 2) { var T = y[x], A = y[x + 1]; g.push({ x: T, y: A }) } return g } } ld.getSegmentPoints = function (y) { var g = y[0]._private.rscratch, x = g.edgeType; if (x === "segments") return this.recalculateRenderedStyle(y), MB(g.segpts) }, ld.getControlPoints = function (y) { var g = y[0]._private.rscratch, x = g.edgeType; if (x === "bezier" || x === "multibezier" || x === "self" || x === "compound") return this.recalculateRenderedStyle(y), MB(g.ctrlpts) }, ld.getEdgeMidpoint = function (y) { var g = y[0]._private.rscratch; return this.recalculateRenderedStyle(y), { x: g.midX, y: g.midY } }; var Bk = {}; Bk.manualEndptToPx = function (y, g) { var x = this, T = y.position(), A = y.outerWidth(), I = y.outerHeight(); if (g.value.length === 2) { var O = [g.pfValue[0], g.pfValue[1]]; return g.units[0] === "%" && (O[0] = O[0] * A), g.units[1] === "%" && (O[1] = O[1] * I), O[0] += T.x, O[1] += T.y, O } else { var $ = g.pfValue[0]; $ = -Math.PI / 2 + $; var z = 2 * Math.max(A, I), S = [T.x + Math.cos($) * z, T.y + Math.sin($) * z]; return x.nodeShapes[this.getNodeShape(y)].intersectLine(T.x, T.y, A, I, S[0], S[1], 0) } }, Bk.findEndpoints = function (y) { var g = this, x, T = y.source()[0], A = y.target()[0], I = T.position(), O = A.position(), $ = y.pstyle("target-arrow-shape").value, z = y.pstyle("source-arrow-shape").value, S = y.pstyle("target-distance-from-node").pfValue, V = y.pstyle("source-distance-from-node").pfValue, U = y.pstyle("curve-style").value, tt = y._private.rscratch, at = tt.edgeType, ut = U === "taxi", dt = at === "self" || at === "compound", At = at === "bezier" || at === "multibezier" || dt, xt = at !== "bezier", Mt = at === "straight" || at === "segments", Dt = at === "segments", Bt = At || xt || Mt, Zt = dt || ut, Kt = y.pstyle("source-endpoint"), $t = Zt ? "outside-to-node" : Kt.value, ee = y.pstyle("target-endpoint"), Ht = Zt ? "outside-to-node" : ee.value; tt.srcManEndpt = Kt, tt.tgtManEndpt = ee; var ge, be, re, Pe; if (At) { var ve = [tt.ctrlpts[0], tt.ctrlpts[1]], fn = xt ? [tt.ctrlpts[tt.ctrlpts.length - 2], tt.ctrlpts[tt.ctrlpts.length - 1]] : ve; ge = fn, be = ve } else if (Mt) { var $e = Dt ? tt.segpts.slice(0, 2) : [O.x, O.y], qe = Dt ? tt.segpts.slice(tt.segpts.length - 2) : [I.x, I.y]; ge = qe, be = $e } if (Ht === "inside-to-node") x = [O.x, O.y]; else if (ee.units) x = this.manualEndptToPx(A, ee); else if (Ht === "outside-to-line") x = tt.tgtIntn; else if (Ht === "outside-to-node" || Ht === "outside-to-node-or-label" ? re = ge : (Ht === "outside-to-line" || Ht === "outside-to-line-or-label") && (re = [I.x, I.y]), x = g.nodeShapes[this.getNodeShape(A)].intersectLine(O.x, O.y, A.outerWidth(), A.outerHeight(), re[0], re[1], 0), Ht === "outside-to-node-or-label" || Ht === "outside-to-line-or-label") { var xn = A._private.rscratch, Nn = xn.labelWidth, er = xn.labelHeight, Sn = xn.labelX, Jn = xn.labelY, fr = Nn / 2, Sr = er / 2, wr = A.pstyle("text-valign").value; wr === "top" ? Jn -= Sr : wr === "bottom" && (Jn += Sr); var cr = A.pstyle("text-halign").value; cr === "left" ? Sn -= fr : cr === "right" && (Sn += fr); var bn = yk(re[0], re[1], [Sn - fr, Jn - Sr, Sn + fr, Jn - Sr, Sn + fr, Jn + Sr, Sn - fr, Jn + Sr], O.x, O.y); if (bn.length > 0) { var Tr = I, xr = T3(Tr, z5(x)), fi = T3(Tr, z5(bn)), Ii = xr; if (fi < xr && (x = bn, Ii = fi), bn.length > 2) { var oa = T3(Tr, { x: bn[2], y: bn[3] }); oa < Ii && (x = [bn[2], bn[3]]) } } } var Fa = ME(x, ge, g.arrowShapes[$].spacing(y) + S), Fi = ME(x, ge, g.arrowShapes[$].gap(y) + S); if (tt.endX = Fi[0], tt.endY = Fi[1], tt.arrowEndX = Fa[0], tt.arrowEndY = Fa[1], $t === "inside-to-node") x = [I.x, I.y]; else if (Kt.units) x = this.manualEndptToPx(T, Kt); else if ($t === "outside-to-line") x = tt.srcIntn; else if ($t === "outside-to-node" || $t === "outside-to-node-or-label" ? Pe = be : ($t === "outside-to-line" || $t === "outside-to-line-or-label") && (Pe = [O.x, O.y]), x = g.nodeShapes[this.getNodeShape(T)].intersectLine(I.x, I.y, T.outerWidth(), T.outerHeight(), Pe[0], Pe[1], 0), $t === "outside-to-node-or-label" || $t === "outside-to-line-or-label") { var Ci = T._private.rscratch, Ls = Ci.labelWidth, es = Ci.labelHeight, Ri = Ci.labelX, as = Ci.labelY, no = Ls / 2, ca = es / 2, ea = T.pstyle("text-valign").value; ea === "top" ? as -= ca : ea === "bottom" && (as += ca); var Fr = T.pstyle("text-halign").value; Fr === "left" ? Ri -= no : Fr === "right" && (Ri += no); var Qt = yk(Pe[0], Pe[1], [Ri - no, as - ca, Ri + no, as - ca, Ri + no, as + ca, Ri - no, as + ca], I.x, I.y); if (Qt.length > 0) { var Hn = O, jr = T3(Hn, z5(x)), dr = T3(Hn, z5(Qt)), gr = jr; if (dr < jr && (x = [Qt[0], Qt[1]], gr = dr), Qt.length > 2) { var Ga = T3(Hn, { x: Qt[2], y: Qt[3] }); Ga < gr && (x = [Qt[2], Qt[3]]) } } } var Qr = ME(x, be, g.arrowShapes[z].spacing(y) + V), us = ME(x, be, g.arrowShapes[z].gap(y) + V); tt.startX = us[0], tt.startY = us[1], tt.arrowStartX = Qr[0], tt.arrowStartY = Qr[1], Bt && (!rt(tt.startX) || !rt(tt.startY) || !rt(tt.endX) || !rt(tt.endY) ? tt.badLine = !0 : tt.badLine = !1) }, Bk.getSourceEndpoint = function (y) { var g = y[0]._private.rscratch; switch (this.recalculateRenderedStyle(y), g.edgeType) { case "haystack": return { x: g.haystackPts[0], y: g.haystackPts[1] }; default: return { x: g.arrowStartX, y: g.arrowStartY } } }, Bk.getTargetEndpoint = function (y) { var g = y[0]._private.rscratch; switch (this.recalculateRenderedStyle(y), g.edgeType) { case "haystack": return { x: g.haystackPts[2], y: g.haystackPts[3] }; default: return { x: g.arrowEndX, y: g.arrowEndY } } }; var KL = {}; function qJ(y, g, x) { for (var T = function (S, V, U, tt) { return lf(S, V, U, tt) }, A = g._private, I = A.rstyle.bezierPts, O = 0; O < y.bezierProjPcts.length; O++) { var $ = y.bezierProjPcts[O]; I.push({ x: T(x[0], x[2], x[4], $), y: T(x[1], x[3], x[5], $) }) } } KL.storeEdgeProjections = function (y) { var g = y._private, x = g.rscratch, T = x.edgeType; if (g.rstyle.bezierPts = null, g.rstyle.linePts = null, g.rstyle.haystackPts = null, T === "multibezier" || T === "bezier" || T === "self" || T === "compound") { g.rstyle.bezierPts = []; for (var A = 0; A + 5 < x.allpts.length; A += 4)qJ(this, y, x.allpts.slice(A, A + 6)) } else if (T === "segments") for (var I = g.rstyle.linePts = [], A = 0; A + 1 < x.allpts.length; A += 2)I.push({ x: x.allpts[A], y: x.allpts[A + 1] }); else if (T === "haystack") { var O = x.haystackPts; g.rstyle.haystackPts = [{ x: O[0], y: O[1] }, { x: O[2], y: O[3] }] } g.rstyle.arrowWidth = this.getArrowWidth(y.pstyle("width").pfValue, y.pstyle("arrow-scale").value) * this.arrowShapeWidth }, KL.recalculateEdgeProjections = function (y) { this.findEdgeControlPoints(y) }; var kp = {}; kp.recalculateNodeLabelProjection = function (y) { var g = y.pstyle("label").strValue; if (!J(g)) { var x, T, A = y._private, I = y.width(), O = y.height(), $ = y.padding(), z = y.position(), S = y.pstyle("text-halign").strValue, V = y.pstyle("text-valign").strValue, U = A.rscratch, tt = A.rstyle; switch (S) { case "left": x = z.x - I / 2 - $; break; case "right": x = z.x + I / 2 + $; break; default: x = z.x }switch (V) { case "top": T = z.y - O / 2 - $; break; case "bottom": T = z.y + O / 2 + $; break; default: T = z.y }U.labelX = x, U.labelY = T, tt.labelX = x, tt.labelY = T, this.calculateLabelAngles(y), this.applyLabelDimensions(y) } }; var DB = function (g, x) { var T = Math.atan(x / g); return g === 0 && T < 0 && (T = T * -1), T }, IB = function (g, x) { var T = x.x - g.x, A = x.y - g.y; return DB(T, A) }, OB = function (g, x, T, A) { var I = wk(0, A - .001, 1), O = wk(0, A + .001, 1), $ = q5(g, x, T, I), z = q5(g, x, T, O); return IB($, z) }; kp.recalculateEdgeLabelProjections = function (y) { var g, x = y._private, T = x.rscratch, A = this, I = { mid: y.pstyle("label").strValue, source: y.pstyle("source-label").strValue, target: y.pstyle("target-label").strValue }; if (I.mid || I.source || I.target) { g = { x: T.midX, y: T.midY }; var O = function (U, tt, at) { gm(x.rscratch, U, tt, at), gm(x.rstyle, U, tt, at) }; O("labelX", null, g.x), O("labelY", null, g.y); var $ = DB(T.midDispX, T.midDispY); O("labelAutoAngle", null, $); var z = function V() { if (V.cache) return V.cache; for (var U = [], tt = 0; tt + 5 < T.allpts.length; tt += 4) { var at = { x: T.allpts[tt], y: T.allpts[tt + 1] }, ut = { x: T.allpts[tt + 2], y: T.allpts[tt + 3] }, dt = { x: T.allpts[tt + 4], y: T.allpts[tt + 5] }; U.push({ p0: at, p1: ut, p2: dt, startDist: 0, length: 0, segments: [] }) } var At = x.rstyle.bezierPts, xt = A.bezierProjPcts.length; function Mt($t, ee, Ht, ge, be) { var re = E3(ee, Ht), Pe = $t.segments[$t.segments.length - 1], ve = { p0: ee, p1: Ht, t0: ge, t1: be, startDist: Pe ? Pe.startDist + Pe.length : 0, length: re }; $t.segments.push(ve), $t.length += re } for (var Dt = 0; Dt < U.length; Dt++) { var Bt = U[Dt], Zt = U[Dt - 1]; Zt && (Bt.startDist = Zt.startDist + Zt.length), Mt(Bt, Bt.p0, At[Dt * xt], 0, A.bezierProjPcts[0]); for (var Kt = 0; Kt < xt - 1; Kt++)Mt(Bt, At[Dt * xt + Kt], At[Dt * xt + Kt + 1], A.bezierProjPcts[Kt], A.bezierProjPcts[Kt + 1]); Mt(Bt, At[Dt * xt + xt - 1], Bt.p2, A.bezierProjPcts[xt - 1], 1) } return V.cache = U }, S = function (U) { var tt, at = U === "source"; if (I[U]) { var ut = y.pstyle(U + "-text-offset").pfValue; switch (T.edgeType) { case "self": case "compound": case "bezier": case "multibezier": { for (var dt = z(), At, xt = 0, Mt = 0, Dt = 0; Dt < dt.length; Dt++) { for (var Bt = dt[at ? Dt : dt.length - 1 - Dt], Zt = 0; Zt < Bt.segments.length; Zt++) { var Kt = Bt.segments[at ? Zt : Bt.segments.length - 1 - Zt], $t = Dt === dt.length - 1 && Zt === Bt.segments.length - 1; if (xt = Mt, Mt += Kt.length, Mt >= ut || $t) { At = { cp: Bt, segment: Kt }; break } } if (At) break } var ee = At.cp, Ht = At.segment, ge = (ut - xt) / Ht.length, be = Ht.t1 - Ht.t0, re = at ? Ht.t0 + be * ge : Ht.t1 - be * ge; re = wk(0, re, 1), g = q5(ee.p0, ee.p1, ee.p2, re), tt = OB(ee.p0, ee.p1, ee.p2, re); break } case "straight": case "segments": case "haystack": { for (var Pe = 0, ve, fn, $e, qe, xn = T.allpts.length, Nn = 0; Nn + 3 < xn && (at ? ($e = { x: T.allpts[Nn], y: T.allpts[Nn + 1] }, qe = { x: T.allpts[Nn + 2], y: T.allpts[Nn + 3] }) : ($e = { x: T.allpts[xn - 2 - Nn], y: T.allpts[xn - 1 - Nn] }, qe = { x: T.allpts[xn - 4 - Nn], y: T.allpts[xn - 3 - Nn] }), ve = E3($e, qe), fn = Pe, Pe += ve, !(Pe >= ut)); Nn += 2); var er = ut - fn, Sn = er / ve; Sn = wk(0, Sn, 1), g = hY($e, qe, Sn), tt = IB($e, qe); break } }O("labelX", U, g.x), O("labelY", U, g.y), O("labelAutoAngle", U, tt) } }; S("source"), S("target"), this.applyLabelDimensions(y) } }, kp.applyLabelDimensions = function (y) { this.applyPrefixedLabelDimensions(y), y.isEdge() && (this.applyPrefixedLabelDimensions(y, "source"), this.applyPrefixedLabelDimensions(y, "target")) }, kp.applyPrefixedLabelDimensions = function (y, g) { var x = y._private, T = this.getLabelText(y, g), A = this.calculateLabelDimensions(y, T), I = y.pstyle("line-height").pfValue, O = y.pstyle("text-wrap").strValue, $ = wp(x.rscratch, "labelWrapCachedLines", g) || [], z = O !== "wrap" ? 1 : Math.max($.length, 1), S = A.height / z, V = S * I, U = A.width, tt = A.height + (z - 1) * (I - 1) * S; gm(x.rstyle, "labelWidth", g, U), gm(x.rscratch, "labelWidth", g, U), gm(x.rstyle, "labelHeight", g, tt), gm(x.rscratch, "labelHeight", g, tt), gm(x.rscratch, "labelLineHeight", g, V) }, kp.getLabelText = function (y, g) {
                var x = y._private, T = g ? g + "-" : "", A = y.pstyle(T + "label").strValue, I = y.pstyle("text-transform").value, O = function (er, Sn) { return Sn ? (gm(x.rscratch, er, g, Sn), Sn) : wp(x.rscratch, er, g) }; if (!A) return ""; I == "none" || (I == "uppercase" ? A = A.toUpperCase() : I == "lowercase" && (A = A.toLowerCase())); var $ = y.pstyle("text-wrap").value; if ($ === "wrap") {
                    var z = O("labelKey"); if (z != null && O("labelWrapKey") === z) return O("labelWrapCachedText"); for (var S = "​", V = A.split(`
    `), U = y.pstyle("text-max-width").pfValue, tt = y.pstyle("text-overflow-wrap").value, at = tt === "anywhere", ut = [], dt = /[\s\u200b]+/, At = at ? "" : " ", xt = 0; xt < V.length; xt++) { var Mt = V[xt], Dt = this.calculateLabelDimensions(y, Mt), Bt = Dt.width; if (at) { var Zt = Mt.split("").join(S); Mt = Zt } if (Bt > U) { for (var Kt = Mt.split(dt), $t = "", ee = 0; ee < Kt.length; ee++) { var Ht = Kt[ee], ge = $t.length === 0 ? Ht : $t + At + Ht, be = this.calculateLabelDimensions(y, ge), re = be.width; re <= U ? $t += Ht + At : ($t && ut.push($t), $t = Ht + At) } $t.match(/^[\s\u200b]+$/) || ut.push($t) } else ut.push(Mt) } O("labelWrapCachedLines", ut), A = O("labelWrapCachedText", ut.join(`
    `)), O("labelWrapKey", z)
                } else if ($ === "ellipsis") { var Pe = y.pstyle("text-max-width").pfValue, ve = "", fn = "…", $e = !1; if (this.calculateLabelDimensions(y, A).width < Pe) return A; for (var qe = 0; qe < A.length; qe++) { var xn = this.calculateLabelDimensions(y, ve + A[qe] + fn).width; if (xn > Pe) break; ve += A[qe], qe === A.length - 1 && ($e = !0) } return $e || (ve += fn), ve } return A
            }, kp.getLabelJustification = function (y) { var g = y.pstyle("text-justification").strValue, x = y.pstyle("text-halign").strValue; if (g === "auto") if (y.isNode()) switch (x) { case "left": return "right"; case "right": return "left"; default: return "center" } else return "center"; else return g }, kp.calculateLabelDimensions = function (y, g) {
                var x = this, T = ad(g, y._private.labelDimsKey), A = x.labelDimCache || (x.labelDimCache = []), I = A[T]; if (I != null) return I; var O = 0, $ = y.pstyle("font-style").strValue, z = y.pstyle("font-size").pfValue, S = y.pstyle("font-family").strValue, V = y.pstyle("font-weight").strValue, U = this.labelCalcCanvas, tt = this.labelCalcCanvasContext; if (!U) { U = this.labelCalcCanvas = document.createElement("canvas"), tt = this.labelCalcCanvasContext = U.getContext("2d"); var at = U.style; at.position = "absolute", at.left = "-9999px", at.top = "-9999px", at.zIndex = "-1", at.visibility = "hidden", at.pointerEvents = "none" } tt.font = "".concat($, " ").concat(V, " ").concat(z, "px ").concat(S); for (var ut = 0, dt = 0, At = g.split(`
    `), xt = 0; xt < At.length; xt++) { var Mt = At[xt], Dt = tt.measureText(Mt), Bt = Math.ceil(Dt.width), Zt = z; ut = Math.max(Bt, ut), dt += Zt } return ut += O, dt += O, A[T] = { width: ut, height: dt }
            }, kp.calculateLabelAngle = function (y, g) { var x = y._private, T = x.rscratch, A = y.isEdge(), I = g ? g + "-" : "", O = y.pstyle(I + "text-rotation"), $ = O.strValue; return $ === "none" ? 0 : A && $ === "autorotate" ? T.labelAutoAngle : $ === "autorotate" ? 0 : O.pfValue }, kp.calculateLabelAngles = function (y) { var g = this, x = y.isEdge(), T = y._private, A = T.rscratch; A.labelAngle = g.calculateLabelAngle(y), x && (A.sourceLabelAngle = g.calculateLabelAngle(y, "source"), A.targetLabelAngle = g.calculateLabelAngle(y, "target")) }; var ch = {}, YL = 28, NB = !1; ch.getNodeShape = function (y) { var g = this, x = y.pstyle("shape").value; if (x === "cutrectangle" && (y.width() < YL || y.height() < YL)) return NB || (Wo("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"), NB = !0), "rectangle"; if (y.isParent()) return x === "rectangle" || x === "roundrectangle" || x === "round-rectangle" || x === "cutrectangle" || x === "cut-rectangle" || x === "barrel" ? x : "rectangle"; if (x === "polygon") { var T = y.pstyle("shape-polygon-points").value; return g.nodeShapes.makePolygon(T).name } return x }; var Rk = {}; Rk.registerCalculationListeners = function () { var y = this.cy, g = y.collection(), x = this, T = function (O) { var $ = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; if (g.merge(O), $) for (var z = 0; z < O.length; z++) { var S = O[z], V = S._private, U = V.rstyle; U.clean = !1, U.cleanConnected = !1 } }; x.binder(y).on("bounds.* dirty.*", function (O) { var $ = O.target; T($) }).on("style.* background.*", function (O) { var $ = O.target; T($, !1) }); var A = function (O) { if (O) { var $ = x.onUpdateEleCalcsFns; g.cleanStyle(); for (var z = 0; z < g.length; z++) { var S = g[z], V = S._private.rstyle; S.isNode() && !V.cleanConnected && (T(S.connectedEdges()), V.cleanConnected = !0) } if ($) for (var U = 0; U < $.length; U++) { var tt = $[U]; tt(O, g) } x.recalculateRenderedStyle(g), g = y.collection() } }; x.flushRenderedStyleQueue = function () { A(!0) }, x.beforeRender(A, x.beforeRenderPriorities.eleCalcs) }, Rk.onUpdateEleCalcs = function (y) { var g = this.onUpdateEleCalcsFns = this.onUpdateEleCalcsFns || []; g.push(y) }, Rk.recalculateRenderedStyle = function (y, g) { var x = function (Bt) { return Bt._private.rstyle.cleanConnected }, T = [], A = []; if (!this.destroyed) { g === void 0 && (g = !0); for (var I = 0; I < y.length; I++) { var O = y[I], $ = O._private, z = $.rstyle; O.isEdge() && (!x(O.source()) || !x(O.target())) && (z.clean = !1), !(g && z.clean || O.removed()) && O.pstyle("display").value !== "none" && ($.group === "nodes" ? A.push(O) : T.push(O), z.clean = !0) } for (var S = 0; S < A.length; S++) { var V = A[S], U = V._private, tt = U.rstyle, at = V.position(); this.recalculateNodeLabelProjection(V), tt.nodeX = at.x, tt.nodeY = at.y, tt.nodeW = V.pstyle("width").pfValue, tt.nodeH = V.pstyle("height").pfValue } this.recalculateEdgeProjections(T); for (var ut = 0; ut < T.length; ut++) { var dt = T[ut], At = dt._private, xt = At.rstyle, Mt = At.rscratch; xt.srcX = Mt.arrowStartX, xt.srcY = Mt.arrowStartY, xt.tgtX = Mt.arrowEndX, xt.tgtY = Mt.arrowEndY, xt.midX = Mt.midX, xt.midY = Mt.midY, xt.labelAngle = Mt.labelAngle, xt.sourceLabelAngle = Mt.sourceLabelAngle, xt.targetLabelAngle = Mt.targetLabelAngle } } }; var lT = {}; lT.updateCachedGrabbedEles = function () { var y = this.cachedZSortedEles; if (y) { y.drag = [], y.nondrag = []; for (var g = [], x = 0; x < y.length; x++) { var T = y[x], A = T._private.rscratch; T.grabbed() && !T.isParent() ? g.push(T) : A.inDragLayer ? y.drag.push(T) : y.nondrag.push(T) } for (var x = 0; x < g.length; x++) { var T = g[x]; y.drag.push(T) } } }, lT.invalidateCachedZSortedEles = function () { this.cachedZSortedEles = null }, lT.getCachedZSortedEles = function (y) { if (y || !this.cachedZSortedEles) { var g = this.cy.mutableElements().toArray(); g.sort(aB), g.interactive = g.filter(function (x) { return x.interactive() }), this.cachedZSortedEles = g, this.updateCachedGrabbedEles() } else g = this.cachedZSortedEles; return g }; var jk = {};[L3, uT, ld, Bk, KL, kp, ch, Rk, lT].forEach(function (y) { Ke(jk, y) }); var PB = {}; PB.getCachedImage = function (y, g, x) { var T = this, A = T.imageCache = T.imageCache || {}, I = A[y]; if (I) return I.image.complete || I.image.addEventListener("load", x), I.image; I = A[y] = A[y] || {}; var O = I.image = new Image; O.addEventListener("load", x), O.addEventListener("error", function () { O.error = !0 }); var $ = "data:", z = y.substring(0, $.length).toLowerCase() === $; return z || (O.crossOrigin = g), O.src = y, O }; var a6 = {}; a6.registerBinding = function (y, g, x, T) { var A = Array.prototype.slice.apply(arguments, [1]), I = this.binder(y); return I.on.apply(I, A) }, a6.binder = function (y) { var g = this, x = y === window || y === document || y === document.body || ae(y); if (g.supportsPassiveEvents == null) { var T = !1; try { var A = Object.defineProperty({}, "passive", { get: function () { return T = !0, !0 } }); window.addEventListener("test", null, A) } catch { } g.supportsPassiveEvents = T } var I = function ($, z, S) { var V = Array.prototype.slice.call(arguments); return x && g.supportsPassiveEvents && (V[2] = { capture: S ?? !1, passive: !1, once: !1 }), g.bindings.push({ target: y, args: V }), (y.addEventListener || y.on).apply(y, V), this }; return { on: I, addEventListener: I, addListener: I, bind: I } }, a6.nodeIsDraggable = function (y) { return y && y.isNode() && !y.locked() && y.grabbable() }, a6.nodeIsGrabbable = function (y) { return this.nodeIsDraggable(y) && y.interactive() }, a6.load = function () { var y = this, g = function (Qt) { return Qt.selected() }, x = function (Qt, Hn, jr, dr) { Qt == null && (Qt = y.cy); for (var gr = 0; gr < Hn.length; gr++) { var Ga = Hn[gr]; Qt.emit({ originalEvent: jr, type: Ga, position: dr }) } }, T = function (Qt) { return Qt.shiftKey || Qt.metaKey || Qt.ctrlKey }, A = function (Qt, Hn) { var jr = !0; if (y.cy.hasCompoundNodes() && Qt && Qt.pannable()) for (var dr = 0; Hn && dr < Hn.length; dr++) { var Qt = Hn[dr]; if (Qt.isNode() && Qt.isParent() && !Qt.pannable()) { jr = !1; break } } else jr = !0; return jr }, I = function (Qt) { Qt[0]._private.grabbed = !0 }, O = function (Qt) { Qt[0]._private.grabbed = !1 }, $ = function (Qt) { Qt[0]._private.rscratch.inDragLayer = !0 }, z = function (Qt) { Qt[0]._private.rscratch.inDragLayer = !1 }, S = function (Qt) { Qt[0]._private.rscratch.isGrabTarget = !0 }, V = function (Qt) { Qt[0]._private.rscratch.isGrabTarget = !1 }, U = function (Qt, Hn) { var jr = Hn.addToList, dr = jr.has(Qt); !dr && Qt.grabbable() && !Qt.locked() && (jr.merge(Qt), I(Qt)) }, tt = function (Qt, Hn) { if (Qt.cy().hasCompoundNodes() && !(Hn.inDragLayer == null && Hn.addToList == null)) { var jr = Qt.descendants(); Hn.inDragLayer && (jr.forEach($), jr.connectedEdges().forEach($)), Hn.addToList && U(jr, Hn) } }, at = function (Qt, Hn) { Hn = Hn || {}; var jr = Qt.cy().hasCompoundNodes(); Hn.inDragLayer && (Qt.forEach($), Qt.neighborhood().stdFilter(function (dr) { return !jr || dr.isEdge() }).forEach($)), Hn.addToList && Qt.forEach(function (dr) { U(dr, Hn) }), tt(Qt, Hn), At(Qt, { inDragLayer: Hn.inDragLayer }), y.updateCachedGrabbedEles() }, ut = at, dt = function (Qt) { Qt && (y.getCachedZSortedEles().forEach(function (Hn) { O(Hn), z(Hn), V(Hn) }), y.updateCachedGrabbedEles()) }, At = function (Qt, Hn) { if (!(Hn.inDragLayer == null && Hn.addToList == null) && Qt.cy().hasCompoundNodes()) { var jr = Qt.ancestors().orphans(); if (!jr.same(Qt)) { var dr = jr.descendants().spawnSelf().merge(jr).unmerge(Qt).unmerge(Qt.descendants()), gr = dr.connectedEdges(); Hn.inDragLayer && (gr.forEach($), dr.forEach($)), Hn.addToList && dr.forEach(function (Ga) { U(Ga, Hn) }) } } }, xt = function () { document.activeElement != null && document.activeElement.blur != null && document.activeElement.blur() }, Mt = typeof MutationObserver < "u", Dt = typeof ResizeObserver < "u"; Mt ? (y.removeObserver = new MutationObserver(function (Fr) { for (var Qt = 0; Qt < Fr.length; Qt++) { var Hn = Fr[Qt], jr = Hn.removedNodes; if (jr) for (var dr = 0; dr < jr.length; dr++) { var gr = jr[dr]; if (gr === y.container) { y.destroy(); break } } } }), y.container.parentNode && y.removeObserver.observe(y.container.parentNode, { childList: !0 })) : y.registerBinding(y.container, "DOMNodeRemoved", function (Fr) { y.destroy() }); var Bt = um(function () { y.cy.resize() }, 100); Mt && (y.styleObserver = new MutationObserver(Bt), y.styleObserver.observe(y.container, { attributes: !0 })), y.registerBinding(window, "resize", Bt), Dt && (y.resizeObserver = new ResizeObserver(Bt), y.resizeObserver.observe(y.container)); var Zt = function (Qt, Hn) { for (; Qt != null;)Hn(Qt), Qt = Qt.parentNode }, Kt = function () { y.invalidateContainerClientCoordsCache() }; Zt(y.container, function (Fr) { y.registerBinding(Fr, "transitionend", Kt), y.registerBinding(Fr, "animationend", Kt), y.registerBinding(Fr, "scroll", Kt) }), y.registerBinding(y.container, "contextmenu", function (Fr) { Fr.preventDefault() }); var $t = function () { return y.selection[4] !== 0 }, ee = function (Qt) { for (var Hn = y.findContainerClientCoords(), jr = Hn[0], dr = Hn[1], gr = Hn[2], Ga = Hn[3], Qr = Qt.touches ? Qt.touches : [Qt], us = !1, Ko = 0; Ko < Qr.length; Ko++) { var Vc = Qr[Ko]; if (jr <= Vc.clientX && Vc.clientX <= jr + gr && dr <= Vc.clientY && Vc.clientY <= dr + Ga) { us = !0; break } } if (!us) return !1; for (var ho = y.container, Ic = Qt.target, Ba = Ic.parentNode, fo = !1; Ba;) { if (Ba === ho) { fo = !0; break } Ba = Ba.parentNode } return !!fo }; y.registerBinding(y.container, "mousedown", function (Qt) { if (ee(Qt)) { Qt.preventDefault(), xt(), y.hoverData.capture = !0, y.hoverData.which = Qt.which; var Hn = y.cy, jr = [Qt.clientX, Qt.clientY], dr = y.projectIntoViewport(jr[0], jr[1]), gr = y.selection, Ga = y.findNearestElements(dr[0], dr[1], !0, !1), Qr = Ga[0], us = y.dragData.possibleDragElements; y.hoverData.mdownPos = dr, y.hoverData.mdownGPos = jr; var Ko = function () { y.hoverData.tapholdCancelled = !1, clearTimeout(y.hoverData.tapholdTimeout), y.hoverData.tapholdTimeout = setTimeout(function () { if (!y.hoverData.tapholdCancelled) { var Sl = y.hoverData.down; Sl ? Sl.emit({ originalEvent: Qt, type: "taphold", position: { x: dr[0], y: dr[1] } }) : Hn.emit({ originalEvent: Qt, type: "taphold", position: { x: dr[0], y: dr[1] } }) } }, y.tapholdDuration) }; if (Qt.which == 3) { y.hoverData.cxtStarted = !0; var Vc = { originalEvent: Qt, type: "cxttapstart", position: { x: dr[0], y: dr[1] } }; Qr ? (Qr.activate(), Qr.emit(Vc), y.hoverData.down = Qr) : Hn.emit(Vc), y.hoverData.downTime = new Date().getTime(), y.hoverData.cxtDragged = !1 } else if (Qt.which == 1) { Qr && Qr.activate(); { if (Qr != null && y.nodeIsGrabbable(Qr)) { var ho = function (Sl) { return { originalEvent: Qt, type: Sl, position: { x: dr[0], y: dr[1] } } }, Ic = function (Sl) { Sl.emit(ho("grab")) }; if (S(Qr), !Qr.selected()) us = y.dragData.possibleDragElements = Hn.collection(), ut(Qr, { addToList: us }), Qr.emit(ho("grabon")).emit(ho("grab")); else { us = y.dragData.possibleDragElements = Hn.collection(); var Ba = Hn.$(function (fo) { return fo.isNode() && fo.selected() && y.nodeIsGrabbable(fo) }); at(Ba, { addToList: us }), Qr.emit(ho("grabon")), Ba.forEach(Ic) } y.redrawHint("eles", !0), y.redrawHint("drag", !0) } y.hoverData.down = Qr, y.hoverData.downs = Ga, y.hoverData.downTime = new Date().getTime() } x(Qr, ["mousedown", "tapstart", "vmousedown"], Qt, { x: dr[0], y: dr[1] }), Qr == null ? (gr[4] = 1, y.data.bgActivePosistion = { x: dr[0], y: dr[1] }, y.redrawHint("select", !0), y.redraw()) : Qr.pannable() && (gr[4] = 1), Ko() } gr[0] = gr[2] = dr[0], gr[1] = gr[3] = dr[1] } }, !1), y.registerBinding(window, "mousemove", function (Qt) { var Hn = y.hoverData.capture; if (!(!Hn && !ee(Qt))) { var jr = !1, dr = y.cy, gr = dr.zoom(), Ga = [Qt.clientX, Qt.clientY], Qr = y.projectIntoViewport(Ga[0], Ga[1]), us = y.hoverData.mdownPos, Ko = y.hoverData.mdownGPos, Vc = y.selection, ho = null; !y.hoverData.draggingEles && !y.hoverData.dragging && !y.hoverData.selecting && (ho = y.findNearestElement(Qr[0], Qr[1], !0, !1)); var Ic = y.hoverData.last, Ba = y.hoverData.down, fo = [Qr[0] - Vc[2], Qr[1] - Vc[3]], Sl = y.dragData.possibleDragElements, Wf; if (Ko) { var Ep = Ga[0] - Ko[0], Tp = Ep * Ep, Kf = Ga[1] - Ko[1], wg = Kf * Kf, hd = Tp + wg; y.hoverData.isOverThresholdDrag = Wf = hd >= y.desktopTapThreshold2 } var dv = T(Qt); Wf && (y.hoverData.tapholdCancelled = !0); var Tm = function () { var q2 = y.hoverData.dragDelta = y.hoverData.dragDelta || []; q2.length === 0 ? (q2.push(fo[0]), q2.push(fo[1])) : (q2[0] += fo[0], q2[1] += fo[1]) }; jr = !0, x(ho, ["mousemove", "vmousemove", "tapdrag"], Qt, { x: Qr[0], y: Qr[1] }); var d6 = function () { y.data.bgActivePosistion = void 0, y.hoverData.selecting || dr.emit({ originalEvent: Qt, type: "boxstart", position: { x: Qr[0], y: Qr[1] } }), Vc[4] = 1, y.hoverData.selecting = !0, y.redrawHint("select", !0), y.redraw() }; if (y.hoverData.which === 3) { if (Wf) { var O3 = { originalEvent: Qt, type: "cxtdrag", position: { x: Qr[0], y: Qr[1] } }; Ba ? Ba.emit(O3) : dr.emit(O3), y.hoverData.cxtDragged = !0, (!y.hoverData.cxtOver || ho !== y.hoverData.cxtOver) && (y.hoverData.cxtOver && y.hoverData.cxtOver.emit({ originalEvent: Qt, type: "cxtdragout", position: { x: Qr[0], y: Qr[1] } }), y.hoverData.cxtOver = ho, ho && ho.emit({ originalEvent: Qt, type: "cxtdragover", position: { x: Qr[0], y: Qr[1] } })) } } else if (y.hoverData.dragging) { if (jr = !0, dr.panningEnabled() && dr.userPanningEnabled()) { var g6; if (y.hoverData.justStartedPan) { var wT = y.hoverData.mdownPos; g6 = { x: (Qr[0] - wT[0]) * gr, y: (Qr[1] - wT[1]) * gr }, y.hoverData.justStartedPan = !1 } else g6 = { x: fo[0] * gr, y: fo[1] * gr }; dr.panBy(g6), dr.emit("dragpan"), y.hoverData.dragged = !0 } Qr = y.projectIntoViewport(Qt.clientX, Qt.clientY) } else if (Vc[4] == 1 && (Ba == null || Ba.pannable())) { if (Wf) { if (!y.hoverData.dragging && dr.boxSelectionEnabled() && (dv || !dr.panningEnabled() || !dr.userPanningEnabled())) d6(); else if (!y.hoverData.selecting && dr.panningEnabled() && dr.userPanningEnabled()) { var N3 = A(Ba, y.hoverData.downs); N3 && (y.hoverData.dragging = !0, y.hoverData.justStartedPan = !0, Vc[4] = 0, y.data.bgActivePosistion = z5(us), y.redrawHint("select", !0), y.redraw()) } Ba && Ba.pannable() && Ba.active() && Ba.unactivate() } } else { if (Ba && Ba.pannable() && Ba.active() && Ba.unactivate(), (!Ba || !Ba.grabbed()) && ho != Ic && (Ic && x(Ic, ["mouseout", "tapdragout"], Qt, { x: Qr[0], y: Qr[1] }), ho && x(ho, ["mouseover", "tapdragover"], Qt, { x: Qr[0], y: Qr[1] }), y.hoverData.last = ho), Ba) if (Wf) { if (dr.boxSelectionEnabled() && dv) Ba && Ba.grabbed() && (dt(Sl), Ba.emit("freeon"), Sl.emit("free"), y.dragData.didDrag && (Ba.emit("dragfreeon"), Sl.emit("dragfree"))), d6(); else if (Ba && Ba.grabbed() && y.nodeIsDraggable(Ba)) { var Hd = !y.dragData.didDrag; Hd && y.redrawHint("eles", !0), y.dragData.didDrag = !0, y.hoverData.draggingEles || at(Sl, { inDragLayer: !0 }); var C1 = { x: 0, y: 0 }; if (rt(fo[0]) && rt(fo[1]) && (C1.x += fo[0], C1.y += fo[1], Hd)) { var Vd = y.hoverData.dragDelta; Vd && rt(Vd[0]) && rt(Vd[1]) && (C1.x += Vd[0], C1.y += Vd[1]) } y.hoverData.draggingEles = !0, Sl.silentShift(C1).emit("position drag"), y.redrawHint("drag", !0), y.redraw() } } else Tm(); jr = !0 } if (Vc[2] = Qr[0], Vc[3] = Qr[1], jr) return Qt.stopPropagation && Qt.stopPropagation(), Qt.preventDefault && Qt.preventDefault(), !1 } }, !1); var Ht, ge, be; y.registerBinding(window, "mouseup", function (Qt) { var Hn = y.hoverData.capture; if (Hn) { y.hoverData.capture = !1; var jr = y.cy, dr = y.projectIntoViewport(Qt.clientX, Qt.clientY), gr = y.selection, Ga = y.findNearestElement(dr[0], dr[1], !0, !1), Qr = y.dragData.possibleDragElements, us = y.hoverData.down, Ko = T(Qt); if (y.data.bgActivePosistion && (y.redrawHint("select", !0), y.redraw()), y.hoverData.tapholdCancelled = !0, y.data.bgActivePosistion = void 0, us && us.unactivate(), y.hoverData.which === 3) { var Vc = { originalEvent: Qt, type: "cxttapend", position: { x: dr[0], y: dr[1] } }; if (us ? us.emit(Vc) : jr.emit(Vc), !y.hoverData.cxtDragged) { var ho = { originalEvent: Qt, type: "cxttap", position: { x: dr[0], y: dr[1] } }; us ? us.emit(ho) : jr.emit(ho) } y.hoverData.cxtDragged = !1, y.hoverData.which = null } else if (y.hoverData.which === 1) { if (x(Ga, ["mouseup", "tapend", "vmouseup"], Qt, { x: dr[0], y: dr[1] }), !y.dragData.didDrag && !y.hoverData.dragged && !y.hoverData.selecting && !y.hoverData.isOverThresholdDrag && (x(us, ["click", "tap", "vclick"], Qt, { x: dr[0], y: dr[1] }), ge = !1, Qt.timeStamp - be <= jr.multiClickDebounceTime() ? (Ht && clearTimeout(Ht), ge = !0, be = null, x(us, ["dblclick", "dbltap", "vdblclick"], Qt, { x: dr[0], y: dr[1] })) : (Ht = setTimeout(function () { ge || x(us, ["oneclick", "onetap", "voneclick"], Qt, { x: dr[0], y: dr[1] }) }, jr.multiClickDebounceTime()), be = Qt.timeStamp)), us == null && !y.dragData.didDrag && !y.hoverData.selecting && !y.hoverData.dragged && !T(Qt) && (jr.$(g).unselect(["tapunselect"]), Qr.length > 0 && y.redrawHint("eles", !0), y.dragData.possibleDragElements = Qr = jr.collection()), Ga == us && !y.dragData.didDrag && !y.hoverData.selecting && Ga != null && Ga._private.selectable && (y.hoverData.dragging || (jr.selectionType() === "additive" || Ko ? Ga.selected() ? Ga.unselect(["tapunselect"]) : Ga.select(["tapselect"]) : Ko || (jr.$(g).unmerge(Ga).unselect(["tapunselect"]), Ga.select(["tapselect"]))), y.redrawHint("eles", !0)), y.hoverData.selecting) { var Ic = jr.collection(y.getAllInBox(gr[0], gr[1], gr[2], gr[3])); y.redrawHint("select", !0), Ic.length > 0 && y.redrawHint("eles", !0), jr.emit({ type: "boxend", originalEvent: Qt, position: { x: dr[0], y: dr[1] } }); var Ba = function (Wf) { return Wf.selectable() && !Wf.selected() }; jr.selectionType() === "additive" || Ko || jr.$(g).unmerge(Ic).unselect(), Ic.emit("box").stdFilter(Ba).select().emit("boxselect"), y.redraw() } if (y.hoverData.dragging && (y.hoverData.dragging = !1, y.redrawHint("select", !0), y.redrawHint("eles", !0), y.redraw()), !gr[4]) { y.redrawHint("drag", !0), y.redrawHint("eles", !0); var fo = us && us.grabbed(); dt(Qr), fo && (us.emit("freeon"), Qr.emit("free"), y.dragData.didDrag && (us.emit("dragfreeon"), Qr.emit("dragfree"))) } } gr[4] = 0, y.hoverData.down = null, y.hoverData.cxtStarted = !1, y.hoverData.draggingEles = !1, y.hoverData.selecting = !1, y.hoverData.isOverThresholdDrag = !1, y.dragData.didDrag = !1, y.hoverData.dragged = !1, y.hoverData.dragDelta = [], y.hoverData.mdownPos = null, y.hoverData.mdownGPos = null } }, !1); var re = function (Qt) { if (!y.scrollingPage) { var Hn = y.cy, jr = Hn.zoom(), dr = Hn.pan(), gr = y.projectIntoViewport(Qt.clientX, Qt.clientY), Ga = [gr[0] * jr + dr.x, gr[1] * jr + dr.y]; if (y.hoverData.draggingEles || y.hoverData.dragging || y.hoverData.cxtStarted || $t()) { Qt.preventDefault(); return } if (Hn.panningEnabled() && Hn.userPanningEnabled() && Hn.zoomingEnabled() && Hn.userZoomingEnabled()) { Qt.preventDefault(), y.data.wheelZooming = !0, clearTimeout(y.data.wheelTimeout), y.data.wheelTimeout = setTimeout(function () { y.data.wheelZooming = !1, y.redrawHint("eles", !0), y.redraw() }, 150); var Qr; Qt.deltaY != null ? Qr = Qt.deltaY / -250 : Qt.wheelDeltaY != null ? Qr = Qt.wheelDeltaY / 1e3 : Qr = Qt.wheelDelta / 1e3, Qr = Qr * y.wheelSensitivity; var us = Qt.deltaMode === 1; us && (Qr *= 33); var Ko = Hn.zoom() * Math.pow(10, Qr); Qt.type === "gesturechange" && (Ko = y.gestureStartZoom * Qt.scale), Hn.zoom({ level: Ko, renderedPosition: { x: Ga[0], y: Ga[1] } }), Hn.emit(Qt.type === "gesturechange" ? "pinchzoom" : "scrollzoom") } } }; y.registerBinding(y.container, "wheel", re, !0), y.registerBinding(window, "scroll", function (Qt) { y.scrollingPage = !0, clearTimeout(y.scrollingPageTimeout), y.scrollingPageTimeout = setTimeout(function () { y.scrollingPage = !1 }, 250) }, !0), y.registerBinding(y.container, "gesturestart", function (Qt) { y.gestureStartZoom = y.cy.zoom(), y.hasTouchStarted || Qt.preventDefault() }, !0), y.registerBinding(y.container, "gesturechange", function (Fr) { y.hasTouchStarted || re(Fr) }, !0), y.registerBinding(y.container, "mouseout", function (Qt) { var Hn = y.projectIntoViewport(Qt.clientX, Qt.clientY); y.cy.emit({ originalEvent: Qt, type: "mouseout", position: { x: Hn[0], y: Hn[1] } }) }, !1), y.registerBinding(y.container, "mouseover", function (Qt) { var Hn = y.projectIntoViewport(Qt.clientX, Qt.clientY); y.cy.emit({ originalEvent: Qt, type: "mouseover", position: { x: Hn[0], y: Hn[1] } }) }, !1); var Pe, ve, fn, $e, qe, xn, Nn, er, Sn, Jn, fr, Sr, wr, cr = function (Qt, Hn, jr, dr) { return Math.sqrt((jr - Qt) * (jr - Qt) + (dr - Hn) * (dr - Hn)) }, bn = function (Qt, Hn, jr, dr) { return (jr - Qt) * (jr - Qt) + (dr - Hn) * (dr - Hn) }, Tr; y.registerBinding(y.container, "touchstart", Tr = function (Qt) { if (y.hasTouchStarted = !0, !!ee(Qt)) { xt(), y.touchData.capture = !0, y.data.bgActivePosistion = void 0; var Hn = y.cy, jr = y.touchData.now, dr = y.touchData.earlier; if (Qt.touches[0]) { var gr = y.projectIntoViewport(Qt.touches[0].clientX, Qt.touches[0].clientY); jr[0] = gr[0], jr[1] = gr[1] } if (Qt.touches[1]) { var gr = y.projectIntoViewport(Qt.touches[1].clientX, Qt.touches[1].clientY); jr[2] = gr[0], jr[3] = gr[1] } if (Qt.touches[2]) { var gr = y.projectIntoViewport(Qt.touches[2].clientX, Qt.touches[2].clientY); jr[4] = gr[0], jr[5] = gr[1] } if (Qt.touches[1]) { y.touchData.singleTouchMoved = !0, dt(y.dragData.touchDragEles); var Ga = y.findContainerClientCoords(); Sn = Ga[0], Jn = Ga[1], fr = Ga[2], Sr = Ga[3], Pe = Qt.touches[0].clientX - Sn, ve = Qt.touches[0].clientY - Jn, fn = Qt.touches[1].clientX - Sn, $e = Qt.touches[1].clientY - Jn, wr = 0 <= Pe && Pe <= fr && 0 <= fn && fn <= fr && 0 <= ve && ve <= Sr && 0 <= $e && $e <= Sr; var Qr = Hn.pan(), us = Hn.zoom(); qe = cr(Pe, ve, fn, $e), xn = bn(Pe, ve, fn, $e), Nn = [(Pe + fn) / 2, (ve + $e) / 2], er = [(Nn[0] - Qr.x) / us, (Nn[1] - Qr.y) / us]; var Ko = 200, Vc = Ko * Ko; if (xn < Vc && !Qt.touches[2]) { var ho = y.findNearestElement(jr[0], jr[1], !0, !0), Ic = y.findNearestElement(jr[2], jr[3], !0, !0); ho && ho.isNode() ? (ho.activate().emit({ originalEvent: Qt, type: "cxttapstart", position: { x: jr[0], y: jr[1] } }), y.touchData.start = ho) : Ic && Ic.isNode() ? (Ic.activate().emit({ originalEvent: Qt, type: "cxttapstart", position: { x: jr[0], y: jr[1] } }), y.touchData.start = Ic) : Hn.emit({ originalEvent: Qt, type: "cxttapstart", position: { x: jr[0], y: jr[1] } }), y.touchData.start && (y.touchData.start._private.grabbed = !1), y.touchData.cxt = !0, y.touchData.cxtDragged = !1, y.data.bgActivePosistion = void 0, y.redraw(); return } } if (Qt.touches[2]) Hn.boxSelectionEnabled() && Qt.preventDefault(); else if (!Qt.touches[1]) { if (Qt.touches[0]) { var Ba = y.findNearestElements(jr[0], jr[1], !0, !0), fo = Ba[0]; if (fo != null && (fo.activate(), y.touchData.start = fo, y.touchData.starts = Ba, y.nodeIsGrabbable(fo))) { var Sl = y.dragData.touchDragEles = Hn.collection(), Wf = null; y.redrawHint("eles", !0), y.redrawHint("drag", !0), fo.selected() ? (Wf = Hn.$(function (hd) { return hd.selected() && y.nodeIsGrabbable(hd) }), at(Wf, { addToList: Sl })) : ut(fo, { addToList: Sl }), S(fo); var Ep = function (dv) { return { originalEvent: Qt, type: dv, position: { x: jr[0], y: jr[1] } } }; fo.emit(Ep("grabon")), Wf ? Wf.forEach(function (hd) { hd.emit(Ep("grab")) }) : fo.emit(Ep("grab")) } x(fo, ["touchstart", "tapstart", "vmousedown"], Qt, { x: jr[0], y: jr[1] }), fo == null && (y.data.bgActivePosistion = { x: gr[0], y: gr[1] }, y.redrawHint("select", !0), y.redraw()), y.touchData.singleTouchMoved = !1, y.touchData.singleTouchStartTime = +new Date, clearTimeout(y.touchData.tapholdTimeout), y.touchData.tapholdTimeout = setTimeout(function () { y.touchData.singleTouchMoved === !1 && !y.pinching && !y.touchData.selecting && x(y.touchData.start, ["taphold"], Qt, { x: jr[0], y: jr[1] }) }, y.tapholdDuration) } } if (Qt.touches.length >= 1) { for (var Tp = y.touchData.startPosition = [], Kf = 0; Kf < jr.length; Kf++)Tp[Kf] = dr[Kf] = jr[Kf]; var wg = Qt.touches[0]; y.touchData.startGPosition = [wg.clientX, wg.clientY] } } }, !1); var xr; y.registerBinding(window, "touchmove", xr = function (Qt) { var Hn = y.touchData.capture; if (!(!Hn && !ee(Qt))) { var jr = y.selection, dr = y.cy, gr = y.touchData.now, Ga = y.touchData.earlier, Qr = dr.zoom(); if (Qt.touches[0]) { var us = y.projectIntoViewport(Qt.touches[0].clientX, Qt.touches[0].clientY); gr[0] = us[0], gr[1] = us[1] } if (Qt.touches[1]) { var us = y.projectIntoViewport(Qt.touches[1].clientX, Qt.touches[1].clientY); gr[2] = us[0], gr[3] = us[1] } if (Qt.touches[2]) { var us = y.projectIntoViewport(Qt.touches[2].clientX, Qt.touches[2].clientY); gr[4] = us[0], gr[5] = us[1] } var Ko = y.touchData.startGPosition, Vc; if (Hn && Qt.touches[0] && Ko) { for (var ho = [], Ic = 0; Ic < gr.length; Ic++)ho[Ic] = gr[Ic] - Ga[Ic]; var Ba = Qt.touches[0].clientX - Ko[0], fo = Ba * Ba, Sl = Qt.touches[0].clientY - Ko[1], Wf = Sl * Sl, Ep = fo + Wf; Vc = Ep >= y.touchTapThreshold2 } if (Hn && y.touchData.cxt) { Qt.preventDefault(); var Tp = Qt.touches[0].clientX - Sn, Kf = Qt.touches[0].clientY - Jn, wg = Qt.touches[1].clientX - Sn, hd = Qt.touches[1].clientY - Jn, dv = bn(Tp, Kf, wg, hd), Tm = dv / xn, d6 = 150, O3 = d6 * d6, g6 = 1.5, wT = g6 * g6; if (Tm >= wT || dv >= O3) { y.touchData.cxt = !1, y.data.bgActivePosistion = void 0, y.redrawHint("select", !0); var N3 = { originalEvent: Qt, type: "cxttapend", position: { x: gr[0], y: gr[1] } }; y.touchData.start ? (y.touchData.start.unactivate().emit(N3), y.touchData.start = null) : dr.emit(N3) } } if (Hn && y.touchData.cxt) { var N3 = { originalEvent: Qt, type: "cxtdrag", position: { x: gr[0], y: gr[1] } }; y.data.bgActivePosistion = void 0, y.redrawHint("select", !0), y.touchData.start ? y.touchData.start.emit(N3) : dr.emit(N3), y.touchData.start && (y.touchData.start._private.grabbed = !1), y.touchData.cxtDragged = !0; var Hd = y.findNearestElement(gr[0], gr[1], !0, !0); (!y.touchData.cxtOver || Hd !== y.touchData.cxtOver) && (y.touchData.cxtOver && y.touchData.cxtOver.emit({ originalEvent: Qt, type: "cxtdragout", position: { x: gr[0], y: gr[1] } }), y.touchData.cxtOver = Hd, Hd && Hd.emit({ originalEvent: Qt, type: "cxtdragover", position: { x: gr[0], y: gr[1] } })) } else if (Hn && Qt.touches[2] && dr.boxSelectionEnabled()) Qt.preventDefault(), y.data.bgActivePosistion = void 0, this.lastThreeTouch = +new Date, y.touchData.selecting || dr.emit({ originalEvent: Qt, type: "boxstart", position: { x: gr[0], y: gr[1] } }), y.touchData.selecting = !0, y.touchData.didSelect = !0, jr[4] = 1, !jr || jr.length === 0 || jr[0] === void 0 ? (jr[0] = (gr[0] + gr[2] + gr[4]) / 3, jr[1] = (gr[1] + gr[3] + gr[5]) / 3, jr[2] = (gr[0] + gr[2] + gr[4]) / 3 + 1, jr[3] = (gr[1] + gr[3] + gr[5]) / 3 + 1) : (jr[2] = (gr[0] + gr[2] + gr[4]) / 3, jr[3] = (gr[1] + gr[3] + gr[5]) / 3), y.redrawHint("select", !0), y.redraw(); else if (Hn && Qt.touches[1] && !y.touchData.didSelect && dr.zoomingEnabled() && dr.panningEnabled() && dr.userZoomingEnabled() && dr.userPanningEnabled()) { Qt.preventDefault(), y.data.bgActivePosistion = void 0, y.redrawHint("select", !0); var C1 = y.dragData.touchDragEles; if (C1) { y.redrawHint("drag", !0); for (var Vd = 0; Vd < C1.length; Vd++) { var mT = C1[Vd]._private; mT.grabbed = !1, mT.rscratch.inDragLayer = !1 } } var q2 = y.touchData.start, Tp = Qt.touches[0].clientX - Sn, Kf = Qt.touches[0].clientY - Jn, wg = Qt.touches[1].clientX - Sn, hd = Qt.touches[1].clientY - Jn, WB = cr(Tp, Kf, wg, hd), ytt = WB / qe; if (wr) { var xtt = Tp - Pe, ktt = Kf - ve, Ett = wg - fn, Ttt = hd - $e, _tt = (xtt + Ett) / 2, Ctt = (ktt + Ttt) / 2, Uk = dr.zoom(), iM = Uk * ytt, yT = dr.pan(), KB = er[0] * Uk + yT.x, YB = er[1] * Uk + yT.y, Stt = { x: -iM / Uk * (KB - yT.x - _tt) + KB, y: -iM / Uk * (YB - yT.y - Ctt) + YB }; if (q2 && q2.active()) { var C1 = y.dragData.touchDragEles; dt(C1), y.redrawHint("drag", !0), y.redrawHint("eles", !0), q2.unactivate().emit("freeon"), C1.emit("free"), y.dragData.didDrag && (q2.emit("dragfreeon"), C1.emit("dragfree")) } dr.viewport({ zoom: iM, pan: Stt, cancelOnFailedZoom: !0 }), dr.emit("pinchzoom"), qe = WB, Pe = Tp, ve = Kf, fn = wg, $e = hd, y.pinching = !0 } if (Qt.touches[0]) { var us = y.projectIntoViewport(Qt.touches[0].clientX, Qt.touches[0].clientY); gr[0] = us[0], gr[1] = us[1] } if (Qt.touches[1]) { var us = y.projectIntoViewport(Qt.touches[1].clientX, Qt.touches[1].clientY); gr[2] = us[0], gr[3] = us[1] } if (Qt.touches[2]) { var us = y.projectIntoViewport(Qt.touches[2].clientX, Qt.touches[2].clientY); gr[4] = us[0], gr[5] = us[1] } } else if (Qt.touches[0] && !y.touchData.didSelect) { var _p = y.touchData.start, sM = y.touchData.last, Hd; if (!y.hoverData.draggingEles && !y.swipePanning && (Hd = y.findNearestElement(gr[0], gr[1], !0, !0)), Hn && _p != null && Qt.preventDefault(), Hn && _p != null && y.nodeIsDraggable(_p)) if (Vc) { var C1 = y.dragData.touchDragEles, XB = !y.dragData.didDrag; XB && at(C1, { inDragLayer: !0 }), y.dragData.didDrag = !0; var Wk = { x: 0, y: 0 }; if (rt(ho[0]) && rt(ho[1]) && (Wk.x += ho[0], Wk.y += ho[1], XB)) { y.redrawHint("eles", !0); var Cp = y.touchData.dragDelta; Cp && rt(Cp[0]) && rt(Cp[1]) && (Wk.x += Cp[0], Wk.y += Cp[1]) } y.hoverData.draggingEles = !0, C1.silentShift(Wk).emit("position drag"), y.redrawHint("drag", !0), y.touchData.startPosition[0] == Ga[0] && y.touchData.startPosition[1] == Ga[1] && y.redrawHint("eles", !0), y.redraw() } else { var Cp = y.touchData.dragDelta = y.touchData.dragDelta || []; Cp.length === 0 ? (Cp.push(ho[0]), Cp.push(ho[1])) : (Cp[0] += ho[0], Cp[1] += ho[1]) } if (x(_p || Hd, ["touchmove", "tapdrag", "vmousemove"], Qt, { x: gr[0], y: gr[1] }), (!_p || !_p.grabbed()) && Hd != sM && (sM && sM.emit({ originalEvent: Qt, type: "tapdragout", position: { x: gr[0], y: gr[1] } }), Hd && Hd.emit({ originalEvent: Qt, type: "tapdragover", position: { x: gr[0], y: gr[1] } })), y.touchData.last = Hd, Hn) for (var Vd = 0; Vd < gr.length; Vd++)gr[Vd] && y.touchData.startPosition[Vd] && Vc && (y.touchData.singleTouchMoved = !0); if (Hn && (_p == null || _p.pannable()) && dr.panningEnabled() && dr.userPanningEnabled()) { var Att = A(_p, y.touchData.starts); Att && (Qt.preventDefault(), y.data.bgActivePosistion || (y.data.bgActivePosistion = z5(y.touchData.startPosition)), y.swipePanning ? (dr.panBy({ x: ho[0] * Qr, y: ho[1] * Qr }), dr.emit("dragpan")) : Vc && (y.swipePanning = !0, dr.panBy({ x: Ba * Qr, y: Sl * Qr }), dr.emit("dragpan"), _p && (_p.unactivate(), y.redrawHint("select", !0), y.touchData.start = null))); var us = y.projectIntoViewport(Qt.touches[0].clientX, Qt.touches[0].clientY); gr[0] = us[0], gr[1] = us[1] } } for (var Ic = 0; Ic < gr.length; Ic++)Ga[Ic] = gr[Ic]; Hn && Qt.touches.length > 0 && !y.hoverData.draggingEles && !y.swipePanning && y.data.bgActivePosistion != null && (y.data.bgActivePosistion = void 0, y.redrawHint("select", !0), y.redraw()) } }, !1); var fi; y.registerBinding(window, "touchcancel", fi = function (Qt) { var Hn = y.touchData.start; y.touchData.capture = !1, Hn && Hn.unactivate() }); var Ii, oa, Fa, Fi; if (y.registerBinding(window, "touchend", Ii = function (Qt) { var Hn = y.touchData.start, jr = y.touchData.capture; if (jr) Qt.touches.length === 0 && (y.touchData.capture = !1), Qt.preventDefault(); else return; var dr = y.selection; y.swipePanning = !1, y.hoverData.draggingEles = !1; var gr = y.cy, Ga = gr.zoom(), Qr = y.touchData.now, us = y.touchData.earlier; if (Qt.touches[0]) { var Ko = y.projectIntoViewport(Qt.touches[0].clientX, Qt.touches[0].clientY); Qr[0] = Ko[0], Qr[1] = Ko[1] } if (Qt.touches[1]) { var Ko = y.projectIntoViewport(Qt.touches[1].clientX, Qt.touches[1].clientY); Qr[2] = Ko[0], Qr[3] = Ko[1] } if (Qt.touches[2]) { var Ko = y.projectIntoViewport(Qt.touches[2].clientX, Qt.touches[2].clientY); Qr[4] = Ko[0], Qr[5] = Ko[1] } Hn && Hn.unactivate(); var Vc; if (y.touchData.cxt) { if (Vc = { originalEvent: Qt, type: "cxttapend", position: { x: Qr[0], y: Qr[1] } }, Hn ? Hn.emit(Vc) : gr.emit(Vc), !y.touchData.cxtDragged) { var ho = { originalEvent: Qt, type: "cxttap", position: { x: Qr[0], y: Qr[1] } }; Hn ? Hn.emit(ho) : gr.emit(ho) } y.touchData.start && (y.touchData.start._private.grabbed = !1), y.touchData.cxt = !1, y.touchData.start = null, y.redraw(); return } if (!Qt.touches[2] && gr.boxSelectionEnabled() && y.touchData.selecting) { y.touchData.selecting = !1; var Ic = gr.collection(y.getAllInBox(dr[0], dr[1], dr[2], dr[3])); dr[0] = void 0, dr[1] = void 0, dr[2] = void 0, dr[3] = void 0, dr[4] = 0, y.redrawHint("select", !0), gr.emit({ type: "boxend", originalEvent: Qt, position: { x: Qr[0], y: Qr[1] } }); var Ba = function (O3) { return O3.selectable() && !O3.selected() }; Ic.emit("box").stdFilter(Ba).select().emit("boxselect"), Ic.nonempty() && y.redrawHint("eles", !0), y.redraw() } if (Hn != null && Hn.unactivate(), Qt.touches[2]) y.data.bgActivePosistion = void 0, y.redrawHint("select", !0); else if (!Qt.touches[1]) { if (!Qt.touches[0]) { if (!Qt.touches[0]) { y.data.bgActivePosistion = void 0, y.redrawHint("select", !0); var fo = y.dragData.touchDragEles; if (Hn != null) { var Sl = Hn._private.grabbed; dt(fo), y.redrawHint("drag", !0), y.redrawHint("eles", !0), Sl && (Hn.emit("freeon"), fo.emit("free"), y.dragData.didDrag && (Hn.emit("dragfreeon"), fo.emit("dragfree"))), x(Hn, ["touchend", "tapend", "vmouseup", "tapdragout"], Qt, { x: Qr[0], y: Qr[1] }), Hn.unactivate(), y.touchData.start = null } else { var Wf = y.findNearestElement(Qr[0], Qr[1], !0, !0); x(Wf, ["touchend", "tapend", "vmouseup", "tapdragout"], Qt, { x: Qr[0], y: Qr[1] }) } var Ep = y.touchData.startPosition[0] - Qr[0], Tp = Ep * Ep, Kf = y.touchData.startPosition[1] - Qr[1], wg = Kf * Kf, hd = Tp + wg, dv = hd * Ga * Ga; y.touchData.singleTouchMoved || (Hn || gr.$(":selected").unselect(["tapunselect"]), x(Hn, ["tap", "vclick"], Qt, { x: Qr[0], y: Qr[1] }), oa = !1, Qt.timeStamp - Fi <= gr.multiClickDebounceTime() ? (Fa && clearTimeout(Fa), oa = !0, Fi = null, x(Hn, ["dbltap", "vdblclick"], Qt, { x: Qr[0], y: Qr[1] })) : (Fa = setTimeout(function () { oa || x(Hn, ["onetap", "voneclick"], Qt, { x: Qr[0], y: Qr[1] }) }, gr.multiClickDebounceTime()), Fi = Qt.timeStamp)), Hn != null && !y.dragData.didDrag && Hn._private.selectable && dv < y.touchTapThreshold2 && !y.pinching && (gr.selectionType() === "single" ? (gr.$(g).unmerge(Hn).unselect(["tapunselect"]), Hn.select(["tapselect"])) : Hn.selected() ? Hn.unselect(["tapunselect"]) : Hn.select(["tapselect"]), y.redrawHint("eles", !0)), y.touchData.singleTouchMoved = !0 } } } for (var Tm = 0; Tm < Qr.length; Tm++)us[Tm] = Qr[Tm]; y.dragData.didDrag = !1, Qt.touches.length === 0 && (y.touchData.dragDelta = [], y.touchData.startPosition = null, y.touchData.startGPosition = null, y.touchData.didSelect = !1), Qt.touches.length < 2 && (Qt.touches.length === 1 && (y.touchData.startGPosition = [Qt.touches[0].clientX, Qt.touches[0].clientY]), y.pinching = !1, y.redrawHint("eles", !0), y.redraw()) }, !1), typeof TouchEvent > "u") { var Ci = [], Ls = function (Qt) { return { clientX: Qt.clientX, clientY: Qt.clientY, force: 1, identifier: Qt.pointerId, pageX: Qt.pageX, pageY: Qt.pageY, radiusX: Qt.width / 2, radiusY: Qt.height / 2, screenX: Qt.screenX, screenY: Qt.screenY, target: Qt.target } }, es = function (Qt) { return { event: Qt, touch: Ls(Qt) } }, Ri = function (Qt) { Ci.push(es(Qt)) }, as = function (Qt) { for (var Hn = 0; Hn < Ci.length; Hn++) { var jr = Ci[Hn]; if (jr.event.pointerId === Qt.pointerId) { Ci.splice(Hn, 1); return } } }, no = function (Qt) { var Hn = Ci.filter(function (jr) { return jr.event.pointerId === Qt.pointerId })[0]; Hn.event = Qt, Hn.touch = Ls(Qt) }, ca = function (Qt) { Qt.touches = Ci.map(function (Hn) { return Hn.touch }) }, ea = function (Qt) { return Qt.pointerType === "mouse" || Qt.pointerType === 4 }; y.registerBinding(y.container, "pointerdown", function (Fr) { ea(Fr) || (Fr.preventDefault(), Ri(Fr), ca(Fr), Tr(Fr)) }), y.registerBinding(y.container, "pointerup", function (Fr) { ea(Fr) || (as(Fr), ca(Fr), Ii(Fr)) }), y.registerBinding(y.container, "pointercancel", function (Fr) { ea(Fr) || (as(Fr), ca(Fr), fi(Fr)) }), y.registerBinding(y.container, "pointermove", function (Fr) { ea(Fr) || (Fr.preventDefault(), no(Fr), ca(Fr), xr(Fr)) }) } }; var lv = {}; lv.generatePolygon = function (y, g) { return this.nodeShapes[y] = { renderer: this, name: y, points: g, draw: function (T, A, I, O, $) { this.renderer.nodeShapeImpl("polygon", T, A, I, O, $, this.points) }, intersectLine: function (T, A, I, O, $, z, S) { return yk($, z, this.points, T, A, I / 2, O / 2, S) }, checkPoint: function (T, A, I, O, $, z, S) { return ov(T, A, this.points, z, S, O, $, [0, -1], I) } } }, lv.generateEllipse = function () { return this.nodeShapes.ellipse = { renderer: this, name: "ellipse", draw: function (g, x, T, A, I) { this.renderer.nodeShapeImpl(this.name, g, x, T, A, I) }, intersectLine: function (g, x, T, A, I, O, $) { return TY(I, O, g, x, T / 2 + $, A / 2 + $) }, checkPoint: function (g, x, T, A, I, O, $) { return _3(g, x, A, I, O, $, T) } } }, lv.generateRoundPolygon = function (y, g) { for (var x = new Array(g.length * 2), T = 0; T < g.length / 2; T++) { var A = T * 2, I = void 0; T < g.length / 2 - 1 ? I = (T + 1) * 2 : I = 0, x[T * 4] = g[A], x[T * 4 + 1] = g[A + 1]; var O = g[I] - g[A], $ = g[I + 1] - g[A + 1], z = Math.sqrt(O * O + $ * $); x[T * 4 + 2] = O / z, x[T * 4 + 3] = $ / z } return this.nodeShapes[y] = { renderer: this, name: y, points: x, draw: function (V, U, tt, at, ut) { this.renderer.nodeShapeImpl("round-polygon", V, U, tt, at, ut, this.points) }, intersectLine: function (V, U, tt, at, ut, dt, At) { return _Y(ut, dt, this.points, V, U, tt, at) }, checkPoint: function (V, U, tt, at, ut, dt, At) { return EY(V, U, this.points, dt, At, at, ut) } } }, lv.generateRoundRectangle = function () { return this.nodeShapes["round-rectangle"] = this.nodeShapes.roundrectangle = { renderer: this, name: "round-rectangle", points: cd(4, 0), draw: function (g, x, T, A, I) { this.renderer.nodeShapeImpl(this.name, g, x, T, A, I) }, intersectLine: function (g, x, T, A, I, O, $) { return UP(I, O, g, x, T, A, $) }, checkPoint: function (g, x, T, A, I, O, $) { var z = xk(A, I), S = z * 2; return !!(ov(g, x, this.points, O, $, A, I - S, [0, -1], T) || ov(g, x, this.points, O, $, A - S, I, [0, -1], T) || _3(g, x, S, S, O - A / 2 + z, $ - I / 2 + z, T) || _3(g, x, S, S, O + A / 2 - z, $ - I / 2 + z, T) || _3(g, x, S, S, O + A / 2 - z, $ + I / 2 - z, T) || _3(g, x, S, S, O - A / 2 + z, $ + I / 2 - z, T)) } } }, lv.generateCutRectangle = function () { return this.nodeShapes["cut-rectangle"] = this.nodeShapes.cutrectangle = { renderer: this, name: "cut-rectangle", cornerLength: XP(), points: cd(4, 0), draw: function (g, x, T, A, I) { this.renderer.nodeShapeImpl(this.name, g, x, T, A, I) }, generateCutTrianglePts: function (g, x, T, A) { var I = this.cornerLength, O = x / 2, $ = g / 2, z = T - $, S = T + $, V = A - O, U = A + O; return { topLeft: [z, V + I, z + I, V, z + I, V + I], topRight: [S - I, V, S, V + I, S - I, V + I], bottomRight: [S, U - I, S - I, U, S - I, U - I], bottomLeft: [z + I, U, z, U - I, z + I, U - I] } }, intersectLine: function (g, x, T, A, I, O, $) { var z = this.generateCutTrianglePts(T + 2 * $, A + 2 * $, g, x), S = [].concat.apply([], [z.topLeft.splice(0, 4), z.topRight.splice(0, 4), z.bottomRight.splice(0, 4), z.bottomLeft.splice(0, 4)]); return yk(I, O, S, g, x) }, checkPoint: function (g, x, T, A, I, O, $) { if (ov(g, x, this.points, O, $, A, I - 2 * this.cornerLength, [0, -1], T) || ov(g, x, this.points, O, $, A - 2 * this.cornerLength, I, [0, -1], T)) return !0; var z = this.generateCutTrianglePts(A, I, O, $); return qd(g, x, z.topLeft) || qd(g, x, z.topRight) || qd(g, x, z.bottomRight) || qd(g, x, z.bottomLeft) } } }, lv.generateBarrel = function () { return this.nodeShapes.barrel = { renderer: this, name: "barrel", points: cd(4, 0), draw: function (g, x, T, A, I) { this.renderer.nodeShapeImpl(this.name, g, x, T, A, I) }, intersectLine: function (g, x, T, A, I, O, $) { var z = .15, S = .5, V = .85, U = this.generateBarrelBezierPts(T + 2 * $, A + 2 * $, g, x), tt = function (dt) { var At = q5({ x: dt[0], y: dt[1] }, { x: dt[2], y: dt[3] }, { x: dt[4], y: dt[5] }, z), xt = q5({ x: dt[0], y: dt[1] }, { x: dt[2], y: dt[3] }, { x: dt[4], y: dt[5] }, S), Mt = q5({ x: dt[0], y: dt[1] }, { x: dt[2], y: dt[3] }, { x: dt[4], y: dt[5] }, V); return [dt[0], dt[1], At.x, At.y, xt.x, xt.y, Mt.x, Mt.y, dt[4], dt[5]] }, at = [].concat(tt(U.topLeft), tt(U.topRight), tt(U.bottomRight), tt(U.bottomLeft)); return yk(I, O, at, g, x) }, generateBarrelBezierPts: function (g, x, T, A) { var I = x / 2, O = g / 2, $ = T - O, z = T + O, S = A - I, V = A + I, U = CL(g, x), tt = U.heightOffset, at = U.widthOffset, ut = U.ctrlPtOffsetPct * g, dt = { topLeft: [$, S + tt, $ + ut, S, $ + at, S], topRight: [z - at, S, z - ut, S, z, S + tt], bottomRight: [z, V - tt, z - ut, V, z - at, V], bottomLeft: [$ + at, V, $ + ut, V, $, V - tt] }; return dt.topLeft.isTop = !0, dt.topRight.isTop = !0, dt.bottomLeft.isBottom = !0, dt.bottomRight.isBottom = !0, dt }, checkPoint: function (g, x, T, A, I, O, $) { var z = CL(A, I), S = z.heightOffset, V = z.widthOffset; if (ov(g, x, this.points, O, $, A, I - 2 * S, [0, -1], T) || ov(g, x, this.points, O, $, A - 2 * V, I, [0, -1], T)) return !0; for (var U = this.generateBarrelBezierPts(A, I, O, $), tt = function ($t, ee, Ht) { var ge = Ht[4], be = Ht[2], re = Ht[0], Pe = Ht[5], ve = Ht[1], fn = Math.min(ge, re), $e = Math.max(ge, re), qe = Math.min(Pe, ve), xn = Math.max(Pe, ve); if (fn <= $t && $t <= $e && qe <= ee && ee <= xn) { var Nn = CY(ge, be, re), er = mY(Nn[0], Nn[1], Nn[2], $t), Sn = er.filter(function (Jn) { return 0 <= Jn && Jn <= 1 }); if (Sn.length > 0) return Sn[0] } return null }, at = Object.keys(U), ut = 0; ut < at.length; ut++) { var dt = at[ut], At = U[dt], xt = tt(g, x, At); if (xt != null) { var Mt = At[5], Dt = At[3], Bt = At[1], Zt = lf(Mt, Dt, Bt, xt); if (At.isTop && Zt <= x || At.isBottom && x <= Zt) return !0 } } return !1 } } }, lv.generateBottomRoundrectangle = function () { return this.nodeShapes["bottom-round-rectangle"] = this.nodeShapes.bottomroundrectangle = { renderer: this, name: "bottom-round-rectangle", points: cd(4, 0), draw: function (g, x, T, A, I) { this.renderer.nodeShapeImpl(this.name, g, x, T, A, I) }, intersectLine: function (g, x, T, A, I, O, $) { var z = g - (T / 2 + $), S = x - (A / 2 + $), V = S, U = g + (T / 2 + $), tt = pm(I, O, g, x, z, S, U, V, !1); return tt.length > 0 ? tt : UP(I, O, g, x, T, A, $) }, checkPoint: function (g, x, T, A, I, O, $) { var z = xk(A, I), S = 2 * z; if (ov(g, x, this.points, O, $, A, I - S, [0, -1], T) || ov(g, x, this.points, O, $, A - S, I, [0, -1], T)) return !0; var V = A / 2 + 2 * T, U = I / 2 + 2 * T, tt = [O - V, $ - U, O - V, $, O + V, $, O + V, $ - U]; return !!(qd(g, x, tt) || _3(g, x, S, S, O + A / 2 - z, $ + I / 2 - z, T) || _3(g, x, S, S, O - A / 2 + z, $ + I / 2 - z, T)) } } }, lv.registerNodeShapes = function () { var y = this.nodeShapes = {}, g = this; this.generateEllipse(), this.generatePolygon("triangle", cd(3, 0)), this.generateRoundPolygon("round-triangle", cd(3, 0)), this.generatePolygon("rectangle", cd(4, 0)), y.square = y.rectangle, this.generateRoundRectangle(), this.generateCutRectangle(), this.generateBarrel(), this.generateBottomRoundrectangle(); { var x = [0, 1, 1, 0, 0, -1, -1, 0]; this.generatePolygon("diamond", x), this.generateRoundPolygon("round-diamond", x) } this.generatePolygon("pentagon", cd(5, 0)), this.generateRoundPolygon("round-pentagon", cd(5, 0)), this.generatePolygon("hexagon", cd(6, 0)), this.generateRoundPolygon("round-hexagon", cd(6, 0)), this.generatePolygon("heptagon", cd(7, 0)), this.generateRoundPolygon("round-heptagon", cd(7, 0)), this.generatePolygon("octagon", cd(8, 0)), this.generateRoundPolygon("round-octagon", cd(8, 0)); var T = new Array(20); { var A = TL(5, 0), I = TL(5, Math.PI / 5), O = .5 * (3 - Math.sqrt(5)); O *= 1.57; for (var $ = 0; $ < I.length / 2; $++)I[$ * 2] *= O, I[$ * 2 + 1] *= O; for (var $ = 0; $ < 20 / 4; $++)T[$ * 4] = A[$ * 2], T[$ * 4 + 1] = A[$ * 2 + 1], T[$ * 4 + 2] = I[$ * 2], T[$ * 4 + 3] = I[$ * 2 + 1] } T = YP(T), this.generatePolygon("star", T), this.generatePolygon("vee", [-1, -1, 0, -.333, 1, -1, 0, 1]), this.generatePolygon("rhomboid", [-1, -1, .333, -1, 1, 1, -.333, 1]), this.nodeShapes.concavehexagon = this.generatePolygon("concave-hexagon", [-1, -.95, -.75, 0, -1, .95, 1, .95, .75, 0, 1, -.95]); { var z = [-1, -1, .25, -1, 1, 0, .25, 1, -1, 1]; this.generatePolygon("tag", z), this.generateRoundPolygon("round-tag", z) } y.makePolygon = function (S) { var V = S.join("$"), U = "polygon-" + V, tt; return (tt = this[U]) ? tt : g.generatePolygon(U, S) } }; var $k = {}; $k.timeToRender = function () { return this.redrawTotalTime / this.redrawCount }, $k.redraw = function (y) { y = y || jP(); var g = this; g.averageRedrawTime === void 0 && (g.averageRedrawTime = 0), g.lastRedrawTime === void 0 && (g.lastRedrawTime = 0), g.lastDrawTime === void 0 && (g.lastDrawTime = 0), g.requestedFrame = !0, g.renderOptions = y }, $k.beforeRender = function (y, g) { if (!this.destroyed) { g == null && Ec("Priority is not optional for beforeRender"); var x = this.beforeRenderCallbacks; x.push({ fn: y, priority: g }), x.sort(function (T, A) { return A.priority - T.priority }) } }; var FB = function (g, x, T) { for (var A = g.beforeRenderCallbacks, I = 0; I < A.length; I++)A[I].fn(x, T) }; $k.startRenderLoop = function () { var y = this, g = y.cy; if (!y.renderLoopStarted) { y.renderLoopStarted = !0; var x = function T(A) { if (!y.destroyed) { if (!g.batching()) if (y.requestedFrame && !y.skipFrame) { FB(y, !0, A); var I = Ei(); y.render(y.renderOptions); var O = y.lastDrawTime = Ei(); y.averageRedrawTime === void 0 && (y.averageRedrawTime = O - I), y.redrawCount === void 0 && (y.redrawCount = 0), y.redrawCount++, y.redrawTotalTime === void 0 && (y.redrawTotalTime = 0); var $ = O - I; y.redrawTotalTime += $, y.lastRedrawTime = $, y.averageRedrawTime = y.averageRedrawTime / 2 + $ / 2, y.requestedFrame = !1 } else FB(y, !1, A); y.skipFrame = !1, Ma(T) } }; Ma(x) } }; var HJ = function (g) { this.init(g) }, XL = HJ, M3 = XL.prototype; M3.clientFunctions = ["redrawHint", "render", "renderTo", "matchCanvasSize", "nodeShapeImpl", "arrowShapeImpl"], M3.init = function (y) { var g = this; g.options = y, g.cy = y.cy; var x = g.container = y.cy.container(); if (R) { var T = R.document, A = T.head, I = "__________cytoscape_stylesheet", O = "__________cytoscape_container", $ = T.getElementById(I) != null; if (x.className.indexOf(O) < 0 && (x.className = (x.className || "") + " " + O), !$) { var z = T.createElement("style"); z.id = I, z.innerHTML = "." + O + " { position: relative; }", A.insertBefore(z, A.children[0]) } var S = R.getComputedStyle(x), V = S.getPropertyValue("position"); V === "static" && Wo("A Cytoscape container has style position:static and so can not use UI extensions properly") } g.selection = [void 0, void 0, void 0, void 0, 0], g.bezierProjPcts = [.05, .225, .4, .5, .6, .775, .95], g.hoverData = { down: null, last: null, downTime: null, triggerMode: null, dragging: !1, initialPan: [null, null], capture: !1 }, g.dragData = { possibleDragElements: [] }, g.touchData = { start: null, capture: !1, startPosition: [null, null, null, null, null, null], singleTouchStartTime: null, singleTouchMoved: !0, now: [null, null, null, null, null, null], earlier: [null, null, null, null, null, null] }, g.redraws = 0, g.showFps = y.showFps, g.debug = y.debug, g.hideEdgesOnViewport = y.hideEdgesOnViewport, g.textureOnViewport = y.textureOnViewport, g.wheelSensitivity = y.wheelSensitivity, g.motionBlurEnabled = y.motionBlur, g.forcedPixelRatio = rt(y.pixelRatio) ? y.pixelRatio : null, g.motionBlur = y.motionBlur, g.motionBlurOpacity = y.motionBlurOpacity, g.motionBlurTransparency = 1 - g.motionBlurOpacity, g.motionBlurPxRatio = 1, g.mbPxRBlurry = 1, g.minMbLowQualFrames = 4, g.fullQualityMb = !1, g.clearedForMotionBlur = [], g.desktopTapThreshold = y.desktopTapThreshold, g.desktopTapThreshold2 = y.desktopTapThreshold * y.desktopTapThreshold, g.touchTapThreshold = y.touchTapThreshold, g.touchTapThreshold2 = y.touchTapThreshold * y.touchTapThreshold, g.tapholdDuration = 500, g.bindings = [], g.beforeRenderCallbacks = [], g.beforeRenderPriorities = { animations: 400, eleCalcs: 300, eleTxrDeq: 200, lyrTxrDeq: 150, lyrTxrSkip: 100 }, g.registerNodeShapes(), g.registerArrowShapes(), g.registerCalculationListeners() }, M3.notify = function (y, g) { var x = this, T = x.cy; if (!this.destroyed) { if (y === "init") { x.load(); return } if (y === "destroy") { x.destroy(); return } (y === "add" || y === "remove" || y === "move" && T.hasCompoundNodes() || y === "load" || y === "zorder" || y === "mount") && x.invalidateCachedZSortedEles(), y === "viewport" && x.redrawHint("select", !0), (y === "load" || y === "resize" || y === "mount") && (x.invalidateContainerClientCoordsCache(), x.matchCanvasSize(x.container)), x.redrawHint("eles", !0), x.redrawHint("drag", !0), this.startRenderLoop(), this.redraw() } }, M3.destroy = function () { var y = this; y.destroyed = !0, y.cy.stopAnimationLoop(); for (var g = 0; g < y.bindings.length; g++) { var x = y.bindings[g], T = x, A = T.target; (A.off || A.removeEventListener).apply(A, T.args) } if (y.bindings = [], y.beforeRenderCallbacks = [], y.onUpdateEleCalcsFns = [], y.removeObserver && y.removeObserver.disconnect(), y.styleObserver && y.styleObserver.disconnect(), y.resizeObserver && y.resizeObserver.disconnect(), y.labelCalcDiv) try { document.body.removeChild(y.labelCalcDiv) } catch { } }, M3.isHeadless = function () { return !1 }, [WL, jk, PB, a6, lv, $k].forEach(function (y) { Ke(M3, y) }); var QL = 1e3 / 60, hT = { setupDequeueing: function (g) { return function () { var T = this, A = this.renderer; if (!T.dequeueingSetup) { T.dequeueingSetup = !0; var I = um(function () { A.redrawHint("eles", !0), A.redrawHint("drag", !0), A.redraw() }, g.deqRedrawThreshold), O = function (S, V) { var U = Ei(), tt = A.averageRedrawTime, at = A.lastRedrawTime, ut = [], dt = A.cy.extent(), At = A.getPixelRatio(); for (S || A.flushRenderedStyleQueue(); ;) { var xt = Ei(), Mt = xt - U, Dt = xt - V; if (at < QL) { var Bt = QL - (S ? tt : 0); if (Dt >= g.deqFastCost * Bt) break } else if (S) { if (Mt >= g.deqCost * at || Mt >= g.deqAvgCost * tt) break } else if (Dt >= g.deqNoDrawCost * QL) break; var Zt = g.deq(T, At, dt); if (Zt.length > 0) for (var Kt = 0; Kt < Zt.length; Kt++)ut.push(Zt[Kt]); else break } ut.length > 0 && (g.onDeqd(T, ut), !S && g.shouldRedraw(T, ut, At, dt) && I()) }, $ = g.priority || fm; A.beforeRender(O, $(T)) } } } }, VJ = function () { function y(g) { var x = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : hm; p(this, y), this.idsByKey = new j2, this.keyForId = new j2, this.cachesByLvl = new j2, this.lvls = [], this.getKey = g, this.doesEleInvalidateKey = x } return m(y, [{ key: "getIdsFor", value: function (x) { x == null && Ec("Can not get id list for null key"); var T = this.idsByKey, A = this.idsByKey.get(x); return A || (A = new $5, T.set(x, A)), A } }, { key: "addIdForKey", value: function (x, T) { x != null && this.getIdsFor(x).add(T) } }, { key: "deleteIdForKey", value: function (x, T) { x != null && this.getIdsFor(x).delete(T) } }, { key: "getNumberOfIdsForKey", value: function (x) { return x == null ? 0 : this.getIdsFor(x).size } }, { key: "updateKeyMappingFor", value: function (x) { var T = x.id(), A = this.keyForId.get(T), I = this.getKey(x); this.deleteIdForKey(A, T), this.addIdForKey(I, T), this.keyForId.set(T, I) } }, { key: "deleteKeyMappingFor", value: function (x) { var T = x.id(), A = this.keyForId.get(T); this.deleteIdForKey(A, T), this.keyForId.delete(T) } }, { key: "keyHasChangedFor", value: function (x) { var T = x.id(), A = this.keyForId.get(T), I = this.getKey(x); return A !== I } }, { key: "isInvalid", value: function (x) { return this.keyHasChangedFor(x) || this.doesEleInvalidateKey(x) } }, { key: "getCachesAt", value: function (x) { var T = this.cachesByLvl, A = this.lvls, I = T.get(x); return I || (I = new j2, T.set(x, I), A.push(x)), I } }, { key: "getCache", value: function (x, T) { return this.getCachesAt(T).get(x) } }, { key: "get", value: function (x, T) { var A = this.getKey(x), I = this.getCache(A, T); return I != null && this.updateKeyMappingFor(x), I } }, { key: "getForCachedKey", value: function (x, T) { var A = this.keyForId.get(x.id()), I = this.getCache(A, T); return I } }, { key: "hasCache", value: function (x, T) { return this.getCachesAt(T).has(x) } }, { key: "has", value: function (x, T) { var A = this.getKey(x); return this.hasCache(A, T) } }, { key: "setCache", value: function (x, T, A) { A.key = x, this.getCachesAt(T).set(x, A) } }, { key: "set", value: function (x, T, A) { var I = this.getKey(x); this.setCache(I, T, A), this.updateKeyMappingFor(x) } }, { key: "deleteCache", value: function (x, T) { this.getCachesAt(T).delete(x) } }, { key: "delete", value: function (x, T) { var A = this.getKey(x); this.deleteCache(A, T) } }, { key: "invalidateKey", value: function (x) { var T = this; this.lvls.forEach(function (A) { return T.deleteCache(x, A) }) } }, { key: "invalidate", value: function (x) { var T = x.id(), A = this.keyForId.get(T); this.deleteKeyMappingFor(x); var I = this.doesEleInvalidateKey(x); return I && this.invalidateKey(A), I || this.getNumberOfIdsForKey(A) === 0 } }]), y }(), fT = 25, dT = 50, o6 = -4, ZL = 3, JL = 7.99, GJ = 8, UJ = 1024, WJ = 1024, BB = 1024, KJ = .2, YJ = .8, XJ = 10, QJ = .15, ZJ = .1, JJ = .9, ttt = .9, ett = 100, ntt = 1, c6 = { dequeue: "dequeue", downscale: "downscale", highQuality: "highQuality" }, rtt = Hf({ getKey: null, doesEleInvalidateKey: hm, drawElement: null, getBoundingBox: null, getRotationPoint: null, getRotationOffset: null, isVisible: od, allowEdgeTxrCaching: !0, allowParentTxrCaching: !0 }), zk = function (g, x) { var T = this; T.renderer = g, T.onDequeues = []; var A = rtt(x); Ke(T, A), T.lookup = new VJ(A.getKey, A.doesEleInvalidateKey), T.setupDequeueing() }, Mh = zk.prototype; Mh.reasons = c6, Mh.getTextureQueue = function (y) { var g = this; return g.eleImgCaches = g.eleImgCaches || {}, g.eleImgCaches[y] = g.eleImgCaches[y] || [] }, Mh.getRetiredTextureQueue = function (y) { var g = this, x = g.eleImgCaches.retired = g.eleImgCaches.retired || {}, T = x[y] = x[y] || []; return T }, Mh.getElementQueue = function () { var y = this, g = y.eleCacheQueue = y.eleCacheQueue || new vk(function (x, T) { return T.reqs - x.reqs }); return g }, Mh.getElementKeyToQueue = function () { var y = this, g = y.eleKeyToCacheQueue = y.eleKeyToCacheQueue || {}; return g }, Mh.getElement = function (y, g, x, T, A) { var I = this, O = this.renderer, $ = O.cy.zoom(), z = this.lookup; if (!g || g.w === 0 || g.h === 0 || isNaN(g.w) || isNaN(g.h) || !y.visible() || y.removed() || !I.allowEdgeTxrCaching && y.isEdge() || !I.allowParentTxrCaching && y.isParent()) return null; if (T == null && (T = Math.ceil(yL($ * x))), T < o6) T = o6; else if ($ >= JL || T > ZL) return null; var S = Math.pow(2, T), V = g.h * S, U = g.w * S, tt = O.eleTextBiggerThanMin(y, S); if (!this.isVisible(y, tt)) return null; var at = z.get(y, T); if (at && at.invalidated && (at.invalidated = !1, at.texture.invalidatedWidth -= at.width), at) return at; var ut; if (V <= fT ? ut = fT : V <= dT ? ut = dT : ut = Math.ceil(V / dT) * dT, V > BB || U > WJ) return null; var dt = I.getTextureQueue(ut), At = dt[dt.length - 2], xt = function () { return I.recycleTexture(ut, U) || I.addTexture(ut, U) }; At || (At = dt[dt.length - 1]), At || (At = xt()), At.width - At.usedWidth < U && (At = xt()); for (var Mt = function ($e) { return $e && $e.scaledLabelShown === tt }, Dt = A && A === c6.dequeue, Bt = A && A === c6.highQuality, Zt = A && A === c6.downscale, Kt, $t = T + 1; $t <= ZL; $t++) { var ee = z.get(y, $t); if (ee) { Kt = ee; break } } var Ht = Kt && Kt.level === T + 1 ? Kt : null, ge = function () { At.context.drawImage(Ht.texture.canvas, Ht.x, 0, Ht.width, Ht.height, At.usedWidth, 0, U, V) }; if (At.context.setTransform(1, 0, 0, 1, 0, 0), At.context.clearRect(At.usedWidth, 0, U, ut), Mt(Ht)) ge(); else if (Mt(Kt)) if (Bt) { for (var be = Kt.level; be > T; be--)Ht = I.getElement(y, g, x, be, c6.downscale); ge() } else return I.queueElement(y, Kt.level - 1), Kt; else { var re; if (!Dt && !Bt && !Zt) for (var Pe = T - 1; Pe >= o6; Pe--) { var ve = z.get(y, Pe); if (ve) { re = ve; break } } if (Mt(re)) return I.queueElement(y, T), re; At.context.translate(At.usedWidth, 0), At.context.scale(S, S), this.drawElement(At.context, y, g, tt, !1), At.context.scale(1 / S, 1 / S), At.context.translate(-At.usedWidth, 0) } return at = { x: At.usedWidth, texture: At, level: T, scale: S, width: U, height: V, scaledLabelShown: tt }, At.usedWidth += Math.ceil(U + GJ), At.eleCaches.push(at), z.set(y, T, at), I.checkTextureFullness(At), at }, Mh.invalidateElements = function (y) { for (var g = 0; g < y.length; g++)this.invalidateElement(y[g]) }, Mh.invalidateElement = function (y) { var g = this, x = g.lookup, T = [], A = x.isInvalid(y); if (A) { for (var I = o6; I <= ZL; I++) { var O = x.getForCachedKey(y, I); O && T.push(O) } var $ = x.invalidate(y); if ($) for (var z = 0; z < T.length; z++) { var S = T[z], V = S.texture; V.invalidatedWidth += S.width, S.invalidated = !0, g.checkTextureUtility(V) } g.removeFromQueue(y) } }, Mh.checkTextureUtility = function (y) { y.invalidatedWidth >= KJ * y.width && this.retireTexture(y) }, Mh.checkTextureFullness = function (y) { var g = this, x = g.getTextureQueue(y.height); y.usedWidth / y.width > YJ && y.fullnessChecks >= XJ ? dm(x, y) : y.fullnessChecks++ }, Mh.retireTexture = function (y) { var g = this, x = y.height, T = g.getTextureQueue(x), A = this.lookup; dm(T, y), y.retired = !0; for (var I = y.eleCaches, O = 0; O < I.length; O++) { var $ = I[O]; A.deleteCache($.key, $.level) } wL(I); var z = g.getRetiredTextureQueue(x); z.push(y) }, Mh.addTexture = function (y, g) { var x = this, T = x.getTextureQueue(y), A = {}; return T.push(A), A.eleCaches = [], A.height = y, A.width = Math.max(UJ, g), A.usedWidth = 0, A.invalidatedWidth = 0, A.fullnessChecks = 0, A.canvas = x.renderer.makeOffscreenCanvas(A.width, A.height), A.context = A.canvas.getContext("2d"), A }, Mh.recycleTexture = function (y, g) { for (var x = this, T = x.getTextureQueue(y), A = x.getRetiredTextureQueue(y), I = 0; I < A.length; I++) { var O = A[I]; if (O.width >= g) return O.retired = !1, O.usedWidth = 0, O.invalidatedWidth = 0, O.fullnessChecks = 0, wL(O.eleCaches), O.context.setTransform(1, 0, 0, 1, 0, 0), O.context.clearRect(0, 0, O.width, O.height), dm(A, O), T.push(O), O } }, Mh.queueElement = function (y, g) { var x = this, T = x.getElementQueue(), A = x.getElementKeyToQueue(), I = this.getKey(y), O = A[I]; if (O) O.level = Math.max(O.level, g), O.eles.merge(y), O.reqs++, T.updateItem(O); else { var $ = { eles: y.spawn().merge(y), level: g, reqs: 1, key: I }; T.push($), A[I] = $ } }, Mh.dequeue = function (y) { for (var g = this, x = g.getElementQueue(), T = g.getElementKeyToQueue(), A = [], I = g.lookup, O = 0; O < ntt && x.size() > 0; O++) { var $ = x.pop(), z = $.key, S = $.eles[0], V = I.hasCache(S, $.level); if (T[z] = null, V) continue; A.push($); var U = g.getBoundingBox(S); g.getElement(S, U, y, $.level, c6.dequeue) } return A }, Mh.removeFromQueue = function (y) { var g = this, x = g.getElementQueue(), T = g.getElementKeyToQueue(), A = this.getKey(y), I = T[A]; I != null && (I.eles.length === 1 ? (I.reqs = vp, x.updateItem(I), x.pop(), T[A] = null) : I.eles.unmerge(y)) }, Mh.onDequeue = function (y) { this.onDequeues.push(y) }, Mh.offDequeue = function (y) { dm(this.onDequeues, y) }, Mh.setupDequeueing = hT.setupDequeueing({ deqRedrawThreshold: ett, deqCost: QJ, deqAvgCost: ZJ, deqNoDrawCost: JJ, deqFastCost: ttt, deq: function (g, x, T) { return g.dequeue(x, T) }, onDeqd: function (g, x) { for (var T = 0; T < g.onDequeues.length; T++) { var A = g.onDequeues[T]; A(x) } }, shouldRedraw: function (g, x, T, A) { for (var I = 0; I < x.length; I++)for (var O = x[I].eles, $ = 0; $ < O.length; $++) { var z = O[$].boundingBox(); if (kL(z, A)) return !0 } return !1 }, priority: function (g) { return g.renderer.beforeRenderPriorities.eleTxrDeq } }); var itt = 1, u6 = -4, qk = 2, gT = 3.99, Hk = 50, pg = 50, stt = .15, Pgt = .1, Fgt = .9, Bgt = .9, Rgt = 1, tM = 250, jgt = 4e3 * 4e3, $gt = !0, att = function (g) { var x = this, T = x.renderer = g, A = T.cy; x.layersByLevel = {}, x.firstGet = !0, x.lastInvalidationTime = Ei() - 2 * tM, x.skipping = !1, x.eleTxrDeqs = A.collection(), x.scheduleElementRefinement = um(function () { x.refineElementTextures(x.eleTxrDeqs), x.eleTxrDeqs.unmerge(x.eleTxrDeqs) }, pg), T.beforeRender(function (O, $) { $ - x.lastInvalidationTime <= tM ? x.skipping = !0 : x.skipping = !1 }, T.beforeRenderPriorities.lyrTxrSkip); var I = function ($, z) { return z.reqs - $.reqs }; x.layersQueue = new vk(I), x.setupDequeueing() }, E1 = att.prototype, ott = 0, zgt = Math.pow(2, 53) - 1; E1.makeLayer = function (y, g) { var x = Math.pow(2, g), T = Math.ceil(y.w * x), A = Math.ceil(y.h * x), I = this.renderer.makeOffscreenCanvas(T, A), O = { id: ott = ++ott % zgt, bb: y, level: g, width: T, height: A, canvas: I, context: I.getContext("2d"), eles: [], elesQueue: [], reqs: 0 }, $ = O.context, z = -O.bb.x1, S = -O.bb.y1; return $.scale(x, x), $.translate(z, S), O }, E1.getLayers = function (y, g, x) { var T = this, A = T.renderer, I = A.cy, O = I.zoom(), $ = T.firstGet; if (T.firstGet = !1, x == null) { if (x = Math.ceil(yL(O * g)), x < u6) x = u6; else if (O >= gT || x > qk) return null } T.validateLayersElesOrdering(x, y); var z = T.layersByLevel, S = Math.pow(2, x), V = z[x] = z[x] || [], U, tt = T.levelIsComplete(x, y), at, ut = function () { var ge = function (fn) { if (T.validateLayersElesOrdering(fn, y), T.levelIsComplete(fn, y)) return at = z[fn], !0 }, be = function (fn) { if (!at) for (var $e = x + fn; u6 <= $e && $e <= qk && !ge($e); $e += fn); }; be(1), be(-1); for (var re = V.length - 1; re >= 0; re--) { var Pe = V[re]; Pe.invalid && dm(V, Pe) } }; if (!tt) ut(); else return V; var dt = function () { if (!U) { U = zd(); for (var ge = 0; ge < y.length; ge++)gY(U, y[ge].boundingBox()) } return U }, At = function (ge) { ge = ge || {}; var be = ge.after; dt(); var re = U.w * S * (U.h * S); if (re > jgt) return null; var Pe = T.makeLayer(U, x); if (be != null) { var ve = V.indexOf(be) + 1; V.splice(ve, 0, Pe) } else (ge.insert === void 0 || ge.insert) && V.unshift(Pe); return Pe }; if (T.skipping && !$) return null; for (var xt = null, Mt = y.length / itt, Dt = !$, Bt = 0; Bt < y.length; Bt++) { var Zt = y[Bt], Kt = Zt._private.rscratch, $t = Kt.imgLayerCaches = Kt.imgLayerCaches || {}, ee = $t[x]; if (ee) { xt = ee; continue } if ((!xt || xt.eles.length >= Mt || !GP(xt.bb, Zt.boundingBox())) && (xt = At({ insert: !0, after: xt }), !xt)) return null; at || Dt ? T.queueLayer(xt, Zt) : T.drawEleInLayer(xt, Zt, x, g), xt.eles.push(Zt), $t[x] = xt } return at || (Dt ? null : V) }, E1.getEleLevelForLayerLevel = function (y, g) { return y }, E1.drawEleInLayer = function (y, g, x, T) { var A = this, I = this.renderer, O = y.context, $ = g.boundingBox(); $.w === 0 || $.h === 0 || !g.visible() || (x = A.getEleLevelForLayerLevel(x, T), I.setImgSmoothing(O, !1), I.drawCachedElement(O, g, null, null, x, $gt), I.setImgSmoothing(O, !0)) }, E1.levelIsComplete = function (y, g) { var x = this, T = x.layersByLevel[y]; if (!T || T.length === 0) return !1; for (var A = 0, I = 0; I < T.length; I++) { var O = T[I]; if (O.reqs > 0 || O.invalid) return !1; A += O.eles.length } return A === g.length }, E1.validateLayersElesOrdering = function (y, g) { var x = this.layersByLevel[y]; if (x) for (var T = 0; T < x.length; T++) { for (var A = x[T], I = -1, O = 0; O < g.length; O++)if (A.eles[0] === g[O]) { I = O; break } if (I < 0) { this.invalidateLayer(A); continue } for (var $ = I, O = 0; O < A.eles.length; O++)if (A.eles[O] !== g[$ + O]) { this.invalidateLayer(A); break } } }, E1.updateElementsInLayers = function (y, g) { for (var x = this, T = _t(y[0]), A = 0; A < y.length; A++)for (var I = T ? null : y[A], O = T ? y[A] : y[A].ele, $ = O._private.rscratch, z = $.imgLayerCaches = $.imgLayerCaches || {}, S = u6; S <= qk; S++) { var V = z[S]; V && (I && x.getEleLevelForLayerLevel(V.level) !== I.level || g(V, O, I)) } }, E1.haveLayers = function () { for (var y = this, g = !1, x = u6; x <= qk; x++) { var T = y.layersByLevel[x]; if (T && T.length > 0) { g = !0; break } } return g }, E1.invalidateElements = function (y) { var g = this; y.length !== 0 && (g.lastInvalidationTime = Ei(), !(y.length === 0 || !g.haveLayers()) && g.updateElementsInLayers(y, function (T, A, I) { g.invalidateLayer(T) })) }, E1.invalidateLayer = function (y) { if (this.lastInvalidationTime = Ei(), !y.invalid) { var g = y.level, x = y.eles, T = this.layersByLevel[g]; dm(T, y), y.elesQueue = [], y.invalid = !0, y.replacement && (y.replacement.invalid = !0); for (var A = 0; A < x.length; A++) { var I = x[A]._private.rscratch.imgLayerCaches; I && (I[g] = null) } } }, E1.refineElementTextures = function (y) { var g = this; g.updateElementsInLayers(y, function (T, A, I) { var O = T.replacement; if (O || (O = T.replacement = g.makeLayer(T.bb, T.level), O.replaces = T, O.eles = T.eles), !O.reqs) for (var $ = 0; $ < O.eles.length; $++)g.queueLayer(O, O.eles[$]) }) }, E1.enqueueElementRefinement = function (y) { this.eleTxrDeqs.merge(y), this.scheduleElementRefinement() }, E1.queueLayer = function (y, g) { var x = this, T = x.layersQueue, A = y.elesQueue, I = A.hasId = A.hasId || {}; if (!y.replacement) { if (g) { if (I[g.id()]) return; A.push(g), I[g.id()] = !0 } y.reqs ? (y.reqs++, T.updateItem(y)) : (y.reqs = 1, T.push(y)) } }, E1.dequeue = function (y) { for (var g = this, x = g.layersQueue, T = [], A = 0; A < Rgt && x.size() !== 0;) { var I = x.peek(); if (I.replacement) { x.pop(); continue } if (I.replaces && I !== I.replaces.replacement) { x.pop(); continue } if (I.invalid) { x.pop(); continue } var O = I.elesQueue.shift(); O && (g.drawEleInLayer(I, O, I.level, y), A++), T.length === 0 && T.push(!0), I.elesQueue.length === 0 && (x.pop(), I.reqs = 0, I.replaces && g.applyLayerReplacement(I), g.requestRedraw()) } return T }, E1.applyLayerReplacement = function (y) { var g = this, x = g.layersByLevel[y.level], T = y.replaces, A = x.indexOf(T); if (!(A < 0 || T.invalid)) { x[A] = y; for (var I = 0; I < y.eles.length; I++) { var O = y.eles[I]._private, $ = O.imgLayerCaches = O.imgLayerCaches || {}; $ && ($[y.level] = y) } g.requestRedraw() } }, E1.requestRedraw = um(function () { var y = this.renderer; y.redrawHint("eles", !0), y.redrawHint("drag", !0), y.redraw() }, 100), E1.setupDequeueing = hT.setupDequeueing({ deqRedrawThreshold: Hk, deqCost: stt, deqAvgCost: Pgt, deqNoDrawCost: Fgt, deqFastCost: Bgt, deq: function (g, x) { return g.dequeue(x) }, onDeqd: fm, shouldRedraw: od, priority: function (g) { return g.renderer.beforeRenderPriorities.lyrTxrDeq } }); var _0 = {}, ctt; function RB(y, g) { for (var x = 0; x < g.length; x++) { var T = g[x]; y.lineTo(T.x, T.y) } } function jB(y, g, x) { for (var T, A = 0; A < g.length; A++) { var I = g[A]; A === 0 && (T = I), y.lineTo(I.x, I.y) } y.quadraticCurveTo(x.x, x.y, T.x, T.y) } function utt(y, g, x) { y.beginPath && y.beginPath(); for (var T = g, A = 0; A < T.length; A++) { var I = T[A]; y.lineTo(I.x, I.y) } var O = x, $ = x[0]; y.moveTo($.x, $.y); for (var A = 1; A < O.length; A++) { var I = O[A]; y.lineTo(I.x, I.y) } y.closePath && y.closePath() } function qgt(y, g, x, T, A) { y.beginPath && y.beginPath(), y.arc(x, T, A, 0, Math.PI * 2, !1); var I = g, O = I[0]; y.moveTo(O.x, O.y); for (var $ = 0; $ < I.length; $++) { var z = I[$]; y.lineTo(z.x, z.y) } y.closePath && y.closePath() } function Hgt(y, g, x, T) { y.arc(g, x, T, 0, Math.PI * 2, !1) } _0.arrowShapeImpl = function (y) { return (ctt || (ctt = { polygon: RB, "triangle-backcurve": jB, "triangle-tee": utt, "circle-triangle": qgt, "triangle-cross": utt, circle: Hgt }))[y] }; var hv = {}; hv.drawElement = function (y, g, x, T, A, I) { var O = this; g.isNode() ? O.drawNode(y, g, x, T, A, I) : O.drawEdge(y, g, x, T, A, I) }, hv.drawElementOverlay = function (y, g) { var x = this; g.isNode() ? x.drawNodeOverlay(y, g) : x.drawEdgeOverlay(y, g) }, hv.drawElementUnderlay = function (y, g) { var x = this; g.isNode() ? x.drawNodeUnderlay(y, g) : x.drawEdgeUnderlay(y, g) }, hv.drawCachedElementPortion = function (y, g, x, T, A, I, O, $) { var z = this, S = x.getBoundingBox(g); if (!(S.w === 0 || S.h === 0)) { var V = x.getElement(g, S, T, A, I); if (V != null) { var U = $(z, g); if (U === 0) return; var tt = O(z, g), at = S.x1, ut = S.y1, dt = S.w, At = S.h, xt, Mt, Dt, Bt, Zt; if (tt !== 0) { var Kt = x.getRotationPoint(g); Dt = Kt.x, Bt = Kt.y, y.translate(Dt, Bt), y.rotate(tt), Zt = z.getImgSmoothing(y), Zt || z.setImgSmoothing(y, !0); var $t = x.getRotationOffset(g); xt = $t.x, Mt = $t.y } else xt = at, Mt = ut; var ee; U !== 1 && (ee = y.globalAlpha, y.globalAlpha = ee * U), y.drawImage(V.texture.canvas, V.x, 0, V.width, V.height, xt, Mt, dt, At), U !== 1 && (y.globalAlpha = ee), tt !== 0 && (y.rotate(-tt), y.translate(-Dt, -Bt), Zt || z.setImgSmoothing(y, !1)) } else x.drawElement(y, g) } }; var eM = function () { return 0 }, pT = function (g, x) { return g.getTextAngle(x, null) }, $B = function (g, x) { return g.getTextAngle(x, "source") }, Vgt = function (g, x) { return g.getTextAngle(x, "target") }, Ggt = function (g, x) { return x.effectiveOpacity() }, zB = function (g, x) { return x.pstyle("text-opacity").pfValue * x.effectiveOpacity() }; hv.drawCachedElement = function (y, g, x, T, A, I) { var O = this, $ = O.data, z = $.eleTxrCache, S = $.lblTxrCache, V = $.slbTxrCache, U = $.tlbTxrCache, tt = g.boundingBox(), at = I === !0 ? z.reasons.highQuality : null; if (!(tt.w === 0 || tt.h === 0 || !g.visible()) && (!T || kL(tt, T))) { var ut = g.isEdge(), dt = g.element()._private.rscratch.badLine; O.drawElementUnderlay(y, g), O.drawCachedElementPortion(y, g, z, x, A, at, eM, Ggt), (!ut || !dt) && O.drawCachedElementPortion(y, g, S, x, A, at, pT, zB), ut && !dt && (O.drawCachedElementPortion(y, g, V, x, A, at, $B, zB), O.drawCachedElementPortion(y, g, U, x, A, at, Vgt, zB)), O.drawElementOverlay(y, g) } }, hv.drawElements = function (y, g) { for (var x = this, T = 0; T < g.length; T++) { var A = g[T]; x.drawElement(y, A) } }, hv.drawCachedElements = function (y, g, x, T) { for (var A = this, I = 0; I < g.length; I++) { var O = g[I]; A.drawCachedElement(y, O, x, T) } }, hv.drawCachedNodes = function (y, g, x, T) { for (var A = this, I = 0; I < g.length; I++) { var O = g[I]; O.isNode() && A.drawCachedElement(y, O, x, T) } }, hv.drawLayeredElements = function (y, g, x, T) { var A = this, I = A.data.lyrTxrCache.getLayers(g, x); if (I) for (var O = 0; O < I.length; O++) { var $ = I[O], z = $.bb; z.w === 0 || z.h === 0 || y.drawImage($.canvas, z.x1, z.y1, z.w, z.h) } else A.drawCachedElements(y, g, x, T) }; var fv = {}; fv.drawEdge = function (y, g, x) { var T = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, A = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, I = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0, O = this, $ = g._private.rscratch; if (!(I && !g.visible()) && !($.badLine || $.allpts == null || isNaN($.allpts[0]))) { var z; x && (z = x, y.translate(-z.x1, -z.y1)); var S = I ? g.pstyle("opacity").value : 1, V = I ? g.pstyle("line-opacity").value : 1, U = g.pstyle("curve-style").value, tt = g.pstyle("line-style").value, at = g.pstyle("width").pfValue, ut = g.pstyle("line-cap").value, dt = S * V, At = S * V, xt = function () { var re = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : dt; U === "straight-triangle" ? (O.eleStrokeStyle(y, g, re), O.drawEdgeTrianglePath(g, y, $.allpts)) : (y.lineWidth = at, y.lineCap = ut, O.eleStrokeStyle(y, g, re), O.drawEdgePath(g, y, $.allpts, tt), y.lineCap = "butt") }, Mt = function () { A && O.drawEdgeOverlay(y, g) }, Dt = function () { A && O.drawEdgeUnderlay(y, g) }, Bt = function () { var re = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : At; O.drawArrowheads(y, g, re) }, Zt = function () { O.drawElementText(y, g, null, T) }; y.lineJoin = "round"; var Kt = g.pstyle("ghost").value === "yes"; if (Kt) { var $t = g.pstyle("ghost-offset-x").pfValue, ee = g.pstyle("ghost-offset-y").pfValue, Ht = g.pstyle("ghost-opacity").value, ge = dt * Ht; y.translate($t, ee), xt(ge), Bt(ge), y.translate(-$t, -ee) } Dt(), xt(), Bt(), Mt(), Zt(), x && y.translate(z.x1, z.y1) } }; var ltt = function (g) { if (!["overlay", "underlay"].includes(g)) throw new Error("Invalid state"); return function (x, T) { if (T.visible()) { var A = T.pstyle("".concat(g, "-opacity")).value; if (A !== 0) { var I = this, O = I.usePaths(), $ = T._private.rscratch, z = T.pstyle("".concat(g, "-padding")).pfValue, S = 2 * z, V = T.pstyle("".concat(g, "-color")).value; x.lineWidth = S, $.edgeType === "self" && !O ? x.lineCap = "butt" : x.lineCap = "round", I.colorStrokeStyle(x, V[0], V[1], V[2], A), I.drawEdgePath(T, x, $.allpts, "solid") } } } }; fv.drawEdgeOverlay = ltt("overlay"), fv.drawEdgeUnderlay = ltt("underlay"), fv.drawEdgePath = function (y, g, x, T) { var A = y._private.rscratch, I = g, O, $ = !1, z = this.usePaths(), S = y.pstyle("line-dash-pattern").pfValue, V = y.pstyle("line-dash-offset").pfValue; if (z) { var U = x.join("$"), tt = A.pathCacheKey && A.pathCacheKey === U; tt ? (O = g = A.pathCache, $ = !0) : (O = g = new Path2D, A.pathCacheKey = U, A.pathCache = O) } if (I.setLineDash) switch (T) { case "dotted": I.setLineDash([1, 1]); break; case "dashed": I.setLineDash(S), I.lineDashOffset = V; break; case "solid": I.setLineDash([]); break }if (!$ && !A.badLine) switch (g.beginPath && g.beginPath(), g.moveTo(x[0], x[1]), A.edgeType) { case "bezier": case "self": case "compound": case "multibezier": for (var at = 2; at + 3 < x.length; at += 4)g.quadraticCurveTo(x[at], x[at + 1], x[at + 2], x[at + 3]); break; case "straight": case "segments": case "haystack": for (var ut = 2; ut + 1 < x.length; ut += 2)g.lineTo(x[ut], x[ut + 1]); break }g = I, z ? g.stroke(O) : g.stroke(), g.setLineDash && g.setLineDash([]) }, fv.drawEdgeTrianglePath = function (y, g, x) { g.fillStyle = g.strokeStyle; for (var T = y.pstyle("width").pfValue, A = 0; A + 1 < x.length; A += 2) { var I = [x[A + 2] - x[A], x[A + 3] - x[A + 1]], O = Math.sqrt(I[0] * I[0] + I[1] * I[1]), $ = [I[1] / O, -I[0] / O], z = [$[0] * T / 2, $[1] * T / 2]; g.beginPath(), g.moveTo(x[A] - z[0], x[A + 1] - z[1]), g.lineTo(x[A] + z[0], x[A + 1] + z[1]), g.lineTo(x[A + 2], x[A + 3]), g.closePath(), g.fill() } }, fv.drawArrowheads = function (y, g, x) { var T = g._private.rscratch, A = T.edgeType === "haystack"; A || this.drawArrowhead(y, g, "source", T.arrowStartX, T.arrowStartY, T.srcArrowAngle, x), this.drawArrowhead(y, g, "mid-target", T.midX, T.midY, T.midtgtArrowAngle, x), this.drawArrowhead(y, g, "mid-source", T.midX, T.midY, T.midsrcArrowAngle, x), A || this.drawArrowhead(y, g, "target", T.arrowEndX, T.arrowEndY, T.tgtArrowAngle, x) }, fv.drawArrowhead = function (y, g, x, T, A, I, O) { if (!(isNaN(T) || T == null || isNaN(A) || A == null || isNaN(I) || I == null)) { var $ = this, z = g.pstyle(x + "-arrow-shape").value; if (z !== "none") { var S = g.pstyle(x + "-arrow-fill").value === "hollow" ? "both" : "filled", V = g.pstyle(x + "-arrow-fill").value, U = g.pstyle("width").pfValue, tt = g.pstyle("opacity").value; O === void 0 && (O = tt); var at = y.globalCompositeOperation; (O !== 1 || V === "hollow") && (y.globalCompositeOperation = "destination-out", $.colorFillStyle(y, 255, 255, 255, 1), $.colorStrokeStyle(y, 255, 255, 255, 1), $.drawArrowShape(g, y, S, U, z, T, A, I), y.globalCompositeOperation = at); var ut = g.pstyle(x + "-arrow-color").value; $.colorFillStyle(y, ut[0], ut[1], ut[2], O), $.colorStrokeStyle(y, ut[0], ut[1], ut[2], O), $.drawArrowShape(g, y, V, U, z, T, A, I) } } }, fv.drawArrowShape = function (y, g, x, T, A, I, O, $) { var z = this, S = this.usePaths() && A !== "triangle-cross", V = !1, U, tt = g, at = { x: I, y: O }, ut = y.pstyle("arrow-scale").value, dt = this.getArrowWidth(T, ut), At = z.arrowShapes[A]; if (S) { var xt = z.arrowPathCache = z.arrowPathCache || [], Mt = ad(A), Dt = xt[Mt]; Dt != null ? (U = g = Dt, V = !0) : (U = g = new Path2D, xt[Mt] = U) } V || (g.beginPath && g.beginPath(), S ? At.draw(g, 1, 0, { x: 0, y: 0 }, 1) : At.draw(g, dt, $, at, T), g.closePath && g.closePath()), g = tt, S && (g.translate(I, O), g.rotate($), g.scale(dt, dt)), (x === "filled" || x === "both") && (S ? g.fill(U) : g.fill()), (x === "hollow" || x === "both") && (g.lineWidth = (At.matchEdgeWidth ? T : 1) / (S ? dt : 1), g.lineJoin = "miter", S ? g.stroke(U) : g.stroke()), S && (g.scale(1 / dt, 1 / dt), g.rotate(-$), g.translate(-I, -O)) }; var bT = {}; bT.safeDrawImage = function (y, g, x, T, A, I, O, $, z, S) { if (!(A <= 0 || I <= 0 || z <= 0 || S <= 0)) try { y.drawImage(g, x, T, A, I, O, $, z, S) } catch (V) { Wo(V) } }, bT.drawInscribedImage = function (y, g, x, T, A) { var I = this, O = x.position(), $ = O.x, z = O.y, S = x.cy().style(), V = S.getIndexedStyle.bind(S), U = V(x, "background-fit", "value", T), tt = V(x, "background-repeat", "value", T), at = x.width(), ut = x.height(), dt = x.padding() * 2, At = at + (V(x, "background-width-relative-to", "value", T) === "inner" ? 0 : dt), xt = ut + (V(x, "background-height-relative-to", "value", T) === "inner" ? 0 : dt), Mt = x._private.rscratch, Dt = V(x, "background-clip", "value", T), Bt = Dt === "node", Zt = V(x, "background-image-opacity", "value", T) * A, Kt = V(x, "background-image-smoothing", "value", T), $t = g.width || g.cachedW, ee = g.height || g.cachedH; ($t == null || ee == null) && (document.body.appendChild(g), $t = g.cachedW = g.width || g.offsetWidth, ee = g.cachedH = g.height || g.offsetHeight, document.body.removeChild(g)); var Ht = $t, ge = ee; if (V(x, "background-width", "value", T) !== "auto" && (V(x, "background-width", "units", T) === "%" ? Ht = V(x, "background-width", "pfValue", T) * At : Ht = V(x, "background-width", "pfValue", T)), V(x, "background-height", "value", T) !== "auto" && (V(x, "background-height", "units", T) === "%" ? ge = V(x, "background-height", "pfValue", T) * xt : ge = V(x, "background-height", "pfValue", T)), !(Ht === 0 || ge === 0)) { if (U === "contain") { var be = Math.min(At / Ht, xt / ge); Ht *= be, ge *= be } else if (U === "cover") { var be = Math.max(At / Ht, xt / ge); Ht *= be, ge *= be } var re = $ - At / 2, Pe = V(x, "background-position-x", "units", T), ve = V(x, "background-position-x", "pfValue", T); Pe === "%" ? re += (At - Ht) * ve : re += ve; var fn = V(x, "background-offset-x", "units", T), $e = V(x, "background-offset-x", "pfValue", T); fn === "%" ? re += (At - Ht) * $e : re += $e; var qe = z - xt / 2, xn = V(x, "background-position-y", "units", T), Nn = V(x, "background-position-y", "pfValue", T); xn === "%" ? qe += (xt - ge) * Nn : qe += Nn; var er = V(x, "background-offset-y", "units", T), Sn = V(x, "background-offset-y", "pfValue", T); er === "%" ? qe += (xt - ge) * Sn : qe += Sn, Mt.pathCache && (re -= $, qe -= z, $ = 0, z = 0); var Jn = y.globalAlpha; y.globalAlpha = Zt; var fr = I.getImgSmoothing(y), Sr = !1; if (Kt === "no" && fr ? (I.setImgSmoothing(y, !1), Sr = !0) : Kt === "yes" && !fr && (I.setImgSmoothing(y, !0), Sr = !0), tt === "no-repeat") Bt && (y.save(), Mt.pathCache ? y.clip(Mt.pathCache) : (I.nodeShapes[I.getNodeShape(x)].draw(y, $, z, At, xt), y.clip())), I.safeDrawImage(y, g, 0, 0, $t, ee, re, qe, Ht, ge), Bt && y.restore(); else { var wr = y.createPattern(g, tt); y.fillStyle = wr, I.nodeShapes[I.getNodeShape(x)].draw(y, $, z, At, xt), y.translate(re, qe), y.fill(), y.translate(-re, -qe) } y.globalAlpha = Jn, Sr && I.setImgSmoothing(y, fr) } }; var l6 = {}; l6.eleTextBiggerThanMin = function (y, g) { if (!g) { var x = y.cy().zoom(), T = this.getPixelRatio(), A = Math.ceil(yL(x * T)); g = Math.pow(2, A) } var I = y.pstyle("font-size").pfValue * g, O = y.pstyle("min-zoomed-font-size").pfValue; return !(I < O) }, l6.drawElementText = function (y, g, x, T, A) { var I = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0, O = this; if (T == null) { if (I && !O.eleTextBiggerThanMin(g)) return } else if (T === !1) return; if (g.isNode()) { var $ = g.pstyle("label"); if (!$ || !$.value) return; var z = O.getLabelJustification(g); y.textAlign = z, y.textBaseline = "bottom" } else { var S = g.element()._private.rscratch.badLine, V = g.pstyle("label"), U = g.pstyle("source-label"), tt = g.pstyle("target-label"); if (S || (!V || !V.value) && (!U || !U.value) && (!tt || !tt.value)) return; y.textAlign = "center", y.textBaseline = "bottom" } var at = !x, ut; x && (ut = x, y.translate(-ut.x1, -ut.y1)), A == null ? (O.drawText(y, g, null, at, I), g.isEdge() && (O.drawText(y, g, "source", at, I), O.drawText(y, g, "target", at, I))) : O.drawText(y, g, A, at, I), x && y.translate(ut.x1, ut.y1) }, l6.getFontCache = function (y) { var g; this.fontCaches = this.fontCaches || []; for (var x = 0; x < this.fontCaches.length; x++)if (g = this.fontCaches[x], g.context === y) return g; return g = { context: y }, this.fontCaches.push(g), g }, l6.setupTextStyle = function (y, g) { var x = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0, T = g.pstyle("font-style").strValue, A = g.pstyle("font-size").pfValue + "px", I = g.pstyle("font-family").strValue, O = g.pstyle("font-weight").strValue, $ = x ? g.effectiveOpacity() * g.pstyle("text-opacity").value : 1, z = g.pstyle("text-outline-opacity").value * $, S = g.pstyle("color").value, V = g.pstyle("text-outline-color").value; y.font = T + " " + O + " " + A + " " + I, y.lineJoin = "round", this.colorFillStyle(y, S[0], S[1], S[2], $), this.colorStrokeStyle(y, V[0], V[1], V[2], z) }; function Ugt(y, g, x, T, A) { var I = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 5; y.beginPath(), y.moveTo(g + I, x), y.lineTo(g + T - I, x), y.quadraticCurveTo(g + T, x, g + T, x + I), y.lineTo(g + T, x + A - I), y.quadraticCurveTo(g + T, x + A, g + T - I, x + A), y.lineTo(g + I, x + A), y.quadraticCurveTo(g, x + A, g, x + A - I), y.lineTo(g, x + I), y.quadraticCurveTo(g, x, g + I, x), y.closePath(), y.fill() } l6.getTextAngle = function (y, g) { var x, T = y._private, A = T.rscratch, I = g ? g + "-" : "", O = y.pstyle(I + "text-rotation"), $ = wp(A, "labelAngle", g); return O.strValue === "autorotate" ? x = y.isEdge() ? $ : 0 : O.strValue === "none" ? x = 0 : x = O.pfValue, x }, l6.drawText = function (y, g, x) { var T = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, A = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, I = g._private, O = I.rscratch, $ = A ? g.effectiveOpacity() : 1; if (!(A && ($ === 0 || g.pstyle("text-opacity").value === 0))) { x === "main" && (x = null); var z = wp(O, "labelX", x), S = wp(O, "labelY", x), V, U, tt = this.getLabelText(g, x); if (tt != null && tt !== "" && !isNaN(z) && !isNaN(S)) { this.setupTextStyle(y, g, A); var at = x ? x + "-" : "", ut = wp(O, "labelWidth", x), dt = wp(O, "labelHeight", x), At = g.pstyle(at + "text-margin-x").pfValue, xt = g.pstyle(at + "text-margin-y").pfValue, Mt = g.isEdge(), Dt = g.pstyle("text-halign").value, Bt = g.pstyle("text-valign").value; Mt && (Dt = "center", Bt = "center"), z += At, S += xt; var Zt; switch (T ? Zt = this.getTextAngle(g, x) : Zt = 0, Zt !== 0 && (V = z, U = S, y.translate(V, U), y.rotate(Zt), z = 0, S = 0), Bt) { case "top": break; case "center": S += dt / 2; break; case "bottom": S += dt; break }var Kt = g.pstyle("text-background-opacity").value, $t = g.pstyle("text-border-opacity").value, ee = g.pstyle("text-border-width").pfValue, Ht = g.pstyle("text-background-padding").pfValue; if (Kt > 0 || ee > 0 && $t > 0) { var ge = z - Ht; switch (Dt) { case "left": ge -= ut; break; case "center": ge -= ut / 2; break }var be = S - dt - Ht, re = ut + 2 * Ht, Pe = dt + 2 * Ht; if (Kt > 0) { var ve = y.fillStyle, fn = g.pstyle("text-background-color").value; y.fillStyle = "rgba(" + fn[0] + "," + fn[1] + "," + fn[2] + "," + Kt * $ + ")"; var $e = g.pstyle("text-background-shape").strValue; $e.indexOf("round") === 0 ? Ugt(y, ge, be, re, Pe, 2) : y.fillRect(ge, be, re, Pe), y.fillStyle = ve } if (ee > 0 && $t > 0) { var qe = y.strokeStyle, xn = y.lineWidth, Nn = g.pstyle("text-border-color").value, er = g.pstyle("text-border-style").value; if (y.strokeStyle = "rgba(" + Nn[0] + "," + Nn[1] + "," + Nn[2] + "," + $t * $ + ")", y.lineWidth = ee, y.setLineDash) switch (er) { case "dotted": y.setLineDash([1, 1]); break; case "dashed": y.setLineDash([4, 2]); break; case "double": y.lineWidth = ee / 4, y.setLineDash([]); break; case "solid": y.setLineDash([]); break }if (y.strokeRect(ge, be, re, Pe), er === "double") { var Sn = ee / 2; y.strokeRect(ge + Sn, be + Sn, re - Sn * 2, Pe - Sn * 2) } y.setLineDash && y.setLineDash([]), y.lineWidth = xn, y.strokeStyle = qe } } var Jn = 2 * g.pstyle("text-outline-width").pfValue; if (Jn > 0 && (y.lineWidth = Jn), g.pstyle("text-wrap").value === "wrap") { var fr = wp(O, "labelWrapCachedLines", x), Sr = wp(O, "labelLineHeight", x), wr = ut / 2, cr = this.getLabelJustification(g); switch (cr === "auto" || (Dt === "left" ? cr === "left" ? z += -ut : cr === "center" && (z += -wr) : Dt === "center" ? cr === "left" ? z += -wr : cr === "right" && (z += wr) : Dt === "right" && (cr === "center" ? z += wr : cr === "right" && (z += ut))), Bt) { case "top": S -= (fr.length - 1) * Sr; break; case "center": case "bottom": S -= (fr.length - 1) * Sr; break }for (var bn = 0; bn < fr.length; bn++)Jn > 0 && y.strokeText(fr[bn], z, S), y.fillText(fr[bn], z, S), S += Sr } else Jn > 0 && y.strokeText(tt, z, S), y.fillText(tt, z, S); Zt !== 0 && (y.rotate(-Zt), y.translate(-V, -U)) } } }; var Vk = {}; Vk.drawNode = function (y, g, x) { var T = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, A = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, I = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0, O = this, $, z, S = g._private, V = S.rscratch, U = g.position(); if (!(!rt(U.x) || !rt(U.y)) && !(I && !g.visible())) { var tt = I ? g.effectiveOpacity() : 1, at = O.usePaths(), ut, dt = !1, At = g.padding(); $ = g.width() + 2 * At, z = g.height() + 2 * At; var xt; x && (xt = x, y.translate(-xt.x1, -xt.y1)); for (var Mt = g.pstyle("background-image"), Dt = Mt.value, Bt = new Array(Dt.length), Zt = new Array(Dt.length), Kt = 0, $t = 0; $t < Dt.length; $t++) { var ee = Dt[$t], Ht = Bt[$t] = ee != null && ee !== "none"; if (Ht) { var ge = g.cy().style().getIndexedStyle(g, "background-image-crossorigin", "value", $t); Kt++, Zt[$t] = O.getCachedImage(ee, ge, function () { S.backgroundTimestamp = Date.now(), g.emitAndNotify("background") }) } } var be = g.pstyle("background-blacken").value, re = g.pstyle("border-width").pfValue, Pe = g.pstyle("background-opacity").value * tt, ve = g.pstyle("border-color").value, fn = g.pstyle("border-style").value, $e = g.pstyle("border-opacity").value * tt; y.lineJoin = "miter"; var qe = function () { var Ri = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : Pe; O.eleFillStyle(y, g, Ri) }, xn = function () { var Ri = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : $e; O.colorStrokeStyle(y, ve[0], ve[1], ve[2], Ri) }, Nn = g.pstyle("shape").strValue, er = g.pstyle("shape-polygon-points").pfValue; if (at) { y.translate(U.x, U.y); var Sn = O.nodePathCache = O.nodePathCache || [], Jn = R5(Nn === "polygon" ? Nn + "," + er.join(",") : Nn, "" + z, "" + $), fr = Sn[Jn]; fr != null ? (ut = fr, dt = !0, V.pathCache = ut) : (ut = new Path2D, Sn[Jn] = V.pathCache = ut) } var Sr = function () { if (!dt) { var Ri = U; at && (Ri = { x: 0, y: 0 }), O.nodeShapes[O.getNodeShape(g)].draw(ut || y, Ri.x, Ri.y, $, z) } at ? y.fill(ut) : y.fill() }, wr = function () { for (var Ri = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : tt, as = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, no = S.backgrounding, ca = 0, ea = 0; ea < Zt.length; ea++) { var Fr = g.cy().style().getIndexedStyle(g, "background-image-containment", "value", ea); if (as && Fr === "over" || !as && Fr === "inside") { ca++; continue } Bt[ea] && Zt[ea].complete && !Zt[ea].error && (ca++, O.drawInscribedImage(y, Zt[ea], g, ea, Ri)) } S.backgrounding = ca !== Kt, no !== S.backgrounding && g.updateStyle(!1) }, cr = function () { var Ri = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1, as = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : tt; O.hasPie(g) && (O.drawPie(y, g, as), Ri && (at || O.nodeShapes[O.getNodeShape(g)].draw(y, U.x, U.y, $, z))) }, bn = function () { var Ri = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : tt, as = (be > 0 ? be : -be) * Ri, no = be > 0 ? 0 : 255; be !== 0 && (O.colorFillStyle(y, no, no, no, as), at ? y.fill(ut) : y.fill()) }, Tr = function () { if (re > 0) { if (y.lineWidth = re, y.lineCap = "butt", y.setLineDash) switch (fn) { case "dotted": y.setLineDash([1, 1]); break; case "dashed": y.setLineDash([4, 2]); break; case "solid": case "double": y.setLineDash([]); break }if (at ? y.stroke(ut) : y.stroke(), fn === "double") { y.lineWidth = re / 3; var Ri = y.globalCompositeOperation; y.globalCompositeOperation = "destination-out", at ? y.stroke(ut) : y.stroke(), y.globalCompositeOperation = Ri } y.setLineDash && y.setLineDash([]) } }, xr = function () { A && O.drawNodeOverlay(y, g, U, $, z) }, fi = function () { A && O.drawNodeUnderlay(y, g, U, $, z) }, Ii = function () { O.drawElementText(y, g, null, T) }, oa = g.pstyle("ghost").value === "yes"; if (oa) { var Fa = g.pstyle("ghost-offset-x").pfValue, Fi = g.pstyle("ghost-offset-y").pfValue, Ci = g.pstyle("ghost-opacity").value, Ls = Ci * tt; y.translate(Fa, Fi), qe(Ci * Pe), Sr(), wr(Ls, !0), xn(Ci * $e), Tr(), cr(be !== 0 || re !== 0), wr(Ls, !1), bn(Ls), y.translate(-Fa, -Fi) } at && y.translate(-U.x, -U.y), fi(), at && y.translate(U.x, U.y), qe(), Sr(), wr(tt, !0), xn(), Tr(), cr(be !== 0 || re !== 0), wr(tt, !1), bn(), at && y.translate(-U.x, -U.y), Ii(), xr(), x && y.translate(xt.x1, xt.y1) } }; var htt = function (g) { if (!["overlay", "underlay"].includes(g)) throw new Error("Invalid state"); return function (x, T, A, I, O) { var $ = this; if (T.visible()) { var z = T.pstyle("".concat(g, "-padding")).pfValue, S = T.pstyle("".concat(g, "-opacity")).value, V = T.pstyle("".concat(g, "-color")).value, U = T.pstyle("".concat(g, "-shape")).value; if (S > 0) { if (A = A || T.position(), I == null || O == null) { var tt = T.padding(); I = T.width() + 2 * tt, O = T.height() + 2 * tt } $.colorFillStyle(x, V[0], V[1], V[2], S), $.nodeShapes[U].draw(x, A.x, A.y, I + z * 2, O + z * 2), x.fill() } } } }; Vk.drawNodeOverlay = htt("overlay"), Vk.drawNodeUnderlay = htt("underlay"), Vk.hasPie = function (y) { return y = y[0], y._private.hasPie }, Vk.drawPie = function (y, g, x, T) { g = g[0], T = T || g.position(); var A = g.cy().style(), I = g.pstyle("pie-size"), O = T.x, $ = T.y, z = g.width(), S = g.height(), V = Math.min(z, S) / 2, U = 0, tt = this.usePaths(); tt && (O = 0, $ = 0), I.units === "%" ? V = V * I.pfValue : I.pfValue !== void 0 && (V = I.pfValue / 2); for (var at = 1; at <= A.pieBackgroundN; at++) { var ut = g.pstyle("pie-" + at + "-background-size").value, dt = g.pstyle("pie-" + at + "-background-color").value, At = g.pstyle("pie-" + at + "-background-opacity").value * x, xt = ut / 100; xt + U > 1 && (xt = 1 - U); var Mt = 1.5 * Math.PI + 2 * Math.PI * U, Dt = 2 * Math.PI * xt, Bt = Mt + Dt; ut === 0 || U >= 1 || U + xt > 1 || (y.beginPath(), y.moveTo(O, $), y.arc(O, $, V, Mt, Bt), y.closePath(), this.colorFillStyle(y, dt[0], dt[1], dt[2], At), y.fill(), U += xt) } }; var bg = {}, Wgt = 100; bg.getPixelRatio = function () { var y = this.data.contexts[0]; if (this.forcedPixelRatio != null) return this.forcedPixelRatio; var g = y.backingStorePixelRatio || y.webkitBackingStorePixelRatio || y.mozBackingStorePixelRatio || y.msBackingStorePixelRatio || y.oBackingStorePixelRatio || y.backingStorePixelRatio || 1; return (window.devicePixelRatio || 1) / g }, bg.paintCache = function (y) { for (var g = this.paintCaches = this.paintCaches || [], x = !0, T, A = 0; A < g.length; A++)if (T = g[A], T.context === y) { x = !1; break } return x && (T = { context: y }, g.push(T)), T }, bg.createGradientStyleFor = function (y, g, x, T, A) { var I, O = this.usePaths(), $ = x.pstyle(g + "-gradient-stop-colors").value, z = x.pstyle(g + "-gradient-stop-positions").pfValue; if (T === "radial-gradient") if (x.isEdge()) { var S = x.sourceEndpoint(), V = x.targetEndpoint(), U = x.midpoint(), tt = E3(S, U), at = E3(V, U); I = y.createRadialGradient(U.x, U.y, 0, U.x, U.y, Math.max(tt, at)) } else { var ut = O ? { x: 0, y: 0 } : x.position(), dt = x.paddedWidth(), At = x.paddedHeight(); I = y.createRadialGradient(ut.x, ut.y, 0, ut.x, ut.y, Math.max(dt, At)) } else if (x.isEdge()) { var xt = x.sourceEndpoint(), Mt = x.targetEndpoint(); I = y.createLinearGradient(xt.x, xt.y, Mt.x, Mt.y) } else { var Dt = O ? { x: 0, y: 0 } : x.position(), Bt = x.paddedWidth(), Zt = x.paddedHeight(), Kt = Bt / 2, $t = Zt / 2, ee = x.pstyle("background-gradient-direction").value; switch (ee) { case "to-bottom": I = y.createLinearGradient(Dt.x, Dt.y - $t, Dt.x, Dt.y + $t); break; case "to-top": I = y.createLinearGradient(Dt.x, Dt.y + $t, Dt.x, Dt.y - $t); break; case "to-left": I = y.createLinearGradient(Dt.x + Kt, Dt.y, Dt.x - Kt, Dt.y); break; case "to-right": I = y.createLinearGradient(Dt.x - Kt, Dt.y, Dt.x + Kt, Dt.y); break; case "to-bottom-right": case "to-right-bottom": I = y.createLinearGradient(Dt.x - Kt, Dt.y - $t, Dt.x + Kt, Dt.y + $t); break; case "to-top-right": case "to-right-top": I = y.createLinearGradient(Dt.x - Kt, Dt.y + $t, Dt.x + Kt, Dt.y - $t); break; case "to-bottom-left": case "to-left-bottom": I = y.createLinearGradient(Dt.x + Kt, Dt.y - $t, Dt.x - Kt, Dt.y + $t); break; case "to-top-left": case "to-left-top": I = y.createLinearGradient(Dt.x + Kt, Dt.y + $t, Dt.x - Kt, Dt.y - $t); break } } if (!I) return null; for (var Ht = z.length === $.length, ge = $.length, be = 0; be < ge; be++)I.addColorStop(Ht ? z[be] : be / (ge - 1), "rgba(" + $[be][0] + "," + $[be][1] + "," + $[be][2] + "," + A + ")"); return I }, bg.gradientFillStyle = function (y, g, x, T) { var A = this.createGradientStyleFor(y, "background", g, x, T); if (!A) return null; y.fillStyle = A }, bg.colorFillStyle = function (y, g, x, T, A) { y.fillStyle = "rgba(" + g + "," + x + "," + T + "," + A + ")" }, bg.eleFillStyle = function (y, g, x) { var T = g.pstyle("background-fill").value; if (T === "linear-gradient" || T === "radial-gradient") this.gradientFillStyle(y, g, T, x); else { var A = g.pstyle("background-color").value; this.colorFillStyle(y, A[0], A[1], A[2], x) } }, bg.gradientStrokeStyle = function (y, g, x, T) { var A = this.createGradientStyleFor(y, "line", g, x, T); if (!A) return null; y.strokeStyle = A }, bg.colorStrokeStyle = function (y, g, x, T, A) { y.strokeStyle = "rgba(" + g + "," + x + "," + T + "," + A + ")" }, bg.eleStrokeStyle = function (y, g, x) { var T = g.pstyle("line-fill").value; if (T === "linear-gradient" || T === "radial-gradient") this.gradientStrokeStyle(y, g, T, x); else { var A = g.pstyle("line-color").value; this.colorStrokeStyle(y, A[0], A[1], A[2], x) } }, bg.matchCanvasSize = function (y) { var g = this, x = g.data, T = g.findContainerClientCoords(), A = T[2], I = T[3], O = g.getPixelRatio(), $ = g.motionBlurPxRatio; (y === g.data.bufferCanvases[g.MOTIONBLUR_BUFFER_NODE] || y === g.data.bufferCanvases[g.MOTIONBLUR_BUFFER_DRAG]) && (O = $); var z = A * O, S = I * O, V; if (!(z === g.canvasWidth && S === g.canvasHeight)) { g.fontCaches = null; var U = x.canvasContainer; U.style.width = A + "px", U.style.height = I + "px"; for (var tt = 0; tt < g.CANVAS_LAYERS; tt++)V = x.canvases[tt], V.width = z, V.height = S, V.style.width = A + "px", V.style.height = I + "px"; for (var tt = 0; tt < g.BUFFER_COUNT; tt++)V = x.bufferCanvases[tt], V.width = z, V.height = S, V.style.width = A + "px", V.style.height = I + "px"; g.textureMult = 1, O <= 1 && (V = x.bufferCanvases[g.TEXTURE_BUFFER], g.textureMult = 2, V.width = z * g.textureMult, V.height = S * g.textureMult), g.canvasWidth = z, g.canvasHeight = S } }, bg.renderTo = function (y, g, x, T) { this.render({ forcedContext: y, forcedZoom: g, forcedPan: x, drawAllLayers: !0, forcedPxRatio: T }) }, bg.render = function (y) { y = y || jP(); var g = y.forcedContext, x = y.drawAllLayers, T = y.drawOnlyNodeLayer, A = y.forcedZoom, I = y.forcedPan, O = this, $ = y.forcedPxRatio === void 0 ? this.getPixelRatio() : y.forcedPxRatio, z = O.cy, S = O.data, V = S.canvasNeedsRedraw, U = O.textureOnViewport && !g && (O.pinching || O.hoverData.dragging || O.swipePanning || O.data.wheelZooming), tt = y.motionBlur !== void 0 ? y.motionBlur : O.motionBlur, at = O.motionBlurPxRatio, ut = z.hasCompoundNodes(), dt = O.hoverData.draggingEles, At = !!(O.hoverData.selecting || O.touchData.selecting); tt = tt && !g && O.motionBlurEnabled && !At; var xt = tt; g || (O.prevPxRatio !== $ && (O.invalidateContainerClientCoordsCache(), O.matchCanvasSize(O.container), O.redrawHint("eles", !0), O.redrawHint("drag", !0)), O.prevPxRatio = $), !g && O.motionBlurTimeout && clearTimeout(O.motionBlurTimeout), tt && (O.mbFrames == null && (O.mbFrames = 0), O.mbFrames++, O.mbFrames < 3 && (xt = !1), O.mbFrames > O.minMbLowQualFrames && (O.motionBlurPxRatio = O.mbPxRBlurry)), O.clearingMotionBlur && (O.motionBlurPxRatio = 1), O.textureDrawLastFrame && !U && (V[O.NODE] = !0, V[O.SELECT_BOX] = !0); var Mt = z.style(), Dt = z.zoom(), Bt = A !== void 0 ? A : Dt, Zt = z.pan(), Kt = { x: Zt.x, y: Zt.y }, $t = { zoom: Dt, pan: { x: Zt.x, y: Zt.y } }, ee = O.prevViewport, Ht = ee === void 0 || $t.zoom !== ee.zoom || $t.pan.x !== ee.pan.x || $t.pan.y !== ee.pan.y; !Ht && !(dt && !ut) && (O.motionBlurPxRatio = 1), I && (Kt = I), Bt *= $, Kt.x *= $, Kt.y *= $; var ge = O.getCachedZSortedEles(); function be(Fi, Ci, Ls, es, Ri) { var as = Fi.globalCompositeOperation; Fi.globalCompositeOperation = "destination-out", O.colorFillStyle(Fi, 255, 255, 255, O.motionBlurTransparency), Fi.fillRect(Ci, Ls, es, Ri), Fi.globalCompositeOperation = as } function re(Fi, Ci) { var Ls, es, Ri, as; !O.clearingMotionBlur && (Fi === S.bufferContexts[O.MOTIONBLUR_BUFFER_NODE] || Fi === S.bufferContexts[O.MOTIONBLUR_BUFFER_DRAG]) ? (Ls = { x: Zt.x * at, y: Zt.y * at }, es = Dt * at, Ri = O.canvasWidth * at, as = O.canvasHeight * at) : (Ls = Kt, es = Bt, Ri = O.canvasWidth, as = O.canvasHeight), Fi.setTransform(1, 0, 0, 1, 0, 0), Ci === "motionBlur" ? be(Fi, 0, 0, Ri, as) : !g && (Ci === void 0 || Ci) && Fi.clearRect(0, 0, Ri, as), x || (Fi.translate(Ls.x, Ls.y), Fi.scale(es, es)), I && Fi.translate(I.x, I.y), A && Fi.scale(A, A) } if (U || (O.textureDrawLastFrame = !1), U) { if (O.textureDrawLastFrame = !0, !O.textureCache) { O.textureCache = {}, O.textureCache.bb = z.mutableElements().boundingBox(), O.textureCache.texture = O.data.bufferCanvases[O.TEXTURE_BUFFER]; var Pe = O.data.bufferContexts[O.TEXTURE_BUFFER]; Pe.setTransform(1, 0, 0, 1, 0, 0), Pe.clearRect(0, 0, O.canvasWidth * O.textureMult, O.canvasHeight * O.textureMult), O.render({ forcedContext: Pe, drawOnlyNodeLayer: !0, forcedPxRatio: $ * O.textureMult }); var $t = O.textureCache.viewport = { zoom: z.zoom(), pan: z.pan(), width: O.canvasWidth, height: O.canvasHeight }; $t.mpan = { x: (0 - $t.pan.x) / $t.zoom, y: (0 - $t.pan.y) / $t.zoom } } V[O.DRAG] = !1, V[O.NODE] = !1; var ve = S.contexts[O.NODE], fn = O.textureCache.texture, $t = O.textureCache.viewport; ve.setTransform(1, 0, 0, 1, 0, 0), tt ? be(ve, 0, 0, $t.width, $t.height) : ve.clearRect(0, 0, $t.width, $t.height); var $e = Mt.core("outside-texture-bg-color").value, qe = Mt.core("outside-texture-bg-opacity").value; O.colorFillStyle(ve, $e[0], $e[1], $e[2], qe), ve.fillRect(0, 0, $t.width, $t.height); var Dt = z.zoom(); re(ve, !1), ve.clearRect($t.mpan.x, $t.mpan.y, $t.width / $t.zoom / $, $t.height / $t.zoom / $), ve.drawImage(fn, $t.mpan.x, $t.mpan.y, $t.width / $t.zoom / $, $t.height / $t.zoom / $) } else O.textureOnViewport && !g && (O.textureCache = null); var xn = z.extent(), Nn = O.pinching || O.hoverData.dragging || O.swipePanning || O.data.wheelZooming || O.hoverData.draggingEles || O.cy.animated(), er = O.hideEdgesOnViewport && Nn, Sn = []; if (Sn[O.NODE] = !V[O.NODE] && tt && !O.clearedForMotionBlur[O.NODE] || O.clearingMotionBlur, Sn[O.NODE] && (O.clearedForMotionBlur[O.NODE] = !0), Sn[O.DRAG] = !V[O.DRAG] && tt && !O.clearedForMotionBlur[O.DRAG] || O.clearingMotionBlur, Sn[O.DRAG] && (O.clearedForMotionBlur[O.DRAG] = !0), V[O.NODE] || x || T || Sn[O.NODE]) { var Jn = tt && !Sn[O.NODE] && at !== 1, ve = g || (Jn ? O.data.bufferContexts[O.MOTIONBLUR_BUFFER_NODE] : S.contexts[O.NODE]), fr = tt && !Jn ? "motionBlur" : void 0; re(ve, fr), er ? O.drawCachedNodes(ve, ge.nondrag, $, xn) : O.drawLayeredElements(ve, ge.nondrag, $, xn), O.debug && O.drawDebugPoints(ve, ge.nondrag), !x && !tt && (V[O.NODE] = !1) } if (!T && (V[O.DRAG] || x || Sn[O.DRAG])) { var Jn = tt && !Sn[O.DRAG] && at !== 1, ve = g || (Jn ? O.data.bufferContexts[O.MOTIONBLUR_BUFFER_DRAG] : S.contexts[O.DRAG]); re(ve, tt && !Jn ? "motionBlur" : void 0), er ? O.drawCachedNodes(ve, ge.drag, $, xn) : O.drawCachedElements(ve, ge.drag, $, xn), O.debug && O.drawDebugPoints(ve, ge.drag), !x && !tt && (V[O.DRAG] = !1) } if (O.showFps || !T && V[O.SELECT_BOX] && !x) { var ve = g || S.contexts[O.SELECT_BOX]; if (re(ve), O.selection[4] == 1 && (O.hoverData.selecting || O.touchData.selecting)) { var Dt = O.cy.zoom(), Sr = Mt.core("selection-box-border-width").value / Dt; ve.lineWidth = Sr, ve.fillStyle = "rgba(" + Mt.core("selection-box-color").value[0] + "," + Mt.core("selection-box-color").value[1] + "," + Mt.core("selection-box-color").value[2] + "," + Mt.core("selection-box-opacity").value + ")", ve.fillRect(O.selection[0], O.selection[1], O.selection[2] - O.selection[0], O.selection[3] - O.selection[1]), Sr > 0 && (ve.strokeStyle = "rgba(" + Mt.core("selection-box-border-color").value[0] + "," + Mt.core("selection-box-border-color").value[1] + "," + Mt.core("selection-box-border-color").value[2] + "," + Mt.core("selection-box-opacity").value + ")", ve.strokeRect(O.selection[0], O.selection[1], O.selection[2] - O.selection[0], O.selection[3] - O.selection[1])) } if (S.bgActivePosistion && !O.hoverData.selecting) { var Dt = O.cy.zoom(), wr = S.bgActivePosistion; ve.fillStyle = "rgba(" + Mt.core("active-bg-color").value[0] + "," + Mt.core("active-bg-color").value[1] + "," + Mt.core("active-bg-color").value[2] + "," + Mt.core("active-bg-opacity").value + ")", ve.beginPath(), ve.arc(wr.x, wr.y, Mt.core("active-bg-size").pfValue / Dt, 0, 2 * Math.PI), ve.fill() } var cr = O.lastRedrawTime; if (O.showFps && cr) { cr = Math.round(cr); var bn = Math.round(1e3 / cr); ve.setTransform(1, 0, 0, 1, 0, 0), ve.fillStyle = "rgba(255, 0, 0, 0.75)", ve.strokeStyle = "rgba(255, 0, 0, 0.75)", ve.lineWidth = 1, ve.fillText("1 frame = " + cr + " ms = " + bn + " fps", 0, 20); var Tr = 60; ve.strokeRect(0, 30, 250, 20), ve.fillRect(0, 30, 250 * Math.min(bn / Tr, 1), 20) } x || (V[O.SELECT_BOX] = !1) } if (tt && at !== 1) { var xr = S.contexts[O.NODE], fi = O.data.bufferCanvases[O.MOTIONBLUR_BUFFER_NODE], Ii = S.contexts[O.DRAG], oa = O.data.bufferCanvases[O.MOTIONBLUR_BUFFER_DRAG], Fa = function (Ci, Ls, es) { Ci.setTransform(1, 0, 0, 1, 0, 0), es || !xt ? Ci.clearRect(0, 0, O.canvasWidth, O.canvasHeight) : be(Ci, 0, 0, O.canvasWidth, O.canvasHeight); var Ri = at; Ci.drawImage(Ls, 0, 0, O.canvasWidth * Ri, O.canvasHeight * Ri, 0, 0, O.canvasWidth, O.canvasHeight) }; (V[O.NODE] || Sn[O.NODE]) && (Fa(xr, fi, Sn[O.NODE]), V[O.NODE] = !1), (V[O.DRAG] || Sn[O.DRAG]) && (Fa(Ii, oa, Sn[O.DRAG]), V[O.DRAG] = !1) } O.prevViewport = $t, O.clearingMotionBlur && (O.clearingMotionBlur = !1, O.motionBlurCleared = !0, O.motionBlur = !0), tt && (O.motionBlurTimeout = setTimeout(function () { O.motionBlurTimeout = null, O.clearedForMotionBlur[O.NODE] = !1, O.clearedForMotionBlur[O.DRAG] = !1, O.motionBlur = !1, O.clearingMotionBlur = !U, O.mbFrames = 0, V[O.NODE] = !0, V[O.DRAG] = !0, O.redraw() }, Wgt)), g || z.emit("render") }; var D3 = {}; D3.drawPolygonPath = function (y, g, x, T, A, I) { var O = T / 2, $ = A / 2; y.beginPath && y.beginPath(), y.moveTo(g + O * I[0], x + $ * I[1]); for (var z = 1; z < I.length / 2; z++)y.lineTo(g + O * I[z * 2], x + $ * I[z * 2 + 1]); y.closePath() }, D3.drawRoundPolygonPath = function (y, g, x, T, A, I) { var O = T / 2, $ = A / 2, z = _L(T, A); y.beginPath && y.beginPath(); for (var S = 0; S < I.length / 4; S++) { var V = void 0, U = void 0; S === 0 ? V = I.length - 2 : V = S * 4 - 2, U = S * 4 + 2; var tt = g + O * I[S * 4], at = x + $ * I[S * 4 + 1], ut = -I[V] * I[U] - I[V + 1] * I[U + 1], dt = z / Math.tan(Math.acos(ut) / 2), At = tt - dt * I[V], xt = at - dt * I[V + 1], Mt = tt + dt * I[U], Dt = at + dt * I[U + 1]; S === 0 ? y.moveTo(At, xt) : y.lineTo(At, xt), y.arcTo(tt, at, Mt, Dt, z) } y.closePath() }, D3.drawRoundRectanglePath = function (y, g, x, T, A) { var I = T / 2, O = A / 2, $ = xk(T, A); y.beginPath && y.beginPath(), y.moveTo(g, x - O), y.arcTo(g + I, x - O, g + I, x, $), y.arcTo(g + I, x + O, g, x + O, $), y.arcTo(g - I, x + O, g - I, x, $), y.arcTo(g - I, x - O, g, x - O, $), y.lineTo(g, x - O), y.closePath() }, D3.drawBottomRoundRectanglePath = function (y, g, x, T, A) { var I = T / 2, O = A / 2, $ = xk(T, A); y.beginPath && y.beginPath(), y.moveTo(g, x - O), y.lineTo(g + I, x - O), y.lineTo(g + I, x), y.arcTo(g + I, x + O, g, x + O, $), y.arcTo(g - I, x + O, g - I, x, $), y.lineTo(g - I, x - O), y.lineTo(g, x - O), y.closePath() }, D3.drawCutRectanglePath = function (y, g, x, T, A) { var I = T / 2, O = A / 2, $ = XP(); y.beginPath && y.beginPath(), y.moveTo(g - I + $, x - O), y.lineTo(g + I - $, x - O), y.lineTo(g + I, x - O + $), y.lineTo(g + I, x + O - $), y.lineTo(g + I - $, x + O), y.lineTo(g - I + $, x + O), y.lineTo(g - I, x + O - $), y.lineTo(g - I, x - O + $), y.closePath() }, D3.drawBarrelPath = function (y, g, x, T, A) { var I = T / 2, O = A / 2, $ = g - I, z = g + I, S = x - O, V = x + O, U = CL(T, A), tt = U.widthOffset, at = U.heightOffset, ut = U.ctrlPtOffsetPct * tt; y.beginPath && y.beginPath(), y.moveTo($, S + at), y.lineTo($, V - at), y.quadraticCurveTo($ + ut, V, $ + tt, V), y.lineTo(z - tt, V), y.quadraticCurveTo(z - ut, V, z, V - at), y.lineTo(z, S + at), y.quadraticCurveTo(z - ut, S, z - tt, S), y.lineTo($ + tt, S), y.quadraticCurveTo($ + ut, S, $, S + at), y.closePath() }; for (var ftt = Math.sin(0), dtt = Math.cos(0), qB = {}, HB = {}, gtt = Math.PI / 40, Gk = 0 * Math.PI; Gk < 2 * Math.PI; Gk += gtt)qB[Gk] = Math.sin(Gk), HB[Gk] = Math.cos(Gk); D3.drawEllipsePath = function (y, g, x, T, A) { if (y.beginPath && y.beginPath(), y.ellipse) y.ellipse(g, x, T / 2, A / 2, 0, 0, 2 * Math.PI); else for (var I, O, $ = T / 2, z = A / 2, S = 0 * Math.PI; S < 2 * Math.PI; S += gtt)I = g - $ * qB[S] * ftt + $ * HB[S] * dtt, O = x + z * HB[S] * ftt + z * qB[S] * dtt, S === 0 ? y.moveTo(I, O) : y.lineTo(I, O); y.closePath() }; var vT = {}; vT.createBuffer = function (y, g) { var x = document.createElement("canvas"); return x.width = y, x.height = g, [x, x.getContext("2d")] }, vT.bufferCanvasImage = function (y) { var g = this.cy, x = g.mutableElements(), T = x.boundingBox(), A = this.findContainerClientCoords(), I = y.full ? Math.ceil(T.w) : A[2], O = y.full ? Math.ceil(T.h) : A[3], $ = rt(y.maxWidth) || rt(y.maxHeight), z = this.getPixelRatio(), S = 1; if (y.scale !== void 0) I *= y.scale, O *= y.scale, S = y.scale; else if ($) { var V = 1 / 0, U = 1 / 0; rt(y.maxWidth) && (V = S * y.maxWidth / I), rt(y.maxHeight) && (U = S * y.maxHeight / O), S = Math.min(V, U), I *= S, O *= S } $ || (I *= z, O *= z, S *= z); var tt = document.createElement("canvas"); tt.width = I, tt.height = O, tt.style.width = I + "px", tt.style.height = O + "px"; var at = tt.getContext("2d"); if (I > 0 && O > 0) { at.clearRect(0, 0, I, O), at.globalCompositeOperation = "source-over"; var ut = this.getCachedZSortedEles(); if (y.full) at.translate(-T.x1 * S, -T.y1 * S), at.scale(S, S), this.drawElements(at, ut), at.scale(1 / S, 1 / S), at.translate(T.x1 * S, T.y1 * S); else { var dt = g.pan(), At = { x: dt.x * S, y: dt.y * S }; S *= g.zoom(), at.translate(At.x, At.y), at.scale(S, S), this.drawElements(at, ut), at.scale(1 / S, 1 / S), at.translate(-At.x, -At.y) } y.bg && (at.globalCompositeOperation = "destination-over", at.fillStyle = y.bg, at.rect(0, 0, I, O), at.fill()) } return tt }; function Kgt(y, g) { for (var x = atob(y), T = new ArrayBuffer(x.length), A = new Uint8Array(T), I = 0; I < x.length; I++)A[I] = x.charCodeAt(I); return new Blob([T], { type: g }) } function ptt(y) { var g = y.indexOf(","); return y.substr(g + 1) } function btt(y, g, x) { var T = function () { return g.toDataURL(x, y.quality) }; switch (y.output) { case "blob-promise": return new W5(function (A, I) { try { g.toBlob(function (O) { O != null ? A(O) : I(new Error("`canvas.toBlob()` sent a null value in its callback")) }, x, y.quality) } catch (O) { I(O) } }); case "blob": return Kgt(ptt(T()), x); case "base64": return ptt(T()); case "base64uri": default: return T() } } vT.png = function (y) { return btt(y, this.bufferCanvasImage(y), "image/png") }, vT.jpg = function (y) { return btt(y, this.bufferCanvasImage(y), "image/jpeg") }; var vtt = {}; vtt.nodeShapeImpl = function (y, g, x, T, A, I, O) { switch (y) { case "ellipse": return this.drawEllipsePath(g, x, T, A, I); case "polygon": return this.drawPolygonPath(g, x, T, A, I, O); case "round-polygon": return this.drawRoundPolygonPath(g, x, T, A, I, O); case "roundrectangle": case "round-rectangle": return this.drawRoundRectanglePath(g, x, T, A, I); case "cutrectangle": case "cut-rectangle": return this.drawCutRectanglePath(g, x, T, A, I); case "bottomroundrectangle": case "bottom-round-rectangle": return this.drawBottomRoundRectanglePath(g, x, T, A, I); case "barrel": return this.drawBarrelPath(g, x, T, A, I) } }; var Ygt = VB, Dc = VB.prototype; Dc.CANVAS_LAYERS = 3, Dc.SELECT_BOX = 0, Dc.DRAG = 1, Dc.NODE = 2, Dc.BUFFER_COUNT = 3, Dc.TEXTURE_BUFFER = 0, Dc.MOTIONBLUR_BUFFER_NODE = 1, Dc.MOTIONBLUR_BUFFER_DRAG = 2; function VB(y) { var g = this; g.data = { canvases: new Array(Dc.CANVAS_LAYERS), contexts: new Array(Dc.CANVAS_LAYERS), canvasNeedsRedraw: new Array(Dc.CANVAS_LAYERS), bufferCanvases: new Array(Dc.BUFFER_COUNT), bufferContexts: new Array(Dc.CANVAS_LAYERS) }; var x = "-webkit-tap-highlight-color", T = "rgba(0,0,0,0)"; g.data.canvasContainer = document.createElement("div"); var A = g.data.canvasContainer.style; g.data.canvasContainer.style[x] = T, A.position = "relative", A.zIndex = "0", A.overflow = "hidden"; var I = y.cy.container(); I.appendChild(g.data.canvasContainer), I.style[x] = T; var O = { "-webkit-user-select": "none", "-moz-user-select": "-moz-none", "user-select": "none", "-webkit-tap-highlight-color": "rgba(0,0,0,0)", "outline-style": "none" }; Nt() && (O["-ms-touch-action"] = "none", O["touch-action"] = "none"); for (var $ = 0; $ < Dc.CANVAS_LAYERS; $++) { var z = g.data.canvases[$] = document.createElement("canvas"); g.data.contexts[$] = z.getContext("2d"), Object.keys(O).forEach(function (cr) { z.style[cr] = O[cr] }), z.style.position = "absolute", z.setAttribute("data-id", "layer" + $), z.style.zIndex = String(Dc.CANVAS_LAYERS - $), g.data.canvasContainer.appendChild(z), g.data.canvasNeedsRedraw[$] = !1 } g.data.topCanvas = g.data.canvases[0], g.data.canvases[Dc.NODE].setAttribute("data-id", "layer" + Dc.NODE + "-node"), g.data.canvases[Dc.SELECT_BOX].setAttribute("data-id", "layer" + Dc.SELECT_BOX + "-selectbox"), g.data.canvases[Dc.DRAG].setAttribute("data-id", "layer" + Dc.DRAG + "-drag"); for (var $ = 0; $ < Dc.BUFFER_COUNT; $++)g.data.bufferCanvases[$] = document.createElement("canvas"), g.data.bufferContexts[$] = g.data.bufferCanvases[$].getContext("2d"), g.data.bufferCanvases[$].style.position = "absolute", g.data.bufferCanvases[$].setAttribute("data-id", "buffer" + $), g.data.bufferCanvases[$].style.zIndex = String(-$ - 1), g.data.bufferCanvases[$].style.visibility = "hidden"; g.pathsEnabled = !0; var S = zd(), V = function (bn) { return { x: (bn.x1 + bn.x2) / 2, y: (bn.y1 + bn.y2) / 2 } }, U = function (bn) { return { x: -bn.w / 2, y: -bn.h / 2 } }, tt = function (bn) { var Tr = bn[0]._private, xr = Tr.oldBackgroundTimestamp === Tr.backgroundTimestamp; return !xr }, at = function (bn) { return bn[0]._private.nodeKey }, ut = function (bn) { return bn[0]._private.labelStyleKey }, dt = function (bn) { return bn[0]._private.sourceLabelStyleKey }, At = function (bn) { return bn[0]._private.targetLabelStyleKey }, xt = function (bn, Tr, xr, fi, Ii) { return g.drawElement(bn, Tr, xr, !1, !1, Ii) }, Mt = function (bn, Tr, xr, fi, Ii) { return g.drawElementText(bn, Tr, xr, fi, "main", Ii) }, Dt = function (bn, Tr, xr, fi, Ii) { return g.drawElementText(bn, Tr, xr, fi, "source", Ii) }, Bt = function (bn, Tr, xr, fi, Ii) { return g.drawElementText(bn, Tr, xr, fi, "target", Ii) }, Zt = function (bn) { return bn.boundingBox(), bn[0]._private.bodyBounds }, Kt = function (bn) { return bn.boundingBox(), bn[0]._private.labelBounds.main || S }, $t = function (bn) { return bn.boundingBox(), bn[0]._private.labelBounds.source || S }, ee = function (bn) { return bn.boundingBox(), bn[0]._private.labelBounds.target || S }, Ht = function (bn, Tr) { return Tr }, ge = function (bn) { return V(Zt(bn)) }, be = function (bn, Tr, xr) { var fi = bn ? bn + "-" : ""; return { x: Tr.x + xr.pstyle(fi + "text-margin-x").pfValue, y: Tr.y + xr.pstyle(fi + "text-margin-y").pfValue } }, re = function (bn, Tr, xr) { var fi = bn[0]._private.rscratch; return { x: fi[Tr], y: fi[xr] } }, Pe = function (bn) { return be("", re(bn, "labelX", "labelY"), bn) }, ve = function (bn) { return be("source", re(bn, "sourceLabelX", "sourceLabelY"), bn) }, fn = function (bn) { return be("target", re(bn, "targetLabelX", "targetLabelY"), bn) }, $e = function (bn) { return U(Zt(bn)) }, qe = function (bn) { return U($t(bn)) }, xn = function (bn) { return U(ee(bn)) }, Nn = function (bn) { var Tr = Kt(bn), xr = U(Kt(bn)); if (bn.isNode()) { switch (bn.pstyle("text-halign").value) { case "left": xr.x = -Tr.w; break; case "right": xr.x = 0; break }switch (bn.pstyle("text-valign").value) { case "top": xr.y = -Tr.h; break; case "bottom": xr.y = 0; break } } return xr }, er = g.data.eleTxrCache = new zk(g, { getKey: at, doesEleInvalidateKey: tt, drawElement: xt, getBoundingBox: Zt, getRotationPoint: ge, getRotationOffset: $e, allowEdgeTxrCaching: !1, allowParentTxrCaching: !1 }), Sn = g.data.lblTxrCache = new zk(g, { getKey: ut, drawElement: Mt, getBoundingBox: Kt, getRotationPoint: Pe, getRotationOffset: Nn, isVisible: Ht }), Jn = g.data.slbTxrCache = new zk(g, { getKey: dt, drawElement: Dt, getBoundingBox: $t, getRotationPoint: ve, getRotationOffset: qe, isVisible: Ht }), fr = g.data.tlbTxrCache = new zk(g, { getKey: At, drawElement: Bt, getBoundingBox: ee, getRotationPoint: fn, getRotationOffset: xn, isVisible: Ht }), Sr = g.data.lyrTxrCache = new att(g); g.onUpdateEleCalcs(function (bn, Tr) { er.invalidateElements(Tr), Sn.invalidateElements(Tr), Jn.invalidateElements(Tr), fr.invalidateElements(Tr), Sr.invalidateElements(Tr); for (var xr = 0; xr < Tr.length; xr++) { var fi = Tr[xr]._private; fi.oldBackgroundTimestamp = fi.backgroundTimestamp } }); var wr = function (bn) { for (var Tr = 0; Tr < bn.length; Tr++)Sr.enqueueElementRefinement(bn[Tr].ele) }; er.onDequeue(wr), Sn.onDequeue(wr), Jn.onDequeue(wr), fr.onDequeue(wr) } Dc.redrawHint = function (y, g) { var x = this; switch (y) { case "eles": x.data.canvasNeedsRedraw[Dc.NODE] = g; break; case "drag": x.data.canvasNeedsRedraw[Dc.DRAG] = g; break; case "select": x.data.canvasNeedsRedraw[Dc.SELECT_BOX] = g; break } }; var wtt = typeof Path2D < "u"; Dc.path2dEnabled = function (y) { if (y === void 0) return this.pathsEnabled; this.pathsEnabled = !!y }, Dc.usePaths = function () { return wtt && this.pathsEnabled }, Dc.setImgSmoothing = function (y, g) { y.imageSmoothingEnabled != null ? y.imageSmoothingEnabled = g : (y.webkitImageSmoothingEnabled = g, y.mozImageSmoothingEnabled = g, y.msImageSmoothingEnabled = g) }, Dc.getImgSmoothing = function (y) { return y.imageSmoothingEnabled != null ? y.imageSmoothingEnabled : y.webkitImageSmoothingEnabled || y.mozImageSmoothingEnabled || y.msImageSmoothingEnabled }, Dc.makeOffscreenCanvas = function (y, g) { var x; return (typeof OffscreenCanvas > "u" ? "undefined" : f(OffscreenCanvas)) !== "undefined" ? x = new OffscreenCanvas(y, g) : (x = document.createElement("canvas"), x.width = y, x.height = g), x }, [_0, hv, fv, bT, l6, Vk, bg, D3, vT, vtt].forEach(function (y) { Ke(Dc, y) }); var h6 = [{ name: "null", impl: SB }, { name: "base", impl: XL }, { name: "canvas", impl: Ygt }], vg = [{ type: "layout", extensions: zJ }, { type: "renderer", extensions: h6 }], km = {}, nM = {}; function T1(y, g, x) { var T = x, A = function (ee) { Wo("Can not register `" + g + "` for `" + y + "` since `" + ee + "` already exists in the prototype and can not be overridden") }; if (y === "core") { if (Fk.prototype[g]) return A(g); Fk.prototype[g] = x } else if (y === "collection") { if (Gf.prototype[g]) return A(g); Gf.prototype[g] = x } else if (y === "layout") { for (var I = function (ee) { this.options = ee, x.call(this, ee), ht(this._private) || (this._private = {}), this._private.cy = ee.cy, this._private.listeners = [], this.createEmitter() }, O = I.prototype = Object.create(x.prototype), $ = [], z = 0; z < $.length; z++) { var S = $[z]; O[S] = O[S] || function () { return this } } O.start && !O.run ? O.run = function () { return this.start(), this } : !O.start && O.run && (O.start = function () { return this.run(), this }); var V = x.prototype.stop; O.stop = function () { var $t = this.options; if ($t && $t.animate) { var ee = this.animations; if (ee) for (var Ht = 0; Ht < ee.length; Ht++)ee[Ht].stop() } return V ? V.call(this) : this.emit("layoutstop"), this }, O.destroy || (O.destroy = function () { return this }), O.cy = function () { return this._private.cy }; var U = function (ee) { return ee._private.cy }, tt = { addEventFields: function (ee, Ht) { Ht.layout = ee, Ht.cy = U(ee), Ht.target = ee }, bubble: function () { return !0 }, parent: function (ee) { return U(ee) } }; Ke(O, { createEmitter: function () { return this._private.emitter = new WE(tt, this), this }, emitter: function () { return this._private.emitter }, on: function (ee, Ht) { return this.emitter().on(ee, Ht), this }, one: function (ee, Ht) { return this.emitter().one(ee, Ht), this }, once: function (ee, Ht) { return this.emitter().one(ee, Ht), this }, removeListener: function (ee, Ht) { return this.emitter().removeListener(ee, Ht), this }, removeAllListeners: function () { return this.emitter().removeAllListeners(), this }, emit: function (ee, Ht) { return this.emitter().emit(ee, Ht), this } }), jc.eventAliasesOn(O), T = I } else if (y === "renderer" && g !== "null" && g !== "base") { var at = f6("renderer", "base"), ut = at.prototype, dt = x, At = x.prototype, xt = function () { at.apply(this, arguments), dt.apply(this, arguments) }, Mt = xt.prototype; for (var Dt in ut) { var Bt = ut[Dt], Zt = At[Dt] != null; if (Zt) return A(Dt); Mt[Dt] = Bt } for (var Kt in At) Mt[Kt] = At[Kt]; ut.clientFunctions.forEach(function ($t) { Mt[$t] = Mt[$t] || function () { Ec("Renderer does not implement `renderer." + $t + "()` on its prototype") } }), T = xt } else if (y === "__proto__" || y === "constructor" || y === "prototype") return Ec(y + " is an illegal type to be registered, possibly lead to prototype pollutions"); return Yn({ map: km, keys: [y, g], value: T }) } function f6(y, g) { return tr({ map: km, keys: [y, g] }) } function mtt(y, g, x, T, A) { return Yn({ map: nM, keys: [y, g, x, T], value: A }) } function GB(y, g, x, T) { return tr({ map: nM, keys: [y, g, x, T] }) } var I3 = function () { if (arguments.length === 2) return f6.apply(null, arguments); if (arguments.length === 3) return T1.apply(null, arguments); if (arguments.length === 4) return GB.apply(null, arguments); if (arguments.length === 5) return mtt.apply(null, arguments); Ec("Invalid extension access syntax") }; Fk.prototype.extension = I3, vg.forEach(function (y) { y.extensions.forEach(function (g) { T1(y.type, g.name, g.impl) }) }); var rM = function y() { if (!(this instanceof y)) return new y; this.length = 0 }, Em = rM.prototype; Em.instanceString = function () { return "stylesheet" }, Em.selector = function (y) { var g = this.length++; return this[g] = { selector: y, properties: [] }, this }, Em.css = function (y, g) { var x = this.length - 1; if (Tt(y)) this[x].properties.push({ name: y, value: g }); else if (ht(y)) for (var T = y, A = Object.keys(T), I = 0; I < A.length; I++) { var O = A[I], $ = T[O]; if ($ != null) { var z = x1.properties[O] || x1.properties[_n(O)]; if (z != null) { var S = z.name, V = $; this[x].properties.push({ name: S, value: V }) } } } return this }, Em.style = Em.css, Em.generateStyle = function (y) { var g = new x1(y); return this.appendToStyle(g) }, Em.appendToStyle = function (y) { for (var g = 0; g < this.length; g++) { var x = this[g], T = x.selector, A = x.properties; y.selector(T); for (var I = 0; I < A.length; I++) { var O = A[I]; y.css(O.name, O.value) } } return y }; var UB = "3.23.0", _1 = function (g) { if (g === void 0 && (g = {}), ht(g)) return new Fk(g); if (Tt(g)) return I3.apply(I3, arguments) }; return _1.use = function (y) { var g = Array.prototype.slice.call(arguments, 1); return g.unshift(_1), y.apply(null, g), this }, _1.warnings = function (y) { return gk(y) }, _1.version = UB, _1.stylesheet = _1.Stylesheet = rM, _1
        })
    })(cUe); const gjt = Ogt; var Ngt = {}, uUe = { get exports() { return Ngt }, set exports(i) { Ngt = i } }, RK = {}, lUe = { get exports() { return RK }, set exports(i) { RK = i } }, jK = {}, hUe = { get exports() { return jK }, set exports(i) { jK = i } }, pjt; function fUe() { return pjt || (pjt = 1, function (i, a) { (function (p, v) { i.exports = v() })(b0, function () { return function (f) { var p = {}; function v(m) { if (p[m]) return p[m].exports; var b = p[m] = { i: m, l: !1, exports: {} }; return f[m].call(b.exports, b, b.exports, v), b.l = !0, b.exports } return v.m = f, v.c = p, v.i = function (m) { return m }, v.d = function (m, b, E) { v.o(m, b) || Object.defineProperty(m, b, { configurable: !1, enumerable: !0, get: E }) }, v.n = function (m) { var b = m && m.__esModule ? function () { return m.default } : function () { return m }; return v.d(b, "a", b), b }, v.o = function (m, b) { return Object.prototype.hasOwnProperty.call(m, b) }, v.p = "", v(v.s = 26) }([function (f, p, v) { function m() { } m.QUALITY = 1, m.DEFAULT_CREATE_BENDS_AS_NEEDED = !1, m.DEFAULT_INCREMENTAL = !1, m.DEFAULT_ANIMATION_ON_LAYOUT = !0, m.DEFAULT_ANIMATION_DURING_LAYOUT = !1, m.DEFAULT_ANIMATION_PERIOD = 50, m.DEFAULT_UNIFORM_LEAF_NODE_SIZES = !1, m.DEFAULT_GRAPH_MARGIN = 15, m.NODE_DIMENSIONS_INCLUDE_LABELS = !1, m.SIMPLE_NODE_SIZE = 40, m.SIMPLE_NODE_HALF_SIZE = m.SIMPLE_NODE_SIZE / 2, m.EMPTY_COMPOUND_NODE_SIZE = 40, m.MIN_EDGE_LENGTH = 1, m.WORLD_BOUNDARY = 1e6, m.INITIAL_WORLD_BOUNDARY = m.WORLD_BOUNDARY / 1e3, m.WORLD_CENTER_X = 1200, m.WORLD_CENTER_Y = 900, f.exports = m }, function (f, p, v) { var m = v(2), b = v(8), E = v(9); function C(P, B, j) { m.call(this, j), this.isOverlapingSourceAndTarget = !1, this.vGraphObject = j, this.bendpoints = [], this.source = P, this.target = B } C.prototype = Object.create(m.prototype); for (var D in m) C[D] = m[D]; C.prototype.getSource = function () { return this.source }, C.prototype.getTarget = function () { return this.target }, C.prototype.isInterGraph = function () { return this.isInterGraph }, C.prototype.getLength = function () { return this.length }, C.prototype.isOverlapingSourceAndTarget = function () { return this.isOverlapingSourceAndTarget }, C.prototype.getBendpoints = function () { return this.bendpoints }, C.prototype.getLca = function () { return this.lca }, C.prototype.getSourceInLca = function () { return this.sourceInLca }, C.prototype.getTargetInLca = function () { return this.targetInLca }, C.prototype.getOtherEnd = function (P) { if (this.source === P) return this.target; if (this.target === P) return this.source; throw "Node is not incident with this edge" }, C.prototype.getOtherEndInGraph = function (P, B) { for (var j = this.getOtherEnd(P), R = B.getGraphManager().getRoot(); ;) { if (j.getOwner() == B) return j; if (j.getOwner() == R) break; j = j.getOwner().getParent() } return null }, C.prototype.updateLength = function () { var P = new Array(4); this.isOverlapingSourceAndTarget = b.getIntersection(this.target.getRect(), this.source.getRect(), P), this.isOverlapingSourceAndTarget || (this.lengthX = P[0] - P[2], this.lengthY = P[1] - P[3], Math.abs(this.lengthX) < 1 && (this.lengthX = E.sign(this.lengthX)), Math.abs(this.lengthY) < 1 && (this.lengthY = E.sign(this.lengthY)), this.length = Math.sqrt(this.lengthX * this.lengthX + this.lengthY * this.lengthY)) }, C.prototype.updateLengthSimple = function () { this.lengthX = this.target.getCenterX() - this.source.getCenterX(), this.lengthY = this.target.getCenterY() - this.source.getCenterY(), Math.abs(this.lengthX) < 1 && (this.lengthX = E.sign(this.lengthX)), Math.abs(this.lengthY) < 1 && (this.lengthY = E.sign(this.lengthY)), this.length = Math.sqrt(this.lengthX * this.lengthX + this.lengthY * this.lengthY) }, f.exports = C }, function (f, p, v) { function m(b) { this.vGraphObject = b } f.exports = m }, function (f, p, v) { var m = v(2), b = v(10), E = v(13), C = v(0), D = v(16), P = v(4); function B(R, H, Y, it) { Y == null && it == null && (it = H), m.call(this, it), R.graphManager != null && (R = R.graphManager), this.estimatedSize = b.MIN_VALUE, this.inclusionTreeDepth = b.MAX_VALUE, this.vGraphObject = it, this.edges = [], this.graphManager = R, Y != null && H != null ? this.rect = new E(H.x, H.y, Y.width, Y.height) : this.rect = new E } B.prototype = Object.create(m.prototype); for (var j in m) B[j] = m[j]; B.prototype.getEdges = function () { return this.edges }, B.prototype.getChild = function () { return this.child }, B.prototype.getOwner = function () { return this.owner }, B.prototype.getWidth = function () { return this.rect.width }, B.prototype.setWidth = function (R) { this.rect.width = R }, B.prototype.getHeight = function () { return this.rect.height }, B.prototype.setHeight = function (R) { this.rect.height = R }, B.prototype.getCenterX = function () { return this.rect.x + this.rect.width / 2 }, B.prototype.getCenterY = function () { return this.rect.y + this.rect.height / 2 }, B.prototype.getCenter = function () { return new P(this.rect.x + this.rect.width / 2, this.rect.y + this.rect.height / 2) }, B.prototype.getLocation = function () { return new P(this.rect.x, this.rect.y) }, B.prototype.getRect = function () { return this.rect }, B.prototype.getDiagonal = function () { return Math.sqrt(this.rect.width * this.rect.width + this.rect.height * this.rect.height) }, B.prototype.getHalfTheDiagonal = function () { return Math.sqrt(this.rect.height * this.rect.height + this.rect.width * this.rect.width) / 2 }, B.prototype.setRect = function (R, H) { this.rect.x = R.x, this.rect.y = R.y, this.rect.width = H.width, this.rect.height = H.height }, B.prototype.setCenter = function (R, H) { this.rect.x = R - this.rect.width / 2, this.rect.y = H - this.rect.height / 2 }, B.prototype.setLocation = function (R, H) { this.rect.x = R, this.rect.y = H }, B.prototype.moveBy = function (R, H) { this.rect.x += R, this.rect.y += H }, B.prototype.getEdgeListToNode = function (R) { var H = [], Y = this; return Y.edges.forEach(function (it) { if (it.target == R) { if (it.source != Y) throw "Incorrect edge source!"; H.push(it) } }), H }, B.prototype.getEdgesBetween = function (R) { var H = [], Y = this; return Y.edges.forEach(function (it) { if (!(it.source == Y || it.target == Y)) throw "Incorrect edge source and/or target"; (it.target == R || it.source == R) && H.push(it) }), H }, B.prototype.getNeighborsList = function () { var R = new Set, H = this; return H.edges.forEach(function (Y) { if (Y.source == H) R.add(Y.target); else { if (Y.target != H) throw "Incorrect incidency!"; R.add(Y.source) } }), R }, B.prototype.withChildren = function () { var R = new Set, H, Y; if (R.add(this), this.child != null) for (var it = this.child.getNodes(), nt = 0; nt < it.length; nt++)H = it[nt], Y = H.withChildren(), Y.forEach(function (st) { R.add(st) }); return R }, B.prototype.getNoOfChildren = function () { var R = 0, H; if (this.child == null) R = 1; else for (var Y = this.child.getNodes(), it = 0; it < Y.length; it++)H = Y[it], R += H.getNoOfChildren(); return R == 0 && (R = 1), R }, B.prototype.getEstimatedSize = function () { if (this.estimatedSize == b.MIN_VALUE) throw "assert failed"; return this.estimatedSize }, B.prototype.calcEstimatedSize = function () { return this.child == null ? this.estimatedSize = (this.rect.width + this.rect.height) / 2 : (this.estimatedSize = this.child.calcEstimatedSize(), this.rect.width = this.estimatedSize, this.rect.height = this.estimatedSize, this.estimatedSize) }, B.prototype.scatter = function () { var R, H, Y = -C.INITIAL_WORLD_BOUNDARY, it = C.INITIAL_WORLD_BOUNDARY; R = C.WORLD_CENTER_X + D.nextDouble() * (it - Y) + Y; var nt = -C.INITIAL_WORLD_BOUNDARY, st = C.INITIAL_WORLD_BOUNDARY; H = C.WORLD_CENTER_Y + D.nextDouble() * (st - nt) + nt, this.rect.x = R, this.rect.y = H }, B.prototype.updateBounds = function () { if (this.getChild() == null) throw "assert failed"; if (this.getChild().getNodes().length != 0) { var R = this.getChild(); if (R.updateBounds(!0), this.rect.x = R.getLeft(), this.rect.y = R.getTop(), this.setWidth(R.getRight() - R.getLeft()), this.setHeight(R.getBottom() - R.getTop()), C.NODE_DIMENSIONS_INCLUDE_LABELS) { var H = R.getRight() - R.getLeft(), Y = R.getBottom() - R.getTop(); this.labelWidth > H && (this.rect.x -= (this.labelWidth - H) / 2, this.setWidth(this.labelWidth)), this.labelHeight > Y && (this.labelPos == "center" ? this.rect.y -= (this.labelHeight - Y) / 2 : this.labelPos == "top" && (this.rect.y -= this.labelHeight - Y), this.setHeight(this.labelHeight)) } } }, B.prototype.getInclusionTreeDepth = function () { if (this.inclusionTreeDepth == b.MAX_VALUE) throw "assert failed"; return this.inclusionTreeDepth }, B.prototype.transform = function (R) { var H = this.rect.x; H > C.WORLD_BOUNDARY ? H = C.WORLD_BOUNDARY : H < -C.WORLD_BOUNDARY && (H = -C.WORLD_BOUNDARY); var Y = this.rect.y; Y > C.WORLD_BOUNDARY ? Y = C.WORLD_BOUNDARY : Y < -C.WORLD_BOUNDARY && (Y = -C.WORLD_BOUNDARY); var it = new P(H, Y), nt = R.inverseTransformPoint(it); this.setLocation(nt.x, nt.y) }, B.prototype.getLeft = function () { return this.rect.x }, B.prototype.getRight = function () { return this.rect.x + this.rect.width }, B.prototype.getTop = function () { return this.rect.y }, B.prototype.getBottom = function () { return this.rect.y + this.rect.height }, B.prototype.getParent = function () { return this.owner == null ? null : this.owner.getParent() }, f.exports = B }, function (f, p, v) { function m(b, E) { b == null && E == null ? (this.x = 0, this.y = 0) : (this.x = b, this.y = E) } m.prototype.getX = function () { return this.x }, m.prototype.getY = function () { return this.y }, m.prototype.setX = function (b) { this.x = b }, m.prototype.setY = function (b) { this.y = b }, m.prototype.getDifference = function (b) { return new DimensionD(this.x - b.x, this.y - b.y) }, m.prototype.getCopy = function () { return new m(this.x, this.y) }, m.prototype.translate = function (b) { return this.x += b.width, this.y += b.height, this }, f.exports = m }, function (f, p, v) { var m = v(2), b = v(10), E = v(0), C = v(6), D = v(3), P = v(1), B = v(13), j = v(12), R = v(11); function H(it, nt, st) { m.call(this, st), this.estimatedSize = b.MIN_VALUE, this.margin = E.DEFAULT_GRAPH_MARGIN, this.edges = [], this.nodes = [], this.isConnected = !1, this.parent = it, nt != null && nt instanceof C ? this.graphManager = nt : nt != null && nt instanceof Layout && (this.graphManager = nt.graphManager) } H.prototype = Object.create(m.prototype); for (var Y in m) H[Y] = m[Y]; H.prototype.getNodes = function () { return this.nodes }, H.prototype.getEdges = function () { return this.edges }, H.prototype.getGraphManager = function () { return this.graphManager }, H.prototype.getParent = function () { return this.parent }, H.prototype.getLeft = function () { return this.left }, H.prototype.getRight = function () { return this.right }, H.prototype.getTop = function () { return this.top }, H.prototype.getBottom = function () { return this.bottom }, H.prototype.isConnected = function () { return this.isConnected }, H.prototype.add = function (it, nt, st) { if (nt == null && st == null) { var pt = it; if (this.graphManager == null) throw "Graph has no graph mgr!"; if (this.getNodes().indexOf(pt) > -1) throw "Node already in graph!"; return pt.owner = this, this.getNodes().push(pt), pt } else { var Tt = it; if (!(this.getNodes().indexOf(nt) > -1 && this.getNodes().indexOf(st) > -1)) throw "Source or target not in graph!"; if (!(nt.owner == st.owner && nt.owner == this)) throw "Both owners must be this graph!"; return nt.owner != st.owner ? null : (Tt.source = nt, Tt.target = st, Tt.isInterGraph = !1, this.getEdges().push(Tt), nt.edges.push(Tt), st != nt && st.edges.push(Tt), Tt) } }, H.prototype.remove = function (it) { var nt = it; if (it instanceof D) { if (nt == null) throw "Node is null!"; if (!(nt.owner != null && nt.owner == this)) throw "Owner graph is invalid!"; if (this.graphManager == null) throw "Owner graph manager is invalid!"; for (var st = nt.edges.slice(), pt, Tt = st.length, kt = 0; kt < Tt; kt++)pt = st[kt], pt.isInterGraph ? this.graphManager.remove(pt) : pt.source.owner.remove(pt); var yt = this.nodes.indexOf(nt); if (yt == -1) throw "Node not in owner node list!"; this.nodes.splice(yt, 1) } else if (it instanceof P) { var pt = it; if (pt == null) throw "Edge is null!"; if (!(pt.source != null && pt.target != null)) throw "Source and/or target is null!"; if (!(pt.source.owner != null && pt.target.owner != null && pt.source.owner == this && pt.target.owner == this)) throw "Source and/or target owner is invalid!"; var ht = pt.source.edges.indexOf(pt), mt = pt.target.edges.indexOf(pt); if (!(ht > -1 && mt > -1)) throw "Source and/or target doesn't know this edge!"; pt.source.edges.splice(ht, 1), pt.target != pt.source && pt.target.edges.splice(mt, 1); var yt = pt.source.owner.getEdges().indexOf(pt); if (yt == -1) throw "Not in owner's edge list!"; pt.source.owner.getEdges().splice(yt, 1) } }, H.prototype.updateLeftTop = function () { for (var it = b.MAX_VALUE, nt = b.MAX_VALUE, st, pt, Tt, kt = this.getNodes(), yt = kt.length, ht = 0; ht < yt; ht++) { var mt = kt[ht]; st = mt.getTop(), pt = mt.getLeft(), it > st && (it = st), nt > pt && (nt = pt) } return it == b.MAX_VALUE ? null : (kt[0].getParent().paddingLeft != null ? Tt = kt[0].getParent().paddingLeft : Tt = this.margin, this.left = nt - Tt, this.top = it - Tt, new j(this.left, this.top)) }, H.prototype.updateBounds = function (it) { for (var nt = b.MAX_VALUE, st = -b.MAX_VALUE, pt = b.MAX_VALUE, Tt = -b.MAX_VALUE, kt, yt, ht, mt, rt, wt = this.nodes, gt = wt.length, lt = 0; lt < gt; lt++) { var _t = wt[lt]; it && _t.child != null && _t.updateBounds(), kt = _t.getLeft(), yt = _t.getRight(), ht = _t.getTop(), mt = _t.getBottom(), nt > kt && (nt = kt), st < yt && (st = yt), pt > ht && (pt = ht), Tt < mt && (Tt = mt) } var X = new B(nt, pt, st - nt, Tt - pt); nt == b.MAX_VALUE && (this.left = this.parent.getLeft(), this.right = this.parent.getRight(), this.top = this.parent.getTop(), this.bottom = this.parent.getBottom()), wt[0].getParent().paddingLeft != null ? rt = wt[0].getParent().paddingLeft : rt = this.margin, this.left = X.x - rt, this.right = X.x + X.width + rt, this.top = X.y - rt, this.bottom = X.y + X.height + rt }, H.calculateBounds = function (it) { for (var nt = b.MAX_VALUE, st = -b.MAX_VALUE, pt = b.MAX_VALUE, Tt = -b.MAX_VALUE, kt, yt, ht, mt, rt = it.length, wt = 0; wt < rt; wt++) { var gt = it[wt]; kt = gt.getLeft(), yt = gt.getRight(), ht = gt.getTop(), mt = gt.getBottom(), nt > kt && (nt = kt), st < yt && (st = yt), pt > ht && (pt = ht), Tt < mt && (Tt = mt) } var lt = new B(nt, pt, st - nt, Tt - pt); return lt }, H.prototype.getInclusionTreeDepth = function () { return this == this.graphManager.getRoot() ? 1 : this.parent.getInclusionTreeDepth() }, H.prototype.getEstimatedSize = function () { if (this.estimatedSize == b.MIN_VALUE) throw "assert failed"; return this.estimatedSize }, H.prototype.calcEstimatedSize = function () { for (var it = 0, nt = this.nodes, st = nt.length, pt = 0; pt < st; pt++) { var Tt = nt[pt]; it += Tt.calcEstimatedSize() } return it == 0 ? this.estimatedSize = E.EMPTY_COMPOUND_NODE_SIZE : this.estimatedSize = it / Math.sqrt(this.nodes.length), this.estimatedSize }, H.prototype.updateConnected = function () { var it = this; if (this.nodes.length == 0) { this.isConnected = !0; return } var nt = new R, st = new Set, pt = this.nodes[0], Tt, kt, yt = pt.withChildren(); for (yt.forEach(function (lt) { nt.push(lt), st.add(lt) }); nt.length !== 0;) { pt = nt.shift(), Tt = pt.getEdges(); for (var ht = Tt.length, mt = 0; mt < ht; mt++) { var rt = Tt[mt]; if (kt = rt.getOtherEndInGraph(pt, this), kt != null && !st.has(kt)) { var wt = kt.withChildren(); wt.forEach(function (lt) { nt.push(lt), st.add(lt) }) } } } if (this.isConnected = !1, st.size >= this.nodes.length) { var gt = 0; st.forEach(function (lt) { lt.owner == it && gt++ }), gt == this.nodes.length && (this.isConnected = !0) } }, f.exports = H }, function (f, p, v) { var m, b = v(1); function E(C) { m = v(5), this.layout = C, this.graphs = [], this.edges = [] } E.prototype.addRoot = function () { var C = this.layout.newGraph(), D = this.layout.newNode(null), P = this.add(C, D); return this.setRootGraph(P), this.rootGraph }, E.prototype.add = function (C, D, P, B, j) { if (P == null && B == null && j == null) { if (C == null) throw "Graph is null!"; if (D == null) throw "Parent node is null!"; if (this.graphs.indexOf(C) > -1) throw "Graph already in this graph mgr!"; if (this.graphs.push(C), C.parent != null) throw "Already has a parent!"; if (D.child != null) throw "Already has a child!"; return C.parent = D, D.child = C, C } else { j = P, B = D, P = C; var R = B.getOwner(), H = j.getOwner(); if (!(R != null && R.getGraphManager() == this)) throw "Source not in this graph mgr!"; if (!(H != null && H.getGraphManager() == this)) throw "Target not in this graph mgr!"; if (R == H) return P.isInterGraph = !1, R.add(P, B, j); if (P.isInterGraph = !0, P.source = B, P.target = j, this.edges.indexOf(P) > -1) throw "Edge already in inter-graph edge list!"; if (this.edges.push(P), !(P.source != null && P.target != null)) throw "Edge source and/or target is null!"; if (!(P.source.edges.indexOf(P) == -1 && P.target.edges.indexOf(P) == -1)) throw "Edge already in source and/or target incidency list!"; return P.source.edges.push(P), P.target.edges.push(P), P } }, E.prototype.remove = function (C) { if (C instanceof m) { var D = C; if (D.getGraphManager() != this) throw "Graph not in this graph mgr"; if (!(D == this.rootGraph || D.parent != null && D.parent.graphManager == this)) throw "Invalid parent node!"; var P = []; P = P.concat(D.getEdges()); for (var B, j = P.length, R = 0; R < j; R++)B = P[R], D.remove(B); var H = []; H = H.concat(D.getNodes()); var Y; j = H.length; for (var R = 0; R < j; R++)Y = H[R], D.remove(Y); D == this.rootGraph && this.setRootGraph(null); var it = this.graphs.indexOf(D); this.graphs.splice(it, 1), D.parent = null } else if (C instanceof b) { if (B = C, B == null) throw "Edge is null!"; if (!B.isInterGraph) throw "Not an inter-graph edge!"; if (!(B.source != null && B.target != null)) throw "Source and/or target is null!"; if (!(B.source.edges.indexOf(B) != -1 && B.target.edges.indexOf(B) != -1)) throw "Source and/or target doesn't know this edge!"; var it = B.source.edges.indexOf(B); if (B.source.edges.splice(it, 1), it = B.target.edges.indexOf(B), B.target.edges.splice(it, 1), !(B.source.owner != null && B.source.owner.getGraphManager() != null)) throw "Edge owner graph or owner graph manager is null!"; if (B.source.owner.getGraphManager().edges.indexOf(B) == -1) throw "Not in owner graph manager's edge list!"; var it = B.source.owner.getGraphManager().edges.indexOf(B); B.source.owner.getGraphManager().edges.splice(it, 1) } }, E.prototype.updateBounds = function () { this.rootGraph.updateBounds(!0) }, E.prototype.getGraphs = function () { return this.graphs }, E.prototype.getAllNodes = function () { if (this.allNodes == null) { for (var C = [], D = this.getGraphs(), P = D.length, B = 0; B < P; B++)C = C.concat(D[B].getNodes()); this.allNodes = C } return this.allNodes }, E.prototype.resetAllNodes = function () { this.allNodes = null }, E.prototype.resetAllEdges = function () { this.allEdges = null }, E.prototype.resetAllNodesToApplyGravitation = function () { this.allNodesToApplyGravitation = null }, E.prototype.getAllEdges = function () { if (this.allEdges == null) { var C = [], D = this.getGraphs(); D.length; for (var P = 0; P < D.length; P++)C = C.concat(D[P].getEdges()); C = C.concat(this.edges), this.allEdges = C } return this.allEdges }, E.prototype.getAllNodesToApplyGravitation = function () { return this.allNodesToApplyGravitation }, E.prototype.setAllNodesToApplyGravitation = function (C) { if (this.allNodesToApplyGravitation != null) throw "assert failed"; this.allNodesToApplyGravitation = C }, E.prototype.getRoot = function () { return this.rootGraph }, E.prototype.setRootGraph = function (C) { if (C.getGraphManager() != this) throw "Root not in this graph mgr!"; this.rootGraph = C, C.parent == null && (C.parent = this.layout.newNode("Root node")) }, E.prototype.getLayout = function () { return this.layout }, E.prototype.isOneAncestorOfOther = function (C, D) { if (!(C != null && D != null)) throw "assert failed"; if (C == D) return !0; var P = C.getOwner(), B; do { if (B = P.getParent(), B == null) break; if (B == D) return !0; if (P = B.getOwner(), P == null) break } while (!0); P = D.getOwner(); do { if (B = P.getParent(), B == null) break; if (B == C) return !0; if (P = B.getOwner(), P == null) break } while (!0); return !1 }, E.prototype.calcLowestCommonAncestors = function () { for (var C, D, P, B, j, R = this.getAllEdges(), H = R.length, Y = 0; Y < H; Y++) { if (C = R[Y], D = C.source, P = C.target, C.lca = null, C.sourceInLca = D, C.targetInLca = P, D == P) { C.lca = D.getOwner(); continue } for (B = D.getOwner(); C.lca == null;) { for (C.targetInLca = P, j = P.getOwner(); C.lca == null;) { if (j == B) { C.lca = j; break } if (j == this.rootGraph) break; if (C.lca != null) throw "assert failed"; C.targetInLca = j.getParent(), j = C.targetInLca.getOwner() } if (B == this.rootGraph) break; C.lca == null && (C.sourceInLca = B.getParent(), B = C.sourceInLca.getOwner()) } if (C.lca == null) throw "assert failed" } }, E.prototype.calcLowestCommonAncestor = function (C, D) { if (C == D) return C.getOwner(); var P = C.getOwner(); do { if (P == null) break; var B = D.getOwner(); do { if (B == null) break; if (B == P) return B; B = B.getParent().getOwner() } while (!0); P = P.getParent().getOwner() } while (!0); return P }, E.prototype.calcInclusionTreeDepths = function (C, D) { C == null && D == null && (C = this.rootGraph, D = 1); for (var P, B = C.getNodes(), j = B.length, R = 0; R < j; R++)P = B[R], P.inclusionTreeDepth = D, P.child != null && this.calcInclusionTreeDepths(P.child, D + 1) }, E.prototype.includesInvalidEdge = function () { for (var C, D = this.edges.length, P = 0; P < D; P++)if (C = this.edges[P], this.isOneAncestorOfOther(C.source, C.target)) return !0; return !1 }, f.exports = E }, function (f, p, v) { var m = v(0); function b() { } for (var E in m) b[E] = m[E]; b.MAX_ITERATIONS = 2500, b.DEFAULT_EDGE_LENGTH = 50, b.DEFAULT_SPRING_STRENGTH = .45, b.DEFAULT_REPULSION_STRENGTH = 4500, b.DEFAULT_GRAVITY_STRENGTH = .4, b.DEFAULT_COMPOUND_GRAVITY_STRENGTH = 1, b.DEFAULT_GRAVITY_RANGE_FACTOR = 3.8, b.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = 1.5, b.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION = !0, b.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION = !0, b.DEFAULT_COOLING_FACTOR_INCREMENTAL = .3, b.COOLING_ADAPTATION_FACTOR = .33, b.ADAPTATION_LOWER_NODE_LIMIT = 1e3, b.ADAPTATION_UPPER_NODE_LIMIT = 5e3, b.MAX_NODE_DISPLACEMENT_INCREMENTAL = 100, b.MAX_NODE_DISPLACEMENT = b.MAX_NODE_DISPLACEMENT_INCREMENTAL * 3, b.MIN_REPULSION_DIST = b.DEFAULT_EDGE_LENGTH / 10, b.CONVERGENCE_CHECK_PERIOD = 100, b.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = .1, b.MIN_EDGE_LENGTH = 1, b.GRID_CALCULATION_CHECK_PERIOD = 10, f.exports = b }, function (f, p, v) { var m = v(12); function b() { } b.calcSeparationAmount = function (E, C, D, P) { if (!E.intersects(C)) throw "assert failed"; var B = new Array(2); this.decideDirectionsForOverlappingNodes(E, C, B), D[0] = Math.min(E.getRight(), C.getRight()) - Math.max(E.x, C.x), D[1] = Math.min(E.getBottom(), C.getBottom()) - Math.max(E.y, C.y), E.getX() <= C.getX() && E.getRight() >= C.getRight() ? D[0] += Math.min(C.getX() - E.getX(), E.getRight() - C.getRight()) : C.getX() <= E.getX() && C.getRight() >= E.getRight() && (D[0] += Math.min(E.getX() - C.getX(), C.getRight() - E.getRight())), E.getY() <= C.getY() && E.getBottom() >= C.getBottom() ? D[1] += Math.min(C.getY() - E.getY(), E.getBottom() - C.getBottom()) : C.getY() <= E.getY() && C.getBottom() >= E.getBottom() && (D[1] += Math.min(E.getY() - C.getY(), C.getBottom() - E.getBottom())); var j = Math.abs((C.getCenterY() - E.getCenterY()) / (C.getCenterX() - E.getCenterX())); C.getCenterY() === E.getCenterY() && C.getCenterX() === E.getCenterX() && (j = 1); var R = j * D[0], H = D[1] / j; D[0] < H ? H = D[0] : R = D[1], D[0] = -1 * B[0] * (H / 2 + P), D[1] = -1 * B[1] * (R / 2 + P) }, b.decideDirectionsForOverlappingNodes = function (E, C, D) { E.getCenterX() < C.getCenterX() ? D[0] = -1 : D[0] = 1, E.getCenterY() < C.getCenterY() ? D[1] = -1 : D[1] = 1 }, b.getIntersection2 = function (E, C, D) { var P = E.getCenterX(), B = E.getCenterY(), j = C.getCenterX(), R = C.getCenterY(); if (E.intersects(C)) return D[0] = P, D[1] = B, D[2] = j, D[3] = R, !0; var H = E.getX(), Y = E.getY(), it = E.getRight(), nt = E.getX(), st = E.getBottom(), pt = E.getRight(), Tt = E.getWidthHalf(), kt = E.getHeightHalf(), yt = C.getX(), ht = C.getY(), mt = C.getRight(), rt = C.getX(), wt = C.getBottom(), gt = C.getRight(), lt = C.getWidthHalf(), _t = C.getHeightHalf(), X = !1, Rt = !1; if (P === j) { if (B > R) return D[0] = P, D[1] = Y, D[2] = j, D[3] = wt, !1; if (B < R) return D[0] = P, D[1] = st, D[2] = j, D[3] = ht, !1 } else if (B === R) { if (P > j) return D[0] = H, D[1] = B, D[2] = mt, D[3] = R, !1; if (P < j) return D[0] = it, D[1] = B, D[2] = yt, D[3] = R, !1 } else { var ft = E.height / E.width, de = C.height / C.width, J = (R - B) / (j - P), ae = void 0, Wt = void 0, It = void 0, Nt = void 0, me = void 0, Ue = void 0; if (-ft === J ? P > j ? (D[0] = nt, D[1] = st, X = !0) : (D[0] = it, D[1] = Y, X = !0) : ft === J && (P > j ? (D[0] = H, D[1] = Y, X = !0) : (D[0] = pt, D[1] = st, X = !0)), -de === J ? j > P ? (D[2] = rt, D[3] = wt, Rt = !0) : (D[2] = mt, D[3] = ht, Rt = !0) : de === J && (j > P ? (D[2] = yt, D[3] = ht, Rt = !0) : (D[2] = gt, D[3] = wt, Rt = !0)), X && Rt) return !1; if (P > j ? B > R ? (ae = this.getCardinalDirection(ft, J, 4), Wt = this.getCardinalDirection(de, J, 2)) : (ae = this.getCardinalDirection(-ft, J, 3), Wt = this.getCardinalDirection(-de, J, 1)) : B > R ? (ae = this.getCardinalDirection(-ft, J, 1), Wt = this.getCardinalDirection(-de, J, 3)) : (ae = this.getCardinalDirection(ft, J, 2), Wt = this.getCardinalDirection(de, J, 4)), !X) switch (ae) { case 1: Nt = Y, It = P + -kt / J, D[0] = It, D[1] = Nt; break; case 2: It = pt, Nt = B + Tt * J, D[0] = It, D[1] = Nt; break; case 3: Nt = st, It = P + kt / J, D[0] = It, D[1] = Nt; break; case 4: It = nt, Nt = B + -Tt * J, D[0] = It, D[1] = Nt; break }if (!Rt) switch (Wt) { case 1: Ue = ht, me = j + -_t / J, D[2] = me, D[3] = Ue; break; case 2: me = gt, Ue = R + lt * J, D[2] = me, D[3] = Ue; break; case 3: Ue = wt, me = j + _t / J, D[2] = me, D[3] = Ue; break; case 4: me = rt, Ue = R + -lt * J, D[2] = me, D[3] = Ue; break } } return !1 }, b.getCardinalDirection = function (E, C, D) { return E > C ? D : 1 + D % 4 }, b.getIntersection = function (E, C, D, P) { if (P == null) return this.getIntersection2(E, C, D); var B = E.x, j = E.y, R = C.x, H = C.y, Y = D.x, it = D.y, nt = P.x, st = P.y, pt = void 0, Tt = void 0, kt = void 0, yt = void 0, ht = void 0, mt = void 0, rt = void 0, wt = void 0, gt = void 0; return kt = H - j, ht = B - R, rt = R * j - B * H, yt = st - it, mt = Y - nt, wt = nt * it - Y * st, gt = kt * mt - yt * ht, gt === 0 ? null : (pt = (ht * wt - mt * rt) / gt, Tt = (yt * rt - kt * wt) / gt, new m(pt, Tt)) }, b.angleOfVector = function (E, C, D, P) { var B = void 0; return E !== D ? (B = Math.atan((P - C) / (D - E)), D < E ? B += Math.PI : P < C && (B += this.TWO_PI)) : P < C ? B = this.ONE_AND_HALF_PI : B = this.HALF_PI, B }, b.doIntersect = function (E, C, D, P) { var B = E.x, j = E.y, R = C.x, H = C.y, Y = D.x, it = D.y, nt = P.x, st = P.y, pt = (R - B) * (st - it) - (nt - Y) * (H - j); if (pt === 0) return !1; var Tt = ((st - it) * (nt - B) + (Y - nt) * (st - j)) / pt, kt = ((j - H) * (nt - B) + (R - B) * (st - j)) / pt; return 0 < Tt && Tt < 1 && 0 < kt && kt < 1 }, b.HALF_PI = .5 * Math.PI, b.ONE_AND_HALF_PI = 1.5 * Math.PI, b.TWO_PI = 2 * Math.PI, b.THREE_PI = 3 * Math.PI, f.exports = b }, function (f, p, v) { function m() { } m.sign = function (b) { return b > 0 ? 1 : b < 0 ? -1 : 0 }, m.floor = function (b) { return b < 0 ? Math.ceil(b) : Math.floor(b) }, m.ceil = function (b) { return b < 0 ? Math.floor(b) : Math.ceil(b) }, f.exports = m }, function (f, p, v) { function m() { } m.MAX_VALUE = 2147483647, m.MIN_VALUE = -2147483648, f.exports = m }, function (f, p, v) { var m = function () { function B(j, R) { for (var H = 0; H < R.length; H++) { var Y = R[H]; Y.enumerable = Y.enumerable || !1, Y.configurable = !0, "value" in Y && (Y.writable = !0), Object.defineProperty(j, Y.key, Y) } } return function (j, R, H) { return R && B(j.prototype, R), H && B(j, H), j } }(); function b(B, j) { if (!(B instanceof j)) throw new TypeError("Cannot call a class as a function") } var E = function (j) { return { value: j, next: null, prev: null } }, C = function (j, R, H, Y) { return j !== null ? j.next = R : Y.head = R, H !== null ? H.prev = R : Y.tail = R, R.prev = j, R.next = H, Y.length++, R }, D = function (j, R) { var H = j.prev, Y = j.next; return H !== null ? H.next = Y : R.head = Y, Y !== null ? Y.prev = H : R.tail = H, j.prev = j.next = null, R.length--, j }, P = function () { function B(j) { var R = this; b(this, B), this.length = 0, this.head = null, this.tail = null, j != null && j.forEach(function (H) { return R.push(H) }) } return m(B, [{ key: "size", value: function () { return this.length } }, { key: "insertBefore", value: function (R, H) { return C(H.prev, E(R), H, this) } }, { key: "insertAfter", value: function (R, H) { return C(H, E(R), H.next, this) } }, { key: "insertNodeBefore", value: function (R, H) { return C(H.prev, R, H, this) } }, { key: "insertNodeAfter", value: function (R, H) { return C(H, R, H.next, this) } }, { key: "push", value: function (R) { return C(this.tail, E(R), null, this) } }, { key: "unshift", value: function (R) { return C(null, E(R), this.head, this) } }, { key: "remove", value: function (R) { return D(R, this) } }, { key: "pop", value: function () { return D(this.tail, this).value } }, { key: "popNode", value: function () { return D(this.tail, this) } }, { key: "shift", value: function () { return D(this.head, this).value } }, { key: "shiftNode", value: function () { return D(this.head, this) } }, { key: "get_object_at", value: function (R) { if (R <= this.length()) { for (var H = 1, Y = this.head; H < R;)Y = Y.next, H++; return Y.value } } }, { key: "set_object_at", value: function (R, H) { if (R <= this.length()) { for (var Y = 1, it = this.head; Y < R;)it = it.next, Y++; it.value = H } } }]), B }(); f.exports = P }, function (f, p, v) { function m(b, E, C) { this.x = null, this.y = null, b == null && E == null && C == null ? (this.x = 0, this.y = 0) : typeof b == "number" && typeof E == "number" && C == null ? (this.x = b, this.y = E) : b.constructor.name == "Point" && E == null && C == null && (C = b, this.x = C.x, this.y = C.y) } m.prototype.getX = function () { return this.x }, m.prototype.getY = function () { return this.y }, m.prototype.getLocation = function () { return new m(this.x, this.y) }, m.prototype.setLocation = function (b, E, C) { b.constructor.name == "Point" && E == null && C == null ? (C = b, this.setLocation(C.x, C.y)) : typeof b == "number" && typeof E == "number" && C == null && (parseInt(b) == b && parseInt(E) == E ? this.move(b, E) : (this.x = Math.floor(b + .5), this.y = Math.floor(E + .5))) }, m.prototype.move = function (b, E) { this.x = b, this.y = E }, m.prototype.translate = function (b, E) { this.x += b, this.y += E }, m.prototype.equals = function (b) { if (b.constructor.name == "Point") { var E = b; return this.x == E.x && this.y == E.y } return this == b }, m.prototype.toString = function () { return new m().constructor.name + "[x=" + this.x + ",y=" + this.y + "]" }, f.exports = m }, function (f, p, v) { function m(b, E, C, D) { this.x = 0, this.y = 0, this.width = 0, this.height = 0, b != null && E != null && C != null && D != null && (this.x = b, this.y = E, this.width = C, this.height = D) } m.prototype.getX = function () { return this.x }, m.prototype.setX = function (b) { this.x = b }, m.prototype.getY = function () { return this.y }, m.prototype.setY = function (b) { this.y = b }, m.prototype.getWidth = function () { return this.width }, m.prototype.setWidth = function (b) { this.width = b }, m.prototype.getHeight = function () { return this.height }, m.prototype.setHeight = function (b) { this.height = b }, m.prototype.getRight = function () { return this.x + this.width }, m.prototype.getBottom = function () { return this.y + this.height }, m.prototype.intersects = function (b) { return !(this.getRight() < b.x || this.getBottom() < b.y || b.getRight() < this.x || b.getBottom() < this.y) }, m.prototype.getCenterX = function () { return this.x + this.width / 2 }, m.prototype.getMinX = function () { return this.getX() }, m.prototype.getMaxX = function () { return this.getX() + this.width }, m.prototype.getCenterY = function () { return this.y + this.height / 2 }, m.prototype.getMinY = function () { return this.getY() }, m.prototype.getMaxY = function () { return this.getY() + this.height }, m.prototype.getWidthHalf = function () { return this.width / 2 }, m.prototype.getHeightHalf = function () { return this.height / 2 }, f.exports = m }, function (f, p, v) { var m = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function (E) { return typeof E } : function (E) { return E && typeof Symbol == "function" && E.constructor === Symbol && E !== Symbol.prototype ? "symbol" : typeof E }; function b() { } b.lastID = 0, b.createID = function (E) { return b.isPrimitive(E) ? E : (E.uniqueID != null || (E.uniqueID = b.getString(), b.lastID++), E.uniqueID) }, b.getString = function (E) { return E == null && (E = b.lastID), "Object#" + E }, b.isPrimitive = function (E) { var C = typeof E > "u" ? "undefined" : m(E); return E == null || C != "object" && C != "function" }, f.exports = b }, function (f, p, v) { function m(Y) { if (Array.isArray(Y)) { for (var it = 0, nt = Array(Y.length); it < Y.length; it++)nt[it] = Y[it]; return nt } else return Array.from(Y) } var b = v(0), E = v(6), C = v(3), D = v(1), P = v(5), B = v(4), j = v(17), R = v(27); function H(Y) { R.call(this), this.layoutQuality = b.QUALITY, this.createBendsAsNeeded = b.DEFAULT_CREATE_BENDS_AS_NEEDED, this.incremental = b.DEFAULT_INCREMENTAL, this.animationOnLayout = b.DEFAULT_ANIMATION_ON_LAYOUT, this.animationDuringLayout = b.DEFAULT_ANIMATION_DURING_LAYOUT, this.animationPeriod = b.DEFAULT_ANIMATION_PERIOD, this.uniformLeafNodeSizes = b.DEFAULT_UNIFORM_LEAF_NODE_SIZES, this.edgeToDummyNodes = new Map, this.graphManager = new E(this), this.isLayoutFinished = !1, this.isSubLayout = !1, this.isRemoteUse = !1, Y != null && (this.isRemoteUse = Y) } H.RANDOM_SEED = 1, H.prototype = Object.create(R.prototype), H.prototype.getGraphManager = function () { return this.graphManager }, H.prototype.getAllNodes = function () { return this.graphManager.getAllNodes() }, H.prototype.getAllEdges = function () { return this.graphManager.getAllEdges() }, H.prototype.getAllNodesToApplyGravitation = function () { return this.graphManager.getAllNodesToApplyGravitation() }, H.prototype.newGraphManager = function () { var Y = new E(this); return this.graphManager = Y, Y }, H.prototype.newGraph = function (Y) { return new P(null, this.graphManager, Y) }, H.prototype.newNode = function (Y) { return new C(this.graphManager, Y) }, H.prototype.newEdge = function (Y) { return new D(null, null, Y) }, H.prototype.checkLayoutSuccess = function () { return this.graphManager.getRoot() == null || this.graphManager.getRoot().getNodes().length == 0 || this.graphManager.includesInvalidEdge() }, H.prototype.runLayout = function () { this.isLayoutFinished = !1, this.tilingPreLayout && this.tilingPreLayout(), this.initParameters(); var Y; return this.checkLayoutSuccess() ? Y = !1 : Y = this.layout(), b.ANIMATE === "during" ? !1 : (Y && (this.isSubLayout || this.doPostLayout()), this.tilingPostLayout && this.tilingPostLayout(), this.isLayoutFinished = !0, Y) }, H.prototype.doPostLayout = function () { this.incremental || this.transform(), this.update() }, H.prototype.update2 = function () { if (this.createBendsAsNeeded && (this.createBendpointsFromDummyNodes(), this.graphManager.resetAllEdges()), !this.isRemoteUse) { for (var Y = this.graphManager.getAllEdges(), it = 0; it < Y.length; it++)Y[it]; for (var nt = this.graphManager.getRoot().getNodes(), it = 0; it < nt.length; it++)nt[it]; this.update(this.graphManager.getRoot()) } }, H.prototype.update = function (Y) { if (Y == null) this.update2(); else if (Y instanceof C) { var it = Y; if (it.getChild() != null) for (var nt = it.getChild().getNodes(), st = 0; st < nt.length; st++)update(nt[st]); if (it.vGraphObject != null) { var pt = it.vGraphObject; pt.update(it) } } else if (Y instanceof D) { var Tt = Y; if (Tt.vGraphObject != null) { var kt = Tt.vGraphObject; kt.update(Tt) } } else if (Y instanceof P) { var yt = Y; if (yt.vGraphObject != null) { var ht = yt.vGraphObject; ht.update(yt) } } }, H.prototype.initParameters = function () { this.isSubLayout || (this.layoutQuality = b.QUALITY, this.animationDuringLayout = b.DEFAULT_ANIMATION_DURING_LAYOUT, this.animationPeriod = b.DEFAULT_ANIMATION_PERIOD, this.animationOnLayout = b.DEFAULT_ANIMATION_ON_LAYOUT, this.incremental = b.DEFAULT_INCREMENTAL, this.createBendsAsNeeded = b.DEFAULT_CREATE_BENDS_AS_NEEDED, this.uniformLeafNodeSizes = b.DEFAULT_UNIFORM_LEAF_NODE_SIZES), this.animationDuringLayout && (this.animationOnLayout = !1) }, H.prototype.transform = function (Y) { if (Y == null) this.transform(new B(0, 0)); else { var it = new j, nt = this.graphManager.getRoot().updateLeftTop(); if (nt != null) { it.setWorldOrgX(Y.x), it.setWorldOrgY(Y.y), it.setDeviceOrgX(nt.x), it.setDeviceOrgY(nt.y); for (var st = this.getAllNodes(), pt, Tt = 0; Tt < st.length; Tt++)pt = st[Tt], pt.transform(it) } } }, H.prototype.positionNodesRandomly = function (Y) { if (Y == null) this.positionNodesRandomly(this.getGraphManager().getRoot()), this.getGraphManager().getRoot().updateBounds(!0); else for (var it, nt, st = Y.getNodes(), pt = 0; pt < st.length; pt++)it = st[pt], nt = it.getChild(), nt == null || nt.getNodes().length == 0 ? it.scatter() : (this.positionNodesRandomly(nt), it.updateBounds()) }, H.prototype.getFlatForest = function () { for (var Y = [], it = !0, nt = this.graphManager.getRoot().getNodes(), st = !0, pt = 0; pt < nt.length; pt++)nt[pt].getChild() != null && (st = !1); if (!st) return Y; var Tt = new Set, kt = [], yt = new Map, ht = []; for (ht = ht.concat(nt); ht.length > 0 && it;) { for (kt.push(ht[0]); kt.length > 0 && it;) { var mt = kt[0]; kt.splice(0, 1), Tt.add(mt); for (var rt = mt.getEdges(), pt = 0; pt < rt.length; pt++) { var wt = rt[pt].getOtherEnd(mt); if (yt.get(mt) != wt) if (!Tt.has(wt)) kt.push(wt), yt.set(wt, mt); else { it = !1; break } } } if (!it) Y = []; else { var gt = [].concat(m(Tt)); Y.push(gt); for (var pt = 0; pt < gt.length; pt++) { var lt = gt[pt], _t = ht.indexOf(lt); _t > -1 && ht.splice(_t, 1) } Tt = new Set, yt = new Map } } return Y }, H.prototype.createDummyNodesForBendpoints = function (Y) { for (var it = [], nt = Y.source, st = this.graphManager.calcLowestCommonAncestor(Y.source, Y.target), pt = 0; pt < Y.bendpoints.length; pt++) { var Tt = this.newNode(null); Tt.setRect(new Point(0, 0), new Dimension(1, 1)), st.add(Tt); var kt = this.newEdge(null); this.graphManager.add(kt, nt, Tt), it.add(Tt), nt = Tt } var kt = this.newEdge(null); return this.graphManager.add(kt, nt, Y.target), this.edgeToDummyNodes.set(Y, it), Y.isInterGraph() ? this.graphManager.remove(Y) : st.remove(Y), it }, H.prototype.createBendpointsFromDummyNodes = function () { var Y = []; Y = Y.concat(this.graphManager.getAllEdges()), Y = [].concat(m(this.edgeToDummyNodes.keys())).concat(Y); for (var it = 0; it < Y.length; it++) { var nt = Y[it]; if (nt.bendpoints.length > 0) { for (var st = this.edgeToDummyNodes.get(nt), pt = 0; pt < st.length; pt++) { var Tt = st[pt], kt = new B(Tt.getCenterX(), Tt.getCenterY()), yt = nt.bendpoints.get(pt); yt.x = kt.x, yt.y = kt.y, Tt.getOwner().remove(Tt) } this.graphManager.add(nt, nt.source, nt.target) } } }, H.transform = function (Y, it, nt, st) { if (nt != null && st != null) { var pt = it; if (Y <= 50) { var Tt = it / nt; pt -= (it - Tt) / 50 * (50 - Y) } else { var kt = it * st; pt += (kt - it) / 50 * (Y - 50) } return pt } else { var yt, ht; return Y <= 50 ? (yt = 9 * it / 500, ht = it / 10) : (yt = 9 * it / 50, ht = -8 * it), yt * Y + ht } }, H.findCenterOfTree = function (Y) { var it = []; it = it.concat(Y); var nt = [], st = new Map, pt = !1, Tt = null; (it.length == 1 || it.length == 2) && (pt = !0, Tt = it[0]); for (var kt = 0; kt < it.length; kt++) { var yt = it[kt], ht = yt.getNeighborsList().size; st.set(yt, yt.getNeighborsList().size), ht == 1 && nt.push(yt) } var mt = []; for (mt = mt.concat(nt); !pt;) { var rt = []; rt = rt.concat(mt), mt = []; for (var kt = 0; kt < it.length; kt++) { var yt = it[kt], wt = it.indexOf(yt); wt >= 0 && it.splice(wt, 1); var gt = yt.getNeighborsList(); gt.forEach(function (X) { if (nt.indexOf(X) < 0) { var Rt = st.get(X), ft = Rt - 1; ft == 1 && mt.push(X), st.set(X, ft) } }) } nt = nt.concat(mt), (it.length == 1 || it.length == 2) && (pt = !0, Tt = it[0]) } return Tt }, H.prototype.setGraphManager = function (Y) { this.graphManager = Y }, f.exports = H }, function (f, p, v) { function m() { } m.seed = 1, m.x = 0, m.nextDouble = function () { return m.x = Math.sin(m.seed++) * 1e4, m.x - Math.floor(m.x) }, f.exports = m }, function (f, p, v) { var m = v(4); function b(E, C) { this.lworldOrgX = 0, this.lworldOrgY = 0, this.ldeviceOrgX = 0, this.ldeviceOrgY = 0, this.lworldExtX = 1, this.lworldExtY = 1, this.ldeviceExtX = 1, this.ldeviceExtY = 1 } b.prototype.getWorldOrgX = function () { return this.lworldOrgX }, b.prototype.setWorldOrgX = function (E) { this.lworldOrgX = E }, b.prototype.getWorldOrgY = function () { return this.lworldOrgY }, b.prototype.setWorldOrgY = function (E) { this.lworldOrgY = E }, b.prototype.getWorldExtX = function () { return this.lworldExtX }, b.prototype.setWorldExtX = function (E) { this.lworldExtX = E }, b.prototype.getWorldExtY = function () { return this.lworldExtY }, b.prototype.setWorldExtY = function (E) { this.lworldExtY = E }, b.prototype.getDeviceOrgX = function () { return this.ldeviceOrgX }, b.prototype.setDeviceOrgX = function (E) { this.ldeviceOrgX = E }, b.prototype.getDeviceOrgY = function () { return this.ldeviceOrgY }, b.prototype.setDeviceOrgY = function (E) { this.ldeviceOrgY = E }, b.prototype.getDeviceExtX = function () { return this.ldeviceExtX }, b.prototype.setDeviceExtX = function (E) { this.ldeviceExtX = E }, b.prototype.getDeviceExtY = function () { return this.ldeviceExtY }, b.prototype.setDeviceExtY = function (E) { this.ldeviceExtY = E }, b.prototype.transformX = function (E) { var C = 0, D = this.lworldExtX; return D != 0 && (C = this.ldeviceOrgX + (E - this.lworldOrgX) * this.ldeviceExtX / D), C }, b.prototype.transformY = function (E) { var C = 0, D = this.lworldExtY; return D != 0 && (C = this.ldeviceOrgY + (E - this.lworldOrgY) * this.ldeviceExtY / D), C }, b.prototype.inverseTransformX = function (E) { var C = 0, D = this.ldeviceExtX; return D != 0 && (C = this.lworldOrgX + (E - this.ldeviceOrgX) * this.lworldExtX / D), C }, b.prototype.inverseTransformY = function (E) { var C = 0, D = this.ldeviceExtY; return D != 0 && (C = this.lworldOrgY + (E - this.ldeviceOrgY) * this.lworldExtY / D), C }, b.prototype.inverseTransformPoint = function (E) { var C = new m(this.inverseTransformX(E.x), this.inverseTransformY(E.y)); return C }, f.exports = b }, function (f, p, v) { function m(R) { if (Array.isArray(R)) { for (var H = 0, Y = Array(R.length); H < R.length; H++)Y[H] = R[H]; return Y } else return Array.from(R) } var b = v(15), E = v(7), C = v(0), D = v(8), P = v(9); function B() { b.call(this), this.useSmartIdealEdgeLengthCalculation = E.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION, this.idealEdgeLength = E.DEFAULT_EDGE_LENGTH, this.springConstant = E.DEFAULT_SPRING_STRENGTH, this.repulsionConstant = E.DEFAULT_REPULSION_STRENGTH, this.gravityConstant = E.DEFAULT_GRAVITY_STRENGTH, this.compoundGravityConstant = E.DEFAULT_COMPOUND_GRAVITY_STRENGTH, this.gravityRangeFactor = E.DEFAULT_GRAVITY_RANGE_FACTOR, this.compoundGravityRangeFactor = E.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR, this.displacementThresholdPerNode = 3 * E.DEFAULT_EDGE_LENGTH / 100, this.coolingFactor = E.DEFAULT_COOLING_FACTOR_INCREMENTAL, this.initialCoolingFactor = E.DEFAULT_COOLING_FACTOR_INCREMENTAL, this.totalDisplacement = 0, this.oldTotalDisplacement = 0, this.maxIterations = E.MAX_ITERATIONS } B.prototype = Object.create(b.prototype); for (var j in b) B[j] = b[j]; B.prototype.initParameters = function () { b.prototype.initParameters.call(this, arguments), this.totalIterations = 0, this.notAnimatedIterations = 0, this.useFRGridVariant = E.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION, this.grid = [] }, B.prototype.calcIdealEdgeLengths = function () { for (var R, H, Y, it, nt, st, pt = this.getGraphManager().getAllEdges(), Tt = 0; Tt < pt.length; Tt++)R = pt[Tt], R.idealLength = this.idealEdgeLength, R.isInterGraph && (Y = R.getSource(), it = R.getTarget(), nt = R.getSourceInLca().getEstimatedSize(), st = R.getTargetInLca().getEstimatedSize(), this.useSmartIdealEdgeLengthCalculation && (R.idealLength += nt + st - 2 * C.SIMPLE_NODE_SIZE), H = R.getLca().getInclusionTreeDepth(), R.idealLength += E.DEFAULT_EDGE_LENGTH * E.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR * (Y.getInclusionTreeDepth() + it.getInclusionTreeDepth() - 2 * H)) }, B.prototype.initSpringEmbedder = function () { var R = this.getAllNodes().length; this.incremental ? (R > E.ADAPTATION_LOWER_NODE_LIMIT && (this.coolingFactor = Math.max(this.coolingFactor * E.COOLING_ADAPTATION_FACTOR, this.coolingFactor - (R - E.ADAPTATION_LOWER_NODE_LIMIT) / (E.ADAPTATION_UPPER_NODE_LIMIT - E.ADAPTATION_LOWER_NODE_LIMIT) * this.coolingFactor * (1 - E.COOLING_ADAPTATION_FACTOR))), this.maxNodeDisplacement = E.MAX_NODE_DISPLACEMENT_INCREMENTAL) : (R > E.ADAPTATION_LOWER_NODE_LIMIT ? this.coolingFactor = Math.max(E.COOLING_ADAPTATION_FACTOR, 1 - (R - E.ADAPTATION_LOWER_NODE_LIMIT) / (E.ADAPTATION_UPPER_NODE_LIMIT - E.ADAPTATION_LOWER_NODE_LIMIT) * (1 - E.COOLING_ADAPTATION_FACTOR)) : this.coolingFactor = 1, this.initialCoolingFactor = this.coolingFactor, this.maxNodeDisplacement = E.MAX_NODE_DISPLACEMENT), this.maxIterations = Math.max(this.getAllNodes().length * 5, this.maxIterations), this.totalDisplacementThreshold = this.displacementThresholdPerNode * this.getAllNodes().length, this.repulsionRange = this.calcRepulsionRange() }, B.prototype.calcSpringForces = function () { for (var R = this.getAllEdges(), H, Y = 0; Y < R.length; Y++)H = R[Y], this.calcSpringForce(H, H.idealLength) }, B.prototype.calcRepulsionForces = function () { var R = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0, H = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, Y, it, nt, st, pt = this.getAllNodes(), Tt; if (this.useFRGridVariant) for (this.totalIterations % E.GRID_CALCULATION_CHECK_PERIOD == 1 && R && this.updateGrid(), Tt = new Set, Y = 0; Y < pt.length; Y++)nt = pt[Y], this.calculateRepulsionForceOfANode(nt, Tt, R, H), Tt.add(nt); else for (Y = 0; Y < pt.length; Y++)for (nt = pt[Y], it = Y + 1; it < pt.length; it++)st = pt[it], nt.getOwner() == st.getOwner() && this.calcRepulsionForce(nt, st) }, B.prototype.calcGravitationalForces = function () { for (var R, H = this.getAllNodesToApplyGravitation(), Y = 0; Y < H.length; Y++)R = H[Y], this.calcGravitationalForce(R) }, B.prototype.moveNodes = function () { for (var R = this.getAllNodes(), H, Y = 0; Y < R.length; Y++)H = R[Y], H.move() }, B.prototype.calcSpringForce = function (R, H) { var Y = R.getSource(), it = R.getTarget(), nt, st, pt, Tt; if (this.uniformLeafNodeSizes && Y.getChild() == null && it.getChild() == null) R.updateLengthSimple(); else if (R.updateLength(), R.isOverlapingSourceAndTarget) return; nt = R.getLength(), nt != 0 && (st = this.springConstant * (nt - H), pt = st * (R.lengthX / nt), Tt = st * (R.lengthY / nt), Y.springForceX += pt, Y.springForceY += Tt, it.springForceX -= pt, it.springForceY -= Tt) }, B.prototype.calcRepulsionForce = function (R, H) { var Y = R.getRect(), it = H.getRect(), nt = new Array(2), st = new Array(4), pt, Tt, kt, yt, ht, mt, rt; if (Y.intersects(it)) { D.calcSeparationAmount(Y, it, nt, E.DEFAULT_EDGE_LENGTH / 2), mt = 2 * nt[0], rt = 2 * nt[1]; var wt = R.noOfChildren * H.noOfChildren / (R.noOfChildren + H.noOfChildren); R.repulsionForceX -= wt * mt, R.repulsionForceY -= wt * rt, H.repulsionForceX += wt * mt, H.repulsionForceY += wt * rt } else this.uniformLeafNodeSizes && R.getChild() == null && H.getChild() == null ? (pt = it.getCenterX() - Y.getCenterX(), Tt = it.getCenterY() - Y.getCenterY()) : (D.getIntersection(Y, it, st), pt = st[2] - st[0], Tt = st[3] - st[1]), Math.abs(pt) < E.MIN_REPULSION_DIST && (pt = P.sign(pt) * E.MIN_REPULSION_DIST), Math.abs(Tt) < E.MIN_REPULSION_DIST && (Tt = P.sign(Tt) * E.MIN_REPULSION_DIST), kt = pt * pt + Tt * Tt, yt = Math.sqrt(kt), ht = this.repulsionConstant * R.noOfChildren * H.noOfChildren / kt, mt = ht * pt / yt, rt = ht * Tt / yt, R.repulsionForceX -= mt, R.repulsionForceY -= rt, H.repulsionForceX += mt, H.repulsionForceY += rt }, B.prototype.calcGravitationalForce = function (R) { var H, Y, it, nt, st, pt, Tt, kt; H = R.getOwner(), Y = (H.getRight() + H.getLeft()) / 2, it = (H.getTop() + H.getBottom()) / 2, nt = R.getCenterX() - Y, st = R.getCenterY() - it, pt = Math.abs(nt) + R.getWidth() / 2, Tt = Math.abs(st) + R.getHeight() / 2, R.getOwner() == this.graphManager.getRoot() ? (kt = H.getEstimatedSize() * this.gravityRangeFactor, (pt > kt || Tt > kt) && (R.gravitationForceX = -this.gravityConstant * nt, R.gravitationForceY = -this.gravityConstant * st)) : (kt = H.getEstimatedSize() * this.compoundGravityRangeFactor, (pt > kt || Tt > kt) && (R.gravitationForceX = -this.gravityConstant * nt * this.compoundGravityConstant, R.gravitationForceY = -this.gravityConstant * st * this.compoundGravityConstant)) }, B.prototype.isConverged = function () { var R, H = !1; return this.totalIterations > this.maxIterations / 3 && (H = Math.abs(this.totalDisplacement - this.oldTotalDisplacement) < 2), R = this.totalDisplacement < this.totalDisplacementThreshold, this.oldTotalDisplacement = this.totalDisplacement, R || H }, B.prototype.animate = function () { this.animationDuringLayout && !this.isSubLayout && (this.notAnimatedIterations == this.animationPeriod ? (this.update(), this.notAnimatedIterations = 0) : this.notAnimatedIterations++) }, B.prototype.calcNoOfChildrenForAllNodes = function () { for (var R, H = this.graphManager.getAllNodes(), Y = 0; Y < H.length; Y++)R = H[Y], R.noOfChildren = R.getNoOfChildren() }, B.prototype.calcGrid = function (R) { var H = 0, Y = 0; H = parseInt(Math.ceil((R.getRight() - R.getLeft()) / this.repulsionRange)), Y = parseInt(Math.ceil((R.getBottom() - R.getTop()) / this.repulsionRange)); for (var it = new Array(H), nt = 0; nt < H; nt++)it[nt] = new Array(Y); for (var nt = 0; nt < H; nt++)for (var st = 0; st < Y; st++)it[nt][st] = new Array; return it }, B.prototype.addNodeToGrid = function (R, H, Y) { var it = 0, nt = 0, st = 0, pt = 0; it = parseInt(Math.floor((R.getRect().x - H) / this.repulsionRange)), nt = parseInt(Math.floor((R.getRect().width + R.getRect().x - H) / this.repulsionRange)), st = parseInt(Math.floor((R.getRect().y - Y) / this.repulsionRange)), pt = parseInt(Math.floor((R.getRect().height + R.getRect().y - Y) / this.repulsionRange)); for (var Tt = it; Tt <= nt; Tt++)for (var kt = st; kt <= pt; kt++)this.grid[Tt][kt].push(R), R.setGridCoordinates(it, nt, st, pt) }, B.prototype.updateGrid = function () { var R, H, Y = this.getAllNodes(); for (this.grid = this.calcGrid(this.graphManager.getRoot()), R = 0; R < Y.length; R++)H = Y[R], this.addNodeToGrid(H, this.graphManager.getRoot().getLeft(), this.graphManager.getRoot().getTop()) }, B.prototype.calculateRepulsionForceOfANode = function (R, H, Y, it) { if (this.totalIterations % E.GRID_CALCULATION_CHECK_PERIOD == 1 && Y || it) { var nt = new Set; R.surrounding = new Array; for (var st, pt = this.grid, Tt = R.startX - 1; Tt < R.finishX + 2; Tt++)for (var kt = R.startY - 1; kt < R.finishY + 2; kt++)if (!(Tt < 0 || kt < 0 || Tt >= pt.length || kt >= pt[0].length)) { for (var yt = 0; yt < pt[Tt][kt].length; yt++)if (st = pt[Tt][kt][yt], !(R.getOwner() != st.getOwner() || R == st) && !H.has(st) && !nt.has(st)) { var ht = Math.abs(R.getCenterX() - st.getCenterX()) - (R.getWidth() / 2 + st.getWidth() / 2), mt = Math.abs(R.getCenterY() - st.getCenterY()) - (R.getHeight() / 2 + st.getHeight() / 2); ht <= this.repulsionRange && mt <= this.repulsionRange && nt.add(st) } } R.surrounding = [].concat(m(nt)) } for (Tt = 0; Tt < R.surrounding.length; Tt++)this.calcRepulsionForce(R, R.surrounding[Tt]) }, B.prototype.calcRepulsionRange = function () { return 0 }, f.exports = B }, function (f, p, v) { var m = v(1), b = v(7); function E(D, P, B) { m.call(this, D, P, B), this.idealLength = b.DEFAULT_EDGE_LENGTH } E.prototype = Object.create(m.prototype); for (var C in m) E[C] = m[C]; f.exports = E }, function (f, p, v) { var m = v(3); function b(C, D, P, B) { m.call(this, C, D, P, B), this.springForceX = 0, this.springForceY = 0, this.repulsionForceX = 0, this.repulsionForceY = 0, this.gravitationForceX = 0, this.gravitationForceY = 0, this.displacementX = 0, this.displacementY = 0, this.startX = 0, this.finishX = 0, this.startY = 0, this.finishY = 0, this.surrounding = [] } b.prototype = Object.create(m.prototype); for (var E in m) b[E] = m[E]; b.prototype.setGridCoordinates = function (C, D, P, B) { this.startX = C, this.finishX = D, this.startY = P, this.finishY = B }, f.exports = b }, function (f, p, v) { function m(b, E) { this.width = 0, this.height = 0, b !== null && E !== null && (this.height = E, this.width = b) } m.prototype.getWidth = function () { return this.width }, m.prototype.setWidth = function (b) { this.width = b }, m.prototype.getHeight = function () { return this.height }, m.prototype.setHeight = function (b) { this.height = b }, f.exports = m }, function (f, p, v) { var m = v(14); function b() { this.map = {}, this.keys = [] } b.prototype.put = function (E, C) { var D = m.createID(E); this.contains(D) || (this.map[D] = C, this.keys.push(E)) }, b.prototype.contains = function (E) { return m.createID(E), this.map[E] != null }, b.prototype.get = function (E) { var C = m.createID(E); return this.map[C] }, b.prototype.keySet = function () { return this.keys }, f.exports = b }, function (f, p, v) { var m = v(14); function b() { this.set = {} } b.prototype.add = function (E) { var C = m.createID(E); this.contains(C) || (this.set[C] = E) }, b.prototype.remove = function (E) { delete this.set[m.createID(E)] }, b.prototype.clear = function () { this.set = {} }, b.prototype.contains = function (E) { return this.set[m.createID(E)] == E }, b.prototype.isEmpty = function () { return this.size() === 0 }, b.prototype.size = function () { return Object.keys(this.set).length }, b.prototype.addAllTo = function (E) { for (var C = Object.keys(this.set), D = C.length, P = 0; P < D; P++)E.push(this.set[C[P]]) }, b.prototype.size = function () { return Object.keys(this.set).length }, b.prototype.addAll = function (E) { for (var C = E.length, D = 0; D < C; D++) { var P = E[D]; this.add(P) } }, f.exports = b }, function (f, p, v) { var m = function () { function D(P, B) { for (var j = 0; j < B.length; j++) { var R = B[j]; R.enumerable = R.enumerable || !1, R.configurable = !0, "value" in R && (R.writable = !0), Object.defineProperty(P, R.key, R) } } return function (P, B, j) { return B && D(P.prototype, B), j && D(P, j), P } }(); function b(D, P) { if (!(D instanceof P)) throw new TypeError("Cannot call a class as a function") } var E = v(11), C = function () { function D(P, B) { b(this, D), (B !== null || B !== void 0) && (this.compareFunction = this._defaultCompareFunction); var j = void 0; P instanceof E ? j = P.size() : j = P.length, this._quicksort(P, 0, j - 1) } return m(D, [{ key: "_quicksort", value: function (B, j, R) { if (j < R) { var H = this._partition(B, j, R); this._quicksort(B, j, H), this._quicksort(B, H + 1, R) } } }, { key: "_partition", value: function (B, j, R) { for (var H = this._get(B, j), Y = j, it = R; ;) { for (; this.compareFunction(H, this._get(B, it));)it--; for (; this.compareFunction(this._get(B, Y), H);)Y++; if (Y < it) this._swap(B, Y, it), Y++, it--; else return it } } }, { key: "_get", value: function (B, j) { return B instanceof E ? B.get_object_at(j) : B[j] } }, { key: "_set", value: function (B, j, R) { B instanceof E ? B.set_object_at(j, R) : B[j] = R } }, { key: "_swap", value: function (B, j, R) { var H = this._get(B, j); this._set(B, j, this._get(B, R)), this._set(B, R, H) } }, { key: "_defaultCompareFunction", value: function (B, j) { return j > B } }]), D }(); f.exports = C }, function (f, p, v) { var m = function () { function C(D, P) { for (var B = 0; B < P.length; B++) { var j = P[B]; j.enumerable = j.enumerable || !1, j.configurable = !0, "value" in j && (j.writable = !0), Object.defineProperty(D, j.key, j) } } return function (D, P, B) { return P && C(D.prototype, P), B && C(D, B), D } }(); function b(C, D) { if (!(C instanceof D)) throw new TypeError("Cannot call a class as a function") } var E = function () { function C(D, P) { var B = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1, j = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : -1, R = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : -1; b(this, C), this.sequence1 = D, this.sequence2 = P, this.match_score = B, this.mismatch_penalty = j, this.gap_penalty = R, this.iMax = D.length + 1, this.jMax = P.length + 1, this.grid = new Array(this.iMax); for (var H = 0; H < this.iMax; H++) { this.grid[H] = new Array(this.jMax); for (var Y = 0; Y < this.jMax; Y++)this.grid[H][Y] = 0 } this.tracebackGrid = new Array(this.iMax); for (var it = 0; it < this.iMax; it++) { this.tracebackGrid[it] = new Array(this.jMax); for (var nt = 0; nt < this.jMax; nt++)this.tracebackGrid[it][nt] = [null, null, null] } this.alignments = [], this.score = -1, this.computeGrids() } return m(C, [{ key: "getScore", value: function () { return this.score } }, { key: "getAlignments", value: function () { return this.alignments } }, { key: "computeGrids", value: function () { for (var P = 1; P < this.jMax; P++)this.grid[0][P] = this.grid[0][P - 1] + this.gap_penalty, this.tracebackGrid[0][P] = [!1, !1, !0]; for (var B = 1; B < this.iMax; B++)this.grid[B][0] = this.grid[B - 1][0] + this.gap_penalty, this.tracebackGrid[B][0] = [!1, !0, !1]; for (var j = 1; j < this.iMax; j++)for (var R = 1; R < this.jMax; R++) { var H = void 0; this.sequence1[j - 1] === this.sequence2[R - 1] ? H = this.grid[j - 1][R - 1] + this.match_score : H = this.grid[j - 1][R - 1] + this.mismatch_penalty; var Y = this.grid[j - 1][R] + this.gap_penalty, it = this.grid[j][R - 1] + this.gap_penalty, nt = [H, Y, it], st = this.arrayAllMaxIndexes(nt); this.grid[j][R] = nt[st[0]], this.tracebackGrid[j][R] = [st.includes(0), st.includes(1), st.includes(2)] } this.score = this.grid[this.iMax - 1][this.jMax - 1] } }, { key: "alignmentTraceback", value: function () { var P = []; for (P.push({ pos: [this.sequence1.length, this.sequence2.length], seq1: "", seq2: "" }); P[0];) { var B = P[0], j = this.tracebackGrid[B.pos[0]][B.pos[1]]; j[0] && P.push({ pos: [B.pos[0] - 1, B.pos[1] - 1], seq1: this.sequence1[B.pos[0] - 1] + B.seq1, seq2: this.sequence2[B.pos[1] - 1] + B.seq2 }), j[1] && P.push({ pos: [B.pos[0] - 1, B.pos[1]], seq1: this.sequence1[B.pos[0] - 1] + B.seq1, seq2: "-" + B.seq2 }), j[2] && P.push({ pos: [B.pos[0], B.pos[1] - 1], seq1: "-" + B.seq1, seq2: this.sequence2[B.pos[1] - 1] + B.seq2 }), B.pos[0] === 0 && B.pos[1] === 0 && this.alignments.push({ sequence1: B.seq1, sequence2: B.seq2 }), P.shift() } return this.alignments } }, { key: "getAllIndexes", value: function (P, B) { for (var j = [], R = -1; (R = P.indexOf(B, R + 1)) !== -1;)j.push(R); return j } }, { key: "arrayAllMaxIndexes", value: function (P) { return this.getAllIndexes(P, Math.max.apply(null, P)) } }]), C }(); f.exports = E }, function (f, p, v) { var m = function () { }; m.FDLayout = v(18), m.FDLayoutConstants = v(7), m.FDLayoutEdge = v(19), m.FDLayoutNode = v(20), m.DimensionD = v(21), m.HashMap = v(22), m.HashSet = v(23), m.IGeometry = v(8), m.IMath = v(9), m.Integer = v(10), m.Point = v(12), m.PointD = v(4), m.RandomSeed = v(16), m.RectangleD = v(13), m.Transform = v(17), m.UniqueIDGeneretor = v(14), m.Quicksort = v(24), m.LinkedList = v(11), m.LGraphObject = v(2), m.LGraph = v(5), m.LEdge = v(1), m.LGraphManager = v(6), m.LNode = v(3), m.Layout = v(15), m.LayoutConstants = v(0), m.NeedlemanWunsch = v(25), f.exports = m }, function (f, p, v) { function m() { this.listeners = [] } var b = m.prototype; b.addListener = function (E, C) { this.listeners.push({ event: E, callback: C }) }, b.removeListener = function (E, C) { for (var D = this.listeners.length; D >= 0; D--) { var P = this.listeners[D]; P.event === E && P.callback === C && this.listeners.splice(D, 1) } }, b.emit = function (E, C) { for (var D = 0; D < this.listeners.length; D++) { var P = this.listeners[D]; E === P.event && P.callback(C) } }, f.exports = m }]) }) }(hUe)), jK } var bjt; function dUe() { return bjt || (bjt = 1, function (i, a) { (function (p, v) { i.exports = v(fUe()) })(b0, function (f) { return function (p) { var v = {}; function m(b) { if (v[b]) return v[b].exports; var E = v[b] = { i: b, l: !1, exports: {} }; return p[b].call(E.exports, E, E.exports, m), E.l = !0, E.exports } return m.m = p, m.c = v, m.i = function (b) { return b }, m.d = function (b, E, C) { m.o(b, E) || Object.defineProperty(b, E, { configurable: !1, enumerable: !0, get: C }) }, m.n = function (b) { var E = b && b.__esModule ? function () { return b.default } : function () { return b }; return m.d(E, "a", E), E }, m.o = function (b, E) { return Object.prototype.hasOwnProperty.call(b, E) }, m.p = "", m(m.s = 7) }([function (p, v) { p.exports = f }, function (p, v, m) { var b = m(0).FDLayoutConstants; function E() { } for (var C in b) E[C] = b[C]; E.DEFAULT_USE_MULTI_LEVEL_SCALING = !1, E.DEFAULT_RADIAL_SEPARATION = b.DEFAULT_EDGE_LENGTH, E.DEFAULT_COMPONENT_SEPERATION = 60, E.TILE = !0, E.TILING_PADDING_VERTICAL = 10, E.TILING_PADDING_HORIZONTAL = 10, E.TREE_REDUCTION_ON_INCREMENTAL = !1, p.exports = E }, function (p, v, m) { var b = m(0).FDLayoutEdge; function E(D, P, B) { b.call(this, D, P, B) } E.prototype = Object.create(b.prototype); for (var C in b) E[C] = b[C]; p.exports = E }, function (p, v, m) { var b = m(0).LGraph; function E(D, P, B) { b.call(this, D, P, B) } E.prototype = Object.create(b.prototype); for (var C in b) E[C] = b[C]; p.exports = E }, function (p, v, m) { var b = m(0).LGraphManager; function E(D) { b.call(this, D) } E.prototype = Object.create(b.prototype); for (var C in b) E[C] = b[C]; p.exports = E }, function (p, v, m) { var b = m(0).FDLayoutNode, E = m(0).IMath; function C(P, B, j, R) { b.call(this, P, B, j, R) } C.prototype = Object.create(b.prototype); for (var D in b) C[D] = b[D]; C.prototype.move = function () { var P = this.graphManager.getLayout(); this.displacementX = P.coolingFactor * (this.springForceX + this.repulsionForceX + this.gravitationForceX) / this.noOfChildren, this.displacementY = P.coolingFactor * (this.springForceY + this.repulsionForceY + this.gravitationForceY) / this.noOfChildren, Math.abs(this.displacementX) > P.coolingFactor * P.maxNodeDisplacement && (this.displacementX = P.coolingFactor * P.maxNodeDisplacement * E.sign(this.displacementX)), Math.abs(this.displacementY) > P.coolingFactor * P.maxNodeDisplacement && (this.displacementY = P.coolingFactor * P.maxNodeDisplacement * E.sign(this.displacementY)), this.child == null ? this.moveBy(this.displacementX, this.displacementY) : this.child.getNodes().length == 0 ? this.moveBy(this.displacementX, this.displacementY) : this.propogateDisplacementToChildren(this.displacementX, this.displacementY), P.totalDisplacement += Math.abs(this.displacementX) + Math.abs(this.displacementY), this.springForceX = 0, this.springForceY = 0, this.repulsionForceX = 0, this.repulsionForceY = 0, this.gravitationForceX = 0, this.gravitationForceY = 0, this.displacementX = 0, this.displacementY = 0 }, C.prototype.propogateDisplacementToChildren = function (P, B) { for (var j = this.getChild().getNodes(), R, H = 0; H < j.length; H++)R = j[H], R.getChild() == null ? (R.moveBy(P, B), R.displacementX += P, R.displacementY += B) : R.propogateDisplacementToChildren(P, B) }, C.prototype.setPred1 = function (P) { this.pred1 = P }, C.prototype.getPred1 = function () { return pred1 }, C.prototype.getPred2 = function () { return pred2 }, C.prototype.setNext = function (P) { this.next = P }, C.prototype.getNext = function () { return next }, C.prototype.setProcessed = function (P) { this.processed = P }, C.prototype.isProcessed = function () { return processed }, p.exports = C }, function (p, v, m) { var b = m(0).FDLayout, E = m(4), C = m(3), D = m(5), P = m(2), B = m(1), j = m(0).FDLayoutConstants, R = m(0).LayoutConstants, H = m(0).Point, Y = m(0).PointD, it = m(0).Layout, nt = m(0).Integer, st = m(0).IGeometry, pt = m(0).LGraph, Tt = m(0).Transform; function kt() { b.call(this), this.toBeTiled = {} } kt.prototype = Object.create(b.prototype); for (var yt in b) kt[yt] = b[yt]; kt.prototype.newGraphManager = function () { var ht = new E(this); return this.graphManager = ht, ht }, kt.prototype.newGraph = function (ht) { return new C(null, this.graphManager, ht) }, kt.prototype.newNode = function (ht) { return new D(this.graphManager, ht) }, kt.prototype.newEdge = function (ht) { return new P(null, null, ht) }, kt.prototype.initParameters = function () { b.prototype.initParameters.call(this, arguments), this.isSubLayout || (B.DEFAULT_EDGE_LENGTH < 10 ? this.idealEdgeLength = 10 : this.idealEdgeLength = B.DEFAULT_EDGE_LENGTH, this.useSmartIdealEdgeLengthCalculation = B.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION, this.springConstant = j.DEFAULT_SPRING_STRENGTH, this.repulsionConstant = j.DEFAULT_REPULSION_STRENGTH, this.gravityConstant = j.DEFAULT_GRAVITY_STRENGTH, this.compoundGravityConstant = j.DEFAULT_COMPOUND_GRAVITY_STRENGTH, this.gravityRangeFactor = j.DEFAULT_GRAVITY_RANGE_FACTOR, this.compoundGravityRangeFactor = j.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR, this.prunedNodesAll = [], this.growTreeIterations = 0, this.afterGrowthIterations = 0, this.isTreeGrowing = !1, this.isGrowthFinished = !1, this.coolingCycle = 0, this.maxCoolingCycle = this.maxIterations / j.CONVERGENCE_CHECK_PERIOD, this.finalTemperature = j.CONVERGENCE_CHECK_PERIOD / this.maxIterations, this.coolingAdjuster = 1) }, kt.prototype.layout = function () { var ht = R.DEFAULT_CREATE_BENDS_AS_NEEDED; return ht && (this.createBendpoints(), this.graphManager.resetAllEdges()), this.level = 0, this.classicLayout() }, kt.prototype.classicLayout = function () { if (this.nodesWithGravity = this.calculateNodesToApplyGravitationTo(), this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity), this.calcNoOfChildrenForAllNodes(), this.graphManager.calcLowestCommonAncestors(), this.graphManager.calcInclusionTreeDepths(), this.graphManager.getRoot().calcEstimatedSize(), this.calcIdealEdgeLengths(), this.incremental) { if (B.TREE_REDUCTION_ON_INCREMENTAL) { this.reduceTrees(), this.graphManager.resetAllNodesToApplyGravitation(); var mt = new Set(this.getAllNodes()), rt = this.nodesWithGravity.filter(function (lt) { return mt.has(lt) }); this.graphManager.setAllNodesToApplyGravitation(rt) } } else { var ht = this.getFlatForest(); if (ht.length > 0) this.positionNodesRadially(ht); else { this.reduceTrees(), this.graphManager.resetAllNodesToApplyGravitation(); var mt = new Set(this.getAllNodes()), rt = this.nodesWithGravity.filter(function (wt) { return mt.has(wt) }); this.graphManager.setAllNodesToApplyGravitation(rt), this.positionNodesRandomly() } } return this.initSpringEmbedder(), this.runSpringEmbedder(), !0 }, kt.prototype.tick = function () { if (this.totalIterations++, this.totalIterations === this.maxIterations && !this.isTreeGrowing && !this.isGrowthFinished) if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0; else return !0; if (this.totalIterations % j.CONVERGENCE_CHECK_PERIOD == 0 && !this.isTreeGrowing && !this.isGrowthFinished) { if (this.isConverged()) if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0; else return !0; this.coolingCycle++, this.layoutQuality == 0 ? this.coolingAdjuster = this.coolingCycle : this.layoutQuality == 1 && (this.coolingAdjuster = this.coolingCycle / 3), this.coolingFactor = Math.max(this.initialCoolingFactor - Math.pow(this.coolingCycle, Math.log(100 * (this.initialCoolingFactor - this.finalTemperature)) / Math.log(this.maxCoolingCycle)) / 100 * this.coolingAdjuster, this.finalTemperature), this.animationPeriod = Math.ceil(this.initialAnimationPeriod * Math.sqrt(this.coolingFactor)) } if (this.isTreeGrowing) { if (this.growTreeIterations % 10 == 0) if (this.prunedNodesAll.length > 0) { this.graphManager.updateBounds(), this.updateGrid(), this.growTree(this.prunedNodesAll), this.graphManager.resetAllNodesToApplyGravitation(); var ht = new Set(this.getAllNodes()), mt = this.nodesWithGravity.filter(function (gt) { return ht.has(gt) }); this.graphManager.setAllNodesToApplyGravitation(mt), this.graphManager.updateBounds(), this.updateGrid(), this.coolingFactor = j.DEFAULT_COOLING_FACTOR_INCREMENTAL } else this.isTreeGrowing = !1, this.isGrowthFinished = !0; this.growTreeIterations++ } if (this.isGrowthFinished) { if (this.isConverged()) return !0; this.afterGrowthIterations % 10 == 0 && (this.graphManager.updateBounds(), this.updateGrid()), this.coolingFactor = j.DEFAULT_COOLING_FACTOR_INCREMENTAL * ((100 - this.afterGrowthIterations) / 100), this.afterGrowthIterations++ } var rt = !this.isTreeGrowing && !this.isGrowthFinished, wt = this.growTreeIterations % 10 == 1 && this.isTreeGrowing || this.afterGrowthIterations % 10 == 1 && this.isGrowthFinished; return this.totalDisplacement = 0, this.graphManager.updateBounds(), this.calcSpringForces(), this.calcRepulsionForces(rt, wt), this.calcGravitationalForces(), this.moveNodes(), this.animate(), !1 }, kt.prototype.getPositionsData = function () { for (var ht = this.graphManager.getAllNodes(), mt = {}, rt = 0; rt < ht.length; rt++) { var wt = ht[rt].rect, gt = ht[rt].id; mt[gt] = { id: gt, x: wt.getCenterX(), y: wt.getCenterY(), w: wt.width, h: wt.height } } return mt }, kt.prototype.runSpringEmbedder = function () { this.initialAnimationPeriod = 25, this.animationPeriod = this.initialAnimationPeriod; var ht = !1; if (j.ANIMATE === "during") this.emit("layoutstarted"); else { for (; !ht;)ht = this.tick(); this.graphManager.updateBounds() } }, kt.prototype.calculateNodesToApplyGravitationTo = function () { var ht = [], mt, rt = this.graphManager.getGraphs(), wt = rt.length, gt; for (gt = 0; gt < wt; gt++)mt = rt[gt], mt.updateConnected(), mt.isConnected || (ht = ht.concat(mt.getNodes())); return ht }, kt.prototype.createBendpoints = function () { var ht = []; ht = ht.concat(this.graphManager.getAllEdges()); var mt = new Set, rt; for (rt = 0; rt < ht.length; rt++) { var wt = ht[rt]; if (!mt.has(wt)) { var gt = wt.getSource(), lt = wt.getTarget(); if (gt == lt) wt.getBendpoints().push(new Y), wt.getBendpoints().push(new Y), this.createDummyNodesForBendpoints(wt), mt.add(wt); else { var _t = []; if (_t = _t.concat(gt.getEdgeListToNode(lt)), _t = _t.concat(lt.getEdgeListToNode(gt)), !mt.has(_t[0])) { if (_t.length > 1) { var X; for (X = 0; X < _t.length; X++) { var Rt = _t[X]; Rt.getBendpoints().push(new Y), this.createDummyNodesForBendpoints(Rt) } } _t.forEach(function (ft) { mt.add(ft) }) } } } if (mt.size == ht.length) break } }, kt.prototype.positionNodesRadially = function (ht) { for (var mt = new H(0, 0), rt = Math.ceil(Math.sqrt(ht.length)), wt = 0, gt = 0, lt = 0, _t = new Y(0, 0), X = 0; X < ht.length; X++) { X % rt == 0 && (lt = 0, gt = wt, X != 0 && (gt += B.DEFAULT_COMPONENT_SEPERATION), wt = 0); var Rt = ht[X], ft = it.findCenterOfTree(Rt); mt.x = lt, mt.y = gt, _t = kt.radialLayout(Rt, ft, mt), _t.y > wt && (wt = Math.floor(_t.y)), lt = Math.floor(_t.x + B.DEFAULT_COMPONENT_SEPERATION) } this.transform(new Y(R.WORLD_CENTER_X - _t.x / 2, R.WORLD_CENTER_Y - _t.y / 2)) }, kt.radialLayout = function (ht, mt, rt) { var wt = Math.max(this.maxDiagonalInTree(ht), B.DEFAULT_RADIAL_SEPARATION); kt.branchRadialLayout(mt, null, 0, 359, 0, wt); var gt = pt.calculateBounds(ht), lt = new Tt; lt.setDeviceOrgX(gt.getMinX()), lt.setDeviceOrgY(gt.getMinY()), lt.setWorldOrgX(rt.x), lt.setWorldOrgY(rt.y); for (var _t = 0; _t < ht.length; _t++) { var X = ht[_t]; X.transform(lt) } var Rt = new Y(gt.getMaxX(), gt.getMaxY()); return lt.inverseTransformPoint(Rt) }, kt.branchRadialLayout = function (ht, mt, rt, wt, gt, lt) { var _t = (wt - rt + 1) / 2; _t < 0 && (_t += 180); var X = (_t + rt) % 360, Rt = X * st.TWO_PI / 360, ft = gt * Math.cos(Rt), de = gt * Math.sin(Rt); ht.setCenter(ft, de); var J = []; J = J.concat(ht.getEdges()); var ae = J.length; mt != null && ae--; for (var Wt = 0, It = J.length, Nt, me = ht.getEdgesBetween(mt); me.length > 1;) { var Ue = me[0]; me.splice(0, 1); var _n = J.indexOf(Ue); _n >= 0 && J.splice(_n, 1), It--, ae-- } mt != null ? Nt = (J.indexOf(me[0]) + 1) % It : Nt = 0; for (var _e = Math.abs(wt - rt) / ae, rr = Nt; Wt != ae; rr = ++rr % It) { var Te = J[rr].getOtherEnd(ht); if (Te != mt) { var ne = (rt + Wt * _e) % 360, Ee = (ne + _e) % 360; kt.branchRadialLayout(Te, ht, ne, Ee, gt + lt, lt), Wt++ } } }, kt.maxDiagonalInTree = function (ht) { for (var mt = nt.MIN_VALUE, rt = 0; rt < ht.length; rt++) { var wt = ht[rt], gt = wt.getDiagonal(); gt > mt && (mt = gt) } return mt }, kt.prototype.calcRepulsionRange = function () { return 2 * (this.level + 1) * this.idealEdgeLength }, kt.prototype.groupZeroDegreeMembers = function () { var ht = this, mt = {}; this.memberGroups = {}, this.idToDummyNode = {}; for (var rt = [], wt = this.graphManager.getAllNodes(), gt = 0; gt < wt.length; gt++) { var lt = wt[gt], _t = lt.getParent(); this.getNodeDegreeWithChildren(lt) === 0 && (_t.id == null || !this.getToBeTiled(_t)) && rt.push(lt) } for (var gt = 0; gt < rt.length; gt++) { var lt = rt[gt], X = lt.getParent().id; typeof mt[X] > "u" && (mt[X] = []), mt[X] = mt[X].concat(lt) } Object.keys(mt).forEach(function (Rt) { if (mt[Rt].length > 1) { var ft = "DummyCompound_" + Rt; ht.memberGroups[ft] = mt[Rt]; var de = mt[Rt][0].getParent(), J = new D(ht.graphManager); J.id = ft, J.paddingLeft = de.paddingLeft || 0, J.paddingRight = de.paddingRight || 0, J.paddingBottom = de.paddingBottom || 0, J.paddingTop = de.paddingTop || 0, ht.idToDummyNode[ft] = J; var ae = ht.getGraphManager().add(ht.newGraph(), J), Wt = de.getChild(); Wt.add(J); for (var It = 0; It < mt[Rt].length; It++) { var Nt = mt[Rt][It]; Wt.remove(Nt), ae.add(Nt) } } }) }, kt.prototype.clearCompounds = function () { var ht = {}, mt = {}; this.performDFSOnCompounds(); for (var rt = 0; rt < this.compoundOrder.length; rt++)mt[this.compoundOrder[rt].id] = this.compoundOrder[rt], ht[this.compoundOrder[rt].id] = [].concat(this.compoundOrder[rt].getChild().getNodes()), this.graphManager.remove(this.compoundOrder[rt].getChild()), this.compoundOrder[rt].child = null; this.graphManager.resetAllNodes(), this.tileCompoundMembers(ht, mt) }, kt.prototype.clearZeroDegreeMembers = function () { var ht = this, mt = this.tiledZeroDegreePack = []; Object.keys(this.memberGroups).forEach(function (rt) { var wt = ht.idToDummyNode[rt]; mt[rt] = ht.tileNodes(ht.memberGroups[rt], wt.paddingLeft + wt.paddingRight), wt.rect.width = mt[rt].width, wt.rect.height = mt[rt].height }) }, kt.prototype.repopulateCompounds = function () { for (var ht = this.compoundOrder.length - 1; ht >= 0; ht--) { var mt = this.compoundOrder[ht], rt = mt.id, wt = mt.paddingLeft, gt = mt.paddingTop; this.adjustLocations(this.tiledMemberPack[rt], mt.rect.x, mt.rect.y, wt, gt) } }, kt.prototype.repopulateZeroDegreeMembers = function () { var ht = this, mt = this.tiledZeroDegreePack; Object.keys(mt).forEach(function (rt) { var wt = ht.idToDummyNode[rt], gt = wt.paddingLeft, lt = wt.paddingTop; ht.adjustLocations(mt[rt], wt.rect.x, wt.rect.y, gt, lt) }) }, kt.prototype.getToBeTiled = function (ht) { var mt = ht.id; if (this.toBeTiled[mt] != null) return this.toBeTiled[mt]; var rt = ht.getChild(); if (rt == null) return this.toBeTiled[mt] = !1, !1; for (var wt = rt.getNodes(), gt = 0; gt < wt.length; gt++) { var lt = wt[gt]; if (this.getNodeDegree(lt) > 0) return this.toBeTiled[mt] = !1, !1; if (lt.getChild() == null) { this.toBeTiled[lt.id] = !1; continue } if (!this.getToBeTiled(lt)) return this.toBeTiled[mt] = !1, !1 } return this.toBeTiled[mt] = !0, !0 }, kt.prototype.getNodeDegree = function (ht) { ht.id; for (var mt = ht.getEdges(), rt = 0, wt = 0; wt < mt.length; wt++) { var gt = mt[wt]; gt.getSource().id !== gt.getTarget().id && (rt = rt + 1) } return rt }, kt.prototype.getNodeDegreeWithChildren = function (ht) { var mt = this.getNodeDegree(ht); if (ht.getChild() == null) return mt; for (var rt = ht.getChild().getNodes(), wt = 0; wt < rt.length; wt++) { var gt = rt[wt]; mt += this.getNodeDegreeWithChildren(gt) } return mt }, kt.prototype.performDFSOnCompounds = function () { this.compoundOrder = [], this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes()) }, kt.prototype.fillCompexOrderByDFS = function (ht) { for (var mt = 0; mt < ht.length; mt++) { var rt = ht[mt]; rt.getChild() != null && this.fillCompexOrderByDFS(rt.getChild().getNodes()), this.getToBeTiled(rt) && this.compoundOrder.push(rt) } }, kt.prototype.adjustLocations = function (ht, mt, rt, wt, gt) { mt += wt, rt += gt; for (var lt = mt, _t = 0; _t < ht.rows.length; _t++) { var X = ht.rows[_t]; mt = lt; for (var Rt = 0, ft = 0; ft < X.length; ft++) { var de = X[ft]; de.rect.x = mt, de.rect.y = rt, mt += de.rect.width + ht.horizontalPadding, de.rect.height > Rt && (Rt = de.rect.height) } rt += Rt + ht.verticalPadding } }, kt.prototype.tileCompoundMembers = function (ht, mt) { var rt = this; this.tiledMemberPack = [], Object.keys(ht).forEach(function (wt) { var gt = mt[wt]; rt.tiledMemberPack[wt] = rt.tileNodes(ht[wt], gt.paddingLeft + gt.paddingRight), gt.rect.width = rt.tiledMemberPack[wt].width, gt.rect.height = rt.tiledMemberPack[wt].height }) }, kt.prototype.tileNodes = function (ht, mt) { var rt = B.TILING_PADDING_VERTICAL, wt = B.TILING_PADDING_HORIZONTAL, gt = { rows: [], rowWidth: [], rowHeight: [], width: 0, height: mt, verticalPadding: rt, horizontalPadding: wt }; ht.sort(function (X, Rt) { return X.rect.width * X.rect.height > Rt.rect.width * Rt.rect.height ? -1 : X.rect.width * X.rect.height < Rt.rect.width * Rt.rect.height ? 1 : 0 }); for (var lt = 0; lt < ht.length; lt++) { var _t = ht[lt]; gt.rows.length == 0 ? this.insertNodeToRow(gt, _t, 0, mt) : this.canAddHorizontal(gt, _t.rect.width, _t.rect.height) ? this.insertNodeToRow(gt, _t, this.getShortestRowIndex(gt), mt) : this.insertNodeToRow(gt, _t, gt.rows.length, mt), this.shiftToLastRow(gt) } return gt }, kt.prototype.insertNodeToRow = function (ht, mt, rt, wt) { var gt = wt; if (rt == ht.rows.length) { var lt = []; ht.rows.push(lt), ht.rowWidth.push(gt), ht.rowHeight.push(0) } var _t = ht.rowWidth[rt] + mt.rect.width; ht.rows[rt].length > 0 && (_t += ht.horizontalPadding), ht.rowWidth[rt] = _t, ht.width < _t && (ht.width = _t); var X = mt.rect.height; rt > 0 && (X += ht.verticalPadding); var Rt = 0; X > ht.rowHeight[rt] && (Rt = ht.rowHeight[rt], ht.rowHeight[rt] = X, Rt = ht.rowHeight[rt] - Rt), ht.height += Rt, ht.rows[rt].push(mt) }, kt.prototype.getShortestRowIndex = function (ht) { for (var mt = -1, rt = Number.MAX_VALUE, wt = 0; wt < ht.rows.length; wt++)ht.rowWidth[wt] < rt && (mt = wt, rt = ht.rowWidth[wt]); return mt }, kt.prototype.getLongestRowIndex = function (ht) { for (var mt = -1, rt = Number.MIN_VALUE, wt = 0; wt < ht.rows.length; wt++)ht.rowWidth[wt] > rt && (mt = wt, rt = ht.rowWidth[wt]); return mt }, kt.prototype.canAddHorizontal = function (ht, mt, rt) { var wt = this.getShortestRowIndex(ht); if (wt < 0) return !0; var gt = ht.rowWidth[wt]; if (gt + ht.horizontalPadding + mt <= ht.width) return !0; var lt = 0; ht.rowHeight[wt] < rt && wt > 0 && (lt = rt + ht.verticalPadding - ht.rowHeight[wt]); var _t; ht.width - gt >= mt + ht.horizontalPadding ? _t = (ht.height + lt) / (gt + mt + ht.horizontalPadding) : _t = (ht.height + lt) / ht.width, lt = rt + ht.verticalPadding; var X; return ht.width < mt ? X = (ht.height + lt) / mt : X = (ht.height + lt) / ht.width, X < 1 && (X = 1 / X), _t < 1 && (_t = 1 / _t), _t < X }, kt.prototype.shiftToLastRow = function (ht) { var mt = this.getLongestRowIndex(ht), rt = ht.rowWidth.length - 1, wt = ht.rows[mt], gt = wt[wt.length - 1], lt = gt.width + ht.horizontalPadding; if (ht.width - ht.rowWidth[rt] > lt && mt != rt) { wt.splice(-1, 1), ht.rows[rt].push(gt), ht.rowWidth[mt] = ht.rowWidth[mt] - lt, ht.rowWidth[rt] = ht.rowWidth[rt] + lt, ht.width = ht.rowWidth[instance.getLongestRowIndex(ht)]; for (var _t = Number.MIN_VALUE, X = 0; X < wt.length; X++)wt[X].height > _t && (_t = wt[X].height); mt > 0 && (_t += ht.verticalPadding); var Rt = ht.rowHeight[mt] + ht.rowHeight[rt]; ht.rowHeight[mt] = _t, ht.rowHeight[rt] < gt.height + ht.verticalPadding && (ht.rowHeight[rt] = gt.height + ht.verticalPadding); var ft = ht.rowHeight[mt] + ht.rowHeight[rt]; ht.height += ft - Rt, this.shiftToLastRow(ht) } }, kt.prototype.tilingPreLayout = function () { B.TILE && (this.groupZeroDegreeMembers(), this.clearCompounds(), this.clearZeroDegreeMembers()) }, kt.prototype.tilingPostLayout = function () { B.TILE && (this.repopulateZeroDegreeMembers(), this.repopulateCompounds()) }, kt.prototype.reduceTrees = function () { for (var ht = [], mt = !0, rt; mt;) { var wt = this.graphManager.getAllNodes(), gt = []; mt = !1; for (var lt = 0; lt < wt.length; lt++)rt = wt[lt], rt.getEdges().length == 1 && !rt.getEdges()[0].isInterGraph && rt.getChild() == null && (gt.push([rt, rt.getEdges()[0], rt.getOwner()]), mt = !0); if (mt == !0) { for (var _t = [], X = 0; X < gt.length; X++)gt[X][0].getEdges().length == 1 && (_t.push(gt[X]), gt[X][0].getOwner().remove(gt[X][0])); ht.push(_t), this.graphManager.resetAllNodes(), this.graphManager.resetAllEdges() } } this.prunedNodesAll = ht }, kt.prototype.growTree = function (ht) { for (var mt = ht.length, rt = ht[mt - 1], wt, gt = 0; gt < rt.length; gt++)wt = rt[gt], this.findPlaceforPrunedNode(wt), wt[2].add(wt[0]), wt[2].add(wt[1], wt[1].source, wt[1].target); ht.splice(ht.length - 1, 1), this.graphManager.resetAllNodes(), this.graphManager.resetAllEdges() }, kt.prototype.findPlaceforPrunedNode = function (ht) { var mt, rt, wt = ht[0]; wt == ht[1].source ? rt = ht[1].target : rt = ht[1].source; var gt = rt.startX, lt = rt.finishX, _t = rt.startY, X = rt.finishY, Rt = 0, ft = 0, de = 0, J = 0, ae = [Rt, de, ft, J]; if (_t > 0) for (var Wt = gt; Wt <= lt; Wt++)ae[0] += this.grid[Wt][_t - 1].length + this.grid[Wt][_t].length - 1; if (lt < this.grid.length - 1) for (var Wt = _t; Wt <= X; Wt++)ae[1] += this.grid[lt + 1][Wt].length + this.grid[lt][Wt].length - 1; if (X < this.grid[0].length - 1) for (var Wt = gt; Wt <= lt; Wt++)ae[2] += this.grid[Wt][X + 1].length + this.grid[Wt][X].length - 1; if (gt > 0) for (var Wt = _t; Wt <= X; Wt++)ae[3] += this.grid[gt - 1][Wt].length + this.grid[gt][Wt].length - 1; for (var It = nt.MAX_VALUE, Nt, me, Ue = 0; Ue < ae.length; Ue++)ae[Ue] < It ? (It = ae[Ue], Nt = 1, me = Ue) : ae[Ue] == It && Nt++; if (Nt == 3 && It == 0) ae[0] == 0 && ae[1] == 0 && ae[2] == 0 ? mt = 1 : ae[0] == 0 && ae[1] == 0 && ae[3] == 0 ? mt = 0 : ae[0] == 0 && ae[2] == 0 && ae[3] == 0 ? mt = 3 : ae[1] == 0 && ae[2] == 0 && ae[3] == 0 && (mt = 2); else if (Nt == 2 && It == 0) { var _n = Math.floor(Math.random() * 2); ae[0] == 0 && ae[1] == 0 ? _n == 0 ? mt = 0 : mt = 1 : ae[0] == 0 && ae[2] == 0 ? _n == 0 ? mt = 0 : mt = 2 : ae[0] == 0 && ae[3] == 0 ? _n == 0 ? mt = 0 : mt = 3 : ae[1] == 0 && ae[2] == 0 ? _n == 0 ? mt = 1 : mt = 2 : ae[1] == 0 && ae[3] == 0 ? _n == 0 ? mt = 1 : mt = 3 : _n == 0 ? mt = 2 : mt = 3 } else if (Nt == 4 && It == 0) { var _n = Math.floor(Math.random() * 4); mt = _n } else mt = me; mt == 0 ? wt.setCenter(rt.getCenterX(), rt.getCenterY() - rt.getHeight() / 2 - j.DEFAULT_EDGE_LENGTH - wt.getHeight() / 2) : mt == 1 ? wt.setCenter(rt.getCenterX() + rt.getWidth() / 2 + j.DEFAULT_EDGE_LENGTH + wt.getWidth() / 2, rt.getCenterY()) : mt == 2 ? wt.setCenter(rt.getCenterX(), rt.getCenterY() + rt.getHeight() / 2 + j.DEFAULT_EDGE_LENGTH + wt.getHeight() / 2) : wt.setCenter(rt.getCenterX() - rt.getWidth() / 2 - j.DEFAULT_EDGE_LENGTH - wt.getWidth() / 2, rt.getCenterY()) }, p.exports = kt }, function (p, v, m) { var b = {}; b.layoutBase = m(0), b.CoSEConstants = m(1), b.CoSEEdge = m(2), b.CoSEGraph = m(3), b.CoSEGraphManager = m(4), b.CoSELayout = m(6), b.CoSENode = m(5), p.exports = b }]) }) }(lUe)), RK } (function (i, a) { (function (p, v) { i.exports = v(dUe()) })(b0, function (f) { return function (p) { var v = {}; function m(b) { if (v[b]) return v[b].exports; var E = v[b] = { i: b, l: !1, exports: {} }; return p[b].call(E.exports, E, E.exports, m), E.l = !0, E.exports } return m.m = p, m.c = v, m.i = function (b) { return b }, m.d = function (b, E, C) { m.o(b, E) || Object.defineProperty(b, E, { configurable: !1, enumerable: !0, get: C }) }, m.n = function (b) { var E = b && b.__esModule ? function () { return b.default } : function () { return b }; return m.d(E, "a", E), E }, m.o = function (b, E) { return Object.prototype.hasOwnProperty.call(b, E) }, m.p = "", m(m.s = 1) }([function (p, v) { p.exports = f }, function (p, v, m) { var b = m(0).layoutBase.LayoutConstants, E = m(0).layoutBase.FDLayoutConstants, C = m(0).CoSEConstants, D = m(0).CoSELayout, P = m(0).CoSENode, B = m(0).layoutBase.PointD, j = m(0).layoutBase.DimensionD, R = { ready: function () { }, stop: function () { }, quality: "default", nodeDimensionsIncludeLabels: !1, refresh: 30, fit: !0, padding: 10, randomize: !0, nodeRepulsion: 4500, idealEdgeLength: 50, edgeElasticity: .45, nestingFactor: .1, gravity: .25, numIter: 2500, tile: !0, animate: "end", animationDuration: 500, tilingPaddingVertical: 10, tilingPaddingHorizontal: 10, gravityRangeCompound: 1.5, gravityCompound: 1, gravityRange: 3.8, initialEnergyOnIncremental: .5 }; function H(st, pt) { var Tt = {}; for (var kt in st) Tt[kt] = st[kt]; for (var kt in pt) Tt[kt] = pt[kt]; return Tt } function Y(st) { this.options = H(R, st), it(this.options) } var it = function (pt) { pt.nodeRepulsion != null && (C.DEFAULT_REPULSION_STRENGTH = E.DEFAULT_REPULSION_STRENGTH = pt.nodeRepulsion), pt.idealEdgeLength != null && (C.DEFAULT_EDGE_LENGTH = E.DEFAULT_EDGE_LENGTH = pt.idealEdgeLength), pt.edgeElasticity != null && (C.DEFAULT_SPRING_STRENGTH = E.DEFAULT_SPRING_STRENGTH = pt.edgeElasticity), pt.nestingFactor != null && (C.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = E.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = pt.nestingFactor), pt.gravity != null && (C.DEFAULT_GRAVITY_STRENGTH = E.DEFAULT_GRAVITY_STRENGTH = pt.gravity), pt.numIter != null && (C.MAX_ITERATIONS = E.MAX_ITERATIONS = pt.numIter), pt.gravityRange != null && (C.DEFAULT_GRAVITY_RANGE_FACTOR = E.DEFAULT_GRAVITY_RANGE_FACTOR = pt.gravityRange), pt.gravityCompound != null && (C.DEFAULT_COMPOUND_GRAVITY_STRENGTH = E.DEFAULT_COMPOUND_GRAVITY_STRENGTH = pt.gravityCompound), pt.gravityRangeCompound != null && (C.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = E.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = pt.gravityRangeCompound), pt.initialEnergyOnIncremental != null && (C.DEFAULT_COOLING_FACTOR_INCREMENTAL = E.DEFAULT_COOLING_FACTOR_INCREMENTAL = pt.initialEnergyOnIncremental), pt.quality == "draft" ? b.QUALITY = 0 : pt.quality == "proof" ? b.QUALITY = 2 : b.QUALITY = 1, C.NODE_DIMENSIONS_INCLUDE_LABELS = E.NODE_DIMENSIONS_INCLUDE_LABELS = b.NODE_DIMENSIONS_INCLUDE_LABELS = pt.nodeDimensionsIncludeLabels, C.DEFAULT_INCREMENTAL = E.DEFAULT_INCREMENTAL = b.DEFAULT_INCREMENTAL = !pt.randomize, C.ANIMATE = E.ANIMATE = b.ANIMATE = pt.animate, C.TILE = pt.tile, C.TILING_PADDING_VERTICAL = typeof pt.tilingPaddingVertical == "function" ? pt.tilingPaddingVertical.call() : pt.tilingPaddingVertical, C.TILING_PADDING_HORIZONTAL = typeof pt.tilingPaddingHorizontal == "function" ? pt.tilingPaddingHorizontal.call() : pt.tilingPaddingHorizontal }; Y.prototype.run = function () { var st, pt, Tt = this.options; this.idToLNode = {}; var kt = this.layout = new D, yt = this; yt.stopped = !1, this.cy = this.options.cy, this.cy.trigger({ type: "layoutstart", layout: this }); var ht = kt.newGraphManager(); this.gm = ht; var mt = this.options.eles.nodes(), rt = this.options.eles.edges(); this.root = ht.addRoot(), this.processChildrenList(this.root, this.getTopMostNodes(mt), kt); for (var wt = 0; wt < rt.length; wt++) { var gt = rt[wt], lt = this.idToLNode[gt.data("source")], _t = this.idToLNode[gt.data("target")]; if (lt !== _t && lt.getEdgesBetween(_t).length == 0) { var X = ht.add(kt.newEdge(), lt, _t); X.id = gt.id() } } var Rt = function (J, ae) { typeof J == "number" && (J = ae); var Wt = J.data("id"), It = yt.idToLNode[Wt]; return { x: It.getRect().getCenterX(), y: It.getRect().getCenterY() } }, ft = function de() { for (var J = function () { Tt.fit && Tt.cy.fit(Tt.eles, Tt.padding), st || (st = !0, yt.cy.one("layoutready", Tt.ready), yt.cy.trigger({ type: "layoutready", layout: yt })) }, ae = yt.options.refresh, Wt, It = 0; It < ae && !Wt; It++)Wt = yt.stopped || yt.layout.tick(); if (Wt) { kt.checkLayoutSuccess() && !kt.isSubLayout && kt.doPostLayout(), kt.tilingPostLayout && kt.tilingPostLayout(), kt.isLayoutFinished = !0, yt.options.eles.nodes().positions(Rt), J(), yt.cy.one("layoutstop", yt.options.stop), yt.cy.trigger({ type: "layoutstop", layout: yt }), pt && cancelAnimationFrame(pt), st = !1; return } var Nt = yt.layout.getPositionsData(); Tt.eles.nodes().positions(function (me, Ue) { if (typeof me == "number" && (me = Ue), !me.isParent()) { for (var _n = me.id(), _e = Nt[_n], rr = me; _e == null && (_e = Nt[rr.data("parent")] || Nt["DummyCompound_" + rr.data("parent")], Nt[_n] = _e, rr = rr.parent()[0], rr != null);); return _e != null ? { x: _e.x, y: _e.y } : { x: me.position("x"), y: me.position("y") } } }), J(), pt = requestAnimationFrame(de) }; return kt.addListener("layoutstarted", function () { yt.options.animate === "during" && (pt = requestAnimationFrame(ft)) }), kt.runLayout(), this.options.animate !== "during" && (yt.options.eles.nodes().not(":parent").layoutPositions(yt, yt.options, Rt), st = !1), this }, Y.prototype.getTopMostNodes = function (st) { for (var pt = {}, Tt = 0; Tt < st.length; Tt++)pt[st[Tt].id()] = !0; var kt = st.filter(function (yt, ht) { typeof yt == "number" && (yt = ht); for (var mt = yt.parent()[0]; mt != null;) { if (pt[mt.id()]) return !1; mt = mt.parent()[0] } return !0 }); return kt }, Y.prototype.processChildrenList = function (st, pt, Tt) { for (var kt = pt.length, yt = 0; yt < kt; yt++) { var ht = pt[yt], mt = ht.children(), rt, wt = ht.layoutDimensions({ nodeDimensionsIncludeLabels: this.options.nodeDimensionsIncludeLabels }); if (ht.outerWidth() != null && ht.outerHeight() != null ? rt = st.add(new P(Tt.graphManager, new B(ht.position("x") - wt.w / 2, ht.position("y") - wt.h / 2), new j(parseFloat(wt.w), parseFloat(wt.h)))) : rt = st.add(new P(this.graphManager)), rt.id = ht.data("id"), rt.paddingLeft = parseInt(ht.css("padding")), rt.paddingTop = parseInt(ht.css("padding")), rt.paddingRight = parseInt(ht.css("padding")), rt.paddingBottom = parseInt(ht.css("padding")), this.options.nodeDimensionsIncludeLabels && ht.isParent()) { var gt = ht.boundingBox({ includeLabels: !0, includeNodes: !1 }).w, lt = ht.boundingBox({ includeLabels: !0, includeNodes: !1 }).h, _t = ht.css("text-halign"); rt.labelWidth = gt, rt.labelHeight = lt, rt.labelPos = _t } if (this.idToLNode[ht.data("id")] = rt, isNaN(rt.rect.x) && (rt.rect.x = 0), isNaN(rt.rect.y) && (rt.rect.y = 0), mt != null && mt.length > 0) { var X; X = Tt.getGraphManager().add(Tt.newGraph(), rt), this.processChildrenList(X, mt, Tt) } } }, Y.prototype.stop = function () { return this.stopped = !0, this }; var nt = function (pt) { pt("layout", "cose-bilkent", Y) }; typeof cytoscape < "u" && nt(cytoscape), p.exports = nt }]) }) })(uUe); const gUe = hLt(Ngt); gjt.use(gUe); function vjt(i, a, f, p) { djt.drawNode(i, a, f, p), a.children && a.children.forEach((v, m) => { vjt(i, v, f < 0 ? m : f, p) }) } function pUe(i, a) { a.edges().map((f, p) => { const v = f.data(); if (f[0]._private.bodyBounds) { const m = f[0]._private.rscratch; zt.trace("Edge: ", p, v), i.insert("path").attr("d", `M ${m.startX},${m.startY} L ${m.midX},${m.midY} L${m.endX},${m.endY} `).attr("class", "edge section-edge-" + v.section + " edge-depth-" + v.depth) } }) } function wjt(i, a, f, p) { a.add({ group: "nodes", data: { id: i.id, labelText: i.descr, height: i.height, width: i.width, level: p, nodeId: i.id, padding: i.padding, type: i.type }, position: { x: i.x, y: i.y } }), i.children && i.children.forEach(v => { wjt(v, a, f, p + 1), a.add({ group: "edges", data: { id: `${i.id}_${v.id}`, source: i.id, target: v.id, depth: p, section: v.section } }) }) } function bUe(i, a) { return new Promise(f => { const p = Mr("body").append("div").attr("id", "cy").attr("style", "display:none"), v = gjt({ container: document.getElementById("cy"), style: [{ selector: "edge", style: { "curve-style": "bezier" } }] }); p.remove(), wjt(i, v, a, 0), v.nodes().forEach(function (m) { m.layoutDimensions = () => { const b = m.data(); return { w: b.width, h: b.height } } }), v.layout({ name: "cose-bilkent", quality: "proof", styleEnabled: !1, animate: !1 }).run(), v.ready(m => { zt.info("Ready", m), f(v) }) }) } function vUe(i) { i.nodes().map((a, f) => { const p = a.data(); p.x = a.position().x, p.y = a.position().y, djt.positionNode(p); const v = Igt(p.nodeId); zt.info("Id:", f, "Position: (", a.position().x, ", ", a.position().y, ")", p), v.attr("transform", `translate(${a.position().x - p.width / 2}, ${a.position().y - p.height / 2})`), v.attr("attr", `apa-${f})`) }) } const wUe = {
        draw: async (i, a, f, p) => {
            const v = Oe(); v.htmlLabels = !1, p.db.clear(), p.parser.parse(i), zt.debug(`Rendering mindmap diagram
    `+ i, p.parser); const m = Oe().securityLevel; let b; m === "sandbox" && (b = Mr("#i" + a)); const C = Mr(m === "sandbox" ? b.nodes()[0].contentDocument.body : "body").select("#" + a); C.append("g"); const D = p.db.getMindmap(), P = C.append("g"); P.attr("class", "mindmap-edges"); const B = C.append("g"); B.attr("class", "mindmap-nodes"), vjt(B, D, -1, v); const j = await bUe(D, v); pUe(P, j), vUe(j), Z9(void 0, C, v.mindmap.padding, v.mindmap.useMaxWidth)
        }
    }, mUe = i => {
        let a = ""; for (let f = 0; f < i.THEME_COLOR_LIMIT; f++)i["lineColor" + f] = i["lineColor" + f] || i["cScaleInv" + f], X9(i["lineColor" + f]) ? i["lineColor" + f] = Ds(i["lineColor" + f], 20) : i["lineColor" + f] = ta(i["lineColor" + f], 20); for (let f = 0; f < i.THEME_COLOR_LIMIT; f++) {
            const p = "" + (17 - 3 * f); a += `
        .section-${f - 1} rect, .section-${f - 1} path, .section-${f - 1} circle, .section-${f - 1} polygon, .section-${f - 1} path  {
          fill: ${i["cScale" + f]};
        }
        .section-${f - 1} text {
         fill: ${i["cScaleLabel" + f]};
        }
        .node-icon-${f - 1} {
          font-size: 40px;
          color: ${i["cScaleLabel" + f]};
        }
        .section-edge-${f - 1}{
          stroke: ${i["cScale" + f]};
        }
        .edge-depth-${f - 1}{
          stroke-width: ${p};
        }
        .section-${f - 1} line {
          stroke: ${i["cScaleInv" + f]} ;
          stroke-width: 3;
        }
    
        .disabled, .disabled circle, .disabled text {
          fill: lightgray;
        }
        .disabled text {
          fill: #efefef;
        }
        `} return a
    }, yUe = Object.freeze(Object.defineProperty({
        __proto__: null, diagram: {
            db: JGe, renderer: wUe, parser: HGe, styles: i => `
      .edge {
        stroke-width: 3;
      }
      ${mUe(i)}
      .section-root rect, .section-root path, .section-root circle, .section-root polygon  {
        fill: ${i.git0};
      }
      .section-root text {
        fill: ${i.gitBranchLabel0};
      }
      .icon-container {
        height:100%;
        display: flex;
        justify-content: center;
        align-items: center;
      }
      .edge {
        fill: none;
      }
      .mindmap-node-label {
        dy: 1em;
        alignment-baseline: middle;
        text-anchor: middle;
        dominant-baseline: middle;
        text-align: center;
      }
    `}
    }, Symbol.toStringTag, { value: "Module" })); return P2
});