showai-reader 0.9.0-reader.q4ja4waa → 0.9.0-reader.rdnqa6s3

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.
Files changed (48) hide show
  1. package/README.md +1 -1
  2. package/chunks/CardGrid-4J43EYBG.js +2 -0
  3. package/chunks/CommandReference-RURBETEE.js +3 -0
  4. package/chunks/{ComparisonMatrix-VW2IGVU5.js → ComparisonMatrix-3NPOV2C2.js} +1 -1
  5. package/chunks/EventTimeline-ZBPOWX5G.js +2 -0
  6. package/chunks/{ExperimentTracker-MGDLULUF.js → ExperimentTracker-M2MCK3T3.js} +1 -1
  7. package/chunks/{ExternalDiagram-GBZ7V5UE.js → ExternalDiagram-X2PKL6FZ.js} +1 -1
  8. package/chunks/Flowchart-DKB2L4BW.js +12 -0
  9. package/chunks/{G2Chart-7EVLDIBD.js → G2Chart-ZNQ2DX2B.js} +2 -2
  10. package/chunks/LayerDiagram-4K3MUVMX.js +2 -0
  11. package/chunks/{Mindmap-4KIEQIOX.js → Mindmap-W34T7QBH.js} +2 -2
  12. package/chunks/{RichTextEditor-3RHTXHKF.js → RichTextEditor-V22CLVIU.js} +1 -1
  13. package/chunks/Roadmap-XUE53GDT.js +2 -0
  14. package/chunks/{Scene3D-UGBYDVQQ.js → Scene3D-J4LQMEHU.js} +2 -2
  15. package/chunks/SequenceDiagram-OC62QNYE.js +2 -0
  16. package/chunks/{StatusTree-2D4NMGCP.js → StatusTree-XHA64Z6X.js} +1 -1
  17. package/chunks/StepGuide-L7B5BISR.js +1 -0
  18. package/chunks/StructureBrowser-V7D7T4IJ.js +3 -0
  19. package/chunks/Waterfall-QCPM23JB.js +2 -0
  20. package/chunks/chunk-3RZMLHCB.js +1 -0
  21. package/chunks/{chunk-ANLBEZ6Q.js → chunk-4S5THSYJ.js} +2 -2
  22. package/chunks/chunk-7KLWJ6U4.js +1 -0
  23. package/chunks/chunk-AIBH6MTQ.js +1 -0
  24. package/chunks/chunk-D74K2NKW.js +1 -0
  25. package/chunks/{chunk-YNCGN7XC.js → chunk-DY7XKPRY.js} +1 -1
  26. package/chunks/chunk-GLP5VV7P.js +1 -0
  27. package/chunks/chunk-JXKAISUX.js +1 -0
  28. package/chunks/{chunk-OQ6FTOA6.js → chunk-NF6YPAR6.js} +1 -1
  29. package/chunks/{chunk-YMCR7XS6.js → chunk-NIXNABQP.js} +1 -1
  30. package/chunks/chunk-NJBFXE6W.js +1 -0
  31. package/chunks/chunk-P3JIINVU.js +4 -0
  32. package/chunks/{chunk-3HD2PTWK.js → chunk-UXI4E4FN.js} +1 -1
  33. package/chunks/{chunk-IGVOXOPU.js → chunk-XCJENDJI.js} +1 -1
  34. package/chunks/chunk-YLTLOYBH.js +1 -0
  35. package/chunks/{chunk-KWOFOCF3.js → chunk-Z26LTCQQ.js} +3 -3
  36. package/index.js +1 -1
  37. package/manifest.json +5 -5
  38. package/package.json +1 -1
  39. package/reader-RDNQA6S3.js +46 -0
  40. package/chunks/Flowchart-LXZEZDKL.js +0 -10
  41. package/chunks/chunk-M3KEZP5Z.js +0 -1
  42. package/reader-Q4JA4WAA.js +0 -41
  43. package/chunks/{Flowchart-LXZEZDKL.js.LEGAL.txt → Flowchart-DKB2L4BW.js.LEGAL.txt} +0 -0
  44. package/chunks/{G2Chart-7EVLDIBD.js.LEGAL.txt → G2Chart-ZNQ2DX2B.js.LEGAL.txt} +0 -0
  45. package/chunks/{Scene3D-UGBYDVQQ.js.LEGAL.txt → Scene3D-J4LQMEHU.js.LEGAL.txt} +0 -0
  46. package/chunks/{chunk-ANLBEZ6Q.js.LEGAL.txt → chunk-4S5THSYJ.js.LEGAL.txt} +0 -0
  47. package/chunks/{chunk-KWOFOCF3.js.LEGAL.txt → chunk-Z26LTCQQ.js.LEGAL.txt} +1 -1
  48. /package/{reader-Q4JA4WAA.js.LEGAL.txt → reader-RDNQA6S3.js.LEGAL.txt} +0 -0
@@ -0,0 +1,12 @@
1
+ import{a as ct,b as Wn,e as qn,g as wr,h as xr,i as qt,j as vr,k as kr,l as dt,o as _r,p as Er,q as Kn}from"./chunk-P5ET5XMK.js";import{a as ur,b as fr}from"./chunk-GLP5VV7P.js";import{d as pr,e as gr}from"./chunk-XCJENDJI.js";import{b as jc}from"./chunk-4S5THSYJ.js";import"./chunk-WDYURK6F.js";import{d as mr,e as br,f as yr}from"./chunk-NF6YPAR6.js";import{A as or,B as rr,Ca as ar,Da as lr,Ia as cr,a as Wt,c as Xn,kb as dr,lb as Zn,mb as Yc,ob as Oe,ra as ir,ta as sr}from"./chunk-Z26LTCQQ.js";import{c as Le,d as hr}from"./chunk-DUIGVKKG.js";var oe=Le(Xn(),1);var z=Le(Zn()),D=Le(Xn());function ae(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=ae(e[n]))!==""&&(t+=(t&&" ")+o);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var Kt="http://www.w3.org/1999/xhtml",Gn={svg:"http://www.w3.org/2000/svg",xhtml:Kt,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Pe(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),Gn.hasOwnProperty(t)?{space:Gn[t],local:e}:e}function Xc(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Kt&&t.documentElement.namespaceURI===Kt?t.createElement(e):t.createElementNS(n,e)}}function Zc(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Gt(e){var t=Pe(e);return(t.local?Zc:Xc)(t)}function Wc(){}function Ge(e){return e==null?Wc:function(){return this.querySelector(e)}}function Nr(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 le(o,this._parents)}function Un(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function qc(){return[]}function Ct(e){return e==null?qc:function(){return this.querySelectorAll(e)}}function Kc(e){return function(){return Un(e.apply(this,arguments))}}function Sr(e){typeof e=="function"?e=Kc(e):e=Ct(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 le(o,r)}function Mt(e){return function(){return this.matches(e)}}function Ut(e){return function(t){return t.matches(e)}}var Gc=Array.prototype.find;function Uc(e){return function(){return Gc.call(this.children,e)}}function Qc(){return this.firstElementChild}function Cr(e){return this.select(e==null?Qc:Uc(typeof e=="function"?e:Ut(e)))}var Jc=Array.prototype.filter;function ed(){return Array.from(this.children)}function td(e){return function(){return Jc.call(this.children,e)}}function Mr(e){return this.selectAll(e==null?ed:td(typeof e=="function"?e:Ut(e)))}function Ir(e){typeof e!="function"&&(e=Mt(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 le(o,this._parents)}function Qt(e){return new Array(e.length)}function Or(){return new le(this._enter||this._groups.map(Qt),this._parents)}function It(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}It.prototype={constructor:It,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 Pr(e){return function(){return e}}function nd(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 It(e,i[s]);for(;s<c;++s)(a=t[s])&&(r[s]=a)}function od(e,t,n,o,r,i,s){var a,c,l=new Map,d=t.length,f=i.length,u=new Array(d),h;for(a=0;a<d;++a)(c=t[a])&&(u[a]=h=s.call(c,c.__data__,a,t)+"",l.has(h)?r[a]=c:l.set(h,c));for(a=0;a<f;++a)h=s.call(e,i[a],a,i)+"",(c=l.get(h))?(o[a]=c,c.__data__=i[a],l.delete(h)):n[a]=new It(e,i[a]);for(a=0;a<d;++a)(c=t[a])&&l.get(u[a])===c&&(r[a]=c)}function rd(e){return e.__data__}function zr(e,t){if(!arguments.length)return Array.from(this,rd);var n=t?od:nd,o=this._parents,r=this._groups;typeof e!="function"&&(e=Pr(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,h=id(e.call(d,d&&d.__data__,l,o)),p=h.length,x=a[l]=new Array(p),b=s[l]=new Array(p),m=c[l]=new Array(u);n(d,f,x,b,m,h,t);for(var v=0,g=0,w,_;v<p;++v)if(w=x[v]){for(v>=g&&(g=v+1);!(_=b[g])&&++g<p;);w._next=_||null}}return s=new le(s,o),s._enter=a,s._exit=c,s}function id(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Dr(){return new le(this._exit||this._groups.map(Qt),this._parents)}function Ar(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 Tr(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),h,p=0;p<f;++p)(h=l[p]||d[p])&&(u[p]=h);for(;c<r;++c)a[c]=n[c];return new le(a,this._parents)}function Lr(){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 Rr(e){e||(e=sd);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 le(r,this._parents).order()}function sd(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function $r(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Vr(){return Array.from(this)}function Hr(){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 Br(){let e=0;for(let t of this)++e;return e}function Fr(){return!this.node()}function Yr(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 ad(e){return function(){this.removeAttribute(e)}}function ld(e){return function(){this.removeAttributeNS(e.space,e.local)}}function cd(e,t){return function(){this.setAttribute(e,t)}}function dd(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function ud(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function fd(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 jr(e,t){var n=Pe(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?ld:ad:typeof t=="function"?n.local?fd:ud:n.local?dd:cd)(n,t))}function Jt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function hd(e){return function(){this.style.removeProperty(e)}}function pd(e,t,n){return function(){this.style.setProperty(e,t,n)}}function gd(e,t,n){return function(){var o=t.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,n)}}function Xr(e,t,n){return arguments.length>1?this.each((t==null?hd:typeof t=="function"?gd:pd)(e,t,n??"")):Re(this.node(),e)}function Re(e,t){return e.style.getPropertyValue(t)||Jt(e).getComputedStyle(e,null).getPropertyValue(t)}function md(e){return function(){delete this[e]}}function bd(e,t){return function(){this[e]=t}}function yd(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Zr(e,t){return arguments.length>1?this.each((t==null?md:typeof t=="function"?yd:bd)(e,t)):this.node()[e]}function Wr(e){return e.trim().split(/^|\s+/)}function Qn(e){return e.classList||new qr(e)}function qr(e){this._node=e,this._names=Wr(e.getAttribute("class")||"")}qr.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 Kr(e,t){for(var n=Qn(e),o=-1,r=t.length;++o<r;)n.add(t[o])}function Gr(e,t){for(var n=Qn(e),o=-1,r=t.length;++o<r;)n.remove(t[o])}function wd(e){return function(){Kr(this,e)}}function xd(e){return function(){Gr(this,e)}}function vd(e,t){return function(){(t.apply(this,arguments)?Kr:Gr)(this,e)}}function Ur(e,t){var n=Wr(e+"");if(arguments.length<2){for(var o=Qn(this.node()),r=-1,i=n.length;++r<i;)if(!o.contains(n[r]))return!1;return!0}return this.each((typeof t=="function"?vd:t?wd:xd)(n,t))}function kd(){this.textContent=""}function _d(e){return function(){this.textContent=e}}function Ed(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function Qr(e){return arguments.length?this.each(e==null?kd:(typeof e=="function"?Ed:_d)(e)):this.node().textContent}function Nd(){this.innerHTML=""}function Sd(e){return function(){this.innerHTML=e}}function Cd(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function Jr(e){return arguments.length?this.each(e==null?Nd:(typeof e=="function"?Cd:Sd)(e)):this.node().innerHTML}function Md(){this.nextSibling&&this.parentNode.appendChild(this)}function ei(){return this.each(Md)}function Id(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ti(){return this.each(Id)}function ni(e){var t=typeof e=="function"?e:Gt(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function Od(){return null}function oi(e,t){var n=typeof e=="function"?e:Gt(e),o=t==null?Od:typeof t=="function"?t:Ge(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),o.apply(this,arguments)||null)})}function Pd(){var e=this.parentNode;e&&e.removeChild(this)}function ri(){return this.each(Pd)}function zd(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Dd(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ii(e){return this.select(e?Dd:zd)}function si(e){return arguments.length?this.property("__data__",e):this.node().__data__}function Ad(e){return function(t){e.call(this,t,this.__data__)}}function Td(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 Ld(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 Rd(e,t,n){return function(){var o=this.__on,r,i=Ad(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 ai(e,t,n){var o=Td(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?Rd:Ld,r=0;r<i;++r)this.each(a(o[r],t,n));return this}function li(e,t,n){var o=Jt(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 $d(e,t){return function(){return li(this,e,t)}}function Vd(e,t){return function(){return li(this,e,t.apply(this,arguments))}}function ci(e,t){return this.each((typeof t=="function"?Vd:$d)(e,t))}function*di(){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 Jn=[null];function le(e,t){this._groups=e,this._parents=t}function ui(){return new le([[document.documentElement]],Jn)}function Hd(){return this}le.prototype=ui.prototype={constructor:le,select:Nr,selectAll:Sr,selectChild:Cr,selectChildren:Mr,filter:Ir,data:zr,enter:Or,exit:Dr,join:Ar,merge:Tr,selection:Hd,order:Lr,sort:Rr,call:$r,nodes:Vr,node:Hr,size:Br,empty:Fr,each:Yr,attr:jr,style:Xr,property:Zr,classed:Ur,text:Qr,html:Jr,raise:ei,lower:ti,append:ni,insert:oi,remove:ri,clone:ii,datum:si,on:ai,dispatch:ci,[Symbol.iterator]:di};var ze=ui;function de(e){return typeof e=="string"?new le([[document.querySelector(e)]],[document.documentElement]):new le([[e]],Jn)}function fi(e){let t;for(;t=e.sourceEvent;)e=t;return e}function he(e,t){if(e=fi(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 hi={passive:!1},Ue={capture:!0,passive:!1};function en(e){e.stopImmediatePropagation()}function $e(e){e.preventDefault(),e.stopImmediatePropagation()}function Ot(e){var t=e.document.documentElement,n=de(e).on("dragstart.drag",$e,Ue);"onselectstart"in t?n.on("selectstart.drag",$e,Ue):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function Pt(e,t){var n=e.document.documentElement,o=de(e).on("dragstart.drag",null);t&&(o.on("click.drag",$e,Ue),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 zt=e=>()=>e;function Dt(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}})}Dt.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Bd(e){return!e.ctrlKey&&!e.button}function Fd(){return this.parentNode}function Yd(e,t){return t??{x:e.x,y:e.y}}function jd(){return navigator.maxTouchPoints||"ontouchstart"in this}function tn(){var e=Bd,t=Fd,n=Yd,o=jd,r={},i=ct("start","drag","end"),s=0,a,c,l,d,f=0;function u(w){w.on("mousedown.drag",h).filter(o).on("touchstart.drag",b).on("touchmove.drag",m,hi).on("touchend.drag touchcancel.drag",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(w,_){if(!(d||!e.call(this,w,_))){var E=g(this,t.call(this,w,_),w,_,"mouse");E&&(de(w.view).on("mousemove.drag",p,Ue).on("mouseup.drag",x,Ue),Ot(w.view),en(w),l=!1,a=w.clientX,c=w.clientY,E("start",w))}}function p(w){if($e(w),!l){var _=w.clientX-a,E=w.clientY-c;l=_*_+E*E>f}r.mouse("drag",w)}function x(w){de(w.view).on("mousemove.drag mouseup.drag",null),Pt(w.view,l),$e(w),r.mouse("end",w)}function b(w,_){if(e.call(this,w,_)){var E=w.changedTouches,C=t.call(this,w,_),M=E.length,I,V;for(I=0;I<M;++I)(V=g(this,C,w,_,E[I].identifier,E[I]))&&(en(w),V("start",w,E[I]))}}function m(w){var _=w.changedTouches,E=_.length,C,M;for(C=0;C<E;++C)(M=r[_[C].identifier])&&($e(w),M("drag",w,_[C]))}function v(w){var _=w.changedTouches,E=_.length,C,M;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),C=0;C<E;++C)(M=r[_[C].identifier])&&(en(w),M("end",w,_[C]))}function g(w,_,E,C,M,I){var V=i.copy(),P=he(I||E,_),L,S,y;if((y=n.call(w,new Dt("beforestart",{sourceEvent:E,target:u,identifier:M,active:s,x:P[0],y:P[1],dx:0,dy:0,dispatch:V}),C))!=null)return L=y.x-P[0]||0,S=y.y-P[1]||0,function k(N,O,A){var T=P,B;switch(N){case"start":r[M]=k,B=s++;break;case"end":delete r[M],--s;case"drag":P=he(A||O,_),B=s;break}V.call(N,w,new Dt(N,{sourceEvent:O,subject:y,target:u,identifier:M,active:B,x:P[0]+L,y:P[1]+S,dx:P[0]-T[0],dy:P[1]-T[1],dispatch:V}),C)}}return u.filter=function(w){return arguments.length?(e=typeof w=="function"?w:zt(!!w),u):e},u.container=function(w){return arguments.length?(t=typeof w=="function"?w:zt(w),u):t},u.subject=function(w){return arguments.length?(n=typeof w=="function"?w:zt(w),u):n},u.touchable=function(w){return arguments.length?(o=typeof w=="function"?w:zt(!!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 Xd=ct("start","end","cancel","interrupt"),Zd=[],mi=0,pi=1,on=2,nn=3,gi=4,rn=5,At=6;function Ve(e,t,n,o,r,i){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;Wd(e,n,{name:t,index:o,group:r,on:Xd,tween:Zd,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:mi})}function Tt(e,t){var n=ce(e,t);if(n.state>mi)throw new Error("too late; already scheduled");return n}function fe(e,t){var n=ce(e,t);if(n.state>nn)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 Wd(e,t,n){var o=e.__transition,r;o[t]=n,n.timer=Er(i,0,n.time);function i(l){n.state=pi,n.timer.restart(s,n.delay,n.time),n.delay<=l&&s(l-n.delay)}function s(l){var d,f,u,h;if(n.state!==pi)return c();for(d in o)if(h=o[d],h.name===n.name){if(h.state===nn)return Kn(s);h.state===gi?(h.state=At,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete o[d]):+d<t&&(h.state=At,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete o[d])}if(Kn(function(){n.state===nn&&(n.state=gi,n.timer.restart(a,n.delay,n.time),a(l))}),n.state=on,n.on.call("start",e,e.__data__,n.index,n.group),n.state===on){for(n.state=nn,r=new Array(u=n.tween.length),d=0,f=-1;d<u;++d)(h=n.tween[d].value.call(e,e.__data__,n.index,n.group))&&(r[++f]=h);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=rn,1),f=-1,u=r.length;++f<u;)r[f].call(e,d);n.state===rn&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=At,n.timer.stop(),delete o[t];for(var l in o)return;delete e.__transition}}function Qe(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>on&&o.state<rn,o.state=At,o.timer.stop(),o.on.call(r?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete n[s]}i&&delete e.__transition}}function bi(e){return this.each(function(){Qe(this,e)})}function qd(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 Kd(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 yi(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?qd:Kd)(n,e,t))}function ut(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 sn(e,t){var n;return(typeof t=="number"?wr:t instanceof Wn?qn:(n=Wn(t))?(t=n,qn):xr)(e,t)}function Gd(e){return function(){this.removeAttribute(e)}}function Ud(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Qd(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 Jd(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 eu(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 tu(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 wi(e,t){var n=Pe(e),o=n==="transform"?kr:sn;return this.attrTween(e,typeof t=="function"?(n.local?tu:eu)(n,o,ut(this,"attr."+e,t)):t==null?(n.local?Ud:Gd)(n):(n.local?Jd:Qd)(n,o,t))}function nu(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function ou(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function ru(e,t){var n,o;function r(){var i=t.apply(this,arguments);return i!==o&&(n=(o=i)&&ou(e,i)),n}return r._value=t,r}function iu(e,t){var n,o;function r(){var i=t.apply(this,arguments);return i!==o&&(n=(o=i)&&nu(e,i)),n}return r._value=t,r}function xi(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=Pe(e);return this.tween(n,(o.local?ru:iu)(o,t))}function su(e,t){return function(){Tt(this,e).delay=+t.apply(this,arguments)}}function au(e,t){return t=+t,function(){Tt(this,e).delay=t}}function vi(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?su:au)(t,e)):ce(this.node(),t).delay}function lu(e,t){return function(){fe(this,e).duration=+t.apply(this,arguments)}}function cu(e,t){return t=+t,function(){fe(this,e).duration=t}}function ki(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?lu:cu)(t,e)):ce(this.node(),t).duration}function du(e,t){if(typeof t!="function")throw new Error;return function(){fe(this,e).ease=t}}function _i(e){var t=this._id;return arguments.length?this.each(du(t,e)):ce(this.node(),t).ease}function uu(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;fe(this,e).ease=n}}function Ei(e){if(typeof e!="function")throw new Error;return this.each(uu(this._id,e))}function Ni(e){typeof e!="function"&&(e=Mt(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 Si(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,h=0;h<d;++h)(u=c[h]||l[h])&&(f[h]=u);for(;a<o;++a)s[a]=t[a];return new pe(s,this._parents,this._name,this._id)}function fu(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 hu(e,t,n){var o,r,i=fu(t)?Tt:fe;return function(){var s=i(this,e),a=s.on;a!==o&&(r=(o=a).copy()).on(t,n),s.on=r}}function Ci(e,t){var n=this._id;return arguments.length<2?ce(this.node(),n).on.on(e):this.each(hu(n,e,t))}function pu(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Mi(){return this.on("end.remove",pu(this._id))}function Ii(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,Ve(l[u],t,n,u,l,ce(d,n)));return new pe(i,this._parents,t,n)}function Oi(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Ct(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),h,p=ce(d,n),x=0,b=u.length;x<b;++x)(h=u[x])&&Ve(h,t,n,x,u,p);i.push(u),s.push(d)}return new pe(i,s,t,n)}var gu=ze.prototype.constructor;function Pi(){return new gu(this._groups,this._parents)}function mu(e,t){var n,o,r;return function(){var i=Re(this,e),s=(this.style.removeProperty(e),Re(this,e));return i===s?null:i===n&&s===o?r:r=t(n=i,o=s)}}function zi(e){return function(){this.style.removeProperty(e)}}function bu(e,t,n){var o,r=n+"",i;return function(){var s=Re(this,e);return s===r?null:s===o?i:i=t(o=s,n)}}function yu(e,t,n){var o,r,i;return function(){var s=Re(this,e),a=n(this),c=a+"";return a==null&&(c=a=(this.style.removeProperty(e),Re(this,e))),s===c?null:s===o&&c===r?i:(r=c,i=t(o=s,a))}}function wu(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=zi(t)):void 0;(l!==n||r!==d)&&(o=(n=l).copy()).on(s,r=d),c.on=o}}function Di(e,t,n){var o=(e+="")=="transform"?vr:sn;return t==null?this.styleTween(e,mu(e,o)).on("end.style."+e,zi(e)):typeof t=="function"?this.styleTween(e,yu(e,o,ut(this,"style."+e,t))).each(wu(this._id,e)):this.styleTween(e,bu(e,o,t),n).on("end.style."+e,null)}function xu(e,t,n){return function(o){this.style.setProperty(e,t.call(this,o),n)}}function vu(e,t,n){var o,r;function i(){var s=t.apply(this,arguments);return s!==r&&(o=(r=s)&&xu(e,s,n)),o}return i._value=t,i}function Ai(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,vu(e,t,n??""))}function ku(e){return function(){this.textContent=e}}function _u(e){return function(){var t=e(this);this.textContent=t??""}}function Ti(e){return this.tween("text",typeof e=="function"?_u(ut(this,"text",e)):ku(e==null?"":e+""))}function Eu(e){return function(t){this.textContent=e.call(this,t)}}function Nu(e){var t,n;function o(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&Eu(r)),t}return o._value=e,o}function Li(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,Nu(e))}function Ri(){for(var e=this._name,t=this._id,n=an(),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);Ve(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 $i(){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 Su=0;function pe(e,t,n,o){this._groups=e,this._parents=t,this._name=n,this._id=o}function Vi(e){return ze().transition(e)}function an(){return++Su}var De=ze.prototype;pe.prototype=Vi.prototype={constructor:pe,select:Ii,selectAll:Oi,selectChild:De.selectChild,selectChildren:De.selectChildren,filter:Ni,merge:Si,selection:Pi,transition:Ri,call:De.call,nodes:De.nodes,node:De.node,size:De.size,empty:De.empty,each:De.each,on:Ci,attr:wi,attrTween:xi,style:Di,styleTween:Ai,text:Ti,textTween:Li,remove:Mi,tween:yi,delay:vi,duration:ki,ease:_i,easeVarying:Ei,end:$i,[Symbol.iterator]:De[Symbol.iterator]};function ln(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Cu={time:null,delay:0,duration:250,ease:ln};function Mu(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 Hi(e){var t,n;e instanceof pe?(t=e._id,e=e._name):(t=an(),(n=Cu).time=_r(),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])&&Ve(c,e,t,l,s,n||Mu(c,t));return new pe(o,this._parents,e,t)}ze.prototype.interrupt=bi;ze.prototype.transition=Hi;var Lt=e=>()=>e;function eo(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 Je=new xe(1,0,0);Rt.prototype=xe.prototype;function Rt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Je;return e.__zoom}function cn(e){e.stopImmediatePropagation()}function ft(e){e.preventDefault(),e.stopImmediatePropagation()}function Iu(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Ou(){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 Bi(){return this.__zoom||Je}function Pu(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function zu(){return navigator.maxTouchPoints||"ontouchstart"in this}function Du(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 dn(){var e=Iu,t=Ou,n=Du,o=Pu,r=zu,i=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,c=dt,l=ct("start","zoom","end"),d,f,u,h=500,p=150,x=0,b=10;function m(y){y.property("__zoom",Bi).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",I).on("dblclick.zoom",V).filter(r).on("touchstart.zoom",P).on("touchmove.zoom",L).on("touchend.zoom touchcancel.zoom",S).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}m.transform=function(y,k,N,O){var A=y.selection?y.selection():y;A.property("__zoom",Bi),y!==A?_(y,k,N,O):A.interrupt().each(function(){E(this,arguments).event(O).start().zoom(null,typeof k=="function"?k.apply(this,arguments):k).end()})},m.scaleBy=function(y,k,N,O){m.scaleTo(y,function(){var A=this.__zoom.k,T=typeof k=="function"?k.apply(this,arguments):k;return A*T},N,O)},m.scaleTo=function(y,k,N,O){m.transform(y,function(){var A=t.apply(this,arguments),T=this.__zoom,B=N==null?w(A):typeof N=="function"?N.apply(this,arguments):N,H=T.invert(B),F=typeof k=="function"?k.apply(this,arguments):k;return n(g(v(T,F),B,H),A,s)},N,O)},m.translateBy=function(y,k,N,O){m.transform(y,function(){return n(this.__zoom.translate(typeof k=="function"?k.apply(this,arguments):k,typeof N=="function"?N.apply(this,arguments):N),t.apply(this,arguments),s)},null,O)},m.translateTo=function(y,k,N,O,A){m.transform(y,function(){var T=t.apply(this,arguments),B=this.__zoom,H=O==null?w(T):typeof O=="function"?O.apply(this,arguments):O;return n(Je.translate(H[0],H[1]).scale(B.k).translate(typeof k=="function"?-k.apply(this,arguments):-k,typeof N=="function"?-N.apply(this,arguments):-N),T,s)},O,A)};function v(y,k){return k=Math.max(i[0],Math.min(i[1],k)),k===y.k?y:new xe(k,y.x,y.y)}function g(y,k,N){var O=k[0]-N[0]*y.k,A=k[1]-N[1]*y.k;return O===y.x&&A===y.y?y:new xe(y.k,O,A)}function w(y){return[(+y[0][0]+ +y[1][0])/2,(+y[0][1]+ +y[1][1])/2]}function _(y,k,N,O){y.on("start.zoom",function(){E(this,arguments).event(O).start()}).on("interrupt.zoom end.zoom",function(){E(this,arguments).event(O).end()}).tween("zoom",function(){var A=this,T=arguments,B=E(A,T).event(O),H=t.apply(A,T),F=N==null?w(H):typeof N=="function"?N.apply(A,T):N,q=Math.max(H[1][0]-H[0][0],H[1][1]-H[0][1]),Y=A.__zoom,K=typeof k=="function"?k.apply(A,T):k,ee=c(Y.invert(F).concat(q/Y.k),K.invert(F).concat(q/K.k));return function(W){if(W===1)W=K;else{var $=ee(W),X=q/$[2];W=new xe(X,F[0]-$[0]*X,F[1]-$[1]*X)}B.zoom(null,W)}})}function E(y,k,N){return!N&&y.__zooming||new C(y,k)}function C(y,k){this.that=y,this.args=k,this.active=0,this.sourceEvent=null,this.extent=t.apply(y,k),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,k){return this.mouse&&y!=="mouse"&&(this.mouse[1]=k.invert(this.mouse[0])),this.touch0&&y!=="touch"&&(this.touch0[1]=k.invert(this.touch0[0])),this.touch1&&y!=="touch"&&(this.touch1[1]=k.invert(this.touch1[0])),this.that.__zoom=k,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(y){var k=de(this.that).datum();l.call(y,this.that,new eo(y,{sourceEvent:this.sourceEvent,target:m,type:y,transform:this.that.__zoom,dispatch:l}),k)}};function M(y,...k){if(!e.apply(this,arguments))return;var N=E(this,k).event(y),O=this.__zoom,A=Math.max(i[0],Math.min(i[1],O.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]=O.invert(N.mouse[0]=T)),clearTimeout(N.wheel);else{if(O.k===A)return;N.mouse=[T,O.invert(T)],Qe(this),N.start()}ft(y),N.wheel=setTimeout(B,p),N.zoom("mouse",n(g(v(O,A),N.mouse[0],N.mouse[1]),N.extent,s));function B(){N.wheel=null,N.end()}}function I(y,...k){if(u||!e.apply(this,arguments))return;var N=y.currentTarget,O=E(this,k,!0).event(y),A=de(y.view).on("mousemove.zoom",F,!0).on("mouseup.zoom",q,!0),T=he(y,N),B=y.clientX,H=y.clientY;Ot(y.view),cn(y),O.mouse=[T,this.__zoom.invert(T)],Qe(this),O.start();function F(Y){if(ft(Y),!O.moved){var K=Y.clientX-B,ee=Y.clientY-H;O.moved=K*K+ee*ee>x}O.event(Y).zoom("mouse",n(g(O.that.__zoom,O.mouse[0]=he(Y,N),O.mouse[1]),O.extent,s))}function q(Y){A.on("mousemove.zoom mouseup.zoom",null),Pt(Y.view,O.moved),ft(Y),O.event(Y).end()}}function V(y,...k){if(e.apply(this,arguments)){var N=this.__zoom,O=he(y.changedTouches?y.changedTouches[0]:y,this),A=N.invert(O),T=N.k*(y.shiftKey?.5:2),B=n(g(v(N,T),O,A),t.apply(this,k),s);ft(y),a>0?de(this).transition().duration(a).call(_,B,O,y):de(this).call(m.transform,B,O,y)}}function P(y,...k){if(e.apply(this,arguments)){var N=y.touches,O=N.length,A=E(this,k,y.changedTouches.length===O).event(y),T,B,H,F;for(cn(y),B=0;B<O;++B)H=N[B],F=he(H,this),F=[F,this.__zoom.invert(F),H.identifier],A.touch0?!A.touch1&&A.touch0[2]!==F[2]&&(A.touch1=F,A.taps=0):(A.touch0=F,T=!0,A.taps=1+!!d);d&&(d=clearTimeout(d)),T&&(A.taps<2&&(f=F[0],d=setTimeout(function(){d=null},h)),Qe(this),A.start())}}function L(y,...k){if(this.__zooming){var N=E(this,k).event(y),O=y.changedTouches,A=O.length,T,B,H,F;for(ft(y),T=0;T<A;++T)B=O[T],H=he(B,this),N.touch0&&N.touch0[2]===B.identifier?N.touch0[0]=H:N.touch1&&N.touch1[2]===B.identifier&&(N.touch1[0]=H);if(B=N.that.__zoom,N.touch1){var q=N.touch0[0],Y=N.touch0[1],K=N.touch1[0],ee=N.touch1[1],W=(W=K[0]-q[0])*W+(W=K[1]-q[1])*W,$=($=ee[0]-Y[0])*$+($=ee[1]-Y[1])*$;B=v(B,Math.sqrt(W/$)),H=[(q[0]+K[0])/2,(q[1]+K[1])/2],F=[(Y[0]+ee[0])/2,(Y[1]+ee[1])/2]}else if(N.touch0)H=N.touch0[0],F=N.touch0[1];else return;N.zoom("touch",n(g(B,H,F),N.extent,s))}}function S(y,...k){if(this.__zooming){var N=E(this,k).event(y),O=y.changedTouches,A=O.length,T,B;for(cn(y),u&&clearTimeout(u),u=setTimeout(function(){u=null},h),T=0;T<A;++T)B=O[T],N.touch0&&N.touch0[2]===B.identifier?delete N.touch0:N.touch1&&N.touch1[2]===B.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&&(B=he(B,this),Math.hypot(f[0]-B[0],f[1]-B[1])<b)){var H=de(this).on("dblclick.zoom");H&&H.apply(this,arguments)}}}return m.wheelDelta=function(y){return arguments.length?(o=typeof y=="function"?y:Lt(+y),m):o},m.filter=function(y){return arguments.length?(e=typeof y=="function"?y:Lt(!!y),m):e},m.touchable=function(y){return arguments.length?(r=typeof y=="function"?y:Lt(!!y),m):r},m.extent=function(y){return arguments.length?(t=typeof y=="function"?y:Lt([[+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.`},mt=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],io=["Enter"," ","Escape"],so={"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"},Ye;(function(e){e.Strict="strict",e.Loose="loose"})(Ye||(Ye={}));var Ae;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Ae||(Ae={}));var et;(function(e){e.Partial="partial",e.Full="full"})(et||(et={}));var ao={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},_e;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(_e||(_e={}));var pt;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(pt||(pt={}));var j;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(j||(j={}));var Fi={[j.Left]:j.Right,[j.Right]:j.Left,[j.Top]:j.Bottom,[j.Bottom]:j.Top},lo=e=>!!e&&typeof e=="object"&&"id"in e&&"source"in e&&"target"in e,ts=e=>!!e&&typeof e=="object"&&"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),co=e=>!!e&&typeof e=="object"&&"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e);var Vt=(e,t=[0,0])=>{let{width:n,height:o}=ye(e),r=e.origin??t,i=n*r[0],s=o*r[1];return{x:e.position.x-i,y:e.position.y-s}},uo=(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):co(i)?i:t.nodeLookup.get(i.id)),a?(n=!0,mn(r,hn(a,t.nodeOrigin))):r},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return n?bn(o):{x:0,y:0,width:0,height:0}},bt=(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=mn(n,hn(r)),o=!0)}),o?bn(n):{x:0,y:0,width:0,height:0}},pn=(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:h,selectable:p=!0,hidden:x=!1}=u;if(s&&!p||x)continue;let b=h.width??u.width??u.initialWidth??0,m=h.height??u.height??u.initialHeight??0,{x:v,y:g}=u.internals.positionAbsolute,w=ss(a,c,l,d,v,g,b,m),_=b*m,E=i&&w>0;(!u.internals.handleBounds||E||w>=_||u.dragging)&&f.push(u)}return f},ns=(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 Au(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}=ye(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 os({nodes:e,width:t,height:n,panZoom:o,minZoom:r,maxZoom:i},s){if(e.size===0)return!0;let a=Au(e,s),c=bt(a),l=Bt(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 fo({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:h,height:p}=ye(a);h&&p&&(f=[[c,l],[c+h,l+p]])}else a&&ot(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=ot(f)?tt(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 rs({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 h=i.has(u.id),p=!h&&u.parentId&&s.find(x=>x.id===u.parentId);(h||p)&&s.push(u)}let a=new Set(t.map(u=>u.id)),c=o.filter(u=>u.deletable!==!1),d=ns(s,c);for(let u of c)a.has(u.id)&&!d.find(p=>p.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 gt=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),tt=(e={x:0,y:0},t,n)=>({x:gt(e.x,t[0][0],t[1][0]-(n?.width??0)),y:gt(e.y,t[0][1],t[1][1]-(n?.height??0))});function is(e,t,n){let{width:o,height:r}=ye(n),{x:i,y:s}=n.internals.positionAbsolute;return tt(e,[[i,s],[i+o,s+r]],t)}var Yi=(e,t,n)=>e<t?gt(Math.abs(e-t),1,t)/t:e>n?-gt(Math.abs(e-n),1,t)/t:0,gn=(e,t,n=15,o=40)=>{let r=Yi(e.x,o,t.width-o)*n,i=Yi(e.y,o,t.height-o)*n;return[r,i]},mn=(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)}),ro=({x:e,y:t,width:n,height:o})=>({x:e,y:t,x2:e+n,y2:t+o}),bn=({x:e,y:t,x2:n,y2:o})=>({x:e,y:t,width:n-e,height:o-t}),yt=(e,t=[0,0])=>{let{x:n,y:o}=co(e)?e.internals.positionAbsolute:Vt(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}},hn=(e,t=[0,0])=>{let{x:n,y:o}=co(e)?e.internals.positionAbsolute:Vt(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)}},ho=(e,t)=>bn(mn(ro(e),ro(t))),ss=(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)},Ht=(e,t)=>ss(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),po=e=>me(e.width)&&me(e.height)&&me(e.x)&&me(e.y),me=e=>!isNaN(e)&&isFinite(e),go=(e,t)=>(n,o)=>{},wt=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),xt=({x:e,y:t},[n,o,r],i=!1,s=[1,1])=>{let a={x:(e-n)/r,y:(t-o)/r};return i?wt(a,s):a},nt=({x:e,y:t},[n,o,r])=>({x:e*r+n,y:t*r+o});function ht(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 Tu(e,t,n){if(typeof e=="string"||typeof e=="number"){let o=ht(e,n),r=ht(e,t);return{top:o,right:r,bottom:o,left:r,x:r*2,y:o*2}}if(typeof e=="object"){let o=ht(e.top??e.y??0,n),r=ht(e.bottom??e.y??0,n),i=ht(e.left??e.x??0,t),s=ht(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 Lu(e,t,n,o,r,i){let{x:s,y:a}=nt(e,[t,n,o]),{x:c,y:l}=nt({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 Bt=(e,t,n,o,r,i)=>{let s=Tu(i,t,n),a=(t-s.x)/e.width,c=(n-s.y)/e.height,l=Math.min(a,c),d=gt(l,o,r),f=e.x+e.width/2,u=e.y+e.height/2,h=t/2-f*d,p=n/2-u*d,x=Lu(e,h,p,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:h-b.left+b.right,y:p-b.top+b.bottom,zoom:d}},vt=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function ot(e){return e!=null&&e!=="parent"}function ye(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function yn(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function mo(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 bo(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function as(){let e,t;return{promise:new Promise((o,r)=>{e=o,t=r}),resolve:e,reject:t}}function ls(e){return{...so,...e||{}}}function yo(e){return e===null?null:e?"valid":"invalid"}function $t(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:o,containerBounds:r}){let{x:i,y:s}=be(e),a=xt({x:i-(r?.left??0),y:s-(r?.top??0)},o),{x:c,y:l}=n?wt(a,t):a;return{xSnapped:c,ySnapped:l,...a}}var wn=e=>({width:e.offsetWidth,height:e.offsetHeight}),wo=e=>e?.getRootNode?.()||window?.document,Ru=["INPUT","SELECT","TEXTAREA"];function xo(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:Ru.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}var vo=e=>"clientX"in e,be=(e,t)=>{let n=vo(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)}},ji=(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,...wn(s)}})};function xn({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 un(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Xi({pos:e,x1:t,y1:n,x2:o,y2:r,c:i}){switch(e){case j.Left:return[t-un(t-o,i),n];case j.Right:return[t+un(o-t,i),n];case j.Top:return[t,n-un(n-r,i)];case j.Bottom:return[t,n+un(r-n,i)]}}function vn({sourceX:e,sourceY:t,sourcePosition:n=j.Bottom,targetX:o,targetY:r,targetPosition:i=j.Top,curvature:s=.25}){let[a,c]=Xi({pos:n,x1:e,y1:t,x2:o,y2:r,c:s}),[l,d]=Xi({pos:i,x1:o,y1:r,x2:e,y2:t,c:s}),[f,u,h,p]=xn({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,h,p]}function ko({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 cs({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 ds({sourceNode:e,targetNode:t,width:n,height:o,transform:r}){let i=mn(hn(e),hn(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 Ht(s,bn(i))>0}var $u=({source:e,sourceHandle:t,target:n,targetHandle:o})=>`xy-edge__${e}${t||""}-${n}${o||""}`,Vu=(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)),us=(e,t,n={})=>{if(!e.source||!e.target)return n.onError?.("006",ge.error006()),t;let o=n.getEdgeId||$u,r;return lo(e)?r={...e}:r={...e,id:o(e)},Vu(r,t)?t:(r.sourceHandle===null&&delete r.sourceHandle,r.targetHandle===null&&delete r.targetHandle,t.concat(r))};function kn({sourceX:e,sourceY:t,targetX:n,targetY:o}){let[r,i,s,a]=ko({sourceX:e,sourceY:t,targetX:n,targetY:o});return[`M ${e},${t}L ${n},${o}`,r,i,s,a]}var Zi={[j.Left]:{x:-1,y:0},[j.Right]:{x:1,y:0},[j.Top]:{x:0,y:-1},[j.Bottom]:{x:0,y:1}},Hu=({source:e,sourcePosition:t=j.Bottom,target:n})=>t===j.Left||t===j.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},Wi=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function Bu({source:e,sourcePosition:t=j.Bottom,target:n,targetPosition:o=j.Top,center:r,offset:i,stepPosition:s}){let a=Zi[t],c=Zi[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=Hu({source:l,sourcePosition:t,target:d}),u=f.x!==0?"x":"y",h=f[u],p=[],x,b,m={x:0,y:0},v={x:0,y:0},[,,g,w]=ko({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 M=[{x,y:l.y},{x,y:d.y}],I=[{x:l.x,y:b},{x:d.x,y:b}];a[u]===h?p=u==="x"?M:I:p=u==="x"?I:M}else{let M=[{x:l.x,y:d.y}],I=[{x:d.x,y:l.y}];if(u==="x"?p=a.x===h?I:M:p=a.y===h?M:I,t===o){let y=Math.abs(e[u]-n[u]);if(y<=i){let k=Math.min(i-1,i-y);a[u]===h?m[u]=(l[u]>e[u]?-1:1)*k:v[u]=(d[u]>n[u]?-1:1)*k}}if(t!==o){let y=u==="x"?"y":"x",k=a[u]===c[y],N=l[y]>d[y],O=l[y]<d[y];(a[u]===1&&(!k&&N||k&&O)||a[u]!==1&&(!k&&O||k&&N))&&(p=u==="x"?M:I)}let V={x:l.x+m.x,y:l.y+m.y},P={x:d.x+v.x,y:d.y+v.y},L=Math.max(Math.abs(V.x-p[0].x),Math.abs(P.x-p[0].x)),S=Math.max(Math.abs(V.y-p[0].y),Math.abs(P.y-p[0].y));L>=S?(x=(V.x+P.x)/2,b=p[0].y):(x=p[0].x,b=(V.y+P.y)/2)}let _={x:l.x+m.x,y:l.y+m.y},E={x:d.x+v.x,y:d.y+v.y};return[[e,..._.x!==p[0].x||_.y!==p[0].y?[_]:[],...p,...E.x!==p[p.length-1].x||E.y!==p[p.length-1].y?[E]:[],n],x,b,g,w]}function Fu(e,t,n,o){let r=Math.min(Wi(e,t)/2,Wi(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 rt({sourceX:e,sourceY:t,sourcePosition:n=j.Bottom,targetX:o,targetY:r,targetPosition:i=j.Top,borderRadius:s=5,centerX:a,centerY:c,offset:l=20,stepPosition:d=.5}){let[f,u,h,p,x]=Bu({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+=Fu(f[m-1],f[m],f[m+1],s);return b+=`L${f[f.length-1].x} ${f[f.length-1].y}`,[b,u,h,p,x]}function qi(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function fs(e){let{sourceNode:t,targetNode:n}=e;if(!qi(t)||!qi(n))return null;let o=t.internals.handleBounds||Ki(t.handles),r=n.internals.handleBounds||Ki(n.handles),i=Gi(o?.source??[],e.sourceHandle),s=Gi(e.connectionMode===Ye.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||j.Bottom,c=s?.position||j.Top,l=je(t,i,a),d=je(n,s,c);return{sourceX:l.x,sourceY:l.y,targetX:d.x,targetY:d.y,sourcePosition:a,targetPosition:c}}function Ki(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 je(e,t,n=j.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??ye(e);if(o)return{x:r+s/2,y:i+a/2};switch(t?.position??n){case j.Top:return{x:r+s/2,y:i};case j.Right:return{x:r+s,y:i+a/2};case j.Bottom:return{x:r+s/2,y:i+a};case j.Left:return{x:r,y:i+a/2}}}function Gi(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function _n(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function hs(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=_n(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 ps=1e3,Yu=10,_o={nodeOrigin:[0,0],nodeExtent:mt,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},ju={..._o,checkEquality:!0};function Eo(e,t){let n={...e};for(let o in t)t[o]!==void 0&&(n[o]=t[o]);return n}function gs(e,t,n){let o=Eo(_o,n);for(let r of e.values())if(r.parentId)So(r,e,t,o);else{let i=Vt(r,o.nodeOrigin),s=ot(r.extent)?r.extent:o.nodeExtent,a=tt(i,s,ye(r));r.internals.positionAbsolute=a}}function Xu(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 No(e){return e==="manual"}function En(e,t,n,o={}){let r=Eo(ju,o),i={i:0},s=new Map(t),a=r?.elevateNodesOnSelect&&!No(r.zIndexMode)?ps: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=Vt(d,r.nodeOrigin),h=ot(d.extent)?d.extent:r.nodeExtent,p=tt(u,h,ye(d));f={...r.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:p,handleBounds:Xu(d,f),z:ms(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&&So(f,t,n,o,i),l||=d.selected??!1}return{nodesInitialized:c,hasSelectedNodes:l}}function Zu(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 So(e,t,n,o,r){let{elevateNodesOnSelect:i,nodeOrigin:s,nodeExtent:a,zIndexMode:c}=Eo(_o,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}Zu(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*Yu),r&&d.internals.rootParentIndex!==void 0&&(r.i=d.internals.rootParentIndex);let f=i&&!No(c)?ps:0,{x:u,y:h,z:p}=Wu(e,d,s,a,f,c),{positionAbsolute:x}=e.internals,b=u!==x.x||h!==x.y;(b||p!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:b?{x:u,y:h}:x,z:p}})}function ms(e,t,n){let o=me(e.zIndex)?e.zIndex:0;return No(n)?o:o+(e.selected?t:0)}function Wu(e,t,n,o,r,i){let{x:s,y:a}=t.internals.positionAbsolute,c=ye(e),l=Vt(e,n),d=ot(e.extent)?tt(l,e.extent,c):l,f=tt({x:s+d.x,y:a+d.y},o,c);e.extent==="parent"&&(f=is(f,c,t));let u=ms(e,r,i),h=t.internals.z??0;return{x:f.x,y:f.y,z:h>=u?h+1:u}}function Nn(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??yt(a),l=ho(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=ye(a),f=a.origin??o,u=s.x<l.x?Math.round(Math.abs(l.x-s.x)):0,h=s.y<l.y?Math.round(Math.abs(l.y-s.y)):0,p=Math.max(d.width,Math.round(s.width)),x=Math.max(d.height,Math.round(s.height)),b=(p-d.width)*f[0],m=(x-d.height)*f[1];(u>0||h>0||b||m)&&(r.push({id:c,type:"position",position:{x:a.position.x-u+b,y:a.position.y-h+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+h}})})),(d.width<s.width||d.height<s.height||u||h)&&r.push({id:c,type:"dimensions",setAttributes:!0,dimensions:{width:p+(u?f[0]*u-b:0),height:x+(h?f[1]*h-m:0)}})}),r}function bs(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 h of e.values()){let p=t.get(h.id);if(!p)continue;if(p.hidden){t.set(p.id,{...p,internals:{...p.internals,handleBounds:void 0}}),c=!0;continue}let x=wn(h.nodeElement),b=p.measured.width!==x.width||p.measured.height!==x.height;if(!!(x.width&&x.height&&(b||!p.internals.handleBounds||h.force))){let v=h.nodeElement.getBoundingClientRect(),g=ot(p.extent)?p.extent:i,{positionAbsolute:w}=p.internals;if(p.parentId&&p.extent==="parent"){let E=t.get(p.parentId);E&&(w=is(w,x,E))}else g&&(w=tt(w,g,x));let _={...p,measured:x,internals:{...p.internals,positionAbsolute:w,handleBounds:{source:ji("source",h.nodeElement,v,f,p.id),target:ji("target",h.nodeElement,v,f,p.id)}}};t.set(p.id,_),p.parentId&&So(_,t,n,{nodeOrigin:r,zIndexMode:s}),c=!0,b&&(l.push({id:p.id,type:"dimensions",dimensions:x}),p.expandParent&&p.parentId&&u.push({id:p.id,parentId:p.parentId,rect:yt(_,r)}))}}if(u.length>0){let h=Nn(u,t,n,r);l.push(...h)}return{changes:l,updatedInternals:c}}async function ys({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 Ui(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 Co(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}`;Ui("source",c,d,e,r,s),Ui("target",c,l,e,i,a),t.set(o.id,o)}}function ws(e,t){if(!e.parentId)return!1;let n=t.get(e.parentId);return n?n.selected?!0:ws(n,t):!1}function Qi(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 qu(e,t,n,o){let r=new Map;for(let[i,s]of e)if((s.selected||s.id===o)&&(!s.parentId||!ws(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 to({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 Ku({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=wt(i,t);return{x:s.x-i.x,y:s.y-i.y}}function xs({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,h=!1,p=!1,x=null;function b({noDragClassName:v,handleSelector:g,domNode:w,isSelectable:_,nodeId:E,nodeClickDistance:C=0}){u=de(w);function M({x:L,y:S}){let{nodeLookup:y,nodeExtent:k,snapGrid:N,snapToGrid:O,nodeOrigin:A,onNodeDrag:T,onSelectionDrag:B,onError:H,updateNodePositions:F}=t();i={x:L,y:S};let q=!1,Y=a.size>1,K=Y&&k?ro(bt(a)):null,ee=Y&&O?Ku({dragItems:a,snapGrid:N,x:L,y:S}):null;for(let[W,$]of a){if(!y.has(W))continue;let X={x:L-$.distance.x,y:S-$.distance.y};O&&(X=ee?{x:Math.round(X.x+ee.x),y:Math.round(X.y+ee.y)}:wt(X,N));let Q=null;if(Y&&k&&!$.extent&&K){let{positionAbsolute:G}=$.internals,te=G.x-K.x+k[0][0],ne=G.x+$.measured.width-K.x2+k[1][0],re=G.y-K.y+k[0][1],ue=G.y+$.measured.height-K.y2+k[1][1];Q=[[te,re],[ne,ue]]}let{position:U,positionAbsolute:Z}=fo({nodeId:W,nextPosition:X,nodeLookup:y,nodeExtent:Q||k,nodeOrigin:A,onError:H});q=q||$.position.x!==U.x||$.position.y!==U.y,$.position=U,$.internals.positionAbsolute=Z}if(p=p||q,!!q&&(F(a,!0),x&&(o||T||!E&&B))){let[W,$]=to({nodeId:E,dragItems:a,nodeLookup:y});o?.(x,a,W,$),T?.(x,W,$),E||B?.(x,$)}}async function I(){if(!d)return;let{transform:L,panBy:S,autoPanSpeed:y,autoPanOnNodeDrag:k}=t();if(!k){c=!1,cancelAnimationFrame(s);return}let[N,O]=gn(l,d,y);(N!==0||O!==0)&&(i.x=(i.x??0)-N/L[2],i.y=(i.y??0)-O/L[2],await S({x:N,y:O})&&M(i)),s=requestAnimationFrame(I)}function V(L){let{nodeLookup:S,multiSelectionActive:y,nodesDraggable:k,transform:N,snapGrid:O,snapToGrid:A,selectNodesOnDrag:T,onNodeDragStart:B,onSelectionDragStart:H,unselectNodesAndEdges:F}=t();f=!0,(!T||!_)&&!y&&E&&(S.get(E)?.selected||F()),_&&T&&E&&e?.(E);let q=$t(L.sourceEvent,{transform:N,snapGrid:O,snapToGrid:A,containerBounds:d});if(i=q,a=qu(S,k,q,E),a.size>0&&(n||B||!E&&H)){let[Y,K]=to({nodeId:E,dragItems:a,nodeLookup:S});n?.(L.sourceEvent,a,Y,K),B?.(L.sourceEvent,Y,K),E||H?.(L.sourceEvent,K)}}let P=tn().clickDistance(C).on("start",L=>{let{domNode:S,nodeDragThreshold:y,transform:k,snapGrid:N,snapToGrid:O}=t();d=S?.getBoundingClientRect()||null,h=!1,p=!1,x=L.sourceEvent,y===0&&V(L),i=$t(L.sourceEvent,{transform:k,snapGrid:N,snapToGrid:O,containerBounds:d}),l=be(L.sourceEvent,d)}).on("drag",L=>{let{autoPanOnNodeDrag:S,transform:y,snapGrid:k,snapToGrid:N,nodeDragThreshold:O,nodeLookup:A}=t(),T=$t(L.sourceEvent,{transform:y,snapGrid:k,snapToGrid:N,containerBounds:d});if(x=L.sourceEvent,(L.sourceEvent.type==="touchmove"&&L.sourceEvent.touches.length>1||E&&!A.has(E))&&(h=!0),!h){if(!c&&S&&f&&(c=!0,I()),!f){let B=be(L.sourceEvent,d),H=B.x-l.x,F=B.y-l.y;Math.sqrt(H*H+F*F)>O&&V(L)}(i.x!==T.xSnapped||i.y!==T.ySnapped)&&a&&f&&(l=be(L.sourceEvent,d),M(T))}}).on("end",L=>{if(!f||h){h&&a.size>0&&t().updateNodePositions(a,!1);return}if(c=!1,f=!1,cancelAnimationFrame(s),a.size>0){let{nodeLookup:S,updateNodePositions:y,onNodeDragStop:k,onSelectionDragStop:N}=t();if(p&&(y(a,!1),p=!1),r||k||!E&&N){let[O,A]=to({nodeId:E,dragItems:a,nodeLookup:S,dragging:!1});r?.(L.sourceEvent,a,O,A),k?.(L.sourceEvent,O,A),E||N?.(L.sourceEvent,A)}}}).filter(L=>{let S=L.target;return!L.button&&(!v||!Qi(S,`.${v}`,w))&&(!g||Qi(S,g,w))});u.call(P)}function m(){u?.on(".drag",null)}return{update:b,destroy:m}}function Gu(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())Ht(r,yt(i))>0&&o.push(i);return o}var Uu=250;function Qu(e,t,n,o){let r=[],i=1/0,s=Gu(e,n,t+Uu);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}=je(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 vs(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,...je(s,c,c.position,!0)}:c}function ks(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function Ju(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}var _s=()=>!0;function ef(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:h,onConnectStart:p,onConnect:x,onConnectEnd:b,isValidConnection:m=_s,onReconnectEnd:v,updateConnection:g,getTransform:w,getFromHandle:_,autoPanSpeed:E,dragThreshold:C=1,handleDomNode:M}){let I=wo(e.target),V=0,P,{x:L,y:S}=be(e),y=ks(i,M),k=a?.getBoundingClientRect(),N=!1;if(!k||!y)return;let O=vs(r,y,o,c,t);if(!O)return;let A=be(e,k),T=!1,B=null,H=!1,F=null;function q(){if(!d||!k)return;let[U,Z]=gn(A,k,E);u({x:U,y:Z}),V=requestAnimationFrame(q)}let Y={...O,nodeId:r,type:y,position:O.position},K=c.get(r),W={inProgress:!0,isValid:null,from:je(K,Y,j.Left,!0),fromHandle:Y,fromPosition:Y.position,fromNode:K,to:A,toHandle:null,toPosition:Fi[Y.position],toNode:null,pointer:A};function $(){N=!0,g(W),p?.(e,{nodeId:r,handleId:o,handleType:y})}C===0&&$();function X(U){if(!N){let{x:ue,y:Se}=be(U),ve=ue-L,ke=Se-S;if(!(ve*ve+ke*ke>C*C))return;$()}if(!_()||!Y){Q(U);return}let Z=w();A=be(U,k),P=Qu(xt(A,Z,!1,[1,1]),n,c,Y),T||(q(),T=!0);let G=Es(U,{handle:P,connectionMode:t,fromNodeId:r,fromHandleId:o,fromType:s?"target":"source",isValidConnection:m,doc:I,lib:l,flowId:f,nodeLookup:c});F=G.handleDomNode,B=G.connection,H=Ju(!!P,G.isValid);let te=c.get(r),ne=te?je(te,Y,j.Left,!0):W.from,re={...W,from:ne,isValid:H,to:G.toHandle&&H?nt({x:G.toHandle.x,y:G.toHandle.y},Z):A,toHandle:G.toHandle,toPosition:H&&G.toHandle?G.toHandle.position:Fi[Y.position],toNode:G.toHandle?c.get(G.toHandle.nodeId):null,pointer:A};g(re),W=re}function Q(U){if(!("touches"in U&&U.touches.length>0)){if(N){(P||F)&&B&&H&&x?.(B);let{inProgress:Z,...G}=W,te={...G,toPosition:W.toHandle?W.toPosition:null};b?.(U,te),i&&v?.(U,te)}h(),cancelAnimationFrame(V),T=!1,H=!1,B=null,F=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 Es(e,{handle:t,connectionMode:n,fromNodeId:o,fromHandleId:r,fromType:i,doc:s,lib:a,flowId:c,isValidConnection:l=_s,nodeLookup:d}){let f=i==="target",u=t?s.querySelector(`.${a}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:h,y:p}=be(e),x=s.elementFromPoint(h,p),b=x?.classList.contains(`${a}-flow__handle`)?x:u,m={handleDomNode:b,isValid:!1,connection:null,toHandle:null};if(b){let v=ks(void 0,b),g=b.getAttribute("data-nodeid"),w=b.getAttribute("data-handleid"),_=b.classList.contains("connectable"),E=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&&(n===Ye.Strict?f&&v==="source"||!f&&v==="target":g!==o||w!==r);m.isValid=I&&l(C),m.toHandle=vs(g,v,w,d,n,!0)}return m}var Sn={onPointerDown:ef,isValid:Es};function Ns({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:h=!1}){let p=g=>{if(g.sourceEvent.type!=="wheel"||!t)return;let w=n(),_=g.sourceEvent.ctrlKey&&vt()?10:1,E=-g.sourceEvent.deltaY*(g.sourceEvent.deltaMode===1?.05:g.sourceEvent.deltaMode?1:.002)*d,C=w[2]*Math.pow(2,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 _=[g.sourceEvent.clientX??g.sourceEvent.touches[0].clientX,g.sourceEvent.clientY??g.sourceEvent.touches[0].clientY],E=[_[0]-x[0],_[1]-x[1]];x=_;let C=o()*Math.max(w[2],Math.log(w[2]))*(h?-1:1),M={x:w[0]-E[0]*C,y:w[1]-E[1]*C},I=[[0,0],[c,l]];t.setViewportConstrained({x:M.x,y:M.y,zoom:w[2]},I,a)},v=dn().on("start",b).on("zoom",f?m:null).on("zoom.wheel",u?p:null);r.call(v,{})}function s(){r.on("zoom",null)}return{update:i,destroy:s,pointer:he}}var Cn=e=>({x:e.x,y:e.y,zoom:e.k}),no=({x:e,y:t,zoom:n})=>Je.translate(e,t).scale(n),Fe=(e,t)=>e.target.closest(`.${t}`),Ss=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),tf=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,oo=(e,t=0,n=tf,o=()=>{})=>{let r=typeof t=="number"&&t>0;return r||o(),r?e.transition().duration(t).ease(n).on("end",o):e},Cs=e=>{let t=e.ctrlKey&&vt()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function nf({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:o,panOnScrollMode:r,panOnScrollSpeed:i,zoomOnPinch:s,onPanZoomStart:a,onPanZoom:c,onPanZoomEnd:l}){return d=>{if(Fe(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=Cs(d),v=f*Math.pow(2,m);o.scaleTo(n,v,b,d);return}let u=d.deltaMode===1?20:1,h=r===Ae.Vertical?0:d.deltaX*u,p=r===Ae.Horizontal?0:d.deltaY*u;!vt()&&d.shiftKey&&r!==Ae.Vertical&&(h=d.deltaY*u,p=0),o.translateBy(n,-(h/f)*i,-(p/f)*i,{internal:!0});let x=Cn(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 of({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(o,r){let i=o.type==="wheel",s=!t&&i&&!o.ctrlKey,a=Fe(o,e);if(o.ctrlKey&&i&&a&&o.preventDefault(),s||a)return null;o.preventDefault(),n.call(this,o,r)}}function rf({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return o=>{if(o.sourceEvent?.internal)return;let r=Cn(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 sf({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:o,onPanZoom:r}){return i=>{e.usedRightMouseButton=!!(n&&Ss(t,e.mouseButton??0)),i.sourceEvent?.sync||o([i.transform.x,i.transform.y,i.transform.k]),r&&!i.sourceEvent?.internal&&r?.(i.sourceEvent,Cn(i.transform))}}function af({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:o,onPanZoomEnd:r,onPaneContextMenu:i}){return s=>{if(!s.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,i&&Ss(t,e.mouseButton??0)&&!e.usedRightMouseButton&&s.sourceEvent&&i(s.sourceEvent),e.usedRightMouseButton=!1,o(!1),r)){let a=Cn(s.transform);e.prevViewport=a,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{r?.(s.sourceEvent,a)},n?150:0)}}}function lf({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 h=t||n,p=o&&u.ctrlKey,x=u.type==="wheel";if(u.button===1&&u.type==="mousedown"&&(Fe(u,`${d}-flow__node`)||Fe(u,`${d}-flow__edge`)||Fe(u,`${d}-flow__selection`)||Fe(u,`${d}-flow__nodesselection`)))return!0;if(!r&&!h&&!i&&!s&&!o||a||f&&!x||Fe(u,c)&&x||Fe(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(!h&&!i&&!p&&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 Ms({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(S=>{let y=S[0];y&&(f=[[0,0],[y.contentRect.width,y.contentRect.height]])}):null)?.observe(e);let h=dn().extent(()=>f).scaleExtent([t,n]).translateExtent(o),p=de(e).call(h);w({x:r.x,y:r.y,zoom:gt(r.zoom,t,n)},[[0,0],[d.width,d.height]],o);let x=p.on("wheel.zoom"),b=p.on("dblclick.zoom");h.wheelDelta(Cs);async function m(S,y){return p?new Promise(k=>{h?.interpolate(y?.interpolate==="linear"?qt:dt).transform(oo(p,y?.duration,y?.ease,()=>k(!0)),S)}):!1}function v({noWheelClassName:S,noPanClassName:y,onPaneContextMenu:k,userSelectionActive:N,panOnScroll:O,panOnDrag:A,panOnScrollMode:T,panOnScrollSpeed:B,preventScrolling:H,zoomOnPinch:F,zoomOnScroll:q,zoomOnDoubleClick:Y,panActivationKeyPressed:K=!1,zoomActivationKeyPressed:ee,lib:W,onTransformChange:$,connectionInProgress:X,paneClickDistance:Q,selectionOnDrag:U}){N&&!l.isZoomingOrPanning&&g();let Z=O&&!ee&&!N;h.clickDistance(U?1/0:!me(Q)||Q<0?0:Q);let G=Z?nf({zoomPanValues:l,noWheelClassName:S,d3Selection:p,d3Zoom:h,panOnScrollMode:T,panOnScrollSpeed:B,zoomOnPinch:F,onPanZoomStart:s,onPanZoom:i,onPanZoomEnd:a}):of({noWheelClassName:S,preventScrolling:H,d3ZoomHandler:x});p.on("wheel.zoom",G,{passive:!1});let te=rf({zoomPanValues:l,onDraggingChange:c,onPanZoomStart:s});h.on("start",te);let ne=sf({zoomPanValues:l,panOnDrag:A,onPaneContextMenu:!!k,onPanZoom:i,onTransformChange:$});h.on("zoom",ne);let re=af({zoomPanValues:l,panOnDrag:A,panOnScroll:O,onPaneContextMenu:k,onPanZoomEnd:a,onDraggingChange:c});h.on("end",re);let ue=lf({panActivationKeyPressed:K,zoomActivationKeyPressed:ee,panOnDrag:A,zoomOnScroll:q,panOnScroll:O,zoomOnDoubleClick:Y,zoomOnPinch:F,userSelectionActive:N,noPanClassName:y,noWheelClassName:S,lib:W,connectionInProgress:X});h.filter(ue),Y?p.on("dblclick.zoom",b):p.on("dblclick.zoom",null)}function g(){h.on("zoom",null)}async function w(S,y,k){let N=no(S),O=h?.constrain()(N,y,k);return O&&await m(O),O}async function _(S,y){let k=no(S);return await m(k,y),k}function E(S){if(p){let y=no(S),k=p.property("__zoom");(k.k!==S.zoom||k.x!==S.x||k.y!==S.y)&&h?.transform(p,y,null,{sync:!0})}}function C(){let S=p?Rt(p.node()):{x:0,y:0,k:1};return{x:S.x,y:S.y,zoom:S.k}}async function M(S,y){return p?new Promise(k=>{h?.interpolate(y?.interpolate==="linear"?qt:dt).scaleTo(oo(p,y?.duration,y?.ease,()=>k(!0)),S)}):!1}async function I(S,y){return p?new Promise(k=>{h?.interpolate(y?.interpolate==="linear"?qt:dt).scaleBy(oo(p,y?.duration,y?.ease,()=>k(!0)),S)}):!1}function V(S){h?.scaleExtent(S)}function P(S){h?.translateExtent(S)}function L(S){let y=!me(S)||S<0?0:S;h?.clickDistance(y)}return{update:v,destroy:g,setViewport:_,setViewportConstrained:w,getViewport:C,scaleTo:M,scaleBy:I,setScaleExtent:V,setTranslateExtent:P,syncViewport:E,setClickDistance:L}}var Xe;(function(e){e.Line="line",e.Handle="handle"})(Xe||(Xe={}));function cf({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 Ji(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 He(e,t){return Math.max(0,t-e)}function Be(e,t){return Math.max(0,e-t)}function fn(e,t,n){return Math.max(0,t-e,e-n)}function es(e,t){return e?!t:t}function df(e,t,n,o,r,i,s,a){let{affectsX:c,affectsY:l}=t,{isHorizontal:d,isVertical:f}=t,u=d&&f,{xSnapped:h,ySnapped:p}=n,{minWidth:x,maxWidth:b,minHeight:m,maxHeight:v}=o,{x:g,y:w,width:_,height:E,aspectRatio:C}=e,M=Math.floor(d?h-e.pointerX:0),I=Math.floor(f?p-e.pointerY:0),V=_+(c?-M:M),P=E+(l?-I:I),L=-i[0]*_,S=-i[1]*E,y=fn(V,x,b),k=fn(P,m,v);if(s){let A=0,T=0;c&&M<0?A=He(g+M+L,s[0][0]):!c&&M>0&&(A=Be(g+V+L,s[1][0])),l&&I<0?T=He(w+I+S,s[0][1]):!l&&I>0&&(T=Be(w+P+S,s[1][1])),y=Math.max(y,A),k=Math.max(k,T)}if(a){let A=0,T=0;c&&M>0?A=Be(g+M,a[0][0]):!c&&M<0&&(A=He(g+V,a[1][0])),l&&I>0?T=Be(w+I,a[0][1]):!l&&I<0&&(T=He(w+P,a[1][1])),y=Math.max(y,A),k=Math.max(k,T)}if(r){if(d){let A=fn(V/C,m,v)*C;if(y=Math.max(y,A),s){let T=0;!c&&!l||c&&!l&&u?T=Be(w+S+V/C,s[1][1])*C:T=He(w+S+(c?M:-M)/C,s[0][1])*C,y=Math.max(y,T)}if(a){let T=0;!c&&!l||c&&!l&&u?T=He(w+V/C,a[1][1])*C:T=Be(w+(c?M:-M)/C,a[0][1])*C,y=Math.max(y,T)}}if(f){let A=fn(P*C,x,b)/C;if(k=Math.max(k,A),s){let T=0;!c&&!l||l&&!c&&u?T=Be(g+P*C+L,s[1][0])/C:T=He(g+(l?I:-I)*C+L,s[0][0])/C,k=Math.max(k,T)}if(a){let T=0;!c&&!l||l&&!c&&u?T=He(g+P*C,a[1][0])/C:T=Be(g+(l?I:-I)*C,a[0][0])/C,k=Math.max(k,T)}}}I=I+(I<0?k:-k),M=M+(M<0?y:-y),r&&(u?V>P*C?I=(es(c,l)?-M:M)/C:M=(es(c,l)?-I:I)*C:d?(I=M/C,l=c):(M=I*C,c=l));let N=c?g+M:g,O=l?w+I:w;return{width:_+(c?-M:M),height:E+(l?-I:I),x:i[0]*M*(c?-1:1)+N,y:i[1]*I*(l?-1:1)+O}}var Is={width:0,height:0,x:0,y:0},uf={...Is,pointerX:0,pointerY:0,aspectRatio:1};function ff(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 Os({domNode:e,nodeId:t,getStoreItems:n,onChange:o,onEnd:r}){let i=de(e),s={controlDirection:Ji("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:h,onResize:p,onResizeEnd:x,shouldResize:b}){let m={...Is},v={...uf};s={boundaries:d,resizeDirection:u,keepAspectRatio:f,controlDirection:Ji(l)};let g,w=null,_=[],E,C,M,I=tn().on("start",V=>{let{nodeLookup:P,transform:L,snapGrid:S,snapToGrid:y,nodeOrigin:k,paneDomNode:N}=n();if(g=P.get(t),!g)return;w=N?.getBoundingClientRect()??null;let{xSnapped:O,ySnapped:A}=$t(V.sourceEvent,{transform:L,snapGrid:S,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:O,pointerY:A,aspectRatio:m.width/m.height},E=void 0,C=ot(g.extent)?g.extent:void 0,g.parentId&&(g.extent==="parent"||g.expandParent)&&(E=P.get(g.parentId)),E&&g.extent==="parent"&&(C=[[0,0],[E.measured.width,E.measured.height]]),_=[],M=void 0;for(let[T,B]of P)if(B.parentId===t&&(_.push({id:T,position:{...B.position},extent:B.extent}),B.extent==="parent"||B.expandParent)){let H=ff(B,g,B.origin??k);M?M=[[Math.min(H[0][0],M[0][0]),Math.min(H[0][1],M[0][1])],[Math.max(H[1][0],M[1][0]),Math.max(H[1][1],M[1][1])]]:M=H}h?.(V,{...m})}).on("drag",V=>{let{transform:P,snapGrid:L,snapToGrid:S,nodeOrigin:y}=n(),k=$t(V.sourceEvent,{transform:P,snapGrid:L,snapToGrid:S,containerBounds:w}),N=[];if(!g)return;let{x:O,y:A,width:T,height:B}=m,H={},F=g.origin??y,{width:q,height:Y,x:K,y:ee}=df(v,s.controlDirection,k,s.boundaries,s.keepAspectRatio,F,C,M),W=q!==T,$=Y!==B,X=K!==O&&W,Q=ee!==A&&$;if(!X&&!Q&&!W&&!$)return;let U={prevValues:{...m},startX:v.x,startY:v.y,childNodes:_.map(ne=>({...ne,position:{...ne.position}}))};if((X||Q||F[0]===1||F[1]===1)&&(H.x=X?K:m.x,H.y=Q?ee:m.y,m.x=H.x,m.y=H.y,_.length>0)){let ne=K-O,re=ee-A;for(let ue of _)ue.position={x:ue.position.x-ne+F[0]*(q-T),y:ue.position.y-re+F[1]*(Y-B)},N.push(ue)}if((W||$)&&(H.width=W&&(!s.resizeDirection||s.resizeDirection==="horizontal")?q:m.width,H.height=$&&(!s.resizeDirection||s.resizeDirection==="vertical")?Y:m.height,m.width=H.width,m.height=H.height),E&&g.expandParent){let ne=F[0]*(H.width??0);H.x&&H.x<ne&&(m.x=ne,v.x=v.x-(H.x-ne));let re=F[1]*(H.height??0);H.y&&H.y<re&&(m.y=re,v.y=v.y-(H.y-re))}let Z=cf({width:m.width,prevWidth:T,height:m.height,prevHeight:B,affectsX:s.controlDirection.affectsX,affectsY:s.controlDirection.affectsY}),G={...m,direction:Z};if(b?.(V,G)===!1){m=U.prevValues,v.x=U.startX,v.y=U.startY,_.forEach((ne,re)=>{ne.position=U.childNodes[re].position});return}p?.(V,G),o(H,N)}).on("end",V=>{x?.(V,{...m}),r?.({...m})});i.call(I)}function c(){i.on(".drag",null)}return{update:a,destroy:c}}var As=Le(Xn(),1),Ts=Le(jc(),1);var Ps=e=>{let t,n=new Set,o=(d,f)=>{let u=typeof d=="function"?d(t):d;if(!Object.is(u,t)){let h=t;t=f??(typeof u!="object"||u===null)?u:Object.assign({},t,u),n.forEach(p=>p(t,h))}},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},zs=e=>e?Ps(e):Ps;var{useDebugValue:hf}=As.default,{useSyncExternalStoreWithSelector:pf}=Ts.default,gf=e=>e;function Mo(e,t=gf,n){let o=pf(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return hf(o),o}var Ds=(e,t)=>{let n=zs(e),o=(r,i=t)=>Mo(n,r,i);return Object.assign(o,n),o},Ls=(e,t)=>e?Ds(e,t):Ds;function ie(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 mf=Le(Yc()),Pn=(0,D.createContext)(null),bf=Pn.Provider,ca=ge.error001("react");function J(e,t){let n=(0,D.useContext)(Pn);if(n===null)throw new Error(ca);return Mo(n,e,t)}function se(){let e=(0,D.useContext)(Pn);if(e===null)throw new Error(ca);return(0,D.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}var Rs={display:"none"},yf={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},da="react-flow__node-desc",ua="react-flow__edge-desc",wf="react-flow__aria-live",xf=e=>e.ariaLiveMessage,vf=e=>e.ariaLabelConfig;function kf({rfId:e}){let t=J(xf);return(0,z.jsx)("div",{id:`${wf}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:yf,children:t})}function _f({rfId:e,disableKeyboardA11y:t}){let n=J(vf);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)("div",{id:`${da}-${e}`,style:Rs,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),(0,z.jsx)("div",{id:`${ua}-${e}`,style:Rs,children:n["edge.a11yDescription.default"]}),!t&&(0,z.jsx)(kf,{rfId:e})]})}var zn=(0,D.forwardRef)(({position:e="top-left",children:t,className:n,style:o,...r},i)=>{let s=`${e}`.split("-");return(0,z.jsx)("div",{className:ae(["react-flow__panel",n,...s]),style:o,ref:i,...r,children:t})});zn.displayName="Panel";var $s="https://reactflow.dev?utm_source=attribution";function Ef({proOptions:e,position:t="bottom-right"}){return(0,D.useEffect)(()=>{},[]),e?.hideAttribution?null:(0,z.jsx)(zn,{position:t,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${$s}`,children:(0,z.jsx)("a",{href:$s,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}var Nf=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}},Mn=e=>e.id;function Sf(e,t){return ie(e.selectedNodes.map(Mn),t.selectedNodes.map(Mn))&&ie(e.selectedEdges.map(Mn),t.selectedEdges.map(Mn))}function Cf({onSelectionChange:e}){let t=se(),{selectedNodes:n,selectedEdges:o}=J(Nf,Sf);return(0,D.useEffect)(()=>{let r={nodes:n,edges:o};e?.(r),t.getState().onSelectionChangeHandlers.forEach(i=>i(r))},[n,o,e]),null}var Mf=e=>!!e.onSelectionChangeHandlers;function If({onSelectionChange:e}){let t=J(Mf);return e||t?(0,z.jsx)(Cf,{onSelectionChange:e}):null}var fa=[0,0],Of={x:0,y:0,zoom:1},Pf=["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"],Vs=[...Pf,"rfId"],zf=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}),Hs={translateExtent:mt,nodeOrigin:fa,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Df(e){let{setNodes:t,setEdges:n,setMinZoom:o,setMaxZoom:r,setTranslateExtent:i,setNodeExtent:s,reset:a,setDefaultNodesAndEdges:c}=J(zf,ie),l=se();(0,D.useEffect)(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=Hs,a()}),[]);let d=(0,D.useRef)(Hs);return(0,D.useEffect)(()=>{for(let f of Vs){let u=e[f],h=d.current[f];u!==h&&(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:ls(u)}):f==="fitView"?l.setState({fitViewQueued:u}):f==="fitViewOptions"?l.setState({fitViewOptions:u}):l.setState({[f]:u})))}d.current=e},Vs.map(f=>e[f])),null}function Bs(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function Af(e){let[t,n]=(0,D.useState)(e==="system"?null:e);return(0,D.useEffect)(()=>{if(e!=="system"){n(e);return}let o=Bs(),r=()=>n(o?.matches?"dark":"light");return r(),o?.addEventListener("change",r),()=>{o?.removeEventListener("change",r)}},[e]),t!==null?t:Bs()?.matches?"dark":"light"}var Fs=typeof document<"u"?document:null;function Ft(e=null,t={target:Fs,actInsideInputWithModifier:!0}){let[n,o]=(0,D.useState)(!1),r=(0,D.useRef)(!1),i=(0,D.useRef)(new Set([])),[s,a]=(0,D.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,D.useEffect)(()=>{let c=t?.target??Fs,l=t?.actInsideInputWithModifier??!0;if(e!==null){let d=h=>{if(r.current=h.ctrlKey||h.metaKey||h.shiftKey||h.altKey,(!r.current||r.current&&!l)&&xo(h))return!1;let x=js(h.code,a);if(i.current.add(h[x]),Ys(s,i.current,!1)){let b=h.composedPath?.()?.[0]||h.target,m=b?.nodeName==="BUTTON"||b?.nodeName==="A";t.preventDefault!==!1&&(r.current||!m)&&h.preventDefault(),o(!0)}},f=h=>{let p=js(h.code,a);Ys(s,i.current,!0)?(o(!1),i.current.clear()):i.current.delete(h[p]),h.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 Ys(e,t,n){return e.filter(o=>n||o.length===t.size).some(o=>o.every(r=>t.has(r)))}function js(e,t){return t.includes(e)?"code":"key"}var Tf=()=>{let e=se();return(0,D.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=Bt(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 xt(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=nt(t,n);return{x:s.x+r,y:s.y+i}}}),[])};function ha(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)Lf(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 Lf(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 pa(e,t){return ha(e,t)}function Rf(e,t){return ha(e,t)}function it(e,t){return{id:e,type:"select",selected:t}}function kt(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(it(i.id,s)))}return o}function Xs({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 Zs(e){return{id:e.id,type:"remove"}}var $f=go("React Flow","https://reactflow.dev/");function Vf(e,t,n={}){return us(e,t,{...n,onError:n.onError??$f})}var Ws=e=>ts(e),Hf=e=>lo(e);function ga(e){return(0,D.forwardRef)(e)}var ma=typeof window<"u"?D.useLayoutEffect:D.useEffect;function qs(e){let[t,n]=(0,D.useState)(BigInt(0)),[o]=(0,D.useState)(()=>Bf(()=>n(r=>r+BigInt(1))));return ma(()=>{let r=o.get();r.length&&(e(r),o.reset())},[t]),o}function Bf(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}var ba=(0,D.createContext)(null);function Ff({children:e}){let t=se(),n=(0,D.useCallback)(a=>{let{nodes:c=[],setNodes:l,hasDefaultNodes:d,onNodesChange:f,nodeLookup:u,fitViewQueued:h,onNodesChangeMiddlewareMap:p}=t.getState(),x=c;for(let m of a)x=typeof m=="function"?m(x):m;let b=Xs({items:x,lookup:u});for(let m of p.values())b=m(b);d&&l(x),b.length>0?f?.(b):h&&window.requestAnimationFrame(()=>{let{fitViewQueued:m,nodes:v,setNodes:g}=t.getState();m&&g(v)})},[]),o=qs(n),r=(0,D.useCallback)(a=>{let{edges:c=[],setEdges:l,hasDefaultEdges:d,onEdgesChange:f,edgeLookup:u}=t.getState(),h=c;for(let p of a)h=typeof p=="function"?p(h):p;d?l(h):f&&f(Xs({items:h,lookup:u}))},[]),i=qs(r),s=(0,D.useMemo)(()=>({nodeQueue:o,edgeQueue:i}),[]);return(0,z.jsx)(ba.Provider,{value:s,children:e})}function Yf(){let e=(0,D.useContext)(ba);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}var jf=e=>!!e.panZoom;function at(){let e=Tf(),t=se(),n=Yf(),o=J(jf),r=(0,D.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:h}=t.getState(),p=Ws(f)?f:u.get(f.id),x=p.parentId?mo(p.position,p.measured,p.parentId,u,h):p.position,b={...p,position:x,width:p.measured?.width??p.width,height:p.measured?.height??p.height};return yt(b)},l=(f,u,h={replace:!1})=>{s(p=>p.map(x=>{if(x.id===f){let b=typeof u=="function"?u(x):u;return h.replace&&Ws(b)?b:{...x,...b}}return x}))},d=(f,u,h={replace:!1})=>{a(p=>p.map(x=>{if(x.id===f){let b=typeof u=="function"?u(x):u;return h.replace&&Hf(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(h=>[...h,...u])},addEdges:f=>{let u=Array.isArray(f)?f:[f];n.edgeQueue.push(h=>[...h,...u])},toObject:()=>{let{nodes:f=[],edges:u=[],transform:h}=t.getState(),[p,x,b]=h;return{nodes:f.map(m=>({...m})),edges:u.map(m=>({...m})),viewport:{x:p,y:x,zoom:b}}},deleteElements:async({nodes:f=[],edges:u=[]})=>{let{nodes:h,edges:p,onNodesDelete:x,onEdgesDelete:b,triggerNodeChanges:m,triggerEdgeChanges:v,onDelete:g,onBeforeDelete:w}=t.getState(),{nodes:_,edges:E}=await rs({nodesToRemove:f,edgesToRemove:u,nodes:h,edges:p,onBeforeDelete:w}),C=E.length>0,M=_.length>0;if(C){let I=E.map(Zs);b?.(E),v(I)}if(M){let I=_.map(Zs);x?.(_),m(I)}return(M||C)&&g?.({nodes:_,edges:E}),{deletedNodes:_,deletedEdges:E}},getIntersectingNodes:(f,u=!0,h)=>{let p=po(f),x=p?f:c(f),b=h!==void 0;return x?(h||t.getState().nodes).filter(m=>{let v=t.getState().nodeLookup.get(m.id);if(v&&!p&&(m.id===f.id||!v.internals.positionAbsolute))return!1;let g=yt(b?m:v),w=Ht(g,x);return u&&w>0||w>=g.width*g.height||w>=x.width*x.height}):[]},isNodeIntersecting:(f,u,h=!0)=>{let x=po(f)?f:c(f);if(!x)return!1;let b=Ht(x,u);return h&&b>0||b>=u.width*u.height||b>=x.width*x.height},updateNode:l,updateNodeData:(f,u,h={replace:!1})=>{l(f,p=>{let x=typeof u=="function"?u(p):u;return h.replace?{...p,data:x}:{...p,data:{...p.data,...x}}},h)},updateEdge:d,updateEdgeData:(f,u,h={replace:!1})=>{d(f,p=>{let x=typeof u=="function"?u(p):u;return h.replace?{...p,data:x}:{...p,data:{...p.data,...x}}},h)},getNodesBounds:f=>{let{nodeLookup:u,nodeOrigin:h}=t.getState();return uo(f,{nodeLookup:u,nodeOrigin:h})},getHandleConnections:({type:f,id:u,nodeId:h})=>Array.from(t.getState().connectionLookup.get(`${h}-${f}${u?`-${u}`:""}`)?.values()??[]),getNodeConnections:({type:f,handleId:u,nodeId:h})=>Array.from(t.getState().connectionLookup.get(`${h}${f?u?`-${f}-${u}`:`-${f}`:""}`)?.values()??[]),fitView:async f=>{let u=t.getState().fitViewResolver??as();return t.setState({fitViewQueued:!0,fitViewOptions:f,fitViewResolver:u}),n.nodeQueue.push(h=>[...h]),u.promise}}},[]);return(0,D.useMemo)(()=>({...r,...e,viewportInitialized:o}),[o])}var Ks=e=>e.selected,Xf=typeof window<"u"?window:void 0;function Zf({deleteKeyCode:e,multiSelectionKeyCode:t}){let n=se(),{deleteElements:o}=at(),r=Ft(e,{actInsideInputWithModifier:!1}),i=Ft(t,{target:Xf});(0,D.useEffect)(()=>{if(r){let{edges:s,nodes:a}=n.getState();o({nodes:a.filter(Ks),edges:s.filter(Ks)}),n.setState({nodesSelectionActive:!1})}},[r]),(0,D.useEffect)(()=>{n.setState({multiSelectionActive:i})},[i])}function Wf(e){let t=se();(0,D.useEffect)(()=>{let n=()=>{if(!e.current||!(e.current.checkVisibility?.()??!0))return!1;let o=wn(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 Dn={position:"absolute",width:"100%",height:"100%",top:0,left:0},qf=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function Kf({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:o=!1,panActivationKeyPressed:r,panOnScrollSpeed:i=.5,panOnScrollMode:s=Ae.Free,zoomOnDoubleClick:a=!0,panOnDrag:c=!0,defaultViewport:l,translateExtent:d,minZoom:f,maxZoom:u,zoomActivationKeyCode:h,preventScrolling:p=!0,children:x,noWheelClassName:b,noPanClassName:m,onViewportChange:v,isControlledViewport:g,paneClickDistance:w,selectionOnDrag:_}){let E=se(),C=(0,D.useRef)(null),{userSelectionActive:M,lib:I,connectionInProgress:V}=J(qf,ie),P=Ft(h),L=(0,D.useRef)();Wf(C);let S=(0,D.useCallback)(y=>{v?.({x:y[0],y:y[1],zoom:y[2]}),g||E.setState({transform:y})},[v,g]);return(0,D.useEffect)(()=>{if(C.current){L.current=Ms({domNode:C.current,minZoom:f,maxZoom:u,translateExtent:d,viewport:l,onDraggingChange:O=>E.setState(A=>A.paneDragging===O?A:{paneDragging:O}),onPanZoomStart:(O,A)=>{let{onViewportChangeStart:T,onMoveStart:B}=E.getState();B?.(O,A),T?.(A)},onPanZoom:(O,A)=>{let{onViewportChange:T,onMove:B}=E.getState();B?.(O,A),T?.(A)},onPanZoomEnd:(O,A)=>{let{onViewportChangeEnd:T,onMoveEnd:B}=E.getState();B?.(O,A),T?.(A)}});let{x:y,y:k,zoom:N}=L.current.getViewport();return E.setState({panZoom:L.current,transform:[y,k,N],domNode:C.current.closest(".react-flow")}),()=>{L.current?.destroy()}}},[]),(0,D.useEffect)(()=>{L.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:o,panActivationKeyPressed:r,panOnScrollSpeed:i,panOnScrollMode:s,zoomOnDoubleClick:a,panOnDrag:c,zoomActivationKeyPressed:P,preventScrolling:p,noPanClassName:m,userSelectionActive:M,noWheelClassName:b,lib:I,onTransformChange:S,connectionInProgress:V,selectionOnDrag:_,paneClickDistance:w})},[e,t,n,o,r,i,s,a,c,P,p,m,M,b,I,S,V,_,w]),(0,z.jsx)("div",{className:"react-flow__renderer",ref:C,style:Dn,children:x})}var Gf=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Uf(){let{userSelectionActive:e,userSelectionRect:t}=J(Gf,ie);return e&&t?(0,z.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 Io=(e,t)=>n=>{n.target===t.current&&e?.(n)},Qf=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function Jf({isSelecting:e,selectionKeyPressed:t,selectionMode:n=et.Full,panOnDrag:o,autoPanOnSelection:r,paneClickDistance:i,selectionOnDrag:s,onSelectionStart:a,onSelectionEnd:c,onPaneClick:l,onPaneContextMenu:d,onPaneScroll:f,onPaneMouseEnter:u,onPaneMouseMove:h,onPaneMouseLeave:p,children:x}){let b=(0,D.useRef)(0),m=se(),{userSelectionActive:v,elementsSelectable:g,dragging:w,panBy:_,autoPanSpeed:E}=J(Qf,ie),C=g&&(e||v),M=(0,D.useRef)(null),I=(0,D.useRef)(),V=(0,D.useRef)(new Set),P=(0,D.useRef)(new Set),L=(0,D.useRef)(!1),S=(0,D.useRef)(!1),y=(0,D.useRef)({x:0,y:0}),k=(0,D.useRef)(!1),N=$=>{if(S.current||L.current||m.getState().connection.inProgress){S.current=!1,L.current=!1;return}l?.($),m.getState().resetSelectedElements(),m.setState({nodesSelectionActive:!1})},O=$=>{if(Array.isArray(o)&&o?.includes(2)){$.preventDefault();return}d?.($)},A=f?$=>f($):void 0,T=$=>{S.current&&($.stopPropagation(),S.current=!1)},B=$=>{if($.pointerType==="touch"&&o!==!1&&!t)return;let{domNode:X,transform:Q}=m.getState();if(I.current=X?.getBoundingClientRect(),!I.current)return;let U=$.target===M.current;if(!U&&!!$.target.closest(".nokey")||!e||!(s&&U||t)||$.button!==0||!$.isPrimary)return;$.target?.setPointerCapture?.($.pointerId),S.current=!1;let{x:te,y:ne}=be($.nativeEvent,I.current),re=xt({x:te,y:ne},Q);m.setState({userSelectionRect:{width:0,height:0,startX:re.x,startY:re.y,x:te,y:ne}}),U||($.stopPropagation(),$.preventDefault())};function H($,X){let{userSelectionRect:Q}=m.getState();if(!Q)return;let{transform:U,nodeLookup:Z,edgeLookup:G,connectionLookup:te,triggerNodeChanges:ne,triggerEdgeChanges:re,defaultEdgeOptions:ue}=m.getState(),Se={x:Q.startX,y:Q.startY},{x:ve,y:ke}=nt(Se,U),Ce={startX:Se.x,startY:Se.y,x:$<ve?$:ve,y:X<ke?X:ke,width:Math.abs($-ve),height:Math.abs(X-ke)},St=V.current,We=P.current;V.current=new Set(pn(Z,Ce,U,n===et.Partial,!0).map(we=>we.id)),P.current=new Set;let qe=ue?.selectable??!0;for(let we of V.current){let Me=te.get(we);if(Me)for(let{edgeId:Ie}of Me.values()){let Ke=G.get(Ie);Ke&&(Ke.selectable??qe)&&P.current.add(Ie)}}if(!bo(St,V.current)){let we=kt(Z,V.current,!0);ne(we)}if(!bo(We,P.current)){let we=kt(G,P.current);re(we)}m.setState({userSelectionRect:Ce,userSelectionActive:!0,nodesSelectionActive:!1})}function F(){if(!r||!I.current)return;let[$,X]=gn(y.current,I.current,E);_({x:$,y:X}).then(Q=>{if(!S.current||!Q){b.current=requestAnimationFrame(F);return}let{x:U,y:Z}=y.current;H(U,Z),b.current=requestAnimationFrame(F)})}let q=()=>{cancelAnimationFrame(b.current),b.current=0,k.current=!1};(0,D.useEffect)(()=>()=>q(),[]);let Y=$=>{let{userSelectionRect:X,transform:Q,resetSelectedElements:U}=m.getState();if(!I.current||!X)return;let{x:Z,y:G}=be($.nativeEvent,I.current);y.current={x:Z,y:G};let te=nt({x:X.startX,y:X.startY},Q);if(!S.current){let ne=t?0:i;if(Math.hypot(Z-te.x,G-te.y)<=ne)return;U(),a?.($)}S.current=!0,k.current||(F(),k.current=!0),H(Z,G)},K=$=>{if(!C){$.target===M.current&&m.getState().connection.inProgress&&(L.current=!0);return}$.button===0&&($.target?.releasePointerCapture?.($.pointerId),!v&&$.target===M.current&&m.getState().userSelectionRect&&N?.($),m.setState({userSelectionActive:!1,userSelectionRect:null}),S.current&&(c?.($),m.setState({nodesSelectionActive:V.current.size>0})),q())},ee=$=>{$.target?.releasePointerCapture?.($.pointerId),q()},W=o===!0||Array.isArray(o)&&o.includes(0);return(0,z.jsxs)("div",{className:ae(["react-flow__pane",{draggable:W,dragging:w,selection:e}]),onClick:C?void 0:Io(N,M),onContextMenu:Io(O,M),onWheel:Io(A,M),onPointerEnter:C?void 0:u,onPointerMove:C?Y:h,onPointerUp:K,onPointerCancel:C?ee:void 0,onPointerDownCapture:C?B:void 0,onClickCapture:C?T:void 0,onPointerLeave:p,ref:M,style:Dn,children:[x,(0,z.jsx)(Uf,{})]})}function Po({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 ya({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:o,nodeId:r,isSelectable:i,nodeClickDistance:s}){let a=se(),[c,l]=(0,D.useState)(!1),d=(0,D.useRef)();return(0,D.useEffect)(()=>{if(!t)return d.current=xs({getStoreItems:()=>a.getState(),onNodeMouseDown:f=>{Po({id:f,store:a,nodeRef:e})},onDragStart:()=>{l(!0)},onDragStop:()=>{l(!1)}}),()=>{d.current?.destroy(),d.current=void 0}},[t,a,e]),(0,D.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 eh=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function wa(){let e=se();return(0,D.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=eh(s),h=r?i[0]:5,p=r?i[1]:5,x=n.direction.x*h*n.factor,b=n.direction.y*p*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=wt(v,i));let{position:g,positionAbsolute:w}=fo({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 zo=(0,D.createContext)(null),th=zo.Provider;zo.Consumer;var xa=()=>(0,D.useContext)(zo),nh=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),va=(0,D.createContext)(null);function oh({children:e}){let t=J(nh,ie);return(0,z.jsx)(va.Provider,{value:t,children:e})}function rh(){let e=(0,D.useContext)(va);if(!e)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return e}var ih={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},sh=(e,t,n)=>o=>{let{connectionClickStartHandle:r,connectionMode:i,connection:s}=o,{fromHandle:a,toHandle:c,isValid:l}=s;if(!a&&!r)return ih;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===Ye.Strict?a?.type!==n:e!==a?.nodeId||t!==a?.id,connectionInProcess:!!a,clickConnectionInProcess:!!r,valid:d&&l}};function ah({type:e="source",position:t=j.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},h){let p=s||null,x=e==="target",b=se(),m=xa(),{connectOnClick:v,noPanClassName:g,rfId:w}=rh(),{connectingFrom:_,connectingTo:E,clickConnecting:C,isPossibleEndHandle:M,connectionInProcess:I,clickConnectionInProcess:V,valid:P}=J(sh(m,p,e),ie);m||b.getState().onError?.("010",ge.error010());let L=k=>{let{defaultEdgeOptions:N,onConnect:O,hasDefaultEdges:A}=b.getState(),T={...N,...k};if(A){let{edges:B,setEdges:H,onError:F}=b.getState();H(Vf(T,B,{onError:F}))}O?.(T),a?.(T)},S=k=>{if(!m)return;let N=vo(k.nativeEvent);if(r&&(N&&k.button===0||!N)){let O=b.getState();Sn.onPointerDown(k.nativeEvent,{handleDomNode:k.currentTarget,autoPanOnConnect:O.autoPanOnConnect,connectionMode:O.connectionMode,connectionRadius:O.connectionRadius,domNode:O.domNode,nodeLookup:O.nodeLookup,lib:O.lib,isTarget:x,handleId:p,nodeId:m,flowId:O.rfId,panBy:O.panBy,cancelConnection:O.cancelConnection,onConnectStart:O.onConnectStart,onConnectEnd:(...A)=>b.getState().onConnectEnd?.(...A),updateConnection:O.updateConnection,onConnect:L,isValidConnection:n||((...A)=>b.getState().isValidConnection?.(...A)??!0),getTransform:()=>b.getState().transform,getFromHandle:()=>b.getState().connection.fromHandle,autoPanSpeed:O.autoPanSpeed,dragThreshold:O.connectionDragThreshold})}N?d?.(k):f?.(k)},y=k=>{let{onClickConnectStart:N,onClickConnectEnd:O,connectionClickStartHandle:A,connectionMode:T,isValidConnection:B,lib:H,rfId:F,nodeLookup:q,connection:Y}=b.getState();if(!m||!A&&!r)return;if(!A){N?.(k.nativeEvent,{nodeId:m,handleId:p,handleType:e}),b.setState({connectionClickStartHandle:{nodeId:m,type:e,id:p}});return}let K=wo(k.target),ee=n||B,{connection:W,isValid:$}=Sn.isValid(k.nativeEvent,{handle:{nodeId:m,id:p,type:e},connectionMode:T,fromNodeId:A.nodeId,fromHandleId:A.id||null,fromType:A.type,isValidConnection:ee,flowId:F,doc:K,lib:H,nodeLookup:q});$&&W&&L(W);let X=structuredClone(Y);delete X.inProgress,X.toPosition=X.toHandle?X.toHandle.position:null,O?.(k,X),b.setState({connectionClickStartHandle:null})};return(0,z.jsx)("div",{"data-handleid":p,"data-nodeid":m,"data-handlepos":t,"data-id":`${w}-${m}-${p}-${e}`,className:ae(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",g,l,{source:!x,target:x,connectable:o,connectablestart:r,connectableend:i,clickconnecting:C,connectingfrom:_,connectingto:E,valid:P,connectionindicator:o&&(!I||M)&&(I||V?i:r)}]),onMouseDown:S,onTouchStart:S,onClick:v?y:void 0,ref:h,...u,children:c})}var st=(0,D.memo)(ga(ah));function lh({data:e,isConnectable:t,sourcePosition:n=j.Bottom}){return(0,z.jsxs)(z.Fragment,{children:[e?.label,(0,z.jsx)(st,{type:"source",position:n,isConnectable:t})]})}function ch({data:e,isConnectable:t,targetPosition:n=j.Top,sourcePosition:o=j.Bottom}){return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(st,{type:"target",position:n,isConnectable:t}),e?.label,(0,z.jsx)(st,{type:"source",position:o,isConnectable:t})]})}function dh(){return null}function uh({data:e,isConnectable:t,targetPosition:n=j.Top}){return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(st,{type:"target",position:n,isConnectable:t}),e?.label]})}var On={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Gs={input:lh,default:ch,output:uh,group:dh};function fh(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 hh=e=>{let{width:t,height:n,x:o,y:r}=bt(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 ph({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let o=se(),{width:r,height:i,transformString:s,userSelectionActive:a}=J(hh,ie),c=wa(),l=(0,D.useRef)(null);(0,D.useEffect)(()=>{n||l.current?.focus({preventScroll:!0})},[n]);let d=!a&&r!==null&&i!==null;if(ya({nodeRef:l,disabled:!d}),!d)return null;let f=e?h=>{let p=o.getState().nodes.filter(x=>x.selected);e(h,p)}:void 0,u=h=>{Object.prototype.hasOwnProperty.call(On,h.key)&&(h.preventDefault(),c({direction:On[h.key],factor:h.shiftKey?4:1}))};return(0,z.jsx)("div",{className:ae(["react-flow__nodesselection","react-flow__container",t]),style:{transform:s},children:(0,z.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 Us=typeof window<"u"?window:void 0,gh=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function ka({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:h,multiSelectionKeyCode:p,panActivationKeyCode:x,zoomActivationKeyCode:b,elementsSelectable:m,zoomOnScroll:v,zoomOnPinch:g,panOnScroll:w,panOnScrollSpeed:_,panOnScrollMode:E,zoomOnDoubleClick:C,panOnDrag:M,autoPanOnSelection:I,defaultViewport:V,translateExtent:P,minZoom:L,maxZoom:S,preventScrolling:y,onSelectionContextMenu:k,noWheelClassName:N,noPanClassName:O,disableKeyboardA11y:A,onViewportChange:T,isControlledViewport:B}){let{nodesSelectionActive:H,userSelectionActive:F}=J(gh,ie),q=Ft(l,{target:Us}),Y=Ft(x,{target:Us}),K=Y||M,ee=Y||w,W=d&&K!==!0,$=q||F||W;return Zf({deleteKeyCode:c,multiSelectionKeyCode:p}),(0,z.jsx)(Kf,{onPaneContextMenu:i,elementsSelectable:m,zoomOnScroll:v,zoomOnPinch:g,panOnScroll:ee,panActivationKeyPressed:Y,panOnScrollSpeed:_,panOnScrollMode:E,zoomOnDoubleClick:C,panOnDrag:!q&&K,defaultViewport:V,translateExtent:P,minZoom:L,maxZoom:S,zoomActivationKeyCode:b,preventScrolling:y,noWheelClassName:N,noPanClassName:O,onViewportChange:T,isControlledViewport:B,paneClickDistance:a,selectionOnDrag:W,children:(0,z.jsxs)(Jf,{onSelectionStart:u,onSelectionEnd:h,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:i,onPaneScroll:s,panOnDrag:K,autoPanOnSelection:I,isSelecting:!!$,selectionMode:f,selectionKeyPressed:q,paneClickDistance:a,selectionOnDrag:W,children:[e,H&&(0,z.jsx)(ph,{onSelectionContextMenu:k,noPanClassName:O,disableKeyboardA11y:A})]})})}ka.displayName="FlowRenderer";var mh=(0,D.memo)(ka),bh=e=>t=>e?pn(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 yh(e){return J((0,D.useCallback)(bh(e),[e]),ie)}var wh=e=>e.updateNodeInternals;function xh(){let e=J(wh),[t]=(0,D.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,D.useEffect)(()=>()=>{t?.disconnect()},[t]),t}function vh({node:e,nodeType:t,hasDimensions:n,resizeObserver:o}){let r=se(),i=(0,D.useRef)(null),s=(0,D.useRef)(null),a=(0,D.useRef)(e.sourcePosition),c=(0,D.useRef)(e.targetPosition),l=(0,D.useRef)(t),d=n&&!!e.internals.handleBounds;return(0,D.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,D.useEffect)(()=>()=>{s.current&&(o?.unobserve(s.current),s.current=null)},[]),(0,D.useEffect)(()=>{if(i.current){let f=l.current!==t,u=a.current!==e.sourcePosition,h=c.current!==e.targetPosition;(f||u||h)&&(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 kh({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:h,disableKeyboardA11y:p,rfId:x,nodeTypes:b,nodeClickDistance:m,onError:v}){let{node:g,internals:w,isParent:_}=J($=>{let X=$.nodeLookup.get(e),Q=$.parentLookup.has(e);return{node:X,internals:X.internals,isParent:Q}},ie),E=g.type||"default",C=b?.[E]||Gs[E];C===void 0&&(v?.("003",ge.error003(E)),E="default",C=b?.default||Gs.default);let M=!!(g.draggable||a&&typeof g.draggable>"u"),I=!!(g.selectable||c&&typeof g.selectable>"u"),V=!!(g.connectable||l&&typeof g.connectable>"u"),P=!!(g.focusable||d&&typeof g.focusable>"u"),L=se(),S=yn(g),y=vh({node:g,nodeType:E,hasDimensions:S,resizeObserver:f}),k=ya({nodeRef:y,disabled:g.hidden||!M,noDragClassName:u,handleSelector:g.dragHandle,nodeId:e,isSelectable:I,nodeClickDistance:m}),N=wa();if(g.hidden)return null;let O=ye(g),A=fh(g),T=I||M||t||n||o||r,B=n?$=>n($,{...w.userNode}):void 0,H=o?$=>o($,{...w.userNode}):void 0,F=r?$=>r($,{...w.userNode}):void 0,q=i?$=>i($,{...w.userNode}):void 0,Y=s?$=>s($,{...w.userNode}):void 0,K=$=>{let{selectNodesOnDrag:X,nodeDragThreshold:Q}=L.getState();I&&(!X||!M||Q>0)&&Po({id:e,store:L,nodeRef:y}),t&&t($,{...w.userNode})},ee=$=>{if(!(xo($.nativeEvent)||p)){if(io.includes($.key)&&I){let X=$.key==="Escape";Po({id:e,store:L,unselect:X,nodeRef:y})}else if(M&&g.selected&&Object.prototype.hasOwnProperty.call(On,$.key)){$.preventDefault();let{ariaLabelConfig:X}=L.getState();L.setState({ariaLiveMessage:X["node.a11yDescription.ariaLiveMessage"]({direction:$.key.replace("Arrow","").toLowerCase(),x:~~w.positionAbsolute.x,y:~~w.positionAbsolute.y})}),N({direction:On[$.key],factor:$.shiftKey?4:1})}}},W=()=>{if(p||!y.current?.matches(":focus-visible"))return;let{transform:$,width:X,height:Q,autoPanOnNodeFocus:U,setCenter:Z}=L.getState();if(!U)return;pn(new Map([[e,g]]),{x:0,y:0,width:X,height:Q},$,!0).length>0||Z(g.position.x+O.width/2,g.position.y+O.height/2,{zoom:$[2]})};return(0,z.jsx)("div",{className:ae(["react-flow__node",`react-flow__node-${E}`,{[h]:M},g.className,{selected:g.selected,selectable:I,parent:_,draggable:M,dragging:k}]),ref:y,style:{zIndex:w.z,transform:`translate(${w.positionAbsolute.x}px,${w.positionAbsolute.y}px)`,pointerEvents:T?"all":"none",visibility:S?"visible":"hidden",...g.style,...A},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:B,onMouseMove:H,onMouseLeave:F,onContextMenu:q,onClick:K,onDoubleClick:Y,onKeyDown:P?ee:void 0,tabIndex:P?0:void 0,onFocus:P?W:void 0,role:g.ariaRole??(P?"group":void 0),"aria-roledescription":"node","aria-describedby":p?void 0:`${da}-${x}`,"aria-label":g.ariaLabel,...g.domAttributes,children:(0,z.jsx)(th,{value:e,children:(0,z.jsx)(C,{id:e,data:g.data,type:E,positionAbsoluteX:w.positionAbsolute.x,positionAbsoluteY:w.positionAbsolute.y,selected:g.selected??!1,selectable:I,draggable:M,deletable:g.deletable??!0,isConnectable:V,sourcePosition:g.sourcePosition,targetPosition:g.targetPosition,dragging:k,dragHandle:g.dragHandle,zIndex:w.z,parentId:g.parentId,...O})})})}var _h=(0,D.memo)(kh),Eh=e=>({nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function _a(e){let{nodesConnectable:t,nodesFocusable:n,elementsSelectable:o,onError:r}=J(Eh,ie),i=yh(e.onlyRenderVisibleElements),s=xh();return(0,z.jsx)("div",{className:"react-flow__nodes",style:Dn,children:i.map(a=>(0,z.jsx)(_h,{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))})}_a.displayName="NodeRenderer";var Nh=(0,D.memo)(_a);function Sh(e){return J((0,D.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&&ds({sourceNode:i,targetNode:s,width:n.width,height:n.height,transform:n.transform})&&o.push(r.id)}return o},[e]),ie)}var Ch=({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e}};return(0,z.jsx)("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},Mh=({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e,fill:e}};return(0,z.jsx)("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Qs={[pt.Arrow]:Ch,[pt.ArrowClosed]:Mh};function Ih(e){let t=se();return(0,D.useMemo)(()=>Object.prototype.hasOwnProperty.call(Qs,e)?Qs[e]:(t.getState().onError?.("009",ge.error009(e)),null),[e])}var Oh=({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=Ih(t);return c?(0,z.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,z.jsx)(c,{color:n,strokeWidth:s})}):null},Ea=({defaultColor:e,rfId:t})=>{let n=J(i=>i.edges),o=J(i=>i.defaultEdgeOptions),r=(0,D.useMemo)(()=>hs(n,{id:t,defaultColor:e,defaultMarkerStart:o?.markerStart,defaultMarkerEnd:o?.markerEnd}),[n,o,t,e]);return r.length?(0,z.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,z.jsx)("defs",{children:r.map(i=>(0,z.jsx)(Oh,{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};Ea.displayName="MarkerDefinitions";var Ph=(0,D.memo)(Ea);function Na({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,D.useState)({x:1,y:0,width:0,height:0}),h=ae(["react-flow__edge-textwrapper",l]),p=(0,D.useRef)(null);return(0,D.useEffect)(()=>{if(p.current){let x=p.current.getBBox();u({x:x.x,y:x.y,width:x.width,height:x.height})}},[n]),n?(0,z.jsxs)("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:h,visibility:f.width?"visible":"hidden",...d,children:[r&&(0,z.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,z.jsx)("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:p,style:o,children:n}),c]}):null}Na.displayName="EdgeText";var Do=(0,D.memo)(Na);function _t({path:e,labelX:t,labelY:n,label:o,labelStyle:r,labelShowBg:i,labelBgStyle:s,labelBgPadding:a,labelBgBorderRadius:c,interactionWidth:l=20,...d}){return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)("path",{...d,d:e,fill:"none",className:ae(["react-flow__edge-path",d.className])}),l?(0,z.jsx)("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:l,className:"react-flow__edge-interaction"}):null,o&&me(t)&&me(n)?(0,z.jsx)(Do,{x:t,y:n,label:o,labelStyle:r,labelShowBg:i,labelBgStyle:s,labelBgPadding:a,labelBgBorderRadius:c}):null]})}function Js({pos:e,x1:t,y1:n,x2:o,y2:r}){return e===j.Left||e===j.Right?[.5*(t+o),n]:[t,.5*(n+r)]}function Sa({sourceX:e,sourceY:t,sourcePosition:n=j.Bottom,targetX:o,targetY:r,targetPosition:i=j.Top}){let[s,a]=Js({pos:n,x1:e,y1:t,x2:o,y2:r}),[c,l]=Js({pos:i,x1:o,y1:r,x2:e,y2:t}),[d,f,u,h]=xn({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,h]}function Ca(e){return(0,D.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:h,style:p,markerEnd:x,markerStart:b,interactionWidth:m})=>{let[v,g,w]=Sa({sourceX:n,sourceY:o,sourcePosition:s,targetX:r,targetY:i,targetPosition:a}),_=e.isInternal?void 0:t;return(0,z.jsx)(_t,{id:_,path:v,labelX:g,labelY:w,label:c,labelStyle:l,labelShowBg:d,labelBgStyle:f,labelBgPadding:u,labelBgBorderRadius:h,style:p,markerEnd:x,markerStart:b,interactionWidth:m})})}var zh=Ca({isInternal:!1}),Ma=Ca({isInternal:!0});zh.displayName="SimpleBezierEdge";Ma.displayName="SimpleBezierEdgeInternal";function Ia(e){return(0,D.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:h=j.Bottom,targetPosition:p=j.Top,markerEnd:x,markerStart:b,pathOptions:m,interactionWidth:v})=>{let[g,w,_]=rt({sourceX:n,sourceY:o,sourcePosition:h,targetX:r,targetY:i,targetPosition:p,borderRadius:m?.borderRadius,offset:m?.offset,stepPosition:m?.stepPosition}),E=e.isInternal?void 0:t;return(0,z.jsx)(_t,{id:E,path:g,labelX:w,labelY:_,label:s,labelStyle:a,labelShowBg:c,labelBgStyle:l,labelBgPadding:d,labelBgBorderRadius:f,style:u,markerEnd:x,markerStart:b,interactionWidth:v})})}var Oa=Ia({isInternal:!1}),Pa=Ia({isInternal:!0});Oa.displayName="SmoothStepEdge";Pa.displayName="SmoothStepEdgeInternal";function za(e){return(0,D.memo)(({id:t,...n})=>{let o=e.isInternal?void 0:t;return(0,z.jsx)(Oa,{...n,id:o,pathOptions:(0,D.useMemo)(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}var Dh=za({isInternal:!1}),Da=za({isInternal:!0});Dh.displayName="StepEdge";Da.displayName="StepEdgeInternal";function Aa(e){return(0,D.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:h,markerStart:p,interactionWidth:x})=>{let[b,m,v]=kn({sourceX:n,sourceY:o,targetX:r,targetY:i}),g=e.isInternal?void 0:t;return(0,z.jsx)(_t,{id:g,path:b,labelX:m,labelY:v,label:s,labelStyle:a,labelShowBg:c,labelBgStyle:l,labelBgPadding:d,labelBgBorderRadius:f,style:u,markerEnd:h,markerStart:p,interactionWidth:x})})}var Ah=Aa({isInternal:!1}),Ta=Aa({isInternal:!0});Ah.displayName="StraightEdge";Ta.displayName="StraightEdgeInternal";function La(e){return(0,D.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,sourcePosition:s=j.Bottom,targetPosition:a=j.Top,label:c,labelStyle:l,labelShowBg:d,labelBgStyle:f,labelBgPadding:u,labelBgBorderRadius:h,style:p,markerEnd:x,markerStart:b,pathOptions:m,interactionWidth:v})=>{let[g,w,_]=vn({sourceX:n,sourceY:o,sourcePosition:s,targetX:r,targetY:i,targetPosition:a,curvature:m?.curvature}),E=e.isInternal?void 0:t;return(0,z.jsx)(_t,{id:E,path:g,labelX:w,labelY:_,label:c,labelStyle:l,labelShowBg:d,labelBgStyle:f,labelBgPadding:u,labelBgBorderRadius:h,style:p,markerEnd:x,markerStart:b,interactionWidth:v})})}var Th=La({isInternal:!1}),Ra=La({isInternal:!0});Th.displayName="BezierEdge";Ra.displayName="BezierEdgeInternal";var ea={default:Ra,straight:Ta,step:Da,smoothstep:Pa,simplebezier:Ma},ta={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},Lh=(e,t,n)=>n===j.Left?e-t:n===j.Right?e+t:e,Rh=(e,t,n)=>n===j.Top?e-t:n===j.Bottom?e+t:e,na="react-flow__edgeupdater";function oa({position:e,centerX:t,centerY:n,radius:o=10,onMouseDown:r,onMouseEnter:i,onMouseOut:s,type:a}){return(0,z.jsx)("circle",{onMouseDown:r,onMouseEnter:i,onMouseOut:s,className:ae([na,`${na}-${a}`]),cx:Lh(t,o,e),cy:Rh(n,o,e),r:o,stroke:"transparent",fill:"transparent"})}function $h({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:h}){let p=se(),x=(w,_)=>{if(w.button!==0)return;let{autoPanOnConnect:E,domNode:C,connectionMode:M,connectionRadius:I,lib:V,onConnectStart:P,cancelConnection:L,nodeLookup:S,rfId:y,panBy:k,updateConnection:N}=p.getState(),O=_.type==="target",A=(H,F)=>{u(!1),f?.(H,n,_.type,F)},T=H=>l?.(n,H),B=(H,F)=>{u(!0),d?.(w,n,_.type),P?.(H,F)};Sn.onPointerDown(w.nativeEvent,{autoPanOnConnect:E,connectionMode:M,connectionRadius:I,domNode:C,handleId:_.id,nodeId:_.nodeId,nodeLookup:S,isTarget:O,edgeUpdaterType:_.type,lib:V,flowId:y,cancelConnection:L,panBy:k,isValidConnection:(...H)=>p.getState().isValidConnection?.(...H)??!0,onConnect:T,onConnectStart:B,onConnectEnd:(...H)=>p.getState().onConnectEnd?.(...H),onReconnectEnd:A,updateConnection:N,getTransform:()=>p.getState().transform,getFromHandle:()=>p.getState().connection.fromHandle,dragThreshold:p.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=()=>h(!0),g=()=>h(!1);return(0,z.jsxs)(z.Fragment,{children:[(e===!0||e==="source")&&(0,z.jsx)(oa,{position:a,centerX:o,centerY:r,radius:t,onMouseDown:b,onMouseEnter:v,onMouseOut:g,type:"source"}),(e===!0||e==="target")&&(0,z.jsx)(oa,{position:c,centerX:i,centerY:s,radius:t,onMouseDown:m,onMouseEnter:v,onMouseOut:g,type:"target"})]})}function Vh({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:h,rfId:p,edgeTypes:x,noPanClassName:b,onError:m,disableKeyboardA11y:v}){let g=J(Z=>Z.edgeLookup.get(e)),w=J(Z=>Z.defaultEdgeOptions);g=w?{...w,...g}:g;let _=g.type||"default",E=x?.[_]||ea[_];E===void 0&&(m?.("011",ge.error011(_)),_="default",E=x?.default||ea.default);let C=!!(g.focusable||t&&typeof g.focusable>"u"),M=typeof f<"u"&&(g.reconnectable||n&&typeof g.reconnectable>"u"),I=!!(g.selectable||o&&typeof g.selectable>"u"),V=(0,D.useRef)(null),[P,L]=(0,D.useState)(!1),[S,y]=(0,D.useState)(!1),k=se(),{zIndex:N=g.zIndex,sourceX:O,sourceY:A,targetX:T,targetY:B,sourcePosition:H,targetPosition:F}=J((0,D.useCallback)(Z=>{let G=Z.nodeLookup.get(g.source),te=Z.nodeLookup.get(g.target);if(!G||!te)return ta;let ne=fs({id:e,sourceNode:G,targetNode:te,sourceHandle:g.sourceHandle||null,targetHandle:g.targetHandle||null,connectionMode:Z.connectionMode,onError:m}),re=cs({selected:g.selected,zIndex:g.zIndex,sourceNode:G,targetNode:te,elevateOnSelect:Z.elevateEdgesOnSelect,zIndexMode:Z.zIndexMode});return{...ne||ta,zIndex:re}},[g.source,g.target,g.sourceHandle,g.targetHandle,g.selected,g.zIndex,m]),ie),q=(0,D.useMemo)(()=>g.markerStart?`url('#${_n(g.markerStart,p)}')`:void 0,[g.markerStart,p]),Y=(0,D.useMemo)(()=>g.markerEnd?`url('#${_n(g.markerEnd,p)}')`:void 0,[g.markerEnd,p]);if(g.hidden||O===null||A===null||T===null||B===null)return null;let K=Z=>{let{addSelectedEdges:G,unselectNodesAndEdges:te,multiSelectionActive:ne}=k.getState();I&&(k.setState({nodesSelectionActive:!1}),g.selected&&ne?(te({nodes:[],edges:[g]}),V.current?.blur()):G([e])),r&&r(Z,g)},ee=i?Z=>{i(Z,{...g})}:void 0,W=s?Z=>{s(Z,{...g})}:void 0,$=a?Z=>{a(Z,{...g})}:void 0,X=c?Z=>{c(Z,{...g})}:void 0,Q=l?Z=>{l(Z,{...g})}:void 0,U=Z=>{if(!v&&io.includes(Z.key)&&I){let{unselectNodesAndEdges:G,addSelectedEdges:te}=k.getState();Z.key==="Escape"?(V.current?.blur(),G({edges:[g]})):te([e])}};return(0,z.jsx)("svg",{style:{zIndex:N},children:(0,z.jsxs)("g",{className:ae(["react-flow__edge",`react-flow__edge-${_}`,g.className,b,{selected:g.selected,animated:g.animated,inactive:!I&&!r,updating:P,selectable:I}]),onClick:K,onDoubleClick:ee,onContextMenu:W,onMouseEnter:$,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?`${ua}-${p}`:void 0,ref:V,...g.domAttributes,children:[!S&&(0,z.jsx)(E,{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:O,sourceY:A,targetX:T,targetY:B,sourcePosition:H,targetPosition:F,data:g.data,style:g.style,sourceHandleId:g.sourceHandle,targetHandleId:g.targetHandle,markerStart:q,markerEnd:Y,pathOptions:"pathOptions"in g?g.pathOptions:void 0,interactionWidth:g.interactionWidth}),M&&(0,z.jsx)($h,{edge:g,isReconnectable:M,reconnectRadius:d,onReconnect:f,onReconnectStart:u,onReconnectEnd:h,sourceX:O,sourceY:A,targetX:T,targetY:B,sourcePosition:H,targetPosition:F,setUpdateHover:L,setReconnecting:y})]})})}var Hh=(0,D.memo)(Vh),Bh=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function $a({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:h,onReconnectEnd:p,disableKeyboardA11y:x}){let{edgesFocusable:b,edgesReconnectable:m,elementsSelectable:v,onError:g}=J(Bh,ie),w=Sh(t);return(0,z.jsxs)("div",{className:"react-flow__edges",children:[(0,z.jsx)(Ph,{defaultColor:e,rfId:n}),w.map(_=>(0,z.jsx)(Hh,{id:_,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:h,onReconnectEnd:p,rfId:n,onError:g,edgeTypes:o,disableKeyboardA11y:x},_))]})}$a.displayName="EdgeRenderer";var Fh=(0,D.memo)($a),ra=e=>`translate(${e[0]}px,${e[1]}px) scale(${e[2]})`;function Yh({children:e}){let t=se(),n=(0,D.useRef)(null),[o]=(0,D.useState)(()=>t.getState().transform);return ma(()=>{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=ra(s)))};return i(),t.subscribe(i)},[t]),(0,z.jsx)("div",{ref:n,className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:ra(o)},children:e})}function jh(e){let t=at(),n=(0,D.useRef)(!1);(0,D.useEffect)(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}var Xh=e=>e.panZoom?.syncViewport;function Zh(e){let t=J(Xh),n=se();return(0,D.useEffect)(()=>{e&&(t?.(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function ia(e){return e.connection.inProgress?{...e.connection,to:xt(e.connection.to,e.transform)}:{...e.connection}}function Wh(e){return e?n=>{let o=ia(n);return e(o)}:ia}function qh(e){let t=Wh(e);return J(t,ie)}var Kh=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function Gh({containerStyle:e,style:t,type:n,component:o}){let{nodesConnectable:r,width:i,height:s,isValid:a,inProgress:c}=J(Kh,ie);return!(i&&r&&c)?null:(0,z.jsx)("svg",{style:e,width:i,height:s,className:"react-flow__connectionline react-flow__container",children:(0,z.jsx)("g",{className:ae(["react-flow__connection",yo(a)]),children:(0,z.jsx)(Va,{style:t,type:n,CustomComponent:o,isValid:a})})})}var Va=({style:e,type:t=_e.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:h}=qh();if(!r)return;if(n)return(0,z.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:yo(o),toNode:d,toHandle:f,pointer:h});let p="",x={sourceX:i.x,sourceY:i.y,sourcePosition:c,targetX:l.x,targetY:l.y,targetPosition:u};switch(t){case _e.Bezier:[p]=vn(x);break;case _e.SimpleBezier:[p]=Sa(x);break;case _e.Step:[p]=rt({...x,borderRadius:0});break;case _e.SmoothStep:[p]=rt(x);break;default:[p]=kn(x)}return(0,z.jsx)("path",{d:p,fill:"none",className:"react-flow__connection-path",style:e})};Va.displayName="ConnectionLine";var Uh={};function sa(e=Uh){let t=(0,D.useRef)(e),n=se();(0,D.useEffect)(()=>{},[e])}function Qh(){let e=se(),t=(0,D.useRef)(!1);(0,D.useEffect)(()=>{},[])}function Ha({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:h,connectionLineType:p,connectionLineStyle:x,connectionLineComponent:b,connectionLineContainerStyle:m,selectionKeyCode:v,selectionOnDrag:g,selectionMode:w,multiSelectionKeyCode:_,panActivationKeyCode:E,zoomActivationKeyCode:C,deleteKeyCode:M,onlyRenderVisibleElements:I,elementsSelectable:V,defaultViewport:P,translateExtent:L,minZoom:S,maxZoom:y,preventScrolling:k,defaultMarkerColor:N,zoomOnScroll:O,zoomOnPinch:A,panOnScroll:T,panOnScrollSpeed:B,panOnScrollMode:H,zoomOnDoubleClick:F,panOnDrag:q,autoPanOnSelection:Y,onPaneClick:K,onPaneMouseEnter:ee,onPaneMouseMove:W,onPaneMouseLeave:$,onPaneScroll:X,onPaneContextMenu:Q,paneClickDistance:U,nodeClickDistance:Z,onEdgeContextMenu:G,onEdgeMouseEnter:te,onEdgeMouseMove:ne,onEdgeMouseLeave:re,reconnectRadius:ue,onReconnect:Se,onReconnectStart:ve,onReconnectEnd:ke,noDragClassName:Ce,noWheelClassName:St,noPanClassName:We,disableKeyboardA11y:qe,nodeExtent:we,rfId:Me,viewport:Ie,onViewportChange:Ke,nodesDraggable:Fn}){return sa(e),sa(t),Qh(),jh(n),Zh(Ie),(0,z.jsx)(mh,{onPaneClick:K,onPaneMouseEnter:ee,onPaneMouseMove:W,onPaneMouseLeave:$,onPaneContextMenu:Q,onPaneScroll:X,paneClickDistance:U,deleteKeyCode:M,selectionKeyCode:v,selectionOnDrag:g,selectionMode:w,onSelectionStart:u,onSelectionEnd:h,multiSelectionKeyCode:_,panActivationKeyCode:E,zoomActivationKeyCode:C,elementsSelectable:V,zoomOnScroll:O,zoomOnPinch:A,zoomOnDoubleClick:F,panOnScroll:T,panOnScrollSpeed:B,panOnScrollMode:H,panOnDrag:q,autoPanOnSelection:Y,defaultViewport:P,translateExtent:L,minZoom:S,maxZoom:y,onSelectionContextMenu:f,preventScrolling:k,noDragClassName:Ce,noWheelClassName:St,noPanClassName:We,disableKeyboardA11y:qe,onViewportChange:Ke,isControlledViewport:!!Ie,children:(0,z.jsxs)(Yh,{children:[(0,z.jsx)(Fh,{edgeTypes:t,onEdgeClick:r,onEdgeDoubleClick:s,onReconnect:Se,onReconnectStart:ve,onReconnectEnd:ke,onlyRenderVisibleElements:I,onEdgeContextMenu:G,onEdgeMouseEnter:te,onEdgeMouseMove:ne,onEdgeMouseLeave:re,reconnectRadius:ue,defaultMarkerColor:N,noPanClassName:We,disableKeyboardA11y:qe,rfId:Me}),(0,z.jsx)(Gh,{style:x,type:p,component:b,containerStyle:m}),(0,z.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,z.jsx)(Nh,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:i,onNodeMouseEnter:a,onNodeMouseMove:c,onNodeMouseLeave:l,onNodeContextMenu:d,nodeClickDistance:Z,onlyRenderVisibleElements:I,noPanClassName:We,noDragClassName:Ce,disableKeyboardA11y:qe,nodeExtent:we,rfId:Me,nodesDraggable:Fn}),(0,z.jsx)("div",{className:"react-flow__viewport-portal"})]})})}Ha.displayName="GraphView";var Jh=(0,D.memo)(Ha),ep=go("React Flow","https://reactflow.dev/"),aa=({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 h=new Map,p=new Map,x=new Map,b=new Map,m=o??t??[],v=n??e??[],g=d??[0,0],w=f??mt;Co(x,b,m);let{nodesInitialized:_}=En(v,h,p,{nodeOrigin:g,nodeExtent:w,zIndexMode:u}),E=[0,0,1];if(s&&r&&i){let C=bt(h,{filter:P=>!!((P.width||P.initialWidth)&&(P.height||P.initialHeight))}),{x:M,y:I,zoom:V}=Bt(C,r,i,c,l,a?.padding??.1);E=[M,I,V]}return{rfId:"1",width:r??0,height:i??0,transform:E,nodes:v,nodesInitialized:_,nodeLookup:h,parentLookup:p,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:mt,nodeExtent:w,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Ye.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:{...ao},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:ep,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:so,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}},tp=({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})=>Ls((h,p)=>{async function x(){let{nodeLookup:b,panZoom:m,fitViewOptions:v,fitViewResolver:g,width:w,height:_,minZoom:E,maxZoom:C}=p();m&&(await os({nodes:b,width:w,height:_,panZoom:m,minZoom:E,maxZoom:C},v),g?.resolve(!0),h({fitViewResolver:null}))}return{...aa({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:_,fitViewQueued:E,zIndexMode:C,nodesSelectionActive:M}=p(),{nodesInitialized:I,hasSelectedNodes:V}=En(b,m,v,{nodeOrigin:g,nodeExtent:w,elevateNodesOnSelect:_,checkEquality:!0,zIndexMode:C}),P=M&&V;E&&I?(x(),h({nodes:b,nodesInitialized:I,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:P})):h({nodes:b,nodesInitialized:I,nodesSelectionActive:P})},setEdges:b=>{let{connectionLookup:m,edgeLookup:v}=p();Co(m,v,b),h({edges:b})},setDefaultNodesAndEdges:(b,m)=>{if(b){let{setNodes:v}=p();v(b),h({hasDefaultNodes:!0})}if(m){let{setEdges:v}=p();v(m),h({hasDefaultEdges:!0})}},updateNodeInternals:b=>{let{triggerNodeChanges:m,nodeLookup:v,parentLookup:g,domNode:w,nodeOrigin:_,nodeExtent:E,debug:C,fitViewQueued:M,zIndexMode:I}=p(),{changes:V,updatedInternals:P}=bs(b,v,g,w,_,E,I);P&&(gs(v,g,{nodeOrigin:_,nodeExtent:E,zIndexMode:I}),M?(x(),h({fitViewQueued:!1,fitViewOptions:void 0})):h({}),V?.length>0&&(C&&console.log("React Flow: trigger node changes",V),m?.(V)))},updateNodePositions:(b,m=!1)=>{let v=[],g=[],{nodeLookup:w,triggerNodeChanges:_,connection:E,updateConnection:C,onNodesChangeMiddlewareMap:M}=p();for(let[I,V]of b){let P=w.get(I),L=!!(P?.expandParent&&P?.parentId&&V?.position),S={id:I,type:"position",position:L?{x:Math.max(0,V.position.x),y:Math.max(0,V.position.y)}:V.position,dragging:m};if(P&&E.inProgress&&E.fromNode.id===P.id){let y=je(P,E.fromHandle,j.Left,!0);C({...E,from:y})}L&&P.parentId&&v.push({id:I,parentId:P.parentId,rect:{...V.internals.positionAbsolute,width:V.measured.width??0,height:V.measured.height??0}}),g.push(S)}if(v.length>0){let{parentLookup:I,nodeOrigin:V}=p(),P=Nn(v,w,I,V);g.push(...P)}for(let I of M.values())g=I(g);_(g)},triggerNodeChanges:b=>{let{onNodesChange:m,setNodes:v,nodes:g,hasDefaultNodes:w,debug:_}=p();if(b?.length){if(w){let E=pa(b,g);v(E)}_&&console.log("React Flow: trigger node changes",b),m?.(b)}},triggerEdgeChanges:b=>{let{onEdgesChange:m,setEdges:v,edges:g,hasDefaultEdges:w,debug:_}=p();if(b?.length){if(w){let E=Rf(b,g);v(E)}_&&console.log("React Flow: trigger edge changes",b),m?.(b)}},addSelectedNodes:b=>{let{multiSelectionActive:m,edgeLookup:v,nodeLookup:g,triggerNodeChanges:w,triggerEdgeChanges:_}=p();if(m){let E=b.map(C=>it(C,!0));w(E);return}w(kt(g,new Set([...b]),!0)),_(kt(v))},addSelectedEdges:b=>{let{multiSelectionActive:m,edgeLookup:v,nodeLookup:g,triggerNodeChanges:w,triggerEdgeChanges:_}=p();if(m){let E=b.map(C=>it(C,!0));_(E);return}_(kt(v,new Set([...b]))),w(kt(g,new Set,!0))},unselectNodesAndEdges:({nodes:b,edges:m}={})=>{let{edges:v,nodes:g,nodeLookup:w,triggerNodeChanges:_,triggerEdgeChanges:E}=p(),C=b||g,M=m||v,I=[];for(let P of C){if(!P.selected)continue;let L=w.get(P.id);L&&(L.selected=!1),I.push(it(P.id,!1))}let V=[];for(let P of M)P.selected&&V.push(it(P.id,!1));_(I),E(V)},setMinZoom:b=>{let{panZoom:m,maxZoom:v}=p();m?.setScaleExtent([b,v]),h({minZoom:b})},setMaxZoom:b=>{let{panZoom:m,minZoom:v}=p();m?.setScaleExtent([v,b]),h({maxZoom:b})},setTranslateExtent:b=>{p().panZoom?.setTranslateExtent(b),h({translateExtent:b})},resetSelectedElements:()=>{let{edges:b,nodes:m,triggerNodeChanges:v,triggerEdgeChanges:g,elementsSelectable:w}=p();if(!w)return;let _=m.reduce((C,M)=>M.selected?[...C,it(M.id,!1)]:C,[]),E=b.reduce((C,M)=>M.selected?[...C,it(M.id,!1)]:C,[]);v(_),g(E)},setNodeExtent:b=>{let{nodes:m,nodeLookup:v,parentLookup:g,nodeOrigin:w,elevateNodesOnSelect:_,nodeExtent:E,zIndexMode:C}=p();b[0][0]===E[0][0]&&b[0][1]===E[0][1]&&b[1][0]===E[1][0]&&b[1][1]===E[1][1]||(En(m,v,g,{nodeOrigin:w,nodeExtent:b,elevateNodesOnSelect:_,checkEquality:!1,zIndexMode:C}),h({nodeExtent:b}))},panBy:b=>{let{transform:m,width:v,height:g,panZoom:w,translateExtent:_}=p();return ys({delta:b,panZoom:w,transform:m,translateExtent:_,width:v,height:g})},setCenter:async(b,m,v)=>{let{width:g,height:w,maxZoom:_,panZoom:E}=p();if(!E)return!1;let C=typeof v?.zoom<"u"?v.zoom:_;return await E.setViewport({x:g/2-b*C,y:w/2-m*C,zoom:C},{duration:v?.duration,ease:v?.ease,interpolate:v?.interpolate}),!0},cancelConnection:()=>{h({connection:{...ao}})},updateConnection:b=>{h({connection:b})},reset:()=>h({...aa()})}},Object.is);function Ao({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:h}){let[p]=(0,D.useState)(()=>tp({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,z.jsx)(bf,{value:p,children:(0,z.jsx)(Ff,{children:(0,z.jsx)(oh,{children:h})})})}function np({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:h}){return(0,D.useContext)(Pn)?(0,z.jsx)(z.Fragment,{children:e}):(0,z.jsx)(Ao,{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:h,children:e})}var op={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function rp({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:h,onConnectStart:p,onConnectEnd:x,onClickConnectStart:b,onClickConnectEnd:m,onNodeMouseEnter:v,onNodeMouseMove:g,onNodeMouseLeave:w,onNodeContextMenu:_,onNodeDoubleClick:E,onNodeDragStart:C,onNodeDrag:M,onNodeDragStop:I,onNodesDelete:V,onEdgesDelete:P,onDelete:L,onSelectionChange:S,onSelectionDragStart:y,onSelectionDrag:k,onSelectionDragStop:N,onSelectionContextMenu:O,onSelectionStart:A,onSelectionEnd:T,onBeforeDelete:B,connectionMode:H,connectionLineType:F=_e.Bezier,connectionLineStyle:q,connectionLineComponent:Y,connectionLineContainerStyle:K,deleteKeyCode:ee="Backspace",selectionKeyCode:W="Shift",selectionOnDrag:$=!1,selectionMode:X=et.Full,panActivationKeyCode:Q="Space",multiSelectionKeyCode:U=vt()?"Meta":"Control",zoomActivationKeyCode:Z=vt()?"Meta":"Control",snapToGrid:G,snapGrid:te,onlyRenderVisibleElements:ne=!1,selectNodesOnDrag:re,nodesDraggable:ue,autoPanOnNodeFocus:Se,nodesConnectable:ve,nodesFocusable:ke,nodeOrigin:Ce=fa,edgesFocusable:St,edgesReconnectable:We,elementsSelectable:qe=!0,defaultViewport:we=Of,minZoom:Me=.5,maxZoom:Ie=2,translateExtent:Ke=mt,preventScrolling:Fn=!0,nodeExtent:Yn,defaultMarkerColor:Hl="#b1b1b7",zoomOnScroll:Bl=!0,zoomOnPinch:Fl=!0,panOnScroll:Yl=!1,panOnScrollSpeed:jl=.5,panOnScrollMode:Xl=Ae.Free,zoomOnDoubleClick:Zl=!0,panOnDrag:Wl=!0,onPaneClick:ql,onPaneMouseEnter:Kl,onPaneMouseMove:Gl,onPaneMouseLeave:Ul,onPaneScroll:Ql,onPaneContextMenu:Jl,paneClickDistance:ec=1,nodeClickDistance:tc=0,children:nc,onReconnect:oc,onReconnectStart:rc,onReconnectEnd:ic,onEdgeContextMenu:sc,onEdgeDoubleClick:ac,onEdgeMouseEnter:lc,onEdgeMouseMove:cc,onEdgeMouseLeave:dc,reconnectRadius:uc=10,onNodesChange:fc,onEdgesChange:hc,noDragClassName:pc="nodrag",noWheelClassName:gc="nowheel",noPanClassName:Ko="nopan",fitView:Go,fitViewOptions:Uo,connectOnClick:mc,attributionPosition:bc,proOptions:yc,defaultEdgeOptions:wc,elevateNodesOnSelect:xc=!0,elevateEdgesOnSelect:vc=!1,disableKeyboardA11y:Qo=!1,autoPanOnConnect:kc,autoPanOnNodeDrag:_c,autoPanOnSelection:Ec=!0,autoPanSpeed:Nc,connectionRadius:Sc,isValidConnection:Cc,onError:Mc,style:Ic,id:Jo,nodeDragThreshold:Oc,connectionDragThreshold:Pc,viewport:zc,onViewportChange:Dc,width:Ac,height:Tc,colorMode:Lc="light",debug:Rc,onScroll:er,ariaLabelConfig:$c,zIndexMode:tr="basic",...Vc},Hc){let jn=Jo||"1",Bc=Af(Lc),Fc=(0,D.useCallback)(nr=>{nr.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),er?.(nr)},[er]);return(0,z.jsx)("div",{"data-testid":"rf__wrapper",...Vc,onScroll:Fc,style:{...Ic,...op},ref:Hc,className:ae(["react-flow",r,Bc]),id:Jo,role:"application",children:(0,z.jsxs)(np,{nodes:e,edges:t,width:Ac,height:Tc,fitView:Go,fitViewOptions:Uo,minZoom:Me,maxZoom:Ie,nodeOrigin:Ce,nodeExtent:Yn,zIndexMode:tr,children:[(0,z.jsx)(Df,{nodes:e,edges:t,defaultNodes:n,defaultEdges:o,onConnect:h,onConnectStart:p,onConnectEnd:x,onClickConnectStart:b,onClickConnectEnd:m,nodesDraggable:ue,autoPanOnNodeFocus:Se,nodesConnectable:ve,nodesFocusable:ke,edgesFocusable:St,edgesReconnectable:We,elementsSelectable:qe,elevateNodesOnSelect:xc,elevateEdgesOnSelect:vc,minZoom:Me,maxZoom:Ie,nodeExtent:Yn,onNodesChange:fc,onEdgesChange:hc,snapToGrid:G,snapGrid:te,connectionMode:H,translateExtent:Ke,connectOnClick:mc,defaultEdgeOptions:wc,fitView:Go,fitViewOptions:Uo,onNodesDelete:V,onEdgesDelete:P,onDelete:L,onNodeDragStart:C,onNodeDrag:M,onNodeDragStop:I,onSelectionDrag:k,onSelectionDragStart:y,onSelectionDragStop:N,onMove:d,onMoveStart:f,onMoveEnd:u,noPanClassName:Ko,nodeOrigin:Ce,rfId:jn,autoPanOnConnect:kc,autoPanOnNodeDrag:_c,autoPanSpeed:Nc,onError:Mc,connectionRadius:Sc,isValidConnection:Cc,selectNodesOnDrag:re,nodeDragThreshold:Oc,connectionDragThreshold:Pc,onBeforeDelete:B,debug:Rc,ariaLabelConfig:$c,zIndexMode:tr}),(0,z.jsx)(Jh,{onInit:l,onNodeClick:a,onEdgeClick:c,onNodeMouseEnter:v,onNodeMouseMove:g,onNodeMouseLeave:w,onNodeContextMenu:_,onNodeDoubleClick:E,nodeTypes:i,edgeTypes:s,connectionLineType:F,connectionLineStyle:q,connectionLineComponent:Y,connectionLineContainerStyle:K,selectionKeyCode:W,selectionOnDrag:$,selectionMode:X,deleteKeyCode:ee,multiSelectionKeyCode:U,panActivationKeyCode:Q,zoomActivationKeyCode:Z,onlyRenderVisibleElements:ne,defaultViewport:we,translateExtent:Ke,minZoom:Me,maxZoom:Ie,preventScrolling:Fn,zoomOnScroll:Bl,zoomOnPinch:Fl,zoomOnDoubleClick:Zl,panOnScroll:Yl,panOnScrollSpeed:jl,panOnScrollMode:Xl,panOnDrag:Wl,autoPanOnSelection:Ec,onPaneClick:ql,onPaneMouseEnter:Kl,onPaneMouseMove:Gl,onPaneMouseLeave:Ul,onPaneScroll:Ql,onPaneContextMenu:Jl,paneClickDistance:ec,nodeClickDistance:tc,onSelectionContextMenu:O,onSelectionStart:A,onSelectionEnd:T,onReconnect:oc,onReconnectStart:rc,onReconnectEnd:ic,onEdgeContextMenu:sc,onEdgeDoubleClick:ac,onEdgeMouseEnter:lc,onEdgeMouseMove:cc,onEdgeMouseLeave:dc,reconnectRadius:uc,defaultMarkerColor:Hl,noDragClassName:pc,noWheelClassName:gc,noPanClassName:Ko,rfId:jn,disableKeyboardA11y:Qo,nodeExtent:Yn,viewport:zc,onViewportChange:Dc,nodesDraggable:ue}),(0,z.jsx)(If,{onSelectionChange:S}),nc,(0,z.jsx)(Ef,{proOptions:yc,position:bc}),(0,z.jsx)(_f,{rfId:jn,disableKeyboardA11y:Qo})]})})}var Ba=ga(rp);var ip=e=>e.nodes;function Fa(){return J(ip,ie)}function Ya(e){let[t,n]=(0,D.useState)(e),o=(0,D.useCallback)(r=>n(i=>pa(r,i)),[]);return[t,n,o]}var sp=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||!yn(n.userNode))return!1;return!0};function ja(e={includeHiddenNodes:!1}){return J(sp(e))}var _v=ge.error014();function ap({dimensions:e,lineWidth:t,variant:n,className:o}){return(0,z.jsx)("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:ae(["react-flow__background-pattern",n,o])})}function lp({radius:e,className:t}){return(0,z.jsx)("circle",{cx:e,cy:e,r:e,className:ae(["react-flow__background-pattern","dots",t])})}var Ze;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Ze||(Ze={}));var cp={[Ze.Dots]:1,[Ze.Lines]:1,[Ze.Cross]:6},dp=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Xa({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,D.useRef)(null),{transform:u,patternId:h}=J(dp,ie),p=o||cp[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=p*u[2],w=Array.isArray(i)?i:[i,i],_=b?[g,g]:v,E=[w[0]*u[2]+_[0]/2,w[1]*u[2]+_[1]/2],C=`${h}${e||""}`;return(0,z.jsxs)("svg",{className:ae(["react-flow__background",l]),style:{...c,...Dn,"--xy-background-color-props":a,"--xy-background-pattern-color-props":s},ref:f,"data-testid":"rf__background",children:[(0,z.jsx)("pattern",{id:C,x:u[0]%v[0],y:u[1]%v[1],width:v[0],height:v[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${E[0]},-${E[1]})`,children:x?(0,z.jsx)(lp,{radius:g/2,className:d}):(0,z.jsx)(ap,{dimensions:_,lineWidth:r,variant:t,className:d})}),(0,z.jsx)("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${C})`})]})}Xa.displayName="Background";var Ev=(0,D.memo)(Xa);function up(){return(0,z.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:(0,z.jsx)("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function fp(){return(0,z.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:(0,z.jsx)("path",{d:"M0 0h32v4.2H0z"})})}function hp(){return(0,z.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:(0,z.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 pp(){return(0,z.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,z.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 gp(){return(0,z.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,z.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 In({children:e,className:t,...n}){return(0,z.jsx)("button",{type:"button",className:ae(["react-flow__controls-button",t]),...n,children:e})}var mp=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function Za({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":h}){let p=se(),{isInteractive:x,minZoomReached:b,maxZoomReached:m,ariaLabelConfig:v}=J(mp,ie),{zoomIn:g,zoomOut:w,fitView:_}=at(),E=()=>{g(),i?.()},C=()=>{w(),s?.()},M=()=>{_(r),a?.()},I=()=>{p.setState({nodesDraggable:!x,nodesConnectable:!x,elementsSelectable:!x}),c?.(!x)};return(0,z.jsxs)(zn,{className:ae(["react-flow__controls",u==="horizontal"?"horizontal":"vertical",l]),position:f,style:e,"data-testid":"rf__controls","aria-label":h??v["controls.ariaLabel"],children:[t&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(In,{onClick:E,className:"react-flow__controls-zoomin",title:v["controls.zoomIn.ariaLabel"],"aria-label":v["controls.zoomIn.ariaLabel"],disabled:m,children:(0,z.jsx)(up,{})}),(0,z.jsx)(In,{onClick:C,className:"react-flow__controls-zoomout",title:v["controls.zoomOut.ariaLabel"],"aria-label":v["controls.zoomOut.ariaLabel"],disabled:b,children:(0,z.jsx)(fp,{})})]}),n&&(0,z.jsx)(In,{className:"react-flow__controls-fitview",onClick:M,title:v["controls.fitView.ariaLabel"],"aria-label":v["controls.fitView.ariaLabel"],children:(0,z.jsx)(hp,{})}),o&&(0,z.jsx)(In,{className:"react-flow__controls-interactive",onClick:I,title:v["controls.interactive.ariaLabel"],"aria-label":v["controls.interactive.ariaLabel"],children:x?(0,z.jsx)(gp,{}):(0,z.jsx)(pp,{})}),d]})}Za.displayName="Controls";var Nv=(0,D.memo)(Za);function bp({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:h}){let{background:p,backgroundColor:x}=i||{},b=s||p||x;return(0,z.jsx)("rect",{className:ae(["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:h?m=>h(m,e):void 0})}var yp=(0,D.memo)(bp),wp=e=>e.nodes.map(t=>t.id),Oo=e=>e instanceof Function?e:()=>e;function xp({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:o=5,nodeStrokeWidth:r,nodeComponent:i=yp,onClick:s}){let a=J(wp,ie),c=Oo(t),l=Oo(e),d=Oo(n),f=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return(0,z.jsx)(z.Fragment,{children:a.map(u=>(0,z.jsx)(kp,{id:u,nodeColorFunc:c,nodeStrokeColorFunc:l,nodeClassNameFunc:d,nodeBorderRadius:o,nodeStrokeWidth:r,NodeComponent:i,onClick:s,shapeRendering:f},u))})}function vp({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:h}=J(p=>{let x=p.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}=ye(b);return{node:b,x:m,y:v,width:g,height:w}},ie);return!l||l.hidden||!yn(l)?null:(0,z.jsx)(a,{x:d,y:f,width:u,height:h,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 kp=(0,D.memo)(vp),_p=(0,D.memo)(xp),Ep=200,Np=150,Sp=e=>!e.hidden,Cp=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?ho(bt(e.nodeLookup,{filter:Sp}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},la=(e,t)=>e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height,Mp=(e,t)=>la(e.viewBB,t.viewBB)&&la(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,Ip="react-flow__minimap-desc";function Wa({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:h,onNodeClick:p,pannable:x=!1,zoomable:b=!1,ariaLabel:m,inversePan:v,zoomStep:g=1,offsetScale:w=5}){let _=se(),E=(0,D.useRef)(null),{boundingRect:C,panZoom:M,viewBB:I,rfId:V,translateExtent:P,flowWidth:L,flowHeight:S,ariaLabelConfig:y}=J(Cp,Mp),k=e?.width??Ep,N=e?.height??Np,O=C.width/k,A=C.height/N,T=Math.max(O,A),B=T*k,H=T*N,F=w*T,q=C.x-(B-C.width)/2-F,Y=C.y-(H-C.height)/2-F,K=B+F*2,ee=H+F*2,W=`${Ip}-${V}`,$=(0,D.useRef)(0),X=(0,D.useRef)();$.current=T,(0,D.useEffect)(()=>{let te=_.getState().panZoom;if(E.current&&te)return X.current=Ns({domNode:E.current,panZoom:te,getTransform:()=>_.getState().transform,getViewScale:()=>$.current}),()=>{X.current?.destroy()}},[M]),(0,D.useEffect)(()=>{X.current?.update({translateExtent:P,width:L,height:S,inversePan:v,pannable:x,zoomStep:g,zoomable:b})},[x,b,v,g,P,L,S]);let Q=h?te=>{let[ne,re]=X.current?.pointer(te)||[0,0];h(te,{x:ne,y:re})}:void 0,U=(0,D.useCallback)((te,ne)=>{let re=_.getState().nodeLookup.get(ne).internals.userNode;p?.(te,re)},[p]),Z=p?U:void 0,G=m??y["minimap.ariaLabel"];return(0,z.jsx)(zn,{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:ae(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:(0,z.jsxs)("svg",{width:k,height:N,viewBox:`${q} ${Y} ${K} ${ee}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":W,ref:E,onClick:Q,children:[G&&(0,z.jsx)("title",{id:W,children:G}),(0,z.jsx)(_p,{onClick:Z,nodeColor:o,nodeStrokeColor:n,nodeBorderRadius:i,nodeClassName:r,nodeStrokeWidth:s,nodeComponent:a}),(0,z.jsx)("path",{className:"react-flow__minimap-mask",d:`M${q-F},${Y-F}h${K+F*2}v${ee+F*2}h${-K-F*2}z
7
+ M${I.x},${I.y}h${I.width}v${I.height}h${-I.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}Wa.displayName="MiniMap";var Sv=(0,D.memo)(Wa),Op=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,Pp={[Xe.Line]:"right",[Xe.Handle]:"bottom-right"};function zp({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:h=!0,shouldResize:p,onResizeStart:x,onResize:b,onResizeEnd:m}){let v=xa(),g=typeof e=="string"?e:v,w=se(),_=(0,D.useRef)(null),E=n===Xe.Handle,C=J((0,D.useCallback)(Op(E&&h),[E,h]),ie),M=(0,D.useRef)(null),I=t??Pp[n];(0,D.useEffect)(()=>{if(!(!_.current||!g))return M.current||(M.current=Os({domNode:_.current,nodeId:g,getStoreItems:()=>{let{nodeLookup:P,transform:L,snapGrid:S,snapToGrid:y,nodeOrigin:k,domNode:N}=w.getState();return{nodeLookup:P,transform:L,snapGrid:S,snapToGrid:y,nodeOrigin:k,paneDomNode:N}},onChange:(P,L)=>{let{triggerNodeChanges:S,nodeLookup:y,parentLookup:k,nodeOrigin:N}=w.getState(),O=[],A={x:P.x,y:P.y},T=y.get(g);if(T&&T.expandParent&&T.parentId){let B=T.origin??N,H=P.width??T.measured.width??0,F=P.height??T.measured.height??0,q={id:T.id,parentId:T.parentId,rect:{width:H,height:F,...mo({x:P.x??T.position.x,y:P.y??T.position.y},{width:H,height:F},T.parentId,y,B)}},Y=Nn([q],y,k,N);O.push(...Y),A.x=P.x?Math.max(B[0]*H,P.x):void 0,A.y=P.y?Math.max(B[1]*F,P.y):void 0}if(A.x!==void 0&&A.y!==void 0){let B={id:g,type:"position",position:{...A}};O.push(B)}if(P.width!==void 0&&P.height!==void 0){let H={id:g,type:"dimensions",resizing:!0,setAttributes:u?u==="horizontal"?"width":"height":!0,dimensions:{width:P.width,height:P.height}};O.push(H)}for(let B of L){let H={...B,type:"position"};O.push(H)}S(O)},onEnd:({width:P,height:L})=>{let S={id:g,type:"dimensions",resizing:!1,dimensions:{width:P,height:L}};w.getState().triggerNodeChanges([S])}})),M.current.update({controlPosition:I,boundaries:{minWidth:a,minHeight:c,maxWidth:l,maxHeight:d},keepAspectRatio:f,resizeDirection:u,onResizeStart:x,onResize:b,onResizeEnd:m,shouldResize:p}),()=>{M.current?.destroy()}},[I,a,c,l,d,f,x,b,m,p]);let V=I.split("-");return(0,z.jsx)("div",{className:ae(["react-flow__resize-control","nodrag",...V,n,o]),ref:_,style:{...r,scale:C,...s&&{[E?"backgroundColor":"borderColor"]:s}},children:i})}var Cv=(0,D.memo)(zp);var hl=Object.defineProperty,Dp=(e,t,n)=>t in e?hl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ap=(e,t)=>{for(var n in t)hl(e,n,{get:t[n],enumerable:!0})},Tp=(e,t,n)=>Dp(e,typeof t!="symbol"?t+"":t,n),Fo={};Ap(Fo,{Graph:()=>Ne,alg:()=>jo});var Lp=Object.defineProperty,pl=(e,t)=>{for(var n in t)Lp(e,n,{get:t[n],enumerable:!0})},Yo=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=Yt(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=Rp(this._isDirected,r,i,s);return r=d.v,i=d.w,Object.freeze(d),this._edgeObjs[l]=d,qa(this._preds[i],r),qa(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?To(this._isDirected,e):Yt(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?To(this._isDirected,e):Yt(this._isDirected,e,t,n))in this._edgeLabels}removeEdge(e,t,n){let o=arguments.length===1?To(this._isDirected,e):Yt(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],Ka(this._preds[s],i),Ka(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 qa(e,t){e[t]?e[t]++:e[t]=1}function Ka(e,t){e[t]!==void 0&&!--e[t]&&delete e[t]}function Yt(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 Rp(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 To(e,t){return Yt(e,t.v,t.w,t.name)}var $p={};pl($p,{read:()=>Fp,write:()=>Vp});function Vp(e){let t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:Hp(e),edges:Bp(e)},n=e.graph();return n!==void 0&&(t.value=structuredClone(n)),t}function Hp(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 Bp(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 Fp(e){let t=new Yo(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 jo={};pl(jo,{CycleException:()=>Tn,bellmanFord:()=>gl,components:()=>Xp,dijkstra:()=>An,dijkstraAll:()=>qp,findCycles:()=>Kp,floydWarshall:()=>Up,isAcyclic:()=>Jp,postorder:()=>tg,preorder:()=>ng,prim:()=>og,shortestPaths:()=>rg,tarjan:()=>bl,topsort:()=>yl});var Yp=()=>1;function gl(e,t,n,o){return jp(e,String(t),n||Yp,o||function(r){var i;return(i=e.outEdges(r))!=null?i:[]})}function jp(e,t,n,o){let r={},i,s=0,a=e.nodes(),c=function(f){let u=r[f.v],h=r[f.w];if(!u||!h)return;let p=n(f);u.distance+p<h.distance&&(r[f.w]={distance:u.distance+p,predecessor:f.v},i=!0)},l=function(){a.forEach(function(f){o(f).forEach(function(u){let h=u.v===f?u.v:u.w,p=h===u.v?u.w:u.v;c({v:h,w:p})})})};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 Xp(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 ml=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}},Zp=()=>1;function An(e,t,n,o){let r=function(i){var s;return(s=e.outEdges(i))!=null?s:[]};return Wp(e,String(t),n||Zp,o||r)}function Wp(e,t,n,o){let r={},i=new ml,s,a,c=function(l){let d=l.v!==s?l.v:l.w,f=r[d];if(!f)return;let u=n(l),h=a.distance+u;if(u<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+l+" Weight: "+u);h<f.distance&&(f.distance=h,f.predecessor=s,i.decrease(d,h))};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 qp(e,t,n){return e.nodes().reduce(function(o,r){return o[r]=An(e,r,t,n),o},{})}function bl(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 Kp(e){return bl(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 Gp=()=>1;function Up(e,t,n){return Qp(e,t||Gp,n||function(o){var r;return(r=e.outEdges(o))!=null?r:[]})}function Qp(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 h=d.distance+f.distance;h<u.distance&&(u.distance=h,u.predecessor=f.predecessor)}})})}),o}var Tn=class extends Error{constructor(e){super(e),this.name="CycleException"}};function yl(e){let t={},n={},o=[];function r(i){var s;if(i in n)throw new Tn;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 Tn;return o}function Jp(e){try{yl(e)}catch(t){if(t instanceof Tn)return!1;throw t}return!0}function eg(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=wl(e,a,n==="post",s,i,o,r)}),r}function wl(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=wl(e,a,n,o,r,i,s)}),n&&(s=i(s,t))),s}function xl(e,t,n){return eg(e,t,n,function(o,r){return o.push(r),o},[])}function tg(e,t){return xl(e,t,"post")}function ng(e,t){return xl(e,t,"pre")}function og(e,t){var n;let o=new Yo,r={},i=new ml,s;function a(d){let f=d.v===s?d.w:d.v,u=i.priority(f);if(u!==void 0){let h=t(d);h<u&&(r[f]=s,i.decrease(f,h))}}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 rg(e,t,n,o){return ig(e,t,n,o??(r=>{var i;return(i=e.outEdges(r))!=null?i:[]}))}function ig(e,t,n,o){if(n===void 0)return An(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 gl(e,t,n,o)}return An(e,t,n,o)}var Ne=Yo;function Nt(e,t,n,o){let r=o;for(;e.hasNode(r);)r=Xo(o);return n.dummy=t,e.setNode(r,n),r}function sg(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 vl(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 Ga(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 Rn(e){let t=jt(_l(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 ag(e){let t=e.nodes().map(o=>{let r=e.node(o).rank;return r===void 0?Number.MAX_VALUE:r}),n=Ee(Math.min,t);e.nodes().forEach(o=>{let r=e.node(o);Object.hasOwn(r,"rank")&&(r.rank-=n)})}function lg(e){let t=e.nodes().map(s=>e.node(s).rank).filter(s=>s!==void 0),n=Ee(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 Ua(e,t,n,o){let r={width:0,height:0};return arguments.length>=4&&(r.rank=n,r.order=o),Nt(e,"border",r,t)}function cg(e,t=kl){let n=[];for(let o=0;o<e.length;o+=t){let r=e.slice(o,o+t);n.push(r)}return n}var kl=65535;function Ee(e,t){if(t.length>kl){let n=cg(t);return e(...n.map(o=>e(...o)))}else return e(...t)}function _l(e){let t=e.nodes().map(n=>{let o=e.node(n).rank;return o===void 0?Number.MIN_VALUE:o});return Ee(Math.max,t)}function dg(e,t){let n={lhs:[],rhs:[]};return e.forEach(o=>{t(o)?n.lhs.push(o):n.rhs.push(o)}),n}function ug(e,t){return t()}var fg=0;function Xo(e){let t=++fg;return e+(""+t)}function jt(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 Ln(e,t){let n={};for(let o of t)e[o]!==void 0&&(n[o]=e[o]);return n}function $n(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 hg(e,t){return e.reduce((n,o,r)=>(n[o]=t[r],n),{})}var Vn="\0";function El(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 h=(a=f[1].order)!=null?a:NaN,p=(c=u[1].order)!=null?c:NaN;return isNaN(h-p)?0:h-p}var pg=class{constructor(){Tp(this,"_sentinel");let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return Qa(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&Qa(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,gg)),n=n._prev;return"["+e.join(", ")+"]"}};function Qa(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function gg(e,t){if(e!=="_next"&&e!=="_prev")return t}var mg=pg,bg=()=>1;function yg(e,t){if(e.nodeCount()<=1)return[];let n=xg(e,t||bg);return wg(n.graph,n.buckets,n.zeroIdx).flatMap(o=>e.outEdges(o.v,o.w)||[])}function wg(e,t,n){var o;let r=[],i=t[t.length-1],s=t[0],a;for(;e.nodeCount();){for(;a=s.dequeue();)Lo(e,t,n,a);for(;a=i.dequeue();)Lo(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(Lo(e,t,n,a,!0)||[]);break}}}return r}function Lo(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,Bo(t,n,l)}),(e.outEdges(o.v)||[]).forEach(a=>{let c=e.edge(a),l=a.w,d=e.node(l);d.in-=c,Bo(t,n,d)}),e.removeNode(o.v),s}function xg(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=vg(r+o+3).map(()=>new mg),s=o+1;return n.nodes().forEach(a=>{Bo(i,s,n.node(a))}),{graph:n,buckets:i,zeroIdx:s}}function Bo(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 vg(e){let t=[];for(let n=0;n<e;n++)t.push(n);return t}function kg(e,t){(e.graph().acyclicer==="greedy"?yg(e,n(e)):_g(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,Xo("rev"))});function n(o){return r=>o.edge(r).weight}}function _g(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)&&Ng(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 Eg(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 Ng(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 Sg(e){e.graph().dummyChains=[],e.edges().forEach(t=>Cg(e,t))}function Cg(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=Nt(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 Mg(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 Zo(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=Ee(Math.min,s);return a===Number.POSITIVE_INFINITY&&(a=0),r.rank=a}e.sources().forEach(n)}function Et(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var Nl=Ig;function Ig(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(;Og(t,e)<r&&(i=Pg(t,e),!!i);)s=t.hasNode(i.v)?Et(e,i):-Et(e,i),zg(t,e,s);return t}function Og(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)&&!Et(t,i)&&(e.setNode(a,{}),e.setEdge(o,a,{}),n(a))})}return e.nodes().forEach(n),e.nodeCount()}function Pg(e,t){return t.edges().reduce((n,o)=>{let r=Number.POSITIVE_INFINITY;return e.hasNode(o.v)!==e.hasNode(o.w)&&(r=Et(t,o)),r<n[0]?[r,o]:n},[Number.POSITIVE_INFINITY,null])[1]}function zg(e,t,n){e.nodes().forEach(o=>t.node(o).rank+=n)}var{preorder:Dg,postorder:Ag}=jo,Tg=lt;lt.initLowLimValues=qo;lt.initCutValues=Wo;lt.calcCutValue=Sl;lt.leaveEdge=Ml;lt.enterEdge=Il;lt.exchangeEdges=Ol;function lt(e){e=sg(e),Zo(e);let t=Nl(e);qo(t),Wo(t,e);let n,o;for(;n=Ml(t);)o=Il(t,e,n),Ol(t,e,n,o)}function Wo(e,t){let n=Ag(e,e.nodes());n=n.slice(0,n.length-1),n.forEach(o=>Lg(e,t,o))}function Lg(e,t,n){let o=e.node(n).parent,r=e.edge(n,o);r.cutvalue=Sl(e,t,n)}function Sl(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,$g(e,n,d)){let h=e.edge(n,d).cutvalue;s+=f?-h:h}}}),s}function qo(e,t){arguments.length<2&&(t=e.nodes()[0]),Cl(e,{},1,t)}function Cl(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=Cl(e,t,n,c,o))}),s.low=i,s.lim=n++,r?s.parent=r:delete s.parent,n}function Ml(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function Il(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===Ja(e,e.node(l.v),a)&&c!==Ja(e,e.node(l.w),a)).reduce((l,d)=>Et(t,d)<Et(t,l)?d:l)}function Ol(e,t,n,o){let r=n.v,i=n.w;e.removeEdge(r,i),e.setEdge(o.v,o.w,{}),qo(e),Wo(e,t),Rg(e,t)}function Rg(e,t){let n=e.nodes().find(r=>!e.node(r).parent);if(!n)return;let o=Dg(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 $g(e,t,n){return e.hasEdge(t,n)}function Ja(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}var Vg=Hg;function Hg(e){let t=e.graph().ranker;if(typeof t=="function")return t(e);switch(t){case"network-simplex":el(e);break;case"tight-tree":Fg(e);break;case"longest-path":Bg(e);break;case"none":break;default:el(e)}}var Bg=Zo;function Fg(e){Zo(e),Nl(e)}function el(e){Tg(e)}var Yg=jg;function jg(e){let t=Zg(e),n=e.graph();Array.isArray(n.dummyChains)&&n.dummyChains.forEach(o=>{let r=e.node(o),i=r.edgeObj,s=Xg(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 Xg(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 Zg(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(Vn).forEach(o),t}function Wg(e){let t=Nt(e,"root",{},"_root"),n=qg(e),o=Object.values(n),r=Ee(Math.max,o)-1,i=2*r+1;e.graph().nestingRoot=t,e.edges().forEach(a=>e.edge(a).minlen*=i);let s=Kg(e)+1;e.children(Vn).forEach(a=>{Pl(e,t,i,s,r,n,a)}),e.graph().nodeRankFactor=i}function Pl(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=Ua(e,"_bt"),d=Ua(e,"_bb"),f=e.node(s);e.setParent(l,s),f.borderTop=l,e.setParent(d,s),f.borderBottom=d,c.forEach(u=>{var h;Pl(e,t,n,o,r,i,u);let p=e.node(u),x=p.borderTop?p.borderTop:u,b=p.borderBottom?p.borderBottom:u,m=p.borderTop?o:2*o,v=x!==b?1:r-((h=i[s])!=null?h: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 qg(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(Vn).forEach(o=>n(o,1)),t}function Kg(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}function Gg(e){let t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(n=>{e.edge(n).nestingEdge&&e.removeEdge(n)})}var Ug=Qg;function Qg(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)tl(e,"borderLeft","_bl",n,r,i),tl(e,"borderRight","_br",n,r,i)}}e.children(Vn).forEach(t)}function tl(e,t,n,o,r,i){let s={width:0,height:0,rank:i,borderType:t},a=r[t][i-1],c=Nt(e,"border",s,n);r[t][i]=c,e.setParent(c,o),a&&e.setEdge(a,c,{weight:1})}function Jg(e){var t;let n=(t=e.graph().rankdir)==null?void 0:t.toLowerCase();(n==="lr"||n==="rl")&&zl(e)}function em(e){var t;let n=(t=e.graph().rankdir)==null?void 0:t.toLowerCase();(n==="bt"||n==="rl")&&tm(e),(n==="lr"||n==="rl")&&(nm(e),zl(e))}function zl(e){e.nodes().forEach(t=>nl(e.node(t))),e.edges().forEach(t=>nl(e.edge(t)))}function nl(e){let t=e.width;e.width=e.height,e.height=t}function tm(e){e.nodes().forEach(t=>Ro(e.node(t))),e.edges().forEach(t=>{var n;let o=e.edge(t);(n=o.points)==null||n.forEach(Ro),Object.hasOwn(o,"y")&&Ro(o)})}function Ro(e){e.y=-e.y}function nm(e){e.nodes().forEach(t=>$o(e.node(t))),e.edges().forEach(t=>{var n;let o=e.edge(t);(n=o.points)==null||n.forEach($o),Object.hasOwn(o,"x")&&$o(o)})}function $o(e){let t=e.x;e.x=e.y,e.y=t}function om(e,t=null){let n={},o=e.nodes().filter(l=>!e.children(l).length),r=o.map(l=>e.node(l).rank),i=Ee(Math.max,r),s=jt(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,h)=>c(u,h)).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 El(t,f,u)}return s}function rm(e,t){let n=0;for(let o=1;o<t.length;++o)n+=im(e,t[o-1],t[o]);return n}function im(e,t,n){let o=hg(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 sm(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 am(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 lm(o)}function lm(e){let t=[];function n(r){return i=>{i.merged||(i.barycenter===void 0||r.barycenter===void 0||i.barycenter>=r.barycenter)&&cm(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=>Ln(r,["vs","i","barycenter","weight"]))}function cm(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 dm(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=dg(e,m=>Object.hasOwn(m,"barycenter")),d=l.lhs,f=l.rhs.sort((m,v)=>v.i-m.i),u=[],h=0,p=0,x=0;d.sort(um(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=ol(u,f,x),d.forEach(m=>{x+=m.vs.length,u.push(m.vs),h+=m.barycenter*m.weight,p+=m.weight,x=ol(u,f,x)});let b={vs:u.flat(1)};return p&&(b.barycenter=h/p,b.weight=p),b}function ol(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 um(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=El(t,i,s);if(a!==0)return a}return n?r.i-o.i:o.i-r.i}}function Dl(e,t,n,o,r){var i,s,a,c,l,d,f,u,h,p,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,_=g?g.borderRight:void 0,E={};w&&(v=v.filter(L=>L!==w&&L!==_));let C=sm(e,v);C.forEach(L=>{if(e.children(L.v).length){let{result:S}=Dl(e,L.v,n,b,m);E[L.v]=S,Object.hasOwn(S,"barycenter")&&hm(L,S)}});let M=am(C,n);fm(M,E);let I={},V=!1;for(let L=0;L<M.length;L++)for(let S=L+1;S<M.length;S++)if(!(!M[L]||!M[S]||!((i=M[L])!=null&&i.barycenter)||!((s=M[S])!=null&&s.barycenter))&&((a=M[L])==null?void 0:a.barycenter)===M[S].barycenter){let y=(l=(c=M[L])==null?void 0:c.vs[0])!=null?l:"",k=(f=(d=M[S])==null?void 0:d.vs[0])!=null?f:"",N=e.node(y),O=e.node(k);if(N.dummy==="edge"&&O.dummy==="edge"&&((u=N.edgeObj)==null?void 0:u.v)===((h=O.edgeObj)==null?void 0:h.v)&&((p=N.edgeObj)==null?void 0:p.w)===((x=O.edgeObj)==null?void 0:x.w))if(N.edgeLabel.reversed){I[k]=M[L],M.splice(L,1),L--;break}else I[y]=M[S],M.splice(S,1),S--;else V=!0}let P=dm(M,I,b,e,m);if(w&&_){P.vs=[w,P.vs,_].flat(1);let L=e.predecessors(w);if(L&&L.length){let S=e.node(L[0]),y=e.predecessors(_),k=e.node(y[0]);Object.hasOwn(P,"barycenter")||(P.barycenter=0,P.weight=0),P.barycenter=(P.barycenter*P.weight+S.order+k.order)/(P.weight+2),P.weight+=2}}return Object.defineProperty(P,"result",{value:P,enumerable:!1,configurable:!0,writable:!0}),Object.defineProperty(P,"usedBias",{value:V,enumerable:!1,configurable:!0,writable:!0}),P}function fm(e,t){e.forEach(n=>{n.vs=n.vs.flatMap(o=>t[o]?t[o].vs:o)})}function hm(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 pm(e,t,n,o){o||(o=e.nodes());let r=gm(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),h=u!==void 0?u.weight:0;i.setEdge(f,s,{weight:e.edge(d).weight+h})}),Object.hasOwn(a,"minRank")&&i.setNode(s,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]})}}),i}function gm(e){let t;for(;e.hasNode(t=Xo("_root")););return t}function mm(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 Al(e,t={},n=null){if(typeof t.customOrder=="function"){t.customOrder(e,Al);return}let o=_l(e),r=rl(e,jt(1,o+1),"inEdges"),i=rl(e,jt(o-1,-1,-1),"outEdges"),s=om(e,n);if(il(e,s),t.disableOptimalOrderHeuristic)return;let a=Number.POSITIVE_INFINITY,c,l=t.constraints||[];for(let d=0,f=0;f<4;++d,++f){bm(d%2?r:i,d%4>=2,l,n),s=Rn(e);let u=rm(e,s);u<a?(f=0,c=Object.assign({},s),a=u):u===a&&(c=structuredClone(s))}il(e,c)}function rl(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 pm(e,i,n,o.get(i)||[])})}function bm(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}=Dl(s,a,i,o,r);t&&l&&(r=!r),c.vs.forEach((d,f)=>s.node(d).order=f),mm(s,i,c.vs)})}function il(e,t){Object.values(t).forEach(n=>n.forEach((o,r)=>e.node(o).order=r))}function ym(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=xm(e,d),h=u?e.node(u).order:c;(u||d===l)&&(i.slice(a,f+1).forEach(p=>{let x=e.predecessors(p);x&&x.forEach(b=>{let m=e.node(b),v=m.order;(v<s||h<v)&&!(m.dummy&&e.node(p).dummy)&&Tl(n,b,p)})}),a=f+1,s=h)}),i}return t.length&&t.reduce(o),n}function wm(e,t){let n={};function o(i,s,a,c,l){jt(s,a).forEach(d=>{let f=i[d];if(f!==void 0&&e.node(f).dummy){let u=e.predecessors(f);u&&u.forEach(h=>{if(h===void 0)return;let p=e.node(h);p.dummy&&(p.order<c||p.order>l)&&Tl(n,h,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 h=u[0];if(h===void 0)return;c=e.node(h).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 xm(e,t){if(e.node(t).dummy){let n=e.predecessors(t);if(n)return n.find(o=>e.node(o).dummy)}}function Tl(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 vm(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 km(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,h=c.findIndex(p=>r?.includes(p)||sl(p,e,r));h>0&&(u=[c[h],...c.slice(0,h),...c.slice(h+1)],f=!0),u.forEach(p=>{var x;let b=o(p);if(b&&b.length){r!=null&&r.includes(p)&&(b=b.filter(g=>sl(g,e,r)));let m=b.sort((g,w)=>{let _=a[g],E=a[w];return(_!==void 0?_:0)-(E!==void 0?E:0)}),v=(m.length-1)/2;for(let g=Math.floor(v),w=Math.ceil(v);g<=w;++g){let _=m[g];if(_===void 0)continue;let E=a[_];if(E!==void 0&&s[p]===p&&l<E&&a[_]!==d&&!vm(n,p,_)){let C=i[_];C!==void 0&&(s[_]=p,s[p]=i[p]=C,l=E,f&&(l=-1,d=(x=a[_])!=null?x:-1,f=!1))}}}})}),{root:i,align:s}}function _m(e,t,n,o,r=!1){let i={},s=Em(e,t,n,r),a=r?"borderLeft":"borderRight";function c(h,p){let x=s.nodes().slice(),b={},m=x.pop();for(;m;){if(b[m])h(m);else{b[m]=!0,x.push(m);for(let v of p(m))x.push(v)}m=x.pop()}}function l(h){let p=s.inEdges(h);p?i[h]=p.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[h]=0}function d(h){let p=s.outEdges(h),x=Number.POSITIVE_INFINITY;p&&(x=p.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(h);x!==Number.POSITIVE_INFINITY&&b.borderType!==a&&(i[h]=Math.max(i[h]!==void 0?i[h]:0,x))}function f(h){return s.predecessors(h)||[]}function u(h){return s.successors(h)||[]}return c(l,f),c(d,u),Object.keys(o).forEach(h=>{var p;let x=n[h];x!==void 0&&(i[h]=(p=i[x])!=null?p:0)}),i}function Em(e,t,n,o){let r=new Ne,i=e.graph(),s=Im(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 Nm(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=Om(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 Sm(e,t){let n=Object.values(t),o=Ee(Math.min,n),r=Ee(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-Ee(Math.min,l);s!=="l"&&(d=r-Ee(Math.max,l)),d&&(e[a]=$n(c,f=>f+d))})})}function Cm(e,t=void 0){let n=e.ul;return n?$n(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 Mm(e,t){let n=Rn(e),o=Object.assign(ym(e,n),wm(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=km(e,i,o,f=>(a==="u"?e.predecessors(f):e.successors(f))||[],t),d=_m(e,i,l.root,l.align,c==="r");c==="r"&&(d=$n(d,f=>-f)),r[a+c]=d})});let s=Nm(e,r);return Sm(r,s),Cm(r,e.graph().align)}function Im(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 Om(e,t){return e.node(t).width}function sl(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 Pm(e,t){e=vl(e),zm(e),Object.entries(Mm(e,t)).forEach(([n,o])=>e.node(n).x=o)}function zm(e){let t=Rn(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 al=new WeakMap;function Ll(e,t={}){return Rl(e,ug,t),e}function ll(e,t,n){let o=t;for(;o!==void 0;){let r=e.parent(o);if(r===n)return o;o=r}}function Rl(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.children(v);_.forEach(y=>{let k={...e.node(y)};w.setNode(y,k);let N=e.parent(y);N&&N!==v&&_.includes(N)&&w.setParent(y,N)});let E=new Set;e.edges().forEach(y=>{let k=ll(e,y.v,v),N=ll(e,y.w,v);if(k&&N&&k!==N){let O=`${k}\0${N}`;E.has(O)||(E.add(O),w.setEdge(k,N,{...e.edge(y)}))}}),Rl(w,t,n);let C=fl(w);cl(C,t,n,null),dl(w,C);let M=1/0,I=1/0,V=-1/0,P=-1/0;w.nodes().forEach(y=>{if(y===v)return;let k=w.node(y);k&&typeof k.x=="number"&&typeof k.y=="number"&&typeof k.width=="number"&&typeof k.height=="number"&&(M=Math.min(M,k.x-k.width/2),V=Math.max(V,k.x+k.width/2),I=Math.min(I,k.y-k.height/2),P=Math.max(P,k.y+k.height/2))}),(!isFinite(M)||!isFinite(I)||!isFinite(V)||!isFinite(P))&&(M=I=0,V=P=0);let L=V-M,S=P-I;i[v]={minX:M,minY:I,maxX:V,maxY:P,width:L,height:S,offsetX:M,offsetY:I},g._dagreClusterSubgraph=w}});let s=[],a=v=>{let g=[],w=(e.children(v)||[]).filter(_=>_!==v);for(;w.length>0;){let _=w.shift();g.push(_),(e.children(_)||[]).filter(E=>E!==_).forEach(E=>w.push(E))}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},h=[];e.edges().forEach(v=>{(f.has(v.v)||f.has(v.w))&&h.push({edge:v,label:e.edge(v)})});let p=new Map;f.forEach(v=>{let g=e.parent(v);p.set(v,typeof g=="string"?g:void 0)}),d.forEach((v,g)=>{let w=e.node(g),_=[];v.forEach(M=>{let I=e.node(M);I&&(_.push({id:M,node:I,parent:p.get(M)}),e.removeNode(M))});let E=h.filter(({edge:M})=>v.includes(M.v)||v.includes(M.w)),C=i[g];w&&(s.push({clusterId:g,subgraph:w._dagreClusterSubgraph,bounds:C,children:v,removedNodes:_,removedEdges:E}),w.width=C.width,w.height=C.height)});let x=new Set;h.forEach(({edge:v,label:g})=>{let w=u(v.v),_=u(v.w);if(w!==_&&e.hasNode(w)&&e.hasNode(_)){let E=`${w}\0${_}`;x.has(E)||(x.add(E),e.setEdge(w,_,{...g,width:0,height:0}))}});let b=fl(e),m=cl(b,t,n,(o=al.get(e))!=null?o:null);al.set(e,m),dl(e,b),x.forEach(v=>{let g=v.indexOf("\0"),w=v.slice(0,g),_=v.slice(g+1);e.hasEdge(w,_)&&e.removeEdge(w,_)}),s.forEach(({clusterId:v,subgraph:g,bounds:w,removedNodes:_,removedEdges:E})=>{var C,M;let I=e.node(v),V=(C=I?.x)!=null?C:0,P=(M=I?.y)!=null?M:0,L=(w.minX+w.maxX)/2,S=(w.minY+w.maxY)/2;_.forEach(({id:y,node:k,parent:N})=>{e.setNode(y,k),N!==void 0&&e.setParent(y,N)}),E.forEach(({edge:y,label:k})=>{e.setEdge(y,k)}),g.nodes().forEach(y=>{if(y===v)return;let k=g.node(y),N=e.node(y);N&&k&&typeof k.x=="number"&&typeof k.y=="number"&&(N.x=V+(k.x-L),N.y=P+(k.y-S))}),delete I._dagreClusterSubgraph}),r.forEach(v=>{var g,w;let _=e.node(v),E=i[v];if(_&&_.rankdir&&_._dagreClusterSubgraph&&E){let C=_._dagreClusterSubgraph,M=(g=_.x)!=null?g:0,I=(w=_.y)!=null?w:0,V=(E.minX+E.maxX)/2,P=(E.minY+E.maxY)/2;C.nodes().forEach(L=>{if(L===v)return;let S=C.node(L),y=e.node(L);if(y&&S&&typeof S.x=="number"&&typeof S.y=="number"){let k=S.x-V,N=S.y-P;y.x=M+k,y.y=I+N}}),delete _._dagreClusterSubgraph}})}function cl(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",()=>Hm(e)),t(" removeSelfEdges",()=>Km(e)),t(" acyclic",()=>kg(e,a)),t(" nestingGraph.run",()=>Wg(e)),t(" rank",()=>Vg(vl(e))),t(" injectEdgeLabelProxies",()=>Bm(e)),t(" removeEmptyRanks",()=>lg(e)),t(" nestingGraph.cleanup",()=>Gg(e)),t(" normalizeRanks",()=>ag(e)),t(" assignRankMinMax",()=>Fm(e)),t(" removeEdgeLabelProxies",()=>Ym(e)),t(" normalize.run",()=>Sg(e)),t(" parentDummyChains",()=>Yg(e)),t(" addBorderSegments",()=>Ug(e)),t(" order",()=>Al(e,n,c)),t(" insertSelfEdges",()=>Gm(e)),t(" adjustCoordinateSystem",()=>Jg(e)),t(" position",()=>Pm(e,n.corePath)),t(" positionSelfEdges",()=>Um(e));let l=JSON.parse(JSON.stringify(e._nodes));return t(" removeBorderNodes",()=>qm(e)),t(" normalize.undo",()=>Mg(e)),t(" fixupEdgeLabelCoords",()=>Zm(e)),t(" undoCoordinateSystem",()=>em(e)),t(" translateGraph",()=>jm(e)),t(" assignNodeIntersects",()=>Xm(e)),t(" reversePoints",()=>Wm(e)),t(" acyclic.undo",()=>Eg(e)),{graph:e,rawNodes:l}}function dl(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 Dm=["nodesep","edgesep","ranksep","marginx","marginy"],Am={ranksep:50,edgesep:20,nodesep:50,rankdir:"TB",rankalign:"center"},Tm=["acyclicer","ranker","rankdir","align","rankalign"],Lm=["width","height","rank"],ul={width:0,height:0},Rm=["minlen","weight","width","height","labeloffset"],$m={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Vm=["labelpos"];function fl(e){let t=new Ne({multigraph:!0,compound:!0}),n=Ho(e.graph());return t.setGraph(Object.assign({},Am,Vo(n,Dm),Ln(n,Tm))),e.nodes().forEach(o=>{let r=Ho(e.node(o)),i=Vo(r,Lm);Object.keys(ul).forEach(a=>{i[a]===void 0&&(i[a]=ul[a])}),t.setNode(o,i);let s=e.parent(o);s!==void 0&&t.setParent(o,s)}),e.edges().forEach(o=>{let r=Ho(e.edge(o));t.setEdge(o,Object.assign({},$m,Vo(r,Rm),Ln(r,Vm)))}),t}function Hm(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 Bm(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};Nt(e,"edge-proxy",r,"_ep")}})}function Fm(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 Ym(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 jm(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,h=l.height;t=Math.min(t,d-u/2),n=Math.max(n,d+u/2),o=Math.min(o,f-h/2),r=Math.max(r,f+h/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 Xm(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(Ga(o,i)),n.points.push(Ga(r,s))})}function Zm(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 Wm(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}function qm(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 Km(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 Gm(e){Rn(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=>{Nt(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 Um(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,h=l/2;r.edgeLabel.points=[{x:d+u,y:f-h},{x:d+u,y:f-h},{x:d,y:f},{x:d-u,y:f+h},{x:d-u,y:f+h},{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 Vo(e,t){return $n(Ln(e,t),Number)}function Ho(e){let t={};return e&&Object.entries(e).forEach(([n,o])=>{typeof n=="string"&&(n=n.toLowerCase()),t[n]=o}),t}var Te=hr("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",overview:"\u5168\u666F",journeys:"\u9009\u62E9\u8DEF\u7EBF",stages:"\u9009\u62E9\u9636\u6BB5",playback:"\u9010\u6B65\u64AD\u653E",previousStep:"\u4E0A\u4E00\u6B65",nextStep:"\u4E0B\u4E00\u6B65",previousStage:"\u4E0A\u4E00\u9636\u6BB5",nextStage:"\u4E0B\u4E00\u9636\u6BB5",play:"\u64AD\u653E",pause:"\u6682\u505C",restart:"\u4ECE\u5934\u5F00\u59CB",goToStep:"\u7B2C {index} \u6B65\uFF1A{title}",stepOf:"\u6B65\u9AA4 {current}/{total}",stageOf:"\u9636\u6BB5 {current}/{total}",stepNumber:"\u7B2C {index} \u6B65",stageState:"\u5F53\u524D\u9636\u6BB5\uFF1A{state}",outline:"\u5168\u90E8\u6B65\u9AA4\u4E0E\u9636\u6BB5",outlineShow:"\u5C55\u5F00\u5168\u90E8\u6B65\u9AA4\u4E0E\u9636\u6BB5",outlineHide:"\u6536\u8D77\u5168\u90E8\u6B65\u9AA4\u4E0E\u9636\u6BB5","state.ok":"\u6B63\u5E38","state.warn":"\u9884\u8B66","state.bad":"\u6545\u969C","state.idle":"\u672A\u53C2\u4E0E","state.active":"\u8FDB\u884C\u4E2D"},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",overview:"Overview",journeys:"Choose a journey",stages:"Choose a stage",playback:"Step-through playback",previousStep:"Previous step",nextStep:"Next step",previousStage:"Previous stage",nextStage:"Next stage",play:"Play",pause:"Pause",restart:"Restart",goToStep:"Step {index}: {title}",stepOf:"Step {current}/{total}",stageOf:"Stage {current}/{total}",stepNumber:"Step {index}",stageState:"In this stage: {state}",outline:"All steps and stages",outlineShow:"Show all steps and stages",outlineHide:"Hide all steps and stages","state.ok":"Normal","state.warn":"Warning","state.bad":"Failing","state.idle":"Not involved","state.active":"Active"}});Wt(`.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
+ `);Wt(`.sf-block{--sf-ink: var(--sb-text);--sf-soft: var(--sb-soft);--sf-line: var(--sb-line);--sf-path: var(--sb-accent);--sf-ok: #2f7d5b;--sf-ok-soft: #e8f3ec;--sf-warn: #a0661c;--sf-warn-soft: #f8eedd;--sf-bad: #b4412e;--sf-bad-soft: #f9e5e1;--sf-active: #2c64a8;--sf-active-soft: #e4edf8;--sf-idle: var(--sb-muted);--sf-idle-soft: var(--sb-soft)}:root[data-theme=dark] .sf-block,[data-theme=dark] .sf-block{--sf-ok: #7cc3a0;--sf-ok-soft: #1f3529;--sf-warn: #e0a96f;--sf-warn-soft: #3a2c1e;--sf-bad: #e8907f;--sf-bad-soft: #3d2420;--sf-active: #8bb8eb;--sf-active-soft: #1f2d3d}.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}}.sb-block.sf-block .sf-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.sb-block.sf-block .sf-markers{position:absolute;width:0;height:0;overflow:hidden}.sb-block.sf-block .sf-markers polyline{stroke-width:1;stroke:var(--sb-muted);fill:var(--sb-muted)}.sb-block.sf-block .sf-marker-path polyline{stroke:var(--sf-path);fill:var(--sf-path)}.sb-block.sf-block .sf-marker-warn polyline{stroke:var(--sf-warn);fill:var(--sf-warn)}.sb-block.sf-block .sf-marker-bad polyline{stroke:var(--sf-bad);fill:var(--sf-bad)}.sb-block.sf-block .sf-marker-active polyline{stroke:var(--sf-active);fill:var(--sf-active)}.sb-block.sf-block .sf-marker-idle polyline{stroke:var(--sf-line);fill:var(--sf-line)}.sb-block.sf-block .react-flow__edge-path{stroke-width:1.5;transition:stroke .25s,opacity .25s}.sb-block.sf-block .sf-edge.is-dim{opacity:.35}.sb-block.sf-block .sf-edge.is-traversed .react-flow__edge-path{stroke:var(--sf-path);stroke-width:2.4}.sb-block.sf-block .sf-edge-warn .react-flow__edge-path{stroke:var(--sf-warn);stroke-width:2;stroke-dasharray:5 4}.sb-block.sf-block .sf-edge-bad .react-flow__edge-path{stroke:var(--sf-bad);stroke-width:2.6}.sb-block.sf-block .sf-edge-active .react-flow__edge-path{stroke:var(--sf-active);stroke-width:2.2}.sb-block.sf-block .sf-edge-idle .react-flow__edge-path{stroke:var(--sf-line)}.sb-block.sf-block .sf-edge-flow{fill:none;stroke:var(--sb-surface);stroke-width:2;stroke-dasharray:4 14;stroke-linecap:round;pointer-events:none;animation:sf-flow 1.1s linear infinite}.sb-block.sf-block .sf-edge.is-current .sf-edge-flow{animation-duration:.7s}@keyframes sf-flow{to{stroke-dashoffset:-18}}.sb-block.sf-block .sf-node{position:relative;transition:opacity .25s,border-color .25s,background-color .25s,box-shadow .25s}.sb-block.sf-block .sf-node.is-dim{opacity:.4}.sb-block.sf-block .sf-node.is-current{border-color:var(--sf-path);box-shadow:0 0 0 3px var(--sb-surface),0 0 0 5px var(--sf-path)}.sb-block.sf-block .sf-badges{position:absolute;top:-10px;right:8px;display:flex;gap:3px}.sb-block.sf-block .sf-badges i{min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--sf-path);color:var(--sb-surface);font-size:11px;font-style:normal;font-weight:700;line-height:19px;box-shadow:0 0 0 2px var(--sb-surface)}.sb-block.sf-block .sf-node[class*=sf-state-]{--sf-tone: var(--sf-idle);--sf-tone-soft: var(--sf-idle-soft);border-color:color-mix(in srgb,var(--sf-tone) 60%,var(--sb-line));background:var(--sf-tone-soft)}.sb-block.sf-block .sf-node.sf-state-ok,.sb-block.sf-block .sf-tone-ok{--sf-tone: var(--sf-ok);--sf-tone-soft: var(--sf-ok-soft)}.sb-block.sf-block .sf-node.sf-state-warn,.sb-block.sf-block .sf-tone-warn{--sf-tone: var(--sf-warn);--sf-tone-soft: var(--sf-warn-soft)}.sb-block.sf-block .sf-node.sf-state-bad,.sb-block.sf-block .sf-tone-bad{--sf-tone: var(--sf-bad);--sf-tone-soft: var(--sf-bad-soft)}.sb-block.sf-block .sf-node.sf-state-active,.sb-block.sf-block .sf-tone-active{--sf-tone: var(--sf-active);--sf-tone-soft: var(--sf-active-soft)}.sb-block.sf-block .sf-node.sf-state-idle,.sb-block.sf-block .sf-tone-idle{--sf-tone: var(--sf-idle);--sf-tone-soft: var(--sf-idle-soft)}.sb-block.sf-block .sf-node.sf-state-idle{opacity:.6}.sb-block.sf-block .sf-node.is-selected[class*=sf-state-]{outline:2px solid var(--sb-accent);outline-offset:3px}.sb-block.sf-block .sf-node.sf-state-bad{border-width:1.5px;animation:sf-alert 1.6s ease-out infinite}@keyframes sf-alert{0%{box-shadow:0 0 color-mix(in srgb,var(--sf-bad) 45%,transparent)}to{box-shadow:0 0 0 8px transparent}}.sb-block.sf-block .sf-node-state{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;color:var(--sf-tone);font-size:12px;font-weight:600;overflow-wrap:anywhere}.sb-block.sf-block .sf-node-state>i,.sb-block.sf-block .sf-outline li>i,.sb-block.sf-block .sf-stage-note>i{flex:none;display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--sf-tone)}.sb-block.sf-block .sf-chips{display:flex;flex-direction:column;gap:8px;padding:0 0 10px}.sb-block.sf-block .sf-journeys{display:flex;flex-wrap:wrap;gap:3px;width:fit-content;max-width:100%;padding:3px;border-radius:7px;background:var(--sb-soft)}.sb-block.sf-block .sf-journeys button{padding:5px 12px;border-radius:5px;font-size:13px;color:var(--sb-text)}.sb-block.sf-block .sf-journeys button[aria-pressed=true]{background:var(--sb-surface);color:var(--sf-path);font-weight:600;box-shadow:0 0 0 1px var(--sb-line)}.sb-block.sf-block .sf-summary{margin:0;color:var(--sb-muted);font-size:12px}.sb-block.sf-block .sf-stages{display:flex;gap:6px;margin:0;padding:0 0 2px;list-style:none;overflow-x:auto}.sb-block.sf-block .sf-stages li{flex:1 0 96px;display:flex}.sb-block.sf-block .sf-stages button{position:relative;flex:1;display:flex;align-items:baseline;gap:6px;padding:8px 10px 6px;overflow:hidden;border:1px solid var(--sb-line);border-radius:6px;background:var(--sb-surface);font-size:12px;text-align:left}.sb-block.sf-block .sf-stages button:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--sf-tone, var(--sb-line))}.sb-block.sf-block .sf-stages button b{color:var(--sb-muted);font-size:11px}.sb-block.sf-block .sf-stages button span{font-weight:600;line-height:1.3}.sb-block.sf-block .sf-stages button[aria-pressed=true]{border-color:var(--sb-text);box-shadow:0 1px 0 var(--sb-text)}.sb-block.sf-block .sf-player{display:flex;flex-direction:column;gap:8px;padding:12px 0 4px;border-bottom:1px solid var(--sb-line)}.sb-block.sf-block .sf-player-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sb-block.sf-block .sf-player-nav{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--sb-line);border-radius:6px;background:var(--sb-surface)}.sb-block.sf-block .sf-player button:disabled{opacity:.35;cursor:default}.sb-block.sf-block .sf-dots{display:flex;flex-wrap:wrap;gap:4px}.sb-block.sf-block .sf-dots button{width:26px;height:26px;border:1.5px solid var(--sb-line);border-radius:13px;background:var(--sb-surface);color:var(--sb-muted);font-size:11px;font-weight:650}.sb-block.sf-block .sf-dots button.is-done{border-color:color-mix(in srgb,var(--sf-path) 45%,var(--sb-line));color:var(--sf-path)}.sb-block.sf-block .sf-dots button[aria-current=step]{border-color:var(--sf-path);background:var(--sf-path);color:var(--sb-surface)}.sb-block.sf-block .sf-player-actions{display:flex;gap:6px;margin-left:auto}.sb-block.sf-block .sf-player-actions button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:1px solid var(--sb-line);border-radius:6px;font-size:12px;font-weight:600}.sb-block.sf-block .sf-player-play{background:var(--sb-text);border-color:var(--sb-text)!important;color:var(--sb-surface)}.sb-block.sf-block .sf-pause{width:10px;height:12px;border-inline:3px solid currentColor}.sb-block.sf-block .sf-player-text{display:flex;flex-direction:column;gap:2px;min-height:72px}.sb-block.sf-block .sf-kicker{color:var(--sf-path);font-size:12px;font-weight:600}.sb-block.sf-block .sf-player-text strong{font-size:15px;font-weight:600}.sb-block.sf-block .sf-player-text p{max-width:760px;margin:2px 0 0;font-size:13px;line-height:1.7}.sb-block.sf-block .sf-stage-note{display:flex;align-items:center;gap:6px;color:var(--sf-tone);font-weight:600}.sb-block.sf-block .sf-outline{padding:8px 0 4px;font-size:13px}.sb-block.sf-block .sf-outline-toggle{color:var(--sb-muted);font-size:12px}.sb-block.sf-block .sf-outline:not([data-open=true]) .sf-outline-body{display:none}.sb-block.sf-block .sf-outline-body section{margin-top:10px}.sb-block.sf-block .sf-outline-body h4{margin:0 0 4px;font-size:13px;font-weight:600}.sb-block.sf-block .sf-outline-body p{margin:0 0 4px;color:var(--sb-muted)}.sb-block.sf-block .sf-outline-body ol,.sb-block.sf-block .sf-outline-body ul{margin:0;padding-left:20px}.sb-block.sf-block .sf-outline-body ul{list-style:none;padding-left:0}.sb-block.sf-block .sf-outline-body li{margin:3px 0}.sb-block.sf-block .sf-outline-body li p{color:var(--sb-text)}.sb-block.sf-block .sf-outline-body ul li{display:flex;align-items:baseline;gap:6px}.sb-block.sf-block :where(.sf-chips,.sf-player,.sf-outline) button:focus-visible{outline:2px solid var(--sb-accent);outline-offset:2px}@media(max-width:540px){.sb-block.sf-block .sf-player-actions{margin-left:0;width:100%}.sb-block.sf-block .sf-player-actions button{flex:1;justify-content:center}.sb-block.sf-block .sf-stages li{flex-basis:110px}}@media(prefers-reduced-motion:reduce){.sb-block.sf-block .sf-edge-flow{display:none}.sb-block.sf-block .sf-node,.sb-block.sf-block .sf-node.sf-state-bad,.sb-block.sf-block .react-flow__edge-path{animation:none;transition:none}}@media print{.sf-controls,.sf-node-picker,.sf-editor,.sf-journeys,.sf-stages,.sf-player-bar,.sf-outline-toggle{display:none!important}.sf-outline-body{display:block!important}.sf-edge-flow{display:none}.sf-node{animation:none!important}}
9
+ `);var R=Le(Zn(),1),Qm={request:"kind.request",skill:"kind.skill",decision:"kind.decision",reference:"kind.reference",query:"kind.query",result:"kind.result"},Zt={ok:"state.ok",warn:"state.warn",bad:"state.bad",idle:"state.idle",active:"state.active"},Hn=176,Bn=72;function Xt(e){return e.initialJourney&&e.journeys?.length?{kind:"journey",id:e.initialJourney,step:0}:e.stages?.length?{kind:"stage",index:Math.max(0,e.stages.findIndex(t=>t.id===e.initialStage))}:{kind:"none"}}function $l(e,t){if(t.kind==="journey"){let n=e.journeys?.find(o=>o.id===t.id);return n?{...t,step:Math.min(Math.max(t.step,0),n.steps.length-1)}:Xt({...e,initialJourney:void 0})}return t.kind==="stage"?e.stages?.length?{kind:"stage",index:Math.min(Math.max(t.index,0),e.stages.length-1)}:{kind:"none"}:t}function Jm(e,t){let n=$l(e,t),o=new Map,r=new Map;if(n.kind==="journey"){let i=e.journeys.find(l=>l.id===n.id),s=fr(e,i),a=i.steps.slice(0,n.step+1);for(let l of e.nodes)o.set(l.id,{dim:!0});a.forEach((l,d)=>{let f=o.get(l.node);f.dim=!1,f.badges=[...f.badges??[],d+1]});let c=i.steps[n.step].node;o.get(c).current=!0;for(let l of e.edges)r.set(l.id,{dim:!0});return s.slice(0,n.step+1).forEach((l,d)=>{l&&r.set(l,{traversed:!0,flowing:!0,current:d===n.step})}),{nodes:o,edges:r,current:c}}if(n.kind==="stage"){let i=e.stages[n.index];for(let[s,a]of Object.entries(i.nodes??{}))o.set(s,{state:a.state,note:a.note});for(let[s,a]of Object.entries(i.edges??{}))r.set(s,{state:a.state,label:a.label,flowing:a.state==="bad"||a.state==="active"})}return{nodes:o,edges:r}}var eb=["bad","warn","active","ok","idle"];function tb(e){let t=new Set(Object.values(e.nodes??{}).map(n=>n.state));return eb.find(n=>t.has(n))}var Vl=(0,oe.createContext)(new Map);function nb({id:e,data:t,selected:n}){let o=Oe(Te),r=(0,oe.useContext)(Vl).get(e),i=t.direction==="LR",s=["sf-node",`sf-${t.kind??"query"}`,n&&"is-selected",r?.state&&`sf-state-${r.state}`,r?.current&&"is-current",r?.dim&&"is-dim"].filter(Boolean).join(" ");return(0,R.jsxs)("div",{className:s,style:{width:Hn,minHeight:Bn},children:[(0,R.jsx)(st,{type:"target",position:t.targetSide?t.targetSide:i?j.Left:j.Top}),!!r?.badges?.length&&(0,R.jsx)("span",{className:"sf-badges",children:r.badges.map(a=>(0,R.jsx)("i",{"aria-label":o("stepNumber",{index:a}),children:a},a))}),(0,R.jsx)("strong",{children:t.label}),t.subtitle&&(0,R.jsx)("span",{className:"sf-node-subtitle",children:t.subtitle}),r?.state&&(0,R.jsxs)("span",{className:"sf-node-state",children:[(0,R.jsx)("i",{"aria-hidden":"true"}),r.note?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)("span",{className:"sf-sr",children:[o(Zt[r.state]),": "]}),r.note]}):o(Zt[r.state])]}),(0,R.jsx)(st,{type:"source",position:t.sourceSide?t.sourceSide:i?j.Right:j.Bottom})]})}var ob={showai:nb},rb=["base","path","warn","bad","idle","active"];function ib({prefix:e}){return(0,R.jsx)("svg",{className:"sf-markers","aria-hidden":"true",width:"0",height:"0",children:(0,R.jsx)("defs",{children:rb.map(t=>(0,R.jsx)("marker",{id:`${e}-${t}`,className:`sf-marker-${t}`,viewBox:"-10 -10 20 20",refX:"0",refY:"0",markerWidth:"12.5",markerHeight:"12.5",markerUnits:"strokeWidth",orient:"auto-start-reverse",children:(0,R.jsx)("polyline",{points:"-5,-4 0,0 -5,4 -5,-4",strokeLinecap:"round",strokeLinejoin:"round"})},t))})})}function sb({id:e,sourceX:t,sourceY:n,targetX:o,targetY:r,sourcePosition:i,targetPosition:s,label:a,data:c}){let[l,d,f]=rt({sourceX:t,sourceY:n,targetX:o,targetY:r,sourcePosition:i,targetPosition:s}),u=c?.view,h=u?.traversed?"path":u?.state&&u.state!=="ok"?u.state:"base";return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(_t,{id:e,path:l,markerEnd:`url(#${c?.marker}-${h})`}),u?.flowing&&(0,R.jsx)("path",{d:l,className:"sf-edge-flow"}),a&&(0,R.jsx)(Do,{x:d,y:f,label:a,labelStyle:{fontSize:13},labelBgPadding:[6,3],labelBgBorderRadius:4})]})}var ab={showai:sb};function lb({locked:e}){let{fitView:t,viewportInitialized:n}=at(),o=ja(),r=Fa(),i=J(u=>u.domNode),s=J(u=>u.width),a=J(u=>u.height),[c,l]=(0,oe.useState)({width:0,height:0}),d=(0,oe.useRef)(null),f=JSON.stringify(r.map(u=>[u.id,u.position.x,u.position.y,u.measured?.width,u.measured?.height]));return(0,oe.useEffect)(()=>{if(!i)return;let u=()=>{let p={width:i.offsetWidth,height:i.offsetHeight};l(x=>x.width===p.width&&x.height===p.height?x:p)},h=new ResizeObserver(u);return h.observe(i),u(),()=>h.disconnect()},[i]),(0,oe.useEffect)(()=>{if(!i||!n||!o||!c.width||!c.height||s!==c.width||a!==c.height)return;let u={...c,geometry:f},h=d.current;if(h&&(!e||h.width===u.width&&h.height===u.height&&h.geometry===f)){d.current=u;return}let p=requestAnimationFrame(()=>{i.offsetWidth!==c.width||i.offsetHeight!==c.height||(d.current=u,t({padding:.08}))});return()=>cancelAnimationFrame(p)},[i,t,n,o,c,s,a,f,e]),null}function cb({node:e,onSave:t}){let n=Oe(Te),[o,r]=(0,oe.useState)(e.label),[i,s]=(0,oe.useState)(e.detail??"");return(0,oe.useEffect)(()=>{r(e.label),s(e.detail??"")},[e.id,e.label,e.detail]),(0,R.jsxs)("details",{className:"sf-editor",children:[(0,R.jsx)("summary",{children:n("editNode")}),(0,R.jsxs)("label",{children:[n("nodeName"),(0,R.jsx)("input",{value:o,"aria-invalid":!o.trim(),onChange:a=>r(a.target.value)})]}),(0,R.jsxs)("label",{children:[n("nodeDetail"),(0,R.jsx)("textarea",{value:i,onChange:a=>s(a.target.value)})]}),!o.trim()&&(0,R.jsx)("p",{role:"alert",children:n("nodeNameRequired")}),(0,R.jsx)("button",{type:"button",disabled:!o.trim(),onClick:()=>t({label:o.trim(),detail:i}),children:n("saveNode")})]})}function db(e){let t=new Fo.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:Hn,height:Bn})),e.edges.forEach(o=>t.setEdge(o.source,o.target)),Ll(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-Hn/2,y:r.y-Bn/2}}})}function ub({locked:e}){let t=at(),n=Oe(Te);return(0,R.jsxs)("div",{className:"sf-controls","aria-label":n("viewControls"),children:[(0,R.jsx)("button",{type:"button",onClick:()=>t.zoomIn(),disabled:e,"aria-label":n("zoomIn"),children:(0,R.jsx)(lr,{size:16})}),(0,R.jsx)("button",{type:"button",onClick:()=>t.zoomOut(),disabled:e,"aria-label":n("zoomOut"),children:(0,R.jsx)(sr,{size:16})}),(0,R.jsx)("button",{type:"button",onClick:()=>t.fitView({padding:.08,duration:200}),disabled:e,"aria-label":n("fitView"),children:(0,R.jsx)(ir,{size:16})})]})}function fb({id:e,locked:t}){let{getNode:n,getViewport:o,setCenter:r}=at(),i=J(l=>l.width),s=J(l=>l.height),a=(0,oe.useRef)({width:i,height:s});a.current={width:i,height:s};let c=(0,oe.useRef)(!1);return(0,oe.useEffect)(()=>{if(!c.current){c.current=!0;return}if(!e||t)return;let l=n(e);if(!l)return;let{x:d,y:f,zoom:u}=o(),h=l.measured?.width??Hn,p=l.measured?.height??Bn,x=l.position.x*u+d,b=l.position.y*u+f,{width:m,height:v}=a.current;if(!m||x>=0&&b>=0&&x+h*u<=m&&b+p*u<=v)return;let g=window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;r(l.position.x+h/2,l.position.y+p/2,{zoom:u,duration:g?0:320})},[e,t,n,o,r]),null}function hb({flow:e,height:t,readOnly:n,locked:o,onPosition:r,selected:i,onSelect:s,view:a}){let c=Oe(Te),l=`sf${(0,oe.useId)().replace(/[^a-zA-Z0-9_-]/g,"")}`,d=(0,oe.useMemo)(()=>db(e),[e]),f=(0,oe.useMemo)(()=>d.map(b=>({...b,selected:b.id===i})),[d,i]),[u,h,p]=Ya(f);(0,oe.useEffect)(()=>h(f),[f,h]);let x=(0,oe.useMemo)(()=>e.edges.map(b=>{let m=a.edges.get(b.id);return{...b,label:m?.label??b.label,type:"showai",className:["sf-edge",m?.state&&`sf-edge-${m.state}`,m?.traversed&&"is-traversed",m?.current&&"is-current",m?.dim&&"is-dim"].filter(Boolean).join(" "),data:{view:m,marker:l}}}),[e,a,l]);return(0,R.jsxs)("div",{className:"sf-canvas",style:{height:t},role:"group","aria-label":e.label,children:[(0,R.jsx)(ib,{prefix:l}),(0,R.jsx)(Vl.Provider,{value:a.nodes,children:(0,R.jsxs)(Ba,{proOptions:{hideAttribution:!0},nodes:u,edges:x,nodeTypes:ob,edgeTypes:ab,onNodesChange:p,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:(b,m)=>s(m.id),onNodeDragStop:(b,m)=>r(m.id,m.position),children:[(0,R.jsx)(lb,{locked:o}),(0,R.jsx)(fb,{id:a.current,locked:o}),(0,R.jsx)(ub,{locked:o})]})}),(0,R.jsxs)("details",{className:"sf-node-picker",children:[(0,R.jsx)("summary",{"aria-label":c("nodeList"),children:c("nodes")}),(0,R.jsx)("div",{children:e.nodes.map(b=>(0,R.jsx)("button",{type:"button","aria-pressed":i===b.id,onClick:()=>s(b.id),children:b.label},b.id))})]})]})}function pb({flow:e,mode:t,onMode:n}){let o=Oe(Te),r=t.kind==="journey"?e.journeys?.find(i=>i.id===t.id):void 0;return(0,R.jsxs)("div",{className:"sf-chips",children:[!!e.journeys?.length&&(0,R.jsxs)("div",{className:"sf-journeys",role:"group","aria-label":o("journeys"),children:[(0,R.jsx)("button",{type:"button","aria-pressed":t.kind!=="journey",onClick:()=>n(e.stages?.length?Xt({...e,initialJourney:void 0}):{kind:"none"}),children:o("overview")}),e.journeys.map(i=>(0,R.jsx)("button",{type:"button","aria-pressed":r?.id===i.id,onClick:()=>n({kind:"journey",id:i.id,step:0}),children:i.label},i.id))]}),r?.summary&&(0,R.jsx)("p",{className:"sf-summary",children:r.summary}),!!e.stages?.length&&(0,R.jsx)("ol",{className:"sf-stages","aria-label":o("stages"),children:e.stages.map((i,s)=>{let a=tb(i),c=t.kind==="stage"&&t.index===s;return(0,R.jsx)("li",{children:(0,R.jsxs)("button",{type:"button",className:a?`sf-tone-${a}`:void 0,"aria-pressed":c,"aria-current":c?"step":void 0,onClick:()=>n({kind:"stage",index:s}),children:[(0,R.jsx)("b",{children:s+1}),(0,R.jsx)("span",{children:i.label})]})},i.id)})})]})}function gb({flow:e,mode:t,playing:n,onMode:o,onPlaying:r}){let i=Oe(Te);if(t.kind==="none")return null;let s=t.kind==="journey"?e.journeys.find(x=>x.id===t.id):void 0,a=t.kind==="journey"?t.step:t.index,c=s?s.steps.length:e.stages.length,l=x=>{r(!1);let b=Math.min(Math.max(x,0),c-1);o(s?{kind:"journey",id:s.id,step:b}:{kind:"stage",index:b})},d=()=>{if(n)return r(!1);a>=c-1&&l(0),r(!0)},f=x=>{if(x.key==="ArrowLeft")l(a-1);else if(x.key==="ArrowRight")l(a+1);else return;x.preventDefault()},u=s?.steps[a],h=s?void 0:e.stages[a],p=u?e.nodes.find(x=>x.id===u.node)?.label:void 0;return(0,R.jsxs)("div",{className:"sf-player",children:[(0,R.jsxs)("div",{className:"sf-player-bar",role:"group","aria-label":i("playback"),onKeyDown:f,children:[(0,R.jsx)("button",{type:"button",className:"sf-player-nav",disabled:a===0,"aria-label":i(s?"previousStep":"previousStage"),onClick:()=>l(a-1),children:(0,R.jsx)(rr,{size:16})}),s&&(0,R.jsx)("div",{className:"sf-dots",children:s.steps.map((x,b)=>(0,R.jsx)("button",{type:"button",className:b<a?"is-done":void 0,"aria-current":b===a?"step":void 0,"aria-label":i("goToStep",{index:b+1,title:x.title}),onClick:()=>l(b),children:b+1},b))}),(0,R.jsx)("button",{type:"button",className:"sf-player-nav",disabled:a>=c-1,"aria-label":i(s?"nextStep":"nextStage"),onClick:()=>l(a+1),children:(0,R.jsx)(or,{size:16})}),(0,R.jsxs)("span",{className:"sf-player-actions",children:[(0,R.jsxs)("button",{type:"button",className:"sf-player-play","aria-pressed":n,onClick:d,children:[n?(0,R.jsx)("span",{className:"sf-pause","aria-hidden":"true"}):(0,R.jsx)(ar,{size:14}),i(n?"pause":"play")]}),(0,R.jsxs)("button",{type:"button",className:"sf-player-restart",disabled:a===0&&!n,onClick:()=>l(0),children:[(0,R.jsx)(cr,{size:14}),i("restart")]})]})]}),(0,R.jsxs)("div",{className:"sf-player-text","aria-live":"polite",children:[(0,R.jsxs)("span",{className:"sf-kicker",children:[s?i("stepOf",{current:a+1,total:c}):i("stageOf",{current:a+1,total:c}),p&&` \xB7 ${p}`]}),(0,R.jsx)("strong",{children:u?.title??h?.label}),(u?.text??h?.summary)&&(0,R.jsx)("p",{children:u?.text??h?.summary})]})]})}function mb({flow:e}){let t=Oe(Te),n=(0,oe.useId)(),[o,r]=(0,oe.useState)(!1),i=new Map(e.nodes.map(a=>[a.id,a.label])),s=new Map(e.edges.map(a=>[a.id,`${i.get(a.source)} \u2192 ${i.get(a.target)}`]));return(0,R.jsxs)("div",{className:"sf-outline","data-open":o,children:[(0,R.jsx)("button",{type:"button",className:"sf-outline-toggle","aria-expanded":o,"aria-controls":n,onClick:()=>r(!o),children:t(o?"outlineHide":"outlineShow")}),(0,R.jsxs)("div",{id:n,className:"sf-outline-body","aria-label":t("outline"),children:[e.journeys?.map(a=>(0,R.jsxs)("section",{children:[(0,R.jsx)("h4",{children:a.label}),a.summary&&(0,R.jsx)("p",{children:a.summary}),(0,R.jsx)("ol",{children:a.steps.map((c,l)=>(0,R.jsxs)("li",{children:[(0,R.jsx)("b",{children:c.title}),(0,R.jsxs)("span",{children:[" \xB7 ",i.get(c.node)]}),(0,R.jsx)("p",{children:c.text})]},l))})]},a.id)),e.stages?.map((a,c)=>(0,R.jsxs)("section",{children:[(0,R.jsxs)("h4",{children:[t("stageOf",{current:c+1,total:e.stages.length})," ","\xB7 ",a.label]}),a.summary&&(0,R.jsx)("p",{children:a.summary}),(0,R.jsxs)("ul",{children:[Object.entries(a.nodes??{}).map(([l,d])=>(0,R.jsxs)("li",{className:`sf-tone-${d.state}`,children:[(0,R.jsx)("i",{"aria-hidden":"true"}),i.get(l),": ",t(Zt[d.state]),d.note&&` \xB7 ${d.note}`]},l)),Object.entries(a.edges??{}).filter(([,l])=>l.label||l.state!=="ok").map(([l,d])=>(0,R.jsxs)("li",{className:`sf-tone-${d.state}`,children:[(0,R.jsx)("i",{"aria-hidden":"true"}),s.get(l),": ",t(Zt[d.state]),d.label&&` \xB7 ${d.label}`]},l))]})]},a.id))]})]})}function Kv({data:e,onChange:t,readOnly:n=!1}){let o=(0,oe.useId)(),r=Oe(Te),i=pr("flowchart"),s=ur(e),[a,c]=(0,oe.useState)(s.flows[0]?.id??""),l=s.flows.find(S=>S.id===a)??s.flows[0],[d,f]=(0,oe.useState)("");(0,oe.useEffect)(()=>{l&&!l.nodes.some(S=>S.id===d)&&f("")},[l,d]);let u=l?.nodes.find(S=>S.id===d),[h,p]=(0,oe.useState)(()=>l?Xt(l):{kind:"none"}),[x,b]=(0,oe.useState)(!1),m=l?$l(l,h):h,v=m.kind==="journey"?`journey:${m.id}:${m.step}`:m.kind==="stage"?`stage:${m.index}`:"none",g=(0,oe.useMemo)(()=>l?Jm(l,m):{nodes:new Map,edges:new Map},[l,v]),w=`${l?.id}
10
+ ${l?.initialJourney}
11
+ ${l?.initialStage}`,_=(0,oe.useRef)(w);(0,oe.useEffect)(()=>{_.current!==w&&(_.current=w,l&&p(Xt(l)),b(!1))},[w,l]);let E=l?m.kind==="journey"?l.journeys?.find(S=>S.id===m.id)?.steps.length??0:m.kind==="stage"?l.stages?.length??0:0:0,C=m.kind==="journey"?m.step:m.kind==="stage"?m.index:0;(0,oe.useEffect)(()=>{if(!x)return;let S=window.setTimeout(()=>{if(C>=E-1)return b(!1);p(y=>y.kind==="journey"?{...y,step:C+1}:y.kind==="stage"?{...y,index:C+1}:y)},2200);return()=>window.clearTimeout(S)},[x,C,E]);let M=S=>{if(f(S),m.kind!=="journey")return;let y=l.journeys.find(N=>N.id===m.id).steps;if(y[m.step].node===S)return;let k=y.findIndex(N=>N.node===S);k<0||(b(!1),p({...m,step:k}))},I=m.kind==="stage"?l.stages[m.index].nodes:void 0,V=u&&I&&Object.hasOwn(I,u.id)?I[u.id]:void 0,P=!!(l?.journeys?.length||l?.stages?.length),L=(S,y)=>t?.({...s,flows:s.flows.map(k=>k.id===l.id?{...k,nodes:k.nodes.map(N=>N.id===S?{...N,...y}:N)}:k)});return(0,R.jsxs)("section",{ref:i.ref,className:"sb-block sf-block","aria-label":mr(s.title,r("flowchart")),"data-viewport-lock-scope":"flowchart","data-viewport-locked":i.locked,children:[(0,R.jsx)(br,{title:s.title,defaultTitle:r("defaultTitle"),description:s.description}),(0,R.jsx)(gr,{...i,label:r("lockTarget")}),l?(0,R.jsxs)(R.Fragment,{children:[s.flows.length>1&&(0,R.jsx)("div",{className:"sf-tabs",role:"tablist","aria-label":r("chooseFlow"),children:s.flows.map(S=>(0,R.jsx)("button",{id:`${o}-tab-${S.id}`,type:"button",role:"tab","aria-selected":S.id===l.id,"aria-controls":`${o}-panel-${S.id}`,onClick:()=>{c(S.id),f(""),p(Xt(S)),b(!1)},children:S.label},S.id))}),(0,R.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,R.jsx)("p",{className:"sf-description",children:l.description}),P&&(0,R.jsx)(pb,{flow:l,mode:m,onMode:S=>{b(!1),p(S)}}),(0,R.jsx)(Ao,{children:(0,R.jsx)(hb,{flow:l,height:s.height??580,readOnly:n,locked:i.locked,selected:d,onSelect:M,view:g,onPosition:(S,y)=>{n||L(S,{position:y})}})},l.id),P&&(0,R.jsx)(gb,{flow:l,mode:m,playing:x,onMode:p,onPlaying:b}),u&&(V||u.detail||u.commands?.length||u.references?.length||!n&&t)&&(0,R.jsxs)("div",{className:"sf-detail","aria-live":"polite",children:[(0,R.jsxs)("div",{className:"sf-detail-heading",children:[u.kind&&(0,R.jsx)("span",{children:r(Qm[u.kind])}),(0,R.jsx)("strong",{children:u.label}),(0,R.jsx)("button",{type:"button",className:"sb-icon-button","aria-label":r("closeNodeDetail"),onClick:()=>f(""),children:(0,R.jsx)(dr,{size:16})})]}),V&&(0,R.jsxs)("p",{className:`sf-stage-note sf-tone-${V.state}`,children:[(0,R.jsx)("i",{"aria-hidden":"true"}),r("stageState",{state:r(Zt[V.state])}),V.note&&` \xB7 ${V.note}`]}),u.detail&&(0,R.jsx)("p",{children:u.detail}),!!u.commands?.length&&(0,R.jsxs)("div",{className:"sf-detail-group",children:[(0,R.jsx)("span",{children:r("commands")}),u.commands.map(S=>(0,R.jsx)("code",{children:S},S))]}),!!u.references?.length&&(0,R.jsxs)("div",{className:"sf-detail-group",children:[(0,R.jsx)("span",{children:r("references")}),u.references.map(S=>(0,R.jsx)("code",{children:S},S))]}),!n&&t&&(0,R.jsx)(cb,{node:u,onSave:S=>L(u.id,S)})]}),P&&(0,R.jsx)(mb,{flow:l})]})]}):(0,R.jsx)(yr,{title:r("addFlow")})]})}export{Kv as FlowchartBlock,Xt as initialPlayback,db as layoutFlow,Jm as playbackView};
12
+ /*! For license information please see Flowchart-DKB2L4BW.js.LEGAL.txt */