import { bv as O, a as j, d as ue, bw as W, bx as L, bc as c, b9 as $, by as J, bz as he, bA as fe, bB as de, bC as Q, bD as ce, bE as Z, g as v, bF as w, bp as X, bi as ge, bG as le, b as be, bH as _e, bI as pe, bJ as ye, bm as me, bK as Te, bh as je, bL as P, bM as Ae, bb as z, bN as Ee, bo as Ce, bO as S, bP as k, bQ as Oe, bR as we, b7 as Le, bS as Se, bt as E, b2 as M, } from './index-9c042f98.js'; import { aq as G } from './index-0e3b96e2.js'; function Fe() {} function ee(t, e) { for (var n = -1, r = t == null ? 0 : t.length; ++n < r && e(t[n], n, t) !== !1; ); return t; } function Ie(t, e, n, r) { for (var s = t.length, i = n + (r ? 1 : -1); r ? i-- : ++i < s; ) if (e(t[i], i, t)) return i; return -1; } function Ne(t) { return t !== t; } function $e(t, e, n) { for (var r = n - 1, s = t.length; ++r < s; ) if (t[r] === e) return r; return -1; } function ve(t, e, n) { return e === e ? $e(t, e, n) : Ie(t, Ne, n); } function Pe(t, e) { var n = t == null ? 0 : t.length; return !!n && ve(t, e, 0) > -1; } var U = O ? O.isConcatSpreadable : void 0; function xe(t) { return j(t) || ue(t) || !!(U && t && t[U]); } function te(t, e, n, r, s) { var i = -1, a = t.length; for (n || (n = xe), s || (s = []); ++i < a; ) { var o = t[i]; e > 0 && n(o) ? (e > 1 ? te(o, e - 1, n, r, s) : W(s, o)) : r || (s[s.length] = o); } return s; } function De(t, e, n, r) { var s = -1, i = t == null ? 0 : t.length; for (r && i && (n = t[++s]); ++s < i; ) n = e(n, t[s], s, t); return n; } function Me(t, e) { return t && L(e, c(e), t); } function Ge(t, e) { return t && L(e, $(e), t); } function Ue(t, e) { return L(t, J(t), e); } var Be = Object.getOwnPropertySymbols, Re = Be ? function (t) { for (var e = []; t; ) W(e, J(t)), (t = fe(t)); return e; } : he; const ne = Re; function Ke(t, e) { return L(t, ne(t), e); } function Ve(t) { return de(t, $, ne); } var He = Object.prototype, Ye = He.hasOwnProperty; function qe(t) { var e = t.length, n = new t.constructor(e); return e && typeof t[0] == 'string' && Ye.call(t, 'index') && ((n.index = t.index), (n.input = t.input)), n; } function We(t, e) { var n = e ? Q(t.buffer) : t.buffer; return new t.constructor(n, t.byteOffset, t.byteLength); } var Je = /\w*$/; function Qe(t) { var e = new t.constructor(t.source, Je.exec(t)); return (e.lastIndex = t.lastIndex), e; } var B = O ? O.prototype : void 0, R = B ? B.valueOf : void 0; function Ze(t) { return R ? Object(R.call(t)) : {}; } var Xe = '[object Boolean]', ze = '[object Date]', ke = '[object Map]', et = '[object Number]', tt = '[object RegExp]', nt = '[object Set]', rt = '[object String]', st = '[object Symbol]', it = '[object ArrayBuffer]', at = '[object DataView]', ot = '[object Float32Array]', ut = '[object Float64Array]', ht = '[object Int8Array]', ft = '[object Int16Array]', dt = '[object Int32Array]', ct = '[object Uint8Array]', gt = '[object Uint8ClampedArray]', lt = '[object Uint16Array]', bt = '[object Uint32Array]'; function _t(t, e, n) { var r = t.constructor; switch (e) { case it: return Q(t); case Xe: case ze: return new r(+t); case at: return We(t, n); case ot: case ut: case ht: case ft: case dt: case ct: case gt: case lt: case bt: return ce(t, n); case ke: return new r(); case et: case rt: return new r(t); case tt: return Qe(t); case nt: return new r(); case st: return Ze(t); } } var pt = '[object Map]'; function yt(t) { return Z(t) && v(t) == pt; } var K = w && w.isMap, mt = K ? X(K) : yt; const Tt = mt; var jt = '[object Set]'; function At(t) { return Z(t) && v(t) == jt; } var V = w && w.isSet, Et = V ? X(V) : At; const Ct = Et; var Ot = 1, wt = 2, Lt = 4, re = '[object Arguments]', St = '[object Array]', Ft = '[object Boolean]', It = '[object Date]', Nt = '[object Error]', se = '[object Function]', $t = '[object GeneratorFunction]', vt = '[object Map]', Pt = '[object Number]', ie = '[object Object]', xt = '[object RegExp]', Dt = '[object Set]', Mt = '[object String]', Gt = '[object Symbol]', Ut = '[object WeakMap]', Bt = '[object ArrayBuffer]', Rt = '[object DataView]', Kt = '[object Float32Array]', Vt = '[object Float64Array]', Ht = '[object Int8Array]', Yt = '[object Int16Array]', qt = '[object Int32Array]', Wt = '[object Uint8Array]', Jt = '[object Uint8ClampedArray]', Qt = '[object Uint16Array]', Zt = '[object Uint32Array]', u = {}; u[re] = u[St] = u[Bt] = u[Rt] = u[Ft] = u[It] = u[Kt] = u[Vt] = u[Ht] = u[Yt] = u[qt] = u[vt] = u[Pt] = u[ie] = u[xt] = u[Dt] = u[Mt] = u[Gt] = u[Wt] = u[Jt] = u[Qt] = u[Zt] = !0; u[Nt] = u[se] = u[Ut] = !1; function F(t, e, n, r, s, i) { var a, o = e & Ot, h = e & wt, A = e & Lt; if ((n && (a = s ? n(t, r, s, i) : n(t)), a !== void 0)) return a; if (!ge(t)) return t; var d = j(t); if (d) { if (((a = qe(t)), !o)) return le(t, a); } else { var f = v(t), m = f == se || f == $t; if (be(t)) return _e(t, o); if (f == ie || f == re || (m && !s)) { if (((a = h || m ? {} : pe(t)), !o)) return h ? Ke(t, Ge(a, t)) : Ue(t, Me(a, t)); } else { if (!u[f]) return s ? t : {}; a = _t(t, f, o); } } i || (i = new ye()); var x = i.get(t); if (x) return x; i.set(t, a), Ct(t) ? t.forEach(function (g) { a.add(F(g, e, n, g, t, i)); }) : Tt(t) && t.forEach(function (g, b) { a.set(b, F(g, e, n, b, t, i)); }); var oe = A ? (h ? Ve : Te) : h ? $ : c, D = d ? void 0 : oe(t); return ( ee(D || t, function (g, b) { D && ((b = g), (g = t[b])), me(a, b, F(g, e, n, b, t, i)); }), a ); } function Xt(t, e, n) { for (var r = -1, s = t == null ? 0 : t.length; ++r < s; ) if (n(e, t[r])) return !0; return !1; } function zt(t) { return typeof t == 'function' ? t : je; } function _(t, e) { var n = j(t) ? ee : P; return n(t, zt(e)); } function kt(t, e) { var n = []; return ( P(t, function (r, s, i) { e(r, s, i) && n.push(r); }), n ); } function C(t, e) { var n = j(t) ? Ae : kt; return n(t, z(e)); } var en = Object.prototype, tn = en.hasOwnProperty; function nn(t, e) { return t != null && tn.call(t, e); } function l(t, e) { return t != null && Ee(t, e, nn); } function rn(t, e) { return Ce(e, function (n) { return t[n]; }); } function I(t) { return t == null ? [] : rn(t, c(t)); } function y(t) { return t === void 0; } function sn(t, e, n, r, s) { return ( s(t, function (i, a, o) { n = r ? ((r = !1), i) : e(n, i, a, o); }), n ); } function an(t, e, n) { var r = j(t) ? De : sn, s = arguments.length < 3; return r(t, z(e), n, s, P); } var on = 1 / 0, un = S && 1 / k(new S([, -0]))[1] == on ? function (t) { return new S(t); } : Fe; const hn = un; var fn = 200; function dn(t, e, n) { var r = -1, s = Pe, i = t.length, a = !0, o = [], h = o; if (n) (a = !1), (s = Xt); else if (i >= fn) { var A = e ? null : hn(t); if (A) return k(A); (a = !1), (s = we), (h = new Oe()); } else h = e ? [] : o; e: for (; ++r < i; ) { var d = t[r], f = e ? e(d) : d; if (((d = n || d !== 0 ? d : 0), a && f === f)) { for (var m = h.length; m--; ) if (h[m] === f) continue e; e && h.push(f), o.push(d); } else s(h, f, n) || (h !== o && h.push(f), o.push(d)); } return o; } var cn = Le(function (t) { return dn(te(t, 1, Se, !0)); }); const gn = cn; var ln = '\0', p = '\0', H = ''; class ae { constructor(e = {}) { (this._isDirected = l(e, 'directed') ? e.directed : !0), (this._isMultigraph = l(e, 'multigraph') ? e.multigraph : !1), (this._isCompound = l(e, 'compound') ? e.compound : !1), (this._label = void 0), (this._defaultNodeLabelFn = E(void 0)), (this._defaultEdgeLabelFn = E(void 0)), (this._nodes = {}), this._isCompound && ((this._parent = {}), (this._children = {}), (this._children[p] = {})), (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(e) { return (this._label = e), this; } graph() { return this._label; } setDefaultNodeLabel(e) { return M(e) || (e = E(e)), (this._defaultNodeLabelFn = e), this; } nodeCount() { return this._nodeCount; } nodes() { return c(this._nodes); } sources() { var e = this; return C(this.nodes(), function (n) { return G(e._in[n]); }); } sinks() { var e = this; return C(this.nodes(), function (n) { return G(e._out[n]); }); } setNodes(e, n) { var r = arguments, s = this; return ( _(e, function (i) { r.length > 1 ? s.setNode(i, n) : s.setNode(i); }), this ); } setNode(e, n) { return l(this._nodes, e) ? (arguments.length > 1 && (this._nodes[e] = n), this) : ((this._nodes[e] = arguments.length > 1 ? n : this._defaultNodeLabelFn(e)), this._isCompound && ((this._parent[e] = p), (this._children[e] = {}), (this._children[p][e] = !0)), (this._in[e] = {}), (this._preds[e] = {}), (this._out[e] = {}), (this._sucs[e] = {}), ++this._nodeCount, this); } node(e) { return this._nodes[e]; } hasNode(e) { return l(this._nodes, e); } removeNode(e) { var n = this; if (l(this._nodes, e)) { var r = function (s) { n.removeEdge(n._edgeObjs[s]); }; delete this._nodes[e], this._isCompound && (this._removeFromParentsChildList(e), delete this._parent[e], _(this.children(e), function (s) { n.setParent(s); }), delete this._children[e]), _(c(this._in[e]), r), delete this._in[e], delete this._preds[e], _(c(this._out[e]), r), delete this._out[e], delete this._sucs[e], --this._nodeCount; } return this; } setParent(e, n) { if (!this._isCompound) throw new Error('Cannot set parent in a non-compound graph'); if (y(n)) n = p; else { n += ''; for (var r = n; !y(r); r = this.parent(r)) if (r === e) throw new Error('Setting ' + n + ' as parent of ' + e + ' would create a cycle'); this.setNode(n); } return this.setNode(e), this._removeFromParentsChildList(e), (this._parent[e] = n), (this._children[n][e] = !0), this; } _removeFromParentsChildList(e) { delete this._children[this._parent[e]][e]; } parent(e) { if (this._isCompound) { var n = this._parent[e]; if (n !== p) return n; } } children(e) { if ((y(e) && (e = p), this._isCompound)) { var n = this._children[e]; if (n) return c(n); } else { if (e === p) return this.nodes(); if (this.hasNode(e)) return []; } } predecessors(e) { var n = this._preds[e]; if (n) return c(n); } successors(e) { var n = this._sucs[e]; if (n) return c(n); } neighbors(e) { var n = this.predecessors(e); if (n) return gn(n, this.successors(e)); } isLeaf(e) { var n; return this.isDirected() ? (n = this.successors(e)) : (n = this.neighbors(e)), n.length === 0; } filterNodes(e) { var n = new this.constructor({ directed: this._isDirected, multigraph: this._isMultigraph, compound: this._isCompound }); n.setGraph(this.graph()); var r = this; _(this._nodes, function (a, o) { e(o) && n.setNode(o, a); }), _(this._edgeObjs, function (a) { n.hasNode(a.v) && n.hasNode(a.w) && n.setEdge(a, r.edge(a)); }); var s = {}; function i(a) { var o = r.parent(a); return o === void 0 || n.hasNode(o) ? ((s[a] = o), o) : o in s ? s[o] : i(o); } return ( this._isCompound && _(n.nodes(), function (a) { n.setParent(a, i(a)); }), n ); } setDefaultEdgeLabel(e) { return M(e) || (e = E(e)), (this._defaultEdgeLabelFn = e), this; } edgeCount() { return this._edgeCount; } edges() { return I(this._edgeObjs); } setPath(e, n) { var r = this, s = arguments; return ( an(e, function (i, a) { return s.length > 1 ? r.setEdge(i, a, n) : r.setEdge(i, a), a; }), this ); } setEdge() { var e, n, r, s, i = !1, a = arguments[0]; typeof a == 'object' && a !== null && 'v' in a ? ((e = a.v), (n = a.w), (r = a.name), arguments.length === 2 && ((s = arguments[1]), (i = !0))) : ((e = a), (n = arguments[1]), (r = arguments[3]), arguments.length > 2 && ((s = arguments[2]), (i = !0))), (e = '' + e), (n = '' + n), y(r) || (r = '' + r); var o = T(this._isDirected, e, n, r); if (l(this._edgeLabels, o)) return i && (this._edgeLabels[o] = s), this; if (!y(r) && !this._isMultigraph) throw new Error('Cannot set a named edge when isMultigraph = false'); this.setNode(e), this.setNode(n), (this._edgeLabels[o] = i ? s : this._defaultEdgeLabelFn(e, n, r)); var h = bn(this._isDirected, e, n, r); return ( (e = h.v), (n = h.w), Object.freeze(h), (this._edgeObjs[o] = h), Y(this._preds[n], e), Y(this._sucs[e], n), (this._in[n][o] = h), (this._out[e][o] = h), this._edgeCount++, this ); } edge(e, n, r) { var s = arguments.length === 1 ? N(this._isDirected, arguments[0]) : T(this._isDirected, e, n, r); return this._edgeLabels[s]; } hasEdge(e, n, r) { var s = arguments.length === 1 ? N(this._isDirected, arguments[0]) : T(this._isDirected, e, n, r); return l(this._edgeLabels, s); } removeEdge(e, n, r) { var s = arguments.length === 1 ? N(this._isDirected, arguments[0]) : T(this._isDirected, e, n, r), i = this._edgeObjs[s]; return ( i && ((e = i.v), (n = i.w), delete this._edgeLabels[s], delete this._edgeObjs[s], q(this._preds[n], e), q(this._sucs[e], n), delete this._in[n][s], delete this._out[e][s], this._edgeCount--), this ); } inEdges(e, n) { var r = this._in[e]; if (r) { var s = I(r); return n ? C(s, function (i) { return i.v === n; }) : s; } } outEdges(e, n) { var r = this._out[e]; if (r) { var s = I(r); return n ? C(s, function (i) { return i.w === n; }) : s; } } nodeEdges(e, n) { var r = this.inEdges(e, n); if (r) return r.concat(this.outEdges(e, n)); } } ae.prototype._nodeCount = 0; ae.prototype._edgeCount = 0; function Y(t, e) { t[e] ? t[e]++ : (t[e] = 1); } function q(t, e) { --t[e] || delete t[e]; } function T(t, e, n, r) { var s = '' + e, i = '' + n; if (!t && s > i) { var a = s; (s = i), (i = a); } return s + H + i + H + (y(r) ? ln : r); } function bn(t, e, n, r) { var s = '' + e, i = '' + n; if (!t && s > i) { var a = s; (s = i), (i = a); } var o = { v: s, w: i }; return r && (o.name = r), o; } function N(t, e) { return T(t, e.v, e.w, e.name); } export { ae as G, F as a, te as b, Ie as c, zt as d, C as e, _ as f, l as h, y as i, an as r, I as v };