showai-reader 0.9.0-reader.x77hhf3w → 0.9.0-reader.xtknvjfo
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/chunks/CardGrid-F5LYBSDH.js +2 -0
- package/chunks/CommandReference-5TSKPHE3.js +3 -0
- package/chunks/{ComparisonMatrix-KTLR7NQV.js → ComparisonMatrix-27M44OZJ.js} +1 -1
- package/chunks/EventTimeline-35QURTAO.js +2 -0
- package/chunks/{ExperimentTracker-JWWECSJR.js → ExperimentTracker-P4QX3TFY.js} +1 -1
- package/chunks/{ExternalDiagram-VNWAO35E.js → ExternalDiagram-AKYOCLQZ.js} +3156 -767
- package/chunks/Flowchart-ZNPOCEPD.js +12 -0
- package/chunks/{G2Chart-M63242NG.js → G2Chart-IA56I52P.js} +2 -2
- package/chunks/LayerDiagram-ES4DSFBP.js +2 -0
- package/chunks/{Mindmap-WERZLYP6.js → Mindmap-SQCZEOJ2.js} +2 -2
- package/chunks/RichTextEditor-GL7XCJFA.js +157 -0
- package/chunks/Roadmap-GTVA7DQG.js +2 -0
- package/chunks/{Scene3D-WNBIE7LS.js → Scene3D-H2F5Y2G3.js} +2 -2
- package/chunks/SequenceDiagram-VLOO736H.js +2 -0
- package/chunks/{StatusTree-JVEVAYO5.js → StatusTree-L6XZCK7R.js} +1 -1
- package/chunks/StepGuide-DLY5ZBMO.js +1 -0
- package/chunks/StructureBrowser-H72Y64DB.js +3 -0
- package/chunks/Waterfall-QA3U6LNC.js +2 -0
- package/chunks/{chunk-HHKKCN2F.js → chunk-2HAL7KBM.js} +1 -1
- package/chunks/chunk-3I4CQ55U.js +1 -0
- package/chunks/chunk-3RZMLHCB.js +1 -0
- package/chunks/chunk-AIBH6MTQ.js +1 -0
- package/chunks/chunk-D74K2NKW.js +1 -0
- package/chunks/chunk-EM2ABYID.js +1 -0
- package/chunks/chunk-EXOUDPUB.js +4 -0
- package/chunks/chunk-GLP5VV7P.js +1 -0
- package/chunks/chunk-HSNLLTYJ.js +2 -0
- package/chunks/chunk-JXKAISUX.js +1 -0
- package/chunks/{chunk-QIGHBYK6.js → chunk-JYWKSXK3.js} +1 -1
- package/chunks/chunk-NJBFXE6W.js +1 -0
- package/chunks/{chunk-NPT6AF6K.js → chunk-NWCMWKOF.js} +2 -2
- package/chunks/{chunk-UHMLBB4O.js → chunk-O5H6QDSV.js} +46 -44
- package/chunks/chunk-PVMEUQFU.js +21 -0
- package/chunks/{chunk-CMJMBEIC.js.LEGAL.txt → chunk-PVMEUQFU.js.LEGAL.txt} +10 -9
- package/chunks/{chunk-J7ZODHSI.js → chunk-VQIPL7NG.js} +1 -1
- package/chunks/chunk-YLTLOYBH.js +1 -0
- package/index.js +1 -1
- package/manifest.json +5 -5
- package/package.json +1 -1
- package/reader-XTKNVJFO.js +44 -0
- package/chunks/Flowchart-BOY3JGQF.js +0 -10
- package/chunks/RichTextEditor-3PQXABDI.js +0 -156
- package/chunks/chunk-CMJMBEIC.js +0 -21
- package/chunks/chunk-GNOF6PGV.js +0 -2
- package/chunks/chunk-M3KEZP5Z.js +0 -1
- package/chunks/chunk-QBNRB4AJ.js +0 -1
- package/reader-X77HHF3W.js +0 -41
- /package/chunks/{Flowchart-BOY3JGQF.js.LEGAL.txt → Flowchart-ZNPOCEPD.js.LEGAL.txt} +0 -0
- /package/chunks/{G2Chart-M63242NG.js.LEGAL.txt → G2Chart-IA56I52P.js.LEGAL.txt} +0 -0
- /package/chunks/{Scene3D-WNBIE7LS.js.LEGAL.txt → Scene3D-H2F5Y2G3.js.LEGAL.txt} +0 -0
- /package/chunks/{chunk-NPT6AF6K.js.LEGAL.txt → chunk-NWCMWKOF.js.LEGAL.txt} +0 -0
- /package/{reader-X77HHF3W.js.LEGAL.txt → reader-XTKNVJFO.js.LEGAL.txt} +0 -0
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import{a as st,b as Yn,e as Xn,g as ur,h as fr,i as Zt,j as hr,k as pr,l as at,o as gr,p as mr,q as Zn}from"./chunk-P5ET5XMK.js";import{a as rr}from"./chunk-M3KEZP5Z.js";import{d as sr,e as ar}from"./chunk-QIGHBYK6.js";import{b as Ac}from"./chunk-NPT6AF6K.js";import"./chunk-WDYURK6F.js";import{d as lr,e as cr,f as dr}from"./chunk-J7ZODHSI.js";import{Ba as nr,a as Xt,c as Vn,hb as or,ib as Fn,jb as Dc,lb as Et,pa as er,ra as tr}from"./chunk-CMJMBEIC.js";import{c as Ae,d as ir}from"./chunk-DUIGVKKG.js";var le=Ae(Vn(),1);var P=Ae(Fn()),z=Ae(Vn());function se(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,o;n<e.length;n++)(o=se(e[n]))!==""&&(t+=(t&&" ")+o);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var Wt="http://www.w3.org/1999/xhtml",Wn={svg:"http://www.w3.org/2000/svg",xhtml:Wt,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Oe(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),Wn.hasOwnProperty(t)?{space:Wn[t],local:e}:e}function Tc(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Wt&&t.documentElement.namespaceURI===Wt?t.createElement(e):t.createElementNS(n,e)}}function Lc(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function qt(e){var t=Oe(e);return(t.local?Lc:Tc)(t)}function Rc(){}function Ge(e){return e==null?Rc:function(){return this.querySelector(e)}}function yr(e){typeof e!="function"&&(e=Ge(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i=t[r],s=i.length,a=o[r]=new Array(s),c,l,d=0;d<s;++d)(c=i[d])&&(l=e.call(c,c.__data__,d,i))&&("__data__"in c&&(l.__data__=c.__data__),a[d]=l);return new ae(o,this._parents)}function qn(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function $c(){return[]}function kt(e){return e==null?$c:function(){return this.querySelectorAll(e)}}function Hc(e){return function(){return qn(e.apply(this,arguments))}}function wr(e){typeof e=="function"?e=Hc(e):e=kt(e);for(var t=this._groups,n=t.length,o=[],r=[],i=0;i<n;++i)for(var s=t[i],a=s.length,c,l=0;l<a;++l)(c=s[l])&&(o.push(e.call(c,c.__data__,l,s)),r.push(c));return new ae(o,r)}function Nt(e){return function(){return this.matches(e)}}function jt(e){return function(t){return t.matches(e)}}var Bc=Array.prototype.find;function Vc(e){return function(){return Bc.call(this.children,e)}}function Fc(){return this.firstElementChild}function br(e){return this.select(e==null?Fc:Vc(typeof e=="function"?e:jt(e)))}var Yc=Array.prototype.filter;function Xc(){return Array.from(this.children)}function Zc(e){return function(){return Yc.call(this.children,e)}}function xr(e){return this.selectAll(e==null?Xc:Zc(typeof e=="function"?e:jt(e)))}function vr(e){typeof e!="function"&&(e=Nt(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i=t[r],s=i.length,a=o[r]=[],c,l=0;l<s;++l)(c=i[l])&&e.call(c,c.__data__,l,i)&&a.push(c);return new ae(o,this._parents)}function Gt(e){return new Array(e.length)}function _r(){return new ae(this._enter||this._groups.map(Gt),this._parents)}function St(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}St.prototype={constructor:St,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Er(e){return function(){return e}}function Wc(e,t,n,o,r,i){for(var s=0,a,c=t.length,l=i.length;s<l;++s)(a=t[s])?(a.__data__=i[s],o[s]=a):n[s]=new St(e,i[s]);for(;s<c;++s)(a=t[s])&&(r[s]=a)}function qc(e,t,n,o,r,i,s){var a,c,l=new Map,d=t.length,f=i.length,u=new Array(d),p;for(a=0;a<d;++a)(c=t[a])&&(u[a]=p=s.call(c,c.__data__,a,t)+"",l.has(p)?r[a]=c:l.set(p,c));for(a=0;a<f;++a)p=s.call(e,i[a],a,i)+"",(c=l.get(p))?(o[a]=c,c.__data__=i[a],l.delete(p)):n[a]=new St(e,i[a]);for(a=0;a<d;++a)(c=t[a])&&l.get(u[a])===c&&(r[a]=c)}function jc(e){return e.__data__}function kr(e,t){if(!arguments.length)return Array.from(this,jc);var n=t?qc:Wc,o=this._parents,r=this._groups;typeof e!="function"&&(e=Er(e));for(var i=r.length,s=new Array(i),a=new Array(i),c=new Array(i),l=0;l<i;++l){var d=o[l],f=r[l],u=f.length,p=Gc(e.call(d,d&&d.__data__,l,o)),h=p.length,x=a[l]=new Array(h),b=s[l]=new Array(h),m=c[l]=new Array(u);n(d,f,x,b,m,p,t);for(var v=0,g=0,w,E;v<h;++v)if(w=x[v]){for(v>=g&&(g=v+1);!(E=b[g])&&++g<h;);w._next=E||null}}return s=new ae(s,o),s._enter=a,s._exit=c,s}function Gc(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Nr(){return new ae(this._exit||this._groups.map(Gt),this._parents)}function Sr(e,t,n){var o=this.enter(),r=this,i=this.exit();return typeof e=="function"?(o=e(o),o&&(o=o.selection())):o=o.append(e+""),t!=null&&(r=t(r),r&&(r=r.selection())),n==null?i.remove():n(i),o&&r?o.merge(r).order():r}function Cr(e){for(var t=e.selection?e.selection():e,n=this._groups,o=t._groups,r=n.length,i=o.length,s=Math.min(r,i),a=new Array(r),c=0;c<s;++c)for(var l=n[c],d=o[c],f=l.length,u=a[c]=new Array(f),p,h=0;h<f;++h)(p=l[h]||d[h])&&(u[h]=p);for(;c<r;++c)a[c]=n[c];return new ae(a,this._parents)}function Ir(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var o=e[t],r=o.length-1,i=o[r],s;--r>=0;)(s=o[r])&&(i&&s.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(s,i),i=s);return this}function Mr(e){e||(e=Kc);function t(f,u){return f&&u?e(f.__data__,u.__data__):!f-!u}for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i){for(var s=n[i],a=s.length,c=r[i]=new Array(a),l,d=0;d<a;++d)(l=s[d])&&(c[d]=l);c.sort(t)}return new ae(r,this._parents).order()}function Kc(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function Or(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Pr(){return Array.from(this)}function zr(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o=e[t],r=0,i=o.length;r<i;++r){var s=o[r];if(s)return s}return null}function Dr(){let e=0;for(let t of this)++e;return e}function Ar(){return!this.node()}function Tr(e){for(var t=this._groups,n=0,o=t.length;n<o;++n)for(var r=t[n],i=0,s=r.length,a;i<s;++i)(a=r[i])&&e.call(a,a.__data__,i,r);return this}function Uc(e){return function(){this.removeAttribute(e)}}function Qc(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Jc(e,t){return function(){this.setAttribute(e,t)}}function ed(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function td(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function nd(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function Lr(e,t){var n=Oe(e);if(arguments.length<2){var o=this.node();return n.local?o.getAttributeNS(n.space,n.local):o.getAttribute(n)}return this.each((t==null?n.local?Qc:Uc:typeof t=="function"?n.local?nd:td:n.local?ed:Jc)(n,t))}function Kt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function od(e){return function(){this.style.removeProperty(e)}}function rd(e,t,n){return function(){this.style.setProperty(e,t,n)}}function id(e,t,n){return function(){var o=t.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,n)}}function Rr(e,t,n){return arguments.length>1?this.each((t==null?od:typeof t=="function"?id:rd)(e,t,n??"")):Te(this.node(),e)}function Te(e,t){return e.style.getPropertyValue(t)||Kt(e).getComputedStyle(e,null).getPropertyValue(t)}function sd(e){return function(){delete this[e]}}function ad(e,t){return function(){this[e]=t}}function ld(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function $r(e,t){return arguments.length>1?this.each((t==null?sd:typeof t=="function"?ld:ad)(e,t)):this.node()[e]}function Hr(e){return e.trim().split(/^|\s+/)}function jn(e){return e.classList||new Br(e)}function Br(e){this._node=e,this._names=Hr(e.getAttribute("class")||"")}Br.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Vr(e,t){for(var n=jn(e),o=-1,r=t.length;++o<r;)n.add(t[o])}function Fr(e,t){for(var n=jn(e),o=-1,r=t.length;++o<r;)n.remove(t[o])}function cd(e){return function(){Vr(this,e)}}function dd(e){return function(){Fr(this,e)}}function ud(e,t){return function(){(t.apply(this,arguments)?Vr:Fr)(this,e)}}function Yr(e,t){var n=Hr(e+"");if(arguments.length<2){for(var o=jn(this.node()),r=-1,i=n.length;++r<i;)if(!o.contains(n[r]))return!1;return!0}return this.each((typeof t=="function"?ud:t?cd:dd)(n,t))}function fd(){this.textContent=""}function hd(e){return function(){this.textContent=e}}function pd(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function Xr(e){return arguments.length?this.each(e==null?fd:(typeof e=="function"?pd:hd)(e)):this.node().textContent}function gd(){this.innerHTML=""}function md(e){return function(){this.innerHTML=e}}function yd(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function Zr(e){return arguments.length?this.each(e==null?gd:(typeof e=="function"?yd:md)(e)):this.node().innerHTML}function wd(){this.nextSibling&&this.parentNode.appendChild(this)}function Wr(){return this.each(wd)}function bd(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function qr(){return this.each(bd)}function jr(e){var t=typeof e=="function"?e:qt(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function xd(){return null}function Gr(e,t){var n=typeof e=="function"?e:qt(e),o=t==null?xd:typeof t=="function"?t:Ge(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),o.apply(this,arguments)||null)})}function vd(){var e=this.parentNode;e&&e.removeChild(this)}function Kr(){return this.each(vd)}function _d(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Ed(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Ur(e){return this.select(e?Ed:_d)}function Qr(e){return arguments.length?this.property("__data__",e):this.node().__data__}function kd(e){return function(t){e.call(this,t,this.__data__)}}function Nd(e){return e.trim().split(/^|\s+/).map(function(t){var n="",o=t.indexOf(".");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{type:t,name:n}})}function Sd(e){return function(){var t=this.__on;if(t){for(var n=0,o=-1,r=t.length,i;n<r;++n)i=t[n],(!e.type||i.type===e.type)&&i.name===e.name?this.removeEventListener(i.type,i.listener,i.options):t[++o]=i;++o?t.length=o:delete this.__on}}}function Cd(e,t,n){return function(){var o=this.__on,r,i=kd(t);if(o){for(var s=0,a=o.length;s<a;++s)if((r=o[s]).type===e.type&&r.name===e.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=i,r.options=n),r.value=t;return}}this.addEventListener(e.type,i,n),r={type:e.type,name:e.name,value:t,listener:i,options:n},o?o.push(r):this.__on=[r]}}function Jr(e,t,n){var o=Nd(e+""),r,i=o.length,s;if(arguments.length<2){var a=this.node().__on;if(a){for(var c=0,l=a.length,d;c<l;++c)for(r=0,d=a[c];r<i;++r)if((s=o[r]).type===d.type&&s.name===d.name)return d.value}return}for(a=t?Cd:Sd,r=0;r<i;++r)this.each(a(o[r],t,n));return this}function ei(e,t,n){var o=Kt(e),r=o.CustomEvent;typeof r=="function"?r=new r(t,n):(r=o.document.createEvent("Event"),n?(r.initEvent(t,n.bubbles,n.cancelable),r.detail=n.detail):r.initEvent(t,!1,!1)),e.dispatchEvent(r)}function Id(e,t){return function(){return ei(this,e,t)}}function Md(e,t){return function(){return ei(this,e,t.apply(this,arguments))}}function ti(e,t){return this.each((typeof t=="function"?Md:Id)(e,t))}function*ni(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o=e[t],r=0,i=o.length,s;r<i;++r)(s=o[r])&&(yield s)}var Gn=[null];function ae(e,t){this._groups=e,this._parents=t}function oi(){return new ae([[document.documentElement]],Gn)}function Od(){return this}ae.prototype=oi.prototype={constructor:ae,select:yr,selectAll:wr,selectChild:br,selectChildren:xr,filter:vr,data:kr,enter:_r,exit:Nr,join:Sr,merge:Cr,selection:Od,order:Ir,sort:Mr,call:Or,nodes:Pr,node:zr,size:Dr,empty:Ar,each:Tr,attr:Lr,style:Rr,property:$r,classed:Yr,text:Xr,html:Zr,raise:Wr,lower:qr,append:jr,insert:Gr,remove:Kr,clone:Ur,datum:Qr,on:Jr,dispatch:ti,[Symbol.iterator]:ni};var Pe=oi;function de(e){return typeof e=="string"?new ae([[document.querySelector(e)]],[document.documentElement]):new ae([[e]],Gn)}function ri(e){let t;for(;t=e.sourceEvent;)e=t;return e}function he(e,t){if(e=ri(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var o=n.createSVGPoint();return o.x=e.clientX,o.y=e.clientY,o=o.matrixTransform(t.getScreenCTM().inverse()),[o.x,o.y]}if(t.getBoundingClientRect){var r=t.getBoundingClientRect();return[e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop]}}return[e.pageX,e.pageY]}var ii={passive:!1},Ke={capture:!0,passive:!1};function Ut(e){e.stopImmediatePropagation()}function Le(e){e.preventDefault(),e.stopImmediatePropagation()}function Ct(e){var t=e.document.documentElement,n=de(e).on("dragstart.drag",Le,Ke);"onselectstart"in t?n.on("selectstart.drag",Le,Ke):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function It(e,t){var n=e.document.documentElement,o=de(e).on("dragstart.drag",null);t&&(o.on("click.drag",Le,Ke),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in n?o.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var Mt=e=>()=>e;function Ot(e,{sourceEvent:t,subject:n,target:o,identifier:r,active:i,x:s,y:a,dx:c,dy:l,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:d}})}Ot.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Pd(e){return!e.ctrlKey&&!e.button}function zd(){return this.parentNode}function Dd(e,t){return t??{x:e.x,y:e.y}}function Ad(){return navigator.maxTouchPoints||"ontouchstart"in this}function Qt(){var e=Pd,t=zd,n=Dd,o=Ad,r={},i=st("start","drag","end"),s=0,a,c,l,d,f=0;function u(w){w.on("mousedown.drag",p).filter(o).on("touchstart.drag",b).on("touchmove.drag",m,ii).on("touchend.drag touchcancel.drag",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(w,E){if(!(d||!e.call(this,w,E))){var k=g(this,t.call(this,w,E),w,E,"mouse");k&&(de(w.view).on("mousemove.drag",h,Ke).on("mouseup.drag",x,Ke),Ct(w.view),Ut(w),l=!1,a=w.clientX,c=w.clientY,k("start",w))}}function h(w){if(Le(w),!l){var E=w.clientX-a,k=w.clientY-c;l=E*E+k*k>f}r.mouse("drag",w)}function x(w){de(w.view).on("mousemove.drag mouseup.drag",null),It(w.view,l),Le(w),r.mouse("end",w)}function b(w,E){if(e.call(this,w,E)){var k=w.changedTouches,C=t.call(this,w,E),S=k.length,I,B;for(I=0;I<S;++I)(B=g(this,C,w,E,k[I].identifier,k[I]))&&(Ut(w),B("start",w,k[I]))}}function m(w){var E=w.changedTouches,k=E.length,C,S;for(C=0;C<k;++C)(S=r[E[C].identifier])&&(Le(w),S("drag",w,E[C]))}function v(w){var E=w.changedTouches,k=E.length,C,S;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),C=0;C<k;++C)(S=r[E[C].identifier])&&(Ut(w),S("end",w,E[C]))}function g(w,E,k,C,S,I){var B=i.copy(),O=he(I||k,E),L,D,y;if((y=n.call(w,new Ot("beforestart",{sourceEvent:k,target:u,identifier:S,active:s,x:O[0],y:O[1],dx:0,dy:0,dispatch:B}),C))!=null)return L=y.x-O[0]||0,D=y.y-O[1]||0,function _(N,M,A){var T=O,H;switch(N){case"start":r[S]=_,H=s++;break;case"end":delete r[S],--s;case"drag":O=he(A||M,E),H=s;break}B.call(N,w,new Ot(N,{sourceEvent:M,subject:y,target:u,identifier:S,active:H,x:O[0]+L,y:O[1]+D,dx:O[0]-T[0],dy:O[1]-T[1],dispatch:B}),C)}}return u.filter=function(w){return arguments.length?(e=typeof w=="function"?w:Mt(!!w),u):e},u.container=function(w){return arguments.length?(t=typeof w=="function"?w:Mt(w),u):t},u.subject=function(w){return arguments.length?(n=typeof w=="function"?w:Mt(w),u):n},u.touchable=function(w){return arguments.length?(o=typeof w=="function"?w:Mt(!!w),u):o},u.on=function(){var w=i.on.apply(i,arguments);return w===i?u:w},u.clickDistance=function(w){return arguments.length?(f=(w=+w)*w,u):Math.sqrt(f)},u}var Td=st("start","end","cancel","interrupt"),Ld=[],li=0,si=1,en=2,Jt=3,ai=4,tn=5,Pt=6;function Re(e,t,n,o,r,i){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;Rd(e,n,{name:t,index:o,group:r,on:Td,tween:Ld,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:li})}function zt(e,t){var n=ce(e,t);if(n.state>li)throw new Error("too late; already scheduled");return n}function fe(e,t){var n=ce(e,t);if(n.state>Jt)throw new Error("too late; already running");return n}function ce(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Rd(e,t,n){var o=e.__transition,r;o[t]=n,n.timer=mr(i,0,n.time);function i(l){n.state=si,n.timer.restart(s,n.delay,n.time),n.delay<=l&&s(l-n.delay)}function s(l){var d,f,u,p;if(n.state!==si)return c();for(d in o)if(p=o[d],p.name===n.name){if(p.state===Jt)return Zn(s);p.state===ai?(p.state=Pt,p.timer.stop(),p.on.call("interrupt",e,e.__data__,p.index,p.group),delete o[d]):+d<t&&(p.state=Pt,p.timer.stop(),p.on.call("cancel",e,e.__data__,p.index,p.group),delete o[d])}if(Zn(function(){n.state===Jt&&(n.state=ai,n.timer.restart(a,n.delay,n.time),a(l))}),n.state=en,n.on.call("start",e,e.__data__,n.index,n.group),n.state===en){for(n.state=Jt,r=new Array(u=n.tween.length),d=0,f=-1;d<u;++d)(p=n.tween[d].value.call(e,e.__data__,n.index,n.group))&&(r[++f]=p);r.length=f+1}}function a(l){for(var d=l<n.duration?n.ease.call(null,l/n.duration):(n.timer.restart(c),n.state=tn,1),f=-1,u=r.length;++f<u;)r[f].call(e,d);n.state===tn&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=Pt,n.timer.stop(),delete o[t];for(var l in o)return;delete e.__transition}}function Ue(e,t){var n=e.__transition,o,r,i=!0,s;if(n){t=t==null?null:t+"";for(s in n){if((o=n[s]).name!==t){i=!1;continue}r=o.state>en&&o.state<tn,o.state=Pt,o.timer.stop(),o.on.call(r?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete n[s]}i&&delete e.__transition}}function ci(e){return this.each(function(){Ue(this,e)})}function $d(e,t){var n,o;return function(){var r=fe(this,e),i=r.tween;if(i!==n){o=n=i;for(var s=0,a=o.length;s<a;++s)if(o[s].name===t){o=o.slice(),o.splice(s,1);break}}r.tween=o}}function Hd(e,t,n){var o,r;if(typeof n!="function")throw new Error;return function(){var i=fe(this,e),s=i.tween;if(s!==o){r=(o=s).slice();for(var a={name:t,value:n},c=0,l=r.length;c<l;++c)if(r[c].name===t){r[c]=a;break}c===l&&r.push(a)}i.tween=r}}function di(e,t){var n=this._id;if(e+="",arguments.length<2){for(var o=ce(this.node(),n).tween,r=0,i=o.length,s;r<i;++r)if((s=o[r]).name===e)return s.value;return null}return this.each((t==null?$d:Hd)(n,e,t))}function lt(e,t,n){var o=e._id;return e.each(function(){var r=fe(this,o);(r.value||(r.value={}))[t]=n.apply(this,arguments)}),function(r){return ce(r,o).value[t]}}function nn(e,t){var n;return(typeof t=="number"?ur:t instanceof Yn?Xn:(n=Yn(t))?(t=n,Xn):fr)(e,t)}function Bd(e){return function(){this.removeAttribute(e)}}function Vd(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Fd(e,t,n){var o,r=n+"",i;return function(){var s=this.getAttribute(e);return s===r?null:s===o?i:i=t(o=s,n)}}function Yd(e,t,n){var o,r=n+"",i;return function(){var s=this.getAttributeNS(e.space,e.local);return s===r?null:s===o?i:i=t(o=s,n)}}function Xd(e,t,n){var o,r,i;return function(){var s,a=n(this),c;return a==null?void this.removeAttribute(e):(s=this.getAttribute(e),c=a+"",s===c?null:s===o&&c===r?i:(r=c,i=t(o=s,a)))}}function Zd(e,t,n){var o,r,i;return function(){var s,a=n(this),c;return a==null?void this.removeAttributeNS(e.space,e.local):(s=this.getAttributeNS(e.space,e.local),c=a+"",s===c?null:s===o&&c===r?i:(r=c,i=t(o=s,a)))}}function ui(e,t){var n=Oe(e),o=n==="transform"?pr:nn;return this.attrTween(e,typeof t=="function"?(n.local?Zd:Xd)(n,o,lt(this,"attr."+e,t)):t==null?(n.local?Vd:Bd)(n):(n.local?Yd:Fd)(n,o,t))}function Wd(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function qd(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function jd(e,t){var n,o;function r(){var i=t.apply(this,arguments);return i!==o&&(n=(o=i)&&qd(e,i)),n}return r._value=t,r}function Gd(e,t){var n,o;function r(){var i=t.apply(this,arguments);return i!==o&&(n=(o=i)&&Wd(e,i)),n}return r._value=t,r}function fi(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var o=Oe(e);return this.tween(n,(o.local?jd:Gd)(o,t))}function Kd(e,t){return function(){zt(this,e).delay=+t.apply(this,arguments)}}function Ud(e,t){return t=+t,function(){zt(this,e).delay=t}}function hi(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?Kd:Ud)(t,e)):ce(this.node(),t).delay}function Qd(e,t){return function(){fe(this,e).duration=+t.apply(this,arguments)}}function Jd(e,t){return t=+t,function(){fe(this,e).duration=t}}function pi(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?Qd:Jd)(t,e)):ce(this.node(),t).duration}function eu(e,t){if(typeof t!="function")throw new Error;return function(){fe(this,e).ease=t}}function gi(e){var t=this._id;return arguments.length?this.each(eu(t,e)):ce(this.node(),t).ease}function tu(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;fe(this,e).ease=n}}function mi(e){if(typeof e!="function")throw new Error;return this.each(tu(this._id,e))}function yi(e){typeof e!="function"&&(e=Nt(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i=t[r],s=i.length,a=o[r]=[],c,l=0;l<s;++l)(c=i[l])&&e.call(c,c.__data__,l,i)&&a.push(c);return new pe(o,this._parents,this._name,this._id)}function wi(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,o=t.length,r=n.length,i=Math.min(o,r),s=new Array(o),a=0;a<i;++a)for(var c=t[a],l=n[a],d=c.length,f=s[a]=new Array(d),u,p=0;p<d;++p)(u=c[p]||l[p])&&(f[p]=u);for(;a<o;++a)s[a]=t[a];return new pe(s,this._parents,this._name,this._id)}function nu(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function ou(e,t,n){var o,r,i=nu(t)?zt:fe;return function(){var s=i(this,e),a=s.on;a!==o&&(r=(o=a).copy()).on(t,n),s.on=r}}function bi(e,t){var n=this._id;return arguments.length<2?ce(this.node(),n).on.on(e):this.each(ou(n,e,t))}function ru(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function xi(){return this.on("end.remove",ru(this._id))}function vi(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Ge(e));for(var o=this._groups,r=o.length,i=new Array(r),s=0;s<r;++s)for(var a=o[s],c=a.length,l=i[s]=new Array(c),d,f,u=0;u<c;++u)(d=a[u])&&(f=e.call(d,d.__data__,u,a))&&("__data__"in d&&(f.__data__=d.__data__),l[u]=f,Re(l[u],t,n,u,l,ce(d,n)));return new pe(i,this._parents,t,n)}function _i(e){var t=this._name,n=this._id;typeof e!="function"&&(e=kt(e));for(var o=this._groups,r=o.length,i=[],s=[],a=0;a<r;++a)for(var c=o[a],l=c.length,d,f=0;f<l;++f)if(d=c[f]){for(var u=e.call(d,d.__data__,f,c),p,h=ce(d,n),x=0,b=u.length;x<b;++x)(p=u[x])&&Re(p,t,n,x,u,h);i.push(u),s.push(d)}return new pe(i,s,t,n)}var iu=Pe.prototype.constructor;function Ei(){return new iu(this._groups,this._parents)}function su(e,t){var n,o,r;return function(){var i=Te(this,e),s=(this.style.removeProperty(e),Te(this,e));return i===s?null:i===n&&s===o?r:r=t(n=i,o=s)}}function ki(e){return function(){this.style.removeProperty(e)}}function au(e,t,n){var o,r=n+"",i;return function(){var s=Te(this,e);return s===r?null:s===o?i:i=t(o=s,n)}}function lu(e,t,n){var o,r,i;return function(){var s=Te(this,e),a=n(this),c=a+"";return a==null&&(c=a=(this.style.removeProperty(e),Te(this,e))),s===c?null:s===o&&c===r?i:(r=c,i=t(o=s,a))}}function cu(e,t){var n,o,r,i="style."+t,s="end."+i,a;return function(){var c=fe(this,e),l=c.on,d=c.value[i]==null?a||(a=ki(t)):void 0;(l!==n||r!==d)&&(o=(n=l).copy()).on(s,r=d),c.on=o}}function Ni(e,t,n){var o=(e+="")=="transform"?hr:nn;return t==null?this.styleTween(e,su(e,o)).on("end.style."+e,ki(e)):typeof t=="function"?this.styleTween(e,lu(e,o,lt(this,"style."+e,t))).each(cu(this._id,e)):this.styleTween(e,au(e,o,t),n).on("end.style."+e,null)}function du(e,t,n){return function(o){this.style.setProperty(e,t.call(this,o),n)}}function uu(e,t,n){var o,r;function i(){var s=t.apply(this,arguments);return s!==r&&(o=(r=s)&&du(e,s,n)),o}return i._value=t,i}function Si(e,t,n){var o="style."+(e+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(t==null)return this.tween(o,null);if(typeof t!="function")throw new Error;return this.tween(o,uu(e,t,n??""))}function fu(e){return function(){this.textContent=e}}function hu(e){return function(){var t=e(this);this.textContent=t??""}}function Ci(e){return this.tween("text",typeof e=="function"?hu(lt(this,"text",e)):fu(e==null?"":e+""))}function pu(e){return function(t){this.textContent=e.call(this,t)}}function gu(e){var t,n;function o(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&pu(r)),t}return o._value=e,o}function Ii(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,gu(e))}function Mi(){for(var e=this._name,t=this._id,n=on(),o=this._groups,r=o.length,i=0;i<r;++i)for(var s=o[i],a=s.length,c,l=0;l<a;++l)if(c=s[l]){var d=ce(c,t);Re(c,e,n,l,s,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new pe(o,this._parents,e,n)}function Oi(){var e,t,n=this,o=n._id,r=n.size();return new Promise(function(i,s){var a={value:s},c={value:function(){--r===0&&i()}};n.each(function(){var l=fe(this,o),d=l.on;d!==e&&(t=(e=d).copy(),t._.cancel.push(a),t._.interrupt.push(a),t._.end.push(c)),l.on=t}),r===0&&i()})}var mu=0;function pe(e,t,n,o){this._groups=e,this._parents=t,this._name=n,this._id=o}function Pi(e){return Pe().transition(e)}function on(){return++mu}var ze=Pe.prototype;pe.prototype=Pi.prototype={constructor:pe,select:vi,selectAll:_i,selectChild:ze.selectChild,selectChildren:ze.selectChildren,filter:yi,merge:wi,selection:Ei,transition:Mi,call:ze.call,nodes:ze.nodes,node:ze.node,size:ze.size,empty:ze.empty,each:ze.each,on:bi,attr:ui,attrTween:fi,style:Ni,styleTween:Si,text:Ci,textTween:Ii,remove:xi,tween:di,delay:hi,duration:pi,ease:gi,easeVarying:mi,end:Oi,[Symbol.iterator]:ze[Symbol.iterator]};function rn(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var yu={time:null,delay:0,duration:250,ease:rn};function wu(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function zi(e){var t,n;e instanceof pe?(t=e._id,e=e._name):(t=on(),(n=yu).time=gr(),e=e==null?null:e+"");for(var o=this._groups,r=o.length,i=0;i<r;++i)for(var s=o[i],a=s.length,c,l=0;l<a;++l)(c=s[l])&&Re(c,e,t,l,s,n||wu(c,t));return new pe(o,this._parents,e,t)}Pe.prototype.interrupt=ci;Pe.prototype.transition=zi;var Dt=e=>()=>e;function Kn(e,{sourceEvent:t,target:n,transform:o,dispatch:r}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:r}})}function xe(e,t,n){this.k=e,this.x=t,this.y=n}xe.prototype={constructor:xe,scale:function(e){return e===1?this:new xe(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new xe(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Qe=new xe(1,0,0);At.prototype=xe.prototype;function At(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Qe;return e.__zoom}function sn(e){e.stopImmediatePropagation()}function ct(e){e.preventDefault(),e.stopImmediatePropagation()}function bu(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function xu(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Di(){return this.__zoom||Qe}function vu(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function _u(){return navigator.maxTouchPoints||"ontouchstart"in this}function Eu(e,t,n){var o=e.invertX(t[0][0])-n[0][0],r=e.invertX(t[1][0])-n[1][0],i=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(r>o?(o+r)/2:Math.min(0,o)||Math.max(0,r),s>i?(i+s)/2:Math.min(0,i)||Math.max(0,s))}function an(){var e=bu,t=xu,n=Eu,o=vu,r=_u,i=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,c=at,l=st("start","zoom","end"),d,f,u,p=500,h=150,x=0,b=10;function m(y){y.property("__zoom",Di).on("wheel.zoom",S,{passive:!1}).on("mousedown.zoom",I).on("dblclick.zoom",B).filter(r).on("touchstart.zoom",O).on("touchmove.zoom",L).on("touchend.zoom touchcancel.zoom",D).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}m.transform=function(y,_,N,M){var A=y.selection?y.selection():y;A.property("__zoom",Di),y!==A?E(y,_,N,M):A.interrupt().each(function(){k(this,arguments).event(M).start().zoom(null,typeof _=="function"?_.apply(this,arguments):_).end()})},m.scaleBy=function(y,_,N,M){m.scaleTo(y,function(){var A=this.__zoom.k,T=typeof _=="function"?_.apply(this,arguments):_;return A*T},N,M)},m.scaleTo=function(y,_,N,M){m.transform(y,function(){var A=t.apply(this,arguments),T=this.__zoom,H=N==null?w(A):typeof N=="function"?N.apply(this,arguments):N,$=T.invert(H),V=typeof _=="function"?_.apply(this,arguments):_;return n(g(v(T,V),H,$),A,s)},N,M)},m.translateBy=function(y,_,N,M){m.transform(y,function(){return n(this.__zoom.translate(typeof _=="function"?_.apply(this,arguments):_,typeof N=="function"?N.apply(this,arguments):N),t.apply(this,arguments),s)},null,M)},m.translateTo=function(y,_,N,M,A){m.transform(y,function(){var T=t.apply(this,arguments),H=this.__zoom,$=M==null?w(T):typeof M=="function"?M.apply(this,arguments):M;return n(Qe.translate($[0],$[1]).scale(H.k).translate(typeof _=="function"?-_.apply(this,arguments):-_,typeof N=="function"?-N.apply(this,arguments):-N),T,s)},M,A)};function v(y,_){return _=Math.max(i[0],Math.min(i[1],_)),_===y.k?y:new xe(_,y.x,y.y)}function g(y,_,N){var M=_[0]-N[0]*y.k,A=_[1]-N[1]*y.k;return M===y.x&&A===y.y?y:new xe(y.k,M,A)}function w(y){return[(+y[0][0]+ +y[1][0])/2,(+y[0][1]+ +y[1][1])/2]}function E(y,_,N,M){y.on("start.zoom",function(){k(this,arguments).event(M).start()}).on("interrupt.zoom end.zoom",function(){k(this,arguments).event(M).end()}).tween("zoom",function(){var A=this,T=arguments,H=k(A,T).event(M),$=t.apply(A,T),V=N==null?w($):typeof N=="function"?N.apply(A,T):N,j=Math.max($[1][0]-$[0][0],$[1][1]-$[0][1]),F=A.__zoom,G=typeof _=="function"?_.apply(A,T):_,ee=c(F.invert(V).concat(j/F.k),G.invert(V).concat(j/G.k));return function(q){if(q===1)q=G;else{var R=ee(q),X=j/R[2];q=new xe(X,V[0]-R[0]*X,V[1]-R[1]*X)}H.zoom(null,q)}})}function k(y,_,N){return!N&&y.__zooming||new C(y,_)}function C(y,_){this.that=y,this.args=_,this.active=0,this.sourceEvent=null,this.extent=t.apply(y,_),this.taps=0}C.prototype={event:function(y){return y&&(this.sourceEvent=y),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(y,_){return this.mouse&&y!=="mouse"&&(this.mouse[1]=_.invert(this.mouse[0])),this.touch0&&y!=="touch"&&(this.touch0[1]=_.invert(this.touch0[0])),this.touch1&&y!=="touch"&&(this.touch1[1]=_.invert(this.touch1[0])),this.that.__zoom=_,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(y){var _=de(this.that).datum();l.call(y,this.that,new Kn(y,{sourceEvent:this.sourceEvent,target:m,type:y,transform:this.that.__zoom,dispatch:l}),_)}};function S(y,..._){if(!e.apply(this,arguments))return;var N=k(this,_).event(y),M=this.__zoom,A=Math.max(i[0],Math.min(i[1],M.k*Math.pow(2,o.apply(this,arguments)))),T=he(y);if(N.wheel)(N.mouse[0][0]!==T[0]||N.mouse[0][1]!==T[1])&&(N.mouse[1]=M.invert(N.mouse[0]=T)),clearTimeout(N.wheel);else{if(M.k===A)return;N.mouse=[T,M.invert(T)],Ue(this),N.start()}ct(y),N.wheel=setTimeout(H,h),N.zoom("mouse",n(g(v(M,A),N.mouse[0],N.mouse[1]),N.extent,s));function H(){N.wheel=null,N.end()}}function I(y,..._){if(u||!e.apply(this,arguments))return;var N=y.currentTarget,M=k(this,_,!0).event(y),A=de(y.view).on("mousemove.zoom",V,!0).on("mouseup.zoom",j,!0),T=he(y,N),H=y.clientX,$=y.clientY;Ct(y.view),sn(y),M.mouse=[T,this.__zoom.invert(T)],Ue(this),M.start();function V(F){if(ct(F),!M.moved){var G=F.clientX-H,ee=F.clientY-$;M.moved=G*G+ee*ee>x}M.event(F).zoom("mouse",n(g(M.that.__zoom,M.mouse[0]=he(F,N),M.mouse[1]),M.extent,s))}function j(F){A.on("mousemove.zoom mouseup.zoom",null),It(F.view,M.moved),ct(F),M.event(F).end()}}function B(y,..._){if(e.apply(this,arguments)){var N=this.__zoom,M=he(y.changedTouches?y.changedTouches[0]:y,this),A=N.invert(M),T=N.k*(y.shiftKey?.5:2),H=n(g(v(N,T),M,A),t.apply(this,_),s);ct(y),a>0?de(this).transition().duration(a).call(E,H,M,y):de(this).call(m.transform,H,M,y)}}function O(y,..._){if(e.apply(this,arguments)){var N=y.touches,M=N.length,A=k(this,_,y.changedTouches.length===M).event(y),T,H,$,V;for(sn(y),H=0;H<M;++H)$=N[H],V=he($,this),V=[V,this.__zoom.invert(V),$.identifier],A.touch0?!A.touch1&&A.touch0[2]!==V[2]&&(A.touch1=V,A.taps=0):(A.touch0=V,T=!0,A.taps=1+!!d);d&&(d=clearTimeout(d)),T&&(A.taps<2&&(f=V[0],d=setTimeout(function(){d=null},p)),Ue(this),A.start())}}function L(y,..._){if(this.__zooming){var N=k(this,_).event(y),M=y.changedTouches,A=M.length,T,H,$,V;for(ct(y),T=0;T<A;++T)H=M[T],$=he(H,this),N.touch0&&N.touch0[2]===H.identifier?N.touch0[0]=$:N.touch1&&N.touch1[2]===H.identifier&&(N.touch1[0]=$);if(H=N.that.__zoom,N.touch1){var j=N.touch0[0],F=N.touch0[1],G=N.touch1[0],ee=N.touch1[1],q=(q=G[0]-j[0])*q+(q=G[1]-j[1])*q,R=(R=ee[0]-F[0])*R+(R=ee[1]-F[1])*R;H=v(H,Math.sqrt(q/R)),$=[(j[0]+G[0])/2,(j[1]+G[1])/2],V=[(F[0]+ee[0])/2,(F[1]+ee[1])/2]}else if(N.touch0)$=N.touch0[0],V=N.touch0[1];else return;N.zoom("touch",n(g(H,$,V),N.extent,s))}}function D(y,..._){if(this.__zooming){var N=k(this,_).event(y),M=y.changedTouches,A=M.length,T,H;for(sn(y),u&&clearTimeout(u),u=setTimeout(function(){u=null},p),T=0;T<A;++T)H=M[T],N.touch0&&N.touch0[2]===H.identifier?delete N.touch0:N.touch1&&N.touch1[2]===H.identifier&&delete N.touch1;if(N.touch1&&!N.touch0&&(N.touch0=N.touch1,delete N.touch1),N.touch0)N.touch0[1]=this.__zoom.invert(N.touch0[0]);else if(N.end(),N.taps===2&&(H=he(H,this),Math.hypot(f[0]-H[0],f[1]-H[1])<b)){var $=de(this).on("dblclick.zoom");$&&$.apply(this,arguments)}}}return m.wheelDelta=function(y){return arguments.length?(o=typeof y=="function"?y:Dt(+y),m):o},m.filter=function(y){return arguments.length?(e=typeof y=="function"?y:Dt(!!y),m):e},m.touchable=function(y){return arguments.length?(r=typeof y=="function"?y:Dt(!!y),m):r},m.extent=function(y){return arguments.length?(t=typeof y=="function"?y:Dt([[+y[0][0],+y[0][1]],[+y[1][0],+y[1][1]]]),m):t},m.scaleExtent=function(y){return arguments.length?(i[0]=+y[0],i[1]=+y[1],m):[i[0],i[1]]},m.translateExtent=function(y){return arguments.length?(s[0][0]=+y[0][0],s[1][0]=+y[1][0],s[0][1]=+y[0][1],s[1][1]=+y[1][1],m):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},m.constrain=function(y){return arguments.length?(n=y,m):n},m.duration=function(y){return arguments.length?(a=+y,m):a},m.interpolate=function(y){return arguments.length?(c=y,m):c},m.on=function(){var y=l.on.apply(l,arguments);return y===l?m:y},m.clickDistance=function(y){return arguments.length?(x=(y=+y)*y,m):Math.sqrt(x)},m.tapDistance=function(y){return arguments.length?(b=+y,m):b},m}var ge={error001:(e="react")=>`Seems like you have not used ${e==="svelte"?"SvelteFlowProvider":"ReactFlowProvider"} as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:o})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:o}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},ft=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],to=["Enter"," ","Escape"],no={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"},Ve;(function(e){e.Strict="strict",e.Loose="loose"})(Ve||(Ve={}));var De;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(De||(De={}));var Je;(function(e){e.Partial="partial",e.Full="full"})(Je||(Je={}));var oo={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},Ee;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Ee||(Ee={}));var Fe;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Fe||(Fe={}));var Y;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(Y||(Y={}));var Ai={[Y.Left]:Y.Right,[Y.Right]:Y.Left,[Y.Top]:Y.Bottom,[Y.Bottom]:Y.Top},ro=e=>!!e&&typeof e=="object"&&"id"in e&&"source"in e&&"target"in e,qi=e=>!!e&&typeof e=="object"&&"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),io=e=>!!e&&typeof e=="object"&&"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e);var Lt=(e,t=[0,0])=>{let{width:n,height:o}=we(e),r=e.origin??t,i=n*r[0],s=o*r[1];return{x:e.position.x-i,y:e.position.y-s}},so=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};let n=!1,o=e.reduce((r,i)=>{let s=typeof i=="string",a=!t.nodeLookup&&!s?i:void 0;return t.nodeLookup&&(a=s?t.nodeLookup.get(i):io(i)?i:t.nodeLookup.get(i.id)),a?(n=!0,hn(r,dn(a,t.nodeOrigin))):r},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return n?pn(o):{x:0,y:0,width:0,height:0}},ht=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e.forEach(r=>{(t.filter===void 0||t.filter(r))&&(n=hn(n,dn(r)),o=!0)}),o?pn(n):{x:0,y:0,width:0,height:0}},un=(e,t,[n,o,r]=[0,0,1],i=!1,s=!1)=>{let a=(t.x-n)/r,c=(t.y-o)/r,l=t.width/r,d=t.height/r,f=[];for(let u of e.values()){let{measured:p,selectable:h=!0,hidden:x=!1}=u;if(s&&!h||x)continue;let b=p.width??u.width??u.initialWidth??0,m=p.height??u.height??u.initialHeight??0,{x:v,y:g}=u.internals.positionAbsolute,w=Qi(a,c,l,d,v,g,b,m),E=b*m,k=i&&w>0;(!u.internals.handleBounds||k||w>=E||u.dragging)&&f.push(u)}return f},ji=(e,t)=>{let n=new Set;return e.forEach(o=>{n.add(o.id)}),t.filter(o=>n.has(o.source)||n.has(o.target))};function ku(e,t){let n=new Map,o=t?.nodes?new Set(t.nodes.map(r=>r.id)):null;return e.forEach(r=>{let i;if(t?.includeHiddenNodes){let{width:s,height:a}=we(r);i=s>0&&a>0}else i=!!(r.measured.width&&r.measured.height&&!r.hidden);i&&(!o||o.has(r.id))&&n.set(r.id,r)}),n}async function Gi({nodes:e,width:t,height:n,panZoom:o,minZoom:r,maxZoom:i},s){if(e.size===0)return!0;let a=ku(e,s),c=ht(a),l=$t(c,t,n,s?.minZoom??r,s?.maxZoom??i,s?.padding??.1);return await o.setViewport(l,{duration:s?.duration,ease:s?.ease,interpolate:s?.interpolate}),!0}function ao({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:o=[0,0],nodeExtent:r,onError:i}){let s=n.get(e),a=s.parentId?n.get(s.parentId):void 0,{x:c,y:l}=a?a.internals.positionAbsolute:{x:0,y:0},d=s.origin??o,f=s.extent||r;if(s.extent==="parent"&&!s.expandParent)if(!a)i?.("005",ge.error005());else{let{width:p,height:h}=we(a);p&&h&&(f=[[c,l],[c+p,l+h]])}else a&&nt(s.extent)&&(f=[[s.extent[0][0]+c,s.extent[0][1]+l],[s.extent[1][0]+c,s.extent[1][1]+l]]);let u=nt(f)?et(t,f,s.measured):t;return(s.measured.width===void 0||s.measured.height===void 0)&&i?.("015",ge.error015()),{position:{x:u.x-c+(s.measured.width??0)*d[0],y:u.y-l+(s.measured.height??0)*d[1]},positionAbsolute:u}}async function Ki({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:o,onBeforeDelete:r}){let i=new Set(e.map(u=>u.id)),s=[];for(let u of n){if(u.deletable===!1)continue;let p=i.has(u.id),h=!p&&u.parentId&&s.find(x=>x.id===u.parentId);(p||h)&&s.push(u)}let a=new Set(t.map(u=>u.id)),c=o.filter(u=>u.deletable!==!1),d=ji(s,c);for(let u of c)a.has(u.id)&&!d.find(h=>h.id===u.id)&&d.push(u);if(!r)return{edges:d,nodes:s};let f=await r({nodes:s,edges:d});return typeof f=="boolean"?f?{edges:d,nodes:s}:{edges:[],nodes:[]}:f}var ut=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),et=(e={x:0,y:0},t,n)=>({x:ut(e.x,t[0][0],t[1][0]-(n?.width??0)),y:ut(e.y,t[0][1],t[1][1]-(n?.height??0))});function Ui(e,t,n){let{width:o,height:r}=we(n),{x:i,y:s}=n.internals.positionAbsolute;return et(e,[[i,s],[i+o,s+r]],t)}var Ti=(e,t,n)=>e<t?ut(Math.abs(e-t),1,t)/t:e>n?-ut(Math.abs(e-n),1,t)/t:0,fn=(e,t,n=15,o=40)=>{let r=Ti(e.x,o,t.width-o)*n,i=Ti(e.y,o,t.height-o)*n;return[r,i]},hn=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),eo=({x:e,y:t,width:n,height:o})=>({x:e,y:t,x2:e+n,y2:t+o}),pn=({x:e,y:t,x2:n,y2:o})=>({x:e,y:t,width:n-e,height:o-t}),pt=(e,t=[0,0])=>{let{x:n,y:o}=io(e)?e.internals.positionAbsolute:Lt(e,t);return{x:n,y:o,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},dn=(e,t=[0,0])=>{let{x:n,y:o}=io(e)?e.internals.positionAbsolute:Lt(e,t);return{x:n,y:o,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:o+(e.measured?.height??e.height??e.initialHeight??0)}},lo=(e,t)=>pn(hn(eo(e),eo(t))),Qi=(e,t,n,o,r,i,s,a)=>{let c=Math.max(0,Math.min(e+n,r+s)-Math.max(e,r)),l=Math.max(0,Math.min(t+o,i+a)-Math.max(t,i));return Math.ceil(c*l)},Rt=(e,t)=>Qi(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),co=e=>me(e.width)&&me(e.height)&&me(e.x)&&me(e.y),me=e=>!isNaN(e)&&isFinite(e),uo=(e,t)=>(n,o)=>{},gt=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),mt=({x:e,y:t},[n,o,r],i=!1,s=[1,1])=>{let a={x:(e-n)/r,y:(t-o)/r};return i?gt(a,s):a},tt=({x:e,y:t},[n,o,r])=>({x:e*r+n,y:t*r+o});function dt(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Nu(e,t,n){if(typeof e=="string"||typeof e=="number"){let o=dt(e,n),r=dt(e,t);return{top:o,right:r,bottom:o,left:r,x:r*2,y:o*2}}if(typeof e=="object"){let o=dt(e.top??e.y??0,n),r=dt(e.bottom??e.y??0,n),i=dt(e.left??e.x??0,t),s=dt(e.right??e.x??0,t);return{top:o,right:s,bottom:r,left:i,x:i+s,y:o+r}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function Su(e,t,n,o,r,i){let{x:s,y:a}=tt(e,[t,n,o]),{x:c,y:l}=tt({x:e.x+e.width,y:e.y+e.height},[t,n,o]),d=r-c,f=i-l;return{left:Math.floor(s),top:Math.floor(a),right:Math.floor(d),bottom:Math.floor(f)}}var $t=(e,t,n,o,r,i)=>{let s=Nu(i,t,n),a=(t-s.x)/e.width,c=(n-s.y)/e.height,l=Math.min(a,c),d=ut(l,o,r),f=e.x+e.width/2,u=e.y+e.height/2,p=t/2-f*d,h=n/2-u*d,x=Su(e,p,h,d,t,n),b={left:Math.min(x.left-s.left,0),top:Math.min(x.top-s.top,0),right:Math.min(x.right-s.right,0),bottom:Math.min(x.bottom-s.bottom,0)};return{x:p-b.left+b.right,y:h-b.top+b.bottom,zoom:d}},yt=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function nt(e){return e!=null&&e!=="parent"}function we(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function gn(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function fo(e,t={width:0,height:0},n,o,r){let i={...e},s=o.get(n);if(s){let a=s.origin||r;i.x+=s.internals.positionAbsolute.x-(t.width??0)*a[0],i.y+=s.internals.positionAbsolute.y-(t.height??0)*a[1]}return i}function ho(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Ji(){let e,t;return{promise:new Promise((o,r)=>{e=o,t=r}),resolve:e,reject:t}}function es(e){return{...no,...e||{}}}function po(e){return e===null?null:e?"valid":"invalid"}function Tt(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:o,containerBounds:r}){let{x:i,y:s}=ye(e),a=mt({x:i-(r?.left??0),y:s-(r?.top??0)},o),{x:c,y:l}=n?gt(a,t):a;return{xSnapped:c,ySnapped:l,...a}}var mn=e=>({width:e.offsetWidth,height:e.offsetHeight}),go=e=>e?.getRootNode?.()||window?.document,Cu=["INPUT","SELECT","TEXTAREA"];function mo(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:Cu.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}var yo=e=>"clientX"in e,ye=(e,t)=>{let n=yo(e),o=n?e.clientX:e.touches?.[0].clientX,r=n?e.clientY:e.touches?.[0].clientY;return{x:o-(t?.left??0),y:r-(t?.top??0)}},Li=(e,t,n,o,r)=>{let i=t.querySelectorAll(`.${e}`);return!i||!i.length?null:Array.from(i).map(s=>{let a=s.getBoundingClientRect();return{id:s.getAttribute("data-handleid"),type:e,nodeId:r,position:s.getAttribute("data-handlepos"),x:(a.left-n.left)/o,y:(a.top-n.top)/o,...mn(s)}})};function yn({sourceX:e,sourceY:t,targetX:n,targetY:o,sourceControlX:r,sourceControlY:i,targetControlX:s,targetControlY:a}){let c=e*.125+r*.375+s*.375+n*.125,l=t*.125+i*.375+a*.375+o*.125,d=Math.abs(c-e),f=Math.abs(l-t);return[c,l,d,f]}function ln(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Ri({pos:e,x1:t,y1:n,x2:o,y2:r,c:i}){switch(e){case Y.Left:return[t-ln(t-o,i),n];case Y.Right:return[t+ln(o-t,i),n];case Y.Top:return[t,n-ln(n-r,i)];case Y.Bottom:return[t,n+ln(r-n,i)]}}function wn({sourceX:e,sourceY:t,sourcePosition:n=Y.Bottom,targetX:o,targetY:r,targetPosition:i=Y.Top,curvature:s=.25}){let[a,c]=Ri({pos:n,x1:e,y1:t,x2:o,y2:r,c:s}),[l,d]=Ri({pos:i,x1:o,y1:r,x2:e,y2:t,c:s}),[f,u,p,h]=yn({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:a,sourceControlY:c,targetControlX:l,targetControlY:d});return[`M${e},${t} C${a},${c} ${l},${d} ${o},${r}`,f,u,p,h]}function wo({sourceX:e,sourceY:t,targetX:n,targetY:o}){let r=Math.abs(n-e)/2,i=n<e?n+r:n-r,s=Math.abs(o-t)/2,a=o<t?o+s:o-s;return[i,a,r,s]}function ts({sourceNode:e,targetNode:t,selected:n=!1,zIndex:o=0,elevateOnSelect:r=!1,zIndexMode:i="basic"}){if(i==="manual")return o;let s=r&&n?o+1e3:o,a=Math.max(e.parentId||r&&e.selected?e.internals.z:0,t.parentId||r&&t.selected?t.internals.z:0);return s+a}function ns({sourceNode:e,targetNode:t,width:n,height:o,transform:r}){let i=hn(dn(e),dn(t));i.x===i.x2&&(i.x2+=1),i.y===i.y2&&(i.y2+=1);let s={x:-r[0]/r[2],y:-r[1]/r[2],width:n/r[2],height:o/r[2]};return Rt(s,pn(i))>0}var Iu=({source:e,sourceHandle:t,target:n,targetHandle:o})=>`xy-edge__${e}${t||""}-${n}${o||""}`,Mu=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),os=(e,t,n={})=>{if(!e.source||!e.target)return n.onError?.("006",ge.error006()),t;let o=n.getEdgeId||Iu,r;return ro(e)?r={...e}:r={...e,id:o(e)},Mu(r,t)?t:(r.sourceHandle===null&&delete r.sourceHandle,r.targetHandle===null&&delete r.targetHandle,t.concat(r))};function bn({sourceX:e,sourceY:t,targetX:n,targetY:o}){let[r,i,s,a]=wo({sourceX:e,sourceY:t,targetX:n,targetY:o});return[`M ${e},${t}L ${n},${o}`,r,i,s,a]}var $i={[Y.Left]:{x:-1,y:0},[Y.Right]:{x:1,y:0},[Y.Top]:{x:0,y:-1},[Y.Bottom]:{x:0,y:1}},Ou=({source:e,sourcePosition:t=Y.Bottom,target:n})=>t===Y.Left||t===Y.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},Hi=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function Pu({source:e,sourcePosition:t=Y.Bottom,target:n,targetPosition:o=Y.Top,center:r,offset:i,stepPosition:s}){let a=$i[t],c=$i[o],l={x:e.x+a.x*i,y:e.y+a.y*i},d={x:n.x+c.x*i,y:n.y+c.y*i},f=Ou({source:l,sourcePosition:t,target:d}),u=f.x!==0?"x":"y",p=f[u],h=[],x,b,m={x:0,y:0},v={x:0,y:0},[,,g,w]=wo({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(a[u]*c[u]===-1){u==="x"?(x=r.x??l.x+(d.x-l.x)*s,b=r.y??(l.y+d.y)/2):(x=r.x??(l.x+d.x)/2,b=r.y??l.y+(d.y-l.y)*s);let S=[{x,y:l.y},{x,y:d.y}],I=[{x:l.x,y:b},{x:d.x,y:b}];a[u]===p?h=u==="x"?S:I:h=u==="x"?I:S}else{let S=[{x:l.x,y:d.y}],I=[{x:d.x,y:l.y}];if(u==="x"?h=a.x===p?I:S:h=a.y===p?S:I,t===o){let y=Math.abs(e[u]-n[u]);if(y<=i){let _=Math.min(i-1,i-y);a[u]===p?m[u]=(l[u]>e[u]?-1:1)*_:v[u]=(d[u]>n[u]?-1:1)*_}}if(t!==o){let y=u==="x"?"y":"x",_=a[u]===c[y],N=l[y]>d[y],M=l[y]<d[y];(a[u]===1&&(!_&&N||_&&M)||a[u]!==1&&(!_&&M||_&&N))&&(h=u==="x"?S:I)}let B={x:l.x+m.x,y:l.y+m.y},O={x:d.x+v.x,y:d.y+v.y},L=Math.max(Math.abs(B.x-h[0].x),Math.abs(O.x-h[0].x)),D=Math.max(Math.abs(B.y-h[0].y),Math.abs(O.y-h[0].y));L>=D?(x=(B.x+O.x)/2,b=h[0].y):(x=h[0].x,b=(B.y+O.y)/2)}let E={x:l.x+m.x,y:l.y+m.y},k={x:d.x+v.x,y:d.y+v.y};return[[e,...E.x!==h[0].x||E.y!==h[0].y?[E]:[],...h,...k.x!==h[h.length-1].x||k.y!==h[h.length-1].y?[k]:[],n],x,b,g,w]}function zu(e,t,n,o){let r=Math.min(Hi(e,t)/2,Hi(t,n)/2,o),{x:i,y:s}=t;if(e.x===i&&i===n.x||e.y===s&&s===n.y)return`L${i} ${s}`;if(e.y===s){let l=e.x<n.x?-1:1,d=e.y<n.y?1:-1;return`L ${i+r*l},${s}Q ${i},${s} ${i},${s+r*d}`}let a=e.x<n.x?1:-1,c=e.y<n.y?-1:1;return`L ${i},${s+r*c}Q ${i},${s} ${i+r*a},${s}`}function Ht({sourceX:e,sourceY:t,sourcePosition:n=Y.Bottom,targetX:o,targetY:r,targetPosition:i=Y.Top,borderRadius:s=5,centerX:a,centerY:c,offset:l=20,stepPosition:d=.5}){let[f,u,p,h,x]=Pu({source:{x:e,y:t},sourcePosition:n,target:{x:o,y:r},targetPosition:i,center:{x:a,y:c},offset:l,stepPosition:d}),b=`M${f[0].x} ${f[0].y}`;for(let m=1;m<f.length-1;m++)b+=zu(f[m-1],f[m],f[m+1],s);return b+=`L${f[f.length-1].x} ${f[f.length-1].y}`,[b,u,p,h,x]}function Bi(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function rs(e){let{sourceNode:t,targetNode:n}=e;if(!Bi(t)||!Bi(n))return null;let o=t.internals.handleBounds||Vi(t.handles),r=n.internals.handleBounds||Vi(n.handles),i=Fi(o?.source??[],e.sourceHandle),s=Fi(e.connectionMode===Ve.Strict?r?.target??[]:(r?.target??[]).concat(r?.source??[]),e.targetHandle);if(!i||!s)return e.onError?.("008",ge.error008(i?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let a=i?.position||Y.Bottom,c=s?.position||Y.Top,l=Ye(t,i,a),d=Ye(n,s,c);return{sourceX:l.x,sourceY:l.y,targetX:d.x,targetY:d.y,sourcePosition:a,targetPosition:c}}function Vi(e){if(!e)return null;let t=[],n=[];for(let o of e)o.width=o.width??1,o.height=o.height??1,o.type==="source"?t.push(o):o.type==="target"&&n.push(o);return{source:t,target:n}}function Ye(e,t,n=Y.Left,o=!1){let r=(t?.x??0)+e.internals.positionAbsolute.x,i=(t?.y??0)+e.internals.positionAbsolute.y,{width:s,height:a}=t??we(e);if(o)return{x:r+s/2,y:i+a/2};switch(t?.position??n){case Y.Top:return{x:r+s/2,y:i};case Y.Right:return{x:r+s,y:i+a/2};case Y.Bottom:return{x:r+s/2,y:i+a};case Y.Left:return{x:r,y:i+a/2}}}function Fi(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function xn(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function is(e,{id:t,defaultColor:n,defaultMarkerStart:o,defaultMarkerEnd:r}){let i=new Set;return e.reduce((s,a)=>([a.markerStart||o,a.markerEnd||r].forEach(c=>{if(c&&typeof c=="object"){let l=xn(c,t);i.has(l)||(s.push({id:l,color:c.color||n,...c}),i.add(l))}}),s),[]).sort((s,a)=>s.id.localeCompare(a.id))}var ss=1e3,Du=10,bo={nodeOrigin:[0,0],nodeExtent:ft,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},Au={...bo,checkEquality:!0};function xo(e,t){let n={...e};for(let o in t)t[o]!==void 0&&(n[o]=t[o]);return n}function as(e,t,n){let o=xo(bo,n);for(let r of e.values())if(r.parentId)_o(r,e,t,o);else{let i=Lt(r,o.nodeOrigin),s=nt(r.extent)?r.extent:o.nodeExtent,a=et(i,s,we(r));r.internals.positionAbsolute=a}}function Tu(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;let n=[],o=[];for(let r of e.handles){let i={id:r.id,width:r.width??1,height:r.height??1,nodeId:e.id,x:r.x,y:r.y,position:r.position,type:r.type};r.type==="source"?n.push(i):r.type==="target"&&o.push(i)}return{source:n,target:o}}function vo(e){return e==="manual"}function vn(e,t,n,o={}){let r=xo(Au,o),i={i:0},s=new Map(t),a=r?.elevateNodesOnSelect&&!vo(r.zIndexMode)?ss:0,c=e.length>0,l=!1;t.clear(),n.clear();for(let d of e){let f=s.get(d.id);if(r.checkEquality&&d===f?.internals.userNode)t.set(d.id,f);else{let u=Lt(d,r.nodeOrigin),p=nt(d.extent)?d.extent:r.nodeExtent,h=et(u,p,we(d));f={...r.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:h,handleBounds:Tu(d,f),z:ls(d,a,r.zIndexMode),userNode:d}},t.set(d.id,f)}(f.measured===void 0||f.measured.width===void 0||f.measured.height===void 0)&&!f.hidden&&(c=!1),d.parentId&&_o(f,t,n,o,i),l||=d.selected??!1}return{nodesInitialized:c,hasSelectedNodes:l}}function Lu(e,t){if(!e.parentId)return;let n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function _o(e,t,n,o,r){let{elevateNodesOnSelect:i,nodeOrigin:s,nodeExtent:a,zIndexMode:c}=xo(bo,o),l=e.parentId,d=t.get(l);if(!d){console.warn(`Parent node ${l} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Lu(e,n),r&&!d.parentId&&d.internals.rootParentIndex===void 0&&c==="auto"&&(d.internals.rootParentIndex=++r.i,d.internals.z=d.internals.z+r.i*Du),r&&d.internals.rootParentIndex!==void 0&&(r.i=d.internals.rootParentIndex);let f=i&&!vo(c)?ss:0,{x:u,y:p,z:h}=Ru(e,d,s,a,f,c),{positionAbsolute:x}=e.internals,b=u!==x.x||p!==x.y;(b||h!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:b?{x:u,y:p}:x,z:h}})}function ls(e,t,n){let o=me(e.zIndex)?e.zIndex:0;return vo(n)?o:o+(e.selected?t:0)}function Ru(e,t,n,o,r,i){let{x:s,y:a}=t.internals.positionAbsolute,c=we(e),l=Lt(e,n),d=nt(e.extent)?et(l,e.extent,c):l,f=et({x:s+d.x,y:a+d.y},o,c);e.extent==="parent"&&(f=Ui(f,c,t));let u=ls(e,r,i),p=t.internals.z??0;return{x:f.x,y:f.y,z:p>=u?p+1:u}}function _n(e,t,n,o=[0,0]){let r=[],i=new Map;for(let s of e){let a=t.get(s.parentId);if(!a)continue;let c=i.get(s.parentId)?.expandedRect??pt(a),l=lo(c,s.rect);i.set(s.parentId,{expandedRect:l,parent:a})}return i.size>0&&i.forEach(({expandedRect:s,parent:a},c)=>{let l=a.internals.positionAbsolute,d=we(a),f=a.origin??o,u=s.x<l.x?Math.round(Math.abs(l.x-s.x)):0,p=s.y<l.y?Math.round(Math.abs(l.y-s.y)):0,h=Math.max(d.width,Math.round(s.width)),x=Math.max(d.height,Math.round(s.height)),b=(h-d.width)*f[0],m=(x-d.height)*f[1];(u>0||p>0||b||m)&&(r.push({id:c,type:"position",position:{x:a.position.x-u+b,y:a.position.y-p+m}}),n.get(c)?.forEach(v=>{e.some(g=>g.id===v.id)||r.push({id:v.id,type:"position",position:{x:v.position.x+u,y:v.position.y+p}})})),(d.width<s.width||d.height<s.height||u||p)&&r.push({id:c,type:"dimensions",setAttributes:!0,dimensions:{width:h+(u?f[0]*u-b:0),height:x+(p?f[1]*p-m:0)}})}),r}function cs(e,t,n,o,r,i,s){let a=o?.querySelector(".xyflow__viewport"),c=!1;if(!a)return{changes:[],updatedInternals:c};let l=[],d=window.getComputedStyle(a),{m22:f}=new window.DOMMatrixReadOnly(d.transform),u=[];for(let p of e.values()){let h=t.get(p.id);if(!h)continue;if(h.hidden){t.set(h.id,{...h,internals:{...h.internals,handleBounds:void 0}}),c=!0;continue}let x=mn(p.nodeElement),b=h.measured.width!==x.width||h.measured.height!==x.height;if(!!(x.width&&x.height&&(b||!h.internals.handleBounds||p.force))){let v=p.nodeElement.getBoundingClientRect(),g=nt(h.extent)?h.extent:i,{positionAbsolute:w}=h.internals;if(h.parentId&&h.extent==="parent"){let k=t.get(h.parentId);k&&(w=Ui(w,x,k))}else g&&(w=et(w,g,x));let E={...h,measured:x,internals:{...h.internals,positionAbsolute:w,handleBounds:{source:Li("source",p.nodeElement,v,f,h.id),target:Li("target",p.nodeElement,v,f,h.id)}}};t.set(h.id,E),h.parentId&&_o(E,t,n,{nodeOrigin:r,zIndexMode:s}),c=!0,b&&(l.push({id:h.id,type:"dimensions",dimensions:x}),h.expandParent&&h.parentId&&u.push({id:h.id,parentId:h.parentId,rect:pt(E,r)}))}}if(u.length>0){let p=_n(u,t,n,r);l.push(...p)}return{changes:l,updatedInternals:c}}async function ds({delta:e,panZoom:t,transform:n,translateExtent:o,width:r,height:i}){if(!t||!e.x&&!e.y)return!1;let s=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[r,i]],o);return!!s&&(s.x!==n[0]||s.y!==n[1]||s.k!==n[2])}function Yi(e,t,n,o,r,i){let s=r,a=o.get(s)||new Map;o.set(s,a.set(n,t)),s=`${r}-${e}`;let c=o.get(s)||new Map;if(o.set(s,c.set(n,t)),i){s=`${r}-${e}-${i}`;let l=o.get(s)||new Map;o.set(s,l.set(n,t))}}function Eo(e,t,n){e.clear(),t.clear();for(let o of n){let{source:r,target:i,sourceHandle:s=null,targetHandle:a=null}=o,c={edgeId:o.id,source:r,target:i,sourceHandle:s,targetHandle:a},l=`${r}-${s}--${i}-${a}`,d=`${i}-${a}--${r}-${s}`;Yi("source",c,d,e,r,s),Yi("target",c,l,e,i,a),t.set(o.id,o)}}function us(e,t){if(!e.parentId)return!1;let n=t.get(e.parentId);return n?n.selected?!0:us(n,t):!1}function Xi(e,t,n){let o=e;do{if(o?.matches?.(t))return!0;if(o===n)return!1;o=o?.parentElement}while(o);return!1}function $u(e,t,n,o){let r=new Map;for(let[i,s]of e)if((s.selected||s.id===o)&&(!s.parentId||!us(s,e))&&(s.draggable||t&&typeof s.draggable>"u")){let a=e.get(i);a&&r.set(i,{id:i,position:a.position||{x:0,y:0},distance:{x:n.x-a.internals.positionAbsolute.x,y:n.y-a.internals.positionAbsolute.y},extent:a.extent,parentId:a.parentId,origin:a.origin,expandParent:a.expandParent,internals:{positionAbsolute:a.internals.positionAbsolute||{x:0,y:0}},measured:{width:a.measured.width??0,height:a.measured.height??0}})}return r}function Un({nodeId:e,dragItems:t,nodeLookup:n,dragging:o=!0}){let r=[];for(let[s,a]of t){let c=n.get(s)?.internals.userNode;c&&r.push({...c,position:a.position,dragging:o})}if(!e)return[r[0],r];let i=n.get(e)?.internals.userNode;return[i?{...i,position:t.get(e)?.position||i.position,dragging:o}:r[0],r]}function Hu({dragItems:e,snapGrid:t,x:n,y:o}){let r=e.values().next().value;if(!r)return null;let i={x:n-r.distance.x,y:o-r.distance.y},s=gt(i,t);return{x:s.x-i.x,y:s.y-i.y}}function fs({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:o,onDragStop:r}){let i={x:null,y:null},s=0,a=new Map,c=!1,l={x:0,y:0},d=null,f=!1,u=null,p=!1,h=!1,x=null;function b({noDragClassName:v,handleSelector:g,domNode:w,isSelectable:E,nodeId:k,nodeClickDistance:C=0}){u=de(w);function S({x:L,y:D}){let{nodeLookup:y,nodeExtent:_,snapGrid:N,snapToGrid:M,nodeOrigin:A,onNodeDrag:T,onSelectionDrag:H,onError:$,updateNodePositions:V}=t();i={x:L,y:D};let j=!1,F=a.size>1,G=F&&_?eo(ht(a)):null,ee=F&&M?Hu({dragItems:a,snapGrid:N,x:L,y:D}):null;for(let[q,R]of a){if(!y.has(q))continue;let X={x:L-R.distance.x,y:D-R.distance.y};M&&(X=ee?{x:Math.round(X.x+ee.x),y:Math.round(X.y+ee.y)}:gt(X,N));let Q=null;if(F&&_&&!R.extent&&G){let{positionAbsolute:K}=R.internals,te=K.x-G.x+_[0][0],ne=K.x+R.measured.width-G.x2+_[1][0],oe=K.y-G.y+_[0][1],ue=K.y+R.measured.height-G.y2+_[1][1];Q=[[te,oe],[ne,ue]]}let{position:U,positionAbsolute:W}=ao({nodeId:q,nextPosition:X,nodeLookup:y,nodeExtent:Q||_,nodeOrigin:A,onError:$});j=j||R.position.x!==U.x||R.position.y!==U.y,R.position=U,R.internals.positionAbsolute=W}if(h=h||j,!!j&&(V(a,!0),x&&(o||T||!k&&H))){let[q,R]=Un({nodeId:k,dragItems:a,nodeLookup:y});o?.(x,a,q,R),T?.(x,q,R),k||H?.(x,R)}}async function I(){if(!d)return;let{transform:L,panBy:D,autoPanSpeed:y,autoPanOnNodeDrag:_}=t();if(!_){c=!1,cancelAnimationFrame(s);return}let[N,M]=fn(l,d,y);(N!==0||M!==0)&&(i.x=(i.x??0)-N/L[2],i.y=(i.y??0)-M/L[2],await D({x:N,y:M})&&S(i)),s=requestAnimationFrame(I)}function B(L){let{nodeLookup:D,multiSelectionActive:y,nodesDraggable:_,transform:N,snapGrid:M,snapToGrid:A,selectNodesOnDrag:T,onNodeDragStart:H,onSelectionDragStart:$,unselectNodesAndEdges:V}=t();f=!0,(!T||!E)&&!y&&k&&(D.get(k)?.selected||V()),E&&T&&k&&e?.(k);let j=Tt(L.sourceEvent,{transform:N,snapGrid:M,snapToGrid:A,containerBounds:d});if(i=j,a=$u(D,_,j,k),a.size>0&&(n||H||!k&&$)){let[F,G]=Un({nodeId:k,dragItems:a,nodeLookup:D});n?.(L.sourceEvent,a,F,G),H?.(L.sourceEvent,F,G),k||$?.(L.sourceEvent,G)}}let O=Qt().clickDistance(C).on("start",L=>{let{domNode:D,nodeDragThreshold:y,transform:_,snapGrid:N,snapToGrid:M}=t();d=D?.getBoundingClientRect()||null,p=!1,h=!1,x=L.sourceEvent,y===0&&B(L),i=Tt(L.sourceEvent,{transform:_,snapGrid:N,snapToGrid:M,containerBounds:d}),l=ye(L.sourceEvent,d)}).on("drag",L=>{let{autoPanOnNodeDrag:D,transform:y,snapGrid:_,snapToGrid:N,nodeDragThreshold:M,nodeLookup:A}=t(),T=Tt(L.sourceEvent,{transform:y,snapGrid:_,snapToGrid:N,containerBounds:d});if(x=L.sourceEvent,(L.sourceEvent.type==="touchmove"&&L.sourceEvent.touches.length>1||k&&!A.has(k))&&(p=!0),!p){if(!c&&D&&f&&(c=!0,I()),!f){let H=ye(L.sourceEvent,d),$=H.x-l.x,V=H.y-l.y;Math.sqrt($*$+V*V)>M&&B(L)}(i.x!==T.xSnapped||i.y!==T.ySnapped)&&a&&f&&(l=ye(L.sourceEvent,d),S(T))}}).on("end",L=>{if(!f||p){p&&a.size>0&&t().updateNodePositions(a,!1);return}if(c=!1,f=!1,cancelAnimationFrame(s),a.size>0){let{nodeLookup:D,updateNodePositions:y,onNodeDragStop:_,onSelectionDragStop:N}=t();if(h&&(y(a,!1),h=!1),r||_||!k&&N){let[M,A]=Un({nodeId:k,dragItems:a,nodeLookup:D,dragging:!1});r?.(L.sourceEvent,a,M,A),_?.(L.sourceEvent,M,A),k||N?.(L.sourceEvent,A)}}}).filter(L=>{let D=L.target;return!L.button&&(!v||!Xi(D,`.${v}`,w))&&(!g||Xi(D,g,w))});u.call(O)}function m(){u?.on(".drag",null)}return{update:b,destroy:m}}function Bu(e,t,n){let o=[],r={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(let i of t.values())Rt(r,pt(i))>0&&o.push(i);return o}var Vu=250;function Fu(e,t,n,o){let r=[],i=1/0,s=Bu(e,n,t+Vu);for(let a of s){let c=[...a.internals.handleBounds?.source??[],...a.internals.handleBounds?.target??[]];for(let l of c){if(o.nodeId===l.nodeId&&o.type===l.type&&o.id===l.id)continue;let{x:d,y:f}=Ye(a,l,l.position,!0),u=Math.sqrt(Math.pow(d-e.x,2)+Math.pow(f-e.y,2));u>t||(u<i?(r=[{...l,x:d,y:f}],i=u):u===i&&r.push({...l,x:d,y:f}))}}if(!r.length)return null;if(r.length>1){let a=o.type==="source"?"target":"source";return r.find(c=>c.type===a)??r[0]}return r[0]}function hs(e,t,n,o,r,i=!1){let s=o.get(e);if(!s)return null;let a=r==="strict"?s.internals.handleBounds?.[t]:[...s.internals.handleBounds?.source??[],...s.internals.handleBounds?.target??[]],c=(n?a?.find(l=>l.id===n):a?.[0])??null;return c&&i?{...c,...Ye(s,c,c.position,!0)}:c}function ps(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function Yu(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}var gs=()=>!0;function Xu(e,{connectionMode:t,connectionRadius:n,handleId:o,nodeId:r,edgeUpdaterType:i,isTarget:s,domNode:a,nodeLookup:c,lib:l,autoPanOnConnect:d,flowId:f,panBy:u,cancelConnection:p,onConnectStart:h,onConnect:x,onConnectEnd:b,isValidConnection:m=gs,onReconnectEnd:v,updateConnection:g,getTransform:w,getFromHandle:E,autoPanSpeed:k,dragThreshold:C=1,handleDomNode:S}){let I=go(e.target),B=0,O,{x:L,y:D}=ye(e),y=ps(i,S),_=a?.getBoundingClientRect(),N=!1;if(!_||!y)return;let M=hs(r,y,o,c,t);if(!M)return;let A=ye(e,_),T=!1,H=null,$=!1,V=null;function j(){if(!d||!_)return;let[U,W]=fn(A,_,k);u({x:U,y:W}),B=requestAnimationFrame(j)}let F={...M,nodeId:r,type:y,position:M.position},G=c.get(r),q={inProgress:!0,isValid:null,from:Ye(G,F,Y.Left,!0),fromHandle:F,fromPosition:F.position,fromNode:G,to:A,toHandle:null,toPosition:Ai[F.position],toNode:null,pointer:A};function R(){N=!0,g(q),h?.(e,{nodeId:r,handleId:o,handleType:y})}C===0&&R();function X(U){if(!N){let{x:ue,y:Se}=ye(U),ve=ue-L,_e=Se-D;if(!(ve*ve+_e*_e>C*C))return;R()}if(!E()||!F){Q(U);return}let W=w();A=ye(U,_),O=Fu(mt(A,W,!1,[1,1]),n,c,F),T||(j(),T=!0);let K=ms(U,{handle:O,connectionMode:t,fromNodeId:r,fromHandleId:o,fromType:s?"target":"source",isValidConnection:m,doc:I,lib:l,flowId:f,nodeLookup:c});V=K.handleDomNode,H=K.connection,$=Yu(!!O,K.isValid);let te=c.get(r),ne=te?Ye(te,F,Y.Left,!0):q.from,oe={...q,from:ne,isValid:$,to:K.toHandle&&$?tt({x:K.toHandle.x,y:K.toHandle.y},W):A,toHandle:K.toHandle,toPosition:$&&K.toHandle?K.toHandle.position:Ai[F.position],toNode:K.toHandle?c.get(K.toHandle.nodeId):null,pointer:A};g(oe),q=oe}function Q(U){if(!("touches"in U&&U.touches.length>0)){if(N){(O||V)&&H&&$&&x?.(H);let{inProgress:W,...K}=q,te={...K,toPosition:q.toHandle?q.toPosition:null};b?.(U,te),i&&v?.(U,te)}p(),cancelAnimationFrame(B),T=!1,$=!1,H=null,V=null,I.removeEventListener("mousemove",X),I.removeEventListener("mouseup",Q),I.removeEventListener("touchmove",X),I.removeEventListener("touchend",Q)}}I.addEventListener("mousemove",X),I.addEventListener("mouseup",Q),I.addEventListener("touchmove",X),I.addEventListener("touchend",Q)}function ms(e,{handle:t,connectionMode:n,fromNodeId:o,fromHandleId:r,fromType:i,doc:s,lib:a,flowId:c,isValidConnection:l=gs,nodeLookup:d}){let f=i==="target",u=t?s.querySelector(`.${a}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:p,y:h}=ye(e),x=s.elementFromPoint(p,h),b=x?.classList.contains(`${a}-flow__handle`)?x:u,m={handleDomNode:b,isValid:!1,connection:null,toHandle:null};if(b){let v=ps(void 0,b),g=b.getAttribute("data-nodeid"),w=b.getAttribute("data-handleid"),E=b.classList.contains("connectable"),k=b.classList.contains("connectableend");if(!g||!v)return m;let C={source:f?g:o,sourceHandle:f?w:r,target:f?o:g,targetHandle:f?r:w};m.connection=C;let I=E&&k&&(n===Ve.Strict?f&&v==="source"||!f&&v==="target":g!==o||w!==r);m.isValid=I&&l(C),m.toHandle=hs(g,v,w,d,n,!0)}return m}var En={onPointerDown:Xu,isValid:ms};function ys({domNode:e,panZoom:t,getTransform:n,getViewScale:o}){let r=de(e);function i({translateExtent:a,width:c,height:l,zoomStep:d=1,pannable:f=!0,zoomable:u=!0,inversePan:p=!1}){let h=g=>{if(g.sourceEvent.type!=="wheel"||!t)return;let w=n(),E=g.sourceEvent.ctrlKey&&yt()?10:1,k=-g.sourceEvent.deltaY*(g.sourceEvent.deltaMode===1?.05:g.sourceEvent.deltaMode?1:.002)*d,C=w[2]*Math.pow(2,k*E);t.scaleTo(C)},x=[0,0],b=g=>{(g.sourceEvent.type==="mousedown"||g.sourceEvent.type==="touchstart")&&(x=[g.sourceEvent.clientX??g.sourceEvent.touches[0].clientX,g.sourceEvent.clientY??g.sourceEvent.touches[0].clientY])},m=g=>{let w=n();if(g.sourceEvent.type!=="mousemove"&&g.sourceEvent.type!=="touchmove"||!t)return;let E=[g.sourceEvent.clientX??g.sourceEvent.touches[0].clientX,g.sourceEvent.clientY??g.sourceEvent.touches[0].clientY],k=[E[0]-x[0],E[1]-x[1]];x=E;let C=o()*Math.max(w[2],Math.log(w[2]))*(p?-1:1),S={x:w[0]-k[0]*C,y:w[1]-k[1]*C},I=[[0,0],[c,l]];t.setViewportConstrained({x:S.x,y:S.y,zoom:w[2]},I,a)},v=an().on("start",b).on("zoom",f?m:null).on("zoom.wheel",u?h:null);r.call(v,{})}function s(){r.on("zoom",null)}return{update:i,destroy:s,pointer:he}}var kn=e=>({x:e.x,y:e.y,zoom:e.k}),Qn=({x:e,y:t,zoom:n})=>Qe.translate(e,t).scale(n),Be=(e,t)=>e.target.closest(`.${t}`),ws=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Zu=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Jn=(e,t=0,n=Zu,o=()=>{})=>{let r=typeof t=="number"&&t>0;return r||o(),r?e.transition().duration(t).ease(n).on("end",o):e},bs=e=>{let t=e.ctrlKey&&yt()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function Wu({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:o,panOnScrollMode:r,panOnScrollSpeed:i,zoomOnPinch:s,onPanZoomStart:a,onPanZoom:c,onPanZoomEnd:l}){return d=>{if(Be(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();let f=n.property("__zoom").k||1;if(d.ctrlKey&&s){let b=he(d),m=bs(d),v=f*Math.pow(2,m);o.scaleTo(n,v,b,d);return}let u=d.deltaMode===1?20:1,p=r===De.Vertical?0:d.deltaX*u,h=r===De.Horizontal?0:d.deltaY*u;!yt()&&d.shiftKey&&r!==De.Vertical&&(p=d.deltaY*u,h=0),o.translateBy(n,-(p/f)*i,-(h/f)*i,{internal:!0});let x=kn(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?c?.(d,x):(e.isPanScrolling=!0,a?.(d,x)),e.panScrollTimeout=setTimeout(()=>{l?.(d,x),e.isPanScrolling=!1},150)}}function qu({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(o,r){let i=o.type==="wheel",s=!t&&i&&!o.ctrlKey,a=Be(o,e);if(o.ctrlKey&&i&&a&&o.preventDefault(),s||a)return null;o.preventDefault(),n.call(this,o,r)}}function ju({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return o=>{if(o.sourceEvent?.internal)return;let r=kn(o.transform);e.mouseButton=o.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=r,o.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(o.sourceEvent,r)}}function Gu({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:o,onPanZoom:r}){return i=>{e.usedRightMouseButton=!!(n&&ws(t,e.mouseButton??0)),i.sourceEvent?.sync||o([i.transform.x,i.transform.y,i.transform.k]),r&&!i.sourceEvent?.internal&&r?.(i.sourceEvent,kn(i.transform))}}function Ku({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:o,onPanZoomEnd:r,onPaneContextMenu:i}){return s=>{if(!s.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,i&&ws(t,e.mouseButton??0)&&!e.usedRightMouseButton&&s.sourceEvent&&i(s.sourceEvent),e.usedRightMouseButton=!1,o(!1),r)){let a=kn(s.transform);e.prevViewport=a,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{r?.(s.sourceEvent,a)},n?150:0)}}}function Uu({panActivationKeyPressed:e,zoomActivationKeyPressed:t,zoomOnScroll:n,zoomOnPinch:o,panOnDrag:r,panOnScroll:i,zoomOnDoubleClick:s,userSelectionActive:a,noWheelClassName:c,noPanClassName:l,lib:d,connectionInProgress:f}){return u=>{let p=t||n,h=o&&u.ctrlKey,x=u.type==="wheel";if(u.button===1&&u.type==="mousedown"&&(Be(u,`${d}-flow__node`)||Be(u,`${d}-flow__edge`)||Be(u,`${d}-flow__selection`)||Be(u,`${d}-flow__nodesselection`)))return!0;if(!r&&!p&&!i&&!s&&!o||a||f&&!x||Be(u,c)&&x||Be(u,l)&&(!x||i&&x&&!t)||!o&&u.ctrlKey&&x)return!1;if(!o&&u.type==="touchstart"&&u.touches?.length>1)return u.preventDefault(),!1;if(!p&&!i&&!h&&x||!r&&(u.type==="mousedown"||u.type==="touchstart")||Array.isArray(r)&&!r.includes(u.button)&&u.type==="mousedown")return!1;let b=Array.isArray(r)&&r.includes(u.button)||!u.button||u.button<=1;return(!u.ctrlKey||x||e)&&b}}function xs({domNode:e,minZoom:t,maxZoom:n,translateExtent:o,viewport:r,onPanZoom:i,onPanZoomStart:s,onPanZoomEnd:a,onDraggingChange:c}){let l={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=[[0,0],[d.width,d.height]];(typeof ResizeObserver<"u"?new ResizeObserver(D=>{let y=D[0];y&&(f=[[0,0],[y.contentRect.width,y.contentRect.height]])}):null)?.observe(e);let p=an().extent(()=>f).scaleExtent([t,n]).translateExtent(o),h=de(e).call(p);w({x:r.x,y:r.y,zoom:ut(r.zoom,t,n)},[[0,0],[d.width,d.height]],o);let x=h.on("wheel.zoom"),b=h.on("dblclick.zoom");p.wheelDelta(bs);async function m(D,y){return h?new Promise(_=>{p?.interpolate(y?.interpolate==="linear"?Zt:at).transform(Jn(h,y?.duration,y?.ease,()=>_(!0)),D)}):!1}function v({noWheelClassName:D,noPanClassName:y,onPaneContextMenu:_,userSelectionActive:N,panOnScroll:M,panOnDrag:A,panOnScrollMode:T,panOnScrollSpeed:H,preventScrolling:$,zoomOnPinch:V,zoomOnScroll:j,zoomOnDoubleClick:F,panActivationKeyPressed:G=!1,zoomActivationKeyPressed:ee,lib:q,onTransformChange:R,connectionInProgress:X,paneClickDistance:Q,selectionOnDrag:U}){N&&!l.isZoomingOrPanning&&g();let W=M&&!ee&&!N;p.clickDistance(U?1/0:!me(Q)||Q<0?0:Q);let K=W?Wu({zoomPanValues:l,noWheelClassName:D,d3Selection:h,d3Zoom:p,panOnScrollMode:T,panOnScrollSpeed:H,zoomOnPinch:V,onPanZoomStart:s,onPanZoom:i,onPanZoomEnd:a}):qu({noWheelClassName:D,preventScrolling:$,d3ZoomHandler:x});h.on("wheel.zoom",K,{passive:!1});let te=ju({zoomPanValues:l,onDraggingChange:c,onPanZoomStart:s});p.on("start",te);let ne=Gu({zoomPanValues:l,panOnDrag:A,onPaneContextMenu:!!_,onPanZoom:i,onTransformChange:R});p.on("zoom",ne);let oe=Ku({zoomPanValues:l,panOnDrag:A,panOnScroll:M,onPaneContextMenu:_,onPanZoomEnd:a,onDraggingChange:c});p.on("end",oe);let ue=Uu({panActivationKeyPressed:G,zoomActivationKeyPressed:ee,panOnDrag:A,zoomOnScroll:j,panOnScroll:M,zoomOnDoubleClick:F,zoomOnPinch:V,userSelectionActive:N,noPanClassName:y,noWheelClassName:D,lib:q,connectionInProgress:X});p.filter(ue),F?h.on("dblclick.zoom",b):h.on("dblclick.zoom",null)}function g(){p.on("zoom",null)}async function w(D,y,_){let N=Qn(D),M=p?.constrain()(N,y,_);return M&&await m(M),M}async function E(D,y){let _=Qn(D);return await m(_,y),_}function k(D){if(h){let y=Qn(D),_=h.property("__zoom");(_.k!==D.zoom||_.x!==D.x||_.y!==D.y)&&p?.transform(h,y,null,{sync:!0})}}function C(){let D=h?At(h.node()):{x:0,y:0,k:1};return{x:D.x,y:D.y,zoom:D.k}}async function S(D,y){return h?new Promise(_=>{p?.interpolate(y?.interpolate==="linear"?Zt:at).scaleTo(Jn(h,y?.duration,y?.ease,()=>_(!0)),D)}):!1}async function I(D,y){return h?new Promise(_=>{p?.interpolate(y?.interpolate==="linear"?Zt:at).scaleBy(Jn(h,y?.duration,y?.ease,()=>_(!0)),D)}):!1}function B(D){p?.scaleExtent(D)}function O(D){p?.translateExtent(D)}function L(D){let y=!me(D)||D<0?0:D;p?.clickDistance(y)}return{update:v,destroy:g,setViewport:E,setViewportConstrained:w,getViewport:C,scaleTo:S,scaleBy:I,setScaleExtent:B,setTranslateExtent:O,syncViewport:k,setClickDistance:L}}var Xe;(function(e){e.Line="line",e.Handle="handle"})(Xe||(Xe={}));function Qu({width:e,prevWidth:t,height:n,prevHeight:o,affectsX:r,affectsY:i}){let s=e-t,a=n-o,c=[s>0?1:s<0?-1:0,a>0?1:a<0?-1:0];return s&&r&&(c[0]=c[0]*-1),a&&i&&(c[1]=c[1]*-1),c}function Zi(e){let t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),o=e.includes("left"),r=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:o,affectsY:r}}function $e(e,t){return Math.max(0,t-e)}function He(e,t){return Math.max(0,e-t)}function cn(e,t,n){return Math.max(0,t-e,e-n)}function Wi(e,t){return e?!t:t}function Ju(e,t,n,o,r,i,s,a){let{affectsX:c,affectsY:l}=t,{isHorizontal:d,isVertical:f}=t,u=d&&f,{xSnapped:p,ySnapped:h}=n,{minWidth:x,maxWidth:b,minHeight:m,maxHeight:v}=o,{x:g,y:w,width:E,height:k,aspectRatio:C}=e,S=Math.floor(d?p-e.pointerX:0),I=Math.floor(f?h-e.pointerY:0),B=E+(c?-S:S),O=k+(l?-I:I),L=-i[0]*E,D=-i[1]*k,y=cn(B,x,b),_=cn(O,m,v);if(s){let A=0,T=0;c&&S<0?A=$e(g+S+L,s[0][0]):!c&&S>0&&(A=He(g+B+L,s[1][0])),l&&I<0?T=$e(w+I+D,s[0][1]):!l&&I>0&&(T=He(w+O+D,s[1][1])),y=Math.max(y,A),_=Math.max(_,T)}if(a){let A=0,T=0;c&&S>0?A=He(g+S,a[0][0]):!c&&S<0&&(A=$e(g+B,a[1][0])),l&&I>0?T=He(w+I,a[0][1]):!l&&I<0&&(T=$e(w+O,a[1][1])),y=Math.max(y,A),_=Math.max(_,T)}if(r){if(d){let A=cn(B/C,m,v)*C;if(y=Math.max(y,A),s){let T=0;!c&&!l||c&&!l&&u?T=He(w+D+B/C,s[1][1])*C:T=$e(w+D+(c?S:-S)/C,s[0][1])*C,y=Math.max(y,T)}if(a){let T=0;!c&&!l||c&&!l&&u?T=$e(w+B/C,a[1][1])*C:T=He(w+(c?S:-S)/C,a[0][1])*C,y=Math.max(y,T)}}if(f){let A=cn(O*C,x,b)/C;if(_=Math.max(_,A),s){let T=0;!c&&!l||l&&!c&&u?T=He(g+O*C+L,s[1][0])/C:T=$e(g+(l?I:-I)*C+L,s[0][0])/C,_=Math.max(_,T)}if(a){let T=0;!c&&!l||l&&!c&&u?T=$e(g+O*C,a[1][0])/C:T=He(g+(l?I:-I)*C,a[0][0])/C,_=Math.max(_,T)}}}I=I+(I<0?_:-_),S=S+(S<0?y:-y),r&&(u?B>O*C?I=(Wi(c,l)?-S:S)/C:S=(Wi(c,l)?-I:I)*C:d?(I=S/C,l=c):(S=I*C,c=l));let N=c?g+S:g,M=l?w+I:w;return{width:E+(c?-S:S),height:k+(l?-I:I),x:i[0]*S*(c?-1:1)+N,y:i[1]*I*(l?-1:1)+M}}var vs={width:0,height:0,x:0,y:0},ef={...vs,pointerX:0,pointerY:0,aspectRatio:1};function tf(e,t,n){let o=t.position.x+e.position.x,r=t.position.y+e.position.y,i=e.measured.width??0,s=e.measured.height??0,a=n[0]*i,c=n[1]*s;return[[o-a,r-c],[o+i-a,r+s-c]]}function _s({domNode:e,nodeId:t,getStoreItems:n,onChange:o,onEnd:r}){let i=de(e),s={controlDirection:Zi("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function a({controlPosition:l,boundaries:d,keepAspectRatio:f,resizeDirection:u,onResizeStart:p,onResize:h,onResizeEnd:x,shouldResize:b}){let m={...vs},v={...ef};s={boundaries:d,resizeDirection:u,keepAspectRatio:f,controlDirection:Zi(l)};let g,w=null,E=[],k,C,S,I=Qt().on("start",B=>{let{nodeLookup:O,transform:L,snapGrid:D,snapToGrid:y,nodeOrigin:_,paneDomNode:N}=n();if(g=O.get(t),!g)return;w=N?.getBoundingClientRect()??null;let{xSnapped:M,ySnapped:A}=Tt(B.sourceEvent,{transform:L,snapGrid:D,snapToGrid:y,containerBounds:w});m={width:g.measured.width??0,height:g.measured.height??0,x:g.position.x??0,y:g.position.y??0},v={...m,pointerX:M,pointerY:A,aspectRatio:m.width/m.height},k=void 0,C=nt(g.extent)?g.extent:void 0,g.parentId&&(g.extent==="parent"||g.expandParent)&&(k=O.get(g.parentId)),k&&g.extent==="parent"&&(C=[[0,0],[k.measured.width,k.measured.height]]),E=[],S=void 0;for(let[T,H]of O)if(H.parentId===t&&(E.push({id:T,position:{...H.position},extent:H.extent}),H.extent==="parent"||H.expandParent)){let $=tf(H,g,H.origin??_);S?S=[[Math.min($[0][0],S[0][0]),Math.min($[0][1],S[0][1])],[Math.max($[1][0],S[1][0]),Math.max($[1][1],S[1][1])]]:S=$}p?.(B,{...m})}).on("drag",B=>{let{transform:O,snapGrid:L,snapToGrid:D,nodeOrigin:y}=n(),_=Tt(B.sourceEvent,{transform:O,snapGrid:L,snapToGrid:D,containerBounds:w}),N=[];if(!g)return;let{x:M,y:A,width:T,height:H}=m,$={},V=g.origin??y,{width:j,height:F,x:G,y:ee}=Ju(v,s.controlDirection,_,s.boundaries,s.keepAspectRatio,V,C,S),q=j!==T,R=F!==H,X=G!==M&&q,Q=ee!==A&&R;if(!X&&!Q&&!q&&!R)return;let U={prevValues:{...m},startX:v.x,startY:v.y,childNodes:E.map(ne=>({...ne,position:{...ne.position}}))};if((X||Q||V[0]===1||V[1]===1)&&($.x=X?G:m.x,$.y=Q?ee:m.y,m.x=$.x,m.y=$.y,E.length>0)){let ne=G-M,oe=ee-A;for(let ue of E)ue.position={x:ue.position.x-ne+V[0]*(j-T),y:ue.position.y-oe+V[1]*(F-H)},N.push(ue)}if((q||R)&&($.width=q&&(!s.resizeDirection||s.resizeDirection==="horizontal")?j:m.width,$.height=R&&(!s.resizeDirection||s.resizeDirection==="vertical")?F:m.height,m.width=$.width,m.height=$.height),k&&g.expandParent){let ne=V[0]*($.width??0);$.x&&$.x<ne&&(m.x=ne,v.x=v.x-($.x-ne));let oe=V[1]*($.height??0);$.y&&$.y<oe&&(m.y=oe,v.y=v.y-($.y-oe))}let W=Qu({width:m.width,prevWidth:T,height:m.height,prevHeight:H,affectsX:s.controlDirection.affectsX,affectsY:s.controlDirection.affectsY}),K={...m,direction:W};if(b?.(B,K)===!1){m=U.prevValues,v.x=U.startX,v.y=U.startY,E.forEach((ne,oe)=>{ne.position=U.childNodes[oe].position});return}h?.(B,K),o($,N)}).on("end",B=>{x?.(B,{...m}),r?.({...m})});i.call(I)}function c(){i.on(".drag",null)}return{update:a,destroy:c}}var Ss=Ae(Vn(),1),Cs=Ae(Ac(),1);var Es=e=>{let t,n=new Set,o=(d,f)=>{let u=typeof d=="function"?d(t):d;if(!Object.is(u,t)){let p=t;t=f??(typeof u!="object"||u===null)?u:Object.assign({},t,u),n.forEach(h=>h(t,p))}},r=()=>t,c={setState:o,getState:r,getInitialState:()=>l,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{(import.meta.env?import.meta.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},l=t=e(o,r,c);return c},ks=e=>e?Es(e):Es;var{useDebugValue:nf}=Ss.default,{useSyncExternalStoreWithSelector:of}=Cs.default,rf=e=>e;function ko(e,t=rf,n){let o=of(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return nf(o),o}var Ns=(e,t)=>{let n=ks(e),o=(r,i=t)=>ko(n,r,i);return Object.assign(o,n),o},Is=(e,t)=>e?Ns(e,t):Ns;function re(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[o,r]of e)if(!Object.is(r,t.get(o)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let o of e)if(!t.has(o))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let o of n)if(!Object.prototype.hasOwnProperty.call(t,o)||!Object.is(e[o],t[o]))return!1;return!0}var sf=Ae(Dc()),In=(0,z.createContext)(null),af=In.Provider,ta=ge.error001("react");function J(e,t){let n=(0,z.useContext)(In);if(n===null)throw new Error(ta);return ko(n,e,t)}function ie(){let e=(0,z.useContext)(In);if(e===null)throw new Error(ta);return(0,z.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}var Ms={display:"none"},lf={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},na="react-flow__node-desc",oa="react-flow__edge-desc",cf="react-flow__aria-live",df=e=>e.ariaLiveMessage,uf=e=>e.ariaLabelConfig;function ff({rfId:e}){let t=J(df);return(0,P.jsx)("div",{id:`${cf}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:lf,children:t})}function hf({rfId:e,disableKeyboardA11y:t}){let n=J(uf);return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)("div",{id:`${na}-${e}`,style:Ms,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),(0,P.jsx)("div",{id:`${oa}-${e}`,style:Ms,children:n["edge.a11yDescription.default"]}),!t&&(0,P.jsx)(ff,{rfId:e})]})}var Mn=(0,z.forwardRef)(({position:e="top-left",children:t,className:n,style:o,...r},i)=>{let s=`${e}`.split("-");return(0,P.jsx)("div",{className:se(["react-flow__panel",n,...s]),style:o,ref:i,...r,children:t})});Mn.displayName="Panel";var Os="https://reactflow.dev?utm_source=attribution";function pf({proOptions:e,position:t="bottom-right"}){return(0,z.useEffect)(()=>{},[]),e?.hideAttribution?null:(0,P.jsx)(Mn,{position:t,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${Os}`,children:(0,P.jsx)("a",{href:Os,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}var gf=e=>{let t=[],n=[];for(let[,o]of e.nodeLookup)o.selected&&t.push(o.internals.userNode);for(let[,o]of e.edgeLookup)o.selected&&n.push(o);return{selectedNodes:t,selectedEdges:n}},Nn=e=>e.id;function mf(e,t){return re(e.selectedNodes.map(Nn),t.selectedNodes.map(Nn))&&re(e.selectedEdges.map(Nn),t.selectedEdges.map(Nn))}function yf({onSelectionChange:e}){let t=ie(),{selectedNodes:n,selectedEdges:o}=J(gf,mf);return(0,z.useEffect)(()=>{let r={nodes:n,edges:o};e?.(r),t.getState().onSelectionChangeHandlers.forEach(i=>i(r))},[n,o,e]),null}var wf=e=>!!e.onSelectionChangeHandlers;function bf({onSelectionChange:e}){let t=J(wf);return e||t?(0,P.jsx)(yf,{onSelectionChange:e}):null}var ra=[0,0],xf={x:0,y:0,zoom:1},vf=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],Ps=[...vf,"rfId"],_f=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),zs={translateExtent:ft,nodeOrigin:ra,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Ef(e){let{setNodes:t,setEdges:n,setMinZoom:o,setMaxZoom:r,setTranslateExtent:i,setNodeExtent:s,reset:a,setDefaultNodesAndEdges:c}=J(_f,re),l=ie();(0,z.useEffect)(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=zs,a()}),[]);let d=(0,z.useRef)(zs);return(0,z.useEffect)(()=>{for(let f of Ps){let u=e[f],p=d.current[f];u!==p&&(typeof e[f]>"u"||(f==="nodes"?t(u):f==="edges"?n(u):f==="minZoom"?o(u):f==="maxZoom"?r(u):f==="translateExtent"?i(u):f==="nodeExtent"?s(u):f==="ariaLabelConfig"?l.setState({ariaLabelConfig:es(u)}):f==="fitView"?l.setState({fitViewQueued:u}):f==="fitViewOptions"?l.setState({fitViewOptions:u}):l.setState({[f]:u})))}d.current=e},Ps.map(f=>e[f])),null}function Ds(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function kf(e){let[t,n]=(0,z.useState)(e==="system"?null:e);return(0,z.useEffect)(()=>{if(e!=="system"){n(e);return}let o=Ds(),r=()=>n(o?.matches?"dark":"light");return r(),o?.addEventListener("change",r),()=>{o?.removeEventListener("change",r)}},[e]),t!==null?t:Ds()?.matches?"dark":"light"}var As=typeof document<"u"?document:null;function Bt(e=null,t={target:As,actInsideInputWithModifier:!0}){let[n,o]=(0,z.useState)(!1),r=(0,z.useRef)(!1),i=(0,z.useRef)(new Set([])),[s,a]=(0,z.useMemo)(()=>{if(e!==null){let l=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.replace(/\+/g,`
|
|
2
|
-
`).replace(`
|
|
3
|
-
|
|
4
|
-
`,`
|
|
5
|
-
+`).split(`
|
|
6
|
-
`)),d=l.reduce((f,u)=>f.concat(...u),[]);return[l,d]}return[[],[]]},[e]);return(0,z.useEffect)(()=>{let c=t?.target??As,l=t?.actInsideInputWithModifier??!0;if(e!==null){let d=p=>{if(r.current=p.ctrlKey||p.metaKey||p.shiftKey||p.altKey,(!r.current||r.current&&!l)&&mo(p))return!1;let x=Ls(p.code,a);if(i.current.add(p[x]),Ts(s,i.current,!1)){let b=p.composedPath?.()?.[0]||p.target,m=b?.nodeName==="BUTTON"||b?.nodeName==="A";t.preventDefault!==!1&&(r.current||!m)&&p.preventDefault(),o(!0)}},f=p=>{let h=Ls(p.code,a);Ts(s,i.current,!0)?(o(!1),i.current.clear()):i.current.delete(p[h]),p.key==="Meta"&&i.current.clear(),r.current=!1},u=()=>{i.current.clear(),o(!1)};return c?.addEventListener("keydown",d),c?.addEventListener("keyup",f),window.addEventListener("blur",u),window.addEventListener("contextmenu",u),()=>{c?.removeEventListener("keydown",d),c?.removeEventListener("keyup",f),window.removeEventListener("blur",u),window.removeEventListener("contextmenu",u)}}},[e,o]),n}function Ts(e,t,n){return e.filter(o=>n||o.length===t.size).some(o=>o.every(r=>t.has(r)))}function Ls(e,t){return t.includes(e)?"code":"key"}var Nf=()=>{let e=ie();return(0,z.useMemo)(()=>({zoomIn:async t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1.2,t):!1},zoomOut:async t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,t):!1},zoomTo:async(t,n)=>{let{panZoom:o}=e.getState();return o?o.scaleTo(t,n):!1},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{let{transform:[o,r,i],panZoom:s}=e.getState();return s?(await s.setViewport({x:t.x??o,y:t.y??r,zoom:t.zoom??i},n),!0):!1},getViewport:()=>{let[t,n,o]=e.getState().transform;return{x:t,y:n,zoom:o}},setCenter:async(t,n,o)=>e.getState().setCenter(t,n,o),fitBounds:async(t,n)=>{let{width:o,height:r,minZoom:i,maxZoom:s,panZoom:a}=e.getState(),c=$t(t,o,r,i,s,n?.padding??.1);return a?(await a.setViewport(c,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),!0):!1},screenToFlowPosition:(t,n={})=>{let{transform:o,snapGrid:r,snapToGrid:i,domNode:s}=e.getState();if(!s)return t;let{x:a,y:c}=s.getBoundingClientRect(),l={x:t.x-a,y:t.y-c},d=n.snapGrid??r,f=n.snapToGrid??i;return mt(l,o,f,d)},flowToScreenPosition:t=>{let{transform:n,domNode:o}=e.getState();if(!o)return t;let{x:r,y:i}=o.getBoundingClientRect(),s=tt(t,n);return{x:s.x+r,y:s.y+i}}}),[])};function ia(e,t){let n=[],o=new Map,r=[];for(let i of e)if(i.type==="add"){r.push(i);continue}else if(i.type==="remove"||i.type==="replace")o.set(i.id,[i]);else{let s=o.get(i.id);s?s.push(i):o.set(i.id,[i])}for(let i of t){let s=o.get(i.id);if(!s){n.push(i);continue}if(s[0].type==="remove")continue;if(s[0].type==="replace"){n.push({...s[0].item});continue}let a={...i};for(let c of s)Sf(c,a);n.push(a)}return r.length&&r.forEach(i=>{i.index!==void 0?n.splice(i.index,0,{...i.item}):n.push({...i.item})}),n}function Sf(e,t){switch(e.type){case"select":{t.selected=e.selected;break}case"position":{typeof e.position<"u"&&(t.position=e.position),typeof e.dragging<"u"&&(t.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(t.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(t.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(t.resizing=e.resizing);break}}}function sa(e,t){return ia(e,t)}function Cf(e,t){return ia(e,t)}function ot(e,t){return{id:e,type:"select",selected:t}}function wt(e,t=new Set,n=!1){let o=[];for(let[r,i]of e){let s=t.has(r);!(i.selected===void 0&&!s)&&i.selected!==s&&(n&&(i.selected=s),o.push(ot(i.id,s)))}return o}function Rs({items:e=[],lookup:t}){let n=[],o=new Map(e.map(r=>[r.id,r]));for(let[r,i]of e.entries()){let s=t.get(i.id),a=s?.internals?.userNode??s;a!==void 0&&a!==i&&n.push({id:i.id,item:i,type:"replace"}),a===void 0&&n.push({item:i,type:"add",index:r})}for(let[r]of t)o.get(r)===void 0&&n.push({id:r,type:"remove"});return n}function $s(e){return{id:e.id,type:"remove"}}var If=uo("React Flow","https://reactflow.dev/");function Mf(e,t,n={}){return os(e,t,{...n,onError:n.onError??If})}var Hs=e=>qi(e),Of=e=>ro(e);function aa(e){return(0,z.forwardRef)(e)}var la=typeof window<"u"?z.useLayoutEffect:z.useEffect;function Bs(e){let[t,n]=(0,z.useState)(BigInt(0)),[o]=(0,z.useState)(()=>Pf(()=>n(r=>r+BigInt(1))));return la(()=>{let r=o.get();r.length&&(e(r),o.reset())},[t]),o}function Pf(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}var ca=(0,z.createContext)(null);function zf({children:e}){let t=ie(),n=(0,z.useCallback)(a=>{let{nodes:c=[],setNodes:l,hasDefaultNodes:d,onNodesChange:f,nodeLookup:u,fitViewQueued:p,onNodesChangeMiddlewareMap:h}=t.getState(),x=c;for(let m of a)x=typeof m=="function"?m(x):m;let b=Rs({items:x,lookup:u});for(let m of h.values())b=m(b);d&&l(x),b.length>0?f?.(b):p&&window.requestAnimationFrame(()=>{let{fitViewQueued:m,nodes:v,setNodes:g}=t.getState();m&&g(v)})},[]),o=Bs(n),r=(0,z.useCallback)(a=>{let{edges:c=[],setEdges:l,hasDefaultEdges:d,onEdgesChange:f,edgeLookup:u}=t.getState(),p=c;for(let h of a)p=typeof h=="function"?h(p):h;d?l(p):f&&f(Rs({items:p,lookup:u}))},[]),i=Bs(r),s=(0,z.useMemo)(()=>({nodeQueue:o,edgeQueue:i}),[]);return(0,P.jsx)(ca.Provider,{value:s,children:e})}function Df(){let e=(0,z.useContext)(ca);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}var Af=e=>!!e.panZoom;function bt(){let e=Nf(),t=ie(),n=Df(),o=J(Af),r=(0,z.useMemo)(()=>{let i=f=>t.getState().nodeLookup.get(f),s=f=>{n.nodeQueue.push(f)},a=f=>{n.edgeQueue.push(f)},c=f=>{let{nodeLookup:u,nodeOrigin:p}=t.getState(),h=Hs(f)?f:u.get(f.id),x=h.parentId?fo(h.position,h.measured,h.parentId,u,p):h.position,b={...h,position:x,width:h.measured?.width??h.width,height:h.measured?.height??h.height};return pt(b)},l=(f,u,p={replace:!1})=>{s(h=>h.map(x=>{if(x.id===f){let b=typeof u=="function"?u(x):u;return p.replace&&Hs(b)?b:{...x,...b}}return x}))},d=(f,u,p={replace:!1})=>{a(h=>h.map(x=>{if(x.id===f){let b=typeof u=="function"?u(x):u;return p.replace&&Of(b)?b:{...x,...b}}return x}))};return{getNodes:()=>t.getState().nodes.map(f=>({...f})),getNode:f=>i(f)?.internals.userNode,getInternalNode:i,getEdges:()=>{let{edges:f=[]}=t.getState();return f.map(u=>({...u}))},getEdge:f=>t.getState().edgeLookup.get(f),setNodes:s,setEdges:a,addNodes:f=>{let u=Array.isArray(f)?f:[f];n.nodeQueue.push(p=>[...p,...u])},addEdges:f=>{let u=Array.isArray(f)?f:[f];n.edgeQueue.push(p=>[...p,...u])},toObject:()=>{let{nodes:f=[],edges:u=[],transform:p}=t.getState(),[h,x,b]=p;return{nodes:f.map(m=>({...m})),edges:u.map(m=>({...m})),viewport:{x:h,y:x,zoom:b}}},deleteElements:async({nodes:f=[],edges:u=[]})=>{let{nodes:p,edges:h,onNodesDelete:x,onEdgesDelete:b,triggerNodeChanges:m,triggerEdgeChanges:v,onDelete:g,onBeforeDelete:w}=t.getState(),{nodes:E,edges:k}=await Ki({nodesToRemove:f,edgesToRemove:u,nodes:p,edges:h,onBeforeDelete:w}),C=k.length>0,S=E.length>0;if(C){let I=k.map($s);b?.(k),v(I)}if(S){let I=E.map($s);x?.(E),m(I)}return(S||C)&&g?.({nodes:E,edges:k}),{deletedNodes:E,deletedEdges:k}},getIntersectingNodes:(f,u=!0,p)=>{let h=co(f),x=h?f:c(f),b=p!==void 0;return x?(p||t.getState().nodes).filter(m=>{let v=t.getState().nodeLookup.get(m.id);if(v&&!h&&(m.id===f.id||!v.internals.positionAbsolute))return!1;let g=pt(b?m:v),w=Rt(g,x);return u&&w>0||w>=g.width*g.height||w>=x.width*x.height}):[]},isNodeIntersecting:(f,u,p=!0)=>{let x=co(f)?f:c(f);if(!x)return!1;let b=Rt(x,u);return p&&b>0||b>=u.width*u.height||b>=x.width*x.height},updateNode:l,updateNodeData:(f,u,p={replace:!1})=>{l(f,h=>{let x=typeof u=="function"?u(h):u;return p.replace?{...h,data:x}:{...h,data:{...h.data,...x}}},p)},updateEdge:d,updateEdgeData:(f,u,p={replace:!1})=>{d(f,h=>{let x=typeof u=="function"?u(h):u;return p.replace?{...h,data:x}:{...h,data:{...h.data,...x}}},p)},getNodesBounds:f=>{let{nodeLookup:u,nodeOrigin:p}=t.getState();return so(f,{nodeLookup:u,nodeOrigin:p})},getHandleConnections:({type:f,id:u,nodeId:p})=>Array.from(t.getState().connectionLookup.get(`${p}-${f}${u?`-${u}`:""}`)?.values()??[]),getNodeConnections:({type:f,handleId:u,nodeId:p})=>Array.from(t.getState().connectionLookup.get(`${p}${f?u?`-${f}-${u}`:`-${f}`:""}`)?.values()??[]),fitView:async f=>{let u=t.getState().fitViewResolver??Ji();return t.setState({fitViewQueued:!0,fitViewOptions:f,fitViewResolver:u}),n.nodeQueue.push(p=>[...p]),u.promise}}},[]);return(0,z.useMemo)(()=>({...r,...e,viewportInitialized:o}),[o])}var Vs=e=>e.selected,Tf=typeof window<"u"?window:void 0;function Lf({deleteKeyCode:e,multiSelectionKeyCode:t}){let n=ie(),{deleteElements:o}=bt(),r=Bt(e,{actInsideInputWithModifier:!1}),i=Bt(t,{target:Tf});(0,z.useEffect)(()=>{if(r){let{edges:s,nodes:a}=n.getState();o({nodes:a.filter(Vs),edges:s.filter(Vs)}),n.setState({nodesSelectionActive:!1})}},[r]),(0,z.useEffect)(()=>{n.setState({multiSelectionActive:i})},[i])}function Rf(e){let t=ie();(0,z.useEffect)(()=>{let n=()=>{if(!e.current||!(e.current.checkVisibility?.()??!0))return!1;let o=mn(e.current);(o.height===0||o.width===0)&&t.getState().onError?.("004",ge.error004()),t.setState({width:o.width||500,height:o.height||500})};if(e.current){n(),window.addEventListener("resize",n);let o=new ResizeObserver(()=>n());return o.observe(e.current),()=>{window.removeEventListener("resize",n),o&&e.current&&o.unobserve(e.current)}}},[])}var On={position:"absolute",width:"100%",height:"100%",top:0,left:0},$f=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function Hf({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:o=!1,panActivationKeyPressed:r,panOnScrollSpeed:i=.5,panOnScrollMode:s=De.Free,zoomOnDoubleClick:a=!0,panOnDrag:c=!0,defaultViewport:l,translateExtent:d,minZoom:f,maxZoom:u,zoomActivationKeyCode:p,preventScrolling:h=!0,children:x,noWheelClassName:b,noPanClassName:m,onViewportChange:v,isControlledViewport:g,paneClickDistance:w,selectionOnDrag:E}){let k=ie(),C=(0,z.useRef)(null),{userSelectionActive:S,lib:I,connectionInProgress:B}=J($f,re),O=Bt(p),L=(0,z.useRef)();Rf(C);let D=(0,z.useCallback)(y=>{v?.({x:y[0],y:y[1],zoom:y[2]}),g||k.setState({transform:y})},[v,g]);return(0,z.useEffect)(()=>{if(C.current){L.current=xs({domNode:C.current,minZoom:f,maxZoom:u,translateExtent:d,viewport:l,onDraggingChange:M=>k.setState(A=>A.paneDragging===M?A:{paneDragging:M}),onPanZoomStart:(M,A)=>{let{onViewportChangeStart:T,onMoveStart:H}=k.getState();H?.(M,A),T?.(A)},onPanZoom:(M,A)=>{let{onViewportChange:T,onMove:H}=k.getState();H?.(M,A),T?.(A)},onPanZoomEnd:(M,A)=>{let{onViewportChangeEnd:T,onMoveEnd:H}=k.getState();H?.(M,A),T?.(A)}});let{x:y,y:_,zoom:N}=L.current.getViewport();return k.setState({panZoom:L.current,transform:[y,_,N],domNode:C.current.closest(".react-flow")}),()=>{L.current?.destroy()}}},[]),(0,z.useEffect)(()=>{L.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:o,panActivationKeyPressed:r,panOnScrollSpeed:i,panOnScrollMode:s,zoomOnDoubleClick:a,panOnDrag:c,zoomActivationKeyPressed:O,preventScrolling:h,noPanClassName:m,userSelectionActive:S,noWheelClassName:b,lib:I,onTransformChange:D,connectionInProgress:B,selectionOnDrag:E,paneClickDistance:w})},[e,t,n,o,r,i,s,a,c,O,h,m,S,b,I,D,B,E,w]),(0,P.jsx)("div",{className:"react-flow__renderer",ref:C,style:On,children:x})}var Bf=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Vf(){let{userSelectionActive:e,userSelectionRect:t}=J(Bf,re);return e&&t?(0,P.jsx)("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}var No=(e,t)=>n=>{n.target===t.current&&e?.(n)},Ff=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function Yf({isSelecting:e,selectionKeyPressed:t,selectionMode:n=Je.Full,panOnDrag:o,autoPanOnSelection:r,paneClickDistance:i,selectionOnDrag:s,onSelectionStart:a,onSelectionEnd:c,onPaneClick:l,onPaneContextMenu:d,onPaneScroll:f,onPaneMouseEnter:u,onPaneMouseMove:p,onPaneMouseLeave:h,children:x}){let b=(0,z.useRef)(0),m=ie(),{userSelectionActive:v,elementsSelectable:g,dragging:w,panBy:E,autoPanSpeed:k}=J(Ff,re),C=g&&(e||v),S=(0,z.useRef)(null),I=(0,z.useRef)(),B=(0,z.useRef)(new Set),O=(0,z.useRef)(new Set),L=(0,z.useRef)(!1),D=(0,z.useRef)(!1),y=(0,z.useRef)({x:0,y:0}),_=(0,z.useRef)(!1),N=R=>{if(D.current||L.current||m.getState().connection.inProgress){D.current=!1,L.current=!1;return}l?.(R),m.getState().resetSelectedElements(),m.setState({nodesSelectionActive:!1})},M=R=>{if(Array.isArray(o)&&o?.includes(2)){R.preventDefault();return}d?.(R)},A=f?R=>f(R):void 0,T=R=>{D.current&&(R.stopPropagation(),D.current=!1)},H=R=>{if(R.pointerType==="touch"&&o!==!1&&!t)return;let{domNode:X,transform:Q}=m.getState();if(I.current=X?.getBoundingClientRect(),!I.current)return;let U=R.target===S.current;if(!U&&!!R.target.closest(".nokey")||!e||!(s&&U||t)||R.button!==0||!R.isPrimary)return;R.target?.setPointerCapture?.(R.pointerId),D.current=!1;let{x:te,y:ne}=ye(R.nativeEvent,I.current),oe=mt({x:te,y:ne},Q);m.setState({userSelectionRect:{width:0,height:0,startX:oe.x,startY:oe.y,x:te,y:ne}}),U||(R.stopPropagation(),R.preventDefault())};function $(R,X){let{userSelectionRect:Q}=m.getState();if(!Q)return;let{transform:U,nodeLookup:W,edgeLookup:K,connectionLookup:te,triggerNodeChanges:ne,triggerEdgeChanges:oe,defaultEdgeOptions:ue}=m.getState(),Se={x:Q.startX,y:Q.startY},{x:ve,y:_e}=tt(Se,U),Ce={startX:Se.x,startY:Se.y,x:R<ve?R:ve,y:X<_e?X:_e,width:Math.abs(R-ve),height:Math.abs(X-_e)},_t=B.current,We=O.current;B.current=new Set(un(W,Ce,U,n===Je.Partial,!0).map(be=>be.id)),O.current=new Set;let qe=ue?.selectable??!0;for(let be of B.current){let Ie=te.get(be);if(Ie)for(let{edgeId:Me}of Ie.values()){let je=K.get(Me);je&&(je.selectable??qe)&&O.current.add(Me)}}if(!ho(_t,B.current)){let be=wt(W,B.current,!0);ne(be)}if(!ho(We,O.current)){let be=wt(K,O.current);oe(be)}m.setState({userSelectionRect:Ce,userSelectionActive:!0,nodesSelectionActive:!1})}function V(){if(!r||!I.current)return;let[R,X]=fn(y.current,I.current,k);E({x:R,y:X}).then(Q=>{if(!D.current||!Q){b.current=requestAnimationFrame(V);return}let{x:U,y:W}=y.current;$(U,W),b.current=requestAnimationFrame(V)})}let j=()=>{cancelAnimationFrame(b.current),b.current=0,_.current=!1};(0,z.useEffect)(()=>()=>j(),[]);let F=R=>{let{userSelectionRect:X,transform:Q,resetSelectedElements:U}=m.getState();if(!I.current||!X)return;let{x:W,y:K}=ye(R.nativeEvent,I.current);y.current={x:W,y:K};let te=tt({x:X.startX,y:X.startY},Q);if(!D.current){let ne=t?0:i;if(Math.hypot(W-te.x,K-te.y)<=ne)return;U(),a?.(R)}D.current=!0,_.current||(V(),_.current=!0),$(W,K)},G=R=>{if(!C){R.target===S.current&&m.getState().connection.inProgress&&(L.current=!0);return}R.button===0&&(R.target?.releasePointerCapture?.(R.pointerId),!v&&R.target===S.current&&m.getState().userSelectionRect&&N?.(R),m.setState({userSelectionActive:!1,userSelectionRect:null}),D.current&&(c?.(R),m.setState({nodesSelectionActive:B.current.size>0})),j())},ee=R=>{R.target?.releasePointerCapture?.(R.pointerId),j()},q=o===!0||Array.isArray(o)&&o.includes(0);return(0,P.jsxs)("div",{className:se(["react-flow__pane",{draggable:q,dragging:w,selection:e}]),onClick:C?void 0:No(N,S),onContextMenu:No(M,S),onWheel:No(A,S),onPointerEnter:C?void 0:u,onPointerMove:C?F:p,onPointerUp:G,onPointerCancel:C?ee:void 0,onPointerDownCapture:C?H:void 0,onClickCapture:C?T:void 0,onPointerLeave:h,ref:S,style:On,children:[x,(0,P.jsx)(Vf,{})]})}function Co({id:e,store:t,unselect:n=!1,nodeRef:o}){let{addSelectedNodes:r,unselectNodesAndEdges:i,multiSelectionActive:s,nodeLookup:a,onError:c}=t.getState(),l=a.get(e);if(!l){c?.("012",ge.error012(e));return}t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&s)&&(i({nodes:[l],edges:[]}),requestAnimationFrame(()=>o?.current?.blur())):r([e])}function da({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:o,nodeId:r,isSelectable:i,nodeClickDistance:s}){let a=ie(),[c,l]=(0,z.useState)(!1),d=(0,z.useRef)();return(0,z.useEffect)(()=>{if(!t)return d.current=fs({getStoreItems:()=>a.getState(),onNodeMouseDown:f=>{Co({id:f,store:a,nodeRef:e})},onDragStart:()=>{l(!0)},onDragStop:()=>{l(!1)}}),()=>{d.current?.destroy(),d.current=void 0}},[t,a,e]),(0,z.useEffect)(()=>{t||!e.current||!d.current||d.current.update({noDragClassName:n,handleSelector:o,domNode:e.current,isSelectable:i,nodeId:r,nodeClickDistance:s})},[n,o,t,i,e,r,s]),c}var Xf=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function ua(){let e=ie();return(0,z.useCallback)(n=>{let{nodeExtent:o,snapToGrid:r,snapGrid:i,nodesDraggable:s,onError:a,updateNodePositions:c,nodeLookup:l,nodeOrigin:d}=e.getState(),f=new Map,u=Xf(s),p=r?i[0]:5,h=r?i[1]:5,x=n.direction.x*p*n.factor,b=n.direction.y*h*n.factor;for(let[,m]of l){if(!u(m))continue;let v={x:m.internals.positionAbsolute.x+x,y:m.internals.positionAbsolute.y+b};r&&(v=gt(v,i));let{position:g,positionAbsolute:w}=ao({nodeId:m.id,nextPosition:v,nodeLookup:l,nodeExtent:o,nodeOrigin:d,onError:a});m.position=g,m.internals.positionAbsolute=w,f.set(m.id,m)}c(f)},[])}var Io=(0,z.createContext)(null),Zf=Io.Provider;Io.Consumer;var fa=()=>(0,z.useContext)(Io),Wf=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),ha=(0,z.createContext)(null);function qf({children:e}){let t=J(Wf,re);return(0,P.jsx)(ha.Provider,{value:t,children:e})}function jf(){let e=(0,z.useContext)(ha);if(!e)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return e}var Gf={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},Kf=(e,t,n)=>o=>{let{connectionClickStartHandle:r,connectionMode:i,connection:s}=o,{fromHandle:a,toHandle:c,isValid:l}=s;if(!a&&!r)return Gf;let d=c?.nodeId===e&&c?.id===t&&c?.type===n;return{connectingFrom:a?.nodeId===e&&a?.id===t&&a?.type===n,connectingTo:d,clickConnecting:r?.nodeId===e&&r?.id===t&&r?.type===n,isPossibleEndHandle:i===Ve.Strict?a?.type!==n:e!==a?.nodeId||t!==a?.id,connectionInProcess:!!a,clickConnectionInProcess:!!r,valid:d&&l}};function Uf({type:e="source",position:t=Y.Top,isValidConnection:n,isConnectable:o=!0,isConnectableStart:r=!0,isConnectableEnd:i=!0,id:s,onConnect:a,children:c,className:l,onMouseDown:d,onTouchStart:f,...u},p){let h=s||null,x=e==="target",b=ie(),m=fa(),{connectOnClick:v,noPanClassName:g,rfId:w}=jf(),{connectingFrom:E,connectingTo:k,clickConnecting:C,isPossibleEndHandle:S,connectionInProcess:I,clickConnectionInProcess:B,valid:O}=J(Kf(m,h,e),re);m||b.getState().onError?.("010",ge.error010());let L=_=>{let{defaultEdgeOptions:N,onConnect:M,hasDefaultEdges:A}=b.getState(),T={...N,..._};if(A){let{edges:H,setEdges:$,onError:V}=b.getState();$(Mf(T,H,{onError:V}))}M?.(T),a?.(T)},D=_=>{if(!m)return;let N=yo(_.nativeEvent);if(r&&(N&&_.button===0||!N)){let M=b.getState();En.onPointerDown(_.nativeEvent,{handleDomNode:_.currentTarget,autoPanOnConnect:M.autoPanOnConnect,connectionMode:M.connectionMode,connectionRadius:M.connectionRadius,domNode:M.domNode,nodeLookup:M.nodeLookup,lib:M.lib,isTarget:x,handleId:h,nodeId:m,flowId:M.rfId,panBy:M.panBy,cancelConnection:M.cancelConnection,onConnectStart:M.onConnectStart,onConnectEnd:(...A)=>b.getState().onConnectEnd?.(...A),updateConnection:M.updateConnection,onConnect:L,isValidConnection:n||((...A)=>b.getState().isValidConnection?.(...A)??!0),getTransform:()=>b.getState().transform,getFromHandle:()=>b.getState().connection.fromHandle,autoPanSpeed:M.autoPanSpeed,dragThreshold:M.connectionDragThreshold})}N?d?.(_):f?.(_)},y=_=>{let{onClickConnectStart:N,onClickConnectEnd:M,connectionClickStartHandle:A,connectionMode:T,isValidConnection:H,lib:$,rfId:V,nodeLookup:j,connection:F}=b.getState();if(!m||!A&&!r)return;if(!A){N?.(_.nativeEvent,{nodeId:m,handleId:h,handleType:e}),b.setState({connectionClickStartHandle:{nodeId:m,type:e,id:h}});return}let G=go(_.target),ee=n||H,{connection:q,isValid:R}=En.isValid(_.nativeEvent,{handle:{nodeId:m,id:h,type:e},connectionMode:T,fromNodeId:A.nodeId,fromHandleId:A.id||null,fromType:A.type,isValidConnection:ee,flowId:V,doc:G,lib:$,nodeLookup:j});R&&q&&L(q);let X=structuredClone(F);delete X.inProgress,X.toPosition=X.toHandle?X.toHandle.position:null,M?.(_,X),b.setState({connectionClickStartHandle:null})};return(0,P.jsx)("div",{"data-handleid":h,"data-nodeid":m,"data-handlepos":t,"data-id":`${w}-${m}-${h}-${e}`,className:se(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",g,l,{source:!x,target:x,connectable:o,connectablestart:r,connectableend:i,clickconnecting:C,connectingfrom:E,connectingto:k,valid:O,connectionindicator:o&&(!I||S)&&(I||B?i:r)}]),onMouseDown:D,onTouchStart:D,onClick:v?y:void 0,ref:p,...u,children:c})}var rt=(0,z.memo)(aa(Uf));function Qf({data:e,isConnectable:t,sourcePosition:n=Y.Bottom}){return(0,P.jsxs)(P.Fragment,{children:[e?.label,(0,P.jsx)(rt,{type:"source",position:n,isConnectable:t})]})}function Jf({data:e,isConnectable:t,targetPosition:n=Y.Top,sourcePosition:o=Y.Bottom}){return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(rt,{type:"target",position:n,isConnectable:t}),e?.label,(0,P.jsx)(rt,{type:"source",position:o,isConnectable:t})]})}function eh(){return null}function th({data:e,isConnectable:t,targetPosition:n=Y.Top}){return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(rt,{type:"target",position:n,isConnectable:t}),e?.label]})}var Cn={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Fs={input:Qf,default:Jf,output:th,group:eh};function nh(e){return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??e.style?.width,height:e.height??e.initialHeight??e.style?.height}:{width:e.width??e.style?.width,height:e.height??e.style?.height}}var oh=e=>{let{width:t,height:n,x:o,y:r}=ht(e.nodeLookup,{filter:i=>!!i.selected});return{width:me(t)?t:null,height:me(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${r}px)`}};function rh({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let o=ie(),{width:r,height:i,transformString:s,userSelectionActive:a}=J(oh,re),c=ua(),l=(0,z.useRef)(null);(0,z.useEffect)(()=>{n||l.current?.focus({preventScroll:!0})},[n]);let d=!a&&r!==null&&i!==null;if(da({nodeRef:l,disabled:!d}),!d)return null;let f=e?p=>{let h=o.getState().nodes.filter(x=>x.selected);e(p,h)}:void 0,u=p=>{Object.prototype.hasOwnProperty.call(Cn,p.key)&&(p.preventDefault(),c({direction:Cn[p.key],factor:p.shiftKey?4:1}))};return(0,P.jsx)("div",{className:se(["react-flow__nodesselection","react-flow__container",t]),style:{transform:s},children:(0,P.jsx)("div",{ref:l,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:u,style:{width:r,height:i}})})}var Ys=typeof window<"u"?window:void 0,ih=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function pa({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:i,onPaneScroll:s,paneClickDistance:a,deleteKeyCode:c,selectionKeyCode:l,selectionOnDrag:d,selectionMode:f,onSelectionStart:u,onSelectionEnd:p,multiSelectionKeyCode:h,panActivationKeyCode:x,zoomActivationKeyCode:b,elementsSelectable:m,zoomOnScroll:v,zoomOnPinch:g,panOnScroll:w,panOnScrollSpeed:E,panOnScrollMode:k,zoomOnDoubleClick:C,panOnDrag:S,autoPanOnSelection:I,defaultViewport:B,translateExtent:O,minZoom:L,maxZoom:D,preventScrolling:y,onSelectionContextMenu:_,noWheelClassName:N,noPanClassName:M,disableKeyboardA11y:A,onViewportChange:T,isControlledViewport:H}){let{nodesSelectionActive:$,userSelectionActive:V}=J(ih,re),j=Bt(l,{target:Ys}),F=Bt(x,{target:Ys}),G=F||S,ee=F||w,q=d&&G!==!0,R=j||V||q;return Lf({deleteKeyCode:c,multiSelectionKeyCode:h}),(0,P.jsx)(Hf,{onPaneContextMenu:i,elementsSelectable:m,zoomOnScroll:v,zoomOnPinch:g,panOnScroll:ee,panActivationKeyPressed:F,panOnScrollSpeed:E,panOnScrollMode:k,zoomOnDoubleClick:C,panOnDrag:!j&&G,defaultViewport:B,translateExtent:O,minZoom:L,maxZoom:D,zoomActivationKeyCode:b,preventScrolling:y,noWheelClassName:N,noPanClassName:M,onViewportChange:T,isControlledViewport:H,paneClickDistance:a,selectionOnDrag:q,children:(0,P.jsxs)(Yf,{onSelectionStart:u,onSelectionEnd:p,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:i,onPaneScroll:s,panOnDrag:G,autoPanOnSelection:I,isSelecting:!!R,selectionMode:f,selectionKeyPressed:j,paneClickDistance:a,selectionOnDrag:q,children:[e,$&&(0,P.jsx)(rh,{onSelectionContextMenu:_,noPanClassName:M,disableKeyboardA11y:A})]})})}pa.displayName="FlowRenderer";var sh=(0,z.memo)(pa),ah=e=>t=>e?un(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(n=>n.id):Array.from(t.nodeLookup.keys());function lh(e){return J((0,z.useCallback)(ah(e),[e]),re)}var ch=e=>e.updateNodeInternals;function dh(){let e=J(ch),[t]=(0,z.useState)(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{let o=new Map;n.forEach(r=>{let i=r.target.getAttribute("data-id");o.set(i,{id:i,nodeElement:r.target,force:!0})}),e(o)}));return(0,z.useEffect)(()=>()=>{t?.disconnect()},[t]),t}function uh({node:e,nodeType:t,hasDimensions:n,resizeObserver:o}){let r=ie(),i=(0,z.useRef)(null),s=(0,z.useRef)(null),a=(0,z.useRef)(e.sourcePosition),c=(0,z.useRef)(e.targetPosition),l=(0,z.useRef)(t),d=n&&!!e.internals.handleBounds;return(0,z.useEffect)(()=>{i.current&&!e.hidden&&(!d||s.current!==i.current)&&(s.current&&o?.unobserve(s.current),o?.observe(i.current),s.current=i.current)},[d,e.hidden]),(0,z.useEffect)(()=>()=>{s.current&&(o?.unobserve(s.current),s.current=null)},[]),(0,z.useEffect)(()=>{if(i.current){let f=l.current!==t,u=a.current!==e.sourcePosition,p=c.current!==e.targetPosition;(f||u||p)&&(l.current=t,a.current=e.sourcePosition,c.current=e.targetPosition,r.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:i.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),i}function fh({id:e,onClick:t,onMouseEnter:n,onMouseMove:o,onMouseLeave:r,onContextMenu:i,onDoubleClick:s,nodesDraggable:a,elementsSelectable:c,nodesConnectable:l,nodesFocusable:d,resizeObserver:f,noDragClassName:u,noPanClassName:p,disableKeyboardA11y:h,rfId:x,nodeTypes:b,nodeClickDistance:m,onError:v}){let{node:g,internals:w,isParent:E}=J(R=>{let X=R.nodeLookup.get(e),Q=R.parentLookup.has(e);return{node:X,internals:X.internals,isParent:Q}},re),k=g.type||"default",C=b?.[k]||Fs[k];C===void 0&&(v?.("003",ge.error003(k)),k="default",C=b?.default||Fs.default);let S=!!(g.draggable||a&&typeof g.draggable>"u"),I=!!(g.selectable||c&&typeof g.selectable>"u"),B=!!(g.connectable||l&&typeof g.connectable>"u"),O=!!(g.focusable||d&&typeof g.focusable>"u"),L=ie(),D=gn(g),y=uh({node:g,nodeType:k,hasDimensions:D,resizeObserver:f}),_=da({nodeRef:y,disabled:g.hidden||!S,noDragClassName:u,handleSelector:g.dragHandle,nodeId:e,isSelectable:I,nodeClickDistance:m}),N=ua();if(g.hidden)return null;let M=we(g),A=nh(g),T=I||S||t||n||o||r,H=n?R=>n(R,{...w.userNode}):void 0,$=o?R=>o(R,{...w.userNode}):void 0,V=r?R=>r(R,{...w.userNode}):void 0,j=i?R=>i(R,{...w.userNode}):void 0,F=s?R=>s(R,{...w.userNode}):void 0,G=R=>{let{selectNodesOnDrag:X,nodeDragThreshold:Q}=L.getState();I&&(!X||!S||Q>0)&&Co({id:e,store:L,nodeRef:y}),t&&t(R,{...w.userNode})},ee=R=>{if(!(mo(R.nativeEvent)||h)){if(to.includes(R.key)&&I){let X=R.key==="Escape";Co({id:e,store:L,unselect:X,nodeRef:y})}else if(S&&g.selected&&Object.prototype.hasOwnProperty.call(Cn,R.key)){R.preventDefault();let{ariaLabelConfig:X}=L.getState();L.setState({ariaLiveMessage:X["node.a11yDescription.ariaLiveMessage"]({direction:R.key.replace("Arrow","").toLowerCase(),x:~~w.positionAbsolute.x,y:~~w.positionAbsolute.y})}),N({direction:Cn[R.key],factor:R.shiftKey?4:1})}}},q=()=>{if(h||!y.current?.matches(":focus-visible"))return;let{transform:R,width:X,height:Q,autoPanOnNodeFocus:U,setCenter:W}=L.getState();if(!U)return;un(new Map([[e,g]]),{x:0,y:0,width:X,height:Q},R,!0).length>0||W(g.position.x+M.width/2,g.position.y+M.height/2,{zoom:R[2]})};return(0,P.jsx)("div",{className:se(["react-flow__node",`react-flow__node-${k}`,{[p]:S},g.className,{selected:g.selected,selectable:I,parent:E,draggable:S,dragging:_}]),ref:y,style:{zIndex:w.z,transform:`translate(${w.positionAbsolute.x}px,${w.positionAbsolute.y}px)`,pointerEvents:T?"all":"none",visibility:D?"visible":"hidden",...g.style,...A},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:H,onMouseMove:$,onMouseLeave:V,onContextMenu:j,onClick:G,onDoubleClick:F,onKeyDown:O?ee:void 0,tabIndex:O?0:void 0,onFocus:O?q:void 0,role:g.ariaRole??(O?"group":void 0),"aria-roledescription":"node","aria-describedby":h?void 0:`${na}-${x}`,"aria-label":g.ariaLabel,...g.domAttributes,children:(0,P.jsx)(Zf,{value:e,children:(0,P.jsx)(C,{id:e,data:g.data,type:k,positionAbsoluteX:w.positionAbsolute.x,positionAbsoluteY:w.positionAbsolute.y,selected:g.selected??!1,selectable:I,draggable:S,deletable:g.deletable??!0,isConnectable:B,sourcePosition:g.sourcePosition,targetPosition:g.targetPosition,dragging:_,dragHandle:g.dragHandle,zIndex:w.z,parentId:g.parentId,...M})})})}var hh=(0,z.memo)(fh),ph=e=>({nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function ga(e){let{nodesConnectable:t,nodesFocusable:n,elementsSelectable:o,onError:r}=J(ph,re),i=lh(e.onlyRenderVisibleElements),s=dh();return(0,P.jsx)("div",{className:"react-flow__nodes",style:On,children:i.map(a=>(0,P.jsx)(hh,{id:a,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:s,nodesDraggable:e.nodesDraggable??!0,nodesConnectable:t,nodesFocusable:n,elementsSelectable:o,nodeClickDistance:e.nodeClickDistance,onError:r},a))})}ga.displayName="NodeRenderer";var gh=(0,z.memo)(ga);function mh(e){return J((0,z.useCallback)(n=>{if(!e)return n.edges.map(r=>r.id);let o=[];if(n.width&&n.height)for(let r of n.edges){let i=n.nodeLookup.get(r.source),s=n.nodeLookup.get(r.target);i&&s&&ns({sourceNode:i,targetNode:s,width:n.width,height:n.height,transform:n.transform})&&o.push(r.id)}return o},[e]),re)}var yh=({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e}};return(0,P.jsx)("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},wh=({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e,fill:e}};return(0,P.jsx)("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Xs={[Fe.Arrow]:yh,[Fe.ArrowClosed]:wh};function bh(e){let t=ie();return(0,z.useMemo)(()=>Object.prototype.hasOwnProperty.call(Xs,e)?Xs[e]:(t.getState().onError?.("009",ge.error009(e)),null),[e])}var xh=({id:e,type:t,color:n,width:o=12.5,height:r=12.5,markerUnits:i="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{let c=bh(t);return c?(0,P.jsx)("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${r}`,viewBox:"-10 -10 20 20",markerUnits:i,orient:a,refX:"0",refY:"0",children:(0,P.jsx)(c,{color:n,strokeWidth:s})}):null},ma=({defaultColor:e,rfId:t})=>{let n=J(i=>i.edges),o=J(i=>i.defaultEdgeOptions),r=(0,z.useMemo)(()=>is(n,{id:t,defaultColor:e,defaultMarkerStart:o?.markerStart,defaultMarkerEnd:o?.markerEnd}),[n,o,t,e]);return r.length?(0,P.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,P.jsx)("defs",{children:r.map(i=>(0,P.jsx)(xh,{id:i.id,type:i.type,color:i.color,width:i.width,height:i.height,markerUnits:i.markerUnits,strokeWidth:i.strokeWidth,orient:i.orient},i.id))})}):null};ma.displayName="MarkerDefinitions";var vh=(0,z.memo)(ma);function ya({x:e,y:t,label:n,labelStyle:o,labelShowBg:r=!0,labelBgStyle:i,labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:c,className:l,...d}){let[f,u]=(0,z.useState)({x:1,y:0,width:0,height:0}),p=se(["react-flow__edge-textwrapper",l]),h=(0,z.useRef)(null);return(0,z.useEffect)(()=>{if(h.current){let x=h.current.getBBox();u({x:x.x,y:x.y,width:x.width,height:x.height})}},[n]),n?(0,P.jsxs)("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:p,visibility:f.width?"visible":"hidden",...d,children:[r&&(0,P.jsx)("rect",{width:f.width+2*s[0],x:-s[0],y:-s[1],height:f.height+2*s[1],className:"react-flow__edge-textbg",style:i,rx:a,ry:a}),(0,P.jsx)("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:h,style:o,children:n}),c]}):null}ya.displayName="EdgeText";var _h=(0,z.memo)(ya);function Pn({path:e,labelX:t,labelY:n,label:o,labelStyle:r,labelShowBg:i,labelBgStyle:s,labelBgPadding:a,labelBgBorderRadius:c,interactionWidth:l=20,...d}){return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)("path",{...d,d:e,fill:"none",className:se(["react-flow__edge-path",d.className])}),l?(0,P.jsx)("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:l,className:"react-flow__edge-interaction"}):null,o&&me(t)&&me(n)?(0,P.jsx)(_h,{x:t,y:n,label:o,labelStyle:r,labelShowBg:i,labelBgStyle:s,labelBgPadding:a,labelBgBorderRadius:c}):null]})}function Zs({pos:e,x1:t,y1:n,x2:o,y2:r}){return e===Y.Left||e===Y.Right?[.5*(t+o),n]:[t,.5*(n+r)]}function wa({sourceX:e,sourceY:t,sourcePosition:n=Y.Bottom,targetX:o,targetY:r,targetPosition:i=Y.Top}){let[s,a]=Zs({pos:n,x1:e,y1:t,x2:o,y2:r}),[c,l]=Zs({pos:i,x1:o,y1:r,x2:e,y2:t}),[d,f,u,p]=yn({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:s,sourceControlY:a,targetControlX:c,targetControlY:l});return[`M${e},${t} C${s},${a} ${c},${l} ${o},${r}`,d,f,u,p]}function ba(e){return(0,z.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,sourcePosition:s,targetPosition:a,label:c,labelStyle:l,labelShowBg:d,labelBgStyle:f,labelBgPadding:u,labelBgBorderRadius:p,style:h,markerEnd:x,markerStart:b,interactionWidth:m})=>{let[v,g,w]=wa({sourceX:n,sourceY:o,sourcePosition:s,targetX:r,targetY:i,targetPosition:a}),E=e.isInternal?void 0:t;return(0,P.jsx)(Pn,{id:E,path:v,labelX:g,labelY:w,label:c,labelStyle:l,labelShowBg:d,labelBgStyle:f,labelBgPadding:u,labelBgBorderRadius:p,style:h,markerEnd:x,markerStart:b,interactionWidth:m})})}var Eh=ba({isInternal:!1}),xa=ba({isInternal:!0});Eh.displayName="SimpleBezierEdge";xa.displayName="SimpleBezierEdgeInternal";function va(e){return(0,z.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,label:s,labelStyle:a,labelShowBg:c,labelBgStyle:l,labelBgPadding:d,labelBgBorderRadius:f,style:u,sourcePosition:p=Y.Bottom,targetPosition:h=Y.Top,markerEnd:x,markerStart:b,pathOptions:m,interactionWidth:v})=>{let[g,w,E]=Ht({sourceX:n,sourceY:o,sourcePosition:p,targetX:r,targetY:i,targetPosition:h,borderRadius:m?.borderRadius,offset:m?.offset,stepPosition:m?.stepPosition}),k=e.isInternal?void 0:t;return(0,P.jsx)(Pn,{id:k,path:g,labelX:w,labelY:E,label:s,labelStyle:a,labelShowBg:c,labelBgStyle:l,labelBgPadding:d,labelBgBorderRadius:f,style:u,markerEnd:x,markerStart:b,interactionWidth:v})})}var _a=va({isInternal:!1}),Ea=va({isInternal:!0});_a.displayName="SmoothStepEdge";Ea.displayName="SmoothStepEdgeInternal";function ka(e){return(0,z.memo)(({id:t,...n})=>{let o=e.isInternal?void 0:t;return(0,P.jsx)(_a,{...n,id:o,pathOptions:(0,z.useMemo)(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}var kh=ka({isInternal:!1}),Na=ka({isInternal:!0});kh.displayName="StepEdge";Na.displayName="StepEdgeInternal";function Sa(e){return(0,z.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,label:s,labelStyle:a,labelShowBg:c,labelBgStyle:l,labelBgPadding:d,labelBgBorderRadius:f,style:u,markerEnd:p,markerStart:h,interactionWidth:x})=>{let[b,m,v]=bn({sourceX:n,sourceY:o,targetX:r,targetY:i}),g=e.isInternal?void 0:t;return(0,P.jsx)(Pn,{id:g,path:b,labelX:m,labelY:v,label:s,labelStyle:a,labelShowBg:c,labelBgStyle:l,labelBgPadding:d,labelBgBorderRadius:f,style:u,markerEnd:p,markerStart:h,interactionWidth:x})})}var Nh=Sa({isInternal:!1}),Ca=Sa({isInternal:!0});Nh.displayName="StraightEdge";Ca.displayName="StraightEdgeInternal";function Ia(e){return(0,z.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,sourcePosition:s=Y.Bottom,targetPosition:a=Y.Top,label:c,labelStyle:l,labelShowBg:d,labelBgStyle:f,labelBgPadding:u,labelBgBorderRadius:p,style:h,markerEnd:x,markerStart:b,pathOptions:m,interactionWidth:v})=>{let[g,w,E]=wn({sourceX:n,sourceY:o,sourcePosition:s,targetX:r,targetY:i,targetPosition:a,curvature:m?.curvature}),k=e.isInternal?void 0:t;return(0,P.jsx)(Pn,{id:k,path:g,labelX:w,labelY:E,label:c,labelStyle:l,labelShowBg:d,labelBgStyle:f,labelBgPadding:u,labelBgBorderRadius:p,style:h,markerEnd:x,markerStart:b,interactionWidth:v})})}var Sh=Ia({isInternal:!1}),Ma=Ia({isInternal:!0});Sh.displayName="BezierEdge";Ma.displayName="BezierEdgeInternal";var Ws={default:Ma,straight:Ca,step:Na,smoothstep:Ea,simplebezier:xa},qs={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},Ch=(e,t,n)=>n===Y.Left?e-t:n===Y.Right?e+t:e,Ih=(e,t,n)=>n===Y.Top?e-t:n===Y.Bottom?e+t:e,js="react-flow__edgeupdater";function Gs({position:e,centerX:t,centerY:n,radius:o=10,onMouseDown:r,onMouseEnter:i,onMouseOut:s,type:a}){return(0,P.jsx)("circle",{onMouseDown:r,onMouseEnter:i,onMouseOut:s,className:se([js,`${js}-${a}`]),cx:Ch(t,o,e),cy:Ih(n,o,e),r:o,stroke:"transparent",fill:"transparent"})}function Mh({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:o,sourceY:r,targetX:i,targetY:s,sourcePosition:a,targetPosition:c,onReconnect:l,onReconnectStart:d,onReconnectEnd:f,setReconnecting:u,setUpdateHover:p}){let h=ie(),x=(w,E)=>{if(w.button!==0)return;let{autoPanOnConnect:k,domNode:C,connectionMode:S,connectionRadius:I,lib:B,onConnectStart:O,cancelConnection:L,nodeLookup:D,rfId:y,panBy:_,updateConnection:N}=h.getState(),M=E.type==="target",A=($,V)=>{u(!1),f?.($,n,E.type,V)},T=$=>l?.(n,$),H=($,V)=>{u(!0),d?.(w,n,E.type),O?.($,V)};En.onPointerDown(w.nativeEvent,{autoPanOnConnect:k,connectionMode:S,connectionRadius:I,domNode:C,handleId:E.id,nodeId:E.nodeId,nodeLookup:D,isTarget:M,edgeUpdaterType:E.type,lib:B,flowId:y,cancelConnection:L,panBy:_,isValidConnection:(...$)=>h.getState().isValidConnection?.(...$)??!0,onConnect:T,onConnectStart:H,onConnectEnd:(...$)=>h.getState().onConnectEnd?.(...$),onReconnectEnd:A,updateConnection:N,getTransform:()=>h.getState().transform,getFromHandle:()=>h.getState().connection.fromHandle,dragThreshold:h.getState().connectionDragThreshold,handleDomNode:w.currentTarget})},b=w=>x(w,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),m=w=>x(w,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),v=()=>p(!0),g=()=>p(!1);return(0,P.jsxs)(P.Fragment,{children:[(e===!0||e==="source")&&(0,P.jsx)(Gs,{position:a,centerX:o,centerY:r,radius:t,onMouseDown:b,onMouseEnter:v,onMouseOut:g,type:"source"}),(e===!0||e==="target")&&(0,P.jsx)(Gs,{position:c,centerX:i,centerY:s,radius:t,onMouseDown:m,onMouseEnter:v,onMouseOut:g,type:"target"})]})}function Oh({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:o,onClick:r,onDoubleClick:i,onContextMenu:s,onMouseEnter:a,onMouseMove:c,onMouseLeave:l,reconnectRadius:d,onReconnect:f,onReconnectStart:u,onReconnectEnd:p,rfId:h,edgeTypes:x,noPanClassName:b,onError:m,disableKeyboardA11y:v}){let g=J(W=>W.edgeLookup.get(e)),w=J(W=>W.defaultEdgeOptions);g=w?{...w,...g}:g;let E=g.type||"default",k=x?.[E]||Ws[E];k===void 0&&(m?.("011",ge.error011(E)),E="default",k=x?.default||Ws.default);let C=!!(g.focusable||t&&typeof g.focusable>"u"),S=typeof f<"u"&&(g.reconnectable||n&&typeof g.reconnectable>"u"),I=!!(g.selectable||o&&typeof g.selectable>"u"),B=(0,z.useRef)(null),[O,L]=(0,z.useState)(!1),[D,y]=(0,z.useState)(!1),_=ie(),{zIndex:N=g.zIndex,sourceX:M,sourceY:A,targetX:T,targetY:H,sourcePosition:$,targetPosition:V}=J((0,z.useCallback)(W=>{let K=W.nodeLookup.get(g.source),te=W.nodeLookup.get(g.target);if(!K||!te)return qs;let ne=rs({id:e,sourceNode:K,targetNode:te,sourceHandle:g.sourceHandle||null,targetHandle:g.targetHandle||null,connectionMode:W.connectionMode,onError:m}),oe=ts({selected:g.selected,zIndex:g.zIndex,sourceNode:K,targetNode:te,elevateOnSelect:W.elevateEdgesOnSelect,zIndexMode:W.zIndexMode});return{...ne||qs,zIndex:oe}},[g.source,g.target,g.sourceHandle,g.targetHandle,g.selected,g.zIndex,m]),re),j=(0,z.useMemo)(()=>g.markerStart?`url('#${xn(g.markerStart,h)}')`:void 0,[g.markerStart,h]),F=(0,z.useMemo)(()=>g.markerEnd?`url('#${xn(g.markerEnd,h)}')`:void 0,[g.markerEnd,h]);if(g.hidden||M===null||A===null||T===null||H===null)return null;let G=W=>{let{addSelectedEdges:K,unselectNodesAndEdges:te,multiSelectionActive:ne}=_.getState();I&&(_.setState({nodesSelectionActive:!1}),g.selected&&ne?(te({nodes:[],edges:[g]}),B.current?.blur()):K([e])),r&&r(W,g)},ee=i?W=>{i(W,{...g})}:void 0,q=s?W=>{s(W,{...g})}:void 0,R=a?W=>{a(W,{...g})}:void 0,X=c?W=>{c(W,{...g})}:void 0,Q=l?W=>{l(W,{...g})}:void 0,U=W=>{if(!v&&to.includes(W.key)&&I){let{unselectNodesAndEdges:K,addSelectedEdges:te}=_.getState();W.key==="Escape"?(B.current?.blur(),K({edges:[g]})):te([e])}};return(0,P.jsx)("svg",{style:{zIndex:N},children:(0,P.jsxs)("g",{className:se(["react-flow__edge",`react-flow__edge-${E}`,g.className,b,{selected:g.selected,animated:g.animated,inactive:!I&&!r,updating:O,selectable:I}]),onClick:G,onDoubleClick:ee,onContextMenu:q,onMouseEnter:R,onMouseMove:X,onMouseLeave:Q,onKeyDown:C?U:void 0,tabIndex:C?0:void 0,role:g.ariaRole??(C?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":g.ariaLabel===null?void 0:g.ariaLabel||`Edge from ${g.source} to ${g.target}`,"aria-describedby":C?`${oa}-${h}`:void 0,ref:B,...g.domAttributes,children:[!D&&(0,P.jsx)(k,{id:e,source:g.source,target:g.target,type:g.type,selected:g.selected,animated:g.animated,selectable:I,deletable:g.deletable??!0,label:g.label,labelStyle:g.labelStyle,labelShowBg:g.labelShowBg,labelBgStyle:g.labelBgStyle,labelBgPadding:g.labelBgPadding,labelBgBorderRadius:g.labelBgBorderRadius,sourceX:M,sourceY:A,targetX:T,targetY:H,sourcePosition:$,targetPosition:V,data:g.data,style:g.style,sourceHandleId:g.sourceHandle,targetHandleId:g.targetHandle,markerStart:j,markerEnd:F,pathOptions:"pathOptions"in g?g.pathOptions:void 0,interactionWidth:g.interactionWidth}),S&&(0,P.jsx)(Mh,{edge:g,isReconnectable:S,reconnectRadius:d,onReconnect:f,onReconnectStart:u,onReconnectEnd:p,sourceX:M,sourceY:A,targetX:T,targetY:H,sourcePosition:$,targetPosition:V,setUpdateHover:L,setReconnecting:y})]})})}var Ph=(0,z.memo)(Oh),zh=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function Oa({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:o,noPanClassName:r,onReconnect:i,onEdgeContextMenu:s,onEdgeMouseEnter:a,onEdgeMouseMove:c,onEdgeMouseLeave:l,onEdgeClick:d,reconnectRadius:f,onEdgeDoubleClick:u,onReconnectStart:p,onReconnectEnd:h,disableKeyboardA11y:x}){let{edgesFocusable:b,edgesReconnectable:m,elementsSelectable:v,onError:g}=J(zh,re),w=mh(t);return(0,P.jsxs)("div",{className:"react-flow__edges",children:[(0,P.jsx)(vh,{defaultColor:e,rfId:n}),w.map(E=>(0,P.jsx)(Ph,{id:E,edgesFocusable:b,edgesReconnectable:m,elementsSelectable:v,noPanClassName:r,onReconnect:i,onContextMenu:s,onMouseEnter:a,onMouseMove:c,onMouseLeave:l,onClick:d,reconnectRadius:f,onDoubleClick:u,onReconnectStart:p,onReconnectEnd:h,rfId:n,onError:g,edgeTypes:o,disableKeyboardA11y:x},E))]})}Oa.displayName="EdgeRenderer";var Dh=(0,z.memo)(Oa),Ks=e=>`translate(${e[0]}px,${e[1]}px) scale(${e[2]})`;function Ah({children:e}){let t=ie(),n=(0,z.useRef)(null),[o]=(0,z.useState)(()=>t.getState().transform);return la(()=>{let r=null,i=()=>{let s=t.getState().transform;r&&s[0]===r[0]&&s[1]===r[1]&&s[2]===r[2]||(r=s,n.current&&(n.current.style.transform=Ks(s)))};return i(),t.subscribe(i)},[t]),(0,P.jsx)("div",{ref:n,className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:Ks(o)},children:e})}function Th(e){let t=bt(),n=(0,z.useRef)(!1);(0,z.useEffect)(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}var Lh=e=>e.panZoom?.syncViewport;function Rh(e){let t=J(Lh),n=ie();return(0,z.useEffect)(()=>{e&&(t?.(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function Us(e){return e.connection.inProgress?{...e.connection,to:mt(e.connection.to,e.transform)}:{...e.connection}}function $h(e){return e?n=>{let o=Us(n);return e(o)}:Us}function Hh(e){let t=$h(e);return J(t,re)}var Bh=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function Vh({containerStyle:e,style:t,type:n,component:o}){let{nodesConnectable:r,width:i,height:s,isValid:a,inProgress:c}=J(Bh,re);return!(i&&r&&c)?null:(0,P.jsx)("svg",{style:e,width:i,height:s,className:"react-flow__connectionline react-flow__container",children:(0,P.jsx)("g",{className:se(["react-flow__connection",po(a)]),children:(0,P.jsx)(Pa,{style:t,type:n,CustomComponent:o,isValid:a})})})}var Pa=({style:e,type:t=Ee.Bezier,CustomComponent:n,isValid:o})=>{let{inProgress:r,from:i,fromNode:s,fromHandle:a,fromPosition:c,to:l,toNode:d,toHandle:f,toPosition:u,pointer:p}=Hh();if(!r)return;if(n)return(0,P.jsx)(n,{connectionLineType:t,connectionLineStyle:e,fromNode:s,fromHandle:a,fromX:i.x,fromY:i.y,toX:l.x,toY:l.y,fromPosition:c,toPosition:u,connectionStatus:po(o),toNode:d,toHandle:f,pointer:p});let h="",x={sourceX:i.x,sourceY:i.y,sourcePosition:c,targetX:l.x,targetY:l.y,targetPosition:u};switch(t){case Ee.Bezier:[h]=wn(x);break;case Ee.SimpleBezier:[h]=wa(x);break;case Ee.Step:[h]=Ht({...x,borderRadius:0});break;case Ee.SmoothStep:[h]=Ht(x);break;default:[h]=bn(x)}return(0,P.jsx)("path",{d:h,fill:"none",className:"react-flow__connection-path",style:e})};Pa.displayName="ConnectionLine";var Fh={};function Qs(e=Fh){let t=(0,z.useRef)(e),n=ie();(0,z.useEffect)(()=>{},[e])}function Yh(){let e=ie(),t=(0,z.useRef)(!1);(0,z.useEffect)(()=>{},[])}function za({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:o,onEdgeClick:r,onNodeDoubleClick:i,onEdgeDoubleClick:s,onNodeMouseEnter:a,onNodeMouseMove:c,onNodeMouseLeave:l,onNodeContextMenu:d,onSelectionContextMenu:f,onSelectionStart:u,onSelectionEnd:p,connectionLineType:h,connectionLineStyle:x,connectionLineComponent:b,connectionLineContainerStyle:m,selectionKeyCode:v,selectionOnDrag:g,selectionMode:w,multiSelectionKeyCode:E,panActivationKeyCode:k,zoomActivationKeyCode:C,deleteKeyCode:S,onlyRenderVisibleElements:I,elementsSelectable:B,defaultViewport:O,translateExtent:L,minZoom:D,maxZoom:y,preventScrolling:_,defaultMarkerColor:N,zoomOnScroll:M,zoomOnPinch:A,panOnScroll:T,panOnScrollSpeed:H,panOnScrollMode:$,zoomOnDoubleClick:V,panOnDrag:j,autoPanOnSelection:F,onPaneClick:G,onPaneMouseEnter:ee,onPaneMouseMove:q,onPaneMouseLeave:R,onPaneScroll:X,onPaneContextMenu:Q,paneClickDistance:U,nodeClickDistance:W,onEdgeContextMenu:K,onEdgeMouseEnter:te,onEdgeMouseMove:ne,onEdgeMouseLeave:oe,reconnectRadius:ue,onReconnect:Se,onReconnectStart:ve,onReconnectEnd:_e,noDragClassName:Ce,noWheelClassName:_t,noPanClassName:We,disableKeyboardA11y:qe,nodeExtent:be,rfId:Ie,viewport:Me,onViewportChange:je,nodesDraggable:$n}){return Qs(e),Qs(t),Yh(),Th(n),Rh(Me),(0,P.jsx)(sh,{onPaneClick:G,onPaneMouseEnter:ee,onPaneMouseMove:q,onPaneMouseLeave:R,onPaneContextMenu:Q,onPaneScroll:X,paneClickDistance:U,deleteKeyCode:S,selectionKeyCode:v,selectionOnDrag:g,selectionMode:w,onSelectionStart:u,onSelectionEnd:p,multiSelectionKeyCode:E,panActivationKeyCode:k,zoomActivationKeyCode:C,elementsSelectable:B,zoomOnScroll:M,zoomOnPinch:A,zoomOnDoubleClick:V,panOnScroll:T,panOnScrollSpeed:H,panOnScrollMode:$,panOnDrag:j,autoPanOnSelection:F,defaultViewport:O,translateExtent:L,minZoom:D,maxZoom:y,onSelectionContextMenu:f,preventScrolling:_,noDragClassName:Ce,noWheelClassName:_t,noPanClassName:We,disableKeyboardA11y:qe,onViewportChange:je,isControlledViewport:!!Me,children:(0,P.jsxs)(Ah,{children:[(0,P.jsx)(Dh,{edgeTypes:t,onEdgeClick:r,onEdgeDoubleClick:s,onReconnect:Se,onReconnectStart:ve,onReconnectEnd:_e,onlyRenderVisibleElements:I,onEdgeContextMenu:K,onEdgeMouseEnter:te,onEdgeMouseMove:ne,onEdgeMouseLeave:oe,reconnectRadius:ue,defaultMarkerColor:N,noPanClassName:We,disableKeyboardA11y:qe,rfId:Ie}),(0,P.jsx)(Vh,{style:x,type:h,component:b,containerStyle:m}),(0,P.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,P.jsx)(gh,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:i,onNodeMouseEnter:a,onNodeMouseMove:c,onNodeMouseLeave:l,onNodeContextMenu:d,nodeClickDistance:W,onlyRenderVisibleElements:I,noPanClassName:We,noDragClassName:Ce,disableKeyboardA11y:qe,nodeExtent:be,rfId:Ie,nodesDraggable:$n}),(0,P.jsx)("div",{className:"react-flow__viewport-portal"})]})})}za.displayName="GraphView";var Xh=(0,z.memo)(za),Zh=uo("React Flow","https://reactflow.dev/"),Js=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:i,fitView:s,fitViewOptions:a,minZoom:c=.5,maxZoom:l=2,nodeOrigin:d,nodeExtent:f,zIndexMode:u="basic"}={})=>{let p=new Map,h=new Map,x=new Map,b=new Map,m=o??t??[],v=n??e??[],g=d??[0,0],w=f??ft;Eo(x,b,m);let{nodesInitialized:E}=vn(v,p,h,{nodeOrigin:g,nodeExtent:w,zIndexMode:u}),k=[0,0,1];if(s&&r&&i){let C=ht(p,{filter:O=>!!((O.width||O.initialWidth)&&(O.height||O.initialHeight))}),{x:S,y:I,zoom:B}=$t(C,r,i,c,l,a?.padding??.1);k=[S,I,B]}return{rfId:"1",width:r??0,height:i??0,transform:k,nodes:v,nodesInitialized:E,nodeLookup:p,parentLookup:h,edges:m,edgeLookup:b,connectionLookup:x,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:c,maxZoom:l,translateExtent:ft,nodeExtent:w,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Ve.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:g,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:s??!1,fitViewOptions:a,fitViewResolver:null,connection:{...oo},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:Zh,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:no,zIndexMode:u,defaultEdgeOptions:void 0,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map,onNodesDelete:void 0,onEdgesDelete:void 0,onDelete:void 0,onBeforeDelete:void 0,onViewportChangeStart:void 0,onViewportChange:void 0,onViewportChangeEnd:void 0,onNodeDragStart:void 0,onNodeDrag:void 0,onNodeDragStop:void 0,onSelectionDragStart:void 0,onSelectionDrag:void 0,onSelectionDragStop:void 0,onMoveStart:void 0,onMove:void 0,onMoveEnd:void 0,onConnect:void 0,onConnectStart:void 0,onConnectEnd:void 0,onClickConnectStart:void 0,onClickConnectEnd:void 0}},Wh=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:i,fitView:s,fitViewOptions:a,minZoom:c,maxZoom:l,nodeOrigin:d,nodeExtent:f,zIndexMode:u})=>Is((p,h)=>{async function x(){let{nodeLookup:b,panZoom:m,fitViewOptions:v,fitViewResolver:g,width:w,height:E,minZoom:k,maxZoom:C}=h();m&&(await Gi({nodes:b,width:w,height:E,panZoom:m,minZoom:k,maxZoom:C},v),g?.resolve(!0),p({fitViewResolver:null}))}return{...Js({nodes:e,edges:t,width:r,height:i,fitView:s,fitViewOptions:a,minZoom:c,maxZoom:l,nodeOrigin:d,nodeExtent:f,defaultNodes:n,defaultEdges:o,zIndexMode:u}),setNodes:b=>{let{nodeLookup:m,parentLookup:v,nodeOrigin:g,nodeExtent:w,elevateNodesOnSelect:E,fitViewQueued:k,zIndexMode:C,nodesSelectionActive:S}=h(),{nodesInitialized:I,hasSelectedNodes:B}=vn(b,m,v,{nodeOrigin:g,nodeExtent:w,elevateNodesOnSelect:E,checkEquality:!0,zIndexMode:C}),O=S&&B;k&&I?(x(),p({nodes:b,nodesInitialized:I,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:O})):p({nodes:b,nodesInitialized:I,nodesSelectionActive:O})},setEdges:b=>{let{connectionLookup:m,edgeLookup:v}=h();Eo(m,v,b),p({edges:b})},setDefaultNodesAndEdges:(b,m)=>{if(b){let{setNodes:v}=h();v(b),p({hasDefaultNodes:!0})}if(m){let{setEdges:v}=h();v(m),p({hasDefaultEdges:!0})}},updateNodeInternals:b=>{let{triggerNodeChanges:m,nodeLookup:v,parentLookup:g,domNode:w,nodeOrigin:E,nodeExtent:k,debug:C,fitViewQueued:S,zIndexMode:I}=h(),{changes:B,updatedInternals:O}=cs(b,v,g,w,E,k,I);O&&(as(v,g,{nodeOrigin:E,nodeExtent:k,zIndexMode:I}),S?(x(),p({fitViewQueued:!1,fitViewOptions:void 0})):p({}),B?.length>0&&(C&&console.log("React Flow: trigger node changes",B),m?.(B)))},updateNodePositions:(b,m=!1)=>{let v=[],g=[],{nodeLookup:w,triggerNodeChanges:E,connection:k,updateConnection:C,onNodesChangeMiddlewareMap:S}=h();for(let[I,B]of b){let O=w.get(I),L=!!(O?.expandParent&&O?.parentId&&B?.position),D={id:I,type:"position",position:L?{x:Math.max(0,B.position.x),y:Math.max(0,B.position.y)}:B.position,dragging:m};if(O&&k.inProgress&&k.fromNode.id===O.id){let y=Ye(O,k.fromHandle,Y.Left,!0);C({...k,from:y})}L&&O.parentId&&v.push({id:I,parentId:O.parentId,rect:{...B.internals.positionAbsolute,width:B.measured.width??0,height:B.measured.height??0}}),g.push(D)}if(v.length>0){let{parentLookup:I,nodeOrigin:B}=h(),O=_n(v,w,I,B);g.push(...O)}for(let I of S.values())g=I(g);E(g)},triggerNodeChanges:b=>{let{onNodesChange:m,setNodes:v,nodes:g,hasDefaultNodes:w,debug:E}=h();if(b?.length){if(w){let k=sa(b,g);v(k)}E&&console.log("React Flow: trigger node changes",b),m?.(b)}},triggerEdgeChanges:b=>{let{onEdgesChange:m,setEdges:v,edges:g,hasDefaultEdges:w,debug:E}=h();if(b?.length){if(w){let k=Cf(b,g);v(k)}E&&console.log("React Flow: trigger edge changes",b),m?.(b)}},addSelectedNodes:b=>{let{multiSelectionActive:m,edgeLookup:v,nodeLookup:g,triggerNodeChanges:w,triggerEdgeChanges:E}=h();if(m){let k=b.map(C=>ot(C,!0));w(k);return}w(wt(g,new Set([...b]),!0)),E(wt(v))},addSelectedEdges:b=>{let{multiSelectionActive:m,edgeLookup:v,nodeLookup:g,triggerNodeChanges:w,triggerEdgeChanges:E}=h();if(m){let k=b.map(C=>ot(C,!0));E(k);return}E(wt(v,new Set([...b]))),w(wt(g,new Set,!0))},unselectNodesAndEdges:({nodes:b,edges:m}={})=>{let{edges:v,nodes:g,nodeLookup:w,triggerNodeChanges:E,triggerEdgeChanges:k}=h(),C=b||g,S=m||v,I=[];for(let O of C){if(!O.selected)continue;let L=w.get(O.id);L&&(L.selected=!1),I.push(ot(O.id,!1))}let B=[];for(let O of S)O.selected&&B.push(ot(O.id,!1));E(I),k(B)},setMinZoom:b=>{let{panZoom:m,maxZoom:v}=h();m?.setScaleExtent([b,v]),p({minZoom:b})},setMaxZoom:b=>{let{panZoom:m,minZoom:v}=h();m?.setScaleExtent([v,b]),p({maxZoom:b})},setTranslateExtent:b=>{h().panZoom?.setTranslateExtent(b),p({translateExtent:b})},resetSelectedElements:()=>{let{edges:b,nodes:m,triggerNodeChanges:v,triggerEdgeChanges:g,elementsSelectable:w}=h();if(!w)return;let E=m.reduce((C,S)=>S.selected?[...C,ot(S.id,!1)]:C,[]),k=b.reduce((C,S)=>S.selected?[...C,ot(S.id,!1)]:C,[]);v(E),g(k)},setNodeExtent:b=>{let{nodes:m,nodeLookup:v,parentLookup:g,nodeOrigin:w,elevateNodesOnSelect:E,nodeExtent:k,zIndexMode:C}=h();b[0][0]===k[0][0]&&b[0][1]===k[0][1]&&b[1][0]===k[1][0]&&b[1][1]===k[1][1]||(vn(m,v,g,{nodeOrigin:w,nodeExtent:b,elevateNodesOnSelect:E,checkEquality:!1,zIndexMode:C}),p({nodeExtent:b}))},panBy:b=>{let{transform:m,width:v,height:g,panZoom:w,translateExtent:E}=h();return ds({delta:b,panZoom:w,transform:m,translateExtent:E,width:v,height:g})},setCenter:async(b,m,v)=>{let{width:g,height:w,maxZoom:E,panZoom:k}=h();if(!k)return!1;let C=typeof v?.zoom<"u"?v.zoom:E;return await k.setViewport({x:g/2-b*C,y:w/2-m*C,zoom:C},{duration:v?.duration,ease:v?.ease,interpolate:v?.interpolate}),!0},cancelConnection:()=>{p({connection:{...oo}})},updateConnection:b=>{p({connection:b})},reset:()=>p({...Js()})}},Object.is);function Mo({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:o,initialWidth:r,initialHeight:i,initialMinZoom:s,initialMaxZoom:a,initialFitViewOptions:c,fitView:l,nodeOrigin:d,nodeExtent:f,zIndexMode:u,children:p}){let[h]=(0,z.useState)(()=>Wh({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:i,fitView:l,minZoom:s,maxZoom:a,fitViewOptions:c,nodeOrigin:d,nodeExtent:f,zIndexMode:u}));return(0,P.jsx)(af,{value:h,children:(0,P.jsx)(zf,{children:(0,P.jsx)(qf,{children:p})})})}function qh({children:e,nodes:t,edges:n,defaultNodes:o,defaultEdges:r,width:i,height:s,fitView:a,fitViewOptions:c,minZoom:l,maxZoom:d,nodeOrigin:f,nodeExtent:u,zIndexMode:p}){return(0,z.useContext)(In)?(0,P.jsx)(P.Fragment,{children:e}):(0,P.jsx)(Mo,{initialNodes:t,initialEdges:n,defaultNodes:o,defaultEdges:r,initialWidth:i,initialHeight:s,fitView:a,initialFitViewOptions:c,initialMinZoom:l,initialMaxZoom:d,nodeOrigin:f,nodeExtent:u,zIndexMode:p,children:e})}var jh={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function Gh({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,className:r,nodeTypes:i,edgeTypes:s,onNodeClick:a,onEdgeClick:c,onInit:l,onMove:d,onMoveStart:f,onMoveEnd:u,onConnect:p,onConnectStart:h,onConnectEnd:x,onClickConnectStart:b,onClickConnectEnd:m,onNodeMouseEnter:v,onNodeMouseMove:g,onNodeMouseLeave:w,onNodeContextMenu:E,onNodeDoubleClick:k,onNodeDragStart:C,onNodeDrag:S,onNodeDragStop:I,onNodesDelete:B,onEdgesDelete:O,onDelete:L,onSelectionChange:D,onSelectionDragStart:y,onSelectionDrag:_,onSelectionDragStop:N,onSelectionContextMenu:M,onSelectionStart:A,onSelectionEnd:T,onBeforeDelete:H,connectionMode:$,connectionLineType:V=Ee.Bezier,connectionLineStyle:j,connectionLineComponent:F,connectionLineContainerStyle:G,deleteKeyCode:ee="Backspace",selectionKeyCode:q="Shift",selectionOnDrag:R=!1,selectionMode:X=Je.Full,panActivationKeyCode:Q="Space",multiSelectionKeyCode:U=yt()?"Meta":"Control",zoomActivationKeyCode:W=yt()?"Meta":"Control",snapToGrid:K,snapGrid:te,onlyRenderVisibleElements:ne=!1,selectNodesOnDrag:oe,nodesDraggable:ue,autoPanOnNodeFocus:Se,nodesConnectable:ve,nodesFocusable:_e,nodeOrigin:Ce=ra,edgesFocusable:_t,edgesReconnectable:We,elementsSelectable:qe=!0,defaultViewport:be=xf,minZoom:Ie=.5,maxZoom:Me=2,translateExtent:je=ft,preventScrolling:$n=!0,nodeExtent:Hn,defaultMarkerColor:Ol="#b1b1b7",zoomOnScroll:Pl=!0,zoomOnPinch:zl=!0,panOnScroll:Dl=!1,panOnScrollSpeed:Al=.5,panOnScrollMode:Tl=De.Free,zoomOnDoubleClick:Ll=!0,panOnDrag:Rl=!0,onPaneClick:$l,onPaneMouseEnter:Hl,onPaneMouseMove:Bl,onPaneMouseLeave:Vl,onPaneScroll:Fl,onPaneContextMenu:Yl,paneClickDistance:Xl=1,nodeClickDistance:Zl=0,children:Wl,onReconnect:ql,onReconnectStart:jl,onReconnectEnd:Gl,onEdgeContextMenu:Kl,onEdgeDoubleClick:Ul,onEdgeMouseEnter:Ql,onEdgeMouseMove:Jl,onEdgeMouseLeave:ec,reconnectRadius:tc=10,onNodesChange:nc,onEdgesChange:oc,noDragClassName:rc="nodrag",noWheelClassName:ic="nowheel",noPanClassName:Wo="nopan",fitView:qo,fitViewOptions:jo,connectOnClick:sc,attributionPosition:ac,proOptions:lc,defaultEdgeOptions:cc,elevateNodesOnSelect:dc=!0,elevateEdgesOnSelect:uc=!1,disableKeyboardA11y:Go=!1,autoPanOnConnect:fc,autoPanOnNodeDrag:hc,autoPanOnSelection:pc=!0,autoPanSpeed:gc,connectionRadius:mc,isValidConnection:yc,onError:wc,style:bc,id:Ko,nodeDragThreshold:xc,connectionDragThreshold:vc,viewport:_c,onViewportChange:Ec,width:kc,height:Nc,colorMode:Sc="light",debug:Cc,onScroll:Uo,ariaLabelConfig:Ic,zIndexMode:Qo="basic",...Mc},Oc){let Bn=Ko||"1",Pc=kf(Sc),zc=(0,z.useCallback)(Jo=>{Jo.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Uo?.(Jo)},[Uo]);return(0,P.jsx)("div",{"data-testid":"rf__wrapper",...Mc,onScroll:zc,style:{...bc,...jh},ref:Oc,className:se(["react-flow",r,Pc]),id:Ko,role:"application",children:(0,P.jsxs)(qh,{nodes:e,edges:t,width:kc,height:Nc,fitView:qo,fitViewOptions:jo,minZoom:Ie,maxZoom:Me,nodeOrigin:Ce,nodeExtent:Hn,zIndexMode:Qo,children:[(0,P.jsx)(Ef,{nodes:e,edges:t,defaultNodes:n,defaultEdges:o,onConnect:p,onConnectStart:h,onConnectEnd:x,onClickConnectStart:b,onClickConnectEnd:m,nodesDraggable:ue,autoPanOnNodeFocus:Se,nodesConnectable:ve,nodesFocusable:_e,edgesFocusable:_t,edgesReconnectable:We,elementsSelectable:qe,elevateNodesOnSelect:dc,elevateEdgesOnSelect:uc,minZoom:Ie,maxZoom:Me,nodeExtent:Hn,onNodesChange:nc,onEdgesChange:oc,snapToGrid:K,snapGrid:te,connectionMode:$,translateExtent:je,connectOnClick:sc,defaultEdgeOptions:cc,fitView:qo,fitViewOptions:jo,onNodesDelete:B,onEdgesDelete:O,onDelete:L,onNodeDragStart:C,onNodeDrag:S,onNodeDragStop:I,onSelectionDrag:_,onSelectionDragStart:y,onSelectionDragStop:N,onMove:d,onMoveStart:f,onMoveEnd:u,noPanClassName:Wo,nodeOrigin:Ce,rfId:Bn,autoPanOnConnect:fc,autoPanOnNodeDrag:hc,autoPanSpeed:gc,onError:wc,connectionRadius:mc,isValidConnection:yc,selectNodesOnDrag:oe,nodeDragThreshold:xc,connectionDragThreshold:vc,onBeforeDelete:H,debug:Cc,ariaLabelConfig:Ic,zIndexMode:Qo}),(0,P.jsx)(Xh,{onInit:l,onNodeClick:a,onEdgeClick:c,onNodeMouseEnter:v,onNodeMouseMove:g,onNodeMouseLeave:w,onNodeContextMenu:E,onNodeDoubleClick:k,nodeTypes:i,edgeTypes:s,connectionLineType:V,connectionLineStyle:j,connectionLineComponent:F,connectionLineContainerStyle:G,selectionKeyCode:q,selectionOnDrag:R,selectionMode:X,deleteKeyCode:ee,multiSelectionKeyCode:U,panActivationKeyCode:Q,zoomActivationKeyCode:W,onlyRenderVisibleElements:ne,defaultViewport:be,translateExtent:je,minZoom:Ie,maxZoom:Me,preventScrolling:$n,zoomOnScroll:Pl,zoomOnPinch:zl,zoomOnDoubleClick:Ll,panOnScroll:Dl,panOnScrollSpeed:Al,panOnScrollMode:Tl,panOnDrag:Rl,autoPanOnSelection:pc,onPaneClick:$l,onPaneMouseEnter:Hl,onPaneMouseMove:Bl,onPaneMouseLeave:Vl,onPaneScroll:Fl,onPaneContextMenu:Yl,paneClickDistance:Xl,nodeClickDistance:Zl,onSelectionContextMenu:M,onSelectionStart:A,onSelectionEnd:T,onReconnect:ql,onReconnectStart:jl,onReconnectEnd:Gl,onEdgeContextMenu:Kl,onEdgeDoubleClick:Ul,onEdgeMouseEnter:Ql,onEdgeMouseMove:Jl,onEdgeMouseLeave:ec,reconnectRadius:tc,defaultMarkerColor:Ol,noDragClassName:rc,noWheelClassName:ic,noPanClassName:Wo,rfId:Bn,disableKeyboardA11y:Go,nodeExtent:Hn,viewport:_c,onViewportChange:Ec,nodesDraggable:ue}),(0,P.jsx)(bf,{onSelectionChange:D}),Wl,(0,P.jsx)(pf,{proOptions:lc,position:ac}),(0,P.jsx)(hf,{rfId:Bn,disableKeyboardA11y:Go})]})})}var Da=aa(Gh);var Kh=e=>e.nodes;function Aa(){return J(Kh,re)}function Ta(e){let[t,n]=(0,z.useState)(e),o=(0,z.useCallback)(r=>n(i=>sa(r,i)),[]);return[t,n,o]}var Uh=e=>t=>{if(!e.includeHiddenNodes)return t.nodesInitialized;if(t.nodeLookup.size===0)return!1;for(let[,{internals:n}]of t.nodeLookup)if(n.handleBounds===void 0||!gn(n.userNode))return!1;return!0};function La(e={includeHiddenNodes:!1}){return J(Uh(e))}var ov=ge.error014();function Qh({dimensions:e,lineWidth:t,variant:n,className:o}){return(0,P.jsx)("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:se(["react-flow__background-pattern",n,o])})}function Jh({radius:e,className:t}){return(0,P.jsx)("circle",{cx:e,cy:e,r:e,className:se(["react-flow__background-pattern","dots",t])})}var Ze;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Ze||(Ze={}));var ep={[Ze.Dots]:1,[Ze.Lines]:1,[Ze.Cross]:6},tp=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Ra({id:e,variant:t=Ze.Dots,gap:n=20,size:o,lineWidth:r=1,offset:i=0,color:s,bgColor:a,style:c,className:l,patternClassName:d}){let f=(0,z.useRef)(null),{transform:u,patternId:p}=J(tp,re),h=o||ep[t],x=t===Ze.Dots,b=t===Ze.Cross,m=Array.isArray(n)?n:[n,n],v=[m[0]*u[2]||1,m[1]*u[2]||1],g=h*u[2],w=Array.isArray(i)?i:[i,i],E=b?[g,g]:v,k=[w[0]*u[2]+E[0]/2,w[1]*u[2]+E[1]/2],C=`${p}${e||""}`;return(0,P.jsxs)("svg",{className:se(["react-flow__background",l]),style:{...c,...On,"--xy-background-color-props":a,"--xy-background-pattern-color-props":s},ref:f,"data-testid":"rf__background",children:[(0,P.jsx)("pattern",{id:C,x:u[0]%v[0],y:u[1]%v[1],width:v[0],height:v[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${k[0]},-${k[1]})`,children:x?(0,P.jsx)(Jh,{radius:g/2,className:d}):(0,P.jsx)(Qh,{dimensions:E,lineWidth:r,variant:t,className:d})}),(0,P.jsx)("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${C})`})]})}Ra.displayName="Background";var rv=(0,z.memo)(Ra);function np(){return(0,P.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:(0,P.jsx)("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function op(){return(0,P.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:(0,P.jsx)("path",{d:"M0 0h32v4.2H0z"})})}function rp(){return(0,P.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:(0,P.jsx)("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function ip(){return(0,P.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,P.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function sp(){return(0,P.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,P.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function Sn({children:e,className:t,...n}){return(0,P.jsx)("button",{type:"button",className:se(["react-flow__controls-button",t]),...n,children:e})}var ap=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function $a({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:o=!0,fitViewOptions:r,onZoomIn:i,onZoomOut:s,onFitView:a,onInteractiveChange:c,className:l,children:d,position:f="bottom-left",orientation:u="vertical","aria-label":p}){let h=ie(),{isInteractive:x,minZoomReached:b,maxZoomReached:m,ariaLabelConfig:v}=J(ap,re),{zoomIn:g,zoomOut:w,fitView:E}=bt(),k=()=>{g(),i?.()},C=()=>{w(),s?.()},S=()=>{E(r),a?.()},I=()=>{h.setState({nodesDraggable:!x,nodesConnectable:!x,elementsSelectable:!x}),c?.(!x)};return(0,P.jsxs)(Mn,{className:se(["react-flow__controls",u==="horizontal"?"horizontal":"vertical",l]),position:f,style:e,"data-testid":"rf__controls","aria-label":p??v["controls.ariaLabel"],children:[t&&(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Sn,{onClick:k,className:"react-flow__controls-zoomin",title:v["controls.zoomIn.ariaLabel"],"aria-label":v["controls.zoomIn.ariaLabel"],disabled:m,children:(0,P.jsx)(np,{})}),(0,P.jsx)(Sn,{onClick:C,className:"react-flow__controls-zoomout",title:v["controls.zoomOut.ariaLabel"],"aria-label":v["controls.zoomOut.ariaLabel"],disabled:b,children:(0,P.jsx)(op,{})})]}),n&&(0,P.jsx)(Sn,{className:"react-flow__controls-fitview",onClick:S,title:v["controls.fitView.ariaLabel"],"aria-label":v["controls.fitView.ariaLabel"],children:(0,P.jsx)(rp,{})}),o&&(0,P.jsx)(Sn,{className:"react-flow__controls-interactive",onClick:I,title:v["controls.interactive.ariaLabel"],"aria-label":v["controls.interactive.ariaLabel"],children:x?(0,P.jsx)(sp,{}):(0,P.jsx)(ip,{})}),d]})}$a.displayName="Controls";var iv=(0,z.memo)($a);function lp({id:e,x:t,y:n,width:o,height:r,style:i,color:s,strokeColor:a,strokeWidth:c,className:l,borderRadius:d,shapeRendering:f,selected:u,onClick:p}){let{background:h,backgroundColor:x}=i||{},b=s||h||x;return(0,P.jsx)("rect",{className:se(["react-flow__minimap-node",{selected:u},l]),x:t,y:n,rx:d,ry:d,width:o,height:r,style:{fill:b,stroke:a,strokeWidth:c},shapeRendering:f,onClick:p?m=>p(m,e):void 0})}var cp=(0,z.memo)(lp),dp=e=>e.nodes.map(t=>t.id),So=e=>e instanceof Function?e:()=>e;function up({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:o=5,nodeStrokeWidth:r,nodeComponent:i=cp,onClick:s}){let a=J(dp,re),c=So(t),l=So(e),d=So(n),f=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return(0,P.jsx)(P.Fragment,{children:a.map(u=>(0,P.jsx)(hp,{id:u,nodeColorFunc:c,nodeStrokeColorFunc:l,nodeClassNameFunc:d,nodeBorderRadius:o,nodeStrokeWidth:r,NodeComponent:i,onClick:s,shapeRendering:f},u))})}function fp({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:o,nodeBorderRadius:r,nodeStrokeWidth:i,shapeRendering:s,NodeComponent:a,onClick:c}){let{node:l,x:d,y:f,width:u,height:p}=J(h=>{let x=h.nodeLookup.get(e);if(!x)return{node:void 0,x:0,y:0,width:0,height:0};let b=x.internals.userNode,{x:m,y:v}=x.internals.positionAbsolute,{width:g,height:w}=we(b);return{node:b,x:m,y:v,width:g,height:w}},re);return!l||l.hidden||!gn(l)?null:(0,P.jsx)(a,{x:d,y:f,width:u,height:p,style:l.style,selected:!!l.selected,className:o(l),color:t(l),borderRadius:r,strokeColor:n(l),strokeWidth:i,shapeRendering:s,onClick:c,id:l.id})}var hp=(0,z.memo)(fp),pp=(0,z.memo)(up),gp=200,mp=150,yp=e=>!e.hidden,wp=e=>{let t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]},n=!1;for(let o of e.nodeLookup.values())if(!o.hidden){n=!0;break}return{viewBB:t,boundingRect:n?lo(ht(e.nodeLookup,{filter:yp}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},ea=(e,t)=>e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height,bp=(e,t)=>ea(e.viewBB,t.viewBB)&&ea(e.boundingRect,t.boundingRect)&&e.rfId===t.rfId&&e.panZoom===t.panZoom&&e.translateExtent===t.translateExtent&&e.flowWidth===t.flowWidth&&e.flowHeight===t.flowHeight&&e.ariaLabelConfig===t.ariaLabelConfig,xp="react-flow__minimap-desc";function Ha({style:e,className:t,nodeStrokeColor:n,nodeColor:o,nodeClassName:r="",nodeBorderRadius:i=5,nodeStrokeWidth:s,nodeComponent:a,bgColor:c,maskColor:l,maskStrokeColor:d,maskStrokeWidth:f,position:u="bottom-right",onClick:p,onNodeClick:h,pannable:x=!1,zoomable:b=!1,ariaLabel:m,inversePan:v,zoomStep:g=1,offsetScale:w=5}){let E=ie(),k=(0,z.useRef)(null),{boundingRect:C,panZoom:S,viewBB:I,rfId:B,translateExtent:O,flowWidth:L,flowHeight:D,ariaLabelConfig:y}=J(wp,bp),_=e?.width??gp,N=e?.height??mp,M=C.width/_,A=C.height/N,T=Math.max(M,A),H=T*_,$=T*N,V=w*T,j=C.x-(H-C.width)/2-V,F=C.y-($-C.height)/2-V,G=H+V*2,ee=$+V*2,q=`${xp}-${B}`,R=(0,z.useRef)(0),X=(0,z.useRef)();R.current=T,(0,z.useEffect)(()=>{let te=E.getState().panZoom;if(k.current&&te)return X.current=ys({domNode:k.current,panZoom:te,getTransform:()=>E.getState().transform,getViewScale:()=>R.current}),()=>{X.current?.destroy()}},[S]),(0,z.useEffect)(()=>{X.current?.update({translateExtent:O,width:L,height:D,inversePan:v,pannable:x,zoomStep:g,zoomable:b})},[x,b,v,g,O,L,D]);let Q=p?te=>{let[ne,oe]=X.current?.pointer(te)||[0,0];p(te,{x:ne,y:oe})}:void 0,U=(0,z.useCallback)((te,ne)=>{let oe=E.getState().nodeLookup.get(ne).internals.userNode;h?.(te,oe)},[h]),W=h?U:void 0,K=m??y["minimap.ariaLabel"];return(0,P.jsx)(Mn,{position:u,style:{...e,"--xy-minimap-background-color-props":typeof c=="string"?c:void 0,"--xy-minimap-mask-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-mask-stroke-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-width-props":typeof f=="number"?f*T:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof n=="string"?n:void 0,"--xy-minimap-node-stroke-width-props":typeof s=="number"?s:void 0},className:se(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:(0,P.jsxs)("svg",{width:_,height:N,viewBox:`${j} ${F} ${G} ${ee}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":q,ref:k,onClick:Q,children:[K&&(0,P.jsx)("title",{id:q,children:K}),(0,P.jsx)(pp,{onClick:W,nodeColor:o,nodeStrokeColor:n,nodeBorderRadius:i,nodeClassName:r,nodeStrokeWidth:s,nodeComponent:a}),(0,P.jsx)("path",{className:"react-flow__minimap-mask",d:`M${j-V},${F-V}h${G+V*2}v${ee+V*2}h${-G-V*2}z
|
|
7
|
-
M${I.x},${I.y}h${I.width}v${I.height}h${-I.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}Ha.displayName="MiniMap";var sv=(0,z.memo)(Ha),vp=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,_p={[Xe.Line]:"right",[Xe.Handle]:"bottom-right"};function Ep({nodeId:e,position:t,variant:n=Xe.Handle,className:o,style:r=void 0,children:i,color:s,minWidth:a=10,minHeight:c=10,maxWidth:l=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:f=!1,resizeDirection:u,autoScale:p=!0,shouldResize:h,onResizeStart:x,onResize:b,onResizeEnd:m}){let v=fa(),g=typeof e=="string"?e:v,w=ie(),E=(0,z.useRef)(null),k=n===Xe.Handle,C=J((0,z.useCallback)(vp(k&&p),[k,p]),re),S=(0,z.useRef)(null),I=t??_p[n];(0,z.useEffect)(()=>{if(!(!E.current||!g))return S.current||(S.current=_s({domNode:E.current,nodeId:g,getStoreItems:()=>{let{nodeLookup:O,transform:L,snapGrid:D,snapToGrid:y,nodeOrigin:_,domNode:N}=w.getState();return{nodeLookup:O,transform:L,snapGrid:D,snapToGrid:y,nodeOrigin:_,paneDomNode:N}},onChange:(O,L)=>{let{triggerNodeChanges:D,nodeLookup:y,parentLookup:_,nodeOrigin:N}=w.getState(),M=[],A={x:O.x,y:O.y},T=y.get(g);if(T&&T.expandParent&&T.parentId){let H=T.origin??N,$=O.width??T.measured.width??0,V=O.height??T.measured.height??0,j={id:T.id,parentId:T.parentId,rect:{width:$,height:V,...fo({x:O.x??T.position.x,y:O.y??T.position.y},{width:$,height:V},T.parentId,y,H)}},F=_n([j],y,_,N);M.push(...F),A.x=O.x?Math.max(H[0]*$,O.x):void 0,A.y=O.y?Math.max(H[1]*V,O.y):void 0}if(A.x!==void 0&&A.y!==void 0){let H={id:g,type:"position",position:{...A}};M.push(H)}if(O.width!==void 0&&O.height!==void 0){let $={id:g,type:"dimensions",resizing:!0,setAttributes:u?u==="horizontal"?"width":"height":!0,dimensions:{width:O.width,height:O.height}};M.push($)}for(let H of L){let $={...H,type:"position"};M.push($)}D(M)},onEnd:({width:O,height:L})=>{let D={id:g,type:"dimensions",resizing:!1,dimensions:{width:O,height:L}};w.getState().triggerNodeChanges([D])}})),S.current.update({controlPosition:I,boundaries:{minWidth:a,minHeight:c,maxWidth:l,maxHeight:d},keepAspectRatio:f,resizeDirection:u,onResizeStart:x,onResize:b,onResizeEnd:m,shouldResize:h}),()=>{S.current?.destroy()}},[I,a,c,l,d,f,x,b,m,h]);let B=I.split("-");return(0,P.jsx)("div",{className:se(["react-flow__resize-control","nodrag",...B,n,o]),ref:E,style:{...r,scale:C,...s&&{[k?"backgroundColor":"borderColor"]:s}},children:i})}var av=(0,z.memo)(Ep);var il=Object.defineProperty,kp=(e,t,n)=>t in e?il(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Np=(e,t)=>{for(var n in t)il(e,n,{get:t[n],enumerable:!0})},Sp=(e,t,n)=>kp(e,typeof t!="symbol"?t+"":t,n),Ro={};Np(Ro,{Graph:()=>Ne,alg:()=>Ho});var Cp=Object.defineProperty,sl=(e,t)=>{for(var n in t)Cp(e,n,{get:t[n],enumerable:!0})},$o=class{constructor(e){this._isDirected=!0,this._isMultigraph=!1,this._isCompound=!1,this._nodes={},this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={},this._nodeCount=0,this._edgeCount=0,this._defaultNodeLabelFn=()=>{},this._defaultEdgeLabelFn=()=>{},e&&(this._isDirected="directed"in e?e.directed:!0,this._isMultigraph="multigraph"in e?e.multigraph:!1,this._isCompound="compound"in e?e.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}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 typeof e!="function"?this._defaultNodeLabelFn=()=>e:this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){return this.nodes().filter(e=>Object.keys(this._in[e]).length===0)}sinks(){return this.nodes().filter(e=>Object.keys(this._out[e]).length===0)}setNodes(e,t){return e.forEach(n=>{t!==void 0?this.setNode(n,t):this.setNode(n)}),this}setNode(e,t){return e in this._nodes?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]="\0",this._children[e]={},this._children["\0"][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 e in this._nodes}removeNode(e){if(e in this._nodes){let t=n=>this.removeEdge(this._edgeObjs[n]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],this.children(e).forEach(n=>{this.setParent(n)}),delete this._children[e]),Object.keys(this._in[e]).forEach(t),delete this._in[e],delete this._preds[e],Object.keys(this._out[e]).forEach(t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(t===void 0)t="\0";else{t+="";for(let n=t;n!==void 0;n=this.parent(n))if(n===e)throw new Error("Setting "+t+" as parent of "+e+" would create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}parent(e){if(this._isCompound){let t=this._parent[e];if(t!=="\0")return t}}children(e="\0"){if(this._isCompound){let t=this._children[e];if(t)return Object.keys(t)}else{if(e==="\0")return this.nodes();if(this.hasNode(e))return[]}return[]}predecessors(e){let t=this._preds[e];if(t)return Object.keys(t)}successors(e){let t=this._sucs[e];if(t)return Object.keys(t)}neighbors(e){let t=this.predecessors(e);if(t){let n=new Set(t),o=this.successors(e);if(o)for(let r of o)n.add(r);return Array.from(n.values())}}isLeaf(e){var t;let n;return this.isDirected()?n=this.successors(e):n=this.neighbors(e),((t=n?.length)!=null?t:0)===0}filterNodes(e){let t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph()),Object.entries(this._nodes).forEach(([r,i])=>{e(r)&&t.setNode(r,i)}),Object.values(this._edgeObjs).forEach(r=>{t.hasNode(r.v)&&t.hasNode(r.w)&&t.setEdge(r,this.edge(r))});let n={},o=r=>{let i=this.parent(r);return!i||t.hasNode(i)?(n[r]=i,i):i in n?n[i]:o(i)};return this._isCompound&&t.nodes().forEach(r=>t.setParent(r,o(r))),t}setDefaultEdgeLabel(e){return typeof e!="function"?this._defaultEdgeLabelFn=()=>e:this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(e,t){return e.reduce((n,o)=>(t!==void 0?this.setEdge(n,o,t):this.setEdge(n,o),o)),this}setEdge(e,t,n,o){let r,i,s,a,c=!1;typeof e=="object"&&e!==null&&"v"in e?(r=e.v,i=e.w,s=e.name,arguments.length===2&&(a=t,c=!0)):(r=e,i=t,s=o,arguments.length>2&&(a=n,c=!0)),r=""+r,i=""+i,s!==void 0&&(s=""+s);let l=Vt(this._isDirected,r,i,s);if(l in this._edgeLabels)return c&&(this._edgeLabels[l]=a),this;if(s!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(r),this.setNode(i),this._edgeLabels[l]=c?a:this._defaultEdgeLabelFn(r,i,s);let d=Ip(this._isDirected,r,i,s);return r=d.v,i=d.w,Object.freeze(d),this._edgeObjs[l]=d,Ba(this._preds[i],r),Ba(this._sucs[r],i),this._in[i][l]=d,this._out[r][l]=d,this._edgeCount++,this}edge(e,t,n){let o=arguments.length===1?Oo(this._isDirected,e):Vt(this._isDirected,e,t,n);return this._edgeLabels[o]}edgeAsObj(e,t,n){let o=arguments.length===1?this.edge(e):this.edge(e,t,n);return typeof o!="object"||o===null?{label:o}:o}hasEdge(e,t,n){return(arguments.length===1?Oo(this._isDirected,e):Vt(this._isDirected,e,t,n))in this._edgeLabels}removeEdge(e,t,n){let o=arguments.length===1?Oo(this._isDirected,e):Vt(this._isDirected,e,t,n),r=this._edgeObjs[o];if(r){let i=r.v,s=r.w;delete this._edgeLabels[o],delete this._edgeObjs[o],Va(this._preds[s],i),Va(this._sucs[i],s),delete this._in[s][o],delete this._out[i][o],this._edgeCount--}return this}inEdges(e,t){return this.isDirected()?this.filterEdges(this._in[e],e,t):this.nodeEdges(e,t)}outEdges(e,t){return this.isDirected()?this.filterEdges(this._out[e],e,t):this.nodeEdges(e,t)}nodeEdges(e,t){if(e in this._nodes)return this.filterEdges({...this._in[e],...this._out[e]},e,t)}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}filterEdges(e,t,n){if(!e)return;let o=Object.values(e);return n?o.filter(r=>r.v===t&&r.w===n||r.v===n&&r.w===t):o}};function Ba(e,t){e[t]?e[t]++:e[t]=1}function Va(e,t){e[t]!==void 0&&!--e[t]&&delete e[t]}function Vt(e,t,n,o){let r=""+t,i=""+n;if(!e&&r>i){let s=r;r=i,i=s}return r+""+i+""+(o===void 0?"\0":o)}function Ip(e,t,n,o){let r=""+t,i=""+n;if(!e&&r>i){let a=r;r=i,i=a}let s={v:r,w:i};return o&&(s.name=o),s}function Oo(e,t){return Vt(e,t.v,t.w,t.name)}var Mp={};sl(Mp,{read:()=>Dp,write:()=>Op});function Op(e){let t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:Pp(e),edges:zp(e)},n=e.graph();return n!==void 0&&(t.value=structuredClone(n)),t}function Pp(e){return e.nodes().map(t=>{let n=e.node(t),o=e.parent(t),r={v:t};return n!==void 0&&(r.value=n),o!==void 0&&(r.parent=o),r})}function zp(e){return e.edges().map(t=>{let n=e.edge(t),o={v:t.v,w:t.w};return t.name!==void 0&&(o.name=t.name),n!==void 0&&(o.value=n),o})}function Dp(e){let t=new $o(e.options);return e.value!==void 0&&t.setGraph(e.value),e.nodes.forEach(n=>{t.setNode(n.v,n.value),n.parent&&t.setParent(n.v,n.parent)}),e.edges.forEach(n=>{t.setEdge({v:n.v,w:n.w,name:n.name},n.value)}),t}var Ho={};sl(Ho,{CycleException:()=>Dn,bellmanFord:()=>al,components:()=>Lp,dijkstra:()=>zn,dijkstraAll:()=>Hp,findCycles:()=>Bp,floydWarshall:()=>Fp,isAcyclic:()=>Xp,postorder:()=>Wp,preorder:()=>qp,prim:()=>jp,shortestPaths:()=>Gp,tarjan:()=>cl,topsort:()=>dl});var Ap=()=>1;function al(e,t,n,o){return Tp(e,String(t),n||Ap,o||function(r){var i;return(i=e.outEdges(r))!=null?i:[]})}function Tp(e,t,n,o){let r={},i,s=0,a=e.nodes(),c=function(f){let u=r[f.v],p=r[f.w];if(!u||!p)return;let h=n(f);u.distance+h<p.distance&&(r[f.w]={distance:u.distance+h,predecessor:f.v},i=!0)},l=function(){a.forEach(function(f){o(f).forEach(function(u){let p=u.v===f?u.v:u.w,h=p===u.v?u.w:u.v;c({v:p,w:h})})})};a.forEach(function(f){let u=f===t?0:Number.POSITIVE_INFINITY;r[f]={distance:u,predecessor:""}});let d=a.length;for(let f=1;f<d&&(i=!1,s++,l(),!!i);f++);if(s===d-1&&(i=!1,l(),i))throw new Error("The graph contains a negative weight cycle");return r}function Lp(e){let t={},n=[],o;function r(i){var s,a;i in t||(t[i]=!0,o.push(i),(s=e.successors(i))==null||s.forEach(r),(a=e.predecessors(i))==null||a.forEach(r))}return e.nodes().forEach(function(i){o=[],r(i),o.length&&n.push(o)}),n}var ll=class{constructor(){this._arr=[],this._keyIndices={}}size(){return this._arr.length}keys(){return this._arr.map(e=>e.key)}has(e){return e in this._keyIndices}priority(e){let t=this._keyIndices[e];if(t!==void 0)return this._arr[t].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(e,t){let n=this._keyIndices,o=String(e);if(!(o in n)){let r=this._arr,i=r.length;return n[o]=i,r.push({key:o,priority:t}),this._decrease(i),!0}return!1}removeMin(){if(this.size()===0)throw new Error("Queue underflow");this._swap(0,this._arr.length-1);let e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key}decrease(e,t){let n=this._keyIndices[e];if(n===void 0)throw new Error(`Key not found: ${e}`);let o=this._arr[n].priority;if(t>o)throw new Error(`New priority is greater than current priority. Key: ${e} Old: ${o} New: ${t}`);this._arr[n].priority=t,this._decrease(n)}_heapify(e){let t=this._arr,n=2*e,o=n+1,r=e;n<t.length&&(r=t[n].priority<t[r].priority?n:r,o<t.length&&(r=t[o].priority<t[r].priority?o:r),r!==e&&(this._swap(e,r),this._heapify(r)))}_decrease(e){let t=this._arr,n=t[e].priority,o;for(;e!==0&&(o=e>>1,!(t[o].priority<n));)this._swap(e,o),e=o}_swap(e,t){let n=this._arr,o=this._keyIndices,r=n[e],i=n[t];n[e]=i,n[t]=r,o[i.key]=e,o[r.key]=t}},Rp=()=>1;function zn(e,t,n,o){let r=function(i){var s;return(s=e.outEdges(i))!=null?s:[]};return $p(e,String(t),n||Rp,o||r)}function $p(e,t,n,o){let r={},i=new ll,s,a,c=function(l){let d=l.v!==s?l.v:l.w,f=r[d];if(!f)return;let u=n(l),p=a.distance+u;if(u<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+l+" Weight: "+u);p<f.distance&&(f.distance=p,f.predecessor=s,i.decrease(d,p))};for(e.nodes().forEach(function(l){let d=l===t?0:Number.POSITIVE_INFINITY;r[l]={distance:d,predecessor:""},i.add(l,d)});i.size()>0;){s=i.removeMin();let l=r[s];if(!l||l.distance===Number.POSITIVE_INFINITY)break;a=l,o(s).forEach(c)}return r}function Hp(e,t,n){return e.nodes().reduce(function(o,r){return o[r]=zn(e,r,t,n),o},{})}function cl(e){let t=0,n=[],o={},r=[];function i(s){var a;let c=o[s]={onStack:!0,lowlink:t,index:t++};if(n.push(s),(a=e.successors(s))==null||a.forEach(function(l){if(l in o){let d=o[l];d!=null&&d.onStack&&(c.lowlink=Math.min(c.lowlink,d.index))}else{i(l);let d=o[l];d&&(c.lowlink=Math.min(c.lowlink,d.lowlink))}}),c.lowlink===c.index){let l=[],d;do{d=n.pop();let f=o[d];f&&(f.onStack=!1),l.push(d)}while(s!==d);r.push(l)}}return e.nodes().forEach(function(s){s in o||i(s)}),r}function Bp(e){return cl(e).filter(function(t){var n;let o=t[0];return o?t.length>1||t.length===1&&((n=e.outEdges(o,o))!=null?n:[]).length>0:!1})}var Vp=()=>1;function Fp(e,t,n){return Yp(e,t||Vp,n||function(o){var r;return(r=e.outEdges(o))!=null?r:[]})}function Yp(e,t,n){let o={},r=e.nodes();return r.forEach(function(i){let s={};o[i]=s,s[i]={distance:0,predecessor:""},r.forEach(function(a){i!==a&&(s[a]={distance:Number.POSITIVE_INFINITY,predecessor:""})}),n(i).forEach(function(a){let c=a.v===i?a.w:a.v,l=t(a);s[c]={distance:l,predecessor:i}})}),r.forEach(function(i){let s=o[i];s&&r.forEach(function(a){let c=o[a];c&&r.forEach(function(l){let d=c[i],f=s[l],u=c[l];if(d&&f&&u){let p=d.distance+f.distance;p<u.distance&&(u.distance=p,u.predecessor=f.predecessor)}})})}),o}var Dn=class extends Error{constructor(e){super(e),this.name="CycleException"}};function dl(e){let t={},n={},o=[];function r(i){var s;if(i in n)throw new Dn;i in t||(n[i]=!0,t[i]=!0,(s=e.predecessors(i))==null||s.forEach(r),delete n[i],o.push(i))}if(e.sinks().forEach(r),Object.keys(t).length!==e.nodeCount())throw new Dn;return o}function Xp(e){try{dl(e)}catch(t){if(t instanceof Dn)return!1;throw t}return!0}function Zp(e,t,n,o,r){Array.isArray(t)||(t=[t]);let i=(a=>{var c;return(c=e.isDirected()?e.successors(a):e.neighbors(a))!=null?c:[]}),s={};return t.forEach(function(a){if(!e.hasNode(a))throw new Error("Graph does not have node: "+a);r=ul(e,a,n==="post",s,i,o,r)}),r}function ul(e,t,n,o,r,i,s){return t in o||(o[t]=!0,n||(s=i(s,t)),r(t).forEach(function(a){s=ul(e,a,n,o,r,i,s)}),n&&(s=i(s,t))),s}function fl(e,t,n){return Zp(e,t,n,function(o,r){return o.push(r),o},[])}function Wp(e,t){return fl(e,t,"post")}function qp(e,t){return fl(e,t,"pre")}function jp(e,t){var n;let o=new $o,r={},i=new ll,s;function a(d){let f=d.v===s?d.w:d.v,u=i.priority(f);if(u!==void 0){let p=t(d);p<u&&(r[f]=s,i.decrease(f,p))}}if(e.nodeCount()===0)return o;e.nodes().forEach(function(d){i.add(d,Number.POSITIVE_INFINITY),o.setNode(d)});let c=e.nodes()[0];c!==void 0&&i.decrease(c,0);let l=!1;for(;i.size()>0;){if(s=i.removeMin(),s in r)o.setEdge(s,r[s]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}(n=e.nodeEdges(s))==null||n.forEach(a)}return o}function Gp(e,t,n,o){return Kp(e,t,n,o??(r=>{var i;return(i=e.outEdges(r))!=null?i:[]}))}function Kp(e,t,n,o){if(n===void 0)return zn(e,t,n,o);let r=!1,i=e.nodes();for(let s=0;s<i.length;s++){let a=i[s];if(a===void 0)continue;let c=o(a);for(let l=0;l<c.length;l++){let d=c[l];if(!d)continue;let f=d.v===a?d.v:d.w,u=f===d.v?d.w:d.v;n({v:f,w:u})<0&&(r=!0)}if(r)return al(e,t,n,o)}return zn(e,t,n,o)}var Ne=$o;function vt(e,t,n,o){let r=o;for(;e.hasNode(r);)r=Bo(o);return n.dummy=t,e.setNode(r,n),r}function Up(e){let t=new Ne().setGraph(e.graph());return e.nodes().forEach(n=>t.setNode(n,e.node(n))),e.edges().forEach(n=>{let o=t.edge(n.v,n.w)||{weight:0,minlen:1},r=e.edge(n);t.setEdge(n.v,n.w,{weight:o.weight+r.weight,minlen:Math.max(o.minlen,r.minlen)})}),t}function hl(e){let t=new Ne({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(n=>{e.children(n).length||t.setNode(n,e.node(n))}),e.edges().forEach(n=>{t.setEdge(n,e.edge(n))}),t}function Fa(e,t){let n=e.x,o=e.y,r=t.x-n,i=t.y-o,s=e.width/2,a=e.height/2;if(!r&&!i)throw new Error("Not possible to find intersection inside of the rectangle");let c,l;return Math.abs(i)*s>Math.abs(r)*a?(i<0&&(a=-a),c=a*r/i,l=a):(r<0&&(s=-s),c=s,l=s*i/r),{x:n+c,y:o+l}}function Tn(e){let t=Ft(gl(e)+1).map(()=>[]);return e.nodes().forEach(n=>{let o=e.node(n),r=o.rank;r!==void 0&&(t[r]||(t[r]=[]),t[r][o.order]=n)}),t}function Qp(e){let t=e.nodes().map(o=>{let r=e.node(o).rank;return r===void 0?Number.MAX_VALUE:r}),n=ke(Math.min,t);e.nodes().forEach(o=>{let r=e.node(o);Object.hasOwn(r,"rank")&&(r.rank-=n)})}function Jp(e){let t=e.nodes().map(s=>e.node(s).rank).filter(s=>s!==void 0),n=ke(Math.min,t),o=[];e.nodes().forEach(s=>{let a=e.node(s).rank-n;o[a]||(o[a]=[]),o[a].push(s)});let r=0,i=e.graph().nodeRankFactor;Array.from(o).forEach((s,a)=>{s===void 0&&a%i!==0?--r:s!==void 0&&r&&s.forEach(c=>e.node(c).rank+=r)})}function Ya(e,t,n,o){let r={width:0,height:0};return arguments.length>=4&&(r.rank=n,r.order=o),vt(e,"border",r,t)}function eg(e,t=pl){let n=[];for(let o=0;o<e.length;o+=t){let r=e.slice(o,o+t);n.push(r)}return n}var pl=65535;function ke(e,t){if(t.length>pl){let n=eg(t);return e(...n.map(o=>e(...o)))}else return e(...t)}function gl(e){let t=e.nodes().map(n=>{let o=e.node(n).rank;return o===void 0?Number.MIN_VALUE:o});return ke(Math.max,t)}function tg(e,t){let n={lhs:[],rhs:[]};return e.forEach(o=>{t(o)?n.lhs.push(o):n.rhs.push(o)}),n}function ng(e,t){return t()}var og=0;function Bo(e){let t=++og;return e+(""+t)}function Ft(e,t,n=1){t==null&&(t=e,e=0);let o=i=>i<t;n<0&&(o=i=>t<i);let r=[];for(let i=e;o(i);i+=n)r.push(i);return r}function An(e,t){let n={};for(let o of t)e[o]!==void 0&&(n[o]=e[o]);return n}function Ln(e,t){let n;return typeof t=="string"?n=o=>o[t]:n=t,Object.entries(e).reduce((o,[r,i])=>(o[r]=n(i,r),o),{})}function rg(e,t){return e.reduce((n,o,r)=>(n[o]=t[r],n),{})}var Rn="\0";function ml(e,t,n){var o,r,i,s,a,c;if(!(e&&t&&n&&t.dummy==="edge"&&n.dummy==="edge"&&t.edgeObj&&n.edgeObj&&e[t.edgeObj.v]&&e[n.edgeObj.v]&&e[t.edgeObj.w]&&e[n.edgeObj.w]))return 0;let l=!0;t.edgeObj.w===n.edgeObj.w&&(l=!1);let d=l?(r=(o=e[t.edgeObj.v])==null?void 0:o.rank)!=null?r:NaN+1:(s=(i=e[t.edgeObj.w])==null?void 0:i.rank)!=null?s:NaN-1,f=Object.entries(e).find(x=>{var b,m;return((b=x[1].edgeObj)==null?void 0:b.v)===t.edgeObj.v&&((m=x[1].edgeObj)==null?void 0:m.w)===t.edgeObj.w&&x[1].rank===d}),u=Object.entries(e).find(x=>{var b,m;return((b=x[1].edgeObj)==null?void 0:b.v)===n.edgeObj.v&&((m=x[1].edgeObj)==null?void 0:m.w)===n.edgeObj.w&&x[1].rank===d});if(!f||!u)return 0;let p=(a=f[1].order)!=null?a:NaN,h=(c=u[1].order)!=null?c:NaN;return isNaN(p-h)?0:p-h}var ig=class{constructor(){Sp(this,"_sentinel");let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return Xa(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&Xa(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){let e=[],t=this._sentinel,n=t._prev;for(;n!==t;)e.push(JSON.stringify(n,sg)),n=n._prev;return"["+e.join(", ")+"]"}};function Xa(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function sg(e,t){if(e!=="_next"&&e!=="_prev")return t}var ag=ig,lg=()=>1;function cg(e,t){if(e.nodeCount()<=1)return[];let n=ug(e,t||lg);return dg(n.graph,n.buckets,n.zeroIdx).flatMap(o=>e.outEdges(o.v,o.w)||[])}function dg(e,t,n){var o;let r=[],i=t[t.length-1],s=t[0],a;for(;e.nodeCount();){for(;a=s.dequeue();)Po(e,t,n,a);for(;a=i.dequeue();)Po(e,t,n,a);if(e.nodeCount()){for(let c=t.length-2;c>0;--c)if(a=(o=t[c])==null?void 0:o.dequeue(),a){r=r.concat(Po(e,t,n,a,!0)||[]);break}}}return r}function Po(e,t,n,o,r){let i=[],s=r?i:void 0;return(e.inEdges(o.v)||[]).forEach(a=>{let c=e.edge(a),l=e.node(a.v);r&&i.push({v:a.v,w:a.w}),l.out-=c,Lo(t,n,l)}),(e.outEdges(o.v)||[]).forEach(a=>{let c=e.edge(a),l=a.w,d=e.node(l);d.in-=c,Lo(t,n,d)}),e.removeNode(o.v),s}function ug(e,t){let n=new Ne,o=0,r=0;e.nodes().forEach(a=>{n.setNode(a,{v:a,in:0,out:0})}),e.edges().forEach(a=>{let c=n.edge(a.v,a.w)||0,l=t(a),d=c+l;n.setEdge(a.v,a.w,d);let f=n.node(a.v),u=n.node(a.w);r=Math.max(r,f.out+=l),o=Math.max(o,u.in+=l)});let i=fg(r+o+3).map(()=>new ag),s=o+1;return n.nodes().forEach(a=>{Lo(i,s,n.node(a))}),{graph:n,buckets:i,zeroIdx:s}}function Lo(e,t,n){var o,r,i;n.out?n.in?(i=e[n.out-n.in+t])==null||i.enqueue(n):(r=e[e.length-1])==null||r.enqueue(n):(o=e[0])==null||o.enqueue(n)}function fg(e){let t=[];for(let n=0;n<e;n++)t.push(n);return t}function hg(e,t){(e.graph().acyclicer==="greedy"?cg(e,n(e)):pg(e,t??null)).forEach(o=>{let r=e.edge(o);e.removeEdge(o),r.forwardName=o.name,r.reversed=!0,e.setEdge(o.w,o.v,r,Bo("rev"))});function n(o){return r=>o.edge(r).weight}}function pg(e,t){let n=[],o={},r={};function i(c){Object.hasOwn(r,c)||(r[c]=!0,o[c]=!0,e.outEdges(c).forEach(l=>{Object.hasOwn(o,l.w)?n.push(l):i(l.w)}),delete o[c])}function s(c){var l;Object.hasOwn(r,c)||(r[c]=!0,o[c]=!0,(l=e.outEdges(c))==null||l.forEach(d=>{var f,u;Object.hasOwn(o,d.w)||((f=t.node(c))==null?void 0:f.rank)>((u=t.node(d.w))==null?void 0:u.rank)&&mg(e,d.w,d)?n.push(d):s(d.w)}),delete o[c])}let a=i;return t&&typeof t.node=="function"&&(a=s),e.sources().forEach(a),e.nodes().forEach(a),n}function gg(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.reversed){e.removeEdge(t);let o=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,o)}})}function mg(e,t,n){let o=new Set;function r(i){var s;if(e.sources().includes(i))return!0;o.add(i);for(let a of(s=e.inEdges(i))!=null?s:[])if(!(a.v===n.v&&a.w===n.w)&&!o.has(a.v)&&r(a.v))return!0;return!1}return r(t)}function yg(e){e.graph().dummyChains=[],e.edges().forEach(t=>wg(e,t))}function wg(e,t){let n=t.v,o=e.node(n).rank,r=t.w,i=e.node(r).rank,s=t.name,a=e.edge(t),c=a.labelRank;if(i===o+1)return;e.removeEdge(t);let l,d,f;for(f=0,++o;o<i;++f,++o)a.points=[],d={width:0,height:0,edgeLabel:a,edgeObj:t,rank:o},l=vt(e,"edge",d,"_d"),o===c&&(d.width=a.width,d.height=a.height,d.dummy="edge-label",d.labelpos=a.labelpos),e.setEdge(n,l,{weight:a.weight},s),f===0&&e.graph().dummyChains.push(l),n=l;e.setEdge(n,r,{weight:a.weight},s)}function bg(e){e.graph().dummyChains.forEach(t=>{let n=e.node(t),o=n.edgeLabel,r;for(e.setEdge(n.edgeObj,o);n.dummy;)r=e.successors(t)[0],e.removeNode(t),o.points.push({x:n.x,y:n.y}),n.dummy==="edge-label"&&(o.x=n.x,o.y=n.y,o.width=n.width,o.height=n.height),t=r,n=e.node(t)})}function Vo(e){let t={};function n(o){let r=e.node(o);if(Object.hasOwn(t,o))return r.rank;t[o]=!0;let i=e.outEdges(o),s=i?i.map(c=>c==null?Number.POSITIVE_INFINITY:n(c.w)-e.edge(c).minlen):[],a=ke(Math.min,s);return a===Number.POSITIVE_INFINITY&&(a=0),r.rank=a}e.sources().forEach(n)}function xt(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var yl=xg;function xg(e){let t=new Ne({directed:!1}),n=e.nodes();if(n.length===0)throw new Error("Graph must have at least one node");let o=n[0],r=e.nodeCount();t.setNode(o,{});let i,s;for(;vg(t,e)<r&&(i=_g(t,e),!!i);)s=t.hasNode(i.v)?xt(e,i):-xt(e,i),Eg(t,e,s);return t}function vg(e,t){function n(o){let r=t.nodeEdges(o);r&&r.forEach(i=>{let s=i.v,a=o===s?i.w:s;!e.hasNode(a)&&!xt(t,i)&&(e.setNode(a,{}),e.setEdge(o,a,{}),n(a))})}return e.nodes().forEach(n),e.nodeCount()}function _g(e,t){return t.edges().reduce((n,o)=>{let r=Number.POSITIVE_INFINITY;return e.hasNode(o.v)!==e.hasNode(o.w)&&(r=xt(t,o)),r<n[0]?[r,o]:n},[Number.POSITIVE_INFINITY,null])[1]}function Eg(e,t,n){e.nodes().forEach(o=>t.node(o).rank+=n)}var{preorder:kg,postorder:Ng}=Ho,Sg=it;it.initLowLimValues=Yo;it.initCutValues=Fo;it.calcCutValue=wl;it.leaveEdge=xl;it.enterEdge=vl;it.exchangeEdges=_l;function it(e){e=Up(e),Vo(e);let t=yl(e);Yo(t),Fo(t,e);let n,o;for(;n=xl(t);)o=vl(t,e,n),_l(t,e,n,o)}function Fo(e,t){let n=Ng(e,e.nodes());n=n.slice(0,n.length-1),n.forEach(o=>Cg(e,t,o))}function Cg(e,t,n){let o=e.node(n).parent,r=e.edge(n,o);r.cutvalue=wl(e,t,n)}function wl(e,t,n){let o=e.node(n).parent,r=!0,i=t.edge(n,o),s=0;i||(r=!1,i=t.edge(o,n)),s=i.weight;let a=t.nodeEdges(n);return a&&a.forEach(c=>{let l=c.v===n,d=l?c.w:c.v;if(d!==o){let f=l===r,u=t.edge(c).weight;if(s+=f?u:-u,Mg(e,n,d)){let p=e.edge(n,d).cutvalue;s+=f?-p:p}}}),s}function Yo(e,t){arguments.length<2&&(t=e.nodes()[0]),bl(e,{},1,t)}function bl(e,t,n,o,r){let i=n,s=e.node(o);t[o]=!0;let a=e.neighbors(o);return a&&a.forEach(c=>{Object.hasOwn(t,c)||(n=bl(e,t,n,c,o))}),s.low=i,s.lim=n++,r?s.parent=r:delete s.parent,n}function xl(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function vl(e,t,n){let o=n.v,r=n.w;t.hasEdge(o,r)||(o=n.w,r=n.v);let i=e.node(o),s=e.node(r),a=i,c=!1;return i.lim>s.lim&&(a=s,c=!0),t.edges().filter(l=>c===Za(e,e.node(l.v),a)&&c!==Za(e,e.node(l.w),a)).reduce((l,d)=>xt(t,d)<xt(t,l)?d:l)}function _l(e,t,n,o){let r=n.v,i=n.w;e.removeEdge(r,i),e.setEdge(o.v,o.w,{}),Yo(e),Fo(e,t),Ig(e,t)}function Ig(e,t){let n=e.nodes().find(r=>!e.node(r).parent);if(!n)return;let o=kg(e,[n]);o=o.slice(1),o.forEach(r=>{let i=e.node(r).parent,s=t.edge(r,i),a=!1;s||(s=t.edge(i,r),a=!0),t.node(r).rank=t.node(i).rank+(a?s.minlen:-s.minlen)})}function Mg(e,t,n){return e.hasEdge(t,n)}function Za(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}var Og=Pg;function Pg(e){let t=e.graph().ranker;if(typeof t=="function")return t(e);switch(t){case"network-simplex":Wa(e);break;case"tight-tree":Dg(e);break;case"longest-path":zg(e);break;case"none":break;default:Wa(e)}}var zg=Vo;function Dg(e){Vo(e),yl(e)}function Wa(e){Sg(e)}var Ag=Tg;function Tg(e){let t=Rg(e),n=e.graph();Array.isArray(n.dummyChains)&&n.dummyChains.forEach(o=>{let r=e.node(o),i=r.edgeObj,s=Lg(e,t,i.v,i.w),a=s.path,c=s.lca,l=0,d=a[l],f=!0;for(;o!==i.w;){if(r=e.node(o),f){for(;(d=a[l])!==c&&e.node(d).maxRank<r.rank;)l++;d===c&&(f=!1)}if(!f){for(;l<a.length-1&&e.node(a[l+1]).minRank<=r.rank;)l++;d=a[l]}d!==void 0&&e.setParent(o,d),o=e.successors(o)[0]}})}function Lg(e,t,n,o){let r=[],i=[],s=Math.min(t[n].low,t[o].low),a=Math.max(t[n].lim,t[o].lim),c;c=n;do c=e.parent(c),r.push(c);while(c&&(t[c].low>s||a>t[c].lim));let l=c,d=o;for(;(d=e.parent(d))!==l;)i.push(d);return{path:r.concat(i.reverse()),lca:l}}function Rg(e){let t={},n=0;function o(r){let i=n;e.children(r).forEach(o),t[r]={low:i,lim:n++}}return e.children(Rn).forEach(o),t}function $g(e){let t=vt(e,"root",{},"_root"),n=Hg(e),o=Object.values(n),r=ke(Math.max,o)-1,i=2*r+1;e.graph().nestingRoot=t,e.edges().forEach(a=>e.edge(a).minlen*=i);let s=Bg(e)+1;e.children(Rn).forEach(a=>{El(e,t,i,s,r,n,a)}),e.graph().nodeRankFactor=i}function El(e,t,n,o,r,i,s){var a;let c=e.children(s);if(!c.length){s!==t&&e.setEdge(t,s,{weight:0,minlen:n});return}let l=Ya(e,"_bt"),d=Ya(e,"_bb"),f=e.node(s);e.setParent(l,s),f.borderTop=l,e.setParent(d,s),f.borderBottom=d,c.forEach(u=>{var p;El(e,t,n,o,r,i,u);let h=e.node(u),x=h.borderTop?h.borderTop:u,b=h.borderBottom?h.borderBottom:u,m=h.borderTop?o:2*o,v=x!==b?1:r-((p=i[s])!=null?p:0)+1;e.setEdge(l,x,{weight:m,minlen:v,nestingEdge:!0}),e.setEdge(b,d,{weight:m,minlen:v,nestingEdge:!0})}),e.parent(s)||e.setEdge(t,l,{weight:0,minlen:r+((a=i[s])!=null?a:0)})}function Hg(e){let t={};function n(o,r){let i=e.children(o);i&&i.length&&i.forEach(s=>n(s,r+1)),t[o]=r}return e.children(Rn).forEach(o=>n(o,1)),t}function Bg(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}function Vg(e){let t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(n=>{e.edge(n).nestingEdge&&e.removeEdge(n)})}var Fg=Yg;function Yg(e){function t(n){let o=e.children(n),r=e.node(n);if(o.length&&o.forEach(t),r&&Object.hasOwn(r,"minRank")){r.borderLeft=[],r.borderRight=[];for(let i=r.minRank,s=r.maxRank+1;i<s;++i)qa(e,"borderLeft","_bl",n,r,i),qa(e,"borderRight","_br",n,r,i)}}e.children(Rn).forEach(t)}function qa(e,t,n,o,r,i){let s={width:0,height:0,rank:i,borderType:t},a=r[t][i-1],c=vt(e,"border",s,n);r[t][i]=c,e.setParent(c,o),a&&e.setEdge(a,c,{weight:1})}function Xg(e){var t;let n=(t=e.graph().rankdir)==null?void 0:t.toLowerCase();(n==="lr"||n==="rl")&&kl(e)}function Zg(e){var t;let n=(t=e.graph().rankdir)==null?void 0:t.toLowerCase();(n==="bt"||n==="rl")&&Wg(e),(n==="lr"||n==="rl")&&(qg(e),kl(e))}function kl(e){e.nodes().forEach(t=>ja(e.node(t))),e.edges().forEach(t=>ja(e.edge(t)))}function ja(e){let t=e.width;e.width=e.height,e.height=t}function Wg(e){e.nodes().forEach(t=>zo(e.node(t))),e.edges().forEach(t=>{var n;let o=e.edge(t);(n=o.points)==null||n.forEach(zo),Object.hasOwn(o,"y")&&zo(o)})}function zo(e){e.y=-e.y}function qg(e){e.nodes().forEach(t=>Do(e.node(t))),e.edges().forEach(t=>{var n;let o=e.edge(t);(n=o.points)==null||n.forEach(Do),Object.hasOwn(o,"x")&&Do(o)})}function Do(e){let t=e.x;e.x=e.y,e.y=t}function jg(e,t=null){let n={},o=e.nodes().filter(l=>!e.children(l).length),r=o.map(l=>e.node(l).rank),i=ke(Math.max,r),s=Ft(i+1).map(()=>[]);function a(l){if(n[l])return;n[l]=!0;let d=e.node(l);s[d.rank].push(l);let f=e.successors(l);f&&[...f].sort((u,p)=>c(u,p)).forEach(a)}o.sort((l,d)=>e.node(l).rank-e.node(d).rank).forEach(a);function c(l,d){let f=e.node(l),u=e.node(d);return ml(t,f,u)}return s}function Gg(e,t){let n=0;for(let o=1;o<t.length;++o)n+=Kg(e,t[o-1],t[o]);return n}function Kg(e,t,n){let o=rg(n,n.map((l,d)=>d)),r=t.flatMap(l=>{let d=e.outEdges(l);return d?d.map(f=>({pos:o[f.w],weight:e.edge(f).weight})).sort((f,u)=>f.pos-u.pos):[]}),i=1;for(;i<n.length;)i<<=1;let s=2*i-1;i-=1;let a=new Array(s).fill(0),c=0;return r.forEach(l=>{let d=l.pos+i;a[d]+=l.weight;let f=0;for(;d>0;)d%2&&(f+=a[d+1]),d=d-1>>1,a[d]+=l.weight;c+=l.weight*f}),c}function Ug(e,t=[]){return t.map(n=>{let o=e.inEdges(n);if(!o||!o.length)return{v:n};{let r=o.reduce((i,s)=>{let a=e.edge(s),c=e.node(s.v);return{sum:i.sum+a.weight*c.order,weight:i.weight+a.weight}},{sum:0,weight:0});return{v:n,barycenter:r.sum/r.weight,weight:r.weight}}})}function Qg(e,t){let n={};e.forEach((r,i)=>{let s={indegree:0,in:[],out:[],vs:[r.v],i};r.barycenter!==void 0&&(s.barycenter=r.barycenter,s.weight=r.weight),n[r.v]=s}),t.edges().forEach(r=>{let i=n[r.v],s=n[r.w];i!==void 0&&s!==void 0&&(s.indegree++,i.out.push(s))});let o=Object.values(n).filter(r=>!r.indegree);return Jg(o)}function Jg(e){let t=[];function n(r){return i=>{i.merged||(i.barycenter===void 0||r.barycenter===void 0||i.barycenter>=r.barycenter)&&em(r,i)}}function o(r){return i=>{i.in.push(r),--i.indegree===0&&e.push(i)}}for(;e.length;){let r=e.pop();t.push(r),r.in.reverse().forEach(n(r)),r.out.forEach(o(r))}return t.filter(r=>!r.merged).map(r=>An(r,["vs","i","barycenter","weight"]))}function em(e,t){let n=0,o=0;e.weight&&(n+=e.barycenter*e.weight,o+=e.weight),t.weight&&(n+=t.barycenter*t.weight,o+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/o,e.weight=o,e.i=Math.min(t.i,e.i),t.merged=!0}function tm(e,t,n,o,r){let i={},s=null,a=null,c=r;typeof t=="boolean"?(c=t,i={}):t&&(i=t,s=n??null,a=o??null);let l=tg(e,m=>Object.hasOwn(m,"barycenter")),d=l.lhs,f=l.rhs.sort((m,v)=>v.i-m.i),u=[],p=0,h=0,x=0;d.sort(nm(a,s,!!c));for(let[m,v]of Object.entries(i)){let g=d.findIndex(w=>w.vs[0]===m);d.splice(g+1,0,v)}x=Ga(u,f,x),d.forEach(m=>{x+=m.vs.length,u.push(m.vs),p+=m.barycenter*m.weight,h+=m.weight,x=Ga(u,f,x)});let b={vs:u.flat(1)};return h&&(b.barycenter=p/h,b.weight=h),b}function Ga(e,t,n){let o;for(;t.length&&(o=t[t.length-1]).i<=n;)t.pop(),e.push(o.vs),n++;return n}function nm(e,t,n){return(o,r)=>{if(o.barycenter<r.barycenter)return-1;if(o.barycenter>r.barycenter)return 1;if(e&&(typeof o.vs[0]=="string"||typeof r.vs[0]=="string")){let i=e.node(o.vs[0]),s=e.node(r.vs[0]),a=ml(t,i,s);if(a!==0)return a}return n?r.i-o.i:o.i-r.i}}function Nl(e,t,n,o,r){var i,s,a,c,l,d,f,u,p,h,x;let b=null,m=r;typeof o=="boolean"?(m=o,b=null):o!==void 0&&(b=o);let v=e.children(t),g=e.node(t),w=g?g.borderLeft:void 0,E=g?g.borderRight:void 0,k={};w&&(v=v.filter(L=>L!==w&&L!==E));let C=Ug(e,v);C.forEach(L=>{if(e.children(L.v).length){let{result:D}=Nl(e,L.v,n,b,m);k[L.v]=D,Object.hasOwn(D,"barycenter")&&rm(L,D)}});let S=Qg(C,n);om(S,k);let I={},B=!1;for(let L=0;L<S.length;L++)for(let D=L+1;D<S.length;D++)if(!(!S[L]||!S[D]||!((i=S[L])!=null&&i.barycenter)||!((s=S[D])!=null&&s.barycenter))&&((a=S[L])==null?void 0:a.barycenter)===S[D].barycenter){let y=(l=(c=S[L])==null?void 0:c.vs[0])!=null?l:"",_=(f=(d=S[D])==null?void 0:d.vs[0])!=null?f:"",N=e.node(y),M=e.node(_);if(N.dummy==="edge"&&M.dummy==="edge"&&((u=N.edgeObj)==null?void 0:u.v)===((p=M.edgeObj)==null?void 0:p.v)&&((h=N.edgeObj)==null?void 0:h.w)===((x=M.edgeObj)==null?void 0:x.w))if(N.edgeLabel.reversed){I[_]=S[L],S.splice(L,1),L--;break}else I[y]=S[D],S.splice(D,1),D--;else B=!0}let O=tm(S,I,b,e,m);if(w&&E){O.vs=[w,O.vs,E].flat(1);let L=e.predecessors(w);if(L&&L.length){let D=e.node(L[0]),y=e.predecessors(E),_=e.node(y[0]);Object.hasOwn(O,"barycenter")||(O.barycenter=0,O.weight=0),O.barycenter=(O.barycenter*O.weight+D.order+_.order)/(O.weight+2),O.weight+=2}}return Object.defineProperty(O,"result",{value:O,enumerable:!1,configurable:!0,writable:!0}),Object.defineProperty(O,"usedBias",{value:B,enumerable:!1,configurable:!0,writable:!0}),O}function om(e,t){e.forEach(n=>{n.vs=n.vs.flatMap(o=>t[o]?t[o].vs:o)})}function rm(e,t){e.barycenter!==void 0?(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight):(e.barycenter=t.barycenter,e.weight=t.weight)}function im(e,t,n,o){o||(o=e.nodes());let r=sm(e),i=new Ne({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(s=>e.node(s));return o.forEach(s=>{let a=e.node(s),c=e.parent(s);if(a.rank===t||a.minRank<=t&&t<=a.maxRank){i.setNode(s),i.setParent(s,c||r);let l=e[n](s);l&&l.forEach(d=>{let f=d.v===s?d.w:d.v,u=i.edge(f,s),p=u!==void 0?u.weight:0;i.setEdge(f,s,{weight:e.edge(d).weight+p})}),Object.hasOwn(a,"minRank")&&i.setNode(s,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]})}}),i}function sm(e){let t;for(;e.hasNode(t=Bo("_root")););return t}function am(e,t,n){let o={},r;n.forEach(i=>{let s=e.parent(i),a,c;for(;s;){if(a=e.parent(s),a?(c=o[a],o[a]=s):(c=r,r=s),c&&c!==s){t.setEdge(c,s);return}s=a}})}function Sl(e,t={},n=null){if(typeof t.customOrder=="function"){t.customOrder(e,Sl);return}let o=gl(e),r=Ka(e,Ft(1,o+1),"inEdges"),i=Ka(e,Ft(o-1,-1,-1),"outEdges"),s=jg(e,n);if(Ua(e,s),t.disableOptimalOrderHeuristic)return;let a=Number.POSITIVE_INFINITY,c,l=t.constraints||[];for(let d=0,f=0;f<4;++d,++f){lm(d%2?r:i,d%4>=2,l,n),s=Tn(e);let u=Gg(e,s);u<a?(f=0,c=Object.assign({},s),a=u):u===a&&(c=structuredClone(s))}Ua(e,c)}function Ka(e,t,n){let o=new Map,r=(i,s)=>{o.has(i)||o.set(i,[]),o.get(i).push(s)};for(let i of e.nodes()){let s=e.node(i);if(typeof s.rank=="number"&&r(s.rank,i),typeof s.minRank=="number"&&typeof s.maxRank=="number")for(let a=s.minRank;a<=s.maxRank;a++)a!==s.rank&&r(a,i)}return t.map(function(i){return im(e,i,n,o.get(i)||[])})}function lm(e,t,n,o){let r=!0,i=new Ne;e.forEach(function(s){n.forEach(d=>i.setEdge(d.left,d.right));let a=s.graph().root,{result:c,usedBias:l}=Nl(s,a,i,o,r);t&&l&&(r=!r),c.vs.forEach((d,f)=>s.node(d).order=f),am(s,i,c.vs)})}function Ua(e,t){Object.values(t).forEach(n=>n.forEach((o,r)=>e.node(o).order=r))}function cm(e,t){let n={};function o(r,i){let s=0,a=0,c=r.length,l=i[i.length-1];return i.forEach((d,f)=>{let u=um(e,d),p=u?e.node(u).order:c;(u||d===l)&&(i.slice(a,f+1).forEach(h=>{let x=e.predecessors(h);x&&x.forEach(b=>{let m=e.node(b),v=m.order;(v<s||p<v)&&!(m.dummy&&e.node(h).dummy)&&Cl(n,b,h)})}),a=f+1,s=p)}),i}return t.length&&t.reduce(o),n}function dm(e,t){let n={};function o(i,s,a,c,l){Ft(s,a).forEach(d=>{let f=i[d];if(f!==void 0&&e.node(f).dummy){let u=e.predecessors(f);u&&u.forEach(p=>{if(p===void 0)return;let h=e.node(p);h.dummy&&(h.order<c||h.order>l)&&Cl(n,p,f)})}})}function r(i,s){let a=-1,c=-1,l=0;return s.forEach((d,f)=>{if(e.node(d).dummy==="border"){let u=e.predecessors(d);if(u&&u.length){let p=u[0];if(p===void 0)return;c=e.node(p).order,o(s,l,f,a,c),l=f,a=c}}o(s,l,s.length,c,i.length)}),s}return t.length&&t.reduce(r),n}function um(e,t){if(e.node(t).dummy){let n=e.predecessors(t);if(n)return n.find(o=>e.node(o).dummy)}}function Cl(e,t,n){if(t>n){let r=t;t=n,n=r}let o=e[t];o||(e[t]=o={}),o[n]=!0}function fm(e,t,n){if(t>n){let r=t;t=n,n=r}let o=e[t];return o!==void 0&&Object.hasOwn(o,n)}function hm(e,t,n,o,r){let i={},s={},a={};return t.forEach(c=>{c.forEach((l,d)=>{i[l]=l,s[l]=l,a[l]=d})}),t.forEach(c=>{let l=-1,d=-1,f=!1,u=c,p=c.findIndex(h=>r?.includes(h)||Qa(h,e,r));p>0&&(u=[c[p],...c.slice(0,p),...c.slice(p+1)],f=!0),u.forEach(h=>{var x;let b=o(h);if(b&&b.length){r!=null&&r.includes(h)&&(b=b.filter(g=>Qa(g,e,r)));let m=b.sort((g,w)=>{let E=a[g],k=a[w];return(E!==void 0?E:0)-(k!==void 0?k:0)}),v=(m.length-1)/2;for(let g=Math.floor(v),w=Math.ceil(v);g<=w;++g){let E=m[g];if(E===void 0)continue;let k=a[E];if(k!==void 0&&s[h]===h&&l<k&&a[E]!==d&&!fm(n,h,E)){let C=i[E];C!==void 0&&(s[E]=h,s[h]=i[h]=C,l=k,f&&(l=-1,d=(x=a[E])!=null?x:-1,f=!1))}}}})}),{root:i,align:s}}function pm(e,t,n,o,r=!1){let i={},s=gm(e,t,n,r),a=r?"borderLeft":"borderRight";function c(p,h){let x=s.nodes().slice(),b={},m=x.pop();for(;m;){if(b[m])p(m);else{b[m]=!0,x.push(m);for(let v of h(m))x.push(v)}m=x.pop()}}function l(p){let h=s.inEdges(p);h?i[p]=h.reduce((x,b)=>{var m;let v=(m=i[b.v])!=null?m:0,g=s.edge(b);return Math.max(x,v+(g!==void 0?g:0))},0):i[p]=0}function d(p){let h=s.outEdges(p),x=Number.POSITIVE_INFINITY;h&&(x=h.reduce((m,v)=>{let g=i[v.w],w=s.edge(v);return Math.min(m,(g!==void 0?g:0)-(w!==void 0?w:0))},Number.POSITIVE_INFINITY));let b=e.node(p);x!==Number.POSITIVE_INFINITY&&b.borderType!==a&&(i[p]=Math.max(i[p]!==void 0?i[p]:0,x))}function f(p){return s.predecessors(p)||[]}function u(p){return s.successors(p)||[]}return c(l,f),c(d,u),Object.keys(o).forEach(p=>{var h;let x=n[p];x!==void 0&&(i[p]=(h=i[x])!=null?h:0)}),i}function gm(e,t,n,o){let r=new Ne,i=e.graph(),s=xm(i.nodesep,i.edgesep,o);return t.forEach(a=>{let c;a.forEach(l=>{let d=n[l];if(d!==void 0){if(r.setNode(d),c!==void 0){let f=n[c];if(f!==void 0){let u=r.edge(f,d);r.setEdge(f,d,Math.max(s(e,l,c),u||0))}}c=l}})}),r}function mm(e,t){return Object.values(t).reduce((n,o)=>{let r=Number.NEGATIVE_INFINITY,i=Number.POSITIVE_INFINITY;Object.entries(o).forEach(([a,c])=>{let l=vm(e,a)/2;r=Math.max(c+l,r),i=Math.min(c-l,i)});let s=r-i;return s<n[0]&&(n=[s,o]),n},[Number.POSITIVE_INFINITY,null])[1]}function ym(e,t){let n=Object.values(t),o=ke(Math.min,n),r=ke(Math.max,n);["u","d"].forEach(i=>{["l","r"].forEach(s=>{let a=i+s,c=e[a];if(!c||c===t)return;let l=Object.values(c),d=o-ke(Math.min,l);s!=="l"&&(d=r-ke(Math.max,l)),d&&(e[a]=Ln(c,f=>f+d))})})}function wm(e,t=void 0){let n=e.ul;return n?Ln(n,(o,r)=>{var i,s;if(t){let c=t.toLowerCase(),l=e[c];if(l&&l[r]!==void 0)return l[r]}let a=Object.values(e).map(c=>{let l=c[r];return l!==void 0?l:0}).sort((c,l)=>c-l);return(((i=a[1])!=null?i:0)+((s=a[2])!=null?s:0))/2}):{}}function bm(e,t){let n=Tn(e),o=Object.assign(cm(e,n),dm(e,n)),r={},i;["u","d"].forEach(a=>{i=a==="u"?n:Object.values(n).reverse(),["l","r"].forEach(c=>{c==="r"&&(i=i.map(f=>Object.values(f).reverse()));let l=hm(e,i,o,f=>(a==="u"?e.predecessors(f):e.successors(f))||[],t),d=pm(e,i,l.root,l.align,c==="r");c==="r"&&(d=Ln(d,f=>-f)),r[a+c]=d})});let s=mm(e,r);return ym(r,s),wm(r,e.graph().align)}function xm(e,t,n){return(o,r,i)=>{let s=o.node(r),a=o.node(i),c=0,l;if(c+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":l=-s.width/2;break;case"r":l=s.width/2;break}if(l&&(c+=n?l:-l),l=void 0,c+=(s.dummy?t:e)/2,c+=(a.dummy?t:e)/2,c+=a.width/2,Object.hasOwn(a,"labelpos"))switch(a.labelpos.toLowerCase()){case"l":l=a.width/2;break;case"r":l=-a.width/2;break}return l&&(c+=n?l:-l),c}}function vm(e,t){return e.node(t).width}function Qa(e,t,n){var o;if(!n)return!1;let r=(o=t.node(e))==null?void 0:o.edgeObj;if(!r||t.node(e).edgeLabel.reversed)return!1;let i=n.indexOf(r?.v),s=n.indexOf(r?.w);return i!==-1&&s!==-1&&i===(s+1)%n.length||i===(s-1)%n.length}function _m(e,t){e=hl(e),Em(e),Object.entries(bm(e,t)).forEach(([n,o])=>e.node(n).x=o)}function Em(e){let t=Tn(e),n=e.graph(),o=n.ranksep,r=n.rankalign,i=0;t.forEach(s=>{let a=s.reduce((c,l)=>{var d;let f=(d=e.node(l).height)!=null?d:0;return c>f?c:f},0);s.forEach(c=>{let l=e.node(c);r==="top"?l.y=i+l.height/2:r==="bottom"?l.y=i+a-l.height/2:l.y=i+a/2}),i+=a+o})}var Ja=new WeakMap;function Il(e,t={}){return Ml(e,ng,t),e}function el(e,t,n){let o=t;for(;o!==void 0;){let r=e.parent(o);if(r===n)return o;o=r}}function Ml(e,t,n){var o;let r=e.nodes().filter(v=>e.children(v).length),i={};r.forEach(v=>{let g=e.node(v);if(g&&g.rankdir){let w=new Ne({multigraph:!0,compound:!0});w.setGraph({rankdir:g.rankdir});let E=e.children(v);E.forEach(y=>{let _={...e.node(y)};w.setNode(y,_);let N=e.parent(y);N&&N!==v&&E.includes(N)&&w.setParent(y,N)});let k=new Set;e.edges().forEach(y=>{let _=el(e,y.v,v),N=el(e,y.w,v);if(_&&N&&_!==N){let M=`${_}\0${N}`;k.has(M)||(k.add(M),w.setEdge(_,N,{...e.edge(y)}))}}),Ml(w,t,n);let C=rl(w);tl(C,t,n,null),nl(w,C);let S=1/0,I=1/0,B=-1/0,O=-1/0;w.nodes().forEach(y=>{if(y===v)return;let _=w.node(y);_&&typeof _.x=="number"&&typeof _.y=="number"&&typeof _.width=="number"&&typeof _.height=="number"&&(S=Math.min(S,_.x-_.width/2),B=Math.max(B,_.x+_.width/2),I=Math.min(I,_.y-_.height/2),O=Math.max(O,_.y+_.height/2))}),(!isFinite(S)||!isFinite(I)||!isFinite(B)||!isFinite(O))&&(S=I=0,B=O=0);let L=B-S,D=O-I;i[v]={minX:S,minY:I,maxX:B,maxY:O,width:L,height:D,offsetX:S,offsetY:I},g._dagreClusterSubgraph=w}});let s=[],a=v=>{let g=[],w=(e.children(v)||[]).filter(E=>E!==v);for(;w.length>0;){let E=w.shift();g.push(E),(e.children(E)||[]).filter(k=>k!==E).forEach(k=>w.push(k))}return g},c=new Map;r.forEach(v=>{let g=e.node(v);g&&g.rankdir&&i[v]&&c.set(v,(e.children(v)||[]).filter(w=>w!==v))});let l=new Set([...c.values()].flat()),d=new Map;c.forEach((v,g)=>{l.has(g)||d.set(g,a(g))});let f=new Set([...d.values()].flat()),u=v=>{for(let[g,w]of d)if(w.includes(v))return g;return v},p=[];e.edges().forEach(v=>{(f.has(v.v)||f.has(v.w))&&p.push({edge:v,label:e.edge(v)})});let h=new Map;f.forEach(v=>{let g=e.parent(v);h.set(v,typeof g=="string"?g:void 0)}),d.forEach((v,g)=>{let w=e.node(g),E=[];v.forEach(S=>{let I=e.node(S);I&&(E.push({id:S,node:I,parent:h.get(S)}),e.removeNode(S))});let k=p.filter(({edge:S})=>v.includes(S.v)||v.includes(S.w)),C=i[g];w&&(s.push({clusterId:g,subgraph:w._dagreClusterSubgraph,bounds:C,children:v,removedNodes:E,removedEdges:k}),w.width=C.width,w.height=C.height)});let x=new Set;p.forEach(({edge:v,label:g})=>{let w=u(v.v),E=u(v.w);if(w!==E&&e.hasNode(w)&&e.hasNode(E)){let k=`${w}\0${E}`;x.has(k)||(x.add(k),e.setEdge(w,E,{...g,width:0,height:0}))}});let b=rl(e),m=tl(b,t,n,(o=Ja.get(e))!=null?o:null);Ja.set(e,m),nl(e,b),x.forEach(v=>{let g=v.indexOf("\0"),w=v.slice(0,g),E=v.slice(g+1);e.hasEdge(w,E)&&e.removeEdge(w,E)}),s.forEach(({clusterId:v,subgraph:g,bounds:w,removedNodes:E,removedEdges:k})=>{var C,S;let I=e.node(v),B=(C=I?.x)!=null?C:0,O=(S=I?.y)!=null?S:0,L=(w.minX+w.maxX)/2,D=(w.minY+w.maxY)/2;E.forEach(({id:y,node:_,parent:N})=>{e.setNode(y,_),N!==void 0&&e.setParent(y,N)}),k.forEach(({edge:y,label:_})=>{e.setEdge(y,_)}),g.nodes().forEach(y=>{if(y===v)return;let _=g.node(y),N=e.node(y);N&&_&&typeof _.x=="number"&&typeof _.y=="number"&&(N.x=B+(_.x-L),N.y=O+(_.y-D))}),delete I._dagreClusterSubgraph}),r.forEach(v=>{var g,w;let E=e.node(v),k=i[v];if(E&&E.rankdir&&E._dagreClusterSubgraph&&k){let C=E._dagreClusterSubgraph,S=(g=E.x)!=null?g:0,I=(w=E.y)!=null?w:0,B=(k.minX+k.maxX)/2,O=(k.minY+k.maxY)/2;C.nodes().forEach(L=>{if(L===v)return;let D=C.node(L),y=e.node(L);if(y&&D&&typeof D.x=="number"&&typeof D.y=="number"){let _=D.x-B,N=D.y-O;y.x=S+_,y.y=I+N}}),delete E._dagreClusterSubgraph}})}function tl(e,t,n,o=null){var r,i;let s=n?.useDynamic!==!1,a=s&&(r=o?.graph)!=null?r:null,c=s&&(i=o?.rawNodes)!=null?i:null;t(" makeSpaceForEdgeLabels",()=>Pm(e)),t(" removeSelfEdges",()=>Bm(e)),t(" acyclic",()=>hg(e,a)),t(" nestingGraph.run",()=>$g(e)),t(" rank",()=>Og(hl(e))),t(" injectEdgeLabelProxies",()=>zm(e)),t(" removeEmptyRanks",()=>Jp(e)),t(" nestingGraph.cleanup",()=>Vg(e)),t(" normalizeRanks",()=>Qp(e)),t(" assignRankMinMax",()=>Dm(e)),t(" removeEdgeLabelProxies",()=>Am(e)),t(" normalize.run",()=>yg(e)),t(" parentDummyChains",()=>Ag(e)),t(" addBorderSegments",()=>Fg(e)),t(" order",()=>Sl(e,n,c)),t(" insertSelfEdges",()=>Vm(e)),t(" adjustCoordinateSystem",()=>Xg(e)),t(" position",()=>_m(e,n.corePath)),t(" positionSelfEdges",()=>Fm(e));let l=JSON.parse(JSON.stringify(e._nodes));return t(" removeBorderNodes",()=>Hm(e)),t(" normalize.undo",()=>bg(e)),t(" fixupEdgeLabelCoords",()=>Rm(e)),t(" undoCoordinateSystem",()=>Zg(e)),t(" translateGraph",()=>Tm(e)),t(" assignNodeIntersects",()=>Lm(e)),t(" reversePoints",()=>$m(e)),t(" acyclic.undo",()=>gg(e)),{graph:e,rawNodes:l}}function nl(e,t){e.nodes().forEach(n=>{let o=e.node(n),r=t.node(n);o&&(o.x=r.x,o.y=r.y,o.order=r.order,o.rank=r.rank,t.children(n).length&&(o.width=r.width,o.height=r.height))}),e.edges().forEach(n=>{let o=e.edge(n),r=t.edge(n);o.points=r.points,Object.hasOwn(r,"x")&&(o.x=r.x,o.y=r.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var km=["nodesep","edgesep","ranksep","marginx","marginy"],Nm={ranksep:50,edgesep:20,nodesep:50,rankdir:"TB",rankalign:"center"},Sm=["acyclicer","ranker","rankdir","align","rankalign"],Cm=["width","height","rank"],ol={width:0,height:0},Im=["minlen","weight","width","height","labeloffset"],Mm={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Om=["labelpos"];function rl(e){let t=new Ne({multigraph:!0,compound:!0}),n=To(e.graph());return t.setGraph(Object.assign({},Nm,Ao(n,km),An(n,Sm))),e.nodes().forEach(o=>{let r=To(e.node(o)),i=Ao(r,Cm);Object.keys(ol).forEach(a=>{i[a]===void 0&&(i[a]=ol[a])}),t.setNode(o,i);let s=e.parent(o);s!==void 0&&t.setParent(o,s)}),e.edges().forEach(o=>{let r=To(e.edge(o));t.setEdge(o,Object.assign({},Mm,Ao(r,Im),An(r,Om)))}),t}function Pm(e){let t=e.graph();t.ranksep/=2,e.edges().forEach(n=>{var o;let r=e.edge(n);r.minlen*=2,((o=r.labelpos)!=null?o:"r").toLowerCase()!=="c"&&(t.rankdir==="TB"||t.rankdir==="BT"?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function zm(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.width&&n.height){let o=e.node(t.v),r={rank:(e.node(t.w).rank-o.rank)/2+o.rank,e:t};vt(e,"edge-proxy",r,"_ep")}})}function Dm(e){let t=0;e.nodes().forEach(n=>{let o=e.node(n);o.borderTop&&(o.minRank=e.node(o.borderTop).rank,o.maxRank=e.node(o.borderBottom).rank,t=Math.max(t,o.maxRank))}),e.graph().maxRank=t}function Am(e){e.nodes().forEach(t=>{let n=e.node(t);if(n.dummy==="edge-proxy"){let o=n;e.edge(o.e).labelRank=n.rank,e.removeNode(t)}})}function Tm(e){let t=Number.POSITIVE_INFINITY,n=0,o=Number.POSITIVE_INFINITY,r=0,i=e.graph(),s=i.marginx||0,a=i.marginy||0;function c(l){let d=l.x,f=l.y,u=l.width,p=l.height;t=Math.min(t,d-u/2),n=Math.max(n,d+u/2),o=Math.min(o,f-p/2),r=Math.max(r,f+p/2)}e.nodes().forEach(l=>c(e.node(l))),e.edges().forEach(l=>{let d=e.edge(l);Object.hasOwn(d,"x")&&c(d)}),t-=s,o-=a,e.nodes().forEach(l=>{let d=e.node(l);d.x-=t,d.y-=o}),e.edges().forEach(l=>{let d=e.edge(l);d.points.forEach(f=>{f.x-=t,f.y-=o}),Object.hasOwn(d,"x")&&(d.x-=t),Object.hasOwn(d,"y")&&(d.y-=o)}),i.width=n-t+s,i.height=r-o+a}function Lm(e){e.edges().forEach(t=>{if(t.v===t.w)return;let n=e.edge(t),o=e.node(t.v),r=e.node(t.w),i,s;n.points?(i=n.points[0],s=n.points[n.points.length-1]):(n.points=[],i=r,s=o),n.points.unshift(Fa(o,i)),n.points.push(Fa(r,s))})}function Rm(e){e.edges().forEach(t=>{let n=e.edge(t);if(Object.hasOwn(n,"x"))switch((n.labelpos==="l"||n.labelpos==="r")&&(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset;break}})}function $m(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}function Hm(e){e.nodes().forEach(t=>{if(e.children(t).length){let n=e.node(t),o=e.node(n.borderTop),r=e.node(n.borderBottom),i=e.node(n.borderLeft[n.borderLeft.length-1]),s=e.node(n.borderRight[n.borderRight.length-1]);n.width=Math.abs(s.x-i.x),n.height=Math.abs(r.y-o.y),n.x=i.x+n.width/2,n.y=o.y+n.height/2}}),e.nodes().forEach(t=>{e.node(t).dummy==="border"&&e.removeNode(t)})}function Bm(e){e.edges().forEach(t=>{if(t.v===t.w){let n=e.node(t.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function Vm(e){Tn(e).forEach(t=>{let n=0;t.forEach((o,r)=>{let i=e.node(o);typeof i.rank!="number"&&(i.rank=0),i.order=r+n,(i.selfEdges||[]).forEach(s=>{vt(e,"selfedge",{width:s.label.width,height:s.label.height,rank:i.rank,order:r+ ++n,e:s.e,edgeLabel:s.label},"_se"),(!Array.isArray(s.label.points)||s.label.points.length!==7)&&(s.label.points=[{x:0,y:-10},{x:0,y:-10},{x:0,y:0},{x:0,y:10},{x:0,y:10},{x:0,y:0},{x:0,y:0}])}),delete i.selfEdges})})}function Fm(e){e.nodes().forEach(t=>{let n=e.node(t),o=r=>typeof r=="number"&&isFinite(r);if(n.dummy==="selfedge"){let r=n,i=e.node(r.e.v),s=o(i?.x)?i.x:0,a=o(i?.y)?i.y:0,c=o(i?.width)?i.width:0,l=o(i?.height)?i.height:0,d=o(n.x)?n.x:s,f=o(n.y)?n.y:a,u=c/2,p=l/2;r.edgeLabel.points=[{x:d+u,y:f-p},{x:d+u,y:f-p},{x:d,y:f},{x:d-u,y:f+p},{x:d-u,y:f+p},{x:d,y:f},{x:d,y:f}],r.edgeLabel.x=d,r.edgeLabel.y=f,e.setEdge(r.e,r.edgeLabel),e.removeNode(t)}else n&&Array.isArray(n.selfEdges)&&n.selfEdges.forEach(r=>{if(!Array.isArray(r.label.points)||r.label.points.length!==7){let i=o(n.x)?n.x:0,s=o(n.y)?n.y:0,a=o(n.width)?n.width:0,c=o(n.height)?n.height:0,l=a/2,d=c/2;r.label.points=[{x:i+l,y:s-d},{x:i+l,y:s-d},{x:i,y:s},{x:i-l,y:s+d},{x:i-l,y:s+d},{x:i,y:s},{x:i,y:s}]}})})}function Ao(e,t){return Ln(An(e,t),Number)}function To(e){let t={};return e&&Object.entries(e).forEach(([n,o])=>{typeof n=="string"&&(n=n.toLowerCase()),t[n]=o}),t}var Yt=ir("flowchart",{"zh-CN":{"kind.request":"\u7528\u6237\u610F\u56FE","kind.skill":"\u6280\u80FD\u5165\u53E3","kind.decision":"\u6761\u4EF6\u5224\u65AD","kind.reference":"\u6309\u9700\u6587\u6863","kind.query":"CLI \u67E5\u8BE2","kind.result":"\u7ED3\u679C",editNode:"\u7F16\u8F91\u6240\u9009\u8282\u70B9",nodeName:"\u540D\u79F0",nodeDetail:"\u8BF4\u660E",nodeNameRequired:"\u8282\u70B9\u540D\u79F0\u9700\u8981\u6709\u5185\u5BB9\u3002",saveNode:"\u4FDD\u5B58\u8282\u70B9",viewControls:"\u6D41\u7A0B\u56FE\u89C6\u56FE",zoomIn:"\u653E\u5927\u6D41\u7A0B\u56FE",zoomOut:"\u7F29\u5C0F\u6D41\u7A0B\u56FE",fitView:"\u663E\u793A\u5B8C\u6574\u6D41\u7A0B",nodeList:"\u8282\u70B9\u5217\u8868",nodes:"\u8282\u70B9",flowchart:"\u6D41\u7A0B\u56FE",defaultTitle:"\u4EA4\u4E92\u6D41\u7A0B\u56FE",lockTarget:"\u6D41\u7A0B\u56FE",addFlow:"\u6DFB\u52A0\u4E00\u6761\u6D41\u7A0B",chooseFlow:"\u9009\u62E9\u6D41\u7A0B",closeNodeDetail:"\u5173\u95ED\u8282\u70B9\u8BE6\u60C5",commands:"\u6309\u9700\u67E5\u8BE2",references:"\u6B64\u65F6\u8BFB\u53D6"},en:{"kind.request":"User intent","kind.skill":"Skill entry","kind.decision":"Decision","kind.reference":"On-demand doc","kind.query":"CLI query","kind.result":"Result",editNode:"Edit selected node",nodeName:"Name",nodeDetail:"Description",nodeNameRequired:"Enter a node name.",saveNode:"Save node",viewControls:"Flowchart view",zoomIn:"Zoom in on flowchart",zoomOut:"Zoom out of flowchart",fitView:"Show the whole flow",nodeList:"Node list",nodes:"Nodes",flowchart:"Flowchart",defaultTitle:"Interactive flowchart",lockTarget:"flowchart",addFlow:"Add a flow",chooseFlow:"Choose flow",closeNodeDetail:"Close node details",commands:"Query on demand",references:"Read at this step"}});Xt(`.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}
|
|
8
|
-
`);Xt(`.sf-block{--sf-ink: var(--sb-text);--sf-soft: var(--sb-soft);--sf-line: var(--sb-line)}.sf-tabs{display:flex;flex-wrap:wrap;gap:5px;padding:0 20px 14px}.sf-tabs button{padding:7px 12px;border-radius:5px;font-size:13px}.sf-tabs button[aria-selected=true]{background:var(--sb-accent-soft);color:var(--sb-accent)}.sf-description{margin:0;padding:0 22px 16px;color:var(--sb-text);font-size:13px}.sf-canvas{position:relative;background:var(--sb-soft);border-top:1px solid var(--sb-line);border-bottom:1px solid var(--sb-line)}.sf-canvas .react-flow__edges{position:absolute;inset:0;width:100%;height:100%}.sf-canvas .react-flow__edges>svg:not(.react-flow__marker){width:100%;height:100%;overflow:visible}.sf-node{padding:12px 16px;border:1px solid color-mix(in srgb,var(--sb-accent) 24%,var(--sb-line));border-radius:5px;background:var(--sb-surface);color:var(--sb-text);box-shadow:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center}.sf-node strong{width:100%;font-size:16px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}.sf-node-subtitle{width:100%;font-size:12px;color:var(--sb-text)}.sf-node.is-selected{border-color:var(--sb-accent);background:color-mix(in srgb,var(--sb-accent) 4%,var(--sb-surface))}.sf-block .react-flow__handle{width:6px;height:6px;border:0;background:var(--sb-accent);opacity:0}.sf-block .react-flow__edge-path,.sf-block .react-flow__connection-path{stroke:var(--sb-muted)}.sf-block .react-flow__edge-text{fill:var(--sb-text)}.sf-block .react-flow__edge-textbg{fill:var(--sb-surface)}.sf-block .react-flow__background-pattern{fill:var(--sb-line)}.sf-block .react-flow__attribution{background:var(--sb-surface);color:var(--sb-muted);font-size:10px}.sf-block .react-flow__attribution a{color:inherit}.sf-controls{position:absolute;z-index:5;left:16px;bottom:16px;display:flex;gap:1px;padding:3px;border:1px solid var(--sb-line);border-radius:6px;background:var(--sb-surface)}.sf-controls button{width:33px;height:32px;display:grid;place-items:center;border-radius:4px}.sf-node-picker{display:flex;flex-wrap:wrap;gap:6px;padding:17px 20px 7px}.sf-node-picker button{padding:5px 9px;border:1px solid var(--sb-line);border-radius:5px;font-size:12px}.sf-node-picker button[aria-pressed=true]{color:var(--sb-accent);border-color:var(--sb-accent);background:var(--sb-accent-soft)}.sf-detail{margin:12px 20px 20px;padding:16px 18px;border-left:3px solid var(--sb-accent);background:var(--sb-soft)}.sf-detail-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sf-detail-heading span{color:var(--sb-muted);font-size:12px}.sf-detail-heading strong{font-size:15px;font-weight:600}.sf-detail p{font-size:13px;margin:9px 0 0;line-height:1.8}.sf-detail-group{display:flex;flex-direction:column;gap:6px;margin-top:13px}.sf-detail-group>span{color:var(--sb-muted);font-size:11px}.sf-detail code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--sb-text);font-size:12px;font-family:SFMono-Regular,Consolas,monospace}.sf-editor{margin-top:14px}.sf-editor label{display:flex;flex-direction:column;gap:5px;margin:12px 0}.sf-editor input,.sf-editor textarea{width:100%;padding:8px;border:1px solid var(--sb-line);border-radius:4px;background:var(--sb-surface)}@media(max-width:540px){.sf-tabs{padding-inline:12px}.sf-detail{margin-inline:12px}.sf-node-picker{padding-inline:12px}}.sf-canvas{background:transparent;border:0}.sf-tabs{padding:0 0 8px}.sf-description{padding:0 0 8px;color:var(--sb-muted);font-size:11px}.sf-controls{opacity:0}.sf-controls:hover,.sf-controls:focus-within{opacity:1}.sf-node-picker{position:absolute;right:16px;bottom:18px;z-index:5;padding:0;display:block;font-size:12px}.sf-node-picker>summary{list-style:none;padding:7px 10px;cursor:pointer;background:var(--sb-surface);border-radius:5px;opacity:0}.sf-node-picker>summary::-webkit-details-marker{display:none}.sf-node-picker:hover>summary,.sf-node-picker:focus-within>summary,.sf-node-picker[open]>summary{opacity:1}.sf-node-picker>div{position:absolute;right:0;bottom:100%;display:flex;flex-direction:column;gap:4px;width:220px;max-height:240px;overflow:auto;padding:8px;border:1px solid var(--sb-line);background:var(--sb-surface);border-radius:6px}.sf-detail{margin:8px 0}.sf-detail-heading>button{margin-left:auto}@media(hover:none){.sf-controls,.sf-node-picker>summary{opacity:1}}@media print{.sf-controls,.sf-node-picker,.sf-editor{display:none!important}}
|
|
9
|
-
`);var Z=Ae(Fn(),1),Ym={request:"kind.request",skill:"kind.skill",decision:"kind.decision",reference:"kind.reference",query:"kind.query",result:"kind.result"},Xo=176,Zo=72;function Xm({data:e,selected:t}){let n=e.direction==="LR";return(0,Z.jsxs)("div",{className:`sf-node sf-${e.kind??"query"}${t?" is-selected":""}`,style:{width:Xo,minHeight:Zo},children:[(0,Z.jsx)(rt,{type:"target",position:e.targetSide?e.targetSide:n?Y.Left:Y.Top}),(0,Z.jsx)("strong",{children:e.label}),e.subtitle&&(0,Z.jsx)("span",{className:"sf-node-subtitle",children:e.subtitle}),(0,Z.jsx)(rt,{type:"source",position:e.sourceSide?e.sourceSide:n?Y.Right:Y.Bottom})]})}var Zm={showai:Xm};function Wm({locked:e}){let{fitView:t,viewportInitialized:n}=bt(),o=La(),r=Aa(),i=J(u=>u.domNode),s=J(u=>u.width),a=J(u=>u.height),[c,l]=(0,le.useState)({width:0,height:0}),d=(0,le.useRef)(null),f=JSON.stringify(r.map(u=>[u.id,u.position.x,u.position.y,u.measured?.width,u.measured?.height]));return(0,le.useEffect)(()=>{if(!i)return;let u=()=>{let h={width:i.offsetWidth,height:i.offsetHeight};l(x=>x.width===h.width&&x.height===h.height?x:h)},p=new ResizeObserver(u);return p.observe(i),u(),()=>p.disconnect()},[i]),(0,le.useEffect)(()=>{if(!i||!n||!o||!c.width||!c.height||s!==c.width||a!==c.height)return;let u={...c,geometry:f},p=d.current;if(p&&(!e||p.width===u.width&&p.height===u.height&&p.geometry===f)){d.current=u;return}let h=requestAnimationFrame(()=>{i.offsetWidth!==c.width||i.offsetHeight!==c.height||(d.current=u,t({padding:.08}))});return()=>cancelAnimationFrame(h)},[i,t,n,o,c,s,a,f,e]),null}function qm({node:e,onSave:t}){let n=Et(Yt),[o,r]=(0,le.useState)(e.label),[i,s]=(0,le.useState)(e.detail??"");return(0,le.useEffect)(()=>{r(e.label),s(e.detail??"")},[e.id,e.label,e.detail]),(0,Z.jsxs)("details",{className:"sf-editor",children:[(0,Z.jsx)("summary",{children:n("editNode")}),(0,Z.jsxs)("label",{children:[n("nodeName"),(0,Z.jsx)("input",{value:o,"aria-invalid":!o.trim(),onChange:a=>r(a.target.value)})]}),(0,Z.jsxs)("label",{children:[n("nodeDetail"),(0,Z.jsx)("textarea",{value:i,onChange:a=>s(a.target.value)})]}),!o.trim()&&(0,Z.jsx)("p",{role:"alert",children:n("nodeNameRequired")}),(0,Z.jsx)("button",{type:"button",disabled:!o.trim(),onClick:()=>t({label:o.trim(),detail:i}),children:n("saveNode")})]})}function jm(e){let t=new Ro.Graph,n=e.direction??"TB";return t.setGraph({rankdir:n,nodesep:38,ranksep:62,marginx:24,marginy:24}),t.setDefaultEdgeLabel(()=>({})),e.nodes.forEach(o=>t.setNode(o.id,{width:Xo,height:Zo})),e.edges.forEach(o=>t.setEdge(o.source,o.target)),Il(t),e.nodes.map(o=>{let r=t.node(o.id);return{id:o.id,type:"showai",data:{...o,direction:n},position:o.position??{x:r.x-Xo/2,y:r.y-Zo/2}}})}function Gm({locked:e}){let t=bt(),n=Et(Yt);return(0,Z.jsxs)("div",{className:"sf-controls","aria-label":n("viewControls"),children:[(0,Z.jsx)("button",{type:"button",onClick:()=>t.zoomIn(),disabled:e,"aria-label":n("zoomIn"),children:(0,Z.jsx)(nr,{size:16})}),(0,Z.jsx)("button",{type:"button",onClick:()=>t.zoomOut(),disabled:e,"aria-label":n("zoomOut"),children:(0,Z.jsx)(tr,{size:16})}),(0,Z.jsx)("button",{type:"button",onClick:()=>t.fitView({padding:.08,duration:200}),disabled:e,"aria-label":n("fitView"),children:(0,Z.jsx)(er,{size:16})})]})}function Km({flow:e,height:t,readOnly:n,locked:o,onPosition:r,selected:i,onSelect:s}){let a=Et(Yt),c=(0,le.useMemo)(()=>jm(e),[e]),l=(0,le.useMemo)(()=>c.map(h=>({...h,selected:h.id===i})),[c,i]),[d,f,u]=Ta(l);(0,le.useEffect)(()=>f(l),[l,f]);let p=(0,le.useMemo)(()=>e.edges.map(h=>({...h,type:"smoothstep",markerEnd:{type:Fe.ArrowClosed},style:{strokeWidth:1.5},labelStyle:{fontSize:13},labelBgPadding:[6,3],labelBgBorderRadius:4})),[e]);return(0,Z.jsxs)("div",{className:"sf-canvas",style:{height:t},role:"group","aria-label":e.label,children:[(0,Z.jsxs)(Da,{proOptions:{hideAttribution:!0},nodes:d,edges:p,nodeTypes:Zm,onNodesChange:u,minZoom:.25,maxZoom:2,nodesDraggable:!n&&!o,panOnDrag:!o,zoomOnScroll:!o,zoomOnPinch:!o,zoomOnDoubleClick:!o,preventScrolling:!o,autoPanOnNodeFocus:!o,autoPanOnNodeDrag:!o,nodesConnectable:!1,edgesFocusable:!1,deleteKeyCode:null,onNodeClick:(h,x)=>s(x.id),onNodeDragStop:(h,x)=>r(x.id,x.position),children:[(0,Z.jsx)(Wm,{locked:o}),(0,Z.jsx)(Gm,{locked:o})]}),(0,Z.jsxs)("details",{className:"sf-node-picker",children:[(0,Z.jsx)("summary",{"aria-label":a("nodeList"),children:a("nodes")}),(0,Z.jsx)("div",{children:e.nodes.map(h=>(0,Z.jsx)("button",{type:"button","aria-pressed":i===h.id,onClick:()=>s(h.id),children:h.label},h.id))})]})]})}function Mv({data:e,onChange:t,readOnly:n=!1}){let o=(0,le.useId)(),r=Et(Yt),i=sr("flowchart"),s=rr(e),[a,c]=(0,le.useState)(s.flows[0]?.id??""),l=s.flows.find(h=>h.id===a)??s.flows[0],[d,f]=(0,le.useState)("");(0,le.useEffect)(()=>{l&&!l.nodes.some(h=>h.id===d)&&f("")},[l,d]);let u=l?.nodes.find(h=>h.id===d),p=(h,x)=>t?.({...s,flows:s.flows.map(b=>b.id===l.id?{...b,nodes:b.nodes.map(m=>m.id===h?{...m,...x}:m)}:b)});return(0,Z.jsxs)("section",{ref:i.ref,className:"sb-block sf-block","aria-label":lr(s.title,r("flowchart")),"data-viewport-lock-scope":"flowchart","data-viewport-locked":i.locked,children:[(0,Z.jsx)(cr,{title:s.title,defaultTitle:r("defaultTitle"),description:s.description}),(0,Z.jsx)(ar,{...i,label:r("lockTarget")}),l?(0,Z.jsxs)(Z.Fragment,{children:[s.flows.length>1&&(0,Z.jsx)("div",{className:"sf-tabs",role:"tablist","aria-label":r("chooseFlow"),children:s.flows.map(h=>(0,Z.jsx)("button",{id:`${o}-tab-${h.id}`,type:"button",role:"tab","aria-selected":h.id===l.id,"aria-controls":`${o}-panel-${h.id}`,onClick:()=>{c(h.id),f("")},children:h.label},h.id))}),(0,Z.jsxs)("div",{role:"tabpanel",id:`${o}-panel-${l.id}`,"aria-labelledby":s.flows.length>1?`${o}-tab-${l.id}`:void 0,children:[l.description&&(0,Z.jsx)("p",{className:"sf-description",children:l.description}),(0,Z.jsx)(Mo,{children:(0,Z.jsx)(Km,{flow:l,height:s.height??580,readOnly:n,locked:i.locked,selected:d,onSelect:f,onPosition:(h,x)=>{n||p(h,{position:x})}})},l.id),u&&(u.detail||u.commands?.length||u.references?.length||!n&&t)&&(0,Z.jsxs)("div",{className:"sf-detail","aria-live":"polite",children:[(0,Z.jsxs)("div",{className:"sf-detail-heading",children:[u.kind&&(0,Z.jsx)("span",{children:r(Ym[u.kind])}),(0,Z.jsx)("strong",{children:u.label}),(0,Z.jsx)("button",{type:"button",className:"sb-icon-button","aria-label":r("closeNodeDetail"),onClick:()=>f(""),children:(0,Z.jsx)(or,{size:16})})]}),u.detail&&(0,Z.jsx)("p",{children:u.detail}),!!u.commands?.length&&(0,Z.jsxs)("div",{className:"sf-detail-group",children:[(0,Z.jsx)("span",{children:r("commands")}),u.commands.map(h=>(0,Z.jsx)("code",{children:h},h))]}),!!u.references?.length&&(0,Z.jsxs)("div",{className:"sf-detail-group",children:[(0,Z.jsx)("span",{children:r("references")}),u.references.map(h=>(0,Z.jsx)("code",{children:h},h))]}),!n&&t&&(0,Z.jsx)(qm,{node:u,onSave:h=>p(u.id,h)})]})]})]}):(0,Z.jsx)(dr,{title:r("addFlow")})]})}export{Mv as FlowchartBlock,jm as layoutFlow};
|
|
10
|
-
/*! For license information please see Flowchart-BOY3JGQF.js.LEGAL.txt */
|