@mcp-graph-workflow/mcp-graph 3.0.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +7 -2
- package/dist/cli/index.js.map +1 -1
- package/package.json +3 -1
- package/dist/web/dashboard/dist/assets/benchmark-tab-BTKW3REK.js +0 -1
- package/dist/web/dashboard/dist/assets/benchmark-tab-BhbUvjLM.js +0 -1
- package/dist/web/dashboard/dist/assets/benchmark-tab-D64Ala80.js +0 -1
- package/dist/web/dashboard/dist/assets/benchmark-tab-DJ7HyF-u.js +0 -1
- package/dist/web/dashboard/dist/assets/benchmark-tab-DVyzQZ2d.js +0 -1
- package/dist/web/dashboard/dist/assets/benchmark-tab-XUH7yQNv.js +0 -1
- package/dist/web/dashboard/dist/assets/benchmark-tab-ZfJu1pxc.js +0 -1
- package/dist/web/dashboard/dist/assets/gitnexus-tab-BFHEXsJm.js +0 -312
- package/dist/web/dashboard/dist/assets/gitnexus-tab-Bbp91fom.js +0 -312
- package/dist/web/dashboard/dist/assets/gitnexus-tab-C3fPSzYi.js +0 -312
- package/dist/web/dashboard/dist/assets/gitnexus-tab-Cd0k8qk3.js +0 -312
- package/dist/web/dashboard/dist/assets/gitnexus-tab-Cuc-KSII.js +0 -312
- package/dist/web/dashboard/dist/assets/gitnexus-tab-DEwJXSnD.js +0 -312
- package/dist/web/dashboard/dist/assets/gitnexus-tab-DOD7xwmm.js +0 -312
- package/dist/web/dashboard/dist/assets/graph-tab-AD7csRcc.js +0 -1
- package/dist/web/dashboard/dist/assets/graph-tab-BKyDCyHH.js +0 -1
- package/dist/web/dashboard/dist/assets/graph-tab-D0F0WJES.js +0 -1
- package/dist/web/dashboard/dist/assets/graph-tab-DA16nThT.js +0 -1
- package/dist/web/dashboard/dist/assets/graph-tab-DJknUhrl.js +0 -1
- package/dist/web/dashboard/dist/assets/graph-tab-DRPfelKw.js +0 -1
- package/dist/web/dashboard/dist/assets/graph-tab-lJ2rPS4Z.js +0 -1
- package/dist/web/dashboard/dist/assets/graph-utils-BN7tt0ZS.js +0 -23
- package/dist/web/dashboard/dist/assets/graph-utils-BTV1KGUM.js +0 -23
- package/dist/web/dashboard/dist/assets/graph-utils-BkfAOVJ9.js +0 -23
- package/dist/web/dashboard/dist/assets/graph-utils-Bo7cD1sx.js +0 -23
- package/dist/web/dashboard/dist/assets/graph-utils-CI4znRl5.js +0 -23
- package/dist/web/dashboard/dist/assets/graph-utils-DrCx5m7q.js +0 -23
- package/dist/web/dashboard/dist/assets/graph-utils-KQmzMFXM.js +0 -23
- package/dist/web/dashboard/dist/assets/index-BGMP3W6f.css +0 -1
- package/dist/web/dashboard/dist/assets/index-BVXu3x9W.js +0 -53
- package/dist/web/dashboard/dist/assets/index-B_T9j86O.js +0 -53
- package/dist/web/dashboard/dist/assets/index-Bga9WW2A.css +0 -1
- package/dist/web/dashboard/dist/assets/index-BonF71I0.js +0 -53
- package/dist/web/dashboard/dist/assets/index-CSyjxREL.js +0 -53
- package/dist/web/dashboard/dist/assets/index-CbUKe2Fv.js +0 -53
- package/dist/web/dashboard/dist/assets/index-DzM6oBA3.js +0 -53
- package/dist/web/dashboard/dist/assets/index-IK005MzD.js +0 -53
- package/dist/web/dashboard/dist/assets/insights-tab-B9R3HsMU.js +0 -1
- package/dist/web/dashboard/dist/assets/insights-tab-BO_cxLyV.js +0 -1
- package/dist/web/dashboard/dist/assets/insights-tab-Brn6IMfQ.js +0 -1
- package/dist/web/dashboard/dist/assets/insights-tab-C6x-aJ8p.js +0 -1
- package/dist/web/dashboard/dist/assets/insights-tab-CapL1jP-.js +0 -1
- package/dist/web/dashboard/dist/assets/insights-tab-CeWM6zgV.js +0 -1
- package/dist/web/dashboard/dist/assets/insights-tab-xQj5e61M.js +0 -1
- package/dist/web/dashboard/dist/assets/prd-backlog-tab-0oOO63rA.js +0 -1
- package/dist/web/dashboard/dist/assets/prd-backlog-tab-BcWoplsM.js +0 -1
- package/dist/web/dashboard/dist/assets/prd-backlog-tab-Bjj5KccG.js +0 -1
- package/dist/web/dashboard/dist/assets/prd-backlog-tab-C7cKQyup.js +0 -1
- package/dist/web/dashboard/dist/assets/prd-backlog-tab-CT4ja7Ay.js +0 -1
- package/dist/web/dashboard/dist/assets/prd-backlog-tab-CmPHHBDQ.js +0 -1
- package/dist/web/dashboard/dist/assets/prd-backlog-tab-_jmBe3MU.js +0 -1
- package/dist/web/dashboard/dist/assets/serena-tab-BVyBTaHC.js +0 -1
- package/dist/web/dashboard/dist/assets/serena-tab-CVI1GGRk.js +0 -1
- package/dist/web/dashboard/dist/assets/serena-tab-D1ki2NjT.js +0 -1
- package/dist/web/dashboard/dist/assets/serena-tab-DRrRfjpO.js +0 -1
- package/dist/web/dashboard/dist/assets/serena-tab-DvYbwR4Z.js +0 -1
- package/dist/web/dashboard/dist/assets/serena-tab-L6isY0iT.js +0 -1
- package/dist/web/dashboard/dist/assets/serena-tab-ba2n0AOh.js +0 -1
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
var gl=Object.defineProperty;var ml=(e,t,n)=>t in e?gl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var oe=(e,t,n)=>ml(e,typeof t!="symbol"?t+"":t,n);import{b as xs,g as ws,t as yl,c as xl,r as V,j as I}from"./index-CbUKe2Fv.js";import{N as Vr,S as vs,E as Te}from"./constants-BIEJOBya.js";function ae(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=ae(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var wl={value:()=>{}};function on(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new Ht(n)}function Ht(e){this._=e}function vl(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",i=n.indexOf(".");if(i>=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}Ht.prototype=on.prototype={constructor:Ht,on:function(e,t){var n=this._,r=vl(e+"",n),i,s=-1,o=r.length;if(arguments.length<2){for(;++s<o;)if((i=(e=r[s]).type)&&(i=bl(n[i],e.name)))return i;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++s<o;)if(i=(e=r[s]).type)n[i]=gi(n[i],e.name,t);else if(t==null)for(i in n)n[i]=gi(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Ht(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=new Array(i),r=0,i,s;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(s=this._[e],r=0,i=s.length;r<i;++r)s[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],i=0,s=r.length;i<s;++i)r[i].value.apply(t,n)}};function bl(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function gi(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=wl,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var Sr="http://www.w3.org/1999/xhtml";const mi={svg:"http://www.w3.org/2000/svg",xhtml:Sr,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function sn(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),mi.hasOwnProperty(t)?{space:mi[t],local:e}:e}function _l(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Sr&&t.documentElement.namespaceURI===Sr?t.createElement(e):t.createElementNS(n,e)}}function El(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function bs(e){var t=sn(e);return(t.local?El:_l)(t)}function Nl(){}function Hr(e){return e==null?Nl:function(){return this.querySelector(e)}}function Sl(e){typeof e!="function"&&(e=Hr(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var s=t[i],o=s.length,a=r[i]=new Array(o),l,d,u=0;u<o;++u)(l=s[u])&&(d=e.call(l,l.__data__,u,s))&&("__data__"in l&&(d.__data__=l.__data__),a[u]=d);return new de(r,this._parents)}function kl(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Cl(){return[]}function _s(e){return e==null?Cl:function(){return this.querySelectorAll(e)}}function Ml(e){return function(){return kl(e.apply(this,arguments))}}function Il(e){typeof e=="function"?e=Ml(e):e=_s(e);for(var t=this._groups,n=t.length,r=[],i=[],s=0;s<n;++s)for(var o=t[s],a=o.length,l,d=0;d<a;++d)(l=o[d])&&(r.push(e.call(l,l.__data__,d,o)),i.push(l));return new de(r,i)}function Es(e){return function(){return this.matches(e)}}function Ns(e){return function(t){return t.matches(e)}}var Al=Array.prototype.find;function Tl(e){return function(){return Al.call(this.children,e)}}function Ll(){return this.firstElementChild}function Pl(e){return this.select(e==null?Ll:Tl(typeof e=="function"?e:Ns(e)))}var Rl=Array.prototype.filter;function $l(){return Array.from(this.children)}function Ol(e){return function(){return Rl.call(this.children,e)}}function jl(e){return this.selectAll(e==null?$l:Ol(typeof e=="function"?e:Ns(e)))}function Dl(e){typeof e!="function"&&(e=Es(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var s=t[i],o=s.length,a=r[i]=[],l,d=0;d<o;++d)(l=s[d])&&e.call(l,l.__data__,d,s)&&a.push(l);return new de(r,this._parents)}function Ss(e){return new Array(e.length)}function zl(){return new de(this._enter||this._groups.map(Ss),this._parents)}function Gt(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Gt.prototype={constructor:Gt,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 Vl(e){return function(){return e}}function Hl(e,t,n,r,i,s){for(var o=0,a,l=t.length,d=s.length;o<d;++o)(a=t[o])?(a.__data__=s[o],r[o]=a):n[o]=new Gt(e,s[o]);for(;o<l;++o)(a=t[o])&&(i[o]=a)}function Fl(e,t,n,r,i,s,o){var a,l,d=new Map,u=t.length,c=s.length,f=new Array(u),h;for(a=0;a<u;++a)(l=t[a])&&(f[a]=h=o.call(l,l.__data__,a,t)+"",d.has(h)?i[a]=l:d.set(h,l));for(a=0;a<c;++a)h=o.call(e,s[a],a,s)+"",(l=d.get(h))?(r[a]=l,l.__data__=s[a],d.delete(h)):n[a]=new Gt(e,s[a]);for(a=0;a<u;++a)(l=t[a])&&d.get(f[a])===l&&(i[a]=l)}function Bl(e){return e.__data__}function ql(e,t){if(!arguments.length)return Array.from(this,Bl);var n=t?Fl:Hl,r=this._parents,i=this._groups;typeof e!="function"&&(e=Vl(e));for(var s=i.length,o=new Array(s),a=new Array(s),l=new Array(s),d=0;d<s;++d){var u=r[d],c=i[d],f=c.length,h=Yl(e.call(u,u&&u.__data__,d,r)),p=h.length,x=a[d]=new Array(p),m=o[d]=new Array(p),y=l[d]=new Array(f);n(u,c,x,m,y,h,t);for(var v=0,g=0,w,k;v<p;++v)if(w=x[v]){for(v>=g&&(g=v+1);!(k=m[g])&&++g<p;);w._next=k||null}}return o=new de(o,r),o._enter=a,o._exit=l,o}function Yl(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Gl(){return new de(this._exit||this._groups.map(Ss),this._parents)}function Wl(e,t,n){var r=this.enter(),i=this,s=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(i=t(i),i&&(i=i.selection())),n==null?s.remove():n(s),r&&i?r.merge(i).order():i}function Xl(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,s=r.length,o=Math.min(i,s),a=new Array(i),l=0;l<o;++l)for(var d=n[l],u=r[l],c=d.length,f=a[l]=new Array(c),h,p=0;p<c;++p)(h=d[p]||u[p])&&(f[p]=h);for(;l<i;++l)a[l]=n[l];return new de(a,this._parents)}function Ul(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,s=r[i],o;--i>=0;)(o=r[i])&&(s&&o.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(o,s),s=o);return this}function Kl(e){e||(e=Zl);function t(c,f){return c&&f?e(c.__data__,f.__data__):!c-!f}for(var n=this._groups,r=n.length,i=new Array(r),s=0;s<r;++s){for(var o=n[s],a=o.length,l=i[s]=new Array(a),d,u=0;u<a;++u)(d=o[u])&&(l[u]=d);l.sort(t)}return new de(i,this._parents).order()}function Zl(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function Ql(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Jl(){return Array.from(this)}function eu(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,s=r.length;i<s;++i){var o=r[i];if(o)return o}return null}function tu(){let e=0;for(const t of this)++e;return e}function nu(){return!this.node()}function ru(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],s=0,o=i.length,a;s<o;++s)(a=i[s])&&e.call(a,a.__data__,s,i);return this}function iu(e){return function(){this.removeAttribute(e)}}function ou(e){return function(){this.removeAttributeNS(e.space,e.local)}}function su(e,t){return function(){this.setAttribute(e,t)}}function au(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function cu(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function lu(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 uu(e,t){var n=sn(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?ou:iu:typeof t=="function"?n.local?lu:cu:n.local?au:su)(n,t))}function ks(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function du(e){return function(){this.style.removeProperty(e)}}function fu(e,t,n){return function(){this.style.setProperty(e,t,n)}}function hu(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function pu(e,t,n){return arguments.length>1?this.each((t==null?du:typeof t=="function"?hu:fu)(e,t,n??"")):Ue(this.node(),e)}function Ue(e,t){return e.style.getPropertyValue(t)||ks(e).getComputedStyle(e,null).getPropertyValue(t)}function gu(e){return function(){delete this[e]}}function mu(e,t){return function(){this[e]=t}}function yu(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function xu(e,t){return arguments.length>1?this.each((t==null?gu:typeof t=="function"?yu:mu)(e,t)):this.node()[e]}function Cs(e){return e.trim().split(/^|\s+/)}function Fr(e){return e.classList||new Ms(e)}function Ms(e){this._node=e,this._names=Cs(e.getAttribute("class")||"")}Ms.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 Is(e,t){for(var n=Fr(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function As(e,t){for(var n=Fr(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function wu(e){return function(){Is(this,e)}}function vu(e){return function(){As(this,e)}}function bu(e,t){return function(){(t.apply(this,arguments)?Is:As)(this,e)}}function _u(e,t){var n=Cs(e+"");if(arguments.length<2){for(var r=Fr(this.node()),i=-1,s=n.length;++i<s;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t=="function"?bu:t?wu:vu)(n,t))}function Eu(){this.textContent=""}function Nu(e){return function(){this.textContent=e}}function Su(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function ku(e){return arguments.length?this.each(e==null?Eu:(typeof e=="function"?Su:Nu)(e)):this.node().textContent}function Cu(){this.innerHTML=""}function Mu(e){return function(){this.innerHTML=e}}function Iu(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function Au(e){return arguments.length?this.each(e==null?Cu:(typeof e=="function"?Iu:Mu)(e)):this.node().innerHTML}function Tu(){this.nextSibling&&this.parentNode.appendChild(this)}function Lu(){return this.each(Tu)}function Pu(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Ru(){return this.each(Pu)}function $u(e){var t=typeof e=="function"?e:bs(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function Ou(){return null}function ju(e,t){var n=typeof e=="function"?e:bs(e),r=t==null?Ou:typeof t=="function"?t:Hr(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function Du(){var e=this.parentNode;e&&e.removeChild(this)}function zu(){return this.each(Du)}function Vu(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Hu(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Fu(e){return this.select(e?Hu:Vu)}function Bu(e){return arguments.length?this.property("__data__",e):this.node().__data__}function qu(e){return function(t){e.call(this,t,this.__data__)}}function Yu(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function Gu(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,s;n<i;++n)s=t[n],(!e.type||s.type===e.type)&&s.name===e.name?this.removeEventListener(s.type,s.listener,s.options):t[++r]=s;++r?t.length=r:delete this.__on}}}function Wu(e,t,n){return function(){var r=this.__on,i,s=qu(t);if(r){for(var o=0,a=r.length;o<a;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=s,i.options=n),i.value=t;return}}this.addEventListener(e.type,s,n),i={type:e.type,name:e.name,value:t,listener:s,options:n},r?r.push(i):this.__on=[i]}}function Xu(e,t,n){var r=Yu(e+""),i,s=r.length,o;if(arguments.length<2){var a=this.node().__on;if(a){for(var l=0,d=a.length,u;l<d;++l)for(i=0,u=a[l];i<s;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(a=t?Wu:Gu,i=0;i<s;++i)this.each(a(r[i],t,n));return this}function Ts(e,t,n){var r=ks(e),i=r.CustomEvent;typeof i=="function"?i=new i(t,n):(i=r.document.createEvent("Event"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function Uu(e,t){return function(){return Ts(this,e,t)}}function Ku(e,t){return function(){return Ts(this,e,t.apply(this,arguments))}}function Zu(e,t){return this.each((typeof t=="function"?Ku:Uu)(e,t))}function*Qu(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,s=r.length,o;i<s;++i)(o=r[i])&&(yield o)}var Ls=[null];function de(e,t){this._groups=e,this._parents=t}function _t(){return new de([[document.documentElement]],Ls)}function Ju(){return this}de.prototype=_t.prototype={constructor:de,select:Sl,selectAll:Il,selectChild:Pl,selectChildren:jl,filter:Dl,data:ql,enter:zl,exit:Gl,join:Wl,merge:Xl,selection:Ju,order:Ul,sort:Kl,call:Ql,nodes:Jl,node:eu,size:tu,empty:nu,each:ru,attr:uu,style:pu,property:xu,classed:_u,text:ku,html:Au,raise:Lu,lower:Ru,append:$u,insert:ju,remove:zu,clone:Fu,datum:Bu,on:Xu,dispatch:Zu,[Symbol.iterator]:Qu};function ue(e){return typeof e=="string"?new de([[document.querySelector(e)]],[document.documentElement]):new de([[e]],Ls)}function ed(e){let t;for(;t=e.sourceEvent;)e=t;return e}function fe(e,t){if(e=ed(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}const td={passive:!1},ht={capture:!0,passive:!1};function wn(e){e.stopImmediatePropagation()}function We(e){e.preventDefault(),e.stopImmediatePropagation()}function Ps(e){var t=e.document.documentElement,n=ue(e).on("dragstart.drag",We,ht);"onselectstart"in t?n.on("selectstart.drag",We,ht):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function Rs(e,t){var n=e.document.documentElement,r=ue(e).on("dragstart.drag",null);t&&(r.on("click.drag",We,ht),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const Tt=e=>()=>e;function kr(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:s,x:o,y:a,dx:l,dy:d,dispatch:u}){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:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:d,enumerable:!0,configurable:!0},_:{value:u}})}kr.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function nd(e){return!e.ctrlKey&&!e.button}function rd(){return this.parentNode}function id(e,t){return t??{x:e.x,y:e.y}}function od(){return navigator.maxTouchPoints||"ontouchstart"in this}function $s(){var e=nd,t=rd,n=id,r=od,i={},s=on("start","drag","end"),o=0,a,l,d,u,c=0;function f(w){w.on("mousedown.drag",h).filter(r).on("touchstart.drag",m).on("touchmove.drag",y,td).on("touchend.drag touchcancel.drag",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(w,k){if(!(u||!e.call(this,w,k))){var _=g(this,t.call(this,w,k),w,k,"mouse");_&&(ue(w.view).on("mousemove.drag",p,ht).on("mouseup.drag",x,ht),Ps(w.view),wn(w),d=!1,a=w.clientX,l=w.clientY,_("start",w))}}function p(w){if(We(w),!d){var k=w.clientX-a,_=w.clientY-l;d=k*k+_*_>c}i.mouse("drag",w)}function x(w){ue(w.view).on("mousemove.drag mouseup.drag",null),Rs(w.view,d),We(w),i.mouse("end",w)}function m(w,k){if(e.call(this,w,k)){var _=w.changedTouches,M=t.call(this,w,k),b=_.length,N,A;for(N=0;N<b;++N)(A=g(this,M,w,k,_[N].identifier,_[N]))&&(wn(w),A("start",w,_[N]))}}function y(w){var k=w.changedTouches,_=k.length,M,b;for(M=0;M<_;++M)(b=i[k[M].identifier])&&(We(w),b("drag",w,k[M]))}function v(w){var k=w.changedTouches,_=k.length,M,b;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),M=0;M<_;++M)(b=i[k[M].identifier])&&(wn(w),b("end",w,k[M]))}function g(w,k,_,M,b,N){var A=s.copy(),S=fe(N||_,k),C,j,E;if((E=n.call(w,new kr("beforestart",{sourceEvent:_,target:f,identifier:b,active:o,x:S[0],y:S[1],dx:0,dy:0,dispatch:A}),M))!=null)return C=E.x-S[0]||0,j=E.y-S[1]||0,function P(L,D,O){var R=S,H;switch(L){case"start":i[b]=P,H=o++;break;case"end":delete i[b],--o;case"drag":S=fe(O||D,k),H=o;break}A.call(L,w,new kr(L,{sourceEvent:D,subject:E,target:f,identifier:b,active:H,x:S[0]+C,y:S[1]+j,dx:S[0]-R[0],dy:S[1]-R[1],dispatch:A}),M)}}return f.filter=function(w){return arguments.length?(e=typeof w=="function"?w:Tt(!!w),f):e},f.container=function(w){return arguments.length?(t=typeof w=="function"?w:Tt(w),f):t},f.subject=function(w){return arguments.length?(n=typeof w=="function"?w:Tt(w),f):n},f.touchable=function(w){return arguments.length?(r=typeof w=="function"?w:Tt(!!w),f):r},f.on=function(){var w=s.on.apply(s,arguments);return w===s?f:w},f.clickDistance=function(w){return arguments.length?(c=(w=+w)*w,f):Math.sqrt(c)},f}function Br(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Os(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Et(){}var pt=.7,Wt=1/pt,Xe="\\s*([+-]?\\d+)\\s*",gt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",we="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",sd=/^#([0-9a-f]{3,8})$/,ad=new RegExp(`^rgb\\(${Xe},${Xe},${Xe}\\)$`),cd=new RegExp(`^rgb\\(${we},${we},${we}\\)$`),ld=new RegExp(`^rgba\\(${Xe},${Xe},${Xe},${gt}\\)$`),ud=new RegExp(`^rgba\\(${we},${we},${we},${gt}\\)$`),dd=new RegExp(`^hsl\\(${gt},${we},${we}\\)$`),fd=new RegExp(`^hsla\\(${gt},${we},${we},${gt}\\)$`),yi={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Br(Et,ze,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:xi,formatHex:xi,formatHex8:hd,formatHsl:pd,formatRgb:wi,toString:wi});function xi(){return this.rgb().formatHex()}function hd(){return this.rgb().formatHex8()}function pd(){return js(this).formatHsl()}function wi(){return this.rgb().formatRgb()}function ze(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=sd.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?vi(t):n===3?new le(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Lt(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Lt(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=ad.exec(e))?new le(t[1],t[2],t[3],1):(t=cd.exec(e))?new le(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=ld.exec(e))?Lt(t[1],t[2],t[3],t[4]):(t=ud.exec(e))?Lt(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=dd.exec(e))?Ei(t[1],t[2]/100,t[3]/100,1):(t=fd.exec(e))?Ei(t[1],t[2]/100,t[3]/100,t[4]):yi.hasOwnProperty(e)?vi(yi[e]):e==="transparent"?new le(NaN,NaN,NaN,0):null}function vi(e){return new le(e>>16&255,e>>8&255,e&255,1)}function Lt(e,t,n,r){return r<=0&&(e=t=n=NaN),new le(e,t,n,r)}function gd(e){return e instanceof Et||(e=ze(e)),e?(e=e.rgb(),new le(e.r,e.g,e.b,e.opacity)):new le}function Cr(e,t,n,r){return arguments.length===1?gd(e):new le(e,t,n,r??1)}function le(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Br(le,Cr,Os(Et,{brighter(e){return e=e==null?Wt:Math.pow(Wt,e),new le(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?pt:Math.pow(pt,e),new le(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new le(je(this.r),je(this.g),je(this.b),Xt(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:bi,formatHex:bi,formatHex8:md,formatRgb:_i,toString:_i}));function bi(){return`#${Oe(this.r)}${Oe(this.g)}${Oe(this.b)}`}function md(){return`#${Oe(this.r)}${Oe(this.g)}${Oe(this.b)}${Oe((isNaN(this.opacity)?1:this.opacity)*255)}`}function _i(){const e=Xt(this.opacity);return`${e===1?"rgb(":"rgba("}${je(this.r)}, ${je(this.g)}, ${je(this.b)}${e===1?")":`, ${e})`}`}function Xt(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function je(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Oe(e){return e=je(e),(e<16?"0":"")+e.toString(16)}function Ei(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new he(e,t,n,r)}function js(e){if(e instanceof he)return new he(e.h,e.s,e.l,e.opacity);if(e instanceof Et||(e=ze(e)),!e)return new he;if(e instanceof he)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),s=Math.max(t,n,r),o=NaN,a=s-i,l=(s+i)/2;return a?(t===s?o=(n-r)/a+(n<r)*6:n===s?o=(r-t)/a+2:o=(t-n)/a+4,a/=l<.5?s+i:2-s-i,o*=60):a=l>0&&l<1?0:o,new he(o,a,l,e.opacity)}function yd(e,t,n,r){return arguments.length===1?js(e):new he(e,t,n,r??1)}function he(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Br(he,yd,Os(Et,{brighter(e){return e=e==null?Wt:Math.pow(Wt,e),new he(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?pt:Math.pow(pt,e),new he(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new le(vn(e>=240?e-240:e+120,i,r),vn(e,i,r),vn(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new he(Ni(this.h),Pt(this.s),Pt(this.l),Xt(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Xt(this.opacity);return`${e===1?"hsl(":"hsla("}${Ni(this.h)}, ${Pt(this.s)*100}%, ${Pt(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ni(e){return e=(e||0)%360,e<0?e+360:e}function Pt(e){return Math.max(0,Math.min(1,e||0))}function vn(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const qr=e=>()=>e;function xd(e,t){return function(n){return e+n*t}}function wd(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function vd(e){return(e=+e)==1?Ds:function(t,n){return n-t?wd(t,n,e):qr(isNaN(t)?n:t)}}function Ds(e,t){var n=t-e;return n?xd(e,n):qr(isNaN(e)?t:e)}const Ut=(function e(t){var n=vd(t);function r(i,s){var o=n((i=Cr(i)).r,(s=Cr(s)).r),a=n(i.g,s.g),l=n(i.b,s.b),d=Ds(i.opacity,s.opacity);return function(u){return i.r=o(u),i.g=a(u),i.b=l(u),i.opacity=d(u),i+""}}return r.gamma=e,r})(1);function bd(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(s){for(i=0;i<n;++i)r[i]=e[i]*(1-s)+t[i]*s;return r}}function _d(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Ed(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=new Array(r),s=new Array(n),o;for(o=0;o<r;++o)i[o]=dt(e[o],t[o]);for(;o<n;++o)s[o]=t[o];return function(a){for(o=0;o<r;++o)s[o]=i[o](a);return s}}function Nd(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function xe(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Sd(e,t){var n={},r={},i;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(i in t)i in e?n[i]=dt(e[i],t[i]):r[i]=t[i];return function(s){for(i in n)r[i]=n[i](s);return r}}var Mr=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,bn=new RegExp(Mr.source,"g");function kd(e){return function(){return e}}function Cd(e){return function(t){return e(t)+""}}function zs(e,t){var n=Mr.lastIndex=bn.lastIndex=0,r,i,s,o=-1,a=[],l=[];for(e=e+"",t=t+"";(r=Mr.exec(e))&&(i=bn.exec(t));)(s=i.index)>n&&(s=t.slice(n,s),a[o]?a[o]+=s:a[++o]=s),(r=r[0])===(i=i[0])?a[o]?a[o]+=i:a[++o]=i:(a[++o]=null,l.push({i:o,x:xe(r,i)})),n=bn.lastIndex;return n<t.length&&(s=t.slice(n),a[o]?a[o]+=s:a[++o]=s),a.length<2?l[0]?Cd(l[0].x):kd(t):(t=l.length,function(d){for(var u=0,c;u<t;++u)a[(c=l[u]).i]=c.x(d);return a.join("")})}function dt(e,t){var n=typeof t,r;return t==null||n==="boolean"?qr(t):(n==="number"?xe:n==="string"?(r=ze(t))?(t=r,Ut):zs:t instanceof ze?Ut:t instanceof Date?Nd:_d(t)?bd:Array.isArray(t)?Ed:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?Sd:xe)(e,t)}var Si=180/Math.PI,Ir={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Vs(e,t,n,r,i,s){var o,a,l;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(l=e*n+t*r)&&(n-=e*l,r-=t*l),(a=Math.sqrt(n*n+r*r))&&(n/=a,r/=a,l/=a),e*r<t*n&&(e=-e,t=-t,l=-l,o=-o),{translateX:i,translateY:s,rotate:Math.atan2(t,e)*Si,skewX:Math.atan(l)*Si,scaleX:o,scaleY:a}}var Rt;function Md(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?Ir:Vs(t.a,t.b,t.c,t.d,t.e,t.f)}function Id(e){return e==null||(Rt||(Rt=document.createElementNS("http://www.w3.org/2000/svg","g")),Rt.setAttribute("transform",e),!(e=Rt.transform.baseVal.consolidate()))?Ir:(e=e.matrix,Vs(e.a,e.b,e.c,e.d,e.e,e.f))}function Hs(e,t,n,r){function i(d){return d.length?d.pop()+" ":""}function s(d,u,c,f,h,p){if(d!==c||u!==f){var x=h.push("translate(",null,t,null,n);p.push({i:x-4,x:xe(d,c)},{i:x-2,x:xe(u,f)})}else(c||f)&&h.push("translate("+c+t+f+n)}function o(d,u,c,f){d!==u?(d-u>180?u+=360:u-d>180&&(d+=360),f.push({i:c.push(i(c)+"rotate(",null,r)-2,x:xe(d,u)})):u&&c.push(i(c)+"rotate("+u+r)}function a(d,u,c,f){d!==u?f.push({i:c.push(i(c)+"skewX(",null,r)-2,x:xe(d,u)}):u&&c.push(i(c)+"skewX("+u+r)}function l(d,u,c,f,h,p){if(d!==c||u!==f){var x=h.push(i(h)+"scale(",null,",",null,")");p.push({i:x-4,x:xe(d,c)},{i:x-2,x:xe(u,f)})}else(c!==1||f!==1)&&h.push(i(h)+"scale("+c+","+f+")")}return function(d,u){var c=[],f=[];return d=e(d),u=e(u),s(d.translateX,d.translateY,u.translateX,u.translateY,c,f),o(d.rotate,u.rotate,c,f),a(d.skewX,u.skewX,c,f),l(d.scaleX,d.scaleY,u.scaleX,u.scaleY,c,f),d=u=null,function(h){for(var p=-1,x=f.length,m;++p<x;)c[(m=f[p]).i]=m.x(h);return c.join("")}}}var Ad=Hs(Md,"px, ","px)","deg)"),Td=Hs(Id,", ",")",")"),Ld=1e-12;function ki(e){return((e=Math.exp(e))+1/e)/2}function Pd(e){return((e=Math.exp(e))-1/e)/2}function Rd(e){return((e=Math.exp(2*e))-1)/(e+1)}const Ft=(function e(t,n,r){function i(s,o){var a=s[0],l=s[1],d=s[2],u=o[0],c=o[1],f=o[2],h=u-a,p=c-l,x=h*h+p*p,m,y;if(x<Ld)y=Math.log(f/d)/t,m=function(M){return[a+M*h,l+M*p,d*Math.exp(t*M*y)]};else{var v=Math.sqrt(x),g=(f*f-d*d+r*x)/(2*d*n*v),w=(f*f-d*d-r*x)/(2*f*n*v),k=Math.log(Math.sqrt(g*g+1)-g),_=Math.log(Math.sqrt(w*w+1)-w);y=(_-k)/t,m=function(M){var b=M*y,N=ki(k),A=d/(n*v)*(N*Rd(t*b+k)-Pd(k));return[a+A*h,l+A*p,d*N/ki(t*b+k)]}}return m.duration=y*1e3*t/Math.SQRT2,m}return i.rho=function(s){var o=Math.max(.001,+s),a=o*o,l=a*a;return e(o,a,l)},i})(Math.SQRT2,2,4);var Ke=0,lt=0,at=0,Fs=1e3,Kt,ut,Zt=0,Ve=0,an=0,mt=typeof performance=="object"&&performance.now?performance:Date,Bs=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Yr(){return Ve||(Bs($d),Ve=mt.now()+an)}function $d(){Ve=0}function Qt(){this._call=this._time=this._next=null}Qt.prototype=qs.prototype={constructor:Qt,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?Yr():+n)+(t==null?0:+t),!this._next&&ut!==this&&(ut?ut._next=this:Kt=this,ut=this),this._call=e,this._time=n,Ar()},stop:function(){this._call&&(this._call=null,this._time=1/0,Ar())}};function qs(e,t,n){var r=new Qt;return r.restart(e,t,n),r}function Od(){Yr(),++Ke;for(var e=Kt,t;e;)(t=Ve-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Ke}function Ci(){Ve=(Zt=mt.now())+an,Ke=lt=0;try{Od()}finally{Ke=0,Dd(),Ve=0}}function jd(){var e=mt.now(),t=e-Zt;t>Fs&&(an-=t,Zt=e)}function Dd(){for(var e,t=Kt,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Kt=n);ut=e,Ar(r)}function Ar(e){if(!Ke){lt&&(lt=clearTimeout(lt));var t=e-Ve;t>24?(e<1/0&&(lt=setTimeout(Ci,e-mt.now()-an)),at&&(at=clearInterval(at))):(at||(Zt=mt.now(),at=setInterval(jd,Fs)),Ke=1,Bs(Ci))}}function Mi(e,t,n){var r=new Qt;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var zd=on("start","end","cancel","interrupt"),Vd=[],Ys=0,Ii=1,Tr=2,Bt=3,Ai=4,Lr=5,qt=6;function cn(e,t,n,r,i,s){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;Hd(e,n,{name:t,index:r,group:i,on:zd,tween:Vd,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:Ys})}function Gr(e,t){var n=ye(e,t);if(n.state>Ys)throw new Error("too late; already scheduled");return n}function be(e,t){var n=ye(e,t);if(n.state>Bt)throw new Error("too late; already running");return n}function ye(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Hd(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=qs(s,0,n.time);function s(d){n.state=Ii,n.timer.restart(o,n.delay,n.time),n.delay<=d&&o(d-n.delay)}function o(d){var u,c,f,h;if(n.state!==Ii)return l();for(u in r)if(h=r[u],h.name===n.name){if(h.state===Bt)return Mi(o);h.state===Ai?(h.state=qt,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[u]):+u<t&&(h.state=qt,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[u])}if(Mi(function(){n.state===Bt&&(n.state=Ai,n.timer.restart(a,n.delay,n.time),a(d))}),n.state=Tr,n.on.call("start",e,e.__data__,n.index,n.group),n.state===Tr){for(n.state=Bt,i=new Array(f=n.tween.length),u=0,c=-1;u<f;++u)(h=n.tween[u].value.call(e,e.__data__,n.index,n.group))&&(i[++c]=h);i.length=c+1}}function a(d){for(var u=d<n.duration?n.ease.call(null,d/n.duration):(n.timer.restart(l),n.state=Lr,1),c=-1,f=i.length;++c<f;)i[c].call(e,u);n.state===Lr&&(n.on.call("end",e,e.__data__,n.index,n.group),l())}function l(){n.state=qt,n.timer.stop(),delete r[t];for(var d in r)return;delete e.__transition}}function Yt(e,t){var n=e.__transition,r,i,s=!0,o;if(n){t=t==null?null:t+"";for(o in n){if((r=n[o]).name!==t){s=!1;continue}i=r.state>Tr&&r.state<Lr,r.state=qt,r.timer.stop(),r.on.call(i?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[o]}s&&delete e.__transition}}function Fd(e){return this.each(function(){Yt(this,e)})}function Bd(e,t){var n,r;return function(){var i=be(this,e),s=i.tween;if(s!==n){r=n=s;for(var o=0,a=r.length;o<a;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function qd(e,t,n){var r,i;if(typeof n!="function")throw new Error;return function(){var s=be(this,e),o=s.tween;if(o!==r){i=(r=o).slice();for(var a={name:t,value:n},l=0,d=i.length;l<d;++l)if(i[l].name===t){i[l]=a;break}l===d&&i.push(a)}s.tween=i}}function Yd(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=ye(this.node(),n).tween,i=0,s=r.length,o;i<s;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?Bd:qd)(n,e,t))}function Wr(e,t,n){var r=e._id;return e.each(function(){var i=be(this,r);(i.value||(i.value={}))[t]=n.apply(this,arguments)}),function(i){return ye(i,r).value[t]}}function Gs(e,t){var n;return(typeof t=="number"?xe:t instanceof ze?Ut:(n=ze(t))?(t=n,Ut):zs)(e,t)}function Gd(e){return function(){this.removeAttribute(e)}}function Wd(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Xd(e,t,n){var r,i=n+"",s;return function(){var o=this.getAttribute(e);return o===i?null:o===r?s:s=t(r=o,n)}}function Ud(e,t,n){var r,i=n+"",s;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?s:s=t(r=o,n)}}function Kd(e,t,n){var r,i,s;return function(){var o,a=n(this),l;return a==null?void this.removeAttribute(e):(o=this.getAttribute(e),l=a+"",o===l?null:o===r&&l===i?s:(i=l,s=t(r=o,a)))}}function Zd(e,t,n){var r,i,s;return function(){var o,a=n(this),l;return a==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),l=a+"",o===l?null:o===r&&l===i?s:(i=l,s=t(r=o,a)))}}function Qd(e,t){var n=sn(e),r=n==="transform"?Td:Gs;return this.attrTween(e,typeof t=="function"?(n.local?Zd:Kd)(n,r,Wr(this,"attr."+e,t)):t==null?(n.local?Wd:Gd)(n):(n.local?Ud:Xd)(n,r,t))}function Jd(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function ef(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function tf(e,t){var n,r;function i(){var s=t.apply(this,arguments);return s!==r&&(n=(r=s)&&ef(e,s)),n}return i._value=t,i}function nf(e,t){var n,r;function i(){var s=t.apply(this,arguments);return s!==r&&(n=(r=s)&&Jd(e,s)),n}return i._value=t,i}function rf(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 r=sn(e);return this.tween(n,(r.local?tf:nf)(r,t))}function of(e,t){return function(){Gr(this,e).delay=+t.apply(this,arguments)}}function sf(e,t){return t=+t,function(){Gr(this,e).delay=t}}function af(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?of:sf)(t,e)):ye(this.node(),t).delay}function cf(e,t){return function(){be(this,e).duration=+t.apply(this,arguments)}}function lf(e,t){return t=+t,function(){be(this,e).duration=t}}function uf(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?cf:lf)(t,e)):ye(this.node(),t).duration}function df(e,t){if(typeof t!="function")throw new Error;return function(){be(this,e).ease=t}}function ff(e){var t=this._id;return arguments.length?this.each(df(t,e)):ye(this.node(),t).ease}function hf(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;be(this,e).ease=n}}function pf(e){if(typeof e!="function")throw new Error;return this.each(hf(this._id,e))}function gf(e){typeof e!="function"&&(e=Es(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var s=t[i],o=s.length,a=r[i]=[],l,d=0;d<o;++d)(l=s[d])&&e.call(l,l.__data__,d,s)&&a.push(l);return new Se(r,this._parents,this._name,this._id)}function mf(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,i=n.length,s=Math.min(r,i),o=new Array(r),a=0;a<s;++a)for(var l=t[a],d=n[a],u=l.length,c=o[a]=new Array(u),f,h=0;h<u;++h)(f=l[h]||d[h])&&(c[h]=f);for(;a<r;++a)o[a]=t[a];return new Se(o,this._parents,this._name,this._id)}function yf(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 xf(e,t,n){var r,i,s=yf(t)?Gr:be;return function(){var o=s(this,e),a=o.on;a!==r&&(i=(r=a).copy()).on(t,n),o.on=i}}function wf(e,t){var n=this._id;return arguments.length<2?ye(this.node(),n).on.on(e):this.each(xf(n,e,t))}function vf(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function bf(){return this.on("end.remove",vf(this._id))}function _f(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Hr(e));for(var r=this._groups,i=r.length,s=new Array(i),o=0;o<i;++o)for(var a=r[o],l=a.length,d=s[o]=new Array(l),u,c,f=0;f<l;++f)(u=a[f])&&(c=e.call(u,u.__data__,f,a))&&("__data__"in u&&(c.__data__=u.__data__),d[f]=c,cn(d[f],t,n,f,d,ye(u,n)));return new Se(s,this._parents,t,n)}function Ef(e){var t=this._name,n=this._id;typeof e!="function"&&(e=_s(e));for(var r=this._groups,i=r.length,s=[],o=[],a=0;a<i;++a)for(var l=r[a],d=l.length,u,c=0;c<d;++c)if(u=l[c]){for(var f=e.call(u,u.__data__,c,l),h,p=ye(u,n),x=0,m=f.length;x<m;++x)(h=f[x])&&cn(h,t,n,x,f,p);s.push(f),o.push(u)}return new Se(s,o,t,n)}var Nf=_t.prototype.constructor;function Sf(){return new Nf(this._groups,this._parents)}function kf(e,t){var n,r,i;return function(){var s=Ue(this,e),o=(this.style.removeProperty(e),Ue(this,e));return s===o?null:s===n&&o===r?i:i=t(n=s,r=o)}}function Ws(e){return function(){this.style.removeProperty(e)}}function Cf(e,t,n){var r,i=n+"",s;return function(){var o=Ue(this,e);return o===i?null:o===r?s:s=t(r=o,n)}}function Mf(e,t,n){var r,i,s;return function(){var o=Ue(this,e),a=n(this),l=a+"";return a==null&&(l=a=(this.style.removeProperty(e),Ue(this,e))),o===l?null:o===r&&l===i?s:(i=l,s=t(r=o,a))}}function If(e,t){var n,r,i,s="style."+t,o="end."+s,a;return function(){var l=be(this,e),d=l.on,u=l.value[s]==null?a||(a=Ws(t)):void 0;(d!==n||i!==u)&&(r=(n=d).copy()).on(o,i=u),l.on=r}}function Af(e,t,n){var r=(e+="")=="transform"?Ad:Gs;return t==null?this.styleTween(e,kf(e,r)).on("end.style."+e,Ws(e)):typeof t=="function"?this.styleTween(e,Mf(e,r,Wr(this,"style."+e,t))).each(If(this._id,e)):this.styleTween(e,Cf(e,r,t),n).on("end.style."+e,null)}function Tf(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function Lf(e,t,n){var r,i;function s(){var o=t.apply(this,arguments);return o!==i&&(r=(i=o)&&Tf(e,o,n)),r}return s._value=t,s}function Pf(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,Lf(e,t,n??""))}function Rf(e){return function(){this.textContent=e}}function $f(e){return function(){var t=e(this);this.textContent=t??""}}function Of(e){return this.tween("text",typeof e=="function"?$f(Wr(this,"text",e)):Rf(e==null?"":e+""))}function jf(e){return function(t){this.textContent=e.call(this,t)}}function Df(e){var t,n;function r(){var i=e.apply(this,arguments);return i!==n&&(t=(n=i)&&jf(i)),t}return r._value=e,r}function zf(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,Df(e))}function Vf(){for(var e=this._name,t=this._id,n=Xs(),r=this._groups,i=r.length,s=0;s<i;++s)for(var o=r[s],a=o.length,l,d=0;d<a;++d)if(l=o[d]){var u=ye(l,t);cn(l,e,n,d,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Se(r,this._parents,e,n)}function Hf(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(s,o){var a={value:o},l={value:function(){--i===0&&s()}};n.each(function(){var d=be(this,r),u=d.on;u!==e&&(t=(e=u).copy(),t._.cancel.push(a),t._.interrupt.push(a),t._.end.push(l)),d.on=t}),i===0&&s()})}var Ff=0;function Se(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Xs(){return++Ff}var Ee=_t.prototype;Se.prototype={constructor:Se,select:_f,selectAll:Ef,selectChild:Ee.selectChild,selectChildren:Ee.selectChildren,filter:gf,merge:mf,selection:Sf,transition:Vf,call:Ee.call,nodes:Ee.nodes,node:Ee.node,size:Ee.size,empty:Ee.empty,each:Ee.each,on:wf,attr:Qd,attrTween:rf,style:Af,styleTween:Pf,text:Of,textTween:zf,remove:bf,tween:Yd,delay:af,duration:uf,ease:ff,easeVarying:pf,end:Hf,[Symbol.iterator]:Ee[Symbol.iterator]};function Bf(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var qf={time:null,delay:0,duration:250,ease:Bf};function Yf(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 Gf(e){var t,n;e instanceof Se?(t=e._id,e=e._name):(t=Xs(),(n=qf).time=Yr(),e=e==null?null:e+"");for(var r=this._groups,i=r.length,s=0;s<i;++s)for(var o=r[s],a=o.length,l,d=0;d<a;++d)(l=o[d])&&cn(l,e,t,d,o,n||Yf(l,t));return new Se(r,this._parents,e,t)}_t.prototype.interrupt=Fd;_t.prototype.transition=Gf;const $t=e=>()=>e;function Wf(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){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:r,enumerable:!0,configurable:!0},_:{value:i}})}function Ne(e,t,n){this.k=e,this.x=t,this.y=n}Ne.prototype={constructor:Ne,scale:function(e){return e===1?this:new Ne(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Ne(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 ln=new Ne(1,0,0);Us.prototype=Ne.prototype;function Us(e){for(;!e.__zoom;)if(!(e=e.parentNode))return ln;return e.__zoom}function _n(e){e.stopImmediatePropagation()}function ct(e){e.preventDefault(),e.stopImmediatePropagation()}function Xf(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Uf(){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 Ti(){return this.__zoom||ln}function Kf(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Zf(){return navigator.maxTouchPoints||"ontouchstart"in this}function Qf(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],s=e.invertY(t[0][1])-n[0][1],o=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>s?(s+o)/2:Math.min(0,s)||Math.max(0,o))}function Ks(){var e=Xf,t=Uf,n=Qf,r=Kf,i=Zf,s=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],a=250,l=Ft,d=on("start","zoom","end"),u,c,f,h=500,p=150,x=0,m=10;function y(E){E.property("__zoom",Ti).on("wheel.zoom",b,{passive:!1}).on("mousedown.zoom",N).on("dblclick.zoom",A).filter(i).on("touchstart.zoom",S).on("touchmove.zoom",C).on("touchend.zoom touchcancel.zoom",j).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(E,P,L,D){var O=E.selection?E.selection():E;O.property("__zoom",Ti),E!==O?k(E,P,L,D):O.interrupt().each(function(){_(this,arguments).event(D).start().zoom(null,typeof P=="function"?P.apply(this,arguments):P).end()})},y.scaleBy=function(E,P,L,D){y.scaleTo(E,function(){var O=this.__zoom.k,R=typeof P=="function"?P.apply(this,arguments):P;return O*R},L,D)},y.scaleTo=function(E,P,L,D){y.transform(E,function(){var O=t.apply(this,arguments),R=this.__zoom,H=L==null?w(O):typeof L=="function"?L.apply(this,arguments):L,q=R.invert(H),F=typeof P=="function"?P.apply(this,arguments):P;return n(g(v(R,F),H,q),O,o)},L,D)},y.translateBy=function(E,P,L,D){y.transform(E,function(){return n(this.__zoom.translate(typeof P=="function"?P.apply(this,arguments):P,typeof L=="function"?L.apply(this,arguments):L),t.apply(this,arguments),o)},null,D)},y.translateTo=function(E,P,L,D,O){y.transform(E,function(){var R=t.apply(this,arguments),H=this.__zoom,q=D==null?w(R):typeof D=="function"?D.apply(this,arguments):D;return n(ln.translate(q[0],q[1]).scale(H.k).translate(typeof P=="function"?-P.apply(this,arguments):-P,typeof L=="function"?-L.apply(this,arguments):-L),R,o)},D,O)};function v(E,P){return P=Math.max(s[0],Math.min(s[1],P)),P===E.k?E:new Ne(P,E.x,E.y)}function g(E,P,L){var D=P[0]-L[0]*E.k,O=P[1]-L[1]*E.k;return D===E.x&&O===E.y?E:new Ne(E.k,D,O)}function w(E){return[(+E[0][0]+ +E[1][0])/2,(+E[0][1]+ +E[1][1])/2]}function k(E,P,L,D){E.on("start.zoom",function(){_(this,arguments).event(D).start()}).on("interrupt.zoom end.zoom",function(){_(this,arguments).event(D).end()}).tween("zoom",function(){var O=this,R=arguments,H=_(O,R).event(D),q=t.apply(O,R),F=L==null?w(q):typeof L=="function"?L.apply(O,R):L,T=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),$=O.__zoom,z=typeof P=="function"?P.apply(O,R):P,B=l($.invert(F).concat(T/$.k),z.invert(F).concat(T/z.k));return function(G){if(G===1)G=z;else{var Y=B(G),W=T/Y[2];G=new Ne(W,F[0]-Y[0]*W,F[1]-Y[1]*W)}H.zoom(null,G)}})}function _(E,P,L){return!L&&E.__zooming||new M(E,P)}function M(E,P){this.that=E,this.args=P,this.active=0,this.sourceEvent=null,this.extent=t.apply(E,P),this.taps=0}M.prototype={event:function(E){return E&&(this.sourceEvent=E),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(E,P){return this.mouse&&E!=="mouse"&&(this.mouse[1]=P.invert(this.mouse[0])),this.touch0&&E!=="touch"&&(this.touch0[1]=P.invert(this.touch0[0])),this.touch1&&E!=="touch"&&(this.touch1[1]=P.invert(this.touch1[0])),this.that.__zoom=P,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(E){var P=ue(this.that).datum();d.call(E,this.that,new Wf(E,{sourceEvent:this.sourceEvent,target:y,transform:this.that.__zoom,dispatch:d}),P)}};function b(E,...P){if(!e.apply(this,arguments))return;var L=_(this,P).event(E),D=this.__zoom,O=Math.max(s[0],Math.min(s[1],D.k*Math.pow(2,r.apply(this,arguments)))),R=fe(E);if(L.wheel)(L.mouse[0][0]!==R[0]||L.mouse[0][1]!==R[1])&&(L.mouse[1]=D.invert(L.mouse[0]=R)),clearTimeout(L.wheel);else{if(D.k===O)return;L.mouse=[R,D.invert(R)],Yt(this),L.start()}ct(E),L.wheel=setTimeout(H,p),L.zoom("mouse",n(g(v(D,O),L.mouse[0],L.mouse[1]),L.extent,o));function H(){L.wheel=null,L.end()}}function N(E,...P){if(f||!e.apply(this,arguments))return;var L=E.currentTarget,D=_(this,P,!0).event(E),O=ue(E.view).on("mousemove.zoom",F,!0).on("mouseup.zoom",T,!0),R=fe(E,L),H=E.clientX,q=E.clientY;Ps(E.view),_n(E),D.mouse=[R,this.__zoom.invert(R)],Yt(this),D.start();function F($){if(ct($),!D.moved){var z=$.clientX-H,B=$.clientY-q;D.moved=z*z+B*B>x}D.event($).zoom("mouse",n(g(D.that.__zoom,D.mouse[0]=fe($,L),D.mouse[1]),D.extent,o))}function T($){O.on("mousemove.zoom mouseup.zoom",null),Rs($.view,D.moved),ct($),D.event($).end()}}function A(E,...P){if(e.apply(this,arguments)){var L=this.__zoom,D=fe(E.changedTouches?E.changedTouches[0]:E,this),O=L.invert(D),R=L.k*(E.shiftKey?.5:2),H=n(g(v(L,R),D,O),t.apply(this,P),o);ct(E),a>0?ue(this).transition().duration(a).call(k,H,D,E):ue(this).call(y.transform,H,D,E)}}function S(E,...P){if(e.apply(this,arguments)){var L=E.touches,D=L.length,O=_(this,P,E.changedTouches.length===D).event(E),R,H,q,F;for(_n(E),H=0;H<D;++H)q=L[H],F=fe(q,this),F=[F,this.__zoom.invert(F),q.identifier],O.touch0?!O.touch1&&O.touch0[2]!==F[2]&&(O.touch1=F,O.taps=0):(O.touch0=F,R=!0,O.taps=1+!!u);u&&(u=clearTimeout(u)),R&&(O.taps<2&&(c=F[0],u=setTimeout(function(){u=null},h)),Yt(this),O.start())}}function C(E,...P){if(this.__zooming){var L=_(this,P).event(E),D=E.changedTouches,O=D.length,R,H,q,F;for(ct(E),R=0;R<O;++R)H=D[R],q=fe(H,this),L.touch0&&L.touch0[2]===H.identifier?L.touch0[0]=q:L.touch1&&L.touch1[2]===H.identifier&&(L.touch1[0]=q);if(H=L.that.__zoom,L.touch1){var T=L.touch0[0],$=L.touch0[1],z=L.touch1[0],B=L.touch1[1],G=(G=z[0]-T[0])*G+(G=z[1]-T[1])*G,Y=(Y=B[0]-$[0])*Y+(Y=B[1]-$[1])*Y;H=v(H,Math.sqrt(G/Y)),q=[(T[0]+z[0])/2,(T[1]+z[1])/2],F=[($[0]+B[0])/2,($[1]+B[1])/2]}else if(L.touch0)q=L.touch0[0],F=L.touch0[1];else return;L.zoom("touch",n(g(H,q,F),L.extent,o))}}function j(E,...P){if(this.__zooming){var L=_(this,P).event(E),D=E.changedTouches,O=D.length,R,H;for(_n(E),f&&clearTimeout(f),f=setTimeout(function(){f=null},h),R=0;R<O;++R)H=D[R],L.touch0&&L.touch0[2]===H.identifier?delete L.touch0:L.touch1&&L.touch1[2]===H.identifier&&delete L.touch1;if(L.touch1&&!L.touch0&&(L.touch0=L.touch1,delete L.touch1),L.touch0)L.touch0[1]=this.__zoom.invert(L.touch0[0]);else if(L.end(),L.taps===2&&(H=fe(H,this),Math.hypot(c[0]-H[0],c[1]-H[1])<m)){var q=ue(this).on("dblclick.zoom");q&&q.apply(this,arguments)}}}return y.wheelDelta=function(E){return arguments.length?(r=typeof E=="function"?E:$t(+E),y):r},y.filter=function(E){return arguments.length?(e=typeof E=="function"?E:$t(!!E),y):e},y.touchable=function(E){return arguments.length?(i=typeof E=="function"?E:$t(!!E),y):i},y.extent=function(E){return arguments.length?(t=typeof E=="function"?E:$t([[+E[0][0],+E[0][1]],[+E[1][0],+E[1][1]]]),y):t},y.scaleExtent=function(E){return arguments.length?(s[0]=+E[0],s[1]=+E[1],y):[s[0],s[1]]},y.translateExtent=function(E){return arguments.length?(o[0][0]=+E[0][0],o[1][0]=+E[1][0],o[0][1]=+E[0][1],o[1][1]=+E[1][1],y):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},y.constrain=function(E){return arguments.length?(n=E,y):n},y.duration=function(E){return arguments.length?(a=+E,y):a},y.interpolate=function(E){return arguments.length?(l=E,y):l},y.on=function(){var E=d.on.apply(d,arguments);return E===d?y:E},y.clickDistance=function(E){return arguments.length?(x=(E=+E)*E,y):Math.sqrt(x)},y.tapDistance=function(E){return arguments.length?(m=+E,y):m},y}const ve={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.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 React Flow 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:r})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:r}", 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."},yt=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Zs=["Enter"," ","Escape"],Qs={"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"};var Ze;(function(e){e.Strict="strict",e.Loose="loose"})(Ze||(Ze={}));var De;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(De||(De={}));var xt;(function(e){e.Partial="partial",e.Full="full"})(xt||(xt={}));const Js={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Ae;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Ae||(Ae={}));var Jt;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Jt||(Jt={}));var K;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(K||(K={}));const Li={[K.Left]:K.Right,[K.Right]:K.Left,[K.Top]:K.Bottom,[K.Bottom]:K.Top};function ea(e){return e===null?null:e?"valid":"invalid"}const ta=e=>"id"in e&&"source"in e&&"target"in e,Jf=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Xr=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Nt=(e,t=[0,0])=>{const{width:n,height:r}=ke(e),i=e.origin??t,s=n*i[0],o=r*i[1];return{x:e.position.x-s,y:e.position.y-o}},eh=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const s=typeof i=="string";let o=!t.nodeLookup&&!s?i:void 0;t.nodeLookup&&(o=s?t.nodeLookup.get(i):Xr(i)?i:t.nodeLookup.get(i.id));const a=o?en(o,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return un(r,a)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return dn(n)},St=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(i=>{(t.filter===void 0||t.filter(i))&&(n=un(n,en(i)),r=!0)}),r?dn(n):{x:0,y:0,width:0,height:0}},Ur=(e,t,[n,r,i]=[0,0,1],s=!1,o=!1)=>{const a={...Ct(t,[n,r,i]),width:t.width/i,height:t.height/i},l=[];for(const d of e.values()){const{measured:u,selectable:c=!0,hidden:f=!1}=d;if(o&&!c||f)continue;const h=u.width??d.width??d.initialWidth??null,p=u.height??d.height??d.initialHeight??null,x=wt(a,Je(d)),m=(h??0)*(p??0),y=s&&x>0;(!d.internals.handleBounds||y||x>=m||d.dragging)&&l.push(d)}return l},th=(e,t)=>{const n=new Set;return e.forEach(r=>{n.add(r.id)}),t.filter(r=>n.has(r.source)||n.has(r.target))};function nh(e,t){const n=new Map,r=t!=null&&t.nodes?new Set(t.nodes.map(i=>i.id)):null;return e.forEach(i=>{i.measured.width&&i.measured.height&&((t==null?void 0:t.includeHiddenNodes)||!i.hidden)&&(!r||r.has(i.id))&&n.set(i.id,i)}),n}async function rh({nodes:e,width:t,height:n,panZoom:r,minZoom:i,maxZoom:s},o){if(e.size===0)return Promise.resolve(!0);const a=nh(e,o),l=St(a),d=Kr(l,t,n,(o==null?void 0:o.minZoom)??i,(o==null?void 0:o.maxZoom)??s,(o==null?void 0:o.padding)??.1);return await r.setViewport(d,{duration:o==null?void 0:o.duration,ease:o==null?void 0:o.ease,interpolate:o==null?void 0:o.interpolate}),Promise.resolve(!0)}function na({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:i,onError:s}){const o=n.get(e),a=o.parentId?n.get(o.parentId):void 0,{x:l,y:d}=a?a.internals.positionAbsolute:{x:0,y:0},u=o.origin??r;let c=o.extent||i;if(o.extent==="parent"&&!o.expandParent)if(!a)s==null||s("005",ve.error005());else{const h=a.measured.width,p=a.measured.height;h&&p&&(c=[[l,d],[l+h,d+p]])}else a&&et(o.extent)&&(c=[[o.extent[0][0]+l,o.extent[0][1]+d],[o.extent[1][0]+l,o.extent[1][1]+d]]);const f=et(c)?He(t,c,o.measured):t;return(o.measured.width===void 0||o.measured.height===void 0)&&(s==null||s("015",ve.error015())),{position:{x:f.x-l+(o.measured.width??0)*u[0],y:f.y-d+(o.measured.height??0)*u[1]},positionAbsolute:f}}async function ih({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:i}){const s=new Set(e.map(f=>f.id)),o=[];for(const f of n){if(f.deletable===!1)continue;const h=s.has(f.id),p=!h&&f.parentId&&o.find(x=>x.id===f.parentId);(h||p)&&o.push(f)}const a=new Set(t.map(f=>f.id)),l=r.filter(f=>f.deletable!==!1),u=th(o,l);for(const f of l)a.has(f.id)&&!u.find(p=>p.id===f.id)&&u.push(f);if(!i)return{edges:u,nodes:o};const c=await i({nodes:o,edges:u});return typeof c=="boolean"?c?{edges:u,nodes:o}:{edges:[],nodes:[]}:c}const Qe=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),He=(e={x:0,y:0},t,n)=>({x:Qe(e.x,t[0][0],t[1][0]-((n==null?void 0:n.width)??0)),y:Qe(e.y,t[0][1],t[1][1]-((n==null?void 0:n.height)??0))});function ra(e,t,n){const{width:r,height:i}=ke(n),{x:s,y:o}=n.internals.positionAbsolute;return He(e,[[s,o],[s+r,o+i]],t)}const Pi=(e,t,n)=>e<t?Qe(Math.abs(e-t),1,t)/t:e>n?-Qe(Math.abs(e-n),1,t)/t:0,ia=(e,t,n=15,r=40)=>{const i=Pi(e.x,r,t.width-r)*n,s=Pi(e.y,r,t.height-r)*n;return[i,s]},un=(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)}),Pr=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),dn=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),Je=(e,t=[0,0])=>{var i,s;const{x:n,y:r}=Xr(e)?e.internals.positionAbsolute:Nt(e,t);return{x:n,y:r,width:((i=e.measured)==null?void 0:i.width)??e.width??e.initialWidth??0,height:((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0}},en=(e,t=[0,0])=>{var i,s;const{x:n,y:r}=Xr(e)?e.internals.positionAbsolute:Nt(e,t);return{x:n,y:r,x2:n+(((i=e.measured)==null?void 0:i.width)??e.width??e.initialWidth??0),y2:r+(((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0)}},oa=(e,t)=>dn(un(Pr(e),Pr(t))),wt=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},Ri=e=>pe(e.width)&&pe(e.height)&&pe(e.x)&&pe(e.y),pe=e=>!isNaN(e)&&isFinite(e),oh=(e,t)=>{},kt=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Ct=({x:e,y:t},[n,r,i],s=!1,o=[1,1])=>{const a={x:(e-n)/i,y:(t-r)/i};return s?kt(a,o):a},tn=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r});function qe(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function sh(e,t,n){if(typeof e=="string"||typeof e=="number"){const r=qe(e,n),i=qe(e,t);return{top:r,right:i,bottom:r,left:i,x:i*2,y:r*2}}if(typeof e=="object"){const r=qe(e.top??e.y??0,n),i=qe(e.bottom??e.y??0,n),s=qe(e.left??e.x??0,t),o=qe(e.right??e.x??0,t);return{top:r,right:o,bottom:i,left:s,x:s+o,y:r+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function ah(e,t,n,r,i,s){const{x:o,y:a}=tn(e,[t,n,r]),{x:l,y:d}=tn({x:e.x+e.width,y:e.y+e.height},[t,n,r]),u=i-l,c=s-d;return{left:Math.floor(o),top:Math.floor(a),right:Math.floor(u),bottom:Math.floor(c)}}const Kr=(e,t,n,r,i,s)=>{const o=sh(s,t,n),a=(t-o.x)/e.width,l=(n-o.y)/e.height,d=Math.min(a,l),u=Qe(d,r,i),c=e.x+e.width/2,f=e.y+e.height/2,h=t/2-c*u,p=n/2-f*u,x=ah(e,h,p,u,t,n),m={left:Math.min(x.left-o.left,0),top:Math.min(x.top-o.top,0),right:Math.min(x.right-o.right,0),bottom:Math.min(x.bottom-o.bottom,0)};return{x:h-m.left+m.right,y:p-m.top+m.bottom,zoom:u}},vt=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function et(e){return e!=null&&e!=="parent"}function ke(e){var t,n;return{width:((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth??0,height:((n=e.measured)==null?void 0:n.height)??e.height??e.initialHeight??0}}function sa(e){var t,n;return(((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth)!==void 0&&(((n=e.measured)==null?void 0:n.height)??e.height??e.initialHeight)!==void 0}function aa(e,t={width:0,height:0},n,r,i){const s={...e},o=r.get(n);if(o){const a=o.origin||i;s.x+=o.internals.positionAbsolute.x-(t.width??0)*a[0],s.y+=o.internals.positionAbsolute.y-(t.height??0)*a[1]}return s}function $i(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function ch(){let e,t;return{promise:new Promise((r,i)=>{e=r,t=i}),resolve:e,reject:t}}function lh(e){return{...Qs,...e||{}}}function ft(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:i}){const{x:s,y:o}=ge(e),a=Ct({x:s-((i==null?void 0:i.left)??0),y:o-((i==null?void 0:i.top)??0)},r),{x:l,y:d}=n?kt(a,t):a;return{xSnapped:l,ySnapped:d,...a}}const Zr=e=>({width:e.offsetWidth,height:e.offsetHeight}),ca=e=>{var t;return((t=e==null?void 0:e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},uh=["INPUT","SELECT","TEXTAREA"];function la(e){var r,i;const t=((i=(r=e.composedPath)==null?void 0:r.call(e))==null?void 0:i[0])||e.target;return(t==null?void 0:t.nodeType)!==1?!1:uh.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const ua=e=>"clientX"in e,ge=(e,t)=>{var s,o;const n=ua(e),r=n?e.clientX:(s=e.touches)==null?void 0:s[0].clientX,i=n?e.clientY:(o=e.touches)==null?void 0:o[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},Oi=(e,t,n,r,i)=>{const s=t.querySelectorAll(`.${e}`);return!s||!s.length?null:Array.from(s).map(o=>{const a=o.getBoundingClientRect();return{id:o.getAttribute("data-handleid"),type:e,nodeId:i,position:o.getAttribute("data-handlepos"),x:(a.left-n.left)/r,y:(a.top-n.top)/r,...Zr(o)}})};function da({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:s,targetControlX:o,targetControlY:a}){const l=e*.125+i*.375+o*.375+n*.125,d=t*.125+s*.375+a*.375+r*.125,u=Math.abs(l-e),c=Math.abs(d-t);return[l,d,u,c]}function Ot(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function ji({pos:e,x1:t,y1:n,x2:r,y2:i,c:s}){switch(e){case K.Left:return[t-Ot(t-r,s),n];case K.Right:return[t+Ot(r-t,s),n];case K.Top:return[t,n-Ot(n-i,s)];case K.Bottom:return[t,n+Ot(i-n,s)]}}function Qr({sourceX:e,sourceY:t,sourcePosition:n=K.Bottom,targetX:r,targetY:i,targetPosition:s=K.Top,curvature:o=.25}){const[a,l]=ji({pos:n,x1:e,y1:t,x2:r,y2:i,c:o}),[d,u]=ji({pos:s,x1:r,y1:i,x2:e,y2:t,c:o}),[c,f,h,p]=da({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:d,targetControlY:u});return[`M${e},${t} C${a},${l} ${d},${u} ${r},${i}`,c,f,h,p]}function fa({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,s=n<e?n+i:n-i,o=Math.abs(r-t)/2,a=r<t?r+o:r-o;return[s,a,i,o]}function dh({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:i=!1,zIndexMode:s="basic"}){if(s==="manual")return r;const o=i&&n?r+1e3:r,a=Math.max(e.parentId||i&&e.selected?e.internals.z:0,t.parentId||i&&t.selected?t.internals.z:0);return o+a}function fh({sourceNode:e,targetNode:t,width:n,height:r,transform:i}){const s=un(en(e),en(t));s.x===s.x2&&(s.x2+=1),s.y===s.y2&&(s.y2+=1);const o={x:-i[0]/i[2],y:-i[1]/i[2],width:n/i[2],height:r/i[2]};return wt(o,dn(s))>0}const hh=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,ph=(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)),gh=(e,t,n={})=>{if(!e.source||!e.target)return t;const r=n.getEdgeId||hh;let i;return ta(e)?i={...e}:i={...e,id:r(e)},ph(i,t)?t:(i.sourceHandle===null&&delete i.sourceHandle,i.targetHandle===null&&delete i.targetHandle,t.concat(i))};function ha({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,s,o,a]=fa({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,s,o,a]}const Di={[K.Left]:{x:-1,y:0},[K.Right]:{x:1,y:0},[K.Top]:{x:0,y:-1},[K.Bottom]:{x:0,y:1}},mh=({source:e,sourcePosition:t=K.Bottom,target:n})=>t===K.Left||t===K.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},zi=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function yh({source:e,sourcePosition:t=K.Bottom,target:n,targetPosition:r=K.Top,center:i,offset:s,stepPosition:o}){const a=Di[t],l=Di[r],d={x:e.x+a.x*s,y:e.y+a.y*s},u={x:n.x+l.x*s,y:n.y+l.y*s},c=mh({source:d,sourcePosition:t,target:u}),f=c.x!==0?"x":"y",h=c[f];let p=[],x,m;const y={x:0,y:0},v={x:0,y:0},[,,g,w]=fa({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(a[f]*l[f]===-1){f==="x"?(x=i.x??d.x+(u.x-d.x)*o,m=i.y??(d.y+u.y)/2):(x=i.x??(d.x+u.x)/2,m=i.y??d.y+(u.y-d.y)*o);const _=[{x,y:d.y},{x,y:u.y}],M=[{x:d.x,y:m},{x:u.x,y:m}];a[f]===h?p=f==="x"?_:M:p=f==="x"?M:_}else{const _=[{x:d.x,y:u.y}],M=[{x:u.x,y:d.y}];if(f==="x"?p=a.x===h?M:_:p=a.y===h?_:M,t===r){const C=Math.abs(e[f]-n[f]);if(C<=s){const j=Math.min(s-1,s-C);a[f]===h?y[f]=(d[f]>e[f]?-1:1)*j:v[f]=(u[f]>n[f]?-1:1)*j}}if(t!==r){const C=f==="x"?"y":"x",j=a[f]===l[C],E=d[C]>u[C],P=d[C]<u[C];(a[f]===1&&(!j&&E||j&&P)||a[f]!==1&&(!j&&P||j&&E))&&(p=f==="x"?_:M)}const b={x:d.x+y.x,y:d.y+y.y},N={x:u.x+v.x,y:u.y+v.y},A=Math.max(Math.abs(b.x-p[0].x),Math.abs(N.x-p[0].x)),S=Math.max(Math.abs(b.y-p[0].y),Math.abs(N.y-p[0].y));A>=S?(x=(b.x+N.x)/2,m=p[0].y):(x=p[0].x,m=(b.y+N.y)/2)}return[[e,{x:d.x+y.x,y:d.y+y.y},...p,{x:u.x+v.x,y:u.y+v.y},n],x,m,g,w]}function xh(e,t,n,r){const i=Math.min(zi(e,t)/2,zi(t,n)/2,r),{x:s,y:o}=t;if(e.x===s&&s===n.x||e.y===o&&o===n.y)return`L${s} ${o}`;if(e.y===o){const d=e.x<n.x?-1:1,u=e.y<n.y?1:-1;return`L ${s+i*d},${o}Q ${s},${o} ${s},${o+i*u}`}const a=e.x<n.x?1:-1,l=e.y<n.y?-1:1;return`L ${s},${o+i*l}Q ${s},${o} ${s+i*a},${o}`}function Rr({sourceX:e,sourceY:t,sourcePosition:n=K.Bottom,targetX:r,targetY:i,targetPosition:s=K.Top,borderRadius:o=5,centerX:a,centerY:l,offset:d=20,stepPosition:u=.5}){const[c,f,h,p,x]=yh({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:s,center:{x:a,y:l},offset:d,stepPosition:u});return[c.reduce((y,v,g)=>{let w="";return g>0&&g<c.length-1?w=xh(c[g-1],v,c[g+1],o):w=`${g===0?"M":"L"}${v.x} ${v.y}`,y+=w,y},""),f,h,p,x]}function Vi(e){var t;return e&&!!(e.internals.handleBounds||(t=e.handles)!=null&&t.length)&&!!(e.measured.width||e.width||e.initialWidth)}function wh(e){var c;const{sourceNode:t,targetNode:n}=e;if(!Vi(t)||!Vi(n))return null;const r=t.internals.handleBounds||Hi(t.handles),i=n.internals.handleBounds||Hi(n.handles),s=Fi((r==null?void 0:r.source)??[],e.sourceHandle),o=Fi(e.connectionMode===Ze.Strict?(i==null?void 0:i.target)??[]:((i==null?void 0:i.target)??[]).concat((i==null?void 0:i.source)??[]),e.targetHandle);if(!s||!o)return(c=e.onError)==null||c.call(e,"008",ve.error008(s?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const a=(s==null?void 0:s.position)||K.Bottom,l=(o==null?void 0:o.position)||K.Top,d=Fe(t,s,a),u=Fe(n,o,l);return{sourceX:d.x,sourceY:d.y,targetX:u.x,targetY:u.y,sourcePosition:a,targetPosition:l}}function Hi(e){if(!e)return null;const t=[],n=[];for(const r of e)r.width=r.width??1,r.height=r.height??1,r.type==="source"?t.push(r):r.type==="target"&&n.push(r);return{source:t,target:n}}function Fe(e,t,n=K.Left,r=!1){const i=((t==null?void 0:t.x)??0)+e.internals.positionAbsolute.x,s=((t==null?void 0:t.y)??0)+e.internals.positionAbsolute.y,{width:o,height:a}=t??ke(e);if(r)return{x:i+o/2,y:s+a/2};switch((t==null?void 0:t.position)??n){case K.Top:return{x:i+o/2,y:s};case K.Right:return{x:i+o,y:s+a/2};case K.Bottom:return{x:i+o/2,y:s+a};case K.Left:return{x:i,y:s+a/2}}}function Fi(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function $r(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function vh(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:i}){const s=new Set;return e.reduce((o,a)=>([a.markerStart||r,a.markerEnd||i].forEach(l=>{if(l&&typeof l=="object"){const d=$r(l,t);s.has(d)||(o.push({id:d,color:l.color||n,...l}),s.add(d))}}),o),[]).sort((o,a)=>o.id.localeCompare(a.id))}const pa=1e3,bh=10,Jr={nodeOrigin:[0,0],nodeExtent:yt,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},_h={...Jr,checkEquality:!0};function ei(e,t){const n={...e};for(const r in t)t[r]!==void 0&&(n[r]=t[r]);return n}function Eh(e,t,n){const r=ei(Jr,n);for(const i of e.values())if(i.parentId)ni(i,e,t,r);else{const s=Nt(i,r.nodeOrigin),o=et(i.extent)?i.extent:r.nodeExtent,a=He(s,o,ke(i));i.internals.positionAbsolute=a}}function Nh(e,t){if(!e.handles)return e.measured?t==null?void 0:t.internals.handleBounds:void 0;const n=[],r=[];for(const i of e.handles){const s={id:i.id,width:i.width??1,height:i.height??1,nodeId:e.id,x:i.x,y:i.y,position:i.position,type:i.type};i.type==="source"?n.push(s):i.type==="target"&&r.push(s)}return{source:n,target:r}}function ti(e){return e==="manual"}function Or(e,t,n,r={}){var d,u;const i=ei(_h,r),s={i:0},o=new Map(t),a=i!=null&&i.elevateNodesOnSelect&&!ti(i.zIndexMode)?pa:0;let l=e.length>0;t.clear(),n.clear();for(const c of e){let f=o.get(c.id);if(i.checkEquality&&c===(f==null?void 0:f.internals.userNode))t.set(c.id,f);else{const h=Nt(c,i.nodeOrigin),p=et(c.extent)?c.extent:i.nodeExtent,x=He(h,p,ke(c));f={...i.defaults,...c,measured:{width:(d=c.measured)==null?void 0:d.width,height:(u=c.measured)==null?void 0:u.height},internals:{positionAbsolute:x,handleBounds:Nh(c,f),z:ga(c,a,i.zIndexMode),userNode:c}},t.set(c.id,f)}(f.measured===void 0||f.measured.width===void 0||f.measured.height===void 0)&&!f.hidden&&(l=!1),c.parentId&&ni(f,t,n,r,s)}return l}function Sh(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function ni(e,t,n,r,i){const{elevateNodesOnSelect:s,nodeOrigin:o,nodeExtent:a,zIndexMode:l}=ei(Jr,r),d=e.parentId,u=t.get(d);if(!u){console.warn(`Parent node ${d} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Sh(e,n),i&&!u.parentId&&u.internals.rootParentIndex===void 0&&l==="auto"&&(u.internals.rootParentIndex=++i.i,u.internals.z=u.internals.z+i.i*bh),i&&u.internals.rootParentIndex!==void 0&&(i.i=u.internals.rootParentIndex);const c=s&&!ti(l)?pa:0,{x:f,y:h,z:p}=kh(e,u,o,a,c,l),{positionAbsolute:x}=e.internals,m=f!==x.x||h!==x.y;(m||p!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:m?{x:f,y:h}:x,z:p}})}function ga(e,t,n){const r=pe(e.zIndex)?e.zIndex:0;return ti(n)?r:r+(e.selected?t:0)}function kh(e,t,n,r,i,s){const{x:o,y:a}=t.internals.positionAbsolute,l=ke(e),d=Nt(e,n),u=et(e.extent)?He(d,e.extent,l):d;let c=He({x:o+u.x,y:a+u.y},r,l);e.extent==="parent"&&(c=ra(c,l,t));const f=ga(e,i,s),h=t.internals.z??0;return{x:c.x,y:c.y,z:h>=f?h+1:f}}function ri(e,t,n,r=[0,0]){var o;const i=[],s=new Map;for(const a of e){const l=t.get(a.parentId);if(!l)continue;const d=((o=s.get(a.parentId))==null?void 0:o.expandedRect)??Je(l),u=oa(d,a.rect);s.set(a.parentId,{expandedRect:u,parent:l})}return s.size>0&&s.forEach(({expandedRect:a,parent:l},d)=>{var g;const u=l.internals.positionAbsolute,c=ke(l),f=l.origin??r,h=a.x<u.x?Math.round(Math.abs(u.x-a.x)):0,p=a.y<u.y?Math.round(Math.abs(u.y-a.y)):0,x=Math.max(c.width,Math.round(a.width)),m=Math.max(c.height,Math.round(a.height)),y=(x-c.width)*f[0],v=(m-c.height)*f[1];(h>0||p>0||y||v)&&(i.push({id:d,type:"position",position:{x:l.position.x-h+y,y:l.position.y-p+v}}),(g=n.get(d))==null||g.forEach(w=>{e.some(k=>k.id===w.id)||i.push({id:w.id,type:"position",position:{x:w.position.x+h,y:w.position.y+p}})})),(c.width<a.width||c.height<a.height||h||p)&&i.push({id:d,type:"dimensions",setAttributes:!0,dimensions:{width:x+(h?f[0]*h-y:0),height:m+(p?f[1]*p-v:0)}})}),i}function Ch(e,t,n,r,i,s,o){const a=r==null?void 0:r.querySelector(".xyflow__viewport");let l=!1;if(!a)return{changes:[],updatedInternals:l};const d=[],u=window.getComputedStyle(a),{m22:c}=new window.DOMMatrixReadOnly(u.transform),f=[];for(const h of e.values()){const p=t.get(h.id);if(!p)continue;if(p.hidden){t.set(p.id,{...p,internals:{...p.internals,handleBounds:void 0}}),l=!0;continue}const x=Zr(h.nodeElement),m=p.measured.width!==x.width||p.measured.height!==x.height;if(!!(x.width&&x.height&&(m||!p.internals.handleBounds||h.force))){const v=h.nodeElement.getBoundingClientRect(),g=et(p.extent)?p.extent:s;let{positionAbsolute:w}=p.internals;p.parentId&&p.extent==="parent"?w=ra(w,x,t.get(p.parentId)):g&&(w=He(w,g,x));const k={...p,measured:x,internals:{...p.internals,positionAbsolute:w,handleBounds:{source:Oi("source",h.nodeElement,v,c,p.id),target:Oi("target",h.nodeElement,v,c,p.id)}}};t.set(p.id,k),p.parentId&&ni(k,t,n,{nodeOrigin:i,zIndexMode:o}),l=!0,m&&(d.push({id:p.id,type:"dimensions",dimensions:x}),p.expandParent&&p.parentId&&f.push({id:p.id,parentId:p.parentId,rect:Je(k,i)}))}}if(f.length>0){const h=ri(f,t,n,i);d.push(...h)}return{changes:d,updatedInternals:l}}async function Mh({delta:e,panZoom:t,transform:n,translateExtent:r,width:i,height:s}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const o=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[i,s]],r),a=!!o&&(o.x!==n[0]||o.y!==n[1]||o.k!==n[2]);return Promise.resolve(a)}function Bi(e,t,n,r,i,s){let o=i;const a=r.get(o)||new Map;r.set(o,a.set(n,t)),o=`${i}-${e}`;const l=r.get(o)||new Map;if(r.set(o,l.set(n,t)),s){o=`${i}-${e}-${s}`;const d=r.get(o)||new Map;r.set(o,d.set(n,t))}}function ma(e,t,n){e.clear(),t.clear();for(const r of n){const{source:i,target:s,sourceHandle:o=null,targetHandle:a=null}=r,l={edgeId:r.id,source:i,target:s,sourceHandle:o,targetHandle:a},d=`${i}-${o}--${s}-${a}`,u=`${s}-${a}--${i}-${o}`;Bi("source",l,u,e,i,o),Bi("target",l,d,e,s,a),t.set(r.id,r)}}function ya(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:ya(n,t):!1}function qi(e,t,n){var i;let r=e;do{if((i=r==null?void 0:r.matches)!=null&&i.call(r,t))return!0;if(r===n)return!1;r=r==null?void 0:r.parentElement}while(r);return!1}function Ih(e,t,n,r){const i=new Map;for(const[s,o]of e)if((o.selected||o.id===r)&&(!o.parentId||!ya(o,e))&&(o.draggable||t&&typeof o.draggable>"u")){const a=e.get(s);a&&i.set(s,{id:s,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 i}function En({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){var o,a,l;const i=[];for(const[d,u]of t){const c=(o=n.get(d))==null?void 0:o.internals.userNode;c&&i.push({...c,position:u.position,dragging:r})}if(!e)return[i[0],i];const s=(a=n.get(e))==null?void 0:a.internals.userNode;return[s?{...s,position:((l=t.get(e))==null?void 0:l.position)||s.position,dragging:r}:i[0],i]}function Ah({dragItems:e,snapGrid:t,x:n,y:r}){const i=e.values().next().value;if(!i)return null;const s={x:n-i.distance.x,y:r-i.distance.y},o=kt(s,t);return{x:o.x-s.x,y:o.y-s.y}}function Th({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:i}){let s={x:null,y:null},o=0,a=new Map,l=!1,d={x:0,y:0},u=null,c=!1,f=null,h=!1,p=!1,x=null;function m({noDragClassName:v,handleSelector:g,domNode:w,isSelectable:k,nodeId:_,nodeClickDistance:M=0}){f=ue(w);function b({x:C,y:j}){const{nodeLookup:E,nodeExtent:P,snapGrid:L,snapToGrid:D,nodeOrigin:O,onNodeDrag:R,onSelectionDrag:H,onError:q,updateNodePositions:F}=t();s={x:C,y:j};let T=!1;const $=a.size>1,z=$&&P?Pr(St(a)):null,B=$&&D?Ah({dragItems:a,snapGrid:L,x:C,y:j}):null;for(const[G,Y]of a){if(!E.has(G))continue;let W={x:C-Y.distance.x,y:j-Y.distance.y};D&&(W=B?{x:Math.round(W.x+B.x),y:Math.round(W.y+B.y)}:kt(W,L));let Z=null;if($&&P&&!Y.extent&&z){const{positionAbsolute:X}=Y.internals,J=X.x-z.x+P[0][0],ne=X.x+Y.measured.width-z.x2+P[1][0],ee=X.y-z.y+P[0][1],ce=X.y+Y.measured.height-z.y2+P[1][1];Z=[[J,ee],[ne,ce]]}const{position:Q,positionAbsolute:U}=na({nodeId:G,nextPosition:W,nodeLookup:E,nodeExtent:Z||P,nodeOrigin:O,onError:q});T=T||Y.position.x!==Q.x||Y.position.y!==Q.y,Y.position=Q,Y.internals.positionAbsolute=U}if(p=p||T,!!T&&(F(a,!0),x&&(r||R||!_&&H))){const[G,Y]=En({nodeId:_,dragItems:a,nodeLookup:E});r==null||r(x,a,G,Y),R==null||R(x,G,Y),_||H==null||H(x,Y)}}async function N(){if(!u)return;const{transform:C,panBy:j,autoPanSpeed:E,autoPanOnNodeDrag:P}=t();if(!P){l=!1,cancelAnimationFrame(o);return}const[L,D]=ia(d,u,E);(L!==0||D!==0)&&(s.x=(s.x??0)-L/C[2],s.y=(s.y??0)-D/C[2],await j({x:L,y:D})&&b(s)),o=requestAnimationFrame(N)}function A(C){var $;const{nodeLookup:j,multiSelectionActive:E,nodesDraggable:P,transform:L,snapGrid:D,snapToGrid:O,selectNodesOnDrag:R,onNodeDragStart:H,onSelectionDragStart:q,unselectNodesAndEdges:F}=t();c=!0,(!R||!k)&&!E&&_&&(($=j.get(_))!=null&&$.selected||F()),k&&R&&_&&(e==null||e(_));const T=ft(C.sourceEvent,{transform:L,snapGrid:D,snapToGrid:O,containerBounds:u});if(s=T,a=Ih(j,P,T,_),a.size>0&&(n||H||!_&&q)){const[z,B]=En({nodeId:_,dragItems:a,nodeLookup:j});n==null||n(C.sourceEvent,a,z,B),H==null||H(C.sourceEvent,z,B),_||q==null||q(C.sourceEvent,B)}}const S=$s().clickDistance(M).on("start",C=>{const{domNode:j,nodeDragThreshold:E,transform:P,snapGrid:L,snapToGrid:D}=t();u=(j==null?void 0:j.getBoundingClientRect())||null,h=!1,p=!1,x=C.sourceEvent,E===0&&A(C),s=ft(C.sourceEvent,{transform:P,snapGrid:L,snapToGrid:D,containerBounds:u}),d=ge(C.sourceEvent,u)}).on("drag",C=>{const{autoPanOnNodeDrag:j,transform:E,snapGrid:P,snapToGrid:L,nodeDragThreshold:D,nodeLookup:O}=t(),R=ft(C.sourceEvent,{transform:E,snapGrid:P,snapToGrid:L,containerBounds:u});if(x=C.sourceEvent,(C.sourceEvent.type==="touchmove"&&C.sourceEvent.touches.length>1||_&&!O.has(_))&&(h=!0),!h){if(!l&&j&&c&&(l=!0,N()),!c){const H=ge(C.sourceEvent,u),q=H.x-d.x,F=H.y-d.y;Math.sqrt(q*q+F*F)>D&&A(C)}(s.x!==R.xSnapped||s.y!==R.ySnapped)&&a&&c&&(d=ge(C.sourceEvent,u),b(R))}}).on("end",C=>{if(!(!c||h)&&(l=!1,c=!1,cancelAnimationFrame(o),a.size>0)){const{nodeLookup:j,updateNodePositions:E,onNodeDragStop:P,onSelectionDragStop:L}=t();if(p&&(E(a,!1),p=!1),i||P||!_&&L){const[D,O]=En({nodeId:_,dragItems:a,nodeLookup:j,dragging:!1});i==null||i(C.sourceEvent,a,D,O),P==null||P(C.sourceEvent,D,O),_||L==null||L(C.sourceEvent,O)}}}).filter(C=>{const j=C.target;return!C.button&&(!v||!qi(j,`.${v}`,w))&&(!g||qi(j,g,w))});f.call(S)}function y(){f==null||f.on(".drag",null)}return{update:m,destroy:y}}function Lh(e,t,n){const r=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const s of t.values())wt(i,Je(s))>0&&r.push(s);return r}const Ph=250;function Rh(e,t,n,r){var a,l;let i=[],s=1/0;const o=Lh(e,n,t+Ph);for(const d of o){const u=[...((a=d.internals.handleBounds)==null?void 0:a.source)??[],...((l=d.internals.handleBounds)==null?void 0:l.target)??[]];for(const c of u){if(r.nodeId===c.nodeId&&r.type===c.type&&r.id===c.id)continue;const{x:f,y:h}=Fe(d,c,c.position,!0),p=Math.sqrt(Math.pow(f-e.x,2)+Math.pow(h-e.y,2));p>t||(p<s?(i=[{...c,x:f,y:h}],s=p):p===s&&i.push({...c,x:f,y:h}))}}if(!i.length)return null;if(i.length>1){const d=r.type==="source"?"target":"source";return i.find(u=>u.type===d)??i[0]}return i[0]}function xa(e,t,n,r,i,s=!1){var d,u,c;const o=r.get(e);if(!o)return null;const a=i==="strict"?(d=o.internals.handleBounds)==null?void 0:d[t]:[...((u=o.internals.handleBounds)==null?void 0:u.source)??[],...((c=o.internals.handleBounds)==null?void 0:c.target)??[]],l=(n?a==null?void 0:a.find(f=>f.id===n):a==null?void 0:a[0])??null;return l&&s?{...l,...Fe(o,l,l.position,!0)}:l}function wa(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function $h(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const va=()=>!0;function Oh(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:i,edgeUpdaterType:s,isTarget:o,domNode:a,nodeLookup:l,lib:d,autoPanOnConnect:u,flowId:c,panBy:f,cancelConnection:h,onConnectStart:p,onConnect:x,onConnectEnd:m,isValidConnection:y=va,onReconnectEnd:v,updateConnection:g,getTransform:w,getFromHandle:k,autoPanSpeed:_,dragThreshold:M=1,handleDomNode:b}){const N=ca(e.target);let A=0,S;const{x:C,y:j}=ge(e),E=wa(s,b),P=a==null?void 0:a.getBoundingClientRect();let L=!1;if(!P||!E)return;const D=xa(i,E,r,l,t);if(!D)return;let O=ge(e,P),R=!1,H=null,q=!1,F=null;function T(){if(!u||!P)return;const[Q,U]=ia(O,P,_);f({x:Q,y:U}),A=requestAnimationFrame(T)}const $={...D,nodeId:i,type:E,position:D.position},z=l.get(i);let G={inProgress:!0,isValid:null,from:Fe(z,$,K.Left,!0),fromHandle:$,fromPosition:$.position,fromNode:z,to:O,toHandle:null,toPosition:Li[$.position],toNode:null,pointer:O};function Y(){L=!0,g(G),p==null||p(e,{nodeId:i,handleId:r,handleType:E})}M===0&&Y();function W(Q){if(!L){const{x:ce,y:Ce}=ge(Q),_e=ce-C,Pe=Ce-j;if(!(_e*_e+Pe*Pe>M*M))return;Y()}if(!k()||!$){Z(Q);return}const U=w();O=ge(Q,P),S=Rh(Ct(O,U,!1,[1,1]),n,l,$),R||(T(),R=!0);const X=ba(Q,{handle:S,connectionMode:t,fromNodeId:i,fromHandleId:r,fromType:o?"target":"source",isValidConnection:y,doc:N,lib:d,flowId:c,nodeLookup:l});F=X.handleDomNode,H=X.connection,q=$h(!!S,X.isValid);const J=l.get(i),ne=J?Fe(J,$,K.Left,!0):G.from,ee={...G,from:ne,isValid:q,to:X.toHandle&&q?tn({x:X.toHandle.x,y:X.toHandle.y},U):O,toHandle:X.toHandle,toPosition:q&&X.toHandle?X.toHandle.position:Li[$.position],toNode:X.toHandle?l.get(X.toHandle.nodeId):null,pointer:O};g(ee),G=ee}function Z(Q){if(!("touches"in Q&&Q.touches.length>0)){if(L){(S||F)&&H&&q&&(x==null||x(H));const{inProgress:U,...X}=G,J={...X,toPosition:G.toHandle?G.toPosition:null};m==null||m(Q,J),s&&(v==null||v(Q,J))}h(),cancelAnimationFrame(A),R=!1,q=!1,H=null,F=null,N.removeEventListener("mousemove",W),N.removeEventListener("mouseup",Z),N.removeEventListener("touchmove",W),N.removeEventListener("touchend",Z)}}N.addEventListener("mousemove",W),N.addEventListener("mouseup",Z),N.addEventListener("touchmove",W),N.addEventListener("touchend",Z)}function ba(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:i,fromType:s,doc:o,lib:a,flowId:l,isValidConnection:d=va,nodeLookup:u}){const c=s==="target",f=t?o.querySelector(`.${a}-flow__handle[data-id="${l}-${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`):null,{x:h,y:p}=ge(e),x=o.elementFromPoint(h,p),m=x!=null&&x.classList.contains(`${a}-flow__handle`)?x:f,y={handleDomNode:m,isValid:!1,connection:null,toHandle:null};if(m){const v=wa(void 0,m),g=m.getAttribute("data-nodeid"),w=m.getAttribute("data-handleid"),k=m.classList.contains("connectable"),_=m.classList.contains("connectableend");if(!g||!v)return y;const M={source:c?g:r,sourceHandle:c?w:i,target:c?r:g,targetHandle:c?i:w};y.connection=M;const N=k&&_&&(n===Ze.Strict?c&&v==="source"||!c&&v==="target":g!==r||w!==i);y.isValid=N&&d(M),y.toHandle=xa(g,v,w,u,n,!0)}return y}const jr={onPointerDown:Oh,isValid:ba};function jh({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){const i=ue(e);function s({translateExtent:a,width:l,height:d,zoomStep:u=1,pannable:c=!0,zoomable:f=!0,inversePan:h=!1}){const p=g=>{if(g.sourceEvent.type!=="wheel"||!t)return;const w=n(),k=g.sourceEvent.ctrlKey&&vt()?10:1,_=-g.sourceEvent.deltaY*(g.sourceEvent.deltaMode===1?.05:g.sourceEvent.deltaMode?1:.002)*u,M=w[2]*Math.pow(2,_*k);t.scaleTo(M)};let x=[0,0];const m=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])},y=g=>{const w=n();if(g.sourceEvent.type!=="mousemove"&&g.sourceEvent.type!=="touchmove"||!t)return;const k=[g.sourceEvent.clientX??g.sourceEvent.touches[0].clientX,g.sourceEvent.clientY??g.sourceEvent.touches[0].clientY],_=[k[0]-x[0],k[1]-x[1]];x=k;const M=r()*Math.max(w[2],Math.log(w[2]))*(h?-1:1),b={x:w[0]-_[0]*M,y:w[1]-_[1]*M},N=[[0,0],[l,d]];t.setViewportConstrained({x:b.x,y:b.y,zoom:w[2]},N,a)},v=Ks().on("start",m).on("zoom",c?y:null).on("zoom.wheel",f?p:null);i.call(v,{})}function o(){i.on("zoom",null)}return{update:s,destroy:o,pointer:fe}}const fn=e=>({x:e.x,y:e.y,zoom:e.k}),Nn=({x:e,y:t,zoom:n})=>ln.translate(e,t).scale(n),Ye=(e,t)=>e.target.closest(`.${t}`),_a=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Dh=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Sn=(e,t=0,n=Dh,r=()=>{})=>{const i=typeof t=="number"&&t>0;return i||r(),i?e.transition().duration(t).ease(n).on("end",r):e},Ea=e=>{const t=e.ctrlKey&&vt()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function zh({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:i,panOnScrollSpeed:s,zoomOnPinch:o,onPanZoomStart:a,onPanZoom:l,onPanZoomEnd:d}){return u=>{if(Ye(u,t))return u.ctrlKey&&u.preventDefault(),!1;u.preventDefault(),u.stopImmediatePropagation();const c=n.property("__zoom").k||1;if(u.ctrlKey&&o){const m=fe(u),y=Ea(u),v=c*Math.pow(2,y);r.scaleTo(n,v,m,u);return}const f=u.deltaMode===1?20:1;let h=i===De.Vertical?0:u.deltaX*f,p=i===De.Horizontal?0:u.deltaY*f;!vt()&&u.shiftKey&&i!==De.Vertical&&(h=u.deltaY*f,p=0),r.translateBy(n,-(h/c)*s,-(p/c)*s,{internal:!0});const x=fn(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(l==null||l(u,x),e.panScrollTimeout=setTimeout(()=>{d==null||d(u,x),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,a==null||a(u,x))}}function Vh({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,i){const s=r.type==="wheel",o=!t&&s&&!r.ctrlKey,a=Ye(r,e);if(r.ctrlKey&&s&&a&&r.preventDefault(),o||a)return null;r.preventDefault(),n.call(this,r,i)}}function Hh({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{var s,o,a;if((s=r.sourceEvent)!=null&&s.internal)return;const i=fn(r.transform);e.mouseButton=((o=r.sourceEvent)==null?void 0:o.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=i,((a=r.sourceEvent)==null?void 0:a.type)==="mousedown"&&t(!0),n&&(n==null||n(r.sourceEvent,i))}}function Fh({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:i}){return s=>{var o,a;e.usedRightMouseButton=!!(n&&_a(t,e.mouseButton??0)),(o=s.sourceEvent)!=null&&o.sync||r([s.transform.x,s.transform.y,s.transform.k]),i&&!((a=s.sourceEvent)!=null&&a.internal)&&(i==null||i(s.sourceEvent,fn(s.transform)))}}function Bh({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:i,onPaneContextMenu:s}){return o=>{var a;if(!((a=o.sourceEvent)!=null&&a.internal)&&(e.isZoomingOrPanning=!1,s&&_a(t,e.mouseButton??0)&&!e.usedRightMouseButton&&o.sourceEvent&&s(o.sourceEvent),e.usedRightMouseButton=!1,r(!1),i)){const l=fn(o.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{i==null||i(o.sourceEvent,l)},n?150:0)}}}function qh({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:i,zoomOnDoubleClick:s,userSelectionActive:o,noWheelClassName:a,noPanClassName:l,lib:d,connectionInProgress:u}){return c=>{var m;const f=e||t,h=n&&c.ctrlKey,p=c.type==="wheel";if(c.button===1&&c.type==="mousedown"&&(Ye(c,`${d}-flow__node`)||Ye(c,`${d}-flow__edge`)))return!0;if(!r&&!f&&!i&&!s&&!n||o||u&&!p||Ye(c,a)&&p||Ye(c,l)&&(!p||i&&p&&!e)||!n&&c.ctrlKey&&p)return!1;if(!n&&c.type==="touchstart"&&((m=c.touches)==null?void 0:m.length)>1)return c.preventDefault(),!1;if(!f&&!i&&!h&&p||!r&&(c.type==="mousedown"||c.type==="touchstart")||Array.isArray(r)&&!r.includes(c.button)&&c.type==="mousedown")return!1;const x=Array.isArray(r)&&r.includes(c.button)||!c.button||c.button<=1;return(!c.ctrlKey||p)&&x}}function Yh({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:i,onPanZoom:s,onPanZoomStart:o,onPanZoomEnd:a,onDraggingChange:l}){const d={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},u=e.getBoundingClientRect(),c=Ks().scaleExtent([t,n]).translateExtent(r),f=ue(e).call(c);v({x:i.x,y:i.y,zoom:Qe(i.zoom,t,n)},[[0,0],[u.width,u.height]],r);const h=f.on("wheel.zoom"),p=f.on("dblclick.zoom");c.wheelDelta(Ea);function x(S,C){return f?new Promise(j=>{c==null||c.interpolate((C==null?void 0:C.interpolate)==="linear"?dt:Ft).transform(Sn(f,C==null?void 0:C.duration,C==null?void 0:C.ease,()=>j(!0)),S)}):Promise.resolve(!1)}function m({noWheelClassName:S,noPanClassName:C,onPaneContextMenu:j,userSelectionActive:E,panOnScroll:P,panOnDrag:L,panOnScrollMode:D,panOnScrollSpeed:O,preventScrolling:R,zoomOnPinch:H,zoomOnScroll:q,zoomOnDoubleClick:F,zoomActivationKeyPressed:T,lib:$,onTransformChange:z,connectionInProgress:B,paneClickDistance:G,selectionOnDrag:Y}){E&&!d.isZoomingOrPanning&&y();const W=P&&!T&&!E;c.clickDistance(Y?1/0:!pe(G)||G<0?0:G);const Z=W?zh({zoomPanValues:d,noWheelClassName:S,d3Selection:f,d3Zoom:c,panOnScrollMode:D,panOnScrollSpeed:O,zoomOnPinch:H,onPanZoomStart:o,onPanZoom:s,onPanZoomEnd:a}):Vh({noWheelClassName:S,preventScrolling:R,d3ZoomHandler:h});if(f.on("wheel.zoom",Z,{passive:!1}),!E){const U=Hh({zoomPanValues:d,onDraggingChange:l,onPanZoomStart:o});c.on("start",U);const X=Fh({zoomPanValues:d,panOnDrag:L,onPaneContextMenu:!!j,onPanZoom:s,onTransformChange:z});c.on("zoom",X);const J=Bh({zoomPanValues:d,panOnDrag:L,panOnScroll:P,onPaneContextMenu:j,onPanZoomEnd:a,onDraggingChange:l});c.on("end",J)}const Q=qh({zoomActivationKeyPressed:T,panOnDrag:L,zoomOnScroll:q,panOnScroll:P,zoomOnDoubleClick:F,zoomOnPinch:H,userSelectionActive:E,noPanClassName:C,noWheelClassName:S,lib:$,connectionInProgress:B});c.filter(Q),F?f.on("dblclick.zoom",p):f.on("dblclick.zoom",null)}function y(){c.on("zoom",null)}async function v(S,C,j){const E=Nn(S),P=c==null?void 0:c.constrain()(E,C,j);return P&&await x(P),new Promise(L=>L(P))}async function g(S,C){const j=Nn(S);return await x(j,C),new Promise(E=>E(j))}function w(S){if(f){const C=Nn(S),j=f.property("__zoom");(j.k!==S.zoom||j.x!==S.x||j.y!==S.y)&&(c==null||c.transform(f,C,null,{sync:!0}))}}function k(){const S=f?Us(f.node()):{x:0,y:0,k:1};return{x:S.x,y:S.y,zoom:S.k}}function _(S,C){return f?new Promise(j=>{c==null||c.interpolate((C==null?void 0:C.interpolate)==="linear"?dt:Ft).scaleTo(Sn(f,C==null?void 0:C.duration,C==null?void 0:C.ease,()=>j(!0)),S)}):Promise.resolve(!1)}function M(S,C){return f?new Promise(j=>{c==null||c.interpolate((C==null?void 0:C.interpolate)==="linear"?dt:Ft).scaleBy(Sn(f,C==null?void 0:C.duration,C==null?void 0:C.ease,()=>j(!0)),S)}):Promise.resolve(!1)}function b(S){c==null||c.scaleExtent(S)}function N(S){c==null||c.translateExtent(S)}function A(S){const C=!pe(S)||S<0?0:S;c==null||c.clickDistance(C)}return{update:m,destroy:y,setViewport:g,setViewportConstrained:v,getViewport:k,scaleTo:_,scaleBy:M,setScaleExtent:b,setTranslateExtent:N,syncViewport:w,setClickDistance:A}}var tt;(function(e){e.Line="line",e.Handle="handle"})(tt||(tt={}));function Gh({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:i,affectsY:s}){const o=e-t,a=n-r,l=[o>0?1:o<0?-1:0,a>0?1:a<0?-1:0];return o&&i&&(l[0]=l[0]*-1),a&&s&&(l[1]=l[1]*-1),l}function Yi(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),r=e.includes("left"),i=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:r,affectsY:i}}function Me(e,t){return Math.max(0,t-e)}function Ie(e,t){return Math.max(0,e-t)}function jt(e,t,n){return Math.max(0,t-e,e-n)}function Gi(e,t){return e?!t:t}function Wh(e,t,n,r,i,s,o,a){let{affectsX:l,affectsY:d}=t;const{isHorizontal:u,isVertical:c}=t,f=u&&c,{xSnapped:h,ySnapped:p}=n,{minWidth:x,maxWidth:m,minHeight:y,maxHeight:v}=r,{x:g,y:w,width:k,height:_,aspectRatio:M}=e;let b=Math.floor(u?h-e.pointerX:0),N=Math.floor(c?p-e.pointerY:0);const A=k+(l?-b:b),S=_+(d?-N:N),C=-s[0]*k,j=-s[1]*_;let E=jt(A,x,m),P=jt(S,y,v);if(o){let O=0,R=0;l&&b<0?O=Me(g+b+C,o[0][0]):!l&&b>0&&(O=Ie(g+A+C,o[1][0])),d&&N<0?R=Me(w+N+j,o[0][1]):!d&&N>0&&(R=Ie(w+S+j,o[1][1])),E=Math.max(E,O),P=Math.max(P,R)}if(a){let O=0,R=0;l&&b>0?O=Ie(g+b,a[0][0]):!l&&b<0&&(O=Me(g+A,a[1][0])),d&&N>0?R=Ie(w+N,a[0][1]):!d&&N<0&&(R=Me(w+S,a[1][1])),E=Math.max(E,O),P=Math.max(P,R)}if(i){if(u){const O=jt(A/M,y,v)*M;if(E=Math.max(E,O),o){let R=0;!l&&!d||l&&!d&&f?R=Ie(w+j+A/M,o[1][1])*M:R=Me(w+j+(l?b:-b)/M,o[0][1])*M,E=Math.max(E,R)}if(a){let R=0;!l&&!d||l&&!d&&f?R=Me(w+A/M,a[1][1])*M:R=Ie(w+(l?b:-b)/M,a[0][1])*M,E=Math.max(E,R)}}if(c){const O=jt(S*M,x,m)/M;if(P=Math.max(P,O),o){let R=0;!l&&!d||d&&!l&&f?R=Ie(g+S*M+C,o[1][0])/M:R=Me(g+(d?N:-N)*M+C,o[0][0])/M,P=Math.max(P,R)}if(a){let R=0;!l&&!d||d&&!l&&f?R=Me(g+S*M,a[1][0])/M:R=Ie(g+(d?N:-N)*M,a[0][0])/M,P=Math.max(P,R)}}}N=N+(N<0?P:-P),b=b+(b<0?E:-E),i&&(f?A>S*M?N=(Gi(l,d)?-b:b)/M:b=(Gi(l,d)?-N:N)*M:u?(N=b/M,d=l):(b=N*M,l=d));const L=l?g+b:g,D=d?w+N:w;return{width:k+(l?-b:b),height:_+(d?-N:N),x:s[0]*b*(l?-1:1)+L,y:s[1]*N*(d?-1:1)+D}}const Na={width:0,height:0,x:0,y:0},Xh={...Na,pointerX:0,pointerY:0,aspectRatio:1};function Uh(e){return[[0,0],[e.measured.width,e.measured.height]]}function Kh(e,t,n){const r=t.position.x+e.position.x,i=t.position.y+e.position.y,s=e.measured.width??0,o=e.measured.height??0,a=n[0]*s,l=n[1]*o;return[[r-a,i-l],[r+s-a,i+o-l]]}function Zh({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:i}){const s=ue(e);let o={controlDirection:Yi("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function a({controlPosition:d,boundaries:u,keepAspectRatio:c,resizeDirection:f,onResizeStart:h,onResize:p,onResizeEnd:x,shouldResize:m}){let y={...Na},v={...Xh};o={boundaries:u,resizeDirection:f,keepAspectRatio:c,controlDirection:Yi(d)};let g,w=null,k=[],_,M,b,N=!1;const A=$s().on("start",S=>{const{nodeLookup:C,transform:j,snapGrid:E,snapToGrid:P,nodeOrigin:L,paneDomNode:D}=n();if(g=C.get(t),!g)return;w=(D==null?void 0:D.getBoundingClientRect())??null;const{xSnapped:O,ySnapped:R}=ft(S.sourceEvent,{transform:j,snapGrid:E,snapToGrid:P,containerBounds:w});y={width:g.measured.width??0,height:g.measured.height??0,x:g.position.x??0,y:g.position.y??0},v={...y,pointerX:O,pointerY:R,aspectRatio:y.width/y.height},_=void 0,g.parentId&&(g.extent==="parent"||g.expandParent)&&(_=C.get(g.parentId),M=_&&g.extent==="parent"?Uh(_):void 0),k=[],b=void 0;for(const[H,q]of C)if(q.parentId===t&&(k.push({id:H,position:{...q.position},extent:q.extent}),q.extent==="parent"||q.expandParent)){const F=Kh(q,g,q.origin??L);b?b=[[Math.min(F[0][0],b[0][0]),Math.min(F[0][1],b[0][1])],[Math.max(F[1][0],b[1][0]),Math.max(F[1][1],b[1][1])]]:b=F}h==null||h(S,{...y})}).on("drag",S=>{const{transform:C,snapGrid:j,snapToGrid:E,nodeOrigin:P}=n(),L=ft(S.sourceEvent,{transform:C,snapGrid:j,snapToGrid:E,containerBounds:w}),D=[];if(!g)return;const{x:O,y:R,width:H,height:q}=y,F={},T=g.origin??P,{width:$,height:z,x:B,y:G}=Wh(v,o.controlDirection,L,o.boundaries,o.keepAspectRatio,T,M,b),Y=$!==H,W=z!==q,Z=B!==O&&Y,Q=G!==R&&W;if(!Z&&!Q&&!Y&&!W)return;if((Z||Q||T[0]===1||T[1]===1)&&(F.x=Z?B:y.x,F.y=Q?G:y.y,y.x=F.x,y.y=F.y,k.length>0)){const ne=B-O,ee=G-R;for(const ce of k)ce.position={x:ce.position.x-ne+T[0]*($-H),y:ce.position.y-ee+T[1]*(z-q)},D.push(ce)}if((Y||W)&&(F.width=Y&&(!o.resizeDirection||o.resizeDirection==="horizontal")?$:y.width,F.height=W&&(!o.resizeDirection||o.resizeDirection==="vertical")?z:y.height,y.width=F.width,y.height=F.height),_&&g.expandParent){const ne=T[0]*(F.width??0);F.x&&F.x<ne&&(y.x=ne,v.x=v.x-(F.x-ne));const ee=T[1]*(F.height??0);F.y&&F.y<ee&&(y.y=ee,v.y=v.y-(F.y-ee))}const U=Gh({width:y.width,prevWidth:H,height:y.height,prevHeight:q,affectsX:o.controlDirection.affectsX,affectsY:o.controlDirection.affectsY}),X={...y,direction:U};(m==null?void 0:m(S,X))!==!1&&(N=!0,p==null||p(S,X),r(F,D))}).on("end",S=>{N&&(x==null||x(S,{...y}),i==null||i({...y}),N=!1)});s.call(A)}function l(){s.on(".drag",null)}return{update:a,destroy:l}}var kn={exports:{}},Cn={},Mn={exports:{}},In={};/**
|
|
2
|
-
* @license React
|
|
3
|
-
* use-sync-external-store-shim.production.js
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
6
|
-
*
|
|
7
|
-
* This source code is licensed under the MIT license found in the
|
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var Wi;function Qh(){if(Wi)return In;Wi=1;var e=xs();function t(c,f){return c===f&&(c!==0||1/c===1/f)||c!==c&&f!==f}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,i=e.useEffect,s=e.useLayoutEffect,o=e.useDebugValue;function a(c,f){var h=f(),p=r({inst:{value:h,getSnapshot:f}}),x=p[0].inst,m=p[1];return s(function(){x.value=h,x.getSnapshot=f,l(x)&&m({inst:x})},[c,h,f]),i(function(){return l(x)&&m({inst:x}),c(function(){l(x)&&m({inst:x})})},[c]),o(h),h}function l(c){var f=c.getSnapshot;c=c.value;try{var h=f();return!n(c,h)}catch{return!0}}function d(c,f){return f()}var u=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?d:a;return In.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:u,In}var Xi;function Jh(){return Xi||(Xi=1,Mn.exports=Qh()),Mn.exports}/**
|
|
10
|
-
* @license React
|
|
11
|
-
* use-sync-external-store-shim/with-selector.production.js
|
|
12
|
-
*
|
|
13
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
14
|
-
*
|
|
15
|
-
* This source code is licensed under the MIT license found in the
|
|
16
|
-
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var Ui;function ep(){if(Ui)return Cn;Ui=1;var e=xs(),t=Jh();function n(d,u){return d===u&&(d!==0||1/d===1/u)||d!==d&&u!==u}var r=typeof Object.is=="function"?Object.is:n,i=t.useSyncExternalStore,s=e.useRef,o=e.useEffect,a=e.useMemo,l=e.useDebugValue;return Cn.useSyncExternalStoreWithSelector=function(d,u,c,f,h){var p=s(null);if(p.current===null){var x={hasValue:!1,value:null};p.current=x}else x=p.current;p=a(function(){function y(_){if(!v){if(v=!0,g=_,_=f(_),h!==void 0&&x.hasValue){var M=x.value;if(h(M,_))return w=M}return w=_}if(M=w,r(g,_))return M;var b=f(_);return h!==void 0&&h(M,b)?(g=_,M):(g=_,w=b)}var v=!1,g,w,k=c===void 0?null:c;return[function(){return y(u())},k===null?void 0:function(){return y(k())}]},[u,c,f,h]);var m=i(d,p[0],p[1]);return o(function(){x.hasValue=!0,x.value=m},[m]),l(m),m},Cn}var Ki;function tp(){return Ki||(Ki=1,kn.exports=ep()),kn.exports}var np=tp();const rp=ws(np),ip={},Zi=e=>{let t;const n=new Set,r=(u,c)=>{const f=typeof u=="function"?u(t):u;if(!Object.is(f,t)){const h=t;t=c??(typeof f!="object"||f===null)?f:Object.assign({},t,f),n.forEach(p=>p(t,h))}},i=()=>t,l={setState:r,getState:i,getInitialState:()=>d,subscribe:u=>(n.add(u),()=>n.delete(u)),destroy:()=>{(ip?"production":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()}},d=t=e(r,i,l);return l},op=e=>e?Zi(e):Zi,{useDebugValue:sp}=yl,{useSyncExternalStoreWithSelector:ap}=rp,cp=e=>e;function Sa(e,t=cp,n){const r=ap(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return sp(r),r}const Qi=(e,t)=>{const n=op(e),r=(i,s=t)=>Sa(n,i,s);return Object.assign(r,n),r},lp=(e,t)=>e?Qi(e,t):Qi;function re(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}var up=xl();const hn=V.createContext(null),dp=hn.Provider,ka=ve.error001();function te(e,t){const n=V.useContext(hn);if(n===null)throw new Error(ka);return Sa(n,e,t)}function ie(){const e=V.useContext(hn);if(e===null)throw new Error(ka);return V.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const Ji={display:"none"},fp={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Ca="react-flow__node-desc",Ma="react-flow__edge-desc",hp="react-flow__aria-live",pp=e=>e.ariaLiveMessage,gp=e=>e.ariaLabelConfig;function mp({rfId:e}){const t=te(pp);return I.jsx("div",{id:`${hp}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:fp,children:t})}function yp({rfId:e,disableKeyboardA11y:t}){const n=te(gp);return I.jsxs(I.Fragment,{children:[I.jsx("div",{id:`${Ca}-${e}`,style:Ji,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),I.jsx("div",{id:`${Ma}-${e}`,style:Ji,children:n["edge.a11yDescription.default"]}),!t&&I.jsx(mp,{rfId:e})]})}const pn=V.forwardRef(({position:e="top-left",children:t,className:n,style:r,...i},s)=>{const o=`${e}`.split("-");return I.jsx("div",{className:ae(["react-flow__panel",n,...o]),style:r,ref:s,...i,children:t})});pn.displayName="Panel";function xp({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:I.jsx(pn,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:I.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const wp=e=>{const t=[],n=[];for(const[,r]of e.nodeLookup)r.selected&&t.push(r.internals.userNode);for(const[,r]of e.edgeLookup)r.selected&&n.push(r);return{selectedNodes:t,selectedEdges:n}},Dt=e=>e.id;function vp(e,t){return re(e.selectedNodes.map(Dt),t.selectedNodes.map(Dt))&&re(e.selectedEdges.map(Dt),t.selectedEdges.map(Dt))}function bp({onSelectionChange:e}){const t=ie(),{selectedNodes:n,selectedEdges:r}=te(wp,vp);return V.useEffect(()=>{const i={nodes:n,edges:r};e==null||e(i),t.getState().onSelectionChangeHandlers.forEach(s=>s(i))},[n,r,e]),null}const _p=e=>!!e.onSelectionChangeHandlers;function Ep({onSelectionChange:e}){const t=te(_p);return e||t?I.jsx(bp,{onSelectionChange:e}):null}const Ia=[0,0],Np={x:0,y:0,zoom:1},Sp=["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"],eo=[...Sp,"rfId"],kp=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}),to={translateExtent:yt,nodeOrigin:Ia,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Cp(e){const{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:i,setTranslateExtent:s,setNodeExtent:o,reset:a,setDefaultNodesAndEdges:l}=te(kp,re),d=ie();V.useEffect(()=>(l(e.defaultNodes,e.defaultEdges),()=>{u.current=to,a()}),[]);const u=V.useRef(to);return V.useEffect(()=>{for(const c of eo){const f=e[c],h=u.current[c];f!==h&&(typeof e[c]>"u"||(c==="nodes"?t(f):c==="edges"?n(f):c==="minZoom"?r(f):c==="maxZoom"?i(f):c==="translateExtent"?s(f):c==="nodeExtent"?o(f):c==="ariaLabelConfig"?d.setState({ariaLabelConfig:lh(f)}):c==="fitView"?d.setState({fitViewQueued:f}):c==="fitViewOptions"?d.setState({fitViewOptions:f}):d.setState({[c]:f})))}u.current=e},eo.map(c=>e[c])),null}function no(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function Mp(e){var r;const[t,n]=V.useState(e==="system"?null:e);return V.useEffect(()=>{if(e!=="system"){n(e);return}const i=no(),s=()=>n(i!=null&&i.matches?"dark":"light");return s(),i==null||i.addEventListener("change",s),()=>{i==null||i.removeEventListener("change",s)}},[e]),t!==null?t:(r=no())!=null&&r.matches?"dark":"light"}const ro=typeof document<"u"?document:null;function bt(e=null,t={target:ro,actInsideInputWithModifier:!0}){const[n,r]=V.useState(!1),i=V.useRef(!1),s=V.useRef(new Set([])),[o,a]=V.useMemo(()=>{if(e!==null){const d=(Array.isArray(e)?e:[e]).filter(c=>typeof c=="string").map(c=>c.replace("+",`
|
|
18
|
-
`).replace(`
|
|
19
|
-
|
|
20
|
-
`,`
|
|
21
|
-
+`).split(`
|
|
22
|
-
`)),u=d.reduce((c,f)=>c.concat(...f),[]);return[d,u]}return[[],[]]},[e]);return V.useEffect(()=>{const l=(t==null?void 0:t.target)??ro,d=(t==null?void 0:t.actInsideInputWithModifier)??!0;if(e!==null){const u=h=>{var m,y;if(i.current=h.ctrlKey||h.metaKey||h.shiftKey||h.altKey,(!i.current||i.current&&!d)&&la(h))return!1;const x=oo(h.code,a);if(s.current.add(h[x]),io(o,s.current,!1)){const v=((y=(m=h.composedPath)==null?void 0:m.call(h))==null?void 0:y[0])||h.target,g=(v==null?void 0:v.nodeName)==="BUTTON"||(v==null?void 0:v.nodeName)==="A";t.preventDefault!==!1&&(i.current||!g)&&h.preventDefault(),r(!0)}},c=h=>{const p=oo(h.code,a);io(o,s.current,!0)?(r(!1),s.current.clear()):s.current.delete(h[p]),h.key==="Meta"&&s.current.clear(),i.current=!1},f=()=>{s.current.clear(),r(!1)};return l==null||l.addEventListener("keydown",u),l==null||l.addEventListener("keyup",c),window.addEventListener("blur",f),window.addEventListener("contextmenu",f),()=>{l==null||l.removeEventListener("keydown",u),l==null||l.removeEventListener("keyup",c),window.removeEventListener("blur",f),window.removeEventListener("contextmenu",f)}}},[e,r]),n}function io(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function oo(e,t){return t.includes(e)?"code":"key"}const Ip=()=>{const e=ie();return V.useMemo(()=>({zoomIn:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1.2,{duration:t==null?void 0:t.duration}):Promise.resolve(!1)},zoomOut:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,{duration:t==null?void 0:t.duration}):Promise.resolve(!1)},zoomTo:(t,n)=>{const{panZoom:r}=e.getState();return r?r.scaleTo(t,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{const{transform:[r,i,s],panZoom:o}=e.getState();return o?(await o.setViewport({x:t.x??r,y:t.y??i,zoom:t.zoom??s},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[t,n,r]=e.getState().transform;return{x:t,y:n,zoom:r}},setCenter:async(t,n,r)=>e.getState().setCenter(t,n,r),fitBounds:async(t,n)=>{const{width:r,height:i,minZoom:s,maxZoom:o,panZoom:a}=e.getState(),l=Kr(t,r,i,s,o,(n==null?void 0:n.padding)??.1);return a?(await a.setViewport(l,{duration:n==null?void 0:n.duration,ease:n==null?void 0:n.ease,interpolate:n==null?void 0:n.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,n={})=>{const{transform:r,snapGrid:i,snapToGrid:s,domNode:o}=e.getState();if(!o)return t;const{x:a,y:l}=o.getBoundingClientRect(),d={x:t.x-a,y:t.y-l},u=n.snapGrid??i,c=n.snapToGrid??s;return Ct(d,r,c,u)},flowToScreenPosition:t=>{const{transform:n,domNode:r}=e.getState();if(!r)return t;const{x:i,y:s}=r.getBoundingClientRect(),o=tn(t,n);return{x:o.x+i,y:o.y+s}}}),[])};function Aa(e,t){const n=[],r=new Map,i=[];for(const s of e)if(s.type==="add"){i.push(s);continue}else if(s.type==="remove"||s.type==="replace")r.set(s.id,[s]);else{const o=r.get(s.id);o?o.push(s):r.set(s.id,[s])}for(const s of t){const o=r.get(s.id);if(!o){n.push(s);continue}if(o[0].type==="remove")continue;if(o[0].type==="replace"){n.push({...o[0].item});continue}const a={...s};for(const l of o)Ap(l,a);n.push(a)}return i.length&&i.forEach(s=>{s.index!==void 0?n.splice(s.index,0,{...s.item}):n.push({...s.item})}),n}function Ap(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 Ta(e,t){return Aa(e,t)}function La(e,t){return Aa(e,t)}function $e(e,t){return{id:e,type:"select",selected:t}}function Ge(e,t=new Set,n=!1){const r=[];for(const[i,s]of e){const o=t.has(i);!(s.selected===void 0&&!o)&&s.selected!==o&&(n&&(s.selected=o),r.push($e(s.id,o)))}return r}function so({items:e=[],lookup:t}){var i;const n=[],r=new Map(e.map(s=>[s.id,s]));for(const[s,o]of e.entries()){const a=t.get(o.id),l=((i=a==null?void 0:a.internals)==null?void 0:i.userNode)??a;l!==void 0&&l!==o&&n.push({id:o.id,item:o,type:"replace"}),l===void 0&&n.push({item:o,type:"add",index:s})}for(const[s]of t)r.get(s)===void 0&&n.push({id:s,type:"remove"});return n}function ao(e){return{id:e.id,type:"remove"}}const co=e=>Jf(e),Tp=e=>ta(e);function Pa(e){return V.forwardRef(e)}const Lp=typeof window<"u"?V.useLayoutEffect:V.useEffect;function lo(e){const[t,n]=V.useState(BigInt(0)),[r]=V.useState(()=>Pp(()=>n(i=>i+BigInt(1))));return Lp(()=>{const i=r.get();i.length&&(e(i),r.reset())},[t]),r}function Pp(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}const Ra=V.createContext(null);function Rp({children:e}){const t=ie(),n=V.useCallback(a=>{const{nodes:l=[],setNodes:d,hasDefaultNodes:u,onNodesChange:c,nodeLookup:f,fitViewQueued:h,onNodesChangeMiddlewareMap:p}=t.getState();let x=l;for(const y of a)x=typeof y=="function"?y(x):y;let m=so({items:x,lookup:f});for(const y of p.values())m=y(m);u&&d(x),m.length>0?c==null||c(m):h&&window.requestAnimationFrame(()=>{const{fitViewQueued:y,nodes:v,setNodes:g}=t.getState();y&&g(v)})},[]),r=lo(n),i=V.useCallback(a=>{const{edges:l=[],setEdges:d,hasDefaultEdges:u,onEdgesChange:c,edgeLookup:f}=t.getState();let h=l;for(const p of a)h=typeof p=="function"?p(h):p;u?d(h):c&&c(so({items:h,lookup:f}))},[]),s=lo(i),o=V.useMemo(()=>({nodeQueue:r,edgeQueue:s}),[]);return I.jsx(Ra.Provider,{value:o,children:e})}function $p(){const e=V.useContext(Ra);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const Op=e=>!!e.panZoom;function ii(){const e=Ip(),t=ie(),n=$p(),r=te(Op),i=V.useMemo(()=>{const s=c=>t.getState().nodeLookup.get(c),o=c=>{n.nodeQueue.push(c)},a=c=>{n.edgeQueue.push(c)},l=c=>{var y,v;const{nodeLookup:f,nodeOrigin:h}=t.getState(),p=co(c)?c:f.get(c.id),x=p.parentId?aa(p.position,p.measured,p.parentId,f,h):p.position,m={...p,position:x,width:((y=p.measured)==null?void 0:y.width)??p.width,height:((v=p.measured)==null?void 0:v.height)??p.height};return Je(m)},d=(c,f,h={replace:!1})=>{o(p=>p.map(x=>{if(x.id===c){const m=typeof f=="function"?f(x):f;return h.replace&&co(m)?m:{...x,...m}}return x}))},u=(c,f,h={replace:!1})=>{a(p=>p.map(x=>{if(x.id===c){const m=typeof f=="function"?f(x):f;return h.replace&&Tp(m)?m:{...x,...m}}return x}))};return{getNodes:()=>t.getState().nodes.map(c=>({...c})),getNode:c=>{var f;return(f=s(c))==null?void 0:f.internals.userNode},getInternalNode:s,getEdges:()=>{const{edges:c=[]}=t.getState();return c.map(f=>({...f}))},getEdge:c=>t.getState().edgeLookup.get(c),setNodes:o,setEdges:a,addNodes:c=>{const f=Array.isArray(c)?c:[c];n.nodeQueue.push(h=>[...h,...f])},addEdges:c=>{const f=Array.isArray(c)?c:[c];n.edgeQueue.push(h=>[...h,...f])},toObject:()=>{const{nodes:c=[],edges:f=[],transform:h}=t.getState(),[p,x,m]=h;return{nodes:c.map(y=>({...y})),edges:f.map(y=>({...y})),viewport:{x:p,y:x,zoom:m}}},deleteElements:async({nodes:c=[],edges:f=[]})=>{const{nodes:h,edges:p,onNodesDelete:x,onEdgesDelete:m,triggerNodeChanges:y,triggerEdgeChanges:v,onDelete:g,onBeforeDelete:w}=t.getState(),{nodes:k,edges:_}=await ih({nodesToRemove:c,edgesToRemove:f,nodes:h,edges:p,onBeforeDelete:w}),M=_.length>0,b=k.length>0;if(M){const N=_.map(ao);m==null||m(_),v(N)}if(b){const N=k.map(ao);x==null||x(k),y(N)}return(b||M)&&(g==null||g({nodes:k,edges:_})),{deletedNodes:k,deletedEdges:_}},getIntersectingNodes:(c,f=!0,h)=>{const p=Ri(c),x=p?c:l(c),m=h!==void 0;return x?(h||t.getState().nodes).filter(y=>{const v=t.getState().nodeLookup.get(y.id);if(v&&!p&&(y.id===c.id||!v.internals.positionAbsolute))return!1;const g=Je(m?y:v),w=wt(g,x);return f&&w>0||w>=g.width*g.height||w>=x.width*x.height}):[]},isNodeIntersecting:(c,f,h=!0)=>{const x=Ri(c)?c:l(c);if(!x)return!1;const m=wt(x,f);return h&&m>0||m>=f.width*f.height||m>=x.width*x.height},updateNode:d,updateNodeData:(c,f,h={replace:!1})=>{d(c,p=>{const x=typeof f=="function"?f(p):f;return h.replace?{...p,data:x}:{...p,data:{...p.data,...x}}},h)},updateEdge:u,updateEdgeData:(c,f,h={replace:!1})=>{u(c,p=>{const x=typeof f=="function"?f(p):f;return h.replace?{...p,data:x}:{...p,data:{...p.data,...x}}},h)},getNodesBounds:c=>{const{nodeLookup:f,nodeOrigin:h}=t.getState();return eh(c,{nodeLookup:f,nodeOrigin:h})},getHandleConnections:({type:c,id:f,nodeId:h})=>{var p;return Array.from(((p=t.getState().connectionLookup.get(`${h}-${c}${f?`-${f}`:""}`))==null?void 0:p.values())??[])},getNodeConnections:({type:c,handleId:f,nodeId:h})=>{var p;return Array.from(((p=t.getState().connectionLookup.get(`${h}${c?f?`-${c}-${f}`:`-${c}`:""}`))==null?void 0:p.values())??[])},fitView:async c=>{const f=t.getState().fitViewResolver??ch();return t.setState({fitViewQueued:!0,fitViewOptions:c,fitViewResolver:f}),n.nodeQueue.push(h=>[...h]),f.promise}}},[]);return V.useMemo(()=>({...i,...e,viewportInitialized:r}),[r])}const uo=e=>e.selected,jp=typeof window<"u"?window:void 0;function Dp({deleteKeyCode:e,multiSelectionKeyCode:t}){const n=ie(),{deleteElements:r}=ii(),i=bt(e,{actInsideInputWithModifier:!1}),s=bt(t,{target:jp});V.useEffect(()=>{if(i){const{edges:o,nodes:a}=n.getState();r({nodes:a.filter(uo),edges:o.filter(uo)}),n.setState({nodesSelectionActive:!1})}},[i]),V.useEffect(()=>{n.setState({multiSelectionActive:s})},[s])}function zp(e){const t=ie();V.useEffect(()=>{const n=()=>{var i,s,o,a;if(!e.current||!(((s=(i=e.current).checkVisibility)==null?void 0:s.call(i))??!0))return!1;const r=Zr(e.current);(r.height===0||r.width===0)&&((a=(o=t.getState()).onError)==null||a.call(o,"004",ve.error004())),t.setState({width:r.width||500,height:r.height||500})};if(e.current){n(),window.addEventListener("resize",n);const r=new ResizeObserver(()=>n());return r.observe(e.current),()=>{window.removeEventListener("resize",n),r&&e.current&&r.unobserve(e.current)}}},[])}const gn={position:"absolute",width:"100%",height:"100%",top:0,left:0},Vp=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function Hp({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:r=!1,panOnScrollSpeed:i=.5,panOnScrollMode:s=De.Free,zoomOnDoubleClick:o=!0,panOnDrag:a=!0,defaultViewport:l,translateExtent:d,minZoom:u,maxZoom:c,zoomActivationKeyCode:f,preventScrolling:h=!0,children:p,noWheelClassName:x,noPanClassName:m,onViewportChange:y,isControlledViewport:v,paneClickDistance:g,selectionOnDrag:w}){const k=ie(),_=V.useRef(null),{userSelectionActive:M,lib:b,connectionInProgress:N}=te(Vp,re),A=bt(f),S=V.useRef();zp(_);const C=V.useCallback(j=>{y==null||y({x:j[0],y:j[1],zoom:j[2]}),v||k.setState({transform:j})},[y,v]);return V.useEffect(()=>{if(_.current){S.current=Yh({domNode:_.current,minZoom:u,maxZoom:c,translateExtent:d,viewport:l,onDraggingChange:L=>k.setState(D=>D.paneDragging===L?D:{paneDragging:L}),onPanZoomStart:(L,D)=>{const{onViewportChangeStart:O,onMoveStart:R}=k.getState();R==null||R(L,D),O==null||O(D)},onPanZoom:(L,D)=>{const{onViewportChange:O,onMove:R}=k.getState();R==null||R(L,D),O==null||O(D)},onPanZoomEnd:(L,D)=>{const{onViewportChangeEnd:O,onMoveEnd:R}=k.getState();R==null||R(L,D),O==null||O(D)}});const{x:j,y:E,zoom:P}=S.current.getViewport();return k.setState({panZoom:S.current,transform:[j,E,P],domNode:_.current.closest(".react-flow")}),()=>{var L;(L=S.current)==null||L.destroy()}}},[]),V.useEffect(()=>{var j;(j=S.current)==null||j.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:r,panOnScrollSpeed:i,panOnScrollMode:s,zoomOnDoubleClick:o,panOnDrag:a,zoomActivationKeyPressed:A,preventScrolling:h,noPanClassName:m,userSelectionActive:M,noWheelClassName:x,lib:b,onTransformChange:C,connectionInProgress:N,selectionOnDrag:w,paneClickDistance:g})},[e,t,n,r,i,s,o,a,A,h,m,M,x,b,C,N,w,g]),I.jsx("div",{className:"react-flow__renderer",ref:_,style:gn,children:p})}const Fp=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Bp(){const{userSelectionActive:e,userSelectionRect:t}=te(Fp,re);return e&&t?I.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}const An=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},qp=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function Yp({isSelecting:e,selectionKeyPressed:t,selectionMode:n=xt.Full,panOnDrag:r,paneClickDistance:i,selectionOnDrag:s,onSelectionStart:o,onSelectionEnd:a,onPaneClick:l,onPaneContextMenu:d,onPaneScroll:u,onPaneMouseEnter:c,onPaneMouseMove:f,onPaneMouseLeave:h,children:p}){const x=ie(),{userSelectionActive:m,elementsSelectable:y,dragging:v,connectionInProgress:g}=te(qp,re),w=y&&(e||m),k=V.useRef(null),_=V.useRef(),M=V.useRef(new Set),b=V.useRef(new Set),N=V.useRef(!1),A=O=>{if(N.current||g){N.current=!1;return}l==null||l(O),x.getState().resetSelectedElements(),x.setState({nodesSelectionActive:!1})},S=O=>{if(Array.isArray(r)&&(r!=null&&r.includes(2))){O.preventDefault();return}d==null||d(O)},C=u?O=>u(O):void 0,j=O=>{N.current&&(O.stopPropagation(),N.current=!1)},E=O=>{var z,B;const{domNode:R}=x.getState();if(_.current=R==null?void 0:R.getBoundingClientRect(),!_.current)return;const H=O.target===k.current;if(!H&&!!O.target.closest(".nokey")||!e||!(s&&H||t)||O.button!==0||!O.isPrimary)return;(B=(z=O.target)==null?void 0:z.setPointerCapture)==null||B.call(z,O.pointerId),N.current=!1;const{x:T,y:$}=ge(O.nativeEvent,_.current);x.setState({userSelectionRect:{width:0,height:0,startX:T,startY:$,x:T,y:$}}),H||(O.stopPropagation(),O.preventDefault())},P=O=>{const{userSelectionRect:R,transform:H,nodeLookup:q,edgeLookup:F,connectionLookup:T,triggerNodeChanges:$,triggerEdgeChanges:z,defaultEdgeOptions:B,resetSelectedElements:G}=x.getState();if(!_.current||!R)return;const{x:Y,y:W}=ge(O.nativeEvent,_.current),{startX:Z,startY:Q}=R;if(!N.current){const ee=t?0:i;if(Math.hypot(Y-Z,W-Q)<=ee)return;G(),o==null||o(O)}N.current=!0;const U={startX:Z,startY:Q,x:Y<Z?Y:Z,y:W<Q?W:Q,width:Math.abs(Y-Z),height:Math.abs(W-Q)},X=M.current,J=b.current;M.current=new Set(Ur(q,U,H,n===xt.Partial,!0).map(ee=>ee.id)),b.current=new Set;const ne=(B==null?void 0:B.selectable)??!0;for(const ee of M.current){const ce=T.get(ee);if(ce)for(const{edgeId:Ce}of ce.values()){const _e=F.get(Ce);_e&&(_e.selectable??ne)&&b.current.add(Ce)}}if(!$i(X,M.current)){const ee=Ge(q,M.current,!0);$(ee)}if(!$i(J,b.current)){const ee=Ge(F,b.current);z(ee)}x.setState({userSelectionRect:U,userSelectionActive:!0,nodesSelectionActive:!1})},L=O=>{var R,H;O.button===0&&((H=(R=O.target)==null?void 0:R.releasePointerCapture)==null||H.call(R,O.pointerId),!m&&O.target===k.current&&x.getState().userSelectionRect&&(A==null||A(O)),x.setState({userSelectionActive:!1,userSelectionRect:null}),N.current&&(a==null||a(O),x.setState({nodesSelectionActive:M.current.size>0})))},D=r===!0||Array.isArray(r)&&r.includes(0);return I.jsxs("div",{className:ae(["react-flow__pane",{draggable:D,dragging:v,selection:e}]),onClick:w?void 0:An(A,k),onContextMenu:An(S,k),onWheel:An(C,k),onPointerEnter:w?void 0:c,onPointerMove:w?P:f,onPointerUp:w?L:void 0,onPointerDownCapture:w?E:void 0,onClickCapture:w?j:void 0,onPointerLeave:h,ref:k,style:gn,children:[p,I.jsx(Bp,{})]})}function Dr({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:s,multiSelectionActive:o,nodeLookup:a,onError:l}=t.getState(),d=a.get(e);if(!d){l==null||l("012",ve.error012(e));return}t.setState({nodesSelectionActive:!1}),d.selected?(n||d.selected&&o)&&(s({nodes:[d],edges:[]}),requestAnimationFrame(()=>{var u;return(u=r==null?void 0:r.current)==null?void 0:u.blur()})):i([e])}function $a({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:s,nodeClickDistance:o}){const a=ie(),[l,d]=V.useState(!1),u=V.useRef();return V.useEffect(()=>{u.current=Th({getStoreItems:()=>a.getState(),onNodeMouseDown:c=>{Dr({id:c,store:a,nodeRef:e})},onDragStart:()=>{d(!0)},onDragStop:()=>{d(!1)}})},[]),V.useEffect(()=>{if(!(t||!e.current||!u.current))return u.current.update({noDragClassName:n,handleSelector:r,domNode:e.current,isSelectable:s,nodeId:i,nodeClickDistance:o}),()=>{var c;(c=u.current)==null||c.destroy()}},[n,r,t,s,e,i,o]),l}const Gp=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function Oa(){const e=ie();return V.useCallback(n=>{const{nodeExtent:r,snapToGrid:i,snapGrid:s,nodesDraggable:o,onError:a,updateNodePositions:l,nodeLookup:d,nodeOrigin:u}=e.getState(),c=new Map,f=Gp(o),h=i?s[0]:5,p=i?s[1]:5,x=n.direction.x*h*n.factor,m=n.direction.y*p*n.factor;for(const[,y]of d){if(!f(y))continue;let v={x:y.internals.positionAbsolute.x+x,y:y.internals.positionAbsolute.y+m};i&&(v=kt(v,s));const{position:g,positionAbsolute:w}=na({nodeId:y.id,nextPosition:v,nodeLookup:d,nodeExtent:r,nodeOrigin:u,onError:a});y.position=g,y.internals.positionAbsolute=w,c.set(y.id,y)}l(c)},[])}const oi=V.createContext(null),Wp=oi.Provider;oi.Consumer;const ja=()=>V.useContext(oi),Xp=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),Up=(e,t,n)=>r=>{const{connectionClickStartHandle:i,connectionMode:s,connection:o}=r,{fromHandle:a,toHandle:l,isValid:d}=o,u=(l==null?void 0:l.nodeId)===e&&(l==null?void 0:l.id)===t&&(l==null?void 0:l.type)===n;return{connectingFrom:(a==null?void 0:a.nodeId)===e&&(a==null?void 0:a.id)===t&&(a==null?void 0:a.type)===n,connectingTo:u,clickConnecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.id)===t&&(i==null?void 0:i.type)===n,isPossibleEndHandle:s===Ze.Strict?(a==null?void 0:a.type)!==n:e!==(a==null?void 0:a.nodeId)||t!==(a==null?void 0:a.id),connectionInProcess:!!a,clickConnectionInProcess:!!i,valid:u&&d}};function Kp({type:e="source",position:t=K.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:s=!0,id:o,onConnect:a,children:l,className:d,onMouseDown:u,onTouchStart:c,...f},h){var P,L;const p=o||null,x=e==="target",m=ie(),y=ja(),{connectOnClick:v,noPanClassName:g,rfId:w}=te(Xp,re),{connectingFrom:k,connectingTo:_,clickConnecting:M,isPossibleEndHandle:b,connectionInProcess:N,clickConnectionInProcess:A,valid:S}=te(Up(y,p,e),re);y||(L=(P=m.getState()).onError)==null||L.call(P,"010",ve.error010());const C=D=>{const{defaultEdgeOptions:O,onConnect:R,hasDefaultEdges:H}=m.getState(),q={...O,...D};if(H){const{edges:F,setEdges:T}=m.getState();T(gh(q,F))}R==null||R(q),a==null||a(q)},j=D=>{if(!y)return;const O=ua(D.nativeEvent);if(i&&(O&&D.button===0||!O)){const R=m.getState();jr.onPointerDown(D.nativeEvent,{handleDomNode:D.currentTarget,autoPanOnConnect:R.autoPanOnConnect,connectionMode:R.connectionMode,connectionRadius:R.connectionRadius,domNode:R.domNode,nodeLookup:R.nodeLookup,lib:R.lib,isTarget:x,handleId:p,nodeId:y,flowId:R.rfId,panBy:R.panBy,cancelConnection:R.cancelConnection,onConnectStart:R.onConnectStart,onConnectEnd:(...H)=>{var q,F;return(F=(q=m.getState()).onConnectEnd)==null?void 0:F.call(q,...H)},updateConnection:R.updateConnection,onConnect:C,isValidConnection:n||((...H)=>{var q,F;return((F=(q=m.getState()).isValidConnection)==null?void 0:F.call(q,...H))??!0}),getTransform:()=>m.getState().transform,getFromHandle:()=>m.getState().connection.fromHandle,autoPanSpeed:R.autoPanSpeed,dragThreshold:R.connectionDragThreshold})}O?u==null||u(D):c==null||c(D)},E=D=>{const{onClickConnectStart:O,onClickConnectEnd:R,connectionClickStartHandle:H,connectionMode:q,isValidConnection:F,lib:T,rfId:$,nodeLookup:z,connection:B}=m.getState();if(!y||!H&&!i)return;if(!H){O==null||O(D.nativeEvent,{nodeId:y,handleId:p,handleType:e}),m.setState({connectionClickStartHandle:{nodeId:y,type:e,id:p}});return}const G=ca(D.target),Y=n||F,{connection:W,isValid:Z}=jr.isValid(D.nativeEvent,{handle:{nodeId:y,id:p,type:e},connectionMode:q,fromNodeId:H.nodeId,fromHandleId:H.id||null,fromType:H.type,isValidConnection:Y,flowId:$,doc:G,lib:T,nodeLookup:z});Z&&W&&C(W);const Q=structuredClone(B);delete Q.inProgress,Q.toPosition=Q.toHandle?Q.toHandle.position:null,R==null||R(D,Q),m.setState({connectionClickStartHandle:null})};return I.jsx("div",{"data-handleid":p,"data-nodeid":y,"data-handlepos":t,"data-id":`${w}-${y}-${p}-${e}`,className:ae(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",g,d,{source:!x,target:x,connectable:r,connectablestart:i,connectableend:s,clickconnecting:M,connectingfrom:k,connectingto:_,valid:S,connectionindicator:r&&(!N||b)&&(N||A?s:i)}]),onMouseDown:j,onTouchStart:j,onClick:v?E:void 0,ref:h,...f,children:l})}const nt=V.memo(Pa(Kp));function Zp({data:e,isConnectable:t,sourcePosition:n=K.Bottom}){return I.jsxs(I.Fragment,{children:[e==null?void 0:e.label,I.jsx(nt,{type:"source",position:n,isConnectable:t})]})}function Qp({data:e,isConnectable:t,targetPosition:n=K.Top,sourcePosition:r=K.Bottom}){return I.jsxs(I.Fragment,{children:[I.jsx(nt,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,I.jsx(nt,{type:"source",position:r,isConnectable:t})]})}function Jp(){return null}function eg({data:e,isConnectable:t,targetPosition:n=K.Top}){return I.jsxs(I.Fragment,{children:[I.jsx(nt,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]})}const nn={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},fo={input:Zp,default:Qp,output:eg,group:Jp};function tg(e){var t,n,r,i;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((t=e.style)==null?void 0:t.width),height:e.height??e.initialHeight??((n=e.style)==null?void 0:n.height)}:{width:e.width??((r=e.style)==null?void 0:r.width),height:e.height??((i=e.style)==null?void 0:i.height)}}const ng=e=>{const{width:t,height:n,x:r,y:i}=St(e.nodeLookup,{filter:s=>!!s.selected});return{width:pe(t)?t:null,height:pe(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${r}px,${i}px)`}};function rg({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=ie(),{width:i,height:s,transformString:o,userSelectionActive:a}=te(ng,re),l=Oa(),d=V.useRef(null);V.useEffect(()=>{var h;n||(h=d.current)==null||h.focus({preventScroll:!0})},[n]);const u=!a&&i!==null&&s!==null;if($a({nodeRef:d,disabled:!u}),!u)return null;const c=e?h=>{const p=r.getState().nodes.filter(x=>x.selected);e(h,p)}:void 0,f=h=>{Object.prototype.hasOwnProperty.call(nn,h.key)&&(h.preventDefault(),l({direction:nn[h.key],factor:h.shiftKey?4:1}))};return I.jsx("div",{className:ae(["react-flow__nodesselection","react-flow__container",t]),style:{transform:o},children:I.jsx("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:c,tabIndex:n?void 0:-1,onKeyDown:n?void 0:f,style:{width:i,height:s}})})}const ho=typeof window<"u"?window:void 0,ig=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function Da({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:s,onPaneScroll:o,paneClickDistance:a,deleteKeyCode:l,selectionKeyCode:d,selectionOnDrag:u,selectionMode:c,onSelectionStart:f,onSelectionEnd:h,multiSelectionKeyCode:p,panActivationKeyCode:x,zoomActivationKeyCode:m,elementsSelectable:y,zoomOnScroll:v,zoomOnPinch:g,panOnScroll:w,panOnScrollSpeed:k,panOnScrollMode:_,zoomOnDoubleClick:M,panOnDrag:b,defaultViewport:N,translateExtent:A,minZoom:S,maxZoom:C,preventScrolling:j,onSelectionContextMenu:E,noWheelClassName:P,noPanClassName:L,disableKeyboardA11y:D,onViewportChange:O,isControlledViewport:R}){const{nodesSelectionActive:H,userSelectionActive:q}=te(ig,re),F=bt(d,{target:ho}),T=bt(x,{target:ho}),$=T||b,z=T||w,B=u&&$!==!0,G=F||q||B;return Dp({deleteKeyCode:l,multiSelectionKeyCode:p}),I.jsx(Hp,{onPaneContextMenu:s,elementsSelectable:y,zoomOnScroll:v,zoomOnPinch:g,panOnScroll:z,panOnScrollSpeed:k,panOnScrollMode:_,zoomOnDoubleClick:M,panOnDrag:!F&&$,defaultViewport:N,translateExtent:A,minZoom:S,maxZoom:C,zoomActivationKeyCode:m,preventScrolling:j,noWheelClassName:P,noPanClassName:L,onViewportChange:O,isControlledViewport:R,paneClickDistance:a,selectionOnDrag:B,children:I.jsxs(Yp,{onSelectionStart:f,onSelectionEnd:h,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:s,onPaneScroll:o,panOnDrag:$,isSelecting:!!G,selectionMode:c,selectionKeyPressed:F,paneClickDistance:a,selectionOnDrag:B,children:[e,H&&I.jsx(rg,{onSelectionContextMenu:E,noPanClassName:L,disableKeyboardA11y:D})]})})}Da.displayName="FlowRenderer";const og=V.memo(Da),sg=e=>t=>e?Ur(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 ag(e){return te(V.useCallback(sg(e),[e]),re)}const cg=e=>e.updateNodeInternals;function lg(){const e=te(cg),[t]=V.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{const r=new Map;n.forEach(i=>{const s=i.target.getAttribute("data-id");r.set(s,{id:s,nodeElement:i.target,force:!0})}),e(r)}));return V.useEffect(()=>()=>{t==null||t.disconnect()},[t]),t}function ug({node:e,nodeType:t,hasDimensions:n,resizeObserver:r}){const i=ie(),s=V.useRef(null),o=V.useRef(null),a=V.useRef(e.sourcePosition),l=V.useRef(e.targetPosition),d=V.useRef(t),u=n&&!!e.internals.handleBounds;return V.useEffect(()=>{s.current&&!e.hidden&&(!u||o.current!==s.current)&&(o.current&&(r==null||r.unobserve(o.current)),r==null||r.observe(s.current),o.current=s.current)},[u,e.hidden]),V.useEffect(()=>()=>{o.current&&(r==null||r.unobserve(o.current),o.current=null)},[]),V.useEffect(()=>{if(s.current){const c=d.current!==t,f=a.current!==e.sourcePosition,h=l.current!==e.targetPosition;(c||f||h)&&(d.current=t,a.current=e.sourcePosition,l.current=e.targetPosition,i.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:s.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),s}function dg({id:e,onClick:t,onMouseEnter:n,onMouseMove:r,onMouseLeave:i,onContextMenu:s,onDoubleClick:o,nodesDraggable:a,elementsSelectable:l,nodesConnectable:d,nodesFocusable:u,resizeObserver:c,noDragClassName:f,noPanClassName:h,disableKeyboardA11y:p,rfId:x,nodeTypes:m,nodeClickDistance:y,onError:v}){const{node:g,internals:w,isParent:k}=te(Y=>{const W=Y.nodeLookup.get(e),Z=Y.parentLookup.has(e);return{node:W,internals:W.internals,isParent:Z}},re);let _=g.type||"default",M=(m==null?void 0:m[_])||fo[_];M===void 0&&(v==null||v("003",ve.error003(_)),_="default",M=(m==null?void 0:m.default)||fo.default);const b=!!(g.draggable||a&&typeof g.draggable>"u"),N=!!(g.selectable||l&&typeof g.selectable>"u"),A=!!(g.connectable||d&&typeof g.connectable>"u"),S=!!(g.focusable||u&&typeof g.focusable>"u"),C=ie(),j=sa(g),E=ug({node:g,nodeType:_,hasDimensions:j,resizeObserver:c}),P=$a({nodeRef:E,disabled:g.hidden||!b,noDragClassName:f,handleSelector:g.dragHandle,nodeId:e,isSelectable:N,nodeClickDistance:y}),L=Oa();if(g.hidden)return null;const D=ke(g),O=tg(g),R=N||b||t||n||r||i,H=n?Y=>n(Y,{...w.userNode}):void 0,q=r?Y=>r(Y,{...w.userNode}):void 0,F=i?Y=>i(Y,{...w.userNode}):void 0,T=s?Y=>s(Y,{...w.userNode}):void 0,$=o?Y=>o(Y,{...w.userNode}):void 0,z=Y=>{const{selectNodesOnDrag:W,nodeDragThreshold:Z}=C.getState();N&&(!W||!b||Z>0)&&Dr({id:e,store:C,nodeRef:E}),t&&t(Y,{...w.userNode})},B=Y=>{if(!(la(Y.nativeEvent)||p)){if(Zs.includes(Y.key)&&N){const W=Y.key==="Escape";Dr({id:e,store:C,unselect:W,nodeRef:E})}else if(b&&g.selected&&Object.prototype.hasOwnProperty.call(nn,Y.key)){Y.preventDefault();const{ariaLabelConfig:W}=C.getState();C.setState({ariaLiveMessage:W["node.a11yDescription.ariaLiveMessage"]({direction:Y.key.replace("Arrow","").toLowerCase(),x:~~w.positionAbsolute.x,y:~~w.positionAbsolute.y})}),L({direction:nn[Y.key],factor:Y.shiftKey?4:1})}}},G=()=>{var J;if(p||!((J=E.current)!=null&&J.matches(":focus-visible")))return;const{transform:Y,width:W,height:Z,autoPanOnNodeFocus:Q,setCenter:U}=C.getState();if(!Q)return;Ur(new Map([[e,g]]),{x:0,y:0,width:W,height:Z},Y,!0).length>0||U(g.position.x+D.width/2,g.position.y+D.height/2,{zoom:Y[2]})};return I.jsx("div",{className:ae(["react-flow__node",`react-flow__node-${_}`,{[h]:b},g.className,{selected:g.selected,selectable:N,parent:k,draggable:b,dragging:P}]),ref:E,style:{zIndex:w.z,transform:`translate(${w.positionAbsolute.x}px,${w.positionAbsolute.y}px)`,pointerEvents:R?"all":"none",visibility:j?"visible":"hidden",...g.style,...O},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:H,onMouseMove:q,onMouseLeave:F,onContextMenu:T,onClick:z,onDoubleClick:$,onKeyDown:S?B:void 0,tabIndex:S?0:void 0,onFocus:S?G:void 0,role:g.ariaRole??(S?"group":void 0),"aria-roledescription":"node","aria-describedby":p?void 0:`${Ca}-${x}`,"aria-label":g.ariaLabel,...g.domAttributes,children:I.jsx(Wp,{value:e,children:I.jsx(M,{id:e,data:g.data,type:_,positionAbsoluteX:w.positionAbsolute.x,positionAbsoluteY:w.positionAbsolute.y,selected:g.selected??!1,selectable:N,draggable:b,deletable:g.deletable??!0,isConnectable:A,sourcePosition:g.sourcePosition,targetPosition:g.targetPosition,dragging:P,dragHandle:g.dragHandle,zIndex:w.z,parentId:g.parentId,...D})})})}var fg=V.memo(dg);const hg=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function za(e){const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,onError:s}=te(hg,re),o=ag(e.onlyRenderVisibleElements),a=lg();return I.jsx("div",{className:"react-flow__nodes",style:gn,children:o.map(l=>I.jsx(fg,{id:l,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:a,nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,nodeClickDistance:e.nodeClickDistance,onError:s},l))})}za.displayName="NodeRenderer";const pg=V.memo(za);function gg(e){return te(V.useCallback(n=>{if(!e)return n.edges.map(i=>i.id);const r=[];if(n.width&&n.height)for(const i of n.edges){const s=n.nodeLookup.get(i.source),o=n.nodeLookup.get(i.target);s&&o&&fh({sourceNode:s,targetNode:o,width:n.width,height:n.height,transform:n.transform})&&r.push(i.id)}return r},[e]),re)}const mg=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e}};return I.jsx("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},yg=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e,fill:e}};return I.jsx("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},po={[Jt.Arrow]:mg,[Jt.ArrowClosed]:yg};function xg(e){const t=ie();return V.useMemo(()=>{var i,s;return Object.prototype.hasOwnProperty.call(po,e)?po[e]:((s=(i=t.getState()).onError)==null||s.call(i,"009",ve.error009(e)),null)},[e])}const wg=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:s="strokeWidth",strokeWidth:o,orient:a="auto-start-reverse"})=>{const l=xg(t);return l?I.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:a,refX:"0",refY:"0",children:I.jsx(l,{color:n,strokeWidth:o})}):null},Va=({defaultColor:e,rfId:t})=>{const n=te(s=>s.edges),r=te(s=>s.defaultEdgeOptions),i=V.useMemo(()=>vh(n,{id:t,defaultColor:e,defaultMarkerStart:r==null?void 0:r.markerStart,defaultMarkerEnd:r==null?void 0:r.markerEnd}),[n,r,t,e]);return i.length?I.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:I.jsx("defs",{children:i.map(s=>I.jsx(wg,{id:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient},s.id))})}):null};Va.displayName="MarkerDefinitions";var vg=V.memo(Va);function Ha({x:e,y:t,label:n,labelStyle:r,labelShowBg:i=!0,labelBgStyle:s,labelBgPadding:o=[2,4],labelBgBorderRadius:a=2,children:l,className:d,...u}){const[c,f]=V.useState({x:1,y:0,width:0,height:0}),h=ae(["react-flow__edge-textwrapper",d]),p=V.useRef(null);return V.useEffect(()=>{if(p.current){const x=p.current.getBBox();f({x:x.x,y:x.y,width:x.width,height:x.height})}},[n]),n?I.jsxs("g",{transform:`translate(${e-c.width/2} ${t-c.height/2})`,className:h,visibility:c.width?"visible":"hidden",...u,children:[i&&I.jsx("rect",{width:c.width+2*o[0],x:-o[0],y:-o[1],height:c.height+2*o[1],className:"react-flow__edge-textbg",style:s,rx:a,ry:a}),I.jsx("text",{className:"react-flow__edge-text",y:c.height/2,dy:"0.3em",ref:p,style:r,children:n}),l]}):null}Ha.displayName="EdgeText";const bg=V.memo(Ha);function Mt({path:e,labelX:t,labelY:n,label:r,labelStyle:i,labelShowBg:s,labelBgStyle:o,labelBgPadding:a,labelBgBorderRadius:l,interactionWidth:d=20,...u}){return I.jsxs(I.Fragment,{children:[I.jsx("path",{...u,d:e,fill:"none",className:ae(["react-flow__edge-path",u.className])}),d?I.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:d,className:"react-flow__edge-interaction"}):null,r&&pe(t)&&pe(n)?I.jsx(bg,{x:t,y:n,label:r,labelStyle:i,labelShowBg:s,labelBgStyle:o,labelBgPadding:a,labelBgBorderRadius:l}):null]})}function go({pos:e,x1:t,y1:n,x2:r,y2:i}){return e===K.Left||e===K.Right?[.5*(t+r),n]:[t,.5*(n+i)]}function Fa({sourceX:e,sourceY:t,sourcePosition:n=K.Bottom,targetX:r,targetY:i,targetPosition:s=K.Top}){const[o,a]=go({pos:n,x1:e,y1:t,x2:r,y2:i}),[l,d]=go({pos:s,x1:r,y1:i,x2:e,y2:t}),[u,c,f,h]=da({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:o,sourceControlY:a,targetControlX:l,targetControlY:d});return[`M${e},${t} C${o},${a} ${l},${d} ${r},${i}`,u,c,f,h]}function Ba(e){return V.memo(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:s,sourcePosition:o,targetPosition:a,label:l,labelStyle:d,labelShowBg:u,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:x,markerStart:m,interactionWidth:y})=>{const[v,g,w]=Fa({sourceX:n,sourceY:r,sourcePosition:o,targetX:i,targetY:s,targetPosition:a}),k=e.isInternal?void 0:t;return I.jsx(Mt,{id:k,path:v,labelX:g,labelY:w,label:l,labelStyle:d,labelShowBg:u,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:x,markerStart:m,interactionWidth:y})})}const _g=Ba({isInternal:!1}),qa=Ba({isInternal:!0});_g.displayName="SimpleBezierEdge";qa.displayName="SimpleBezierEdgeInternal";function Ya(e){return V.memo(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:s,label:o,labelStyle:a,labelShowBg:l,labelBgStyle:d,labelBgPadding:u,labelBgBorderRadius:c,style:f,sourcePosition:h=K.Bottom,targetPosition:p=K.Top,markerEnd:x,markerStart:m,pathOptions:y,interactionWidth:v})=>{const[g,w,k]=Rr({sourceX:n,sourceY:r,sourcePosition:h,targetX:i,targetY:s,targetPosition:p,borderRadius:y==null?void 0:y.borderRadius,offset:y==null?void 0:y.offset,stepPosition:y==null?void 0:y.stepPosition}),_=e.isInternal?void 0:t;return I.jsx(Mt,{id:_,path:g,labelX:w,labelY:k,label:o,labelStyle:a,labelShowBg:l,labelBgStyle:d,labelBgPadding:u,labelBgBorderRadius:c,style:f,markerEnd:x,markerStart:m,interactionWidth:v})})}const Ga=Ya({isInternal:!1}),Wa=Ya({isInternal:!0});Ga.displayName="SmoothStepEdge";Wa.displayName="SmoothStepEdgeInternal";function Xa(e){return V.memo(({id:t,...n})=>{var i;const r=e.isInternal?void 0:t;return I.jsx(Ga,{...n,id:r,pathOptions:V.useMemo(()=>{var s;return{borderRadius:0,offset:(s=n.pathOptions)==null?void 0:s.offset}},[(i=n.pathOptions)==null?void 0:i.offset])})})}const Eg=Xa({isInternal:!1}),Ua=Xa({isInternal:!0});Eg.displayName="StepEdge";Ua.displayName="StepEdgeInternal";function Ka(e){return V.memo(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:s,label:o,labelStyle:a,labelShowBg:l,labelBgStyle:d,labelBgPadding:u,labelBgBorderRadius:c,style:f,markerEnd:h,markerStart:p,interactionWidth:x})=>{const[m,y,v]=ha({sourceX:n,sourceY:r,targetX:i,targetY:s}),g=e.isInternal?void 0:t;return I.jsx(Mt,{id:g,path:m,labelX:y,labelY:v,label:o,labelStyle:a,labelShowBg:l,labelBgStyle:d,labelBgPadding:u,labelBgBorderRadius:c,style:f,markerEnd:h,markerStart:p,interactionWidth:x})})}const Ng=Ka({isInternal:!1}),Za=Ka({isInternal:!0});Ng.displayName="StraightEdge";Za.displayName="StraightEdgeInternal";function Qa(e){return V.memo(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:s,sourcePosition:o=K.Bottom,targetPosition:a=K.Top,label:l,labelStyle:d,labelShowBg:u,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:x,markerStart:m,pathOptions:y,interactionWidth:v})=>{const[g,w,k]=Qr({sourceX:n,sourceY:r,sourcePosition:o,targetX:i,targetY:s,targetPosition:a,curvature:y==null?void 0:y.curvature}),_=e.isInternal?void 0:t;return I.jsx(Mt,{id:_,path:g,labelX:w,labelY:k,label:l,labelStyle:d,labelShowBg:u,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:x,markerStart:m,interactionWidth:v})})}const Sg=Qa({isInternal:!1}),Ja=Qa({isInternal:!0});Sg.displayName="BezierEdge";Ja.displayName="BezierEdgeInternal";const mo={default:Ja,straight:Za,step:Ua,smoothstep:Wa,simplebezier:qa},yo={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},kg=(e,t,n)=>n===K.Left?e-t:n===K.Right?e+t:e,Cg=(e,t,n)=>n===K.Top?e-t:n===K.Bottom?e+t:e,xo="react-flow__edgeupdater";function wo({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:s,onMouseOut:o,type:a}){return I.jsx("circle",{onMouseDown:i,onMouseEnter:s,onMouseOut:o,className:ae([xo,`${xo}-${a}`]),cx:kg(t,r,e),cy:Cg(n,r,e),r,stroke:"transparent",fill:"transparent"})}function Mg({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:r,sourceY:i,targetX:s,targetY:o,sourcePosition:a,targetPosition:l,onReconnect:d,onReconnectStart:u,onReconnectEnd:c,setReconnecting:f,setUpdateHover:h}){const p=ie(),x=(w,k)=>{if(w.button!==0)return;const{autoPanOnConnect:_,domNode:M,connectionMode:b,connectionRadius:N,lib:A,onConnectStart:S,cancelConnection:C,nodeLookup:j,rfId:E,panBy:P,updateConnection:L}=p.getState(),D=k.type==="target",O=(q,F)=>{f(!1),c==null||c(q,n,k.type,F)},R=q=>d==null?void 0:d(n,q),H=(q,F)=>{f(!0),u==null||u(w,n,k.type),S==null||S(q,F)};jr.onPointerDown(w.nativeEvent,{autoPanOnConnect:_,connectionMode:b,connectionRadius:N,domNode:M,handleId:k.id,nodeId:k.nodeId,nodeLookup:j,isTarget:D,edgeUpdaterType:k.type,lib:A,flowId:E,cancelConnection:C,panBy:P,isValidConnection:(...q)=>{var F,T;return((T=(F=p.getState()).isValidConnection)==null?void 0:T.call(F,...q))??!0},onConnect:R,onConnectStart:H,onConnectEnd:(...q)=>{var F,T;return(T=(F=p.getState()).onConnectEnd)==null?void 0:T.call(F,...q)},onReconnectEnd:O,updateConnection:L,getTransform:()=>p.getState().transform,getFromHandle:()=>p.getState().connection.fromHandle,dragThreshold:p.getState().connectionDragThreshold,handleDomNode:w.currentTarget})},m=w=>x(w,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),y=w=>x(w,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),v=()=>h(!0),g=()=>h(!1);return I.jsxs(I.Fragment,{children:[(e===!0||e==="source")&&I.jsx(wo,{position:a,centerX:r,centerY:i,radius:t,onMouseDown:m,onMouseEnter:v,onMouseOut:g,type:"source"}),(e===!0||e==="target")&&I.jsx(wo,{position:l,centerX:s,centerY:o,radius:t,onMouseDown:y,onMouseEnter:v,onMouseOut:g,type:"target"})]})}function Ig({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:r,onClick:i,onDoubleClick:s,onContextMenu:o,onMouseEnter:a,onMouseMove:l,onMouseLeave:d,reconnectRadius:u,onReconnect:c,onReconnectStart:f,onReconnectEnd:h,rfId:p,edgeTypes:x,noPanClassName:m,onError:y,disableKeyboardA11y:v}){let g=te(U=>U.edgeLookup.get(e));const w=te(U=>U.defaultEdgeOptions);g=w?{...w,...g}:g;let k=g.type||"default",_=(x==null?void 0:x[k])||mo[k];_===void 0&&(y==null||y("011",ve.error011(k)),k="default",_=(x==null?void 0:x.default)||mo.default);const M=!!(g.focusable||t&&typeof g.focusable>"u"),b=typeof c<"u"&&(g.reconnectable||n&&typeof g.reconnectable>"u"),N=!!(g.selectable||r&&typeof g.selectable>"u"),A=V.useRef(null),[S,C]=V.useState(!1),[j,E]=V.useState(!1),P=ie(),{zIndex:L,sourceX:D,sourceY:O,targetX:R,targetY:H,sourcePosition:q,targetPosition:F}=te(V.useCallback(U=>{const X=U.nodeLookup.get(g.source),J=U.nodeLookup.get(g.target);if(!X||!J)return{zIndex:g.zIndex,...yo};const ne=wh({id:e,sourceNode:X,targetNode:J,sourceHandle:g.sourceHandle||null,targetHandle:g.targetHandle||null,connectionMode:U.connectionMode,onError:y});return{zIndex:dh({selected:g.selected,zIndex:g.zIndex,sourceNode:X,targetNode:J,elevateOnSelect:U.elevateEdgesOnSelect,zIndexMode:U.zIndexMode}),...ne||yo}},[g.source,g.target,g.sourceHandle,g.targetHandle,g.selected,g.zIndex]),re),T=V.useMemo(()=>g.markerStart?`url('#${$r(g.markerStart,p)}')`:void 0,[g.markerStart,p]),$=V.useMemo(()=>g.markerEnd?`url('#${$r(g.markerEnd,p)}')`:void 0,[g.markerEnd,p]);if(g.hidden||D===null||O===null||R===null||H===null)return null;const z=U=>{var ee;const{addSelectedEdges:X,unselectNodesAndEdges:J,multiSelectionActive:ne}=P.getState();N&&(P.setState({nodesSelectionActive:!1}),g.selected&&ne?(J({nodes:[],edges:[g]}),(ee=A.current)==null||ee.blur()):X([e])),i&&i(U,g)},B=s?U=>{s(U,{...g})}:void 0,G=o?U=>{o(U,{...g})}:void 0,Y=a?U=>{a(U,{...g})}:void 0,W=l?U=>{l(U,{...g})}:void 0,Z=d?U=>{d(U,{...g})}:void 0,Q=U=>{var X;if(!v&&Zs.includes(U.key)&&N){const{unselectNodesAndEdges:J,addSelectedEdges:ne}=P.getState();U.key==="Escape"?((X=A.current)==null||X.blur(),J({edges:[g]})):ne([e])}};return I.jsx("svg",{style:{zIndex:L},children:I.jsxs("g",{className:ae(["react-flow__edge",`react-flow__edge-${k}`,g.className,m,{selected:g.selected,animated:g.animated,inactive:!N&&!i,updating:S,selectable:N}]),onClick:z,onDoubleClick:B,onContextMenu:G,onMouseEnter:Y,onMouseMove:W,onMouseLeave:Z,onKeyDown:M?Q:void 0,tabIndex:M?0:void 0,role:g.ariaRole??(M?"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":M?`${Ma}-${p}`:void 0,ref:A,...g.domAttributes,children:[!j&&I.jsx(_,{id:e,source:g.source,target:g.target,type:g.type,selected:g.selected,animated:g.animated,selectable:N,deletable:g.deletable??!0,label:g.label,labelStyle:g.labelStyle,labelShowBg:g.labelShowBg,labelBgStyle:g.labelBgStyle,labelBgPadding:g.labelBgPadding,labelBgBorderRadius:g.labelBgBorderRadius,sourceX:D,sourceY:O,targetX:R,targetY:H,sourcePosition:q,targetPosition:F,data:g.data,style:g.style,sourceHandleId:g.sourceHandle,targetHandleId:g.targetHandle,markerStart:T,markerEnd:$,pathOptions:"pathOptions"in g?g.pathOptions:void 0,interactionWidth:g.interactionWidth}),b&&I.jsx(Mg,{edge:g,isReconnectable:b,reconnectRadius:u,onReconnect:c,onReconnectStart:f,onReconnectEnd:h,sourceX:D,sourceY:O,targetX:R,targetY:H,sourcePosition:q,targetPosition:F,setUpdateHover:C,setReconnecting:E})]})})}var Ag=V.memo(Ig);const Tg=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function ec({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:r,noPanClassName:i,onReconnect:s,onEdgeContextMenu:o,onEdgeMouseEnter:a,onEdgeMouseMove:l,onEdgeMouseLeave:d,onEdgeClick:u,reconnectRadius:c,onEdgeDoubleClick:f,onReconnectStart:h,onReconnectEnd:p,disableKeyboardA11y:x}){const{edgesFocusable:m,edgesReconnectable:y,elementsSelectable:v,onError:g}=te(Tg,re),w=gg(t);return I.jsxs("div",{className:"react-flow__edges",children:[I.jsx(vg,{defaultColor:e,rfId:n}),w.map(k=>I.jsx(Ag,{id:k,edgesFocusable:m,edgesReconnectable:y,elementsSelectable:v,noPanClassName:i,onReconnect:s,onContextMenu:o,onMouseEnter:a,onMouseMove:l,onMouseLeave:d,onClick:u,reconnectRadius:c,onDoubleClick:f,onReconnectStart:h,onReconnectEnd:p,rfId:n,onError:g,edgeTypes:r,disableKeyboardA11y:x},k))]})}ec.displayName="EdgeRenderer";const Lg=V.memo(ec),Pg=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Rg({children:e}){const t=te(Pg);return I.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}function $g(e){const t=ii(),n=V.useRef(!1);V.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const Og=e=>{var t;return(t=e.panZoom)==null?void 0:t.syncViewport};function jg(e){const t=te(Og),n=ie();return V.useEffect(()=>{e&&(t==null||t(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function Dg(e){return e.connection.inProgress?{...e.connection,to:Ct(e.connection.to,e.transform)}:{...e.connection}}function zg(e){return Dg}function Vg(e){const t=zg();return te(t,re)}const Hg=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function Fg({containerStyle:e,style:t,type:n,component:r}){const{nodesConnectable:i,width:s,height:o,isValid:a,inProgress:l}=te(Hg,re);return!(s&&i&&l)?null:I.jsx("svg",{style:e,width:s,height:o,className:"react-flow__connectionline react-flow__container",children:I.jsx("g",{className:ae(["react-flow__connection",ea(a)]),children:I.jsx(tc,{style:t,type:n,CustomComponent:r,isValid:a})})})}const tc=({style:e,type:t=Ae.Bezier,CustomComponent:n,isValid:r})=>{const{inProgress:i,from:s,fromNode:o,fromHandle:a,fromPosition:l,to:d,toNode:u,toHandle:c,toPosition:f,pointer:h}=Vg();if(!i)return;if(n)return I.jsx(n,{connectionLineType:t,connectionLineStyle:e,fromNode:o,fromHandle:a,fromX:s.x,fromY:s.y,toX:d.x,toY:d.y,fromPosition:l,toPosition:f,connectionStatus:ea(r),toNode:u,toHandle:c,pointer:h});let p="";const x={sourceX:s.x,sourceY:s.y,sourcePosition:l,targetX:d.x,targetY:d.y,targetPosition:f};switch(t){case Ae.Bezier:[p]=Qr(x);break;case Ae.SimpleBezier:[p]=Fa(x);break;case Ae.Step:[p]=Rr({...x,borderRadius:0});break;case Ae.SmoothStep:[p]=Rr(x);break;default:[p]=ha(x)}return I.jsx("path",{d:p,fill:"none",className:"react-flow__connection-path",style:e})};tc.displayName="ConnectionLine";const Bg={};function vo(e=Bg){V.useRef(e),ie(),V.useEffect(()=>{},[e])}function qg(){ie(),V.useRef(!1),V.useEffect(()=>{},[])}function nc({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:r,onEdgeClick:i,onNodeDoubleClick:s,onEdgeDoubleClick:o,onNodeMouseEnter:a,onNodeMouseMove:l,onNodeMouseLeave:d,onNodeContextMenu:u,onSelectionContextMenu:c,onSelectionStart:f,onSelectionEnd:h,connectionLineType:p,connectionLineStyle:x,connectionLineComponent:m,connectionLineContainerStyle:y,selectionKeyCode:v,selectionOnDrag:g,selectionMode:w,multiSelectionKeyCode:k,panActivationKeyCode:_,zoomActivationKeyCode:M,deleteKeyCode:b,onlyRenderVisibleElements:N,elementsSelectable:A,defaultViewport:S,translateExtent:C,minZoom:j,maxZoom:E,preventScrolling:P,defaultMarkerColor:L,zoomOnScroll:D,zoomOnPinch:O,panOnScroll:R,panOnScrollSpeed:H,panOnScrollMode:q,zoomOnDoubleClick:F,panOnDrag:T,onPaneClick:$,onPaneMouseEnter:z,onPaneMouseMove:B,onPaneMouseLeave:G,onPaneScroll:Y,onPaneContextMenu:W,paneClickDistance:Z,nodeClickDistance:Q,onEdgeContextMenu:U,onEdgeMouseEnter:X,onEdgeMouseMove:J,onEdgeMouseLeave:ne,reconnectRadius:ee,onReconnect:ce,onReconnectStart:Ce,onReconnectEnd:_e,noDragClassName:Pe,noWheelClassName:rt,noPanClassName:it,disableKeyboardA11y:ot,nodeExtent:mn,rfId:It,viewport:Be,onViewportChange:st}){return vo(e),vo(t),qg(),$g(n),jg(Be),I.jsx(og,{onPaneClick:$,onPaneMouseEnter:z,onPaneMouseMove:B,onPaneMouseLeave:G,onPaneContextMenu:W,onPaneScroll:Y,paneClickDistance:Z,deleteKeyCode:b,selectionKeyCode:v,selectionOnDrag:g,selectionMode:w,onSelectionStart:f,onSelectionEnd:h,multiSelectionKeyCode:k,panActivationKeyCode:_,zoomActivationKeyCode:M,elementsSelectable:A,zoomOnScroll:D,zoomOnPinch:O,zoomOnDoubleClick:F,panOnScroll:R,panOnScrollSpeed:H,panOnScrollMode:q,panOnDrag:T,defaultViewport:S,translateExtent:C,minZoom:j,maxZoom:E,onSelectionContextMenu:c,preventScrolling:P,noDragClassName:Pe,noWheelClassName:rt,noPanClassName:it,disableKeyboardA11y:ot,onViewportChange:st,isControlledViewport:!!Be,children:I.jsxs(Rg,{children:[I.jsx(Lg,{edgeTypes:t,onEdgeClick:i,onEdgeDoubleClick:o,onReconnect:ce,onReconnectStart:Ce,onReconnectEnd:_e,onlyRenderVisibleElements:N,onEdgeContextMenu:U,onEdgeMouseEnter:X,onEdgeMouseMove:J,onEdgeMouseLeave:ne,reconnectRadius:ee,defaultMarkerColor:L,noPanClassName:it,disableKeyboardA11y:ot,rfId:It}),I.jsx(Fg,{style:x,type:p,component:m,containerStyle:y}),I.jsx("div",{className:"react-flow__edgelabel-renderer"}),I.jsx(pg,{nodeTypes:e,onNodeClick:r,onNodeDoubleClick:s,onNodeMouseEnter:a,onNodeMouseMove:l,onNodeMouseLeave:d,onNodeContextMenu:u,nodeClickDistance:Q,onlyRenderVisibleElements:N,noPanClassName:it,noDragClassName:Pe,disableKeyboardA11y:ot,nodeExtent:mn,rfId:It}),I.jsx("div",{className:"react-flow__viewport-portal"})]})})}nc.displayName="GraphView";const Yg=V.memo(nc),bo=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:i,height:s,fitView:o,fitViewOptions:a,minZoom:l=.5,maxZoom:d=2,nodeOrigin:u,nodeExtent:c,zIndexMode:f="basic"}={})=>{const h=new Map,p=new Map,x=new Map,m=new Map,y=r??t??[],v=n??e??[],g=u??[0,0],w=c??yt;ma(x,m,y);const k=Or(v,h,p,{nodeOrigin:g,nodeExtent:w,zIndexMode:f});let _=[0,0,1];if(o&&i&&s){const M=St(h,{filter:S=>!!((S.width||S.initialWidth)&&(S.height||S.initialHeight))}),{x:b,y:N,zoom:A}=Kr(M,i,s,l,d,(a==null?void 0:a.padding)??.1);_=[b,N,A]}return{rfId:"1",width:i??0,height:s??0,transform:_,nodes:v,nodesInitialized:k,nodeLookup:h,parentLookup:p,edges:y,edgeLookup:m,connectionLookup:x,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:r!==void 0,panZoom:null,minZoom:l,maxZoom:d,translateExtent:yt,nodeExtent:w,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Ze.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:o??!1,fitViewOptions:a,fitViewResolver:null,connection:{...Js},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:oh,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Qs,zIndexMode:f,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},Gg=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:i,height:s,fitView:o,fitViewOptions:a,minZoom:l,maxZoom:d,nodeOrigin:u,nodeExtent:c,zIndexMode:f})=>lp((h,p)=>{async function x(){const{nodeLookup:m,panZoom:y,fitViewOptions:v,fitViewResolver:g,width:w,height:k,minZoom:_,maxZoom:M}=p();y&&(await rh({nodes:m,width:w,height:k,panZoom:y,minZoom:_,maxZoom:M},v),g==null||g.resolve(!0),h({fitViewResolver:null}))}return{...bo({nodes:e,edges:t,width:i,height:s,fitView:o,fitViewOptions:a,minZoom:l,maxZoom:d,nodeOrigin:u,nodeExtent:c,defaultNodes:n,defaultEdges:r,zIndexMode:f}),setNodes:m=>{const{nodeLookup:y,parentLookup:v,nodeOrigin:g,elevateNodesOnSelect:w,fitViewQueued:k,zIndexMode:_}=p(),M=Or(m,y,v,{nodeOrigin:g,nodeExtent:c,elevateNodesOnSelect:w,checkEquality:!0,zIndexMode:_});k&&M?(x(),h({nodes:m,nodesInitialized:M,fitViewQueued:!1,fitViewOptions:void 0})):h({nodes:m,nodesInitialized:M})},setEdges:m=>{const{connectionLookup:y,edgeLookup:v}=p();ma(y,v,m),h({edges:m})},setDefaultNodesAndEdges:(m,y)=>{if(m){const{setNodes:v}=p();v(m),h({hasDefaultNodes:!0})}if(y){const{setEdges:v}=p();v(y),h({hasDefaultEdges:!0})}},updateNodeInternals:m=>{const{triggerNodeChanges:y,nodeLookup:v,parentLookup:g,domNode:w,nodeOrigin:k,nodeExtent:_,debug:M,fitViewQueued:b,zIndexMode:N}=p(),{changes:A,updatedInternals:S}=Ch(m,v,g,w,k,_,N);S&&(Eh(v,g,{nodeOrigin:k,nodeExtent:_,zIndexMode:N}),b?(x(),h({fitViewQueued:!1,fitViewOptions:void 0})):h({}),(A==null?void 0:A.length)>0&&(M&&console.log("React Flow: trigger node changes",A),y==null||y(A)))},updateNodePositions:(m,y=!1)=>{const v=[];let g=[];const{nodeLookup:w,triggerNodeChanges:k,connection:_,updateConnection:M,onNodesChangeMiddlewareMap:b}=p();for(const[N,A]of m){const S=w.get(N),C=!!(S!=null&&S.expandParent&&(S!=null&&S.parentId)&&(A!=null&&A.position)),j={id:N,type:"position",position:C?{x:Math.max(0,A.position.x),y:Math.max(0,A.position.y)}:A.position,dragging:y};if(S&&_.inProgress&&_.fromNode.id===S.id){const E=Fe(S,_.fromHandle,K.Left,!0);M({..._,from:E})}C&&S.parentId&&v.push({id:N,parentId:S.parentId,rect:{...A.internals.positionAbsolute,width:A.measured.width??0,height:A.measured.height??0}}),g.push(j)}if(v.length>0){const{parentLookup:N,nodeOrigin:A}=p(),S=ri(v,w,N,A);g.push(...S)}for(const N of b.values())g=N(g);k(g)},triggerNodeChanges:m=>{const{onNodesChange:y,setNodes:v,nodes:g,hasDefaultNodes:w,debug:k}=p();if(m!=null&&m.length){if(w){const _=Ta(m,g);v(_)}k&&console.log("React Flow: trigger node changes",m),y==null||y(m)}},triggerEdgeChanges:m=>{const{onEdgesChange:y,setEdges:v,edges:g,hasDefaultEdges:w,debug:k}=p();if(m!=null&&m.length){if(w){const _=La(m,g);v(_)}k&&console.log("React Flow: trigger edge changes",m),y==null||y(m)}},addSelectedNodes:m=>{const{multiSelectionActive:y,edgeLookup:v,nodeLookup:g,triggerNodeChanges:w,triggerEdgeChanges:k}=p();if(y){const _=m.map(M=>$e(M,!0));w(_);return}w(Ge(g,new Set([...m]),!0)),k(Ge(v))},addSelectedEdges:m=>{const{multiSelectionActive:y,edgeLookup:v,nodeLookup:g,triggerNodeChanges:w,triggerEdgeChanges:k}=p();if(y){const _=m.map(M=>$e(M,!0));k(_);return}k(Ge(v,new Set([...m]))),w(Ge(g,new Set,!0))},unselectNodesAndEdges:({nodes:m,edges:y}={})=>{const{edges:v,nodes:g,nodeLookup:w,triggerNodeChanges:k,triggerEdgeChanges:_}=p(),M=m||g,b=y||v,N=[];for(const S of M){if(!S.selected)continue;const C=w.get(S.id);C&&(C.selected=!1),N.push($e(S.id,!1))}const A=[];for(const S of b)S.selected&&A.push($e(S.id,!1));k(N),_(A)},setMinZoom:m=>{const{panZoom:y,maxZoom:v}=p();y==null||y.setScaleExtent([m,v]),h({minZoom:m})},setMaxZoom:m=>{const{panZoom:y,minZoom:v}=p();y==null||y.setScaleExtent([v,m]),h({maxZoom:m})},setTranslateExtent:m=>{var y;(y=p().panZoom)==null||y.setTranslateExtent(m),h({translateExtent:m})},resetSelectedElements:()=>{const{edges:m,nodes:y,triggerNodeChanges:v,triggerEdgeChanges:g,elementsSelectable:w}=p();if(!w)return;const k=y.reduce((M,b)=>b.selected?[...M,$e(b.id,!1)]:M,[]),_=m.reduce((M,b)=>b.selected?[...M,$e(b.id,!1)]:M,[]);v(k),g(_)},setNodeExtent:m=>{const{nodes:y,nodeLookup:v,parentLookup:g,nodeOrigin:w,elevateNodesOnSelect:k,nodeExtent:_,zIndexMode:M}=p();m[0][0]===_[0][0]&&m[0][1]===_[0][1]&&m[1][0]===_[1][0]&&m[1][1]===_[1][1]||(Or(y,v,g,{nodeOrigin:w,nodeExtent:m,elevateNodesOnSelect:k,checkEquality:!1,zIndexMode:M}),h({nodeExtent:m}))},panBy:m=>{const{transform:y,width:v,height:g,panZoom:w,translateExtent:k}=p();return Mh({delta:m,panZoom:w,transform:y,translateExtent:k,width:v,height:g})},setCenter:async(m,y,v)=>{const{width:g,height:w,maxZoom:k,panZoom:_}=p();if(!_)return Promise.resolve(!1);const M=typeof(v==null?void 0:v.zoom)<"u"?v.zoom:k;return await _.setViewport({x:g/2-m*M,y:w/2-y*M,zoom:M},{duration:v==null?void 0:v.duration,ease:v==null?void 0:v.ease,interpolate:v==null?void 0:v.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{h({connection:{...Js}})},updateConnection:m=>{h({connection:m})},reset:()=>h({...bo()})}},Object.is);function Wg({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:r,initialWidth:i,initialHeight:s,initialMinZoom:o,initialMaxZoom:a,initialFitViewOptions:l,fitView:d,nodeOrigin:u,nodeExtent:c,zIndexMode:f,children:h}){const[p]=V.useState(()=>Gg({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:i,height:s,fitView:d,minZoom:o,maxZoom:a,fitViewOptions:l,nodeOrigin:u,nodeExtent:c,zIndexMode:f}));return I.jsx(dp,{value:p,children:I.jsx(Rp,{children:h})})}function Xg({children:e,nodes:t,edges:n,defaultNodes:r,defaultEdges:i,width:s,height:o,fitView:a,fitViewOptions:l,minZoom:d,maxZoom:u,nodeOrigin:c,nodeExtent:f,zIndexMode:h}){return V.useContext(hn)?I.jsx(I.Fragment,{children:e}):I.jsx(Wg,{initialNodes:t,initialEdges:n,defaultNodes:r,defaultEdges:i,initialWidth:s,initialHeight:o,fitView:a,initialFitViewOptions:l,initialMinZoom:d,initialMaxZoom:u,nodeOrigin:c,nodeExtent:f,zIndexMode:h,children:e})}const Ug={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function Kg({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:s,edgeTypes:o,onNodeClick:a,onEdgeClick:l,onInit:d,onMove:u,onMoveStart:c,onMoveEnd:f,onConnect:h,onConnectStart:p,onConnectEnd:x,onClickConnectStart:m,onClickConnectEnd:y,onNodeMouseEnter:v,onNodeMouseMove:g,onNodeMouseLeave:w,onNodeContextMenu:k,onNodeDoubleClick:_,onNodeDragStart:M,onNodeDrag:b,onNodeDragStop:N,onNodesDelete:A,onEdgesDelete:S,onDelete:C,onSelectionChange:j,onSelectionDragStart:E,onSelectionDrag:P,onSelectionDragStop:L,onSelectionContextMenu:D,onSelectionStart:O,onSelectionEnd:R,onBeforeDelete:H,connectionMode:q,connectionLineType:F=Ae.Bezier,connectionLineStyle:T,connectionLineComponent:$,connectionLineContainerStyle:z,deleteKeyCode:B="Backspace",selectionKeyCode:G="Shift",selectionOnDrag:Y=!1,selectionMode:W=xt.Full,panActivationKeyCode:Z="Space",multiSelectionKeyCode:Q=vt()?"Meta":"Control",zoomActivationKeyCode:U=vt()?"Meta":"Control",snapToGrid:X,snapGrid:J,onlyRenderVisibleElements:ne=!1,selectNodesOnDrag:ee,nodesDraggable:ce,autoPanOnNodeFocus:Ce,nodesConnectable:_e,nodesFocusable:Pe,nodeOrigin:rt=Ia,edgesFocusable:it,edgesReconnectable:ot,elementsSelectable:mn=!0,defaultViewport:It=Np,minZoom:Be=.5,maxZoom:st=2,translateExtent:ai=yt,preventScrolling:fc=!0,nodeExtent:yn,defaultMarkerColor:hc="#b1b1b7",zoomOnScroll:pc=!0,zoomOnPinch:gc=!0,panOnScroll:mc=!1,panOnScrollSpeed:yc=.5,panOnScrollMode:xc=De.Free,zoomOnDoubleClick:wc=!0,panOnDrag:vc=!0,onPaneClick:bc,onPaneMouseEnter:_c,onPaneMouseMove:Ec,onPaneMouseLeave:Nc,onPaneScroll:Sc,onPaneContextMenu:kc,paneClickDistance:Cc=1,nodeClickDistance:Mc=0,children:Ic,onReconnect:Ac,onReconnectStart:Tc,onReconnectEnd:Lc,onEdgeContextMenu:Pc,onEdgeDoubleClick:Rc,onEdgeMouseEnter:$c,onEdgeMouseMove:Oc,onEdgeMouseLeave:jc,reconnectRadius:Dc=10,onNodesChange:zc,onEdgesChange:Vc,noDragClassName:Hc="nodrag",noWheelClassName:Fc="nowheel",noPanClassName:ci="nopan",fitView:li,fitViewOptions:ui,connectOnClick:Bc,attributionPosition:qc,proOptions:Yc,defaultEdgeOptions:Gc,elevateNodesOnSelect:Wc=!0,elevateEdgesOnSelect:Xc=!1,disableKeyboardA11y:di=!1,autoPanOnConnect:Uc,autoPanOnNodeDrag:Kc,autoPanSpeed:Zc,connectionRadius:Qc,isValidConnection:Jc,onError:el,style:tl,id:fi,nodeDragThreshold:nl,connectionDragThreshold:rl,viewport:il,onViewportChange:ol,width:sl,height:al,colorMode:cl="light",debug:ll,onScroll:At,ariaLabelConfig:ul,zIndexMode:hi="basic",...dl},fl){const xn=fi||"1",hl=Mp(cl),pl=V.useCallback(pi=>{pi.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),At==null||At(pi)},[At]);return I.jsx("div",{"data-testid":"rf__wrapper",...dl,onScroll:pl,style:{...tl,...Ug},ref:fl,className:ae(["react-flow",i,hl]),id:fi,role:"application",children:I.jsxs(Xg,{nodes:e,edges:t,width:sl,height:al,fitView:li,fitViewOptions:ui,minZoom:Be,maxZoom:st,nodeOrigin:rt,nodeExtent:yn,zIndexMode:hi,children:[I.jsx(Yg,{onInit:d,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:v,onNodeMouseMove:g,onNodeMouseLeave:w,onNodeContextMenu:k,onNodeDoubleClick:_,nodeTypes:s,edgeTypes:o,connectionLineType:F,connectionLineStyle:T,connectionLineComponent:$,connectionLineContainerStyle:z,selectionKeyCode:G,selectionOnDrag:Y,selectionMode:W,deleteKeyCode:B,multiSelectionKeyCode:Q,panActivationKeyCode:Z,zoomActivationKeyCode:U,onlyRenderVisibleElements:ne,defaultViewport:It,translateExtent:ai,minZoom:Be,maxZoom:st,preventScrolling:fc,zoomOnScroll:pc,zoomOnPinch:gc,zoomOnDoubleClick:wc,panOnScroll:mc,panOnScrollSpeed:yc,panOnScrollMode:xc,panOnDrag:vc,onPaneClick:bc,onPaneMouseEnter:_c,onPaneMouseMove:Ec,onPaneMouseLeave:Nc,onPaneScroll:Sc,onPaneContextMenu:kc,paneClickDistance:Cc,nodeClickDistance:Mc,onSelectionContextMenu:D,onSelectionStart:O,onSelectionEnd:R,onReconnect:Ac,onReconnectStart:Tc,onReconnectEnd:Lc,onEdgeContextMenu:Pc,onEdgeDoubleClick:Rc,onEdgeMouseEnter:$c,onEdgeMouseMove:Oc,onEdgeMouseLeave:jc,reconnectRadius:Dc,defaultMarkerColor:hc,noDragClassName:Hc,noWheelClassName:Fc,noPanClassName:ci,rfId:xn,disableKeyboardA11y:di,nodeExtent:yn,viewport:il,onViewportChange:ol}),I.jsx(Cp,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:h,onConnectStart:p,onConnectEnd:x,onClickConnectStart:m,onClickConnectEnd:y,nodesDraggable:ce,autoPanOnNodeFocus:Ce,nodesConnectable:_e,nodesFocusable:Pe,edgesFocusable:it,edgesReconnectable:ot,elementsSelectable:mn,elevateNodesOnSelect:Wc,elevateEdgesOnSelect:Xc,minZoom:Be,maxZoom:st,nodeExtent:yn,onNodesChange:zc,onEdgesChange:Vc,snapToGrid:X,snapGrid:J,connectionMode:q,translateExtent:ai,connectOnClick:Bc,defaultEdgeOptions:Gc,fitView:li,fitViewOptions:ui,onNodesDelete:A,onEdgesDelete:S,onDelete:C,onNodeDragStart:M,onNodeDrag:b,onNodeDragStop:N,onSelectionDrag:P,onSelectionDragStart:E,onSelectionDragStop:L,onMove:u,onMoveStart:c,onMoveEnd:f,noPanClassName:ci,nodeOrigin:rt,rfId:xn,autoPanOnConnect:Uc,autoPanOnNodeDrag:Kc,autoPanSpeed:Zc,onError:el,connectionRadius:Qc,isValidConnection:Jc,selectNodesOnDrag:ee,nodeDragThreshold:nl,connectionDragThreshold:rl,onBeforeDelete:H,debug:ll,ariaLabelConfig:ul,zIndexMode:hi}),I.jsx(Ep,{onSelectionChange:j}),Ic,I.jsx(xp,{proOptions:Yc,position:qc}),I.jsx(yp,{rfId:xn,disableKeyboardA11y:di})]})})}var p0=Pa(Kg);const Zg=e=>{var t;return(t=e.domNode)==null?void 0:t.querySelector(".react-flow__edgelabel-renderer")};function Qg({children:e}){const t=te(Zg);return t?up.createPortal(e,t):null}function g0(e){const[t,n]=V.useState(e),r=V.useCallback(i=>n(s=>Ta(i,s)),[]);return[t,n,r]}function m0(e){const[t,n]=V.useState(e),r=V.useCallback(i=>n(s=>La(i,s)),[]);return[t,n,r]}function Jg({dimensions:e,lineWidth:t,variant:n,className:r}){return I.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,r])})}function em({radius:e,className:t}){return I.jsx("circle",{cx:e,cy:e,r:e,className:ae(["react-flow__background-pattern","dots",t])})}var Le;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Le||(Le={}));const tm={[Le.Dots]:1,[Le.Lines]:1,[Le.Cross]:6},nm=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function rc({id:e,variant:t=Le.Dots,gap:n=20,size:r,lineWidth:i=1,offset:s=0,color:o,bgColor:a,style:l,className:d,patternClassName:u}){const c=V.useRef(null),{transform:f,patternId:h}=te(nm,re),p=r||tm[t],x=t===Le.Dots,m=t===Le.Cross,y=Array.isArray(n)?n:[n,n],v=[y[0]*f[2]||1,y[1]*f[2]||1],g=p*f[2],w=Array.isArray(s)?s:[s,s],k=m?[g,g]:v,_=[w[0]*f[2]||1+k[0]/2,w[1]*f[2]||1+k[1]/2],M=`${h}${e||""}`;return I.jsxs("svg",{className:ae(["react-flow__background",d]),style:{...l,...gn,"--xy-background-color-props":a,"--xy-background-pattern-color-props":o},ref:c,"data-testid":"rf__background",children:[I.jsx("pattern",{id:M,x:f[0]%v[0],y:f[1]%v[1],width:v[0],height:v[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${_[0]},-${_[1]})`,children:x?I.jsx(em,{radius:g/2,className:u}):I.jsx(Jg,{dimensions:k,lineWidth:i,variant:t,className:u})}),I.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${M})`})]})}rc.displayName="Background";const y0=V.memo(rc);function rm(){return I.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:I.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function im(){return I.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:I.jsx("path",{d:"M0 0h32v4.2H0z"})})}function om(){return I.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:I.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 sm(){return I.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:I.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 am(){return I.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:I.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 zt({children:e,className:t,...n}){return I.jsx("button",{type:"button",className:ae(["react-flow__controls-button",t]),...n,children:e})}const cm=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function ic({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:i,onZoomIn:s,onZoomOut:o,onFitView:a,onInteractiveChange:l,className:d,children:u,position:c="bottom-left",orientation:f="vertical","aria-label":h}){const p=ie(),{isInteractive:x,minZoomReached:m,maxZoomReached:y,ariaLabelConfig:v}=te(cm,re),{zoomIn:g,zoomOut:w,fitView:k}=ii(),_=()=>{g(),s==null||s()},M=()=>{w(),o==null||o()},b=()=>{k(i),a==null||a()},N=()=>{p.setState({nodesDraggable:!x,nodesConnectable:!x,elementsSelectable:!x}),l==null||l(!x)},A=f==="horizontal"?"horizontal":"vertical";return I.jsxs(pn,{className:ae(["react-flow__controls",A,d]),position:c,style:e,"data-testid":"rf__controls","aria-label":h??v["controls.ariaLabel"],children:[t&&I.jsxs(I.Fragment,{children:[I.jsx(zt,{onClick:_,className:"react-flow__controls-zoomin",title:v["controls.zoomIn.ariaLabel"],"aria-label":v["controls.zoomIn.ariaLabel"],disabled:y,children:I.jsx(rm,{})}),I.jsx(zt,{onClick:M,className:"react-flow__controls-zoomout",title:v["controls.zoomOut.ariaLabel"],"aria-label":v["controls.zoomOut.ariaLabel"],disabled:m,children:I.jsx(im,{})})]}),n&&I.jsx(zt,{className:"react-flow__controls-fitview",onClick:b,title:v["controls.fitView.ariaLabel"],"aria-label":v["controls.fitView.ariaLabel"],children:I.jsx(om,{})}),r&&I.jsx(zt,{className:"react-flow__controls-interactive",onClick:N,title:v["controls.interactive.ariaLabel"],"aria-label":v["controls.interactive.ariaLabel"],children:x?I.jsx(am,{}):I.jsx(sm,{})}),u]})}ic.displayName="Controls";const x0=V.memo(ic);function lm({id:e,x:t,y:n,width:r,height:i,style:s,color:o,strokeColor:a,strokeWidth:l,className:d,borderRadius:u,shapeRendering:c,selected:f,onClick:h}){const{background:p,backgroundColor:x}=s||{},m=o||p||x;return I.jsx("rect",{className:ae(["react-flow__minimap-node",{selected:f},d]),x:t,y:n,rx:u,ry:u,width:r,height:i,style:{fill:m,stroke:a,strokeWidth:l},shapeRendering:c,onClick:h?y=>h(y,e):void 0})}const um=V.memo(lm),dm=e=>e.nodes.map(t=>t.id),Tn=e=>e instanceof Function?e:()=>e;function fm({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:i,nodeComponent:s=um,onClick:o}){const a=te(dm,re),l=Tn(t),d=Tn(e),u=Tn(n),c=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return I.jsx(I.Fragment,{children:a.map(f=>I.jsx(pm,{id:f,nodeColorFunc:l,nodeStrokeColorFunc:d,nodeClassNameFunc:u,nodeBorderRadius:r,nodeStrokeWidth:i,NodeComponent:s,onClick:o,shapeRendering:c},f))})}function hm({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:r,nodeBorderRadius:i,nodeStrokeWidth:s,shapeRendering:o,NodeComponent:a,onClick:l}){const{node:d,x:u,y:c,width:f,height:h}=te(p=>{const x=p.nodeLookup.get(e);if(!x)return{node:void 0,x:0,y:0,width:0,height:0};const m=x.internals.userNode,{x:y,y:v}=x.internals.positionAbsolute,{width:g,height:w}=ke(m);return{node:m,x:y,y:v,width:g,height:w}},re);return!d||d.hidden||!sa(d)?null:I.jsx(a,{x:u,y:c,width:f,height:h,style:d.style,selected:!!d.selected,className:r(d),color:t(d),borderRadius:i,strokeColor:n(d),strokeWidth:s,shapeRendering:o,onClick:l,id:d.id})}const pm=V.memo(hm);var gm=V.memo(fm);const mm=200,ym=150,xm=e=>!e.hidden,wm=e=>{const 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]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?oa(St(e.nodeLookup,{filter:xm}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},vm="react-flow__minimap-desc";function oc({style:e,className:t,nodeStrokeColor:n,nodeColor:r,nodeClassName:i="",nodeBorderRadius:s=5,nodeStrokeWidth:o,nodeComponent:a,bgColor:l,maskColor:d,maskStrokeColor:u,maskStrokeWidth:c,position:f="bottom-right",onClick:h,onNodeClick:p,pannable:x=!1,zoomable:m=!1,ariaLabel:y,inversePan:v,zoomStep:g=1,offsetScale:w=5}){const k=ie(),_=V.useRef(null),{boundingRect:M,viewBB:b,rfId:N,panZoom:A,translateExtent:S,flowWidth:C,flowHeight:j,ariaLabelConfig:E}=te(wm,re),P=(e==null?void 0:e.width)??mm,L=(e==null?void 0:e.height)??ym,D=M.width/P,O=M.height/L,R=Math.max(D,O),H=R*P,q=R*L,F=w*R,T=M.x-(H-M.width)/2-F,$=M.y-(q-M.height)/2-F,z=H+F*2,B=q+F*2,G=`${vm}-${N}`,Y=V.useRef(0),W=V.useRef();Y.current=R,V.useEffect(()=>{if(_.current&&A)return W.current=jh({domNode:_.current,panZoom:A,getTransform:()=>k.getState().transform,getViewScale:()=>Y.current}),()=>{var X;(X=W.current)==null||X.destroy()}},[A]),V.useEffect(()=>{var X;(X=W.current)==null||X.update({translateExtent:S,width:C,height:j,inversePan:v,pannable:x,zoomStep:g,zoomable:m})},[x,m,v,g,S,C,j]);const Z=h?X=>{var ee;const[J,ne]=((ee=W.current)==null?void 0:ee.pointer(X))||[0,0];h(X,{x:J,y:ne})}:void 0,Q=p?V.useCallback((X,J)=>{const ne=k.getState().nodeLookup.get(J).internals.userNode;p(X,ne)},[]):void 0,U=y??E["minimap.ariaLabel"];return I.jsx(pn,{position:f,style:{...e,"--xy-minimap-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-mask-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-stroke-width-props":typeof c=="number"?c*R:void 0,"--xy-minimap-node-background-color-props":typeof r=="string"?r:void 0,"--xy-minimap-node-stroke-color-props":typeof n=="string"?n:void 0,"--xy-minimap-node-stroke-width-props":typeof o=="number"?o:void 0},className:ae(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:I.jsxs("svg",{width:P,height:L,viewBox:`${T} ${$} ${z} ${B}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":G,ref:_,onClick:Z,children:[U&&I.jsx("title",{id:G,children:U}),I.jsx(gm,{onClick:Q,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:i,nodeStrokeWidth:o,nodeComponent:a}),I.jsx("path",{className:"react-flow__minimap-mask",d:`M${T-F},${$-F}h${z+F*2}v${B+F*2}h${-z-F*2}z
|
|
23
|
-
M${b.x},${b.y}h${b.width}v${b.height}h${-b.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}oc.displayName="MiniMap";V.memo(oc);const bm=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,_m={[tt.Line]:"right",[tt.Handle]:"bottom-right"};function Em({nodeId:e,position:t,variant:n=tt.Handle,className:r,style:i=void 0,children:s,color:o,minWidth:a=10,minHeight:l=10,maxWidth:d=Number.MAX_VALUE,maxHeight:u=Number.MAX_VALUE,keepAspectRatio:c=!1,resizeDirection:f,autoScale:h=!0,shouldResize:p,onResizeStart:x,onResize:m,onResizeEnd:y}){const v=ja(),g=typeof e=="string"?e:v,w=ie(),k=V.useRef(null),_=n===tt.Handle,M=te(V.useCallback(bm(_&&h),[_,h]),re),b=V.useRef(null),N=t??_m[n];V.useEffect(()=>{if(!(!k.current||!g))return b.current||(b.current=Zh({domNode:k.current,nodeId:g,getStoreItems:()=>{const{nodeLookup:S,transform:C,snapGrid:j,snapToGrid:E,nodeOrigin:P,domNode:L}=w.getState();return{nodeLookup:S,transform:C,snapGrid:j,snapToGrid:E,nodeOrigin:P,paneDomNode:L}},onChange:(S,C)=>{const{triggerNodeChanges:j,nodeLookup:E,parentLookup:P,nodeOrigin:L}=w.getState(),D=[],O={x:S.x,y:S.y},R=E.get(g);if(R&&R.expandParent&&R.parentId){const H=R.origin??L,q=S.width??R.measured.width??0,F=S.height??R.measured.height??0,T={id:R.id,parentId:R.parentId,rect:{width:q,height:F,...aa({x:S.x??R.position.x,y:S.y??R.position.y},{width:q,height:F},R.parentId,E,H)}},$=ri([T],E,P,L);D.push(...$),O.x=S.x?Math.max(H[0]*q,S.x):void 0,O.y=S.y?Math.max(H[1]*F,S.y):void 0}if(O.x!==void 0&&O.y!==void 0){const H={id:g,type:"position",position:{...O}};D.push(H)}if(S.width!==void 0&&S.height!==void 0){const q={id:g,type:"dimensions",resizing:!0,setAttributes:f?f==="horizontal"?"width":"height":!0,dimensions:{width:S.width,height:S.height}};D.push(q)}for(const H of C){const q={...H,type:"position"};D.push(q)}j(D)},onEnd:({width:S,height:C})=>{const j={id:g,type:"dimensions",resizing:!1,dimensions:{width:S,height:C}};w.getState().triggerNodeChanges([j])}})),b.current.update({controlPosition:N,boundaries:{minWidth:a,minHeight:l,maxWidth:d,maxHeight:u},keepAspectRatio:c,resizeDirection:f,onResizeStart:x,onResize:m,onResizeEnd:y,shouldResize:p}),()=>{var S;(S=b.current)==null||S.destroy()}},[N,a,l,d,u,c,x,m,y,p]);const A=N.split("-");return I.jsx("div",{className:ae(["react-flow__resize-control","nodrag",...A,n,r]),ref:k,style:{...i,scale:M,...o&&{[_?"backgroundColor":"borderColor"]:o}},children:s})}V.memo(Em);const Nm=new Set(["epic","milestone","requirement","constraint"]);function w0(e,t){return t?e:e.filter(n=>Nm.has(n.type)||!n.parentId)}function Sm(e,t){const n=[],r=[];for(const i of t)i.from===e&&n.push(i),i.to===e&&r.push(i);return{outgoing:n,incoming:r}}const v0=V.memo(function({data:t}){const n=Vr[t.nodeType]||"#6c757d",r=vs[t.status]||"#9e9e9e";return I.jsxs(I.Fragment,{children:[I.jsx(nt,{type:"target",position:K.Top,className:"!w-2 !h-2"}),I.jsxs("div",{className:"bg-[var(--color-bg)] border border-[var(--color-border)] rounded-lg p-2.5 shadow-sm hover:shadow-md transition-shadow cursor-pointer min-w-[200px]",children:[I.jsxs("div",{className:"flex items-center justify-between mb-1",children:[I.jsx("span",{className:"text-[10px] font-semibold uppercase px-1.5 py-0.5 rounded",style:{background:`${n}20`,color:n},children:t.nodeType}),I.jsx("span",{className:"text-[10px] font-medium px-1.5 py-0.5 rounded-full",style:{background:`${r}20`,color:r},children:t.status.replace("_"," ")})]}),I.jsx("div",{className:"text-sm font-medium leading-tight line-clamp-2 mb-1",children:t.label}),I.jsxs("div",{className:"flex items-center gap-2 text-[10px] text-[var(--color-text-muted)]",children:[I.jsxs("span",{children:["P",t.priority]}),t.xpSize&&I.jsx("span",{children:t.xpSize}),t.sprint&&I.jsx("span",{children:t.sprint})]})]}),I.jsx(nt,{type:"source",position:K.Bottom,className:"!w-2 !h-2"})]})}),b0=V.memo(function({id:t,sourceX:n,sourceY:r,targetX:i,targetY:s,sourcePosition:o,targetPosition:a,data:l,style:d={}}){const[u,c,f]=Qr({sourceX:n,sourceY:r,sourcePosition:o,targetX:i,targetY:s,targetPosition:a}),h=(l==null?void 0:l.relationType)||"related_to",p=Te[h]||Te.related_to;return I.jsxs(I.Fragment,{children:[I.jsx(Mt,{id:t,path:u,style:{...d,stroke:p.color,strokeDasharray:p.dashed?"5 5":void 0,strokeWidth:1.5}}),I.jsx(Qg,{children:I.jsx("div",{className:"text-[9px] text-[var(--color-text-muted)] bg-[var(--color-bg)] px-1 rounded pointer-events-none absolute",style:{transform:`translate(-50%, -50%) translate(${c}px,${f}px)`},children:p.label})})]})}),_0=V.memo(function({node:t,edges:n=[],allNodes:r=[],onClose:i,onNodeNavigate:s}){if(!t)return null;const o=Vr[t.type]||"#6c757d",a=vs[t.status]||"#9e9e9e",l=V.useMemo(()=>Sm(t.id,n),[t.id,n]),d=V.useMemo(()=>{const c=new Map;for(const f of r)c.set(f.id,f);return c},[r]),u=l.outgoing.length>0||l.incoming.length>0;return I.jsxs("div",{className:"w-80 border-l border-[var(--color-border)] bg-[var(--color-bg-secondary)] overflow-y-auto p-4",children:[I.jsxs("div",{className:"flex items-center justify-between mb-3",children:[I.jsx("h3",{className:"text-sm font-bold",children:"Node Details"}),I.jsx("button",{onClick:i,className:"text-[var(--color-text-muted)] hover:text-[var(--color-text)] text-lg leading-none",children:"×"})]}),I.jsx("h4",{className:"text-base font-semibold mb-3",children:t.title}),I.jsxs("div",{className:"space-y-2 text-sm",children:[I.jsx(Re,{label:"ID",children:I.jsx("code",{className:"text-xs bg-[var(--color-bg-tertiary)] px-1 rounded break-all",children:t.id})}),I.jsx(Re,{label:"Type",children:I.jsx("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:`${o}20`,color:o},children:t.type})}),I.jsx(Re,{label:"Status",children:I.jsx("span",{className:"px-2 py-0.5 rounded-full text-xs font-medium",style:{background:`${a}20`,color:a},children:t.status.replace("_"," ")})}),I.jsxs(Re,{label:"Priority",children:["P",t.priority]}),t.xpSize&&I.jsx(Re,{label:"Size",children:t.xpSize}),t.estimateMinutes!=null&&I.jsxs(Re,{label:"Estimate",children:[t.estimateMinutes,"min"]}),t.sprint&&I.jsx(Re,{label:"Sprint",children:t.sprint}),t.description&&I.jsxs("div",{className:"pt-2 border-t border-[var(--color-border)]",children:[I.jsx("div",{className:"text-xs font-medium text-[var(--color-text-muted)] mb-1",children:"Description"}),I.jsx("p",{className:"text-xs whitespace-pre-wrap",children:t.description})]}),u&&I.jsxs("div",{className:"pt-2 border-t border-[var(--color-border)]",children:[I.jsxs("div",{className:"text-xs font-medium text-[var(--color-text-muted)] mb-1",children:["Relationships (",l.outgoing.length+l.incoming.length,")"]}),I.jsxs("div",{className:"space-y-1",children:[l.outgoing.map(c=>{const f=d.get(c.to),h=Te[c.relationType]||Te.related_to;return I.jsx(_o,{direction:"out",label:h.label,color:h.color,targetTitle:(f==null?void 0:f.title)??c.to,targetId:c.to,onNavigate:s},c.id)}),l.incoming.map(c=>{const f=d.get(c.from),h=Te[c.relationType]||Te.related_to;return I.jsx(_o,{direction:"in",label:h.label,color:h.color,targetTitle:(f==null?void 0:f.title)??c.from,targetId:c.from,onNavigate:s},c.id)})]})]}),t.acceptanceCriteria&&t.acceptanceCriteria.length>0&&I.jsxs("div",{className:"pt-2 border-t border-[var(--color-border)]",children:[I.jsxs("div",{className:"text-xs font-medium text-[var(--color-text-muted)] mb-1",children:["Acceptance Criteria (",t.acceptanceCriteria.length,")"]}),I.jsx("ul",{className:"text-xs space-y-1 list-disc pl-4",children:t.acceptanceCriteria.map((c,f)=>I.jsx("li",{children:c},f))})]}),t.tags&&t.tags.length>0&&I.jsxs("div",{className:"pt-2 border-t border-[var(--color-border)]",children:[I.jsx("div",{className:"text-xs font-medium text-[var(--color-text-muted)] mb-1",children:"Tags"}),I.jsx("div",{className:"flex flex-wrap gap-1",children:t.tags.map(c=>I.jsx("span",{className:"text-[10px] bg-[var(--color-bg-tertiary)] px-1.5 py-0.5 rounded",children:c},c))})]}),t.sourceRef&&I.jsxs("div",{className:"pt-2 border-t border-[var(--color-border)]",children:[I.jsx("div",{className:"text-xs font-medium text-[var(--color-text-muted)] mb-1",children:"Source"}),I.jsxs("div",{className:"text-xs",children:[t.sourceRef.file,t.sourceRef.startLine!=null&&` (L${t.sourceRef.startLine}–${t.sourceRef.endLine??"?"})`]})]}),I.jsxs("div",{className:"pt-2 border-t border-[var(--color-border)] text-[10px] text-[var(--color-text-muted)]",children:[I.jsxs("div",{children:["Created: ",new Date(t.createdAt).toLocaleString()]}),I.jsxs("div",{children:["Updated: ",new Date(t.updatedAt).toLocaleString()]})]})]})]})});function Re({label:e,children:t}){return I.jsxs("div",{className:"flex items-start justify-between gap-2",children:[I.jsx("span",{className:"text-xs text-[var(--color-text-muted)] shrink-0",children:e}),I.jsx("div",{className:"text-right",children:t})]})}function _o({direction:e,label:t,color:n,targetTitle:r,targetId:i,onNavigate:s}){const o=e==="out"?"→":"←";return I.jsxs("button",{onClick:()=>s==null?void 0:s(i),className:"w-full text-left flex items-center gap-1.5 px-1.5 py-1 rounded hover:bg-[var(--color-bg-tertiary)] transition-colors text-xs",children:[I.jsx("span",{style:{color:n},children:o}),I.jsx("span",{className:"text-[10px] text-[var(--color-text-muted)]",children:t}),I.jsx("span",{className:"truncate font-medium",children:r})]})}var Ln,Eo;function si(){if(Eo)return Ln;Eo=1;var e="\0",t="\0",n="";class r{constructor(u){oe(this,"_isDirected",!0);oe(this,"_isMultigraph",!1);oe(this,"_isCompound",!1);oe(this,"_label");oe(this,"_defaultNodeLabelFn",()=>{});oe(this,"_defaultEdgeLabelFn",()=>{});oe(this,"_nodes",{});oe(this,"_in",{});oe(this,"_preds",{});oe(this,"_out",{});oe(this,"_sucs",{});oe(this,"_edgeObjs",{});oe(this,"_edgeLabels",{});oe(this,"_nodeCount",0);oe(this,"_edgeCount",0);oe(this,"_parent");oe(this,"_children");u&&(this._isDirected=Object.hasOwn(u,"directed")?u.directed:!0,this._isMultigraph=Object.hasOwn(u,"multigraph")?u.multigraph:!1,this._isCompound=Object.hasOwn(u,"compound")?u.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[t]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(u){return this._label=u,this}graph(){return this._label}setDefaultNodeLabel(u){return this._defaultNodeLabelFn=u,typeof u!="function"&&(this._defaultNodeLabelFn=()=>u),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var u=this;return this.nodes().filter(c=>Object.keys(u._in[c]).length===0)}sinks(){var u=this;return this.nodes().filter(c=>Object.keys(u._out[c]).length===0)}setNodes(u,c){var f=arguments,h=this;return u.forEach(function(p){f.length>1?h.setNode(p,c):h.setNode(p)}),this}setNode(u,c){return Object.hasOwn(this._nodes,u)?(arguments.length>1&&(this._nodes[u]=c),this):(this._nodes[u]=arguments.length>1?c:this._defaultNodeLabelFn(u),this._isCompound&&(this._parent[u]=t,this._children[u]={},this._children[t][u]=!0),this._in[u]={},this._preds[u]={},this._out[u]={},this._sucs[u]={},++this._nodeCount,this)}node(u){return this._nodes[u]}hasNode(u){return Object.hasOwn(this._nodes,u)}removeNode(u){var c=this;if(Object.hasOwn(this._nodes,u)){var f=h=>c.removeEdge(c._edgeObjs[h]);delete this._nodes[u],this._isCompound&&(this._removeFromParentsChildList(u),delete this._parent[u],this.children(u).forEach(function(h){c.setParent(h)}),delete this._children[u]),Object.keys(this._in[u]).forEach(f),delete this._in[u],delete this._preds[u],Object.keys(this._out[u]).forEach(f),delete this._out[u],delete this._sucs[u],--this._nodeCount}return this}setParent(u,c){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(c===void 0)c=t;else{c+="";for(var f=c;f!==void 0;f=this.parent(f))if(f===u)throw new Error("Setting "+c+" as parent of "+u+" would create a cycle");this.setNode(c)}return this.setNode(u),this._removeFromParentsChildList(u),this._parent[u]=c,this._children[c][u]=!0,this}_removeFromParentsChildList(u){delete this._children[this._parent[u]][u]}parent(u){if(this._isCompound){var c=this._parent[u];if(c!==t)return c}}children(u=t){if(this._isCompound){var c=this._children[u];if(c)return Object.keys(c)}else{if(u===t)return this.nodes();if(this.hasNode(u))return[]}}predecessors(u){var c=this._preds[u];if(c)return Object.keys(c)}successors(u){var c=this._sucs[u];if(c)return Object.keys(c)}neighbors(u){var c=this.predecessors(u);if(c){const h=new Set(c);for(var f of this.successors(u))h.add(f);return Array.from(h.values())}}isLeaf(u){var c;return this.isDirected()?c=this.successors(u):c=this.neighbors(u),c.length===0}filterNodes(u){var c=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});c.setGraph(this.graph());var f=this;Object.entries(this._nodes).forEach(function([x,m]){u(x)&&c.setNode(x,m)}),Object.values(this._edgeObjs).forEach(function(x){c.hasNode(x.v)&&c.hasNode(x.w)&&c.setEdge(x,f.edge(x))});var h={};function p(x){var m=f.parent(x);return m===void 0||c.hasNode(m)?(h[x]=m,m):m in h?h[m]:p(m)}return this._isCompound&&c.nodes().forEach(x=>c.setParent(x,p(x))),c}setDefaultEdgeLabel(u){return this._defaultEdgeLabelFn=u,typeof u!="function"&&(this._defaultEdgeLabelFn=()=>u),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(u,c){var f=this,h=arguments;return u.reduce(function(p,x){return h.length>1?f.setEdge(p,x,c):f.setEdge(p,x),x}),this}setEdge(){var u,c,f,h,p=!1,x=arguments[0];typeof x=="object"&&x!==null&&"v"in x?(u=x.v,c=x.w,f=x.name,arguments.length===2&&(h=arguments[1],p=!0)):(u=x,c=arguments[1],f=arguments[3],arguments.length>2&&(h=arguments[2],p=!0)),u=""+u,c=""+c,f!==void 0&&(f=""+f);var m=o(this._isDirected,u,c,f);if(Object.hasOwn(this._edgeLabels,m))return p&&(this._edgeLabels[m]=h),this;if(f!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(u),this.setNode(c),this._edgeLabels[m]=p?h:this._defaultEdgeLabelFn(u,c,f);var y=a(this._isDirected,u,c,f);return u=y.v,c=y.w,Object.freeze(y),this._edgeObjs[m]=y,i(this._preds[c],u),i(this._sucs[u],c),this._in[c][m]=y,this._out[u][m]=y,this._edgeCount++,this}edge(u,c,f){var h=arguments.length===1?l(this._isDirected,arguments[0]):o(this._isDirected,u,c,f);return this._edgeLabels[h]}edgeAsObj(){const u=this.edge(...arguments);return typeof u!="object"?{label:u}:u}hasEdge(u,c,f){var h=arguments.length===1?l(this._isDirected,arguments[0]):o(this._isDirected,u,c,f);return Object.hasOwn(this._edgeLabels,h)}removeEdge(u,c,f){var h=arguments.length===1?l(this._isDirected,arguments[0]):o(this._isDirected,u,c,f),p=this._edgeObjs[h];return p&&(u=p.v,c=p.w,delete this._edgeLabels[h],delete this._edgeObjs[h],s(this._preds[c],u),s(this._sucs[u],c),delete this._in[c][h],delete this._out[u][h],this._edgeCount--),this}inEdges(u,c){var f=this._in[u];if(f){var h=Object.values(f);return c?h.filter(p=>p.v===c):h}}outEdges(u,c){var f=this._out[u];if(f){var h=Object.values(f);return c?h.filter(p=>p.w===c):h}}nodeEdges(u,c){var f=this.inEdges(u,c);if(f)return f.concat(this.outEdges(u,c))}}function i(d,u){d[u]?d[u]++:d[u]=1}function s(d,u){--d[u]||delete d[u]}function o(d,u,c,f){var h=""+u,p=""+c;if(!d&&h>p){var x=h;h=p,p=x}return h+n+p+n+(f===void 0?e:f)}function a(d,u,c,f){var h=""+u,p=""+c;if(!d&&h>p){var x=h;h=p,p=x}var m={v:h,w:p};return f&&(m.name=f),m}function l(d,u){return o(d,u.v,u.w,u.name)}return Ln=r,Ln}var Pn,No;function km(){return No||(No=1,Pn="2.2.4"),Pn}var Rn,So;function Cm(){return So||(So=1,Rn={Graph:si(),version:km()}),Rn}var $n,ko;function Mm(){if(ko)return $n;ko=1;var e=si();$n={write:t,read:i};function t(s){var o={options:{directed:s.isDirected(),multigraph:s.isMultigraph(),compound:s.isCompound()},nodes:n(s),edges:r(s)};return s.graph()!==void 0&&(o.value=structuredClone(s.graph())),o}function n(s){return s.nodes().map(function(o){var a=s.node(o),l=s.parent(o),d={v:o};return a!==void 0&&(d.value=a),l!==void 0&&(d.parent=l),d})}function r(s){return s.edges().map(function(o){var a=s.edge(o),l={v:o.v,w:o.w};return o.name!==void 0&&(l.name=o.name),a!==void 0&&(l.value=a),l})}function i(s){var o=new e(s.options).setGraph(s.value);return s.nodes.forEach(function(a){o.setNode(a.v,a.value),a.parent&&o.setParent(a.v,a.parent)}),s.edges.forEach(function(a){o.setEdge({v:a.v,w:a.w,name:a.name},a.value)}),o}return $n}var On,Co;function Im(){if(Co)return On;Co=1,On=e;function e(t){var n={},r=[],i;function s(o){Object.hasOwn(n,o)||(n[o]=!0,i.push(o),t.successors(o).forEach(s),t.predecessors(o).forEach(s))}return t.nodes().forEach(function(o){i=[],s(o),i.length&&r.push(i)}),r}return On}var jn,Mo;function sc(){if(Mo)return jn;Mo=1;class e{constructor(){oe(this,"_arr",[]);oe(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var r=this._keyIndices[n];if(r!==void 0)return this._arr[r].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,r){var i=this._keyIndices;if(n=String(n),!Object.hasOwn(i,n)){var s=this._arr,o=s.length;return i[n]=o,s.push({key:n,priority:r}),this._decrease(o),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,r){var i=this._keyIndices[n];if(r>this._arr[i].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[i].priority+" New: "+r);this._arr[i].priority=r,this._decrease(i)}_heapify(n){var r=this._arr,i=2*n,s=i+1,o=n;i<r.length&&(o=r[i].priority<r[o].priority?i:o,s<r.length&&(o=r[s].priority<r[o].priority?s:o),o!==n&&(this._swap(n,o),this._heapify(o)))}_decrease(n){for(var r=this._arr,i=r[n].priority,s;n!==0&&(s=n>>1,!(r[s].priority<i));)this._swap(n,s),n=s}_swap(n,r){var i=this._arr,s=this._keyIndices,o=i[n],a=i[r];i[n]=a,i[r]=o,s[a.key]=n,s[o.key]=r}}return jn=e,jn}var Dn,Io;function ac(){if(Io)return Dn;Io=1;var e=sc();Dn=n;var t=()=>1;function n(i,s,o,a){return r(i,String(s),o||t,a||function(l){return i.outEdges(l)})}function r(i,s,o,a){var l={},d=new e,u,c,f=function(h){var p=h.v!==u?h.v:h.w,x=l[p],m=o(h),y=c.distance+m;if(m<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+h+" Weight: "+m);y<x.distance&&(x.distance=y,x.predecessor=u,d.decrease(p,y))};for(i.nodes().forEach(function(h){var p=h===s?0:Number.POSITIVE_INFINITY;l[h]={distance:p},d.add(h,p)});d.size()>0&&(u=d.removeMin(),c=l[u],c.distance!==Number.POSITIVE_INFINITY);)a(u).forEach(f);return l}return Dn}var zn,Ao;function Am(){if(Ao)return zn;Ao=1;var e=ac();zn=t;function t(n,r,i){return n.nodes().reduce(function(s,o){return s[o]=e(n,o,r,i),s},{})}return zn}var Vn,To;function cc(){if(To)return Vn;To=1,Vn=e;function e(t){var n=0,r=[],i={},s=[];function o(a){var l=i[a]={onStack:!0,lowlink:n,index:n++};if(r.push(a),t.successors(a).forEach(function(c){Object.hasOwn(i,c)?i[c].onStack&&(l.lowlink=Math.min(l.lowlink,i[c].index)):(o(c),l.lowlink=Math.min(l.lowlink,i[c].lowlink))}),l.lowlink===l.index){var d=[],u;do u=r.pop(),i[u].onStack=!1,d.push(u);while(a!==u);s.push(d)}}return t.nodes().forEach(function(a){Object.hasOwn(i,a)||o(a)}),s}return Vn}var Hn,Lo;function Tm(){if(Lo)return Hn;Lo=1;var e=cc();Hn=t;function t(n){return e(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return Hn}var Fn,Po;function Lm(){if(Po)return Fn;Po=1,Fn=t;var e=()=>1;function t(r,i,s){return n(r,i||e,s||function(o){return r.outEdges(o)})}function n(r,i,s){var o={},a=r.nodes();return a.forEach(function(l){o[l]={},o[l][l]={distance:0},a.forEach(function(d){l!==d&&(o[l][d]={distance:Number.POSITIVE_INFINITY})}),s(l).forEach(function(d){var u=d.v===l?d.w:d.v,c=i(d);o[l][u]={distance:c,predecessor:l}})}),a.forEach(function(l){var d=o[l];a.forEach(function(u){var c=o[u];a.forEach(function(f){var h=c[l],p=d[f],x=c[f],m=h.distance+p.distance;m<x.distance&&(x.distance=m,x.predecessor=p.predecessor)})})}),o}return Fn}var Bn,Ro;function lc(){if(Ro)return Bn;Ro=1;function e(n){var r={},i={},s=[];function o(a){if(Object.hasOwn(i,a))throw new t;Object.hasOwn(r,a)||(i[a]=!0,r[a]=!0,n.predecessors(a).forEach(o),delete i[a],s.push(a))}if(n.sinks().forEach(o),Object.keys(r).length!==n.nodeCount())throw new t;return s}class t extends Error{constructor(){super(...arguments)}}return Bn=e,e.CycleException=t,Bn}var qn,$o;function Pm(){if($o)return qn;$o=1;var e=lc();qn=t;function t(n){try{e(n)}catch(r){if(r instanceof e.CycleException)return!1;throw r}return!0}return qn}var Yn,Oo;function uc(){if(Oo)return Yn;Oo=1,Yn=e;function e(i,s,o){Array.isArray(s)||(s=[s]);var a=i.isDirected()?c=>i.successors(c):c=>i.neighbors(c),l=o==="post"?t:n,d=[],u={};return s.forEach(c=>{if(!i.hasNode(c))throw new Error("Graph does not have node: "+c);l(c,a,u,d)}),d}function t(i,s,o,a){for(var l=[[i,!1]];l.length>0;){var d=l.pop();d[1]?a.push(d[0]):Object.hasOwn(o,d[0])||(o[d[0]]=!0,l.push([d[0],!0]),r(s(d[0]),u=>l.push([u,!1])))}}function n(i,s,o,a){for(var l=[i];l.length>0;){var d=l.pop();Object.hasOwn(o,d)||(o[d]=!0,a.push(d),r(s(d),u=>l.push(u)))}}function r(i,s){for(var o=i.length;o--;)s(i[o],o,i);return i}return Yn}var Gn,jo;function Rm(){if(jo)return Gn;jo=1;var e=uc();Gn=t;function t(n,r){return e(n,r,"post")}return Gn}var Wn,Do;function $m(){if(Do)return Wn;Do=1;var e=uc();Wn=t;function t(n,r){return e(n,r,"pre")}return Wn}var Xn,zo;function Om(){if(zo)return Xn;zo=1;var e=si(),t=sc();Xn=n;function n(r,i){var s=new e,o={},a=new t,l;function d(c){var f=c.v===l?c.w:c.v,h=a.priority(f);if(h!==void 0){var p=i(c);p<h&&(o[f]=l,a.decrease(f,p))}}if(r.nodeCount()===0)return s;r.nodes().forEach(function(c){a.add(c,Number.POSITIVE_INFINITY),s.setNode(c)}),a.decrease(r.nodes()[0],0);for(var u=!1;a.size()>0;){if(l=a.removeMin(),Object.hasOwn(o,l))s.setEdge(l,o[l]);else{if(u)throw new Error("Input graph is not connected: "+r);u=!0}r.nodeEdges(l).forEach(d)}return s}return Xn}var Un,Vo;function jm(){return Vo||(Vo=1,Un={components:Im(),dijkstra:ac(),dijkstraAll:Am(),findCycles:Tm(),floydWarshall:Lm(),isAcyclic:Pm(),postorder:Rm(),preorder:$m(),prim:Om(),tarjan:cc(),topsort:lc()}),Un}var Kn,Ho;function me(){if(Ho)return Kn;Ho=1;var e=Cm();return Kn={Graph:e.Graph,json:Mm(),alg:jm(),version:e.version},Kn}var Zn,Fo;function Dm(){if(Fo)return Zn;Fo=1;class e{constructor(){let i={};i._next=i._prev=i,this._sentinel=i}dequeue(){let i=this._sentinel,s=i._prev;if(s!==i)return t(s),s}enqueue(i){let s=this._sentinel;i._prev&&i._next&&t(i),i._next=s._next,s._next._prev=i,s._next=i,i._prev=s}toString(){let i=[],s=this._sentinel,o=s._prev;for(;o!==s;)i.push(JSON.stringify(o,n)),o=o._prev;return"["+i.join(", ")+"]"}}function t(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function n(r,i){if(r!=="_next"&&r!=="_prev")return i}return Zn=e,Zn}var Qn,Bo;function zm(){if(Bo)return Qn;Bo=1;let e=me().Graph,t=Dm();Qn=r;let n=()=>1;function r(d,u){if(d.nodeCount()<=1)return[];let c=o(d,u||n);return i(c.graph,c.buckets,c.zeroIdx).flatMap(h=>d.outEdges(h.v,h.w))}function i(d,u,c){let f=[],h=u[u.length-1],p=u[0],x;for(;d.nodeCount();){for(;x=p.dequeue();)s(d,u,c,x);for(;x=h.dequeue();)s(d,u,c,x);if(d.nodeCount()){for(let m=u.length-2;m>0;--m)if(x=u[m].dequeue(),x){f=f.concat(s(d,u,c,x,!0));break}}}return f}function s(d,u,c,f,h){let p=h?[]:void 0;return d.inEdges(f.v).forEach(x=>{let m=d.edge(x),y=d.node(x.v);h&&p.push({v:x.v,w:x.w}),y.out-=m,a(u,c,y)}),d.outEdges(f.v).forEach(x=>{let m=d.edge(x),y=x.w,v=d.node(y);v.in-=m,a(u,c,v)}),d.removeNode(f.v),p}function o(d,u){let c=new e,f=0,h=0;d.nodes().forEach(m=>{c.setNode(m,{v:m,in:0,out:0})}),d.edges().forEach(m=>{let y=c.edge(m.v,m.w)||0,v=u(m),g=y+v;c.setEdge(m.v,m.w,g),h=Math.max(h,c.node(m.v).out+=v),f=Math.max(f,c.node(m.w).in+=v)});let p=l(h+f+3).map(()=>new t),x=f+1;return c.nodes().forEach(m=>{a(p,x,c.node(m))}),{graph:c,buckets:p,zeroIdx:x}}function a(d,u,c){c.out?c.in?d[c.out-c.in+u].enqueue(c):d[d.length-1].enqueue(c):d[0].enqueue(c)}function l(d){const u=[];for(let c=0;c<d;c++)u.push(c);return u}return Qn}var Jn,qo;function se(){if(qo)return Jn;qo=1;let e=me().Graph;Jn={addBorderNode:u,addDummyNode:t,applyWithChunking:h,asNonCompoundGraph:r,buildLayerMatrix:a,intersectRect:o,mapValues:_,maxRank:p,normalizeRanks:l,notime:y,partition:x,pick:k,predecessorWeights:s,range:w,removeEmptyRanks:d,simplify:n,successorWeights:i,time:m,uniqueId:g,zipObject:M};function t(b,N,A,S){for(var C=S;b.hasNode(C);)C=g(S);return A.dummy=N,b.setNode(C,A),C}function n(b){let N=new e().setGraph(b.graph());return b.nodes().forEach(A=>N.setNode(A,b.node(A))),b.edges().forEach(A=>{let S=N.edge(A.v,A.w)||{weight:0,minlen:1},C=b.edge(A);N.setEdge(A.v,A.w,{weight:S.weight+C.weight,minlen:Math.max(S.minlen,C.minlen)})}),N}function r(b){let N=new e({multigraph:b.isMultigraph()}).setGraph(b.graph());return b.nodes().forEach(A=>{b.children(A).length||N.setNode(A,b.node(A))}),b.edges().forEach(A=>{N.setEdge(A,b.edge(A))}),N}function i(b){let N=b.nodes().map(A=>{let S={};return b.outEdges(A).forEach(C=>{S[C.w]=(S[C.w]||0)+b.edge(C).weight}),S});return M(b.nodes(),N)}function s(b){let N=b.nodes().map(A=>{let S={};return b.inEdges(A).forEach(C=>{S[C.v]=(S[C.v]||0)+b.edge(C).weight}),S});return M(b.nodes(),N)}function o(b,N){let A=b.x,S=b.y,C=N.x-A,j=N.y-S,E=b.width/2,P=b.height/2;if(!C&&!j)throw new Error("Not possible to find intersection inside of the rectangle");let L,D;return Math.abs(j)*E>Math.abs(C)*P?(j<0&&(P=-P),L=P*C/j,D=P):(C<0&&(E=-E),L=E,D=E*j/C),{x:A+L,y:S+D}}function a(b){let N=w(p(b)+1).map(()=>[]);return b.nodes().forEach(A=>{let S=b.node(A),C=S.rank;C!==void 0&&(N[C][S.order]=A)}),N}function l(b){let N=b.nodes().map(S=>{let C=b.node(S).rank;return C===void 0?Number.MAX_VALUE:C}),A=h(Math.min,N);b.nodes().forEach(S=>{let C=b.node(S);Object.hasOwn(C,"rank")&&(C.rank-=A)})}function d(b){let N=b.nodes().map(E=>b.node(E).rank),A=h(Math.min,N),S=[];b.nodes().forEach(E=>{let P=b.node(E).rank-A;S[P]||(S[P]=[]),S[P].push(E)});let C=0,j=b.graph().nodeRankFactor;Array.from(S).forEach((E,P)=>{E===void 0&&P%j!==0?--C:E!==void 0&&C&&E.forEach(L=>b.node(L).rank+=C)})}function u(b,N,A,S){let C={width:0,height:0};return arguments.length>=4&&(C.rank=A,C.order=S),t(b,"border",C,N)}function c(b,N=f){const A=[];for(let S=0;S<b.length;S+=N){const C=b.slice(S,S+N);A.push(C)}return A}const f=65535;function h(b,N){if(N.length>f){const A=c(N);return b.apply(null,A.map(S=>b.apply(null,S)))}else return b.apply(null,N)}function p(b){const A=b.nodes().map(S=>{let C=b.node(S).rank;return C===void 0?Number.MIN_VALUE:C});return h(Math.max,A)}function x(b,N){let A={lhs:[],rhs:[]};return b.forEach(S=>{N(S)?A.lhs.push(S):A.rhs.push(S)}),A}function m(b,N){let A=Date.now();try{return N()}finally{console.log(b+" time: "+(Date.now()-A)+"ms")}}function y(b,N){return N()}let v=0;function g(b){var N=++v;return b+(""+N)}function w(b,N,A=1){N==null&&(N=b,b=0);let S=j=>j<N;A<0&&(S=j=>N<j);const C=[];for(let j=b;S(j);j+=A)C.push(j);return C}function k(b,N){const A={};for(const S of N)b[S]!==void 0&&(A[S]=b[S]);return A}function _(b,N){let A=N;return typeof N=="string"&&(A=S=>S[N]),Object.entries(b).reduce((S,[C,j])=>(S[C]=A(j,C),S),{})}function M(b,N){return b.reduce((A,S,C)=>(A[S]=N[C],A),{})}return Jn}var er,Yo;function Vm(){if(Yo)return er;Yo=1;let e=zm(),t=se().uniqueId;er={run:n,undo:i};function n(s){(s.graph().acyclicer==="greedy"?e(s,a(s)):r(s)).forEach(l=>{let d=s.edge(l);s.removeEdge(l),d.forwardName=l.name,d.reversed=!0,s.setEdge(l.w,l.v,d,t("rev"))});function a(l){return d=>l.edge(d).weight}}function r(s){let o=[],a={},l={};function d(u){Object.hasOwn(l,u)||(l[u]=!0,a[u]=!0,s.outEdges(u).forEach(c=>{Object.hasOwn(a,c.w)?o.push(c):d(c.w)}),delete a[u])}return s.nodes().forEach(d),o}function i(s){s.edges().forEach(o=>{let a=s.edge(o);if(a.reversed){s.removeEdge(o);let l=a.forwardName;delete a.reversed,delete a.forwardName,s.setEdge(o.w,o.v,a,l)}})}return er}var tr,Go;function Hm(){if(Go)return tr;Go=1;let e=se();tr={run:t,undo:r};function t(i){i.graph().dummyChains=[],i.edges().forEach(s=>n(i,s))}function n(i,s){let o=s.v,a=i.node(o).rank,l=s.w,d=i.node(l).rank,u=s.name,c=i.edge(s),f=c.labelRank;if(d===a+1)return;i.removeEdge(s);let h,p,x;for(x=0,++a;a<d;++x,++a)c.points=[],p={width:0,height:0,edgeLabel:c,edgeObj:s,rank:a},h=e.addDummyNode(i,"edge",p,"_d"),a===f&&(p.width=c.width,p.height=c.height,p.dummy="edge-label",p.labelpos=c.labelpos),i.setEdge(o,h,{weight:c.weight},u),x===0&&i.graph().dummyChains.push(h),o=h;i.setEdge(o,l,{weight:c.weight},u)}function r(i){i.graph().dummyChains.forEach(s=>{let o=i.node(s),a=o.edgeLabel,l;for(i.setEdge(o.edgeObj,a);o.dummy;)l=i.successors(s)[0],i.removeNode(s),a.points.push({x:o.x,y:o.y}),o.dummy==="edge-label"&&(a.x=o.x,a.y=o.y,a.width=o.width,a.height=o.height),s=l,o=i.node(s)})}return tr}var nr,Wo;function rn(){if(Wo)return nr;Wo=1;const{applyWithChunking:e}=se();nr={longestPath:t,slack:n};function t(r){var i={};function s(o){var a=r.node(o);if(Object.hasOwn(i,o))return a.rank;i[o]=!0;let l=r.outEdges(o).map(u=>u==null?Number.POSITIVE_INFINITY:s(u.w)-r.edge(u).minlen);var d=e(Math.min,l);return d===Number.POSITIVE_INFINITY&&(d=0),a.rank=d}r.sources().forEach(s)}function n(r,i){return r.node(i.w).rank-r.node(i.v).rank-r.edge(i).minlen}return nr}var rr,Xo;function dc(){if(Xo)return rr;Xo=1;var e=me().Graph,t=rn().slack;rr=n;function n(o){var a=new e({directed:!1}),l=o.nodes()[0],d=o.nodeCount();a.setNode(l,{});for(var u,c;r(a,o)<d;)u=i(a,o),c=a.hasNode(u.v)?t(o,u):-t(o,u),s(a,o,c);return a}function r(o,a){function l(d){a.nodeEdges(d).forEach(u=>{var c=u.v,f=d===c?u.w:c;!o.hasNode(f)&&!t(a,u)&&(o.setNode(f,{}),o.setEdge(d,f,{}),l(f))})}return o.nodes().forEach(l),o.nodeCount()}function i(o,a){return a.edges().reduce((d,u)=>{let c=Number.POSITIVE_INFINITY;return o.hasNode(u.v)!==o.hasNode(u.w)&&(c=t(a,u)),c<d[0]?[c,u]:d},[Number.POSITIVE_INFINITY,null])[1]}function s(o,a,l){o.nodes().forEach(d=>a.node(d).rank+=l)}return rr}var ir,Uo;function Fm(){if(Uo)return ir;Uo=1;var e=dc(),t=rn().slack,n=rn().longestPath,r=me().alg.preorder,i=me().alg.postorder,s=se().simplify;ir=o,o.initLowLimValues=u,o.initCutValues=a,o.calcCutValue=d,o.leaveEdge=f,o.enterEdge=h,o.exchangeEdges=p;function o(v){v=s(v),n(v);var g=e(v);u(g),a(g,v);for(var w,k;w=f(g);)k=h(g,v,w),p(g,v,w,k)}function a(v,g){var w=i(v,v.nodes());w=w.slice(0,w.length-1),w.forEach(k=>l(v,g,k))}function l(v,g,w){var k=v.node(w),_=k.parent;v.edge(w,_).cutvalue=d(v,g,w)}function d(v,g,w){var k=v.node(w),_=k.parent,M=!0,b=g.edge(w,_),N=0;return b||(M=!1,b=g.edge(_,w)),N=b.weight,g.nodeEdges(w).forEach(A=>{var S=A.v===w,C=S?A.w:A.v;if(C!==_){var j=S===M,E=g.edge(A).weight;if(N+=j?E:-E,m(v,w,C)){var P=v.edge(w,C).cutvalue;N+=j?-P:P}}}),N}function u(v,g){arguments.length<2&&(g=v.nodes()[0]),c(v,{},1,g)}function c(v,g,w,k,_){var M=w,b=v.node(k);return g[k]=!0,v.neighbors(k).forEach(N=>{Object.hasOwn(g,N)||(w=c(v,g,w,N,k))}),b.low=M,b.lim=w++,_?b.parent=_:delete b.parent,w}function f(v){return v.edges().find(g=>v.edge(g).cutvalue<0)}function h(v,g,w){var k=w.v,_=w.w;g.hasEdge(k,_)||(k=w.w,_=w.v);var M=v.node(k),b=v.node(_),N=M,A=!1;M.lim>b.lim&&(N=b,A=!0);var S=g.edges().filter(C=>A===y(v,v.node(C.v),N)&&A!==y(v,v.node(C.w),N));return S.reduce((C,j)=>t(g,j)<t(g,C)?j:C)}function p(v,g,w,k){var _=w.v,M=w.w;v.removeEdge(_,M),v.setEdge(k.v,k.w,{}),u(v),a(v,g),x(v,g)}function x(v,g){var w=v.nodes().find(_=>!g.node(_).parent),k=r(v,w);k=k.slice(1),k.forEach(_=>{var M=v.node(_).parent,b=g.edge(_,M),N=!1;b||(b=g.edge(M,_),N=!0),g.node(_).rank=g.node(M).rank+(N?b.minlen:-b.minlen)})}function m(v,g,w){return v.hasEdge(g,w)}function y(v,g,w){return w.low<=g.lim&&g.lim<=w.lim}return ir}var or,Ko;function Bm(){if(Ko)return or;Ko=1;var e=rn(),t=e.longestPath,n=dc(),r=Fm();or=i;function i(l){var d=l.graph().ranker;if(d instanceof Function)return d(l);switch(l.graph().ranker){case"network-simplex":a(l);break;case"tight-tree":o(l);break;case"longest-path":s(l);break;case"none":break;default:a(l)}}var s=t;function o(l){t(l),n(l)}function a(l){r(l)}return or}var sr,Zo;function qm(){if(Zo)return sr;Zo=1,sr=e;function e(r){let i=n(r);r.graph().dummyChains.forEach(s=>{let o=r.node(s),a=o.edgeObj,l=t(r,i,a.v,a.w),d=l.path,u=l.lca,c=0,f=d[c],h=!0;for(;s!==a.w;){if(o=r.node(s),h){for(;(f=d[c])!==u&&r.node(f).maxRank<o.rank;)c++;f===u&&(h=!1)}if(!h){for(;c<d.length-1&&r.node(f=d[c+1]).minRank<=o.rank;)c++;f=d[c]}r.setParent(s,f),s=r.successors(s)[0]}})}function t(r,i,s,o){let a=[],l=[],d=Math.min(i[s].low,i[o].low),u=Math.max(i[s].lim,i[o].lim),c,f;c=s;do c=r.parent(c),a.push(c);while(c&&(i[c].low>d||u>i[c].lim));for(f=c,c=o;(c=r.parent(c))!==f;)l.push(c);return{path:a.concat(l.reverse()),lca:f}}function n(r){let i={},s=0;function o(a){let l=s;r.children(a).forEach(o),i[a]={low:l,lim:s++}}return r.children().forEach(o),i}return sr}var ar,Qo;function Ym(){if(Qo)return ar;Qo=1;let e=se();ar={run:t,cleanup:s};function t(o){let a=e.addDummyNode(o,"root",{},"_root"),l=r(o),d=Object.values(l),u=e.applyWithChunking(Math.max,d)-1,c=2*u+1;o.graph().nestingRoot=a,o.edges().forEach(h=>o.edge(h).minlen*=c);let f=i(o)+1;o.children().forEach(h=>n(o,a,c,f,u,l,h)),o.graph().nodeRankFactor=c}function n(o,a,l,d,u,c,f){let h=o.children(f);if(!h.length){f!==a&&o.setEdge(a,f,{weight:0,minlen:l});return}let p=e.addBorderNode(o,"_bt"),x=e.addBorderNode(o,"_bb"),m=o.node(f);o.setParent(p,f),m.borderTop=p,o.setParent(x,f),m.borderBottom=x,h.forEach(y=>{n(o,a,l,d,u,c,y);let v=o.node(y),g=v.borderTop?v.borderTop:y,w=v.borderBottom?v.borderBottom:y,k=v.borderTop?d:2*d,_=g!==w?1:u-c[f]+1;o.setEdge(p,g,{weight:k,minlen:_,nestingEdge:!0}),o.setEdge(w,x,{weight:k,minlen:_,nestingEdge:!0})}),o.parent(f)||o.setEdge(a,p,{weight:0,minlen:u+c[f]})}function r(o){var a={};function l(d,u){var c=o.children(d);c&&c.length&&c.forEach(f=>l(f,u+1)),a[d]=u}return o.children().forEach(d=>l(d,1)),a}function i(o){return o.edges().reduce((a,l)=>a+o.edge(l).weight,0)}function s(o){var a=o.graph();o.removeNode(a.nestingRoot),delete a.nestingRoot,o.edges().forEach(l=>{var d=o.edge(l);d.nestingEdge&&o.removeEdge(l)})}return ar}var cr,Jo;function Gm(){if(Jo)return cr;Jo=1;let e=se();cr=t;function t(r){function i(s){let o=r.children(s),a=r.node(s);if(o.length&&o.forEach(i),Object.hasOwn(a,"minRank")){a.borderLeft=[],a.borderRight=[];for(let l=a.minRank,d=a.maxRank+1;l<d;++l)n(r,"borderLeft","_bl",s,a,l),n(r,"borderRight","_br",s,a,l)}}r.children().forEach(i)}function n(r,i,s,o,a,l){let d={width:0,height:0,rank:l,borderType:i},u=a[i][l-1],c=e.addDummyNode(r,"border",d,s);a[i][l]=c,r.setParent(c,o),u&&r.setEdge(u,c,{weight:1})}return cr}var lr,es;function Wm(){if(es)return lr;es=1,lr={adjust:e,undo:t};function e(l){let d=l.graph().rankdir.toLowerCase();(d==="lr"||d==="rl")&&n(l)}function t(l){let d=l.graph().rankdir.toLowerCase();(d==="bt"||d==="rl")&&i(l),(d==="lr"||d==="rl")&&(o(l),n(l))}function n(l){l.nodes().forEach(d=>r(l.node(d))),l.edges().forEach(d=>r(l.edge(d)))}function r(l){let d=l.width;l.width=l.height,l.height=d}function i(l){l.nodes().forEach(d=>s(l.node(d))),l.edges().forEach(d=>{let u=l.edge(d);u.points.forEach(s),Object.hasOwn(u,"y")&&s(u)})}function s(l){l.y=-l.y}function o(l){l.nodes().forEach(d=>a(l.node(d))),l.edges().forEach(d=>{let u=l.edge(d);u.points.forEach(a),Object.hasOwn(u,"x")&&a(u)})}function a(l){let d=l.x;l.x=l.y,l.y=d}return lr}var ur,ts;function Xm(){if(ts)return ur;ts=1;let e=se();ur=t;function t(n){let r={},i=n.nodes().filter(u=>!n.children(u).length),s=i.map(u=>n.node(u).rank),o=e.applyWithChunking(Math.max,s),a=e.range(o+1).map(()=>[]);function l(u){if(r[u])return;r[u]=!0;let c=n.node(u);a[c.rank].push(u),n.successors(u).forEach(l)}return i.sort((u,c)=>n.node(u).rank-n.node(c).rank).forEach(l),a}return ur}var dr,ns;function Um(){if(ns)return dr;ns=1;let e=se().zipObject;dr=t;function t(r,i){let s=0;for(let o=1;o<i.length;++o)s+=n(r,i[o-1],i[o]);return s}function n(r,i,s){let o=e(s,s.map((f,h)=>h)),a=i.flatMap(f=>r.outEdges(f).map(h=>({pos:o[h.w],weight:r.edge(h).weight})).sort((h,p)=>h.pos-p.pos)),l=1;for(;l<s.length;)l<<=1;let d=2*l-1;l-=1;let u=new Array(d).fill(0),c=0;return a.forEach(f=>{let h=f.pos+l;u[h]+=f.weight;let p=0;for(;h>0;)h%2&&(p+=u[h+1]),h=h-1>>1,u[h]+=f.weight;c+=f.weight*p}),c}return dr}var fr,rs;function Km(){if(rs)return fr;rs=1,fr=e;function e(t,n=[]){return n.map(r=>{let i=t.inEdges(r);if(i.length){let s=i.reduce((o,a)=>{let l=t.edge(a),d=t.node(a.v);return{sum:o.sum+l.weight*d.order,weight:o.weight+l.weight}},{sum:0,weight:0});return{v:r,barycenter:s.sum/s.weight,weight:s.weight}}else return{v:r}})}return fr}var hr,is;function Zm(){if(is)return hr;is=1;let e=se();hr=t;function t(i,s){let o={};i.forEach((l,d)=>{let u=o[l.v]={indegree:0,in:[],out:[],vs:[l.v],i:d};l.barycenter!==void 0&&(u.barycenter=l.barycenter,u.weight=l.weight)}),s.edges().forEach(l=>{let d=o[l.v],u=o[l.w];d!==void 0&&u!==void 0&&(u.indegree++,d.out.push(o[l.w]))});let a=Object.values(o).filter(l=>!l.indegree);return n(a)}function n(i){let s=[];function o(l){return d=>{d.merged||(d.barycenter===void 0||l.barycenter===void 0||d.barycenter>=l.barycenter)&&r(l,d)}}function a(l){return d=>{d.in.push(l),--d.indegree===0&&i.push(d)}}for(;i.length;){let l=i.pop();s.push(l),l.in.reverse().forEach(o(l)),l.out.forEach(a(l))}return s.filter(l=>!l.merged).map(l=>e.pick(l,["vs","i","barycenter","weight"]))}function r(i,s){let o=0,a=0;i.weight&&(o+=i.barycenter*i.weight,a+=i.weight),s.weight&&(o+=s.barycenter*s.weight,a+=s.weight),i.vs=s.vs.concat(i.vs),i.barycenter=o/a,i.weight=a,i.i=Math.min(s.i,i.i),s.merged=!0}return hr}var pr,os;function Qm(){if(os)return pr;os=1;let e=se();pr=t;function t(i,s){let o=e.partition(i,p=>Object.hasOwn(p,"barycenter")),a=o.lhs,l=o.rhs.sort((p,x)=>x.i-p.i),d=[],u=0,c=0,f=0;a.sort(r(!!s)),f=n(d,l,f),a.forEach(p=>{f+=p.vs.length,d.push(p.vs),u+=p.barycenter*p.weight,c+=p.weight,f=n(d,l,f)});let h={vs:d.flat(!0)};return c&&(h.barycenter=u/c,h.weight=c),h}function n(i,s,o){let a;for(;s.length&&(a=s[s.length-1]).i<=o;)s.pop(),i.push(a.vs),o++;return o}function r(i){return(s,o)=>s.barycenter<o.barycenter?-1:s.barycenter>o.barycenter?1:i?o.i-s.i:s.i-o.i}return pr}var gr,ss;function Jm(){if(ss)return gr;ss=1;let e=Km(),t=Zm(),n=Qm();gr=r;function r(o,a,l,d){let u=o.children(a),c=o.node(a),f=c?c.borderLeft:void 0,h=c?c.borderRight:void 0,p={};f&&(u=u.filter(v=>v!==f&&v!==h));let x=e(o,u);x.forEach(v=>{if(o.children(v.v).length){let g=r(o,v.v,l,d);p[v.v]=g,Object.hasOwn(g,"barycenter")&&s(v,g)}});let m=t(x,l);i(m,p);let y=n(m,d);if(f&&(y.vs=[f,y.vs,h].flat(!0),o.predecessors(f).length)){let v=o.node(o.predecessors(f)[0]),g=o.node(o.predecessors(h)[0]);Object.hasOwn(y,"barycenter")||(y.barycenter=0,y.weight=0),y.barycenter=(y.barycenter*y.weight+v.order+g.order)/(y.weight+2),y.weight+=2}return y}function i(o,a){o.forEach(l=>{l.vs=l.vs.flatMap(d=>a[d]?a[d].vs:d)})}function s(o,a){o.barycenter!==void 0?(o.barycenter=(o.barycenter*o.weight+a.barycenter*a.weight)/(o.weight+a.weight),o.weight+=a.weight):(o.barycenter=a.barycenter,o.weight=a.weight)}return gr}var mr,as;function e0(){if(as)return mr;as=1;let e=me().Graph,t=se();mr=n;function n(i,s,o,a){a||(a=i.nodes());let l=r(i),d=new e({compound:!0}).setGraph({root:l}).setDefaultNodeLabel(u=>i.node(u));return a.forEach(u=>{let c=i.node(u),f=i.parent(u);(c.rank===s||c.minRank<=s&&s<=c.maxRank)&&(d.setNode(u),d.setParent(u,f||l),i[o](u).forEach(h=>{let p=h.v===u?h.w:h.v,x=d.edge(p,u),m=x!==void 0?x.weight:0;d.setEdge(p,u,{weight:i.edge(h).weight+m})}),Object.hasOwn(c,"minRank")&&d.setNode(u,{borderLeft:c.borderLeft[s],borderRight:c.borderRight[s]}))}),d}function r(i){for(var s;i.hasNode(s=t.uniqueId("_root")););return s}return mr}var yr,cs;function t0(){if(cs)return yr;cs=1,yr=e;function e(t,n,r){let i={},s;r.forEach(o=>{let a=t.parent(o),l,d;for(;a;){if(l=t.parent(a),l?(d=i[l],i[l]=a):(d=s,s=a),d&&d!==a){n.setEdge(d,a);return}a=l}})}return yr}var xr,ls;function n0(){if(ls)return xr;ls=1;let e=Xm(),t=Um(),n=Jm(),r=e0(),i=t0(),s=me().Graph,o=se();xr=a;function a(c,f){if(f&&typeof f.customOrder=="function"){f.customOrder(c,a);return}let h=o.maxRank(c),p=l(c,o.range(1,h+1),"inEdges"),x=l(c,o.range(h-1,-1,-1),"outEdges"),m=e(c);if(u(c,m),f&&f.disableOptimalOrderHeuristic)return;let y=Number.POSITIVE_INFINITY,v;for(let g=0,w=0;w<4;++g,++w){d(g%2?p:x,g%4>=2),m=o.buildLayerMatrix(c);let k=t(c,m);k<y&&(w=0,v=Object.assign({},m),y=k)}u(c,v)}function l(c,f,h){const p=new Map,x=(m,y)=>{p.has(m)||p.set(m,[]),p.get(m).push(y)};for(const m of c.nodes()){const y=c.node(m);if(typeof y.rank=="number"&&x(y.rank,m),typeof y.minRank=="number"&&typeof y.maxRank=="number")for(let v=y.minRank;v<=y.maxRank;v++)v!==y.rank&&x(v,m)}return f.map(function(m){return r(c,m,h,p.get(m)||[])})}function d(c,f){let h=new s;c.forEach(function(p){let x=p.graph().root,m=n(p,x,h,f);m.vs.forEach((y,v)=>p.node(y).order=v),i(p,h,m.vs)})}function u(c,f){Object.values(f).forEach(h=>h.forEach((p,x)=>c.node(p).order=x))}return xr}var wr,us;function r0(){if(us)return wr;us=1;let e=me().Graph,t=se();wr={positionX:h,findType1Conflicts:n,findType2Conflicts:r,addConflict:s,hasConflict:o,verticalAlignment:a,horizontalCompaction:l,alignCoordinates:c,findSmallestWidthAlignment:u,balance:f};function n(m,y){let v={};function g(w,k){let _=0,M=0,b=w.length,N=k[k.length-1];return k.forEach((A,S)=>{let C=i(m,A),j=C?m.node(C).order:b;(C||A===N)&&(k.slice(M,S+1).forEach(E=>{m.predecessors(E).forEach(P=>{let L=m.node(P),D=L.order;(D<_||j<D)&&!(L.dummy&&m.node(E).dummy)&&s(v,P,E)})}),M=S+1,_=j)}),k}return y.length&&y.reduce(g),v}function r(m,y){let v={};function g(k,_,M,b,N){let A;t.range(_,M).forEach(S=>{A=k[S],m.node(A).dummy&&m.predecessors(A).forEach(C=>{let j=m.node(C);j.dummy&&(j.order<b||j.order>N)&&s(v,C,A)})})}function w(k,_){let M=-1,b,N=0;return _.forEach((A,S)=>{if(m.node(A).dummy==="border"){let C=m.predecessors(A);C.length&&(b=m.node(C[0]).order,g(_,N,S,M,b),N=S,M=b)}g(_,N,_.length,b,k.length)}),_}return y.length&&y.reduce(w),v}function i(m,y){if(m.node(y).dummy)return m.predecessors(y).find(v=>m.node(v).dummy)}function s(m,y,v){if(y>v){let w=y;y=v,v=w}let g=m[y];g||(m[y]=g={}),g[v]=!0}function o(m,y,v){if(y>v){let g=y;y=v,v=g}return!!m[y]&&Object.hasOwn(m[y],v)}function a(m,y,v,g){let w={},k={},_={};return y.forEach(M=>{M.forEach((b,N)=>{w[b]=b,k[b]=b,_[b]=N})}),y.forEach(M=>{let b=-1;M.forEach(N=>{let A=g(N);if(A.length){A=A.sort((C,j)=>_[C]-_[j]);let S=(A.length-1)/2;for(let C=Math.floor(S),j=Math.ceil(S);C<=j;++C){let E=A[C];k[N]===N&&b<_[E]&&!o(v,N,E)&&(k[E]=N,k[N]=w[N]=w[E],b=_[E])}}})}),{root:w,align:k}}function l(m,y,v,g,w){let k={},_=d(m,y,v,w),M=w?"borderLeft":"borderRight";function b(S,C){let j=_.nodes(),E=j.pop(),P={};for(;E;)P[E]?S(E):(P[E]=!0,j.push(E),j=j.concat(C(E))),E=j.pop()}function N(S){k[S]=_.inEdges(S).reduce((C,j)=>Math.max(C,k[j.v]+_.edge(j)),0)}function A(S){let C=_.outEdges(S).reduce((E,P)=>Math.min(E,k[P.w]-_.edge(P)),Number.POSITIVE_INFINITY),j=m.node(S);C!==Number.POSITIVE_INFINITY&&j.borderType!==M&&(k[S]=Math.max(k[S],C))}return b(N,_.predecessors.bind(_)),b(A,_.successors.bind(_)),Object.keys(g).forEach(S=>k[S]=k[v[S]]),k}function d(m,y,v,g){let w=new e,k=m.graph(),_=p(k.nodesep,k.edgesep,g);return y.forEach(M=>{let b;M.forEach(N=>{let A=v[N];if(w.setNode(A),b){var S=v[b],C=w.edge(S,A);w.setEdge(S,A,Math.max(_(m,N,b),C||0))}b=N})}),w}function u(m,y){return Object.values(y).reduce((v,g)=>{let w=Number.NEGATIVE_INFINITY,k=Number.POSITIVE_INFINITY;Object.entries(g).forEach(([M,b])=>{let N=x(m,M)/2;w=Math.max(b+N,w),k=Math.min(b-N,k)});const _=w-k;return _<v[0]&&(v=[_,g]),v},[Number.POSITIVE_INFINITY,null])[1]}function c(m,y){let v=Object.values(y),g=t.applyWithChunking(Math.min,v),w=t.applyWithChunking(Math.max,v);["u","d"].forEach(k=>{["l","r"].forEach(_=>{let M=k+_,b=m[M];if(b===y)return;let N=Object.values(b),A=g-t.applyWithChunking(Math.min,N);_!=="l"&&(A=w-t.applyWithChunking(Math.max,N)),A&&(m[M]=t.mapValues(b,S=>S+A))})})}function f(m,y){return t.mapValues(m.ul,(v,g)=>{if(y)return m[y.toLowerCase()][g];{let w=Object.values(m).map(k=>k[g]).sort((k,_)=>k-_);return(w[1]+w[2])/2}})}function h(m){let y=t.buildLayerMatrix(m),v=Object.assign(n(m,y),r(m,y)),g={},w;["u","d"].forEach(_=>{w=_==="u"?y:Object.values(y).reverse(),["l","r"].forEach(M=>{M==="r"&&(w=w.map(S=>Object.values(S).reverse()));let b=(_==="u"?m.predecessors:m.successors).bind(m),N=a(m,w,v,b),A=l(m,w,N.root,N.align,M==="r");M==="r"&&(A=t.mapValues(A,S=>-S)),g[_+M]=A})});let k=u(m,g);return c(g,k),f(g,m.graph().align)}function p(m,y,v){return(g,w,k)=>{let _=g.node(w),M=g.node(k),b=0,N;if(b+=_.width/2,Object.hasOwn(_,"labelpos"))switch(_.labelpos.toLowerCase()){case"l":N=-_.width/2;break;case"r":N=_.width/2;break}if(N&&(b+=v?N:-N),N=0,b+=(_.dummy?y:m)/2,b+=(M.dummy?y:m)/2,b+=M.width/2,Object.hasOwn(M,"labelpos"))switch(M.labelpos.toLowerCase()){case"l":N=M.width/2;break;case"r":N=-M.width/2;break}return N&&(b+=v?N:-N),N=0,b}}function x(m,y){return m.node(y).width}return wr}var vr,ds;function i0(){if(ds)return vr;ds=1;let e=se(),t=r0().positionX;vr=n;function n(i){i=e.asNonCompoundGraph(i),r(i),Object.entries(t(i)).forEach(([s,o])=>i.node(s).x=o)}function r(i){let s=e.buildLayerMatrix(i),o=i.graph().ranksep,a=0;s.forEach(l=>{const d=l.reduce((u,c)=>{const f=i.node(c).height;return u>f?u:f},0);l.forEach(u=>i.node(u).y=a+d/2),a+=d+o})}return vr}var br,fs;function o0(){if(fs)return br;fs=1;let e=Vm(),t=Hm(),n=Bm(),r=se().normalizeRanks,i=qm(),s=se().removeEmptyRanks,o=Ym(),a=Gm(),l=Wm(),d=n0(),u=i0(),c=se(),f=me().Graph;br=h;function h(T,$){let z=$&&$.debugTiming?c.time:c.notime;z("layout",()=>{let B=z(" buildLayoutGraph",()=>b(T));z(" runLayout",()=>p(B,z,$)),z(" updateInputGraph",()=>x(T,B))})}function p(T,$,z){$(" makeSpaceForEdgeLabels",()=>N(T)),$(" removeSelfEdges",()=>O(T)),$(" acyclic",()=>e.run(T)),$(" nestingGraph.run",()=>o.run(T)),$(" rank",()=>n(c.asNonCompoundGraph(T))),$(" injectEdgeLabelProxies",()=>A(T)),$(" removeEmptyRanks",()=>s(T)),$(" nestingGraph.cleanup",()=>o.cleanup(T)),$(" normalizeRanks",()=>r(T)),$(" assignRankMinMax",()=>S(T)),$(" removeEdgeLabelProxies",()=>C(T)),$(" normalize.run",()=>t.run(T)),$(" parentDummyChains",()=>i(T)),$(" addBorderSegments",()=>a(T)),$(" order",()=>d(T,z)),$(" insertSelfEdges",()=>R(T)),$(" adjustCoordinateSystem",()=>l.adjust(T)),$(" position",()=>u(T)),$(" positionSelfEdges",()=>H(T)),$(" removeBorderNodes",()=>D(T)),$(" normalize.undo",()=>t.undo(T)),$(" fixupEdgeLabelCoords",()=>P(T)),$(" undoCoordinateSystem",()=>l.undo(T)),$(" translateGraph",()=>j(T)),$(" assignNodeIntersects",()=>E(T)),$(" reversePoints",()=>L(T)),$(" acyclic.undo",()=>e.undo(T))}function x(T,$){T.nodes().forEach(z=>{let B=T.node(z),G=$.node(z);B&&(B.x=G.x,B.y=G.y,B.rank=G.rank,$.children(z).length&&(B.width=G.width,B.height=G.height))}),T.edges().forEach(z=>{let B=T.edge(z),G=$.edge(z);B.points=G.points,Object.hasOwn(G,"x")&&(B.x=G.x,B.y=G.y)}),T.graph().width=$.graph().width,T.graph().height=$.graph().height}let m=["nodesep","edgesep","ranksep","marginx","marginy"],y={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},v=["acyclicer","ranker","rankdir","align"],g=["width","height","rank"],w={width:0,height:0},k=["minlen","weight","width","height","labeloffset"],_={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},M=["labelpos"];function b(T){let $=new f({multigraph:!0,compound:!0}),z=F(T.graph());return $.setGraph(Object.assign({},y,q(z,m),c.pick(z,v))),T.nodes().forEach(B=>{let G=F(T.node(B));const Y=q(G,g);Object.keys(w).forEach(W=>{Y[W]===void 0&&(Y[W]=w[W])}),$.setNode(B,Y),$.setParent(B,T.parent(B))}),T.edges().forEach(B=>{let G=F(T.edge(B));$.setEdge(B,Object.assign({},_,q(G,k),c.pick(G,M)))}),$}function N(T){let $=T.graph();$.ranksep/=2,T.edges().forEach(z=>{let B=T.edge(z);B.minlen*=2,B.labelpos.toLowerCase()!=="c"&&($.rankdir==="TB"||$.rankdir==="BT"?B.width+=B.labeloffset:B.height+=B.labeloffset)})}function A(T){T.edges().forEach($=>{let z=T.edge($);if(z.width&&z.height){let B=T.node($.v),Y={rank:(T.node($.w).rank-B.rank)/2+B.rank,e:$};c.addDummyNode(T,"edge-proxy",Y,"_ep")}})}function S(T){let $=0;T.nodes().forEach(z=>{let B=T.node(z);B.borderTop&&(B.minRank=T.node(B.borderTop).rank,B.maxRank=T.node(B.borderBottom).rank,$=Math.max($,B.maxRank))}),T.graph().maxRank=$}function C(T){T.nodes().forEach($=>{let z=T.node($);z.dummy==="edge-proxy"&&(T.edge(z.e).labelRank=z.rank,T.removeNode($))})}function j(T){let $=Number.POSITIVE_INFINITY,z=0,B=Number.POSITIVE_INFINITY,G=0,Y=T.graph(),W=Y.marginx||0,Z=Y.marginy||0;function Q(U){let X=U.x,J=U.y,ne=U.width,ee=U.height;$=Math.min($,X-ne/2),z=Math.max(z,X+ne/2),B=Math.min(B,J-ee/2),G=Math.max(G,J+ee/2)}T.nodes().forEach(U=>Q(T.node(U))),T.edges().forEach(U=>{let X=T.edge(U);Object.hasOwn(X,"x")&&Q(X)}),$-=W,B-=Z,T.nodes().forEach(U=>{let X=T.node(U);X.x-=$,X.y-=B}),T.edges().forEach(U=>{let X=T.edge(U);X.points.forEach(J=>{J.x-=$,J.y-=B}),Object.hasOwn(X,"x")&&(X.x-=$),Object.hasOwn(X,"y")&&(X.y-=B)}),Y.width=z-$+W,Y.height=G-B+Z}function E(T){T.edges().forEach($=>{let z=T.edge($),B=T.node($.v),G=T.node($.w),Y,W;z.points?(Y=z.points[0],W=z.points[z.points.length-1]):(z.points=[],Y=G,W=B),z.points.unshift(c.intersectRect(B,Y)),z.points.push(c.intersectRect(G,W))})}function P(T){T.edges().forEach($=>{let z=T.edge($);if(Object.hasOwn(z,"x"))switch((z.labelpos==="l"||z.labelpos==="r")&&(z.width-=z.labeloffset),z.labelpos){case"l":z.x-=z.width/2+z.labeloffset;break;case"r":z.x+=z.width/2+z.labeloffset;break}})}function L(T){T.edges().forEach($=>{let z=T.edge($);z.reversed&&z.points.reverse()})}function D(T){T.nodes().forEach($=>{if(T.children($).length){let z=T.node($),B=T.node(z.borderTop),G=T.node(z.borderBottom),Y=T.node(z.borderLeft[z.borderLeft.length-1]),W=T.node(z.borderRight[z.borderRight.length-1]);z.width=Math.abs(W.x-Y.x),z.height=Math.abs(G.y-B.y),z.x=Y.x+z.width/2,z.y=B.y+z.height/2}}),T.nodes().forEach($=>{T.node($).dummy==="border"&&T.removeNode($)})}function O(T){T.edges().forEach($=>{if($.v===$.w){var z=T.node($.v);z.selfEdges||(z.selfEdges=[]),z.selfEdges.push({e:$,label:T.edge($)}),T.removeEdge($)}})}function R(T){var $=c.buildLayerMatrix(T);$.forEach(z=>{var B=0;z.forEach((G,Y)=>{var W=T.node(G);W.order=Y+B,(W.selfEdges||[]).forEach(Z=>{c.addDummyNode(T,"selfedge",{width:Z.label.width,height:Z.label.height,rank:W.rank,order:Y+ ++B,e:Z.e,label:Z.label},"_se")}),delete W.selfEdges})})}function H(T){T.nodes().forEach($=>{var z=T.node($);if(z.dummy==="selfedge"){var B=T.node(z.e.v),G=B.x+B.width/2,Y=B.y,W=z.x-G,Z=B.height/2;T.setEdge(z.e,z.label),T.removeNode($),z.label.points=[{x:G+2*W/3,y:Y-Z},{x:G+5*W/6,y:Y-Z},{x:G+W,y:Y},{x:G+5*W/6,y:Y+Z},{x:G+2*W/3,y:Y+Z}],z.label.x=z.x,z.label.y=z.y}})}function q(T,$){return c.mapValues(c.pick(T,$),Number)}function F(T){var $={};return T&&Object.entries(T).forEach(([z,B])=>{typeof z=="string"&&(z=z.toLowerCase()),$[z]=B}),$}return br}var _r,hs;function s0(){if(hs)return _r;hs=1;let e=se(),t=me().Graph;_r={debugOrdering:n};function n(r){let i=e.buildLayerMatrix(r),s=new t({compound:!0,multigraph:!0}).setGraph({});return r.nodes().forEach(o=>{s.setNode(o,{label:o}),s.setParent(o,"layer"+r.node(o).rank)}),r.edges().forEach(o=>s.setEdge(o.v,o.w,{},o.name)),i.forEach((o,a)=>{let l="layer"+a;s.setNode(l,{rank:"same"}),o.reduce((d,u)=>(s.setEdge(d,u,{style:"invis"}),u))}),s}return _r}var Er,ps;function a0(){return ps||(ps=1,Er="1.1.8"),Er}var Nr,gs;function c0(){return gs||(gs=1,Nr={graphlib:me(),layout:o0(),debug:s0(),util:{time:se().time,notime:se().notime},version:a0()}),Nr}var l0=c0();const ms=ws(l0),zr=240,ys=80;function E0(e,t){return e.filter(n=>{var r,i;return!((r=t==null?void 0:t.statuses)!=null&&r.size&&!t.statuses.has(n.status)||(i=t==null?void 0:t.types)!=null&&i.size&&!t.types.has(n.type))}).map(n=>({id:n.id,type:"workflowNode",position:{x:0,y:0},data:{label:n.title,nodeType:n.type,status:n.status,priority:n.priority,xpSize:n.xpSize,sprint:n.sprint,sourceNode:n},style:{width:zr,borderLeft:`4px solid ${Vr[n.type]||"#6c757d"}`}}))}function N0(e,t){return e.filter(n=>t.has(n.from)&&t.has(n.to)).map(n=>{const r=Te[n.relationType]||Te.related_to;return{id:n.id,source:n.from,target:n.to,label:r.label,type:"workflowEdge",data:{relationType:n.relationType},style:{stroke:r.color,strokeDasharray:r.dashed?"5 5":void 0},labelStyle:{fontSize:10,fill:"#6c757d"}}})}function u0(e,t,n){let r=0;const i=[n,...e,"|",...t];for(const s of i)for(let o=0;o<s.length;o++)r=(r<<5)-r+s.charCodeAt(o)|0;return r}function S0(e,t){if(e===null||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}let Vt=null;function k0(e,t,n="TB"){const r=e.map(d=>d.id),i=t.map(d=>`${d.source}-${d.target}`),s=u0(r,i,n);if(Vt&&Vt.key===s)return Vt.result;const o=new ms.graphlib.Graph;o.setDefaultEdgeLabel(()=>({})),o.setGraph({rankdir:n,ranksep:60,nodesep:40});for(const d of e)o.setNode(d.id,{width:zr,height:ys});for(const d of t)o.setEdge(d.source,d.target);ms.layout(o);const l={nodes:e.map(d=>{const u=o.node(d.id);return{...d,position:{x:u.x-zr/2,y:u.y-ys/2}}}),edges:t};return Vt={key:s,result:l},l}export{y0 as B,x0 as C,_0 as N,b0 as W,m0 as a,N0 as b,k0 as c,v0 as d,w0 as f,p0 as i,S0 as s,E0 as t,g0 as u};
|