2 lines
25 KiB
JavaScript
2 lines
25 KiB
JavaScript
|
|
import{G as y}from"./graph-CtMNnDqX.js";import{a as f,f as P,v as x,r as j}from"./reduce-Yvm7YAXp.js";import{m as L,h as ie,f as $,d as ke}from"./min-Dif6Cg4O.js";import{eC as R,bL as w,as as xe,av as b,de as Ee,eD as C,eE as T,eF as Oe,eG as Y}from"./admin-BkqzSx7d.js";import{r as E,u as q,m as g,a as W,z as Ne,s as _,b as S,f as Le,c as Ie}from"./zipObject-Ceyl1BP7.js";class Pe{constructor(){var n={};n._next=n._prev=n,this._sentinel=n}dequeue(){var n=this._sentinel,r=n._prev;if(r!==n)return J(r),r}enqueue(n){var r=this._sentinel;n._prev&&n._next&&J(n),n._next=r._next,r._next._prev=n,r._next=n,n._prev=r}toString(){for(var n=[],r=this._sentinel,t=r._prev;t!==r;)n.push(JSON.stringify(t,Re)),t=t._prev;return"["+n.join(", ")+"]"}}function J(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function Re(e,n){if(e!=="_next"&&e!=="_prev")return n}var _e=xe(1);function Ce(e,n){if(e.nodeCount()<=1)return[];var r=je(e,n||_e),t=Te(r.graph,r.buckets,r.zeroIdx);return R(w(t,function(a){return e.outEdges(a.v,a.w)}))}function Te(e,n,r){for(var t=[],a=n[n.length-1],i=n[0],o;e.nodeCount();){for(;o=i.dequeue();)F(e,n,r,o);for(;o=a.dequeue();)F(e,n,r,o);if(e.nodeCount()){for(var d=n.length-2;d>0;--d)if(o=n[d].dequeue(),o){t=t.concat(F(e,n,r,o,!0));break}}}return t}function F(e,n,r,t,a){var i=a?[]:void 0;return f(e.inEdges(t.v),function(o){var d=e.edge(o),u=e.node(o.v);a&&i.push({v:o.v,w:o.w}),u.out-=d,G(n,r,u)}),f(e.outEdges(t.v),function(o){var d=e.edge(o),u=o.w,s=e.node(u);s.in-=d,G(n,r,s)}),e.removeNode(t.v),i}function je(e,n){var r=new y,t=0,a=0;f(e.nodes(),function(d){r.setNode(d,{v:d,in:0,out:0})}),f(e.edges(),function(d){var u=r.edge(d.v,d.w)||0,s=n(d),c=u+s;r.setEdge(d.v,d.w,c),a=Math.max(a,r.node(d.v).out+=s),t=Math.max(t,r.node(d.w).in+=s)});var i=E(a+t+3).map(function(){return new Pe}),o=t+1;return f(r.nodes(),function(d){G(i,o,r.node(d))}),{graph:r,buckets:i,zeroIdx:o}}function G(e,n,r){r.out?r.in?e[r.out-r.in+n].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}function Se(e){var n=e.graph().acyclicer==="greedy"?Ce(e,r(e)):Me(e);f(n,function(t){var a=e.edge(t);e.removeEdge(t),a.forwardName=t.name,a.reversed=!0,e.setEdge(t.w,t.v,a,q("rev"))});function r(t){return function(a){return t.edge(a).weight}}}function Me(e){var n=[],r={},t={};function a(i){Object.prototype.hasOwnProperty.call(t,i)||(t[i]=!0,r[i]=!0,f(e.outEdges(i),function(o){Object.prototype.hasOwnProperty.call(r,o.w)?n.push(o):a(o.w)}),delete r[i])}return f(e.nodes(),a),n}function Fe(e){f(e.edges(),function(n){var r=e.edge(n);if(r.reversed){e.removeEdge(n);var t=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(n.w,n.v,r,t)}})}function O(e,n,r,t){var a;do a=q(t);while(e.hasNode(a));return r.dummy=n,e.setNode(a,r),a}function Ve(e){var n=new y().setGraph(e.graph());return f(e.nodes(),function(r){n.setNode(r,e.node(r))}),f(e.edges(),function(r){var t=n.edge(r.v,r.w)||{weight:0,minlen:1},a=e.edge(r);n.setEdge(r.v,r.w,{weight:t.weight+a.weight,minlen:Math.max(t.minlen,a.minlen)})}),n}function de(e){var n=new y({multigraph:e.isMultigraph()}).setGraph(e.graph());return f(e.nodes(),function(r){e.children(r).length||n.setNode(r,e.node(r))}),f(e.edges(),function(r){n.setEdge(r,e.edge(r))}),n}function K(e,n){var r=e.x,t=e.y,a=n.x-r,i=n.y-t,o=e.width/2,d=e.height/2;if(!a&&!i)throw new Error("Not possible to find intersection inside of the rectangle");var u,s;return Math.abs(i)*o>Math.abs(a)*d?(i<0&&(d=-d),u=d*a/i,s=d):(a<0&&(o=-o),u=o,s=o*i/a),{x:r+u,y:t+s}}function M(e){var n=w(E(ue(e)+1),function(){return[]});return f(e.nodes(),function(r){var t=e.node(r),a=t.rank;b(a)||(n[a][t.order]=r)}),n}function Be(e){var n=L(w(e.nodes(),function(r){return e.node(r).rank}));f(e.nodes(),function(r){var t=e.node(r);ie(t,"rank")&&(t.rank-=n)})}function Ae(e){var n=L(w(e.nodes(),function(i){return e.node(i).rank})),r=[];f(e.nodes(),function(i){var o=e.node(i).rank-n;r[o]||(r[o]=[]),r[o].push(i)});var t=0,a=e.graph().nodeRankFactor;f(r,function(i,o){b(i)&&o%a!==0?--t:t&&f(i,function(d){e.node(d).rank+=t})})}function Q(e,n,r,t){var a={width:0,height:0};
|