@marimo-team/frontend 0.18.5-dev183 → 0.18.5-dev186

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.
@@ -0,0 +1,4 @@
1
+ var Hr=Object.defineProperty;var Vr=(t,e,n)=>e in t?Hr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ie=(t,e,n)=>Vr(t,typeof e!="symbol"?e+"":e,n);import{s as _t,t as q}from"./chunk-LvLJmgfZ.js";import{i as Pt,l as bn,n as Fr,p as It,u as jt}from"./useEvent-DlWF5OMa.js";import{t as Xr}from"./react-BGmjiNul.js";import{C as Wr,Fn as xn,Jt as Yr,O as Dt,T as Zr,_t as Kr,a as Gr,d as Ur,hn as qr,j as Jr,pn as wn,pt as Qr,w as ea}from"./cells-BLhvmrVl.js";import{t as ta}from"./react-dom-C9fstfnp.js";import{t as Re}from"./compiler-runtime-DeeZ7FnK.js";import"./config-babG4OBR.js";import{t as na}from"./jsx-runtime-DN_bIXfG.js";import{r as oa,t as rt}from"./button-DuYGqRtX.js";import{t as Ve}from"./cn-C1rgT0yh.js";import"./dist-CAcX026F.js";import{r as ra}from"./once-CTiSlR1m.js";import"./cjs-Bj40p_Np.js";import"./main-CwSdzVhm.js";import"./useNonce-EAuSVK-5.js";import{t as Rt}from"./createLucideIcon-CW2xpJ57.js";import{a as aa,i as ia,t as sa}from"./useDependencyPanelTab-DgtlzfpF.js";import{h as la}from"./select-D0g5GnIs.js";import{a as da,o as ca}from"./download-DPiYP-j0.js";import{t as ua}from"./ellipsis-vertical-CasjS3M6.js";import{t as ha}from"./settings-MTlHVxz3.js";import{t as ga}from"./square-function-DxXFdbn8.js";import{t as fa}from"./workflow-ZGK5flRg.js";import"./dist-HGZzCB0y.js";import"./dist-CVj-_Iiz.js";import"./dist-BVf1IY4_.js";import"./dist-Cq_4nPfh.js";import"./dist-RKnr9SNh.js";import"./Combination-D1TsGrBC.js";import{t as pa}from"./tooltip-CvjcEpZC.js";import{i as ma,r as ya,t as va}from"./popover-DtnzNVk-.js";import{n as ba}from"./useDebounce-em3gna-v.js";import{i as xa,t as At}from"./cell-link-B7EjqLUL.js";import"./es-CR1H2K7u.js";import{a as wa,i as Ea,t as Sa}from"./focus-CgHW_IRL.js";import{t as Ca}from"./label-qwandMoh.js";import"./esm-B3JckBtM.js";import{b as Na}from"./timer-BEJidwwG.js";import{a as Bt,c as zt,i as ka,l as Lt,n as Fe,o as Ma,r as Oa,s as En,t as _a,u as ht}from"./src-lcGySDV2.js";import{r as Pa}from"./name-cell-input-lVGcUDBb.js";import"./multi-icon-BOYRpNB_.js";import{n as Ia,t as Sn}from"./common-4ZdFNk6L.js";var ja=Rt("arrow-right-from-line",[["path",{d:"M3 5v14",key:"1nt18q"}],["path",{d:"M21 12H7",key:"13ipq5"}],["path",{d:"m15 18 6-6-6-6",key:"6tx3qv"}]]),Da=Rt("arrow-right-to-line",[["path",{d:"M17 12H3",key:"8awo09"}],["path",{d:"m11 18 6-6-6-6",key:"8c2y43"}],["path",{d:"M21 5v14",key:"nzette"}]]),Ra=Rt("map-pin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]);function he(t){if(typeof t=="string"||typeof t=="number")return""+t;let e="";if(Array.isArray(t))for(let n=0,o;n<t.length;n++)(o=he(t[n]))!==""&&(e+=(e&&" ")+o);else for(let n in t)t[n]&&(e+=(e&&" ")+n);return e}var v=_t(Xr(),1),Aa=_t(da(),1),{useDebugValue:Ba}=v.default,{useSyncExternalStoreWithSelector:za}=Aa.default,La=t=>t;function Cn(t,e=La,n){let o=za(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,n);return Ba(o),o}var Nn=(t,e)=>{let n=ca(t),o=(i,l=e)=>Cn(n,i,l);return Object.assign(o,n),o},$a=(t,e)=>t?Nn(t,e):Nn;function ue(t,e){if(Object.is(t,e))return!0;if(typeof t!="object"||!t||typeof e!="object"||!e)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(let[o,i]of t)if(!Object.is(i,e.get(o)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(let o of t)if(!e.has(o))return!1;return!0}let n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(let o of n)if(!Object.prototype.hasOwnProperty.call(e,o)||!Object.is(t[o],e[o]))return!1;return!0}var gt=t=>()=>t;function $t(t,{sourceEvent:e,subject:n,target:o,identifier:i,active:l,x:a,y:d,dx:s,dy:c,dispatch:u}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:l,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:d,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}$t.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function Ta(t){return!t.ctrlKey&&!t.button}function Ha(){return this.parentNode}function Va(t,e){return e??{x:t.x,y:t.y}}function Fa(){return navigator.maxTouchPoints||"ontouchstart"in this}function Xa(){var t=Ta,e=Ha,n=Va,o=Fa,i={},l=Na("start","drag","end"),a=0,d,s,c,u,r=0;function g(p){p.on("mousedown.drag",h).filter(o).on("touchstart.drag",y).on("touchmove.drag",x,Ma).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(p,S){if(!(u||!t.call(this,p,S))){var k=N(this,e.call(this,p,S),p,S,"mouse");k&&(ht(p.view).on("mousemove.drag",m,En).on("mouseup.drag",f,En),Oa(p.view),zt(p),c=!1,d=p.clientX,s=p.clientY,k("start",p))}}function m(p){if(Bt(p),!c){var S=p.clientX-d,k=p.clientY-s;c=S*S+k*k>r}i.mouse("drag",p)}function f(p){ht(p.view).on("mousemove.drag mouseup.drag",null),ka(p.view,c),Bt(p),i.mouse("end",p)}function y(p,S){if(t.call(this,p,S)){var k=p.changedTouches,_=e.call(this,p,S),P=k.length,I,w;for(I=0;I<P;++I)(w=N(this,_,p,S,k[I].identifier,k[I]))&&(zt(p),w("start",p,k[I]))}}function x(p){var S=p.changedTouches,k=S.length,_,P;for(_=0;_<k;++_)(P=i[S[_].identifier])&&(Bt(p),P("drag",p,S[_]))}function b(p){var S=p.changedTouches,k=S.length,_,P;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),_=0;_<k;++_)(P=i[S[_].identifier])&&(zt(p),P("end",p,S[_]))}function N(p,S,k,_,P,I){var w=l.copy(),E=Lt(I||k,S),O,M,C;if((C=n.call(p,new $t("beforestart",{sourceEvent:k,target:g,identifier:P,active:a,x:E[0],y:E[1],dx:0,dy:0,dispatch:w}),_))!=null)return O=C.x-E[0]||0,M=C.y-E[1]||0,function R(L,H,X){var D=E,$;switch(L){case"start":i[P]=R,$=a++;break;case"end":delete i[P],--a;case"drag":E=Lt(X||H,S),$=a;break}w.call(L,p,new $t(L,{sourceEvent:H,subject:C,target:g,identifier:P,active:$,x:E[0]+O,y:E[1]+M,dx:E[0]-D[0],dy:E[1]-D[1],dispatch:w}),_)}}return g.filter=function(p){return arguments.length?(t=typeof p=="function"?p:gt(!!p),g):t},g.container=function(p){return arguments.length?(e=typeof p=="function"?p:gt(p),g):e},g.subject=function(p){return arguments.length?(n=typeof p=="function"?p:gt(p),g):n},g.touchable=function(p){return arguments.length?(o=typeof p=="function"?p:gt(!!p),g):o},g.on=function(){var p=l.on.apply(l,arguments);return p===l?g:p},g.clickDistance=function(p){return arguments.length?(r=(p=+p)*p,g):Math.sqrt(r)},g}ta();var ft=(0,v.createContext)(null),Wa=ft.Provider,xe={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:t=>`Node type "${t}" 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:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,e)=>`Couldn't create edge for ${t?"target":"source"} handle id: "${t?e.targetHandle:e.sourceHandle}", edge id: ${e.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`},kn=xe.error001();function ne(t,e){let n=(0,v.useContext)(ft);if(n===null)throw Error(kn);return Cn(n,t,e)}var le=()=>{let t=(0,v.useContext)(ft);if(t===null)throw Error(kn);return(0,v.useMemo)(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe,destroy:t.destroy}),[t])},Ya=t=>t.userSelectionActive?"none":"all";function pt({position:t,children:e,className:n,style:o,...i}){let l=ne(Ya),a=`${t}`.split("-");return v.createElement("div",{className:he(["react-flow__panel",n,...a]),style:{...o,pointerEvents:l},...i},e)}function Za({proOptions:t,position:e="bottom-right"}){return t!=null&&t.hideAttribution?null:v.createElement(pt,{position:e,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},v.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}var Ka=(0,v.memo)(({x:t,y:e,label:n,labelStyle:o={},labelShowBg:i=!0,labelBgStyle:l={},labelBgPadding:a=[2,4],labelBgBorderRadius:d=2,children:s,className:c,...u})=>{let r=(0,v.useRef)(null),[g,h]=(0,v.useState)({x:0,y:0,width:0,height:0}),m=he(["react-flow__edge-textwrapper",c]);return(0,v.useEffect)(()=>{if(r.current){let f=r.current.getBBox();h({x:f.x,y:f.y,width:f.width,height:f.height})}},[n]),n===void 0||!n?null:v.createElement("g",{transform:`translate(${t-g.width/2} ${e-g.height/2})`,className:m,visibility:g.width?"visible":"hidden",...u},i&&v.createElement("rect",{width:g.width+2*a[0],x:-a[0],y:-a[1],height:g.height+2*a[1],className:"react-flow__edge-textbg",style:l,rx:d,ry:d}),v.createElement("text",{className:"react-flow__edge-text",y:g.height/2,dy:"0.3em",ref:r,style:o},n),s)}),Tt=t=>({width:t.offsetWidth,height:t.offsetHeight}),Xe=(t,e=0,n=1)=>Math.min(Math.max(t,e),n),Ht=(t={x:0,y:0},e)=>({x:Xe(t.x,e[0][0],e[1][0]),y:Xe(t.y,e[0][1],e[1][1])}),Mn=(t,e,n)=>t<e?Xe(Math.abs(t-e),1,50)/50:t>n?-Xe(Math.abs(t-n),1,50)/50:0,On=(t,e)=>[Mn(t.x,35,e.width-35)*20,Mn(t.y,35,e.height-35)*20],_n=t=>{var e;return((e=t.getRootNode)==null?void 0:e.call(t))||(window==null?void 0:window.document)},Ga=(t,e)=>({x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x2,e.x2),y2:Math.max(t.y2,e.y2)}),Vt=({x:t,y:e,width:n,height:o})=>({x:t,y:e,x2:t+n,y2:e+o}),Ua=({x:t,y:e,x2:n,y2:o})=>({x:t,y:e,width:n-t,height:o-e}),Pn=t=>({...t.positionAbsolute||{x:0,y:0},width:t.width||0,height:t.height||0}),Ft=(t,e)=>{let n=Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x)),o=Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y));return Math.ceil(n*o)},qa=t=>me(t.width)&&me(t.height)&&me(t.x)&&me(t.y),me=t=>!isNaN(t)&&isFinite(t),re=Symbol.for("internals"),In=["Enter"," ","Escape"],Ja=(t,e)=>{},Qa=t=>"nativeEvent"in t;function Xt(t){var n,o,i;let e=((i=(o=(n=Qa(t)?t.nativeEvent:t).composedPath)==null?void 0:o.call(n))==null?void 0:i[0])||t.target;return["INPUT","SELECT","TEXTAREA"].includes(e==null?void 0:e.nodeName)||(e==null?void 0:e.hasAttribute("contenteditable"))||!!(e!=null&&e.closest(".nokey"))}var jn=t=>"clientX"in t,Se=(t,e)=>{var l,a;let n=jn(t),o=n?t.clientX:(l=t.touches)==null?void 0:l[0].clientX,i=n?t.clientY:(a=t.touches)==null?void 0:a[0].clientY;return{x:o-((e==null?void 0:e.left)??0),y:i-((e==null?void 0:e.top)??0)}},mt=()=>{var t;return typeof navigator<"u"&&((t=navigator==null?void 0:navigator.userAgent)==null?void 0:t.indexOf("Mac"))>=0},at=({id:t,path:e,labelX:n,labelY:o,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,markerEnd:r,markerStart:g,interactionWidth:h=20})=>v.createElement(v.Fragment,null,v.createElement("path",{id:t,style:u,d:e,fill:"none",className:"react-flow__edge-path",markerEnd:r,markerStart:g}),h&&v.createElement("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),i&&me(n)&&me(o)?v.createElement(Ka,{x:n,y:o,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c}):null);at.displayName="BaseEdge";function it(t,e,n){return n===void 0?n:o=>{let i=e().edges.find(l=>l.id===t);i&&n(o,{...i})}}function Dn({sourceX:t,sourceY:e,targetX:n,targetY:o}){let i=Math.abs(n-t)/2,l=n<t?n+i:n-i,a=Math.abs(o-e)/2;return[l,o<e?o+a:o-a,i,a]}function Rn({sourceX:t,sourceY:e,targetX:n,targetY:o,sourceControlX:i,sourceControlY:l,targetControlX:a,targetControlY:d}){let s=t*.125+i*.375+a*.375+n*.125,c=e*.125+l*.375+d*.375+o*.125;return[s,c,Math.abs(s-t),Math.abs(c-e)]}var We;(function(t){t.Strict="strict",t.Loose="loose"})(We||(We={}));var Ye;(function(t){t.Free="free",t.Vertical="vertical",t.Horizontal="horizontal"})(Ye||(Ye={}));var yt;(function(t){t.Partial="partial",t.Full="full"})(yt||(yt={}));var Ae;(function(t){t.Bezier="default",t.Straight="straight",t.Step="step",t.SmoothStep="smoothstep",t.SimpleBezier="simplebezier"})(Ae||(Ae={}));var vt;(function(t){t.Arrow="arrow",t.ArrowClosed="arrowclosed"})(vt||(vt={}));var W;(function(t){t.Left="left",t.Top="top",t.Right="right",t.Bottom="bottom"})(W||(W={}));function An({pos:t,x1:e,y1:n,x2:o,y2:i}){return t===W.Left||t===W.Right?[.5*(e+o),n]:[e,.5*(n+i)]}function Bn({sourceX:t,sourceY:e,sourcePosition:n=W.Bottom,targetX:o,targetY:i,targetPosition:l=W.Top}){let[a,d]=An({pos:n,x1:t,y1:e,x2:o,y2:i}),[s,c]=An({pos:l,x1:o,y1:i,x2:t,y2:e}),[u,r,g,h]=Rn({sourceX:t,sourceY:e,targetX:o,targetY:i,sourceControlX:a,sourceControlY:d,targetControlX:s,targetControlY:c});return[`M${t},${e} C${a},${d} ${s},${c} ${o},${i}`,u,r,g,h]}var Wt=(0,v.memo)(({sourceX:t,sourceY:e,targetX:n,targetY:o,sourcePosition:i=W.Bottom,targetPosition:l=W.Top,label:a,labelStyle:d,labelShowBg:s,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:r,style:g,markerEnd:h,markerStart:m,interactionWidth:f})=>{let[y,x,b]=Bn({sourceX:t,sourceY:e,sourcePosition:i,targetX:n,targetY:o,targetPosition:l});return v.createElement(at,{path:y,labelX:x,labelY:b,label:a,labelStyle:d,labelShowBg:s,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:r,style:g,markerEnd:h,markerStart:m,interactionWidth:f})});Wt.displayName="SimpleBezierEdge";var zn={[W.Left]:{x:-1,y:0},[W.Right]:{x:1,y:0},[W.Top]:{x:0,y:-1},[W.Bottom]:{x:0,y:1}},ei=({source:t,sourcePosition:e=W.Bottom,target:n})=>e===W.Left||e===W.Right?t.x<n.x?{x:1,y:0}:{x:-1,y:0}:t.y<n.y?{x:0,y:1}:{x:0,y:-1},Ln=(t,e)=>Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2);function ti({source:t,sourcePosition:e=W.Bottom,target:n,targetPosition:o=W.Top,center:i,offset:l}){let a=zn[e],d=zn[o],s={x:t.x+a.x*l,y:t.y+a.y*l},c={x:n.x+d.x*l,y:n.y+d.y*l},u=ei({source:s,sourcePosition:e,target:c}),r=u.x===0?"y":"x",g=u[r],h=[],m,f,y={x:0,y:0},x={x:0,y:0},[b,N,p,S]=Dn({sourceX:t.x,sourceY:t.y,targetX:n.x,targetY:n.y});if(a[r]*d[r]===-1){m=i.x??b,f=i.y??N;let k=[{x:m,y:s.y},{x:m,y:c.y}],_=[{x:s.x,y:f},{x:c.x,y:f}];h=a[r]===g?r==="x"?k:_:r==="x"?_:k}else{let k=[{x:s.x,y:c.y}],_=[{x:c.x,y:s.y}];if(h=r==="x"?a.x===g?_:k:a.y===g?k:_,e===o){let w=Math.abs(t[r]-n[r]);if(w<=l){let E=Math.min(l-1,l-w);a[r]===g?y[r]=(s[r]>t[r]?-1:1)*E:x[r]=(c[r]>n[r]?-1:1)*E}}if(e!==o){let w=r==="x"?"y":"x",E=a[r]===d[w],O=s[w]>c[w],M=s[w]<c[w];(a[r]===1&&(!E&&O||E&&M)||a[r]!==1&&(!E&&M||E&&O))&&(h=r==="x"?k:_)}let P={x:s.x+y.x,y:s.y+y.y},I={x:c.x+x.x,y:c.y+x.y};Math.max(Math.abs(P.x-h[0].x),Math.abs(I.x-h[0].x))>=Math.max(Math.abs(P.y-h[0].y),Math.abs(I.y-h[0].y))?(m=(P.x+I.x)/2,f=h[0].y):(m=h[0].x,f=(P.y+I.y)/2)}return[[t,{x:s.x+y.x,y:s.y+y.y},...h,{x:c.x+x.x,y:c.y+x.y},n],m,f,p,S]}function ni(t,e,n,o){let i=Math.min(Ln(t,e)/2,Ln(e,n)/2,o),{x:l,y:a}=e;if(t.x===l&&l===n.x||t.y===a&&a===n.y)return`L${l} ${a}`;if(t.y===a){let s=t.x<n.x?-1:1,c=t.y<n.y?1:-1;return`L ${l+i*s},${a}Q ${l},${a} ${l},${a+i*c}`}let d=t.x<n.x?1:-1;return`L ${l},${a+i*(t.y<n.y?-1:1)}Q ${l},${a} ${l+i*d},${a}`}function Yt({sourceX:t,sourceY:e,sourcePosition:n=W.Bottom,targetX:o,targetY:i,targetPosition:l=W.Top,borderRadius:a=5,centerX:d,centerY:s,offset:c=20}){let[u,r,g,h,m]=ti({source:{x:t,y:e},sourcePosition:n,target:{x:o,y:i},targetPosition:l,center:{x:d,y:s},offset:c});return[u.reduce((f,y,x)=>{let b="";return b=x>0&&x<u.length-1?ni(u[x-1],y,u[x+1],a):`${x===0?"M":"L"}${y.x} ${y.y}`,f+=b,f},""),r,g,h,m]}var bt=(0,v.memo)(({sourceX:t,sourceY:e,targetX:n,targetY:o,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,sourcePosition:r=W.Bottom,targetPosition:g=W.Top,markerEnd:h,markerStart:m,pathOptions:f,interactionWidth:y})=>{let[x,b,N]=Yt({sourceX:t,sourceY:e,sourcePosition:r,targetX:n,targetY:o,targetPosition:g,borderRadius:f==null?void 0:f.borderRadius,offset:f==null?void 0:f.offset});return v.createElement(at,{path:x,labelX:b,labelY:N,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,markerEnd:h,markerStart:m,interactionWidth:y})});bt.displayName="SmoothStepEdge";var Zt=(0,v.memo)(t=>{var e;return v.createElement(bt,{...t,pathOptions:(0,v.useMemo)(()=>{var n;return{borderRadius:0,offset:(n=t.pathOptions)==null?void 0:n.offset}},[(e=t.pathOptions)==null?void 0:e.offset])})});Zt.displayName="StepEdge";function oi({sourceX:t,sourceY:e,targetX:n,targetY:o}){let[i,l,a,d]=Dn({sourceX:t,sourceY:e,targetX:n,targetY:o});return[`M ${t},${e}L ${n},${o}`,i,l,a,d]}var Kt=(0,v.memo)(({sourceX:t,sourceY:e,targetX:n,targetY:o,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,markerEnd:r,markerStart:g,interactionWidth:h})=>{let[m,f,y]=oi({sourceX:t,sourceY:e,targetX:n,targetY:o});return v.createElement(at,{path:m,labelX:f,labelY:y,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,markerEnd:r,markerStart:g,interactionWidth:h})});Kt.displayName="StraightEdge";function xt(t,e){return t>=0?.5*t:e*25*Math.sqrt(-t)}function $n({pos:t,x1:e,y1:n,x2:o,y2:i,c:l}){switch(t){case W.Left:return[e-xt(e-o,l),n];case W.Right:return[e+xt(o-e,l),n];case W.Top:return[e,n-xt(n-i,l)];case W.Bottom:return[e,n+xt(i-n,l)]}}function Tn({sourceX:t,sourceY:e,sourcePosition:n=W.Bottom,targetX:o,targetY:i,targetPosition:l=W.Top,curvature:a=.25}){let[d,s]=$n({pos:n,x1:t,y1:e,x2:o,y2:i,c:a}),[c,u]=$n({pos:l,x1:o,y1:i,x2:t,y2:e,c:a}),[r,g,h,m]=Rn({sourceX:t,sourceY:e,targetX:o,targetY:i,sourceControlX:d,sourceControlY:s,targetControlX:c,targetControlY:u});return[`M${t},${e} C${d},${s} ${c},${u} ${o},${i}`,r,g,h,m]}var wt=(0,v.memo)(({sourceX:t,sourceY:e,targetX:n,targetY:o,sourcePosition:i=W.Bottom,targetPosition:l=W.Top,label:a,labelStyle:d,labelShowBg:s,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:r,style:g,markerEnd:h,markerStart:m,pathOptions:f,interactionWidth:y})=>{let[x,b,N]=Tn({sourceX:t,sourceY:e,sourcePosition:i,targetX:n,targetY:o,targetPosition:l,curvature:f==null?void 0:f.curvature});return v.createElement(at,{path:x,labelX:b,labelY:N,label:a,labelStyle:d,labelShowBg:s,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:r,style:g,markerEnd:h,markerStart:m,interactionWidth:y})});wt.displayName="BezierEdge";var Gt=(0,v.createContext)(null),ri=Gt.Provider;Gt.Consumer;var ai=()=>(0,v.useContext)(Gt),ii=t=>"id"in t&&"source"in t&&"target"in t,si=({source:t,sourceHandle:e,target:n,targetHandle:o})=>`reactflow__edge-${t}${e||""}-${n}${o||""}`,Ut=(t,e)=>t===void 0?"":typeof t=="string"?t:`${e?`${e}__`:""}${Object.keys(t).sort().map(n=>`${n}=${t[n]}`).join("&")}`,li=(t,e)=>e.some(n=>n.source===t.source&&n.target===t.target&&(n.sourceHandle===t.sourceHandle||!n.sourceHandle&&!t.sourceHandle)&&(n.targetHandle===t.targetHandle||!n.targetHandle&&!t.targetHandle)),di=(t,e)=>{if(!t.source||!t.target)return xe.error006(),e;let n;return n=ii(t)?{...t}:{...t,id:si(t)},li(n,e)?e:e.concat(n)},qt=({x:t,y:e},[n,o,i],l,[a,d])=>{let s={x:(t-n)/i,y:(e-o)/i};return l?{x:a*Math.round(s.x/a),y:d*Math.round(s.y/d)}:s},Hn=({x:t,y:e},[n,o,i])=>({x:t*i+n,y:e*i+o}),Ze=(t,e=[0,0])=>{if(!t)return{x:0,y:0,positionAbsolute:{x:0,y:0}};let n=(t.width??0)*e[0],o=(t.height??0)*e[1],i={x:t.position.x-n,y:t.position.y-o};return{...i,positionAbsolute:t.positionAbsolute?{x:t.positionAbsolute.x-n,y:t.positionAbsolute.y-o}:i}},Jt=(t,e=[0,0])=>t.length===0?{x:0,y:0,width:0,height:0}:Ua(t.reduce((n,o)=>{let{x:i,y:l}=Ze(o,e).positionAbsolute;return Ga(n,Vt({x:i,y:l,width:o.width||0,height:o.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),Vn=(t,e,[n,o,i]=[0,0,1],l=!1,a=!1,d=[0,0])=>{let s={x:(e.x-n)/i,y:(e.y-o)/i,width:e.width/i,height:e.height/i},c=[];return t.forEach(u=>{let{width:r,height:g,selectable:h=!0,hidden:m=!1}=u;if(a&&!h||m)return!1;let{positionAbsolute:f}=Ze(u,d),y=Ft(s,{x:f.x,y:f.y,width:r||0,height:g||0}),x=r===void 0||g===void 0||r===null||g===null,b=l&&y>0,N=(r||0)*(g||0);(x||b||y>=N||u.dragging)&&c.push(u)}),c},Fn=(t,e)=>{let n=t.map(o=>o.id);return e.filter(o=>n.includes(o.source)||n.includes(o.target))},Xn=(t,e,n,o,i,l=.1)=>{let a=e/(t.width*(1+l)),d=n/(t.height*(1+l)),s=Xe(Math.min(a,d),o,i),c=t.x+t.width/2,u=t.y+t.height/2;return{x:e/2-c*s,y:n/2-u*s,zoom:s}},Be=(t,e=0)=>t.transition().duration(e);function Wn(t,e,n,o){return(e[n]||[]).reduce((i,l)=>{var a,d;return`${t.id}-${l.id}-${n}`!==o&&i.push({id:l.id||null,type:n,nodeId:t.id,x:(((a=t.positionAbsolute)==null?void 0:a.x)??0)+l.x+l.width/2,y:(((d=t.positionAbsolute)==null?void 0:d.y)??0)+l.y+l.height/2}),i},[])}function ci(t,e,n,o,i,l){let{x:a,y:d}=Se(t),s=e.elementsFromPoint(a,d).find(h=>h.classList.contains("react-flow__handle"));if(s){let h=s.getAttribute("data-nodeid");if(h){let m=Qt(void 0,s),f=s.getAttribute("data-handleid"),y=l({nodeId:h,id:f,type:m});if(y){let x=i.find(b=>b.nodeId===h&&b.type===m&&b.id===f);return{handle:{id:f,type:m,nodeId:h,x:(x==null?void 0:x.x)||n.x,y:(x==null?void 0:x.y)||n.y},validHandleResult:y}}}}let c=[],u=1/0;if(i.forEach(h=>{let m=Math.sqrt((h.x-n.x)**2+(h.y-n.y)**2);if(m<=o){let f=l(h);m<=u&&(m<u?c=[{handle:h,validHandleResult:f}]:m===u&&c.push({handle:h,validHandleResult:f}),u=m)}}),!c.length)return{handle:null,validHandleResult:Yn()};if(c.length===1)return c[0];let r=c.some(({validHandleResult:h})=>h.isValid),g=c.some(({handle:h})=>h.type==="target");return c.find(({handle:h,validHandleResult:m})=>g?h.type==="target":r?m.isValid:!0)||c[0]}var ui={source:null,target:null,sourceHandle:null,targetHandle:null},Yn=()=>({handleDomNode:null,isValid:!1,connection:ui,endHandle:null});function Zn(t,e,n,o,i,l,a){let d=i==="target",s=a.querySelector(`.react-flow__handle[data-id="${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`),c={...Yn(),handleDomNode:s};if(s){let u=Qt(void 0,s),r=s.getAttribute("data-nodeid"),g=s.getAttribute("data-handleid"),h=s.classList.contains("connectable"),m=s.classList.contains("connectableend"),f={source:d?r:n,sourceHandle:d?g:o,target:d?n:r,targetHandle:d?o:g};c.connection=f,h&&m&&(e===We.Strict?d&&u==="source"||!d&&u==="target":r!==n||g!==o)&&(c.endHandle={nodeId:r,handleId:g,type:u},c.isValid=l(f))}return c}function hi({nodes:t,nodeId:e,handleId:n,handleType:o}){return t.reduce((i,l)=>{if(l[re]){let{handleBounds:a}=l[re],d=[],s=[];a&&(d=Wn(l,a,"source",`${e}-${n}-${o}`),s=Wn(l,a,"target",`${e}-${n}-${o}`)),i.push(...d,...s)}return i},[])}function Qt(t,e){return t||(e!=null&&e.classList.contains("target")?"target":e!=null&&e.classList.contains("source")?"source":null)}function en(t){t==null||t.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function gi(t,e){let n=null;return e?n="valid":t&&!e&&(n="invalid"),n}function Kn({event:t,handleId:e,nodeId:n,onConnect:o,isTarget:i,getState:l,setState:a,isValidConnection:d,edgeUpdaterType:s,onReconnectEnd:c}){let u=_n(t.target),{connectionMode:r,domNode:g,autoPanOnConnect:h,connectionRadius:m,onConnectStart:f,panBy:y,getNodes:x,cancelConnection:b}=l(),N=0,p,{x:S,y:k}=Se(t),_=u==null?void 0:u.elementFromPoint(S,k),P=Qt(s,_),I=g==null?void 0:g.getBoundingClientRect();if(!I||!P)return;let w,E=Se(t,I),O=!1,M=null,C=!1,R=null,L=hi({nodes:x(),nodeId:n,handleId:e,handleType:P}),H=()=>{if(!h)return;let[$,V]=On(E,I);y({x:$,y:V}),N=requestAnimationFrame(H)};a({connectionPosition:E,connectionStatus:null,connectionNodeId:n,connectionHandleId:e,connectionHandleType:P,connectionStartHandle:{nodeId:n,handleId:e,type:P},connectionEndHandle:null}),f==null||f(t,{nodeId:n,handleId:e,handleType:P});function X($){let{transform:V}=l();E=Se($,I);let{handle:F,validHandleResult:Z}=ci($,u,qt(E,V,!1,[1,1]),m,L,U=>Zn(U,r,n,e,i?"target":"source",d,u));if(p=F,O||(O=(H(),!0)),R=Z.handleDomNode,M=Z.connection,C=Z.isValid,a({connectionPosition:p&&C?Hn({x:p.x,y:p.y},V):E,connectionStatus:gi(!!p,C),connectionEndHandle:Z.endHandle}),!p&&!C&&!R)return en(w);M.source!==M.target&&R&&(en(w),w=R,R.classList.add("connecting","react-flow__handle-connecting"),R.classList.toggle("valid",C),R.classList.toggle("react-flow__handle-valid",C))}function D($){var V,F;(p||R)&&M&&C&&(o==null||o(M)),(F=(V=l()).onConnectEnd)==null||F.call(V,$),s&&(c==null||c($)),en(w),b(),cancelAnimationFrame(N),O=!1,C=!1,M=null,R=null,u.removeEventListener("mousemove",X),u.removeEventListener("mouseup",D),u.removeEventListener("touchmove",X),u.removeEventListener("touchend",D)}u.addEventListener("mousemove",X),u.addEventListener("mouseup",D),u.addEventListener("touchmove",X),u.addEventListener("touchend",D)}var Gn=()=>!0,fi=t=>({connectionStartHandle:t.connectionStartHandle,connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName}),pi=(t,e,n)=>o=>{let{connectionStartHandle:i,connectionEndHandle:l,connectionClickStartHandle:a}=o;return{connecting:(i==null?void 0:i.nodeId)===t&&(i==null?void 0:i.handleId)===e&&(i==null?void 0:i.type)===n||(l==null?void 0:l.nodeId)===t&&(l==null?void 0:l.handleId)===e&&(l==null?void 0:l.type)===n,clickConnecting:(a==null?void 0:a.nodeId)===t&&(a==null?void 0:a.handleId)===e&&(a==null?void 0:a.type)===n}},Un=(0,v.forwardRef)(({type:t="source",position:e=W.Top,isValidConnection:n,isConnectable:o=!0,isConnectableStart:i=!0,isConnectableEnd:l=!0,id:a,onConnect:d,children:s,className:c,onMouseDown:u,onTouchStart:r,...g},h)=>{var I,w;let m=a||null,f=t==="target",y=le(),x=ai(),{connectOnClick:b,noPanClassName:N}=ne(fi,ue),{connecting:p,clickConnecting:S}=ne(pi(x,m,t),ue);x||((w=(I=y.getState()).onError)==null||w.call(I,"010",xe.error010()));let k=E=>{let{defaultEdgeOptions:O,onConnect:M,hasDefaultEdges:C}=y.getState(),R={...O,...E};if(C){let{edges:L,setEdges:H}=y.getState();H(di(R,L))}M==null||M(R),d==null||d(R)},_=E=>{if(!x)return;let O=jn(E);i&&(O&&E.button===0||!O)&&Kn({event:E,handleId:m,nodeId:x,onConnect:k,isTarget:f,getState:y.getState,setState:y.setState,isValidConnection:n||y.getState().isValidConnection||Gn}),O?u==null||u(E):r==null||r(E)},P=E=>{let{onClickConnectStart:O,onClickConnectEnd:M,connectionClickStartHandle:C,connectionMode:R,isValidConnection:L}=y.getState();if(!x||!C&&!i)return;if(!C){O==null||O(E,{nodeId:x,handleId:m,handleType:t}),y.setState({connectionClickStartHandle:{nodeId:x,type:t,handleId:m}});return}let H=_n(E.target),X=n||L||Gn,{connection:D,isValid:$}=Zn({nodeId:x,id:m,type:t},R,C.nodeId,C.handleId||null,C.type,X,H);$&&k(D),M==null||M(E),y.setState({connectionClickStartHandle:null})};return v.createElement("div",{"data-handleid":m,"data-nodeid":x,"data-handlepos":e,"data-id":`${x}-${m}-${t}`,className:he(["react-flow__handle",`react-flow__handle-${e}`,"nodrag",N,c,{source:!f,target:f,connectable:o,connectablestart:i,connectableend:l,connecting:S,connectionindicator:o&&(i&&!p||l&&p)}]),onMouseDown:_,onTouchStart:_,onClick:b?P:void 0,ref:h,...g},s)});Un.displayName="Handle";var Ce=(0,v.memo)(Un),qn=({data:t,isConnectable:e,targetPosition:n=W.Top,sourcePosition:o=W.Bottom})=>v.createElement(v.Fragment,null,v.createElement(Ce,{type:"target",position:n,isConnectable:e}),t==null?void 0:t.label,v.createElement(Ce,{type:"source",position:o,isConnectable:e}));qn.displayName="DefaultNode";var tn=(0,v.memo)(qn),Jn=({data:t,isConnectable:e,sourcePosition:n=W.Bottom})=>v.createElement(v.Fragment,null,t==null?void 0:t.label,v.createElement(Ce,{type:"source",position:n,isConnectable:e}));Jn.displayName="InputNode";var Qn=(0,v.memo)(Jn),eo=({data:t,isConnectable:e,targetPosition:n=W.Top})=>v.createElement(v.Fragment,null,v.createElement(Ce,{type:"target",position:n,isConnectable:e}),t==null?void 0:t.label);eo.displayName="OutputNode";var to=(0,v.memo)(eo),nn=()=>null;nn.displayName="GroupNode";var mi=t=>({selectedNodes:t.getNodes().filter(e=>e.selected),selectedEdges:t.edges.filter(e=>e.selected).map(e=>({...e}))}),Et=t=>t.id;function yi(t,e){return ue(t.selectedNodes.map(Et),e.selectedNodes.map(Et))&&ue(t.selectedEdges.map(Et),e.selectedEdges.map(Et))}var no=(0,v.memo)(({onSelectionChange:t})=>{let e=le(),{selectedNodes:n,selectedEdges:o}=ne(mi,yi);return(0,v.useEffect)(()=>{let i={nodes:n,edges:o};t==null||t(i),e.getState().onSelectionChange.forEach(l=>l(i))},[n,o,t]),null});no.displayName="SelectionListener";var vi=t=>!!t.onSelectionChange;function bi({onSelectionChange:t}){let e=ne(vi);return t||e?v.createElement(no,{onSelectionChange:t}):null}var xi=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset});function Ke(t,e){(0,v.useEffect)(()=>{t!==void 0&&e(t)},[t])}function J(t,e,n){(0,v.useEffect)(()=>{e!==void 0&&n({[t]:e})},[e])}var wi=({nodes:t,edges:e,defaultNodes:n,defaultEdges:o,onConnect:i,onConnectStart:l,onConnectEnd:a,onClickConnectStart:d,onClickConnectEnd:s,nodesDraggable:c,nodesConnectable:u,nodesFocusable:r,edgesFocusable:g,edgesUpdatable:h,elevateNodesOnSelect:m,minZoom:f,maxZoom:y,nodeExtent:x,onNodesChange:b,onEdgesChange:N,elementsSelectable:p,connectionMode:S,snapGrid:k,snapToGrid:_,translateExtent:P,connectOnClick:I,defaultEdgeOptions:w,fitView:E,fitViewOptions:O,onNodesDelete:M,onEdgesDelete:C,onNodeDrag:R,onNodeDragStart:L,onNodeDragStop:H,onSelectionDrag:X,onSelectionDragStart:D,onSelectionDragStop:$,noPanClassName:V,nodeOrigin:F,rfId:Z,autoPanOnConnect:U,autoPanOnNodeDrag:j,onError:A,connectionRadius:B,isValidConnection:T,nodeDragThreshold:Y})=>{let{setNodes:G,setEdges:ee,setDefaultNodesAndEdges:ae,setMinZoom:ge,setMaxZoom:oe,setTranslateExtent:Q,setNodeExtent:de,reset:te}=ne(xi,ue),K=le();return(0,v.useEffect)(()=>{let fe=o==null?void 0:o.map(Me=>({...Me,...w}));return ae(n,fe),()=>{te()}},[]),J("defaultEdgeOptions",w,K.setState),J("connectionMode",S,K.setState),J("onConnect",i,K.setState),J("onConnectStart",l,K.setState),J("onConnectEnd",a,K.setState),J("onClickConnectStart",d,K.setState),J("onClickConnectEnd",s,K.setState),J("nodesDraggable",c,K.setState),J("nodesConnectable",u,K.setState),J("nodesFocusable",r,K.setState),J("edgesFocusable",g,K.setState),J("edgesUpdatable",h,K.setState),J("elementsSelectable",p,K.setState),J("elevateNodesOnSelect",m,K.setState),J("snapToGrid",_,K.setState),J("snapGrid",k,K.setState),J("onNodesChange",b,K.setState),J("onEdgesChange",N,K.setState),J("connectOnClick",I,K.setState),J("fitViewOnInit",E,K.setState),J("fitViewOnInitOptions",O,K.setState),J("onNodesDelete",M,K.setState),J("onEdgesDelete",C,K.setState),J("onNodeDrag",R,K.setState),J("onNodeDragStart",L,K.setState),J("onNodeDragStop",H,K.setState),J("onSelectionDrag",X,K.setState),J("onSelectionDragStart",D,K.setState),J("onSelectionDragStop",$,K.setState),J("noPanClassName",V,K.setState),J("nodeOrigin",F,K.setState),J("rfId",Z,K.setState),J("autoPanOnConnect",U,K.setState),J("autoPanOnNodeDrag",j,K.setState),J("onError",A,K.setState),J("connectionRadius",B,K.setState),J("isValidConnection",T,K.setState),J("nodeDragThreshold",Y,K.setState),Ke(t,G),Ke(e,ee),Ke(f,ge),Ke(y,oe),Ke(P,Q),Ke(x,de),null},oo={display:"none"},Ei={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ro="react-flow__node-desc",ao="react-flow__edge-desc",Si="react-flow__aria-live",Ci=t=>t.ariaLiveMessage;function Ni({rfId:t}){let e=ne(Ci);return v.createElement("div",{id:`${Si}-${t}`,"aria-live":"assertive","aria-atomic":"true",style:Ei},e)}function ki({rfId:t,disableKeyboardA11y:e}){return v.createElement(v.Fragment,null,v.createElement("div",{id:`${ro}-${t}`,style:oo},"Press enter or space to select a node.",!e&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),v.createElement("div",{id:`${ao}-${t}`,style:oo},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!e&&v.createElement(Ni,{rfId:t}))}var st=(t=null,e={actInsideInputWithModifier:!0})=>{let[n,o]=(0,v.useState)(!1),i=(0,v.useRef)(!1),l=(0,v.useRef)(new Set([])),[a,d]=(0,v.useMemo)(()=>{if(t!==null){let s=(Array.isArray(t)?t:[t]).filter(c=>typeof c=="string").map(c=>c.split("+"));return[s,s.reduce((c,u)=>c.concat(...u),[])]}return[[],[]]},[t]);return(0,v.useEffect)(()=>{let s=typeof document<"u"?document:null,c=(e==null?void 0:e.target)||s;if(t!==null){let u=h=>{if(i.current=h.ctrlKey||h.metaKey||h.shiftKey,(!i.current||i.current&&!e.actInsideInputWithModifier)&&Xt(h))return!1;let m=so(h.code,d);l.current.add(h[m]),io(a,l.current,!1)&&(h.preventDefault(),o(!0))},r=h=>{if((!i.current||i.current&&!e.actInsideInputWithModifier)&&Xt(h))return!1;let m=so(h.code,d);io(a,l.current,!0)?(o(!1),l.current.clear()):l.current.delete(h[m]),h.key==="Meta"&&l.current.clear(),i.current=!1},g=()=>{l.current.clear(),o(!1)};return c==null||c.addEventListener("keydown",u),c==null||c.addEventListener("keyup",r),window.addEventListener("blur",g),()=>{c==null||c.removeEventListener("keydown",u),c==null||c.removeEventListener("keyup",r),window.removeEventListener("blur",g)}}},[t,o]),n};function io(t,e,n){return t.filter(o=>n||o.length===e.size).some(o=>o.every(i=>e.has(i)))}function so(t,e){return e.includes(t)?"code":"key"}function lo(t,e,n,o){var d,s;let i=t.parentNode||t.parentId;if(!i)return n;let l=e.get(i),a=Ze(l,o);return lo(l,e,{x:(n.x??0)+a.x,y:(n.y??0)+a.y,z:(((d=l[re])==null?void 0:d.z)??0)>(n.z??0)?((s=l[re])==null?void 0:s.z)??0:n.z??0},o)}function co(t,e,n){t.forEach(o=>{var l;let i=o.parentNode||o.parentId;if(i&&!t.has(i))throw Error(`Parent node ${i} not found`);if(i||n!=null&&n[o.id]){let{x:a,y:d,z:s}=lo(o,t,{...o.position,z:((l=o[re])==null?void 0:l.z)??0},e);o.positionAbsolute={x:a,y:d},o[re].z=s,n!=null&&n[o.id]&&(o[re].isParent=!0)}})}function on(t,e,n,o){let i=new Map,l={},a=o?1e3:0;return t.forEach(d=>{var h;let s=(me(d.zIndex)?d.zIndex:0)+(d.selected?a:0),c=e.get(d.id),u={...d,positionAbsolute:{x:d.position.x,y:d.position.y}},r=d.parentNode||d.parentId;r&&(l[r]=!0);let g=(c==null?void 0:c.type)&&(c==null?void 0:c.type)!==d.type;Object.defineProperty(u,re,{enumerable:!1,value:{handleBounds:g||(h=c==null?void 0:c[re])==null?void 0:h.handleBounds,z:s}}),i.set(d.id,u)}),co(i,n,l),i}function uo(t,e={}){let{getNodes:n,width:o,height:i,minZoom:l,maxZoom:a,d3Zoom:d,d3Selection:s,fitViewOnInitDone:c,fitViewOnInit:u,nodeOrigin:r}=t(),g=e.initial&&!c&&u;if(d&&s&&(g||!e.initial)){let h=n().filter(f=>{var x;let y=e.includeHiddenNodes?f.width&&f.height:!f.hidden;return(x=e.nodes)!=null&&x.length?y&&e.nodes.some(b=>b.id===f.id):y}),m=h.every(f=>f.width&&f.height);if(h.length>0&&m){let{x:f,y,zoom:x}=Xn(Jt(h,r),o,i,e.minZoom??l,e.maxZoom??a,e.padding??.1),b=Fe.translate(f,y).scale(x);return typeof e.duration=="number"&&e.duration>0?d.transform(Be(s,e.duration),b):d.transform(s,b),!0}}return!1}function Mi(t,e){return t.forEach(n=>{let o=e.get(n.id);o&&e.set(o.id,{...o,[re]:o[re],selected:n.selected})}),new Map(e)}function Oi(t,e){return e.map(n=>{let o=t.find(i=>i.id===n.id);return o&&(n.selected=o.selected),n})}function St({changedNodes:t,changedEdges:e,get:n,set:o}){let{nodeInternals:i,edges:l,onNodesChange:a,onEdgesChange:d,hasDefaultNodes:s,hasDefaultEdges:c}=n();t!=null&&t.length&&(s&&o({nodeInternals:Mi(t,i)}),a==null||a(t)),e!=null&&e.length&&(c&&o({edges:Oi(e,l)}),d==null||d(e))}var Ge=()=>{},_i={zoomIn:Ge,zoomOut:Ge,zoomTo:Ge,getZoom:()=>1,setViewport:Ge,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:Ge,fitBounds:Ge,project:t=>t,screenToFlowPosition:t=>t,flowToScreenPosition:t=>t,viewportInitialized:!1},Pi=t=>({d3Zoom:t.d3Zoom,d3Selection:t.d3Selection}),Ii=()=>{let t=le(),{d3Zoom:e,d3Selection:n}=ne(Pi,ue);return(0,v.useMemo)(()=>n&&e?{zoomIn:o=>e.scaleBy(Be(n,o==null?void 0:o.duration),1.2),zoomOut:o=>e.scaleBy(Be(n,o==null?void 0:o.duration),1/1.2),zoomTo:(o,i)=>e.scaleTo(Be(n,i==null?void 0:i.duration),o),getZoom:()=>t.getState().transform[2],setViewport:(o,i)=>{let[l,a,d]=t.getState().transform,s=Fe.translate(o.x??l,o.y??a).scale(o.zoom??d);e.transform(Be(n,i==null?void 0:i.duration),s)},getViewport:()=>{let[o,i,l]=t.getState().transform;return{x:o,y:i,zoom:l}},fitView:o=>uo(t.getState,o),setCenter:(o,i,l)=>{let{width:a,height:d,maxZoom:s}=t.getState(),c=(l==null?void 0:l.zoom)===void 0?s:l.zoom,u=a/2-o*c,r=d/2-i*c,g=Fe.translate(u,r).scale(c);e.transform(Be(n,l==null?void 0:l.duration),g)},fitBounds:(o,i)=>{let{width:l,height:a,minZoom:d,maxZoom:s}=t.getState(),{x:c,y:u,zoom:r}=Xn(o,l,a,d,s,(i==null?void 0:i.padding)??.1),g=Fe.translate(c,u).scale(r);e.transform(Be(n,i==null?void 0:i.duration),g)},project:o=>{let{transform:i,snapToGrid:l,snapGrid:a}=t.getState();return console.warn("[DEPRECATED] `project` is deprecated. Instead use `screenToFlowPosition`. There is no need to subtract the react flow bounds anymore! https://reactflow.dev/api-reference/types/react-flow-instance#screen-to-flow-position"),qt(o,i,l,a)},screenToFlowPosition:o=>{let{transform:i,snapToGrid:l,snapGrid:a,domNode:d}=t.getState();if(!d)return o;let{x:s,y:c}=d.getBoundingClientRect();return qt({x:o.x-s,y:o.y-c},i,l,a)},flowToScreenPosition:o=>{let{transform:i,domNode:l}=t.getState();if(!l)return o;let{x:a,y:d}=l.getBoundingClientRect(),s=Hn(o,i);return{x:s.x+a,y:s.y+d}},viewportInitialized:!0}:_i,[e,n])};function lt(){let t=Ii(),e=le(),n=(0,v.useCallback)(()=>e.getState().getNodes().map(f=>({...f})),[]),o=(0,v.useCallback)(f=>e.getState().nodeInternals.get(f),[]),i=(0,v.useCallback)(()=>{let{edges:f=[]}=e.getState();return f.map(y=>({...y}))},[]),l=(0,v.useCallback)(f=>{let{edges:y=[]}=e.getState();return y.find(x=>x.id===f)},[]),a=(0,v.useCallback)(f=>{let{getNodes:y,setNodes:x,hasDefaultNodes:b,onNodesChange:N}=e.getState(),p=y(),S=typeof f=="function"?f(p):f;b?x(S):N&&N(S.length===0?p.map(k=>({type:"remove",id:k.id})):S.map(k=>({item:k,type:"reset"})))},[]),d=(0,v.useCallback)(f=>{let{edges:y=[],setEdges:x,hasDefaultEdges:b,onEdgesChange:N}=e.getState(),p=typeof f=="function"?f(y):f;b?x(p):N&&N(p.length===0?y.map(S=>({type:"remove",id:S.id})):p.map(S=>({item:S,type:"reset"})))},[]),s=(0,v.useCallback)(f=>{let y=Array.isArray(f)?f:[f],{getNodes:x,setNodes:b,hasDefaultNodes:N,onNodesChange:p}=e.getState();N?b([...x(),...y]):p&&p(y.map(S=>({item:S,type:"add"})))},[]),c=(0,v.useCallback)(f=>{let y=Array.isArray(f)?f:[f],{edges:x=[],setEdges:b,hasDefaultEdges:N,onEdgesChange:p}=e.getState();N?b([...x,...y]):p&&p(y.map(S=>({item:S,type:"add"})))},[]),u=(0,v.useCallback)(()=>{let{getNodes:f,edges:y=[],transform:x}=e.getState(),[b,N,p]=x;return{nodes:f().map(S=>({...S})),edges:y.map(S=>({...S})),viewport:{x:b,y:N,zoom:p}}},[]),r=(0,v.useCallback)(({nodes:f,edges:y})=>{let{nodeInternals:x,getNodes:b,edges:N,hasDefaultNodes:p,hasDefaultEdges:S,onNodesDelete:k,onEdgesDelete:_,onNodesChange:P,onEdgesChange:I}=e.getState(),w=(f||[]).map(R=>R.id),E=(y||[]).map(R=>R.id),O=b().reduce((R,L)=>{let H=L.parentNode||L.parentId,X=!w.includes(L.id)&&H&&R.find(D=>D.id===H);return(typeof L.deletable!="boolean"||L.deletable)&&(w.includes(L.id)||X)&&R.push(L),R},[]),M=N.filter(R=>typeof R.deletable=="boolean"?R.deletable:!0),C=M.filter(R=>E.includes(R.id));if(O||C){let R=Fn(O,M),L=[...C,...R],H=L.reduce((X,D)=>(X.includes(D.id)||X.push(D.id),X),[]);(S||p)&&(S&&e.setState({edges:N.filter(X=>!H.includes(X.id))}),p&&(O.forEach(X=>{x.delete(X.id)}),e.setState({nodeInternals:new Map(x)}))),H.length>0&&(_==null||_(L),I&&I(H.map(X=>({id:X,type:"remove"})))),O.length>0&&(k==null||k(O),P&&P(O.map(X=>({id:X.id,type:"remove"}))))}},[]),g=(0,v.useCallback)(f=>{let y=qa(f),x=y?null:e.getState().nodeInternals.get(f.id);return!y&&!x?[null,null,y]:[y?f:Pn(x),x,y]},[]),h=(0,v.useCallback)((f,y=!0,x)=>{let[b,N,p]=g(f);return b?(x||e.getState().getNodes()).filter(S=>{if(!p&&(S.id===N.id||!S.positionAbsolute))return!1;let k=Ft(Pn(S),b);return y&&k>0||k>=b.width*b.height}):[]},[]),m=(0,v.useCallback)((f,y,x=!0)=>{let[b]=g(f);if(!b)return!1;let N=Ft(b,y);return x&&N>0||N>=b.width*b.height},[]);return(0,v.useMemo)(()=>({...t,getNodes:n,getNode:o,getEdges:i,getEdge:l,setNodes:a,setEdges:d,addNodes:s,addEdges:c,toObject:u,deleteElements:r,getIntersectingNodes:h,isNodeIntersecting:m}),[t,n,o,i,l,a,d,s,c,u,r,h,m])}var ji={actInsideInputWithModifier:!1},Di=({deleteKeyCode:t,multiSelectionKeyCode:e})=>{let n=le(),{deleteElements:o}=lt(),i=st(t,ji),l=st(e);(0,v.useEffect)(()=>{if(i){let{edges:a,getNodes:d}=n.getState();o({nodes:d().filter(s=>s.selected),edges:a.filter(s=>s.selected)}),n.setState({nodesSelectionActive:!1})}},[i]),(0,v.useEffect)(()=>{n.setState({multiSelectionActive:l})},[l])};function Ri(t){let e=le();(0,v.useEffect)(()=>{let n,o=()=>{var l,a;if(!t.current)return;let i=Tt(t.current);(i.height===0||i.width===0)&&((a=(l=e.getState()).onError)==null||a.call(l,"004",xe.error004())),e.setState({width:i.width||500,height:i.height||500})};return o(),window.addEventListener("resize",o),t.current&&(n=new ResizeObserver(()=>o()),n.observe(t.current)),()=>{window.removeEventListener("resize",o),n&&t.current&&n.unobserve(t.current)}},[])}var rn={position:"absolute",width:"100%",height:"100%",top:0,left:0},Ai=(t,e)=>t.x!==e.x||t.y!==e.y||t.zoom!==e.k,Ct=t=>({x:t.x,y:t.y,zoom:t.k}),Ue=(t,e)=>t.target.closest(`.${e}`),ho=(t,e)=>e===2&&Array.isArray(t)&&t.includes(2),go=t=>{let e=t.ctrlKey&&mt()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*e},Bi=t=>({d3Zoom:t.d3Zoom,d3Selection:t.d3Selection,d3ZoomHandler:t.d3ZoomHandler,userSelectionActive:t.userSelectionActive}),zi=({onMove:t,onMoveStart:e,onMoveEnd:n,onPaneContextMenu:o,zoomOnScroll:i=!0,zoomOnPinch:l=!0,panOnScroll:a=!1,panOnScrollSpeed:d=.5,panOnScrollMode:s=Ye.Free,zoomOnDoubleClick:c=!0,elementsSelectable:u,panOnDrag:r=!0,defaultViewport:g,translateExtent:h,minZoom:m,maxZoom:f,zoomActivationKeyCode:y,preventScrolling:x=!0,children:b,noWheelClassName:N,noPanClassName:p})=>{let S=(0,v.useRef)(),k=le(),_=(0,v.useRef)(!1),P=(0,v.useRef)(!1),I=(0,v.useRef)(null),w=(0,v.useRef)({x:0,y:0,zoom:0}),{d3Zoom:E,d3Selection:O,d3ZoomHandler:M,userSelectionActive:C}=ne(Bi,ue),R=st(y),L=(0,v.useRef)(0),H=(0,v.useRef)(!1),X=(0,v.useRef)();return Ri(I),(0,v.useEffect)(()=>{if(I.current){let D=I.current.getBoundingClientRect(),$=_a().scaleExtent([m,f]).translateExtent(h),V=ht(I.current).call($),F=Fe.translate(g.x,g.y).scale(Xe(g.zoom,m,f)),Z=[[0,0],[D.width,D.height]],U=$.constrain()(F,Z,h);$.transform(V,U),$.wheelDelta(go),k.setState({d3Zoom:$,d3Selection:V,d3ZoomHandler:V.on("wheel.zoom"),transform:[U.x,U.y,U.k],domNode:I.current.closest(".react-flow")})}},[]),(0,v.useEffect)(()=>{O&&E&&(a&&!R&&!C?O.on("wheel.zoom",D=>{if(Ue(D,N))return!1;D.preventDefault(),D.stopImmediatePropagation();let $=O.property("__zoom").k||1;if(D.ctrlKey&&l){let T=Lt(D),Y=$*2**go(D);E.scaleTo(O,Y,T,D);return}let V=D.deltaMode===1?20:1,F=s===Ye.Vertical?0:D.deltaX*V,Z=s===Ye.Horizontal?0:D.deltaY*V;!mt()&&D.shiftKey&&s!==Ye.Vertical&&(F=D.deltaY*V,Z=0),E.translateBy(O,-(F/$)*d,-(Z/$)*d,{internal:!0});let U=Ct(O.property("__zoom")),{onViewportChangeStart:j,onViewportChange:A,onViewportChangeEnd:B}=k.getState();clearTimeout(X.current),H.current||(H.current=!0,e==null||e(D,U),j==null||j(U)),H.current&&(t==null||t(D,U),A==null||A(U),X.current=setTimeout(()=>{n==null||n(D,U),B==null||B(U),H.current=!1},150))},{passive:!1}):M!==void 0&&O.on("wheel.zoom",function(D,$){if(!x&&D.type==="wheel"&&!D.ctrlKey||Ue(D,N))return null;D.preventDefault(),M.call(this,D,$)},{passive:!1}))},[C,a,s,O,E,M,R,l,x,N,e,t,n]),(0,v.useEffect)(()=>{E&&E.on("start",D=>{var F,Z;if(!D.sourceEvent||D.sourceEvent.internal)return null;L.current=(F=D.sourceEvent)==null?void 0:F.button;let{onViewportChangeStart:$}=k.getState(),V=Ct(D.transform);_.current=!0,w.current=V,((Z=D.sourceEvent)==null?void 0:Z.type)==="mousedown"&&k.setState({paneDragging:!0}),$==null||$(V),e==null||e(D.sourceEvent,V)})},[E,e]),(0,v.useEffect)(()=>{E&&(C&&!_.current?E.on("zoom",null):C||E.on("zoom",D=>{var V;let{onViewportChange:$}=k.getState();if(k.setState({transform:[D.transform.x,D.transform.y,D.transform.k]}),P.current=!!(o&&ho(r,L.current??0)),(t||$)&&!((V=D.sourceEvent)!=null&&V.internal)){let F=Ct(D.transform);$==null||$(F),t==null||t(D.sourceEvent,F)}}))},[C,E,t,r,o]),(0,v.useEffect)(()=>{E&&E.on("end",D=>{if(!D.sourceEvent||D.sourceEvent.internal)return null;let{onViewportChangeEnd:$}=k.getState();if(_.current=!1,k.setState({paneDragging:!1}),o&&ho(r,L.current??0)&&!P.current&&o(D.sourceEvent),P.current=!1,(n||$)&&Ai(w.current,D.transform)){let V=Ct(D.transform);w.current=V,clearTimeout(S.current),S.current=setTimeout(()=>{$==null||$(V),n==null||n(D.sourceEvent,V)},a?150:0)}})},[E,a,r,n,o]),(0,v.useEffect)(()=>{E&&E.filter(D=>{let $=R||i,V=l&&D.ctrlKey;if((r===!0||Array.isArray(r)&&r.includes(1))&&D.button===1&&D.type==="mousedown"&&(Ue(D,"react-flow__node")||Ue(D,"react-flow__edge")))return!0;if(!r&&!$&&!a&&!c&&!l||C||!c&&D.type==="dblclick"||Ue(D,N)&&D.type==="wheel"||Ue(D,p)&&(D.type!=="wheel"||a&&D.type==="wheel"&&!R)||!l&&D.ctrlKey&&D.type==="wheel"||!$&&!a&&!V&&D.type==="wheel"||!r&&(D.type==="mousedown"||D.type==="touchstart")||Array.isArray(r)&&!r.includes(D.button)&&D.type==="mousedown")return!1;let F=Array.isArray(r)&&r.includes(D.button)||!D.button||D.button<=1;return(!D.ctrlKey||D.type==="wheel")&&F})},[C,E,i,l,a,c,r,u,R]),v.createElement("div",{className:"react-flow__renderer",ref:I,style:rn},b)},Li=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function $i(){let{userSelectionActive:t,userSelectionRect:e}=ne(Li,ue);return t&&e?v.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:e.width,height:e.height,transform:`translate(${e.x}px, ${e.y}px)`}}):null}function fo(t,e){let n=e.parentNode||e.parentId,o=t.find(i=>i.id===n);if(o){let i=e.position.x+e.width-o.width,l=e.position.y+e.height-o.height;if(i>0||l>0||e.position.x<0||e.position.y<0){if(o.style={...o.style},o.style.width=o.style.width??o.width,o.style.height=o.style.height??o.height,i>0&&(o.style.width+=i),l>0&&(o.style.height+=l),e.position.x<0){let a=Math.abs(e.position.x);o.position.x=o.position.x-a,o.style.width+=a,e.position.x=0}if(e.position.y<0){let a=Math.abs(e.position.y);o.position.y=o.position.y-a,o.style.height+=a,e.position.y=0}o.width=o.style.width,o.height=o.style.height}}}function po(t,e){if(t.some(o=>o.type==="reset"))return t.filter(o=>o.type==="reset").map(o=>o.item);let n=t.filter(o=>o.type==="add").map(o=>o.item);return e.reduce((o,i)=>{let l=t.filter(d=>d.id===i.id);if(l.length===0)return o.push(i),o;let a={...i};for(let d of l)if(d)switch(d.type){case"select":a.selected=d.selected;break;case"position":d.position!==void 0&&(a.position=d.position),d.positionAbsolute!==void 0&&(a.positionAbsolute=d.positionAbsolute),d.dragging!==void 0&&(a.dragging=d.dragging),a.expandParent&&fo(o,a);break;case"dimensions":d.dimensions!==void 0&&(a.width=d.dimensions.width,a.height=d.dimensions.height),d.updateStyle!==void 0&&(a.style={...a.style||{},...d.dimensions}),typeof d.resizing=="boolean"&&(a.resizing=d.resizing),a.expandParent&&fo(o,a);break;case"remove":return o}return o.push(a),o},n)}function mo(t,e){return po(t,e)}function Ti(t,e){return po(t,e)}var Ne=(t,e)=>({id:t,type:"select",selected:e});function qe(t,e){return t.reduce((n,o)=>{let i=e.includes(o.id);return!o.selected&&i?(o.selected=!0,n.push(Ne(o.id,!0))):o.selected&&!i&&(o.selected=!1,n.push(Ne(o.id,!1))),n},[])}var an=(t,e)=>n=>{n.target===e.current&&(t==null||t(n))},Hi=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,dragging:t.paneDragging}),yo=(0,v.memo)(({isSelecting:t,selectionMode:e=yt.Full,panOnDrag:n,onSelectionStart:o,onSelectionEnd:i,onPaneClick:l,onPaneContextMenu:a,onPaneScroll:d,onPaneMouseEnter:s,onPaneMouseMove:c,onPaneMouseLeave:u,children:r})=>{let g=(0,v.useRef)(null),h=le(),m=(0,v.useRef)(0),f=(0,v.useRef)(0),y=(0,v.useRef)(),{userSelectionActive:x,elementsSelectable:b,dragging:N}=ne(Hi,ue),p=()=>{h.setState({userSelectionActive:!1,userSelectionRect:null}),m.current=0,f.current=0},S=M=>{l==null||l(M),h.getState().resetSelectedElements(),h.setState({nodesSelectionActive:!1})},k=M=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){M.preventDefault();return}a==null||a(M)},_=d?M=>d(M):void 0,P=M=>{let{resetSelectedElements:C,domNode:R}=h.getState();if(y.current=R==null?void 0:R.getBoundingClientRect(),!b||!t||M.button!==0||M.target!==g.current||!y.current)return;let{x:L,y:H}=Se(M,y.current);C(),h.setState({userSelectionRect:{width:0,height:0,startX:L,startY:H,x:L,y:H}}),o==null||o(M)},I=M=>{let{userSelectionRect:C,nodeInternals:R,edges:L,transform:H,onNodesChange:X,onEdgesChange:D,nodeOrigin:$,getNodes:V}=h.getState();if(!t||!y.current||!C)return;h.setState({userSelectionActive:!0,nodesSelectionActive:!1});let F=Se(M,y.current),Z=C.startX??0,U=C.startY??0,j={...C,x:F.x<Z?F.x:Z,y:F.y<U?F.y:U,width:Math.abs(F.x-Z),height:Math.abs(F.y-U)},A=V(),B=Vn(R,j,H,e===yt.Partial,!0,$),T=Fn(B,L).map(G=>G.id),Y=B.map(G=>G.id);if(m.current!==Y.length){m.current=Y.length;let G=qe(A,Y);G.length&&(X==null||X(G))}if(f.current!==T.length){f.current=T.length;let G=qe(L,T);G.length&&(D==null||D(G))}h.setState({userSelectionRect:j})},w=M=>{if(M.button!==0)return;let{userSelectionRect:C}=h.getState();!x&&C&&M.target===g.current&&(S==null||S(M)),h.setState({nodesSelectionActive:m.current>0}),p(),i==null||i(M)},E=M=>{x&&(h.setState({nodesSelectionActive:m.current>0}),i==null||i(M)),p()},O=b&&(t||x);return v.createElement("div",{className:he(["react-flow__pane",{dragging:N,selection:t}]),onClick:O?void 0:an(S,g),onContextMenu:an(k,g),onWheel:an(_,g),onMouseEnter:O?void 0:s,onMouseDown:O?P:void 0,onMouseMove:O?I:c,onMouseUp:O?w:void 0,onMouseLeave:O?E:u,ref:g,style:rn},r,v.createElement($i,null))});yo.displayName="Pane";function vo(t,e){let n=t.parentNode||t.parentId;if(!n)return!1;let o=e.get(n);return o?o.selected?!0:vo(o,e):!1}function bo(t,e,n){let o=t;do{if(o!=null&&o.matches(e))return!0;if(o===n.current)return!1;o=o.parentElement}while(o);return!1}function Vi(t,e,n,o){return Array.from(t.values()).filter(i=>(i.selected||i.id===o)&&(!i.parentNode||i.parentId||!vo(i,t))&&(i.draggable||e&&i.draggable===void 0)).map(i=>{var l,a;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((l=i.positionAbsolute)==null?void 0:l.x)??0),y:n.y-(((a=i.positionAbsolute)==null?void 0:a.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode||i.parentId,parentId:i.parentNode||i.parentId,width:i.width,height:i.height,expandParent:i.expandParent}})}function Fi(t,e){return!e||e==="parent"?e:[e[0],[e[1][0]-(t.width||0),e[1][1]-(t.height||0)]]}function xo(t,e,n,o,i=[0,0],l){let a=Fi(t,t.extent||o),d=a,s=t.parentNode||t.parentId;if(t.extent==="parent"&&!t.expandParent)if(s&&t.width&&t.height){let r=n.get(s),{x:g,y:h}=Ze(r,i).positionAbsolute;d=r&&me(g)&&me(h)&&me(r.width)&&me(r.height)?[[g+t.width*i[0],h+t.height*i[1]],[g+r.width-t.width+t.width*i[0],h+r.height-t.height+t.height*i[1]]]:d}else l==null||l("005",xe.error005()),d=a;else if(t.extent&&s&&t.extent!=="parent"){let{x:r,y:g}=Ze(n.get(s),i).positionAbsolute;d=[[t.extent[0][0]+r,t.extent[0][1]+g],[t.extent[1][0]+r,t.extent[1][1]+g]]}let c={x:0,y:0};s&&(c=Ze(n.get(s),i).positionAbsolute);let u=d&&d!=="parent"?Ht(e,d):e;return{position:{x:u.x-c.x,y:u.y-c.y},positionAbsolute:u}}function sn({nodeId:t,dragItems:e,nodeInternals:n}){let o=e.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[t?o.find(i=>i.id===t):o[0],o]}var wo=(t,e,n,o)=>{let i=e.querySelectorAll(t);if(!i||!i.length)return null;let l=Array.from(i),a=e.getBoundingClientRect(),d={x:a.width*o[0],y:a.height*o[1]};return l.map(s=>{let c=s.getBoundingClientRect();return{id:s.getAttribute("data-handleid"),position:s.getAttribute("data-handlepos"),x:(c.left-a.left-d.x)/n,y:(c.top-a.top-d.y)/n,...Tt(s)}})};function dt(t,e,n){return n===void 0?n:o=>{let i=e().nodeInternals.get(t);i&&n(o,{...i})}}function ln({id:t,store:e,unselect:n=!1,nodeRef:o}){let{addSelectedNodes:i,unselectNodesAndEdges:l,multiSelectionActive:a,nodeInternals:d,onError:s}=e.getState(),c=d.get(t);if(!c){s==null||s("012",xe.error012(t));return}e.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&a)&&(l({nodes:[c],edges:[]}),requestAnimationFrame(()=>{var u;return(u=o==null?void 0:o.current)==null?void 0:u.blur()})):i([t])}function Xi(){let t=le();return(0,v.useCallback)(({sourceEvent:e})=>{let{transform:n,snapGrid:o,snapToGrid:i}=t.getState(),l=e.touches?e.touches[0].clientX:e.clientX,a=e.touches?e.touches[0].clientY:e.clientY,d={x:(l-n[0])/n[2],y:(a-n[1])/n[2]};return{xSnapped:i?o[0]*Math.round(d.x/o[0]):d.x,ySnapped:i?o[1]*Math.round(d.y/o[1]):d.y,...d}},[])}function dn(t){return(e,n,o)=>t==null?void 0:t(e,o)}function Eo({nodeRef:t,disabled:e=!1,noDragClassName:n,handleSelector:o,nodeId:i,isSelectable:l,selectNodesOnDrag:a}){let d=le(),[s,c]=(0,v.useState)(!1),u=(0,v.useRef)([]),r=(0,v.useRef)({x:null,y:null}),g=(0,v.useRef)(0),h=(0,v.useRef)(null),m=(0,v.useRef)({x:0,y:0}),f=(0,v.useRef)(null),y=(0,v.useRef)(!1),x=(0,v.useRef)(!1),b=(0,v.useRef)(!1),N=Xi();return(0,v.useEffect)(()=>{if(t!=null&&t.current){let p=ht(t.current),S=({x:P,y:I})=>{let{nodeInternals:w,onNodeDrag:E,onSelectionDrag:O,updateNodePositions:M,nodeExtent:C,snapGrid:R,snapToGrid:L,nodeOrigin:H,onError:X}=d.getState();r.current={x:P,y:I};let D=!1,$={x:0,y:0,x2:0,y2:0};if(u.current.length>1&&C&&($=Vt(Jt(u.current,H))),u.current=u.current.map(F=>{let Z={x:P-F.distance.x,y:I-F.distance.y};L&&(Z.x=R[0]*Math.round(Z.x/R[0]),Z.y=R[1]*Math.round(Z.y/R[1]));let U=[[C[0][0],C[0][1]],[C[1][0],C[1][1]]];u.current.length>1&&C&&!F.extent&&(U[0][0]=F.positionAbsolute.x-$.x+C[0][0],U[1][0]=F.positionAbsolute.x+(F.width??0)-$.x2+C[1][0],U[0][1]=F.positionAbsolute.y-$.y+C[0][1],U[1][1]=F.positionAbsolute.y+(F.height??0)-$.y2+C[1][1]);let j=xo(F,Z,w,U,H,X);return D=D||F.position.x!==j.position.x||F.position.y!==j.position.y,F.position=j.position,F.positionAbsolute=j.positionAbsolute,F}),!D)return;M(u.current,!0,!0),c(!0);let V=i?E:dn(O);if(V&&f.current){let[F,Z]=sn({nodeId:i,dragItems:u.current,nodeInternals:w});V(f.current,F,Z)}},k=()=>{if(!h.current)return;let[P,I]=On(m.current,h.current);if(P!==0||I!==0){let{transform:w,panBy:E}=d.getState();r.current.x=(r.current.x??0)-P/w[2],r.current.y=(r.current.y??0)-I/w[2],E({x:P,y:I})&&S(r.current)}g.current=requestAnimationFrame(k)},_=P=>{var H;let{nodeInternals:I,multiSelectionActive:w,nodesDraggable:E,unselectNodesAndEdges:O,onNodeDragStart:M,onSelectionDragStart:C}=d.getState();x.current=!0;let R=i?M:dn(C);(!a||!l)&&!w&&i&&((H=I.get(i))!=null&&H.selected||O()),i&&l&&a&&ln({id:i,store:d,nodeRef:t});let L=N(P);if(r.current=L,u.current=Vi(I,E,L,i),R&&u.current){let[X,D]=sn({nodeId:i,dragItems:u.current,nodeInternals:I});R(P.sourceEvent,X,D)}};if(e)p.on(".drag",null);else{let P=Xa().on("start",I=>{let{domNode:w,nodeDragThreshold:E}=d.getState();E===0&&_(I),b.current=!1,r.current=N(I),h.current=(w==null?void 0:w.getBoundingClientRect())||null,m.current=Se(I.sourceEvent,h.current)}).on("drag",I=>{var M,C;let w=N(I),{autoPanOnNodeDrag:E,nodeDragThreshold:O}=d.getState();if(I.sourceEvent.type==="touchmove"&&I.sourceEvent.touches.length>1&&(b.current=!0),!b.current){if(!y.current&&x.current&&E&&(y.current=!0,k()),!x.current){let R=w.xSnapped-(((M=r==null?void 0:r.current)==null?void 0:M.x)??0),L=w.ySnapped-(((C=r==null?void 0:r.current)==null?void 0:C.y)??0);Math.sqrt(R*R+L*L)>O&&_(I)}(r.current.x!==w.xSnapped||r.current.y!==w.ySnapped)&&u.current&&x.current&&(f.current=I.sourceEvent,m.current=Se(I.sourceEvent,h.current),S(w))}}).on("end",I=>{if(!(!x.current||b.current)&&(c(!1),y.current=!1,x.current=!1,cancelAnimationFrame(g.current),u.current)){let{updateNodePositions:w,nodeInternals:E,onNodeDragStop:O,onSelectionDragStop:M}=d.getState(),C=i?O:dn(M);if(w(u.current,!1,!1),C){let[R,L]=sn({nodeId:i,dragItems:u.current,nodeInternals:E});C(I.sourceEvent,R,L)}}}).filter(I=>{let w=I.target;return!I.button&&(!n||!bo(w,`.${n}`,t))&&(!o||bo(w,o,t))});return p.call(P),()=>{p.on(".drag",null)}}}},[t,e,n,o,l,d,i,a,N]),s}function So(){let t=le();return(0,v.useCallback)(e=>{let{nodeInternals:n,nodeExtent:o,updateNodePositions:i,getNodes:l,snapToGrid:a,snapGrid:d,onError:s,nodesDraggable:c}=t.getState(),u=l().filter(y=>y.selected&&(y.draggable||c&&y.draggable===void 0)),r=a?d[0]:5,g=a?d[1]:5,h=e.isShiftPressed?4:1,m=e.x*r*h,f=e.y*g*h;i(u.map(y=>{if(y.positionAbsolute){let x={x:y.positionAbsolute.x+m,y:y.positionAbsolute.y+f};a&&(x.x=d[0]*Math.round(x.x/d[0]),x.y=d[1]*Math.round(x.y/d[1]));let{positionAbsolute:b,position:N}=xo(y,x,n,o,void 0,s);y.position=N,y.positionAbsolute=b}return y}),!0,!1)},[])}var Je={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},ct=t=>{let e=({id:n,type:o,data:i,xPos:l,yPos:a,xPosOrigin:d,yPosOrigin:s,selected:c,onClick:u,onMouseEnter:r,onMouseMove:g,onMouseLeave:h,onContextMenu:m,onDoubleClick:f,style:y,className:x,isDraggable:b,isSelectable:N,isConnectable:p,isFocusable:S,selectNodesOnDrag:k,sourcePosition:_,targetPosition:P,hidden:I,resizeObserver:w,dragHandle:E,zIndex:O,isParent:M,noDragClassName:C,noPanClassName:R,initialized:L,disableKeyboardA11y:H,ariaLabel:X,rfId:D,hasHandleBounds:$})=>{let V=le(),F=(0,v.useRef)(null),Z=(0,v.useRef)(null),U=(0,v.useRef)(_),j=(0,v.useRef)(P),A=(0,v.useRef)(o),B=N||b||u||r||g||h,T=So(),Y=dt(n,V.getState,r),G=dt(n,V.getState,g),ee=dt(n,V.getState,h),ae=dt(n,V.getState,m),ge=dt(n,V.getState,f),oe=te=>{let{nodeDragThreshold:K}=V.getState();if(N&&(!k||!b||K>0)&&ln({id:n,store:V,nodeRef:F}),u){let fe=V.getState().nodeInternals.get(n);fe&&u(te,{...fe})}},Q=te=>{Xt(te)||H||(In.includes(te.key)&&N?ln({id:n,store:V,unselect:te.key==="Escape",nodeRef:F}):b&&c&&Object.prototype.hasOwnProperty.call(Je,te.key)&&(V.setState({ariaLiveMessage:`Moved selected node ${te.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~l}, y: ${~~a}`}),T({x:Je[te.key].x,y:Je[te.key].y,isShiftPressed:te.shiftKey})))};(0,v.useEffect)(()=>()=>{Z.current&&(Z.current=(w==null||w.unobserve(Z.current),null))},[]),(0,v.useEffect)(()=>{if(F.current&&!I){let te=F.current;(!L||!$||Z.current!==te)&&(Z.current&&(w==null||w.unobserve(Z.current)),w==null||w.observe(te),Z.current=te)}},[I,L,$]),(0,v.useEffect)(()=>{let te=A.current!==o,K=U.current!==_,fe=j.current!==P;F.current&&(te||K||fe)&&(te&&(A.current=o),K&&(U.current=_),fe&&(j.current=P),V.getState().updateNodeDimensions([{id:n,nodeElement:F.current,forceUpdate:!0}]))},[n,o,_,P]);let de=Eo({nodeRef:F,disabled:I||!b,noDragClassName:C,handleSelector:E,nodeId:n,isSelectable:N,selectNodesOnDrag:k});return I?null:v.createElement("div",{className:he(["react-flow__node",`react-flow__node-${o}`,{[R]:b},x,{selected:c,selectable:N,parent:M,dragging:de}]),ref:F,style:{zIndex:O,transform:`translate(${d}px,${s}px)`,pointerEvents:B?"all":"none",visibility:L?"visible":"hidden",...y},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:Y,onMouseMove:G,onMouseLeave:ee,onContextMenu:ae,onClick:oe,onDoubleClick:ge,onKeyDown:S?Q:void 0,tabIndex:S?0:void 0,role:S?"button":void 0,"aria-describedby":H?void 0:`${ro}-${D}`,"aria-label":X},v.createElement(ri,{value:n},v.createElement(t,{id:n,data:i,type:o,xPos:l,yPos:a,selected:c,isConnectable:p,sourcePosition:_,targetPosition:P,dragging:de,dragHandle:E,zIndex:O})))};return e.displayName="NodeWrapper",(0,v.memo)(e)},Wi=t=>({...Jt(t.getNodes().filter(e=>e.selected),t.nodeOrigin),transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`,userSelectionActive:t.userSelectionActive});function Yi({onSelectionContextMenu:t,noPanClassName:e,disableKeyboardA11y:n}){let o=le(),{width:i,height:l,x:a,y:d,transformString:s,userSelectionActive:c}=ne(Wi,ue),u=So(),r=(0,v.useRef)(null);if((0,v.useEffect)(()=>{var h;n||((h=r.current)==null||h.focus({preventScroll:!0}))},[n]),Eo({nodeRef:r}),c||!i||!l)return null;let g=t?h=>{t(h,o.getState().getNodes().filter(m=>m.selected))}:void 0;return v.createElement("div",{className:he(["react-flow__nodesselection","react-flow__container",e]),style:{transform:s}},v.createElement("div",{ref:r,className:"react-flow__nodesselection-rect",onContextMenu:g,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h=>{Object.prototype.hasOwnProperty.call(Je,h.key)&&u({x:Je[h.key].x,y:Je[h.key].y,isShiftPressed:h.shiftKey})},style:{width:i,height:l,top:d,left:a}}))}var Zi=(0,v.memo)(Yi),Ki=t=>t.nodesSelectionActive,Co=({children:t,onPaneClick:e,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:i,onPaneContextMenu:l,onPaneScroll:a,deleteKeyCode:d,onMove:s,onMoveStart:c,onMoveEnd:u,selectionKeyCode:r,selectionOnDrag:g,selectionMode:h,onSelectionStart:m,onSelectionEnd:f,multiSelectionKeyCode:y,panActivationKeyCode:x,zoomActivationKeyCode:b,elementsSelectable:N,zoomOnScroll:p,zoomOnPinch:S,panOnScroll:k,panOnScrollSpeed:_,panOnScrollMode:P,zoomOnDoubleClick:I,panOnDrag:w,defaultViewport:E,translateExtent:O,minZoom:M,maxZoom:C,preventScrolling:R,onSelectionContextMenu:L,noWheelClassName:H,noPanClassName:X,disableKeyboardA11y:D})=>{let $=ne(Ki),V=st(r),F=st(x),Z=F||w,U=F||k,j=V||g&&Z!==!0;return Di({deleteKeyCode:d,multiSelectionKeyCode:y}),v.createElement(zi,{onMove:s,onMoveStart:c,onMoveEnd:u,onPaneContextMenu:l,elementsSelectable:N,zoomOnScroll:p,zoomOnPinch:S,panOnScroll:U,panOnScrollSpeed:_,panOnScrollMode:P,zoomOnDoubleClick:I,panOnDrag:!V&&Z,defaultViewport:E,translateExtent:O,minZoom:M,maxZoom:C,zoomActivationKeyCode:b,preventScrolling:R,noWheelClassName:H,noPanClassName:X},v.createElement(yo,{onSelectionStart:m,onSelectionEnd:f,onPaneClick:e,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:i,onPaneContextMenu:l,onPaneScroll:a,panOnDrag:Z,isSelecting:!!j,selectionMode:h},t,$&&v.createElement(Zi,{onSelectionContextMenu:L,noPanClassName:X,disableKeyboardA11y:D})))};Co.displayName="FlowRenderer";var Gi=(0,v.memo)(Co);function Ui(t){return ne((0,v.useCallback)(e=>t?Vn(e.nodeInternals,{x:0,y:0,width:e.width,height:e.height},e.transform,!0):e.getNodes(),[t]))}function qi(t){let e={input:ct(t.input||Qn),default:ct(t.default||tn),output:ct(t.output||to),group:ct(t.group||nn)},n=Object.keys(t).filter(o=>!["input","default","output","group"].includes(o)).reduce((o,i)=>(o[i]=ct(t[i]||tn),o),{});return{...e,...n}}var Ji=({x:t,y:e,width:n,height:o,origin:i})=>!n||!o||i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:t,y:e}:{x:t-n*i[0],y:e-o*i[1]},Qi=t=>({nodesDraggable:t.nodesDraggable,nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,updateNodeDimensions:t.updateNodeDimensions,onError:t.onError}),No=t=>{let{nodesDraggable:e,nodesConnectable:n,nodesFocusable:o,elementsSelectable:i,updateNodeDimensions:l,onError:a}=ne(Qi,ue),d=Ui(t.onlyRenderVisibleElements),s=(0,v.useRef)(),c=(0,v.useMemo)(()=>{if(typeof ResizeObserver>"u")return null;let u=new ResizeObserver(r=>{l(r.map(g=>({id:g.target.getAttribute("data-id"),nodeElement:g.target,forceUpdate:!0})))});return s.current=u,u},[]);return(0,v.useEffect)(()=>()=>{var u;(u=s==null?void 0:s.current)==null||u.disconnect()},[]),v.createElement("div",{className:"react-flow__nodes",style:rn},d.map(u=>{var S,k,_;let r=u.type||"default";t.nodeTypes[r]||(a==null||a("003",xe.error003(r)),r="default");let g=t.nodeTypes[r]||t.nodeTypes.default,h=!!(u.draggable||e&&u.draggable===void 0),m=!!(u.selectable||i&&u.selectable===void 0),f=!!(u.connectable||n&&u.connectable===void 0),y=!!(u.focusable||o&&u.focusable===void 0),x=t.nodeExtent?Ht(u.positionAbsolute,t.nodeExtent):u.positionAbsolute,b=(x==null?void 0:x.x)??0,N=(x==null?void 0:x.y)??0,p=Ji({x:b,y:N,width:u.width??0,height:u.height??0,origin:t.nodeOrigin});return v.createElement(g,{key:u.id,id:u.id,className:u.className,style:u.style,type:r,data:u.data,sourcePosition:u.sourcePosition||W.Bottom,targetPosition:u.targetPosition||W.Top,hidden:u.hidden,xPos:b,yPos:N,xPosOrigin:p.x,yPosOrigin:p.y,selectNodesOnDrag:t.selectNodesOnDrag,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,selected:!!u.selected,isDraggable:h,isSelectable:m,isConnectable:f,isFocusable:y,resizeObserver:c,dragHandle:u.dragHandle,zIndex:((S=u[re])==null?void 0:S.z)??0,isParent:!!((k=u[re])!=null&&k.isParent),noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,initialized:!!u.width&&!!u.height,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,ariaLabel:u.ariaLabel,hasHandleBounds:!!((_=u[re])!=null&&_.handleBounds)})}))};No.displayName="NodeRenderer";var es=(0,v.memo)(No),ts=(t,e,n)=>n===W.Left?t-e:n===W.Right?t+e:t,ns=(t,e,n)=>n===W.Top?t-e:n===W.Bottom?t+e:t,ko="react-flow__edgeupdater",Mo=({position:t,centerX:e,centerY:n,radius:o=10,onMouseDown:i,onMouseEnter:l,onMouseOut:a,type:d})=>v.createElement("circle",{onMouseDown:i,onMouseEnter:l,onMouseOut:a,className:he([ko,`${ko}-${d}`]),cx:ts(e,o,t),cy:ns(n,o,t),r:o,stroke:"transparent",fill:"transparent"}),os=()=>!0,Qe=t=>{let e=({id:n,className:o,type:i,data:l,onClick:a,onEdgeDoubleClick:d,selected:s,animated:c,label:u,labelStyle:r,labelShowBg:g,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:f,style:y,source:x,target:b,sourceX:N,sourceY:p,targetX:S,targetY:k,sourcePosition:_,targetPosition:P,elementsSelectable:I,hidden:w,sourceHandleId:E,targetHandleId:O,onContextMenu:M,onMouseEnter:C,onMouseMove:R,onMouseLeave:L,reconnectRadius:H,onReconnect:X,onReconnectStart:D,onReconnectEnd:$,markerEnd:V,markerStart:F,rfId:Z,ariaLabel:U,isFocusable:j,isReconnectable:A,pathOptions:B,interactionWidth:T,disableKeyboardA11y:Y})=>{let G=(0,v.useRef)(null),[ee,ae]=(0,v.useState)(!1),[ge,oe]=(0,v.useState)(!1),Q=le(),de=(0,v.useMemo)(()=>`url('#${Ut(F,Z)}')`,[F,Z]),te=(0,v.useMemo)(()=>`url('#${Ut(V,Z)}')`,[V,Z]);if(w)return null;let K=ce=>{var Ee;let{edges:pe,addSelectedEdges:Pe,unselectNodesAndEdges:Ie,multiSelectionActive:je}=Q.getState(),be=pe.find(nt=>nt.id===n);be&&(I&&(Q.setState({nodesSelectionActive:!1}),be.selected&&je?(Ie({nodes:[],edges:[be]}),(Ee=G.current)==null||Ee.blur()):Pe([n])),a&&a(ce,be))},fe=it(n,Q.getState,d),Me=it(n,Q.getState,M),tt=it(n,Q.getState,C),ze=it(n,Q.getState,R),Le=it(n,Q.getState,L),we=(ce,pe)=>{if(ce.button!==0)return;let{edges:Pe,isValidConnection:Ie}=Q.getState(),je=pe?b:x,be=(pe?O:E)||null,Ee=pe?"target":"source",nt=Ie||os,Mt=pe,ot=Pe.find(De=>De.id===n);oe(!0),D==null||D(ce,ot,Ee),Kn({event:ce,handleId:be,nodeId:je,onConnect:De=>X==null?void 0:X(ot,De),isTarget:Mt,getState:Q.getState,setState:Q.setState,isValidConnection:nt,edgeUpdaterType:Ee,onReconnectEnd:De=>{oe(!1),$==null||$(De,ot,Ee)}})},$e=ce=>we(ce,!0),Oe=ce=>we(ce,!1),_e=()=>ae(!0),Te=()=>ae(!1),He=!I&&!a;return v.createElement("g",{className:he(["react-flow__edge",`react-flow__edge-${i}`,o,{selected:s,animated:c,inactive:He,updating:ee}]),onClick:K,onDoubleClick:fe,onContextMenu:Me,onMouseEnter:tt,onMouseMove:ze,onMouseLeave:Le,onKeyDown:j?ce=>{var pe;if(!Y&&In.includes(ce.key)&&I){let{unselectNodesAndEdges:Pe,addSelectedEdges:Ie,edges:je}=Q.getState();ce.key==="Escape"?((pe=G.current)==null||pe.blur(),Pe({edges:[je.find(be=>be.id===n)]})):Ie([n])}}:void 0,tabIndex:j?0:void 0,role:j?"button":"img","data-testid":`rf__edge-${n}`,"aria-label":U===null?void 0:U||`Edge from ${x} to ${b}`,"aria-describedby":j?`${ao}-${Z}`:void 0,ref:G},!ge&&v.createElement(t,{id:n,source:x,target:b,selected:s,animated:c,label:u,labelStyle:r,labelShowBg:g,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:f,data:l,style:y,sourceX:N,sourceY:p,targetX:S,targetY:k,sourcePosition:_,targetPosition:P,sourceHandleId:E,targetHandleId:O,markerStart:de,markerEnd:te,pathOptions:B,interactionWidth:T}),A&&v.createElement(v.Fragment,null,(A==="source"||A===!0)&&v.createElement(Mo,{position:_,centerX:N,centerY:p,radius:H,onMouseDown:$e,onMouseEnter:_e,onMouseOut:Te,type:"source"}),(A==="target"||A===!0)&&v.createElement(Mo,{position:P,centerX:S,centerY:k,radius:H,onMouseDown:Oe,onMouseEnter:_e,onMouseOut:Te,type:"target"})))};return e.displayName="EdgeWrapper",(0,v.memo)(e)};function rs(t){let e={default:Qe(t.default||wt),straight:Qe(t.bezier||Kt),step:Qe(t.step||Zt),smoothstep:Qe(t.step||bt),simplebezier:Qe(t.simplebezier||Wt)},n=Object.keys(t).filter(o=>!["default","bezier"].includes(o)).reduce((o,i)=>(o[i]=Qe(t[i]||wt),o),{});return{...e,...n}}function Oo(t,e,n=null){let o=((n==null?void 0:n.x)||0)+e.x,i=((n==null?void 0:n.y)||0)+e.y,l=(n==null?void 0:n.width)||e.width,a=(n==null?void 0:n.height)||e.height;switch(t){case W.Top:return{x:o+l/2,y:i};case W.Right:return{x:o+l,y:i+a/2};case W.Bottom:return{x:o+l/2,y:i+a};case W.Left:return{x:o,y:i+a/2}}}function _o(t,e){return t?t.length===1||!e?t[0]:e&&t.find(n=>n.id===e)||null:null}var as=(t,e,n,o,i,l)=>{let a=Oo(n,t,e),d=Oo(l,o,i);return{sourceX:a.x,sourceY:a.y,targetX:d.x,targetY:d.y}};function is({sourcePos:t,targetPos:e,sourceWidth:n,sourceHeight:o,targetWidth:i,targetHeight:l,width:a,height:d,transform:s}){let c={x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x+n,e.x+i),y2:Math.max(t.y+o,e.y+l)};c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);let u=Vt({x:(0-s[0])/s[2],y:(0-s[1])/s[2],width:a/s[2],height:d/s[2]}),r=Math.max(0,Math.min(u.x2,c.x2)-Math.max(u.x,c.x)),g=Math.max(0,Math.min(u.y2,c.y2)-Math.max(u.y,c.y));return Math.ceil(r*g)>0}function Po(t){var o,i,l,a,d;let e=((o=t==null?void 0:t[re])==null?void 0:o.handleBounds)||null,n=e&&(t==null?void 0:t.width)&&(t==null?void 0:t.height)&&((i=t==null?void 0:t.positionAbsolute)==null?void 0:i.x)!==void 0&&((l=t==null?void 0:t.positionAbsolute)==null?void 0:l.y)!==void 0;return[{x:((a=t==null?void 0:t.positionAbsolute)==null?void 0:a.x)||0,y:((d=t==null?void 0:t.positionAbsolute)==null?void 0:d.y)||0,width:(t==null?void 0:t.width)||0,height:(t==null?void 0:t.height)||0},e,!!n]}var ss=[{level:0,isMaxLevel:!0,edges:[]}];function ls(t,e,n=!1){let o=-1,i=t.reduce((a,d)=>{var u,r;let s=me(d.zIndex),c=s?d.zIndex:0;if(n){let g=e.get(d.target),h=e.get(d.source),m=d.selected||(g==null?void 0:g.selected)||(h==null?void 0:h.selected),f=Math.max(((u=h==null?void 0:h[re])==null?void 0:u.z)||0,((r=g==null?void 0:g[re])==null?void 0:r.z)||0,1e3);c=(s?d.zIndex:0)+(m?f:0)}return a[c]?a[c].push(d):a[c]=[d],o=c>o?c:o,a},{}),l=Object.entries(i).map(([a,d])=>{let s=+a;return{edges:d,level:s,isMaxLevel:s===o}});return l.length===0?ss:l}function ds(t,e,n){return ls(ne((0,v.useCallback)(o=>t?o.edges.filter(i=>{let l=e.get(i.source),a=e.get(i.target);return(l==null?void 0:l.width)&&(l==null?void 0:l.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&is({sourcePos:l.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:l.width,sourceHeight:l.height,targetWidth:a.width,targetHeight:a.height,width:o.width,height:o.height,transform:o.transform})}):o.edges,[t,e])),e,n)}var cs=({color:t="none",strokeWidth:e=1})=>v.createElement("polyline",{style:{stroke:t,strokeWidth:e},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),us=({color:t="none",strokeWidth:e=1})=>v.createElement("polyline",{style:{stroke:t,fill:t,strokeWidth:e},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"}),Io={[vt.Arrow]:cs,[vt.ArrowClosed]:us};function hs(t){let e=le();return(0,v.useMemo)(()=>{var n,o;return Object.prototype.hasOwnProperty.call(Io,t)?Io[t]:((o=(n=e.getState()).onError)==null||o.call(n,"009",xe.error009(t)),null)},[t])}var gs=({id:t,type:e,color:n,width:o=12.5,height:i=12.5,markerUnits:l="strokeWidth",strokeWidth:a,orient:d="auto-start-reverse"})=>{let s=hs(e);return s?v.createElement("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${o}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:l,orient:d,refX:"0",refY:"0"},v.createElement(s,{color:n,strokeWidth:a})):null},fs=({defaultColor:t,rfId:e})=>n=>{let o=[];return n.edges.reduce((i,l)=>([l.markerStart,l.markerEnd].forEach(a=>{if(a&&typeof a=="object"){let d=Ut(a,e);o.includes(d)||(i.push({id:d,color:a.color||t,...a}),o.push(d))}}),i),[]).sort((i,l)=>i.id.localeCompare(l.id))},jo=({defaultColor:t,rfId:e})=>{let n=ne((0,v.useCallback)(fs({defaultColor:t,rfId:e}),[t,e]),(o,i)=>!(o.length!==i.length||o.some((l,a)=>l.id!==i[a].id)));return v.createElement("defs",null,n.map(o=>v.createElement(gs,{id:o.id,key:o.id,type:o.type,color:o.color,width:o.width,height:o.height,markerUnits:o.markerUnits,strokeWidth:o.strokeWidth,orient:o.orient})))};jo.displayName="MarkerDefinitions";var ps=(0,v.memo)(jo),ms=t=>({nodesConnectable:t.nodesConnectable,edgesFocusable:t.edgesFocusable,edgesUpdatable:t.edgesUpdatable,elementsSelectable:t.elementsSelectable,width:t.width,height:t.height,connectionMode:t.connectionMode,nodeInternals:t.nodeInternals,onError:t.onError}),Do=({defaultMarkerColor:t,onlyRenderVisibleElements:e,elevateEdgesOnSelect:n,rfId:o,edgeTypes:i,noPanClassName:l,onEdgeContextMenu:a,onEdgeMouseEnter:d,onEdgeMouseMove:s,onEdgeMouseLeave:c,onEdgeClick:u,onEdgeDoubleClick:r,onReconnect:g,onReconnectStart:h,onReconnectEnd:m,reconnectRadius:f,children:y,disableKeyboardA11y:x})=>{let{edgesFocusable:b,edgesUpdatable:N,elementsSelectable:p,width:S,height:k,connectionMode:_,nodeInternals:P,onError:I}=ne(ms,ue),w=ds(e,P,n);return S?v.createElement(v.Fragment,null,w.map(({level:E,edges:O,isMaxLevel:M})=>v.createElement("svg",{key:E,style:{zIndex:E},width:S,height:k,className:"react-flow__edges react-flow__container"},M&&v.createElement(ps,{defaultColor:t,rfId:o}),v.createElement("g",null,O.map(C=>{let[R,L,H]=Po(P.get(C.source)),[X,D,$]=Po(P.get(C.target));if(!H||!$)return null;let V=C.type||"default";i[V]||(I==null||I("011",xe.error011(V)),V="default");let F=i[V]||i.default,Z=_===We.Strict?D.target:(D.target??[]).concat(D.source??[]),U=_o(L.source,C.sourceHandle),j=_o(Z,C.targetHandle),A=(U==null?void 0:U.position)||W.Bottom,B=(j==null?void 0:j.position)||W.Top,T=!!(C.focusable||b&&C.focusable===void 0),Y=C.reconnectable||C.updatable,G=g!==void 0&&(Y||N&&Y===void 0);if(!U||!j)return I==null||I("008",xe.error008(U,C)),null;let{sourceX:ee,sourceY:ae,targetX:ge,targetY:oe}=as(R,U,A,X,j,B);return v.createElement(F,{key:C.id,id:C.id,className:he([C.className,l]),type:V,data:C.data,selected:!!C.selected,animated:!!C.animated,hidden:!!C.hidden,label:C.label,labelStyle:C.labelStyle,labelShowBg:C.labelShowBg,labelBgStyle:C.labelBgStyle,labelBgPadding:C.labelBgPadding,labelBgBorderRadius:C.labelBgBorderRadius,style:C.style,source:C.source,target:C.target,sourceHandleId:C.sourceHandle,targetHandleId:C.targetHandle,markerEnd:C.markerEnd,markerStart:C.markerStart,sourceX:ee,sourceY:ae,targetX:ge,targetY:oe,sourcePosition:A,targetPosition:B,elementsSelectable:p,onContextMenu:a,onMouseEnter:d,onMouseMove:s,onMouseLeave:c,onClick:u,onEdgeDoubleClick:r,onReconnect:g,onReconnectStart:h,onReconnectEnd:m,reconnectRadius:f,rfId:o,ariaLabel:C.ariaLabel,isFocusable:T,isReconnectable:G,pathOptions:"pathOptions"in C?C.pathOptions:void 0,interactionWidth:C.interactionWidth,disableKeyboardA11y:x})})))),y):null};Do.displayName="EdgeRenderer";var ys=(0,v.memo)(Do),vs=t=>`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`;function bs({children:t}){let e=ne(vs);return v.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:e}},t)}function xs(t){let e=lt(),n=(0,v.useRef)(!1);(0,v.useEffect)(()=>{!n.current&&e.viewportInitialized&&t&&(setTimeout(()=>t(e),1),n.current=!0)},[t,e.viewportInitialized])}var ws={[W.Left]:W.Right,[W.Right]:W.Left,[W.Top]:W.Bottom,[W.Bottom]:W.Top},Ro=({nodeId:t,handleType:e,style:n,type:o=Ae.Bezier,CustomComponent:i,connectionStatus:l})=>{var k,_,P;let{fromNode:a,handleId:d,toX:s,toY:c,connectionMode:u}=ne((0,v.useCallback)(I=>({fromNode:I.nodeInternals.get(t),handleId:I.connectionHandleId,toX:(I.connectionPosition.x-I.transform[0])/I.transform[2],toY:(I.connectionPosition.y-I.transform[1])/I.transform[2],connectionMode:I.connectionMode}),[t]),ue),r=(k=a==null?void 0:a[re])==null?void 0:k.handleBounds,g=r==null?void 0:r[e];if(u===We.Loose&&(g||(g=r==null?void 0:r[e==="source"?"target":"source"])),!a||!g)return null;let h=d?g.find(I=>I.id===d):g[0],m=h?h.x+h.width/2:(a.width??0)/2,f=h?h.y+h.height/2:a.height??0,y=(((_=a.positionAbsolute)==null?void 0:_.x)??0)+m,x=(((P=a.positionAbsolute)==null?void 0:P.y)??0)+f,b=h==null?void 0:h.position,N=b?ws[b]:null;if(!b||!N)return null;if(i)return v.createElement(i,{connectionLineType:o,connectionLineStyle:n,fromNode:a,fromHandle:h,fromX:y,fromY:x,toX:s,toY:c,fromPosition:b,toPosition:N,connectionStatus:l});let p="",S={sourceX:y,sourceY:x,sourcePosition:b,targetX:s,targetY:c,targetPosition:N};return o===Ae.Bezier?[p]=Tn(S):o===Ae.Step?[p]=Yt({...S,borderRadius:0}):o===Ae.SmoothStep?[p]=Yt(S):o===Ae.SimpleBezier?[p]=Bn(S):p=`M${y},${x} ${s},${c}`,v.createElement("path",{d:p,fill:"none",className:"react-flow__connection-path",style:n})};Ro.displayName="ConnectionLine";var Es=t=>({nodeId:t.connectionNodeId,handleType:t.connectionHandleType,nodesConnectable:t.nodesConnectable,connectionStatus:t.connectionStatus,width:t.width,height:t.height});function Ss({containerStyle:t,style:e,type:n,component:o}){let{nodeId:i,handleType:l,nodesConnectable:a,width:d,height:s,connectionStatus:c}=ne(Es,ue);return i&&l&&d&&a?v.createElement("svg",{style:t,width:d,height:s,className:"react-flow__edges react-flow__connectionline react-flow__container"},v.createElement("g",{className:he(["react-flow__connection",c])},v.createElement(Ro,{nodeId:i,handleType:l,style:e,type:n,CustomComponent:o,connectionStatus:c}))):null}function Ao(t,e){return(0,v.useRef)(null),le(),(0,v.useMemo)(()=>e(t),[t])}var Bo=({nodeTypes:t,edgeTypes:e,onMove:n,onMoveStart:o,onMoveEnd:i,onInit:l,onNodeClick:a,onEdgeClick:d,onNodeDoubleClick:s,onEdgeDoubleClick:c,onNodeMouseEnter:u,onNodeMouseMove:r,onNodeMouseLeave:g,onNodeContextMenu:h,onSelectionContextMenu:m,onSelectionStart:f,onSelectionEnd:y,connectionLineType:x,connectionLineStyle:b,connectionLineComponent:N,connectionLineContainerStyle:p,selectionKeyCode:S,selectionOnDrag:k,selectionMode:_,multiSelectionKeyCode:P,panActivationKeyCode:I,zoomActivationKeyCode:w,deleteKeyCode:E,onlyRenderVisibleElements:O,elementsSelectable:M,selectNodesOnDrag:C,defaultViewport:R,translateExtent:L,minZoom:H,maxZoom:X,preventScrolling:D,defaultMarkerColor:$,zoomOnScroll:V,zoomOnPinch:F,panOnScroll:Z,panOnScrollSpeed:U,panOnScrollMode:j,zoomOnDoubleClick:A,panOnDrag:B,onPaneClick:T,onPaneMouseEnter:Y,onPaneMouseMove:G,onPaneMouseLeave:ee,onPaneScroll:ae,onPaneContextMenu:ge,onEdgeContextMenu:oe,onEdgeMouseEnter:Q,onEdgeMouseMove:de,onEdgeMouseLeave:te,onReconnect:K,onReconnectStart:fe,onReconnectEnd:Me,reconnectRadius:tt,noDragClassName:ze,noWheelClassName:Le,noPanClassName:we,elevateEdgesOnSelect:$e,disableKeyboardA11y:Oe,nodeOrigin:_e,nodeExtent:Te,rfId:He})=>{let ce=Ao(t,qi),pe=Ao(e,rs);return xs(l),v.createElement(Gi,{onPaneClick:T,onPaneMouseEnter:Y,onPaneMouseMove:G,onPaneMouseLeave:ee,onPaneContextMenu:ge,onPaneScroll:ae,deleteKeyCode:E,selectionKeyCode:S,selectionOnDrag:k,selectionMode:_,onSelectionStart:f,onSelectionEnd:y,multiSelectionKeyCode:P,panActivationKeyCode:I,zoomActivationKeyCode:w,elementsSelectable:M,onMove:n,onMoveStart:o,onMoveEnd:i,zoomOnScroll:V,zoomOnPinch:F,zoomOnDoubleClick:A,panOnScroll:Z,panOnScrollSpeed:U,panOnScrollMode:j,panOnDrag:B,defaultViewport:R,translateExtent:L,minZoom:H,maxZoom:X,onSelectionContextMenu:m,preventScrolling:D,noDragClassName:ze,noWheelClassName:Le,noPanClassName:we,disableKeyboardA11y:Oe},v.createElement(bs,null,v.createElement(ys,{edgeTypes:pe,onEdgeClick:d,onEdgeDoubleClick:c,onlyRenderVisibleElements:O,onEdgeContextMenu:oe,onEdgeMouseEnter:Q,onEdgeMouseMove:de,onEdgeMouseLeave:te,onReconnect:K,onReconnectStart:fe,onReconnectEnd:Me,reconnectRadius:tt,defaultMarkerColor:$,noPanClassName:we,elevateEdgesOnSelect:!!$e,disableKeyboardA11y:Oe,rfId:He},v.createElement(Ss,{style:b,type:x,component:N,containerStyle:p})),v.createElement("div",{className:"react-flow__edgelabel-renderer"}),v.createElement(es,{nodeTypes:ce,onNodeClick:a,onNodeDoubleClick:s,onNodeMouseEnter:u,onNodeMouseMove:r,onNodeMouseLeave:g,onNodeContextMenu:h,selectNodesOnDrag:C,onlyRenderVisibleElements:O,noPanClassName:we,noDragClassName:ze,disableKeyboardA11y:Oe,nodeOrigin:_e,nodeExtent:Te,rfId:He})))};Bo.displayName="GraphView";var Cs=(0,v.memo)(Bo),cn=[[-1/0,-1/0],[1/0,1/0]],ke={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:cn,nodeExtent:cn,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:We.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:0,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,onSelectionChange:[],multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:Ja,isValidConnection:void 0},Ns=()=>$a((t,e)=>({...ke,setNodes:n=>{let{nodeInternals:o,nodeOrigin:i,elevateNodesOnSelect:l}=e();t({nodeInternals:on(n,o,i,l)})},getNodes:()=>Array.from(e().nodeInternals.values()),setEdges:n=>{let{defaultEdgeOptions:o={}}=e();t({edges:n.map(i=>({...o,...i}))})},setDefaultNodesAndEdges:(n,o)=>{let i=n!==void 0,l=o!==void 0;t({nodeInternals:i?on(n,new Map,e().nodeOrigin,e().elevateNodesOnSelect):new Map,edges:l?o:[],hasDefaultNodes:i,hasDefaultEdges:l})},updateNodeDimensions:n=>{let{onNodesChange:o,nodeInternals:i,fitViewOnInit:l,fitViewOnInitDone:a,fitViewOnInitOptions:d,domNode:s,nodeOrigin:c}=e(),u=s==null?void 0:s.querySelector(".react-flow__viewport");if(!u)return;let r=window.getComputedStyle(u),{m22:g}=new window.DOMMatrixReadOnly(r.transform),h=n.reduce((f,y)=>{let x=i.get(y.id);if(x!=null&&x.hidden)i.set(x.id,{...x,[re]:{...x[re],handleBounds:void 0}});else if(x){let b=Tt(y.nodeElement);b.width&&b.height&&(x.width!==b.width||x.height!==b.height||y.forceUpdate)&&(i.set(x.id,{...x,[re]:{...x[re],handleBounds:{source:wo(".source",y.nodeElement,g,c),target:wo(".target",y.nodeElement,g,c)}},...b}),f.push({id:x.id,type:"dimensions",dimensions:b}))}return f},[]);co(i,c);let m=a||l&&!a&&uo(e,{initial:!0,...d});t({nodeInternals:new Map(i),fitViewOnInitDone:m}),(h==null?void 0:h.length)>0&&(o==null||o(h))},updateNodePositions:(n,o=!0,i=!1)=>{let{triggerNodeChanges:l}=e();l(n.map(a=>{let d={id:a.id,type:"position",dragging:i};return o&&(d.positionAbsolute=a.positionAbsolute,d.position=a.position),d}))},triggerNodeChanges:n=>{let{onNodesChange:o,nodeInternals:i,hasDefaultNodes:l,nodeOrigin:a,getNodes:d,elevateNodesOnSelect:s}=e();n!=null&&n.length&&(l&&t({nodeInternals:on(mo(n,d()),i,a,s)}),o==null||o(n))},addSelectedNodes:n=>{let{multiSelectionActive:o,edges:i,getNodes:l}=e(),a,d=null;o?a=n.map(s=>Ne(s,!0)):(a=qe(l(),n),d=qe(i,[])),St({changedNodes:a,changedEdges:d,get:e,set:t})},addSelectedEdges:n=>{let{multiSelectionActive:o,edges:i,getNodes:l}=e(),a,d=null;o?a=n.map(s=>Ne(s,!0)):(a=qe(i,n),d=qe(l(),[])),St({changedNodes:d,changedEdges:a,get:e,set:t})},unselectNodesAndEdges:({nodes:n,edges:o}={})=>{let{edges:i,getNodes:l}=e(),a=n||l(),d=o||i;St({changedNodes:a.map(s=>(s.selected=!1,Ne(s.id,!1))),changedEdges:d.map(s=>Ne(s.id,!1)),get:e,set:t})},setMinZoom:n=>{let{d3Zoom:o,maxZoom:i}=e();o==null||o.scaleExtent([n,i]),t({minZoom:n})},setMaxZoom:n=>{let{d3Zoom:o,minZoom:i}=e();o==null||o.scaleExtent([i,n]),t({maxZoom:n})},setTranslateExtent:n=>{var o;(o=e().d3Zoom)==null||o.translateExtent(n),t({translateExtent:n})},resetSelectedElements:()=>{let{edges:n,getNodes:o}=e();St({changedNodes:o().filter(i=>i.selected).map(i=>Ne(i.id,!1)),changedEdges:n.filter(i=>i.selected).map(i=>Ne(i.id,!1)),get:e,set:t})},setNodeExtent:n=>{let{nodeInternals:o}=e();o.forEach(i=>{i.positionAbsolute=Ht(i.position,n)}),t({nodeExtent:n,nodeInternals:new Map(o)})},panBy:n=>{let{transform:o,width:i,height:l,d3Zoom:a,d3Selection:d,translateExtent:s}=e();if(!a||!d||!n.x&&!n.y)return!1;let c=Fe.translate(o[0]+n.x,o[1]+n.y).scale(o[2]),u=[[0,0],[i,l]],r=a==null?void 0:a.constrain()(c,u,s);return a.transform(d,r),o[0]!==r.x||o[1]!==r.y||o[2]!==r.k},cancelConnection:()=>t({connectionNodeId:ke.connectionNodeId,connectionHandleId:ke.connectionHandleId,connectionHandleType:ke.connectionHandleType,connectionStatus:ke.connectionStatus,connectionStartHandle:ke.connectionStartHandle,connectionEndHandle:ke.connectionEndHandle}),reset:()=>t({...ke})}),Object.is),un=({children:t})=>{let e=(0,v.useRef)(null);return e.current||(e.current=Ns()),v.createElement(Wa,{value:e.current},t)};un.displayName="ReactFlowProvider";var zo=({children:t})=>(0,v.useContext)(ft)?v.createElement(v.Fragment,null,t):v.createElement(un,null,t);zo.displayName="ReactFlowWrapper";var ks={input:Qn,default:tn,output:to,group:nn},Ms={default:wt,straight:Kt,step:Zt,smoothstep:bt,simplebezier:Wt},Os=[0,0],_s=[15,15],Ps={x:0,y:0,zoom:1},Is={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Lo=(0,v.forwardRef)(({nodes:t,edges:e,defaultNodes:n,defaultEdges:o,className:i,nodeTypes:l=ks,edgeTypes:a=Ms,onNodeClick:d,onEdgeClick:s,onInit:c,onMove:u,onMoveStart:r,onMoveEnd:g,onConnect:h,onConnectStart:m,onConnectEnd:f,onClickConnectStart:y,onClickConnectEnd:x,onNodeMouseEnter:b,onNodeMouseMove:N,onNodeMouseLeave:p,onNodeContextMenu:S,onNodeDoubleClick:k,onNodeDragStart:_,onNodeDrag:P,onNodeDragStop:I,onNodesDelete:w,onEdgesDelete:E,onSelectionChange:O,onSelectionDragStart:M,onSelectionDrag:C,onSelectionDragStop:R,onSelectionContextMenu:L,onSelectionStart:H,onSelectionEnd:X,connectionMode:D=We.Strict,connectionLineType:$=Ae.Bezier,connectionLineStyle:V,connectionLineComponent:F,connectionLineContainerStyle:Z,deleteKeyCode:U="Backspace",selectionKeyCode:j="Shift",selectionOnDrag:A=!1,selectionMode:B=yt.Full,panActivationKeyCode:T="Space",multiSelectionKeyCode:Y=mt()?"Meta":"Control",zoomActivationKeyCode:G=mt()?"Meta":"Control",snapToGrid:ee=!1,snapGrid:ae=_s,onlyRenderVisibleElements:ge=!1,selectNodesOnDrag:oe=!0,nodesDraggable:Q,nodesConnectable:de,nodesFocusable:te,nodeOrigin:K=Os,edgesFocusable:fe,edgesUpdatable:Me,elementsSelectable:tt,defaultViewport:ze=Ps,minZoom:Le=.5,maxZoom:we=2,translateExtent:$e=cn,preventScrolling:Oe=!0,nodeExtent:_e,defaultMarkerColor:Te="#b1b1b7",zoomOnScroll:He=!0,zoomOnPinch:ce=!0,panOnScroll:pe=!1,panOnScrollSpeed:Pe=.5,panOnScrollMode:Ie=Ye.Free,zoomOnDoubleClick:je=!0,panOnDrag:be=!0,onPaneClick:Ee,onPaneMouseEnter:nt,onPaneMouseMove:Mt,onPaneMouseLeave:ot,onPaneScroll:De,onPaneContextMenu:ar,children:ir,onEdgeContextMenu:sr,onEdgeDoubleClick:lr,onEdgeMouseEnter:dr,onEdgeMouseMove:cr,onEdgeMouseLeave:ur,onEdgeUpdate:hr,onEdgeUpdateStart:gr,onEdgeUpdateEnd:fr,onReconnect:pr,onReconnectStart:mr,onReconnectEnd:yr,reconnectRadius:vr=10,edgeUpdaterRadius:br=10,onNodesChange:xr,onEdgesChange:wr,noDragClassName:Er="nodrag",noWheelClassName:Sr="nowheel",noPanClassName:mn="nopan",fitView:Cr=!1,fitViewOptions:Nr,connectOnClick:kr=!0,attributionPosition:Mr,proOptions:Or,defaultEdgeOptions:_r,elevateNodesOnSelect:Pr=!0,elevateEdgesOnSelect:Ir=!1,disableKeyboardA11y:yn=!1,autoPanOnConnect:jr=!0,autoPanOnNodeDrag:Dr=!0,connectionRadius:Rr=20,isValidConnection:Ar,onError:Br,style:zr,id:vn,nodeDragThreshold:Lr,...$r},Tr)=>{let Ot=vn||"1";return v.createElement("div",{...$r,style:{...zr,...Is},ref:Tr,className:he(["react-flow",i]),"data-testid":"rf__wrapper",id:vn},v.createElement(zo,null,v.createElement(Cs,{onInit:c,onMove:u,onMoveStart:r,onMoveEnd:g,onNodeClick:d,onEdgeClick:s,onNodeMouseEnter:b,onNodeMouseMove:N,onNodeMouseLeave:p,onNodeContextMenu:S,onNodeDoubleClick:k,nodeTypes:l,edgeTypes:a,connectionLineType:$,connectionLineStyle:V,connectionLineComponent:F,connectionLineContainerStyle:Z,selectionKeyCode:j,selectionOnDrag:A,selectionMode:B,deleteKeyCode:U,multiSelectionKeyCode:Y,panActivationKeyCode:T,zoomActivationKeyCode:G,onlyRenderVisibleElements:ge,selectNodesOnDrag:oe,defaultViewport:ze,translateExtent:$e,minZoom:Le,maxZoom:we,preventScrolling:Oe,zoomOnScroll:He,zoomOnPinch:ce,zoomOnDoubleClick:je,panOnScroll:pe,panOnScrollSpeed:Pe,panOnScrollMode:Ie,panOnDrag:be,onPaneClick:Ee,onPaneMouseEnter:nt,onPaneMouseMove:Mt,onPaneMouseLeave:ot,onPaneScroll:De,onPaneContextMenu:ar,onSelectionContextMenu:L,onSelectionStart:H,onSelectionEnd:X,onEdgeContextMenu:sr,onEdgeDoubleClick:lr,onEdgeMouseEnter:dr,onEdgeMouseMove:cr,onEdgeMouseLeave:ur,onReconnect:pr??hr,onReconnectStart:mr??gr,onReconnectEnd:yr??fr,reconnectRadius:vr??br,defaultMarkerColor:Te,noDragClassName:Er,noWheelClassName:Sr,noPanClassName:mn,elevateEdgesOnSelect:Ir,rfId:Ot,disableKeyboardA11y:yn,nodeOrigin:K,nodeExtent:_e}),v.createElement(wi,{nodes:t,edges:e,defaultNodes:n,defaultEdges:o,onConnect:h,onConnectStart:m,onConnectEnd:f,onClickConnectStart:y,onClickConnectEnd:x,nodesDraggable:Q,nodesConnectable:de,nodesFocusable:te,edgesFocusable:fe,edgesUpdatable:Me,elementsSelectable:tt,elevateNodesOnSelect:Pr,minZoom:Le,maxZoom:we,nodeExtent:_e,onNodesChange:xr,onEdgesChange:wr,snapToGrid:ee,snapGrid:ae,connectionMode:D,translateExtent:$e,connectOnClick:kr,defaultEdgeOptions:_r,fitView:Cr,fitViewOptions:Nr,onNodesDelete:w,onEdgesDelete:E,onNodeDragStart:_,onNodeDrag:P,onNodeDragStop:I,onSelectionDrag:C,onSelectionDragStart:M,onSelectionDragStop:R,noPanClassName:mn,nodeOrigin:K,rfId:Ot,autoPanOnConnect:jr,autoPanOnNodeDrag:Dr,onError:Br,connectionRadius:Rr,isValidConnection:Ar,nodeDragThreshold:Lr}),v.createElement(bi,{onSelectionChange:O}),ir,v.createElement(Za,{proOptions:Or,position:Mr}),v.createElement(ki,{rfId:Ot,disableKeyboardA11y:yn})))});Lo.displayName="ReactFlow";function $o(t){return e=>{let[n,o]=(0,v.useState)(e);return[n,o,(0,v.useCallback)(i=>o(l=>t(i,l)),[])]}}var js=$o(mo),Ds=$o(Ti);function Rs(){return v.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},v.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function As(){return v.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},v.createElement("path",{d:"M0 0h32v4.2H0z"}))}function Bs(){return v.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},v.createElement("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 zs(){return v.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},v.createElement("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 Ls(){return v.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},v.createElement("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"}))}var et=({children:t,className:e,...n})=>v.createElement("button",{type:"button",className:he(["react-flow__controls-button",e]),...n},t);et.displayName="ControlButton";var $s=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom}),To=({style:t,showZoom:e=!0,showFitView:n=!0,showInteractive:o=!0,fitViewOptions:i,onZoomIn:l,onZoomOut:a,onFitView:d,onInteractiveChange:s,className:c,children:u,position:r="bottom-left"})=>{let g=le(),[h,m]=(0,v.useState)(!1),{isInteractive:f,minZoomReached:y,maxZoomReached:x}=ne($s,ue),{zoomIn:b,zoomOut:N,fitView:p}=lt();if((0,v.useEffect)(()=>{m(!0)},[]),!h)return null;let S=()=>{b(),l==null||l()},k=()=>{N(),a==null||a()},_=()=>{p(i),d==null||d()},P=()=>{g.setState({nodesDraggable:!f,nodesConnectable:!f,elementsSelectable:!f}),s==null||s(!f)};return v.createElement(pt,{className:he(["react-flow__controls",c]),position:r,style:t,"data-testid":"rf__controls"},e&&v.createElement(v.Fragment,null,v.createElement(et,{onClick:S,className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:x},v.createElement(Rs,null)),v.createElement(et,{onClick:k,className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:y},v.createElement(As,null))),n&&v.createElement(et,{className:"react-flow__controls-fitview",onClick:_,title:"fit view","aria-label":"fit view"},v.createElement(Bs,null)),o&&v.createElement(et,{className:"react-flow__controls-interactive",onClick:P,title:"toggle interactivity","aria-label":"toggle interactivity"},f?v.createElement(Ls,null):v.createElement(zs,null)),u)};To.displayName="Controls";var Ts=(0,v.memo)(To),ye;(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(ye||(ye={}));function Hs({color:t,dimensions:e,lineWidth:n}){return v.createElement("path",{stroke:t,strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})}function Vs({color:t,radius:e}){return v.createElement("circle",{cx:e,cy:e,r:e,fill:t})}var Fs={[ye.Dots]:"#91919a",[ye.Lines]:"#eee",[ye.Cross]:"#e2e2e2"},Xs={[ye.Dots]:1,[ye.Lines]:1,[ye.Cross]:6},Ws=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function Ho({id:t,variant:e=ye.Dots,gap:n=20,size:o,lineWidth:i=1,offset:l=2,color:a,style:d,className:s}){let c=(0,v.useRef)(null),{transform:u,patternId:r}=ne(Ws,ue),g=a||Fs[e],h=o||Xs[e],m=e===ye.Dots,f=e===ye.Cross,y=Array.isArray(n)?n:[n,n],x=[y[0]*u[2]||1,y[1]*u[2]||1],b=h*u[2],N=f?[b,b]:x,p=m?[b/l,b/l]:[N[0]/l,N[1]/l];return v.createElement("svg",{className:he(["react-flow__background",s]),style:{...d,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:c,"data-testid":"rf__background"},v.createElement("pattern",{id:r+t,x:u[0]%x[0],y:u[1]%x[1],width:x[0],height:x[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${p[0]},-${p[1]})`},m?v.createElement(Vs,{color:g,radius:b/l}):v.createElement(Hs,{dimensions:N,color:g,lineWidth:i})),v.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${r+t})`}))}Ho.displayName="Background";var Ys=(0,v.memo)(Ho),Zs=Re();function Vo(t){return Math.min(t*11+35,200)}const hn="outputs",gn="inputs";var Ks=class{createEdge(t,e){return{animated:!0,markerEnd:{type:vt.ArrowClosed},id:`${t}-${e}`,style:{strokeWidth:2},source:t,sourceHandle:hn,targetHandle:gn,target:e}}createNode(t,e){let n=Pt.get(e).code.trim().split(`
2
+ `).length,o=Vo(n);return{id:t,data:{atom:e,forceWidth:300},width:300,type:"custom",height:o,position:{x:0,y:0}}}createElements(t,e,n,o){let i=[],l=[],a=new Set,d=new Set;for(let s of Object.values(n)){if(s.value==="marimo"&&s.name==="mo")continue;let{declaredBy:c,usedBy:u}=s;for(let r of c)for(let g of u){let h=`${r}-${g}`;d.has(h)||(d.add(h),a.add(r),a.add(g),l.push(this.createEdge(r,g)))}}for(let[s,c]of ra.zip(t,e)){o||i.push(this.createNode(s,c));let u=a.has(s),r=Pt.get(c).code.trim().startsWith("mo.md");(u||!r)&&i.push(this.createNode(s,c))}return{nodes:i,edges:l}}},z=_t(na(),1);function Gs(t){return Math.min(Math.max(t-100,100),400)}const Fo=v.createContext("LR"),Xo=(0,v.memo)(t=>{let e=(0,Zs.c)(51),{data:n,selected:o}=t,i=jt(n.atom),l=Dt().inOrderIds.indexOf(i.id),a=o?"var(--gray-9)":"var(--gray-3)",d=ne(qs),s=(0,v.use)(Fo),c,u,r,g;if(e[0]!==i.code||e[1]!==a||e[2]!==s||e[3]!==o){let w=i.code.split(`
3
+ `).length,E=s==="LR"?W.Left:W.Top,O;e[8]===a?O=e[9]:(O={background:a},e[8]=a,e[9]=O),e[10]!==E||e[11]!==O?(r=(0,z.jsx)(Ce,{type:"target",id:gn,"data-testid":"input-one",position:E,style:O}),e[10]=E,e[11]=O,e[12]=r):r=e[12];let M=s==="LR"?W.Left:W.Top,C;e[13]===a?C=e[14]:(C={background:a},e[13]=a,e[14]=C),e[15]!==M||e[16]!==C?(g=(0,z.jsx)(Ce,{type:"source",id:gn,"data-testid":"input-two",position:M,style:C}),e[15]=M,e[16]=C,e[17]=g):g=e[17];let R=o&&"border-primary";e[18]===R?u=e[19]:(u=Ve("flex flex-col bg-card border border-input/50 rounded-md mx-[2px] overflow-hidden",R),e[18]=R,e[19]=u),c=Vo(w),e[0]=i.code,e[1]=a,e[2]=s,e[3]=o,e[4]=c,e[5]=u,e[6]=r,e[7]=g}else c=e[4],u=e[5],r=e[6],g=e[7];let h;e[20]!==n.forceWidth||e[21]!==d?(h=n.forceWidth||Gs(d),e[20]=n.forceWidth,e[21]=d,e[22]=h):h=e[22];let m;e[23]!==c||e[24]!==h?(m={height:c,width:h},e[23]=c,e[24]=h,e[25]=m):m=e[25];let f=Qr(i.name,l),y;e[26]===f?y=e[27]:(y=(0,z.jsx)("div",{className:"text-muted-foreground font-semibold text-xs py-1 px-2 bg-muted border-b",children:f}),e[26]=f,e[27]=y);let x;e[28]===i.code?x=e[29]:(x=(0,z.jsx)(Pa,{code:i.code}),e[28]=i.code,e[29]=x);let b;e[30]!==u||e[31]!==m||e[32]!==y||e[33]!==x?(b=(0,z.jsxs)("div",{className:u,style:m,children:[y,x]}),e[30]=u,e[31]=m,e[32]=y,e[33]=x,e[34]=b):b=e[34];let N=s==="LR"?W.Right:W.Bottom,p;e[35]===a?p=e[36]:(p={background:a},e[35]=a,e[36]=p);let S;e[37]!==N||e[38]!==p?(S=(0,z.jsx)(Ce,{type:"source",id:hn,"data-testid":"output-one",position:N,style:p}),e[37]=N,e[38]=p,e[39]=S):S=e[39];let k=s==="LR"?W.Right:W.Bottom,_;e[40]===a?_=e[41]:(_={background:a},e[40]=a,e[41]=_);let P;e[42]!==k||e[43]!==_?(P=(0,z.jsx)(Ce,{type:"target",id:hn,"data-testid":"output-two",position:k,style:_}),e[42]=k,e[43]=_,e[44]=P):P=e[44];let I;return e[45]!==b||e[46]!==S||e[47]!==P||e[48]!==r||e[49]!==g?(I=(0,z.jsxs)("div",{children:[r,g,b,S,P]}),e[45]=b,e[46]=S,e[47]=P,e[48]=r,e[49]=g,e[50]=I):I=e[50],I},(t,e)=>["data","selected","id"].every(n=>t[n]===e[n]));Xo.displayName="CustomNode";const Us={custom:Xo};function qs(t){let{width:e}=t;return e}var Wo=Re();const Yo=(0,v.memo)(t=>{let e=(0,Wo.c)(34),{onChange:n,view:o,settings:i,onSettingsChange:l}=t,a;e[0]!==l||e[1]!==i?(a=(w,E)=>{l({...i,[w]:E})},e[0]=l,e[1]=i,e[2]=a):a=e[2];let d=a,s=(0,v.useId)(),c;e[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,z.jsx)(ma,{asChild:!0,children:(0,z.jsx)(rt,{variant:"text",size:"xs",children:(0,z.jsx)(ha,{className:"w-4 h-4"})})}),e[3]=c):c=e[3];let u;e[4]===Symbol.for("react.memo_cache_sentinel")?(u=(0,z.jsx)("div",{className:"font-semibold pb-4",children:"Settings"}),e[4]=u):u=e[4];let r;e[5]===d?r=e[6]:(r=w=>d("hidePureMarkdown",!!w),e[5]=d,e[6]=r);let g;e[7]!==s||e[8]!==i.hidePureMarkdown||e[9]!==r?(g=(0,z.jsx)(Kr,{"data-testid":"hide-pure-markdown-checkbox",id:s,checked:i.hidePureMarkdown,onCheckedChange:r}),e[7]=s,e[8]=i.hidePureMarkdown,e[9]=r,e[10]=g):g=e[10];let h;e[11]===s?h=e[12]:(h=(0,z.jsx)(Ca,{htmlFor:s,children:"Hide pure markdown"}),e[11]=s,e[12]=h);let m;e[13]!==g||e[14]!==h?(m=(0,z.jsxs)(va,{children:[c,(0,z.jsxs)(ya,{className:"w-auto p-2 text-muted-foreground",children:[u,(0,z.jsxs)("div",{className:"flex items-center gap-2",children:[g,h]})]})]}),e[13]=g,e[14]=h,e[15]=m):m=e[15];let f=m,y=o==="TB",x;e[16]===n?x=e[17]:(x=()=>n("TB"),e[16]=n,e[17]=x);let b;e[18]===Symbol.for("react.memo_cache_sentinel")?(b=(0,z.jsx)(xn,{className:"w-4 h-4 mr-1"}),e[18]=b):b=e[18];let N;e[19]!==y||e[20]!==x?(N=(0,z.jsxs)(rt,{variant:"outline",className:"bg-background","aria-selected":y,size:"xs",onClick:x,children:[b,"Vertical Tree"]}),e[19]=y,e[20]=x,e[21]=N):N=e[21];let p=o==="LR",S;e[22]===n?S=e[23]:(S=()=>n("LR"),e[22]=n,e[23]=S);let k;e[24]===Symbol.for("react.memo_cache_sentinel")?(k=(0,z.jsx)(xn,{className:"w-4 h-4 mr-1 transform -rotate-90"}),e[24]=k):k=e[24];let _;e[25]!==p||e[26]!==S?(_=(0,z.jsxs)(rt,{variant:"outline",className:"bg-background","aria-selected":p,size:"xs",onClick:S,children:[k," ","Horizontal Tree"]}),e[25]=p,e[26]=S,e[27]=_):_=e[27];let P;e[28]!==N||e[29]!==_?(P=(0,z.jsxs)("div",{className:"flex gap-2",children:[N,_]}),e[28]=N,e[29]=_,e[30]=P):P=e[30];let I;return e[31]!==f||e[32]!==P?(I=(0,z.jsxs)(pt,{position:"top-right",className:"flex flex-col items-end gap-2",children:[P,f]}),e[31]=f,e[32]=P,e[33]=I):I=e[33],I});Yo.displayName="GraphToolbar";const Zo=(0,v.memo)(t=>{let e=(0,Wo.c)(11),{selection:n,variables:o,onClearSelection:i}=t;if(!n)return null;let l=Js,a;e[0]!==i||e[1]!==n.id||e[2]!==n.source||e[3]!==n.target||e[4]!==n.type||e[5]!==o?(a=()=>{if(n.type==="node"){let u=Object.values(o).filter(h=>h.usedBy.includes(n.id)),r=Object.values(o).filter(h=>h.declaredBy.includes(n.id)),g=(h,m)=>(0,z.jsxs)(z.Fragment,{children:[h.length===0&&(0,z.jsx)("div",{className:"text-muted-foreground text-sm text-center",children:"--"}),(0,z.jsx)("div",{className:"grid grid-cols-5 gap-3 items-center text-sm py-1 flex-1 empty:hidden",children:h.map(f=>(0,z.jsxs)(v.Fragment,{children:[(0,z.jsx)(Sn,{declaredBy:f.declaredBy,name:f.name}),(0,z.jsxs)("div",{className:"truncate col-span-2",title:f.value??"",children:[f.value,(0,z.jsxs)("span",{className:"ml-1 truncate text-foreground/60 font-mono",children:["(",f.dataType,")"]})]}),(0,z.jsx)("div",{className:"truncate col-span-2 gap-1 items-center",children:(0,z.jsx)(Ia,{skipScroll:!0,onClick:()=>l(m==="in"?f.declaredBy[0]:f.usedBy[0],f.name),maxCount:3,cellIds:f.usedBy})})]},f.name))})]});return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)("div",{className:"font-bold py-2 flex items-center gap-2 border-b px-3",children:[(0,z.jsx)(ga,{className:"w-5 h-5"}),(0,z.jsx)(At,{cellId:n.id}),(0,z.jsx)("div",{className:"flex-1"}),(0,z.jsx)(ia,{cellId:n.id,children:(0,z.jsx)(rt,{variant:"ghost",size:"icon",children:(0,z.jsx)(ua,{className:"w-4 h-4"})})}),(0,z.jsx)(rt,{variant:"text",size:"icon",onClick:()=>{i()},children:(0,z.jsx)(la,{className:"w-4 h-4"})})]}),(0,z.jsxs)("div",{className:"text-sm flex flex-col py-3 pl-2 pr-4 flex-1 justify-center",children:[(0,z.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,z.jsxs)("span",{className:"flex items-center gap-2 font-semibold",children:[(0,z.jsx)(ja,{className:"w-4 h-4"}),"Outputs"]}),g(r,"out")]}),(0,z.jsx)("hr",{className:"border-divider my-3"}),(0,z.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,z.jsxs)("span",{className:"flex items-center gap-2 font-semibold",children:[(0,z.jsx)(Da,{className:"w-4 h-4"}),"Inputs"]}),g(u,"in")]})]})]})}if(n.type==="edge"){let u=Object.values(o).filter(r=>r.declaredBy.includes(n.source)&&r.usedBy.includes(n.target));return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)("div",{className:"font-bold py-2 flex items-center gap-2 border-b px-3",children:[(0,z.jsx)(fa,{className:"w-4 h-4"}),(0,z.jsx)(At,{cellId:n.source}),(0,z.jsx)(aa,{className:"w-4 h-4"}),(0,z.jsx)(At,{cellId:n.target})]}),(0,z.jsx)("div",{className:"grid grid-cols-4 gap-3 max-w-[350px] items-center text-sm p-3 flex-1",children:u.map(r=>(0,z.jsxs)(v.Fragment,{children:[(0,z.jsx)(Sn,{declaredBy:r.declaredBy,name:r.name,onClick:()=>{l(r.declaredBy[0],r.name)}}),(0,z.jsx)("div",{className:"truncate text-foreground/60 font-mono",children:r.dataType}),(0,z.jsx)("div",{className:"truncate col-span-2",title:r.value??"",children:r.value})]},r.name))})]})}},e[0]=i,e[1]=n.id,e[2]=n.source,e[3]=n.target,e[4]=n.type,e[5]=o,e[6]=a):a=e[6];let d=a,s;e[7]===d?s=e[8]:(s=d(),e[7]=d,e[8]=s);let c;return e[9]===s?c=e[10]:(c=(0,z.jsx)(pt,{position:"bottom-left",className:"max-h-[90%] flex flex-col w-[calc(100%-5rem)]",children:(0,z.jsx)("div",{className:"min-h-[100px] shadow-md rounded-md border max-w-[550px] border-primary/40 my-4 min-w-[240px] bg-(--slate-1) text-muted-foreground/80 flex flex-col overflow-y-auto",children:s})}),e[9]=s,e[10]=c),c});Zo.displayName="GraphSelectionPanel";function Js(t,e){let n=Ur(t);n&&Yr(n,e)}var fn=q(((t,e)=>{var n="\0",o="\0",i="",l=class{constructor(r){ie(this,"_isDirected",!0);ie(this,"_isMultigraph",!1);ie(this,"_isCompound",!1);ie(this,"_label");ie(this,"_defaultNodeLabelFn",()=>{});ie(this,"_defaultEdgeLabelFn",()=>{});ie(this,"_nodes",{});ie(this,"_in",{});ie(this,"_preds",{});ie(this,"_out",{});ie(this,"_sucs",{});ie(this,"_edgeObjs",{});ie(this,"_edgeLabels",{});ie(this,"_nodeCount",0);ie(this,"_edgeCount",0);ie(this,"_parent");ie(this,"_children");r&&(this._isDirected=Object.hasOwn(r,"directed")?r.directed:!0,this._isMultigraph=Object.hasOwn(r,"multigraph")?r.multigraph:!1,this._isCompound=Object.hasOwn(r,"compound")?r.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[o]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(r){return this._label=r,this}graph(){return this._label}setDefaultNodeLabel(r){return this._defaultNodeLabelFn=r,typeof r!="function"&&(this._defaultNodeLabelFn=()=>r),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var r=this;return this.nodes().filter(g=>Object.keys(r._in[g]).length===0)}sinks(){var r=this;return this.nodes().filter(g=>Object.keys(r._out[g]).length===0)}setNodes(r,g){var h=arguments,m=this;return r.forEach(function(f){h.length>1?m.setNode(f,g):m.setNode(f)}),this}setNode(r,g){return Object.hasOwn(this._nodes,r)?(arguments.length>1&&(this._nodes[r]=g),this):(this._nodes[r]=arguments.length>1?g:this._defaultNodeLabelFn(r),this._isCompound&&(this._parent[r]=o,this._children[r]={},this._children[o][r]=!0),this._in[r]={},this._preds[r]={},this._out[r]={},this._sucs[r]={},++this._nodeCount,this)}node(r){return this._nodes[r]}hasNode(r){return Object.hasOwn(this._nodes,r)}removeNode(r){var g=this;if(Object.hasOwn(this._nodes,r)){var h=m=>g.removeEdge(g._edgeObjs[m]);delete this._nodes[r],this._isCompound&&(this._removeFromParentsChildList(r),delete this._parent[r],this.children(r).forEach(function(m){g.setParent(m)}),delete this._children[r]),Object.keys(this._in[r]).forEach(h),delete this._in[r],delete this._preds[r],Object.keys(this._out[r]).forEach(h),delete this._out[r],delete this._sucs[r],--this._nodeCount}return this}setParent(r,g){if(!this._isCompound)throw Error("Cannot set parent in a non-compound graph");if(g===void 0)g=o;else{g+="";for(var h=g;h!==void 0;h=this.parent(h))if(h===r)throw Error("Setting "+g+" as parent of "+r+" would create a cycle");this.setNode(g)}return this.setNode(r),this._removeFromParentsChildList(r),this._parent[r]=g,this._children[g][r]=!0,this}_removeFromParentsChildList(r){delete this._children[this._parent[r]][r]}parent(r){if(this._isCompound){var g=this._parent[r];if(g!==o)return g}}children(r=o){if(this._isCompound){var g=this._children[r];if(g)return Object.keys(g)}else{if(r===o)return this.nodes();if(this.hasNode(r))return[]}}predecessors(r){var g=this._preds[r];if(g)return Object.keys(g)}successors(r){var g=this._sucs[r];if(g)return Object.keys(g)}neighbors(r){var g=this.predecessors(r);if(g){let m=new Set(g);for(var h of this.successors(r))m.add(h);return Array.from(m.values())}}isLeaf(r){return(this.isDirected()?this.successors(r):this.neighbors(r)).length===0}filterNodes(r){var g=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});g.setGraph(this.graph());var h=this;Object.entries(this._nodes).forEach(function([y,x]){r(y)&&g.setNode(y,x)}),Object.values(this._edgeObjs).forEach(function(y){g.hasNode(y.v)&&g.hasNode(y.w)&&g.setEdge(y,h.edge(y))});var m={};function f(y){var x=h.parent(y);return x===void 0||g.hasNode(x)?(m[y]=x,x):x in m?m[x]:f(x)}return this._isCompound&&g.nodes().forEach(y=>g.setParent(y,f(y))),g}setDefaultEdgeLabel(r){return this._defaultEdgeLabelFn=r,typeof r!="function"&&(this._defaultEdgeLabelFn=()=>r),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(r,g){var h=this,m=arguments;return r.reduce(function(f,y){return m.length>1?h.setEdge(f,y,g):h.setEdge(f,y),y}),this}setEdge(){var r,g,h,m,f=!1,y=arguments[0];typeof y=="object"&&y&&"v"in y?(r=y.v,g=y.w,h=y.name,arguments.length===2&&(m=arguments[1],f=!0)):(r=y,g=arguments[1],h=arguments[3],arguments.length>2&&(m=arguments[2],f=!0)),r=""+r,g=""+g,h!==void 0&&(h=""+h);var x=s(this._isDirected,r,g,h);if(Object.hasOwn(this._edgeLabels,x))return f&&(this._edgeLabels[x]=m),this;if(h!==void 0&&!this._isMultigraph)throw Error("Cannot set a named edge when isMultigraph = false");this.setNode(r),this.setNode(g),this._edgeLabels[x]=f?m:this._defaultEdgeLabelFn(r,g,h);var b=c(this._isDirected,r,g,h);return r=b.v,g=b.w,Object.freeze(b),this._edgeObjs[x]=b,a(this._preds[g],r),a(this._sucs[r],g),this._in[g][x]=b,this._out[r][x]=b,this._edgeCount++,this}edge(r,g,h){var m=arguments.length===1?u(this._isDirected,arguments[0]):s(this._isDirected,r,g,h);return this._edgeLabels[m]}edgeAsObj(){let r=this.edge(...arguments);return typeof r=="object"?r:{label:r}}hasEdge(r,g,h){var m=arguments.length===1?u(this._isDirected,arguments[0]):s(this._isDirected,r,g,h);return Object.hasOwn(this._edgeLabels,m)}removeEdge(r,g,h){var m=arguments.length===1?u(this._isDirected,arguments[0]):s(this._isDirected,r,g,h),f=this._edgeObjs[m];return f&&(r=f.v,g=f.w,delete this._edgeLabels[m],delete this._edgeObjs[m],d(this._preds[g],r),d(this._sucs[r],g),delete this._in[g][m],delete this._out[r][m],this._edgeCount--),this}inEdges(r,g){var h=this._in[r];if(h){var m=Object.values(h);return g?m.filter(f=>f.v===g):m}}outEdges(r,g){var h=this._out[r];if(h){var m=Object.values(h);return g?m.filter(f=>f.w===g):m}}nodeEdges(r,g){var h=this.inEdges(r,g);if(h)return h.concat(this.outEdges(r,g))}};function a(r,g){r[g]?r[g]++:r[g]=1}function d(r,g){--r[g]||delete r[g]}function s(r,g,h,m){var f=""+g,y=""+h;if(!r&&f>y){var x=f;f=y,y=x}return f+i+y+i+(m===void 0?n:m)}function c(r,g,h,m){var f=""+g,y=""+h;if(!r&&f>y){var x=f;f=y,y=x}var b={v:f,w:y};return m&&(b.name=m),b}function u(r,g){return s(r,g.v,g.w,g.name)}e.exports=l})),Qs=q(((t,e)=>{e.exports="2.2.4"})),el=q(((t,e)=>{e.exports={Graph:fn(),version:Qs()}})),tl=q(((t,e)=>{var n=fn();e.exports={write:o,read:a};function o(d){var s={options:{directed:d.isDirected(),multigraph:d.isMultigraph(),compound:d.isCompound()},nodes:i(d),edges:l(d)};return d.graph()!==void 0&&(s.value=structuredClone(d.graph())),s}function i(d){return d.nodes().map(function(s){var c=d.node(s),u=d.parent(s),r={v:s};return c!==void 0&&(r.value=c),u!==void 0&&(r.parent=u),r})}function l(d){return d.edges().map(function(s){var c=d.edge(s),u={v:s.v,w:s.w};return s.name!==void 0&&(u.name=s.name),c!==void 0&&(u.value=c),u})}function a(d){var s=new n(d.options).setGraph(d.value);return d.nodes.forEach(function(c){s.setNode(c.v,c.value),c.parent&&s.setParent(c.v,c.parent)}),d.edges.forEach(function(c){s.setEdge({v:c.v,w:c.w,name:c.name},c.value)}),s}})),nl=q(((t,e)=>{e.exports=n;function n(o){var i={},l=[],a;function d(s){Object.hasOwn(i,s)||(i[s]=!0,a.push(s),o.successors(s).forEach(d),o.predecessors(s).forEach(d))}return o.nodes().forEach(function(s){a=[],d(s),a.length&&l.push(a)}),l}})),Ko=q(((t,e)=>{e.exports=class{constructor(){ie(this,"_arr",[]);ie(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 o=this._keyIndices[n];if(o!==void 0)return this._arr[o].priority}min(){if(this.size()===0)throw Error("Queue underflow");return this._arr[0].key}add(n,o){var i=this._keyIndices;if(n=String(n),!Object.hasOwn(i,n)){var l=this._arr,a=l.length;return i[n]=a,l.push({key:n,priority:o}),this._decrease(a),!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,o){var i=this._keyIndices[n];if(o>this._arr[i].priority)throw Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[i].priority+" New: "+o);this._arr[i].priority=o,this._decrease(i)}_heapify(n){var o=this._arr,i=2*n,l=i+1,a=n;i<o.length&&(a=o[i].priority<o[a].priority?i:a,l<o.length&&(a=o[l].priority<o[a].priority?l:a),a!==n&&(this._swap(n,a),this._heapify(a)))}_decrease(n){for(var o=this._arr,i=o[n].priority,l;n!==0&&(l=n>>1,!(o[l].priority<i));)this._swap(n,l),n=l}_swap(n,o){var i=this._arr,l=this._keyIndices,a=i[n],d=i[o];i[n]=d,i[o]=a,l[d.key]=n,l[a.key]=o}}})),Go=q(((t,e)=>{var n=Ko();e.exports=i;var o=()=>1;function i(a,d,s,c){return l(a,String(d),s||o,c||function(u){return a.outEdges(u)})}function l(a,d,s,c){var u={},r=new n,g,h,m=function(f){var y=f.v===g?f.w:f.v,x=u[y],b=s(f),N=h.distance+b;if(b<0)throw Error("dijkstra does not allow negative edge weights. Bad edge: "+f+" Weight: "+b);N<x.distance&&(x.distance=N,x.predecessor=g,r.decrease(y,N))};for(a.nodes().forEach(function(f){var y=f===d?0:1/0;u[f]={distance:y},r.add(f,y)});r.size()>0&&(g=r.removeMin(),h=u[g],h.distance!==1/0);)c(g).forEach(m);return u}})),ol=q(((t,e)=>{var n=Go();e.exports=o;function o(i,l,a){return i.nodes().reduce(function(d,s){return d[s]=n(i,s,l,a),d},{})}})),Uo=q(((t,e)=>{e.exports=n;function n(o){var i=0,l=[],a={},d=[];function s(c){var u=a[c]={onStack:!0,lowlink:i,index:i++};if(l.push(c),o.successors(c).forEach(function(h){Object.hasOwn(a,h)?a[h].onStack&&(u.lowlink=Math.min(u.lowlink,a[h].index)):(s(h),u.lowlink=Math.min(u.lowlink,a[h].lowlink))}),u.lowlink===u.index){var r=[],g;do g=l.pop(),a[g].onStack=!1,r.push(g);while(c!==g);d.push(r)}}return o.nodes().forEach(function(c){Object.hasOwn(a,c)||s(c)}),d}})),rl=q(((t,e)=>{var n=Uo();e.exports=o;function o(i){return n(i).filter(function(l){return l.length>1||l.length===1&&i.hasEdge(l[0],l[0])})}})),al=q(((t,e)=>{e.exports=o;var n=()=>1;function o(l,a,d){return i(l,a||n,d||function(s){return l.outEdges(s)})}function i(l,a,d){var s={},c=l.nodes();return c.forEach(function(u){s[u]={},s[u][u]={distance:0},c.forEach(function(r){u!==r&&(s[u][r]={distance:1/0})}),d(u).forEach(function(r){var g=r.v===u?r.w:r.v,h=a(r);s[u][g]={distance:h,predecessor:u}})}),c.forEach(function(u){var r=s[u];c.forEach(function(g){var h=s[g];c.forEach(function(m){var f=h[u],y=r[m],x=h[m],b=f.distance+y.distance;b<x.distance&&(x.distance=b,x.predecessor=y.predecessor)})})}),s}})),qo=q(((t,e)=>{function n(i){var l={},a={},d=[];function s(c){if(Object.hasOwn(a,c))throw new o;Object.hasOwn(l,c)||(a[c]=!0,l[c]=!0,i.predecessors(c).forEach(s),delete a[c],d.push(c))}if(i.sinks().forEach(s),Object.keys(l).length!==i.nodeCount())throw new o;return d}var o=class extends Error{constructor(){super(...arguments)}};e.exports=n,n.CycleException=o})),il=q(((t,e)=>{var n=qo();e.exports=o;function o(i){try{n(i)}catch(l){if(l instanceof n.CycleException)return!1;throw l}return!0}})),Jo=q(((t,e)=>{e.exports=n;function n(a,d,s){Array.isArray(d)||(d=[d]);var c=a.isDirected()?h=>a.successors(h):h=>a.neighbors(h),u=s==="post"?o:i,r=[],g={};return d.forEach(h=>{if(!a.hasNode(h))throw Error("Graph does not have node: "+h);u(h,c,g,r)}),r}function o(a,d,s,c){for(var u=[[a,!1]];u.length>0;){var r=u.pop();r[1]?c.push(r[0]):Object.hasOwn(s,r[0])||(s[r[0]]=!0,u.push([r[0],!0]),l(d(r[0]),g=>u.push([g,!1])))}}function i(a,d,s,c){for(var u=[a];u.length>0;){var r=u.pop();Object.hasOwn(s,r)||(s[r]=!0,c.push(r),l(d(r),g=>u.push(g)))}}function l(a,d){for(var s=a.length;s--;)d(a[s],s,a);return a}})),sl=q(((t,e)=>{var n=Jo();e.exports=o;function o(i,l){return n(i,l,"post")}})),ll=q(((t,e)=>{var n=Jo();e.exports=o;function o(i,l){return n(i,l,"pre")}})),dl=q(((t,e)=>{var n=fn(),o=Ko();e.exports=i;function i(l,a){var d=new n,s={},c=new o,u;function r(h){var m=h.v===u?h.w:h.v,f=c.priority(m);if(f!==void 0){var y=a(h);y<f&&(s[m]=u,c.decrease(m,y))}}if(l.nodeCount()===0)return d;l.nodes().forEach(function(h){c.add(h,1/0),d.setNode(h)}),c.decrease(l.nodes()[0],0);for(var g=!1;c.size()>0;){if(u=c.removeMin(),Object.hasOwn(s,u))d.setEdge(u,s[u]);else{if(g)throw Error("Input graph is not connected: "+l);g=!0}l.nodeEdges(u).forEach(r)}return d}})),cl=q(((t,e)=>{e.exports={components:nl(),dijkstra:Go(),dijkstraAll:ol(),findCycles:rl(),floydWarshall:al(),isAcyclic:il(),postorder:sl(),preorder:ll(),prim:dl(),tarjan:Uo(),topsort:qo()}})),ve=q(((t,e)=>{var n=el();e.exports={Graph:n.Graph,json:tl(),alg:cl(),version:n.version}})),ul=q(((t,e)=>{var n=class{constructor(){let l={};l._next=l._prev=l,this._sentinel=l}dequeue(){let l=this._sentinel,a=l._prev;if(a!==l)return o(a),a}enqueue(l){let a=this._sentinel;l._prev&&l._next&&o(l),l._next=a._next,a._next._prev=l,a._next=l,l._prev=a}toString(){let l=[],a=this._sentinel,d=a._prev;for(;d!==a;)l.push(JSON.stringify(d,i)),d=d._prev;return"["+l.join(", ")+"]"}};function o(l){l._prev._next=l._next,l._next._prev=l._prev,delete l._next,delete l._prev}function i(l,a){if(l!=="_next"&&l!=="_prev")return a}e.exports=n})),hl=q(((t,e)=>{var n=ve().Graph,o=ul();e.exports=l;var i=()=>1;function l(r,g){if(r.nodeCount()<=1)return[];let h=s(r,g||i);return a(h.graph,h.buckets,h.zeroIdx).flatMap(m=>r.outEdges(m.v,m.w))}function a(r,g,h){let m=[],f=g[g.length-1],y=g[0],x;for(;r.nodeCount();){for(;x=y.dequeue();)d(r,g,h,x);for(;x=f.dequeue();)d(r,g,h,x);if(r.nodeCount()){for(let b=g.length-2;b>0;--b)if(x=g[b].dequeue(),x){m=m.concat(d(r,g,h,x,!0));break}}}return m}function d(r,g,h,m,f){let y=f?[]:void 0;return r.inEdges(m.v).forEach(x=>{let b=r.edge(x),N=r.node(x.v);f&&y.push({v:x.v,w:x.w}),N.out-=b,c(g,h,N)}),r.outEdges(m.v).forEach(x=>{let b=r.edge(x),N=x.w,p=r.node(N);p.in-=b,c(g,h,p)}),r.removeNode(m.v),y}function s(r,g){let h=new n,m=0,f=0;r.nodes().forEach(b=>{h.setNode(b,{v:b,in:0,out:0})}),r.edges().forEach(b=>{let N=h.edge(b.v,b.w)||0,p=g(b),S=N+p;h.setEdge(b.v,b.w,S),f=Math.max(f,h.node(b.v).out+=p),m=Math.max(m,h.node(b.w).in+=p)});let y=u(f+m+3).map(()=>new o),x=m+1;return h.nodes().forEach(b=>{c(y,x,h.node(b))}),{graph:h,buckets:y,zeroIdx:x}}function c(r,g,h){h.out?h.in?r[h.out-h.in+g].enqueue(h):r[r.length-1].enqueue(h):r[0].enqueue(h)}function u(r){let g=[];for(let h=0;h<r;h++)g.push(h);return g}})),se=q(((t,e)=>{var n=ve().Graph;e.exports={addBorderNode:g,addDummyNode:o,applyWithChunking:f,asNonCompoundGraph:l,buildLayerMatrix:c,intersectRect:s,mapValues:P,maxRank:y,normalizeRanks:u,notime:N,partition:x,pick:_,predecessorWeights:d,range:k,removeEmptyRanks:r,simplify:i,successorWeights:a,time:b,uniqueId:S,zipObject:I};function o(w,E,O,M){for(var C=M;w.hasNode(C);)C=S(M);return O.dummy=E,w.setNode(C,O),C}function i(w){let E=new n().setGraph(w.graph());return w.nodes().forEach(O=>E.setNode(O,w.node(O))),w.edges().forEach(O=>{let M=E.edge(O.v,O.w)||{weight:0,minlen:1},C=w.edge(O);E.setEdge(O.v,O.w,{weight:M.weight+C.weight,minlen:Math.max(M.minlen,C.minlen)})}),E}function l(w){let E=new n({multigraph:w.isMultigraph()}).setGraph(w.graph());return w.nodes().forEach(O=>{w.children(O).length||E.setNode(O,w.node(O))}),w.edges().forEach(O=>{E.setEdge(O,w.edge(O))}),E}function a(w){let E=w.nodes().map(O=>{let M={};return w.outEdges(O).forEach(C=>{M[C.w]=(M[C.w]||0)+w.edge(C).weight}),M});return I(w.nodes(),E)}function d(w){let E=w.nodes().map(O=>{let M={};return w.inEdges(O).forEach(C=>{M[C.v]=(M[C.v]||0)+w.edge(C).weight}),M});return I(w.nodes(),E)}function s(w,E){let O=w.x,M=w.y,C=E.x-O,R=E.y-M,L=w.width/2,H=w.height/2;if(!C&&!R)throw Error("Not possible to find intersection inside of the rectangle");let X,D;return Math.abs(R)*L>Math.abs(C)*H?(R<0&&(H=-H),X=H*C/R,D=H):(C<0&&(L=-L),X=L,D=L*R/C),{x:O+X,y:M+D}}function c(w){let E=k(y(w)+1).map(()=>[]);return w.nodes().forEach(O=>{let M=w.node(O),C=M.rank;C!==void 0&&(E[C][M.order]=O)}),E}function u(w){let E=w.nodes().map(M=>{let C=w.node(M).rank;return C===void 0?Number.MAX_VALUE:C}),O=f(Math.min,E);w.nodes().forEach(M=>{let C=w.node(M);Object.hasOwn(C,"rank")&&(C.rank-=O)})}function r(w){let E=w.nodes().map(L=>w.node(L).rank),O=f(Math.min,E),M=[];w.nodes().forEach(L=>{let H=w.node(L).rank-O;M[H]||(M[H]=[]),M[H].push(L)});let C=0,R=w.graph().nodeRankFactor;Array.from(M).forEach((L,H)=>{L===void 0&&H%R!==0?--C:L!==void 0&&C&&L.forEach(X=>w.node(X).rank+=C)})}function g(w,E,O,M){let C={width:0,height:0};return arguments.length>=4&&(C.rank=O,C.order=M),o(w,"border",C,E)}function h(w,E=m){let O=[];for(let M=0;M<w.length;M+=E){let C=w.slice(M,M+E);O.push(C)}return O}var m=65535;function f(w,E){if(E.length>m){let O=h(E);return w.apply(null,O.map(M=>w.apply(null,M)))}else return w.apply(null,E)}function y(w){let E=w.nodes().map(O=>{let M=w.node(O).rank;return M===void 0?Number.MIN_VALUE:M});return f(Math.max,E)}function x(w,E){let O={lhs:[],rhs:[]};return w.forEach(M=>{E(M)?O.lhs.push(M):O.rhs.push(M)}),O}function b(w,E){let O=Date.now();try{return E()}finally{console.log(w+" time: "+(Date.now()-O)+"ms")}}function N(w,E){return E()}var p=0;function S(w){return w+(""+ ++p)}function k(w,E,O=1){E??(E=w,w=0);let M=R=>R<E;O<0&&(M=R=>E<R);let C=[];for(let R=w;M(R);R+=O)C.push(R);return C}function _(w,E){let O={};for(let M of E)w[M]!==void 0&&(O[M]=w[M]);return O}function P(w,E){let O=E;return typeof E=="string"&&(O=M=>M[E]),Object.entries(w).reduce((M,[C,R])=>(M[C]=O(R,C),M),{})}function I(w,E){return w.reduce((O,M,C)=>(O[M]=E[C],O),{})}})),gl=q(((t,e)=>{var n=hl(),o=se().uniqueId;e.exports={run:i,undo:a};function i(d){(d.graph().acyclicer==="greedy"?n(d,s(d)):l(d)).forEach(c=>{let u=d.edge(c);d.removeEdge(c),u.forwardName=c.name,u.reversed=!0,d.setEdge(c.w,c.v,u,o("rev"))});function s(c){return u=>c.edge(u).weight}}function l(d){let s=[],c={},u={};function r(g){Object.hasOwn(u,g)||(u[g]=!0,c[g]=!0,d.outEdges(g).forEach(h=>{Object.hasOwn(c,h.w)?s.push(h):r(h.w)}),delete c[g])}return d.nodes().forEach(r),s}function a(d){d.edges().forEach(s=>{let c=d.edge(s);if(c.reversed){d.removeEdge(s);let u=c.forwardName;delete c.reversed,delete c.forwardName,d.setEdge(s.w,s.v,c,u)}})}})),fl=q(((t,e)=>{var n=se();e.exports={run:o,undo:l};function o(a){a.graph().dummyChains=[],a.edges().forEach(d=>i(a,d))}function i(a,d){let s=d.v,c=a.node(s).rank,u=d.w,r=a.node(u).rank,g=d.name,h=a.edge(d),m=h.labelRank;if(r===c+1)return;a.removeEdge(d);let f,y,x;for(x=0,++c;c<r;++x,++c)h.points=[],y={width:0,height:0,edgeLabel:h,edgeObj:d,rank:c},f=n.addDummyNode(a,"edge",y,"_d"),c===m&&(y.width=h.width,y.height=h.height,y.dummy="edge-label",y.labelpos=h.labelpos),a.setEdge(s,f,{weight:h.weight},g),x===0&&a.graph().dummyChains.push(f),s=f;a.setEdge(s,u,{weight:h.weight},g)}function l(a){a.graph().dummyChains.forEach(d=>{let s=a.node(d),c=s.edgeLabel,u;for(a.setEdge(s.edgeObj,c);s.dummy;)u=a.successors(d)[0],a.removeNode(d),c.points.push({x:s.x,y:s.y}),s.dummy==="edge-label"&&(c.x=s.x,c.y=s.y,c.width=s.width,c.height=s.height),d=u,s=a.node(d)})}})),Nt=q(((t,e)=>{var{applyWithChunking:n}=se();e.exports={longestPath:o,slack:i};function o(l){var a={};function d(s){var c=l.node(s);if(Object.hasOwn(a,s))return c.rank;a[s]=!0;let u=l.outEdges(s).map(g=>g==null?1/0:d(g.w)-l.edge(g).minlen);var r=n(Math.min,u);return r===1/0&&(r=0),c.rank=r}l.sources().forEach(d)}function i(l,a){return l.node(a.w).rank-l.node(a.v).rank-l.edge(a).minlen}})),Qo=q(((t,e)=>{var n=ve().Graph,o=Nt().slack;e.exports=i;function i(s){var c=new n({directed:!1}),u=s.nodes()[0],r=s.nodeCount();c.setNode(u,{});for(var g,h;l(c,s)<r;)g=a(c,s),h=c.hasNode(g.v)?o(s,g):-o(s,g),d(c,s,h);return c}function l(s,c){function u(r){c.nodeEdges(r).forEach(g=>{var h=g.v,m=r===h?g.w:h;!s.hasNode(m)&&!o(c,g)&&(s.setNode(m,{}),s.setEdge(r,m,{}),u(m))})}return s.nodes().forEach(u),s.nodeCount()}function a(s,c){return c.edges().reduce((u,r)=>{let g=1/0;return s.hasNode(r.v)!==s.hasNode(r.w)&&(g=o(c,r)),g<u[0]?[g,r]:u},[1/0,null])[1]}function d(s,c,u){s.nodes().forEach(r=>c.node(r).rank+=u)}})),pl=q(((t,e)=>{var n=Qo(),o=Nt().slack,i=Nt().longestPath,l=ve().alg.preorder,a=ve().alg.postorder,d=se().simplify;e.exports=s,s.initLowLimValues=g,s.initCutValues=c,s.calcCutValue=r,s.leaveEdge=m,s.enterEdge=f,s.exchangeEdges=y;function s(p){p=d(p),i(p);var S=n(p);g(S),c(S,p);for(var k,_;k=m(S);)_=f(S,p,k),y(S,p,k,_)}function c(p,S){var k=a(p,p.nodes());k=k.slice(0,k.length-1),k.forEach(_=>u(p,S,_))}function u(p,S,k){var _=p.node(k).parent;p.edge(k,_).cutvalue=r(p,S,k)}function r(p,S,k){var _=p.node(k).parent,P=!0,I=S.edge(k,_),w=0;return I||(I=(P=!1,S.edge(_,k))),w=I.weight,S.nodeEdges(k).forEach(E=>{var O=E.v===k,M=O?E.w:E.v;if(M!==_){var C=O===P,R=S.edge(E).weight;if(w+=C?R:-R,b(p,k,M)){var L=p.edge(k,M).cutvalue;w+=C?-L:L}}}),w}function g(p,S){arguments.length<2&&(S=p.nodes()[0]),h(p,{},1,S)}function h(p,S,k,_,P){var I=k,w=p.node(_);return S[_]=!0,p.neighbors(_).forEach(E=>{Object.hasOwn(S,E)||(k=h(p,S,k,E,_))}),w.low=I,w.lim=k++,P?w.parent=P:delete w.parent,k}function m(p){return p.edges().find(S=>p.edge(S).cutvalue<0)}function f(p,S,k){var _=k.v,P=k.w;S.hasEdge(_,P)||(_=k.w,P=k.v);var I=p.node(_),w=p.node(P),E=I,O=!1;return I.lim>w.lim&&(E=w,O=!0),S.edges().filter(M=>O===N(p,p.node(M.v),E)&&O!==N(p,p.node(M.w),E)).reduce((M,C)=>o(S,C)<o(S,M)?C:M)}function y(p,S,k,_){var P=k.v,I=k.w;p.removeEdge(P,I),p.setEdge(_.v,_.w,{}),g(p),c(p,S),x(p,S)}function x(p,S){var k=l(p,p.nodes().find(_=>!S.node(_).parent));k=k.slice(1),k.forEach(_=>{var P=p.node(_).parent,I=S.edge(_,P),w=!1;I||(I=S.edge(P,_),w=!0),S.node(_).rank=S.node(P).rank+(w?I.minlen:-I.minlen)})}function b(p,S,k){return p.hasEdge(S,k)}function N(p,S,k){return k.low<=S.lim&&S.lim<=k.lim}})),ml=q(((t,e)=>{var n=Nt().longestPath,o=Qo(),i=pl();e.exports=l;function l(c){var u=c.graph().ranker;if(u instanceof Function)return u(c);switch(c.graph().ranker){case"network-simplex":s(c);break;case"tight-tree":d(c);break;case"longest-path":a(c);break;case"none":break;default:s(c)}}var a=n;function d(c){n(c),o(c)}function s(c){i(c)}})),yl=q(((t,e)=>{e.exports=n;function n(l){let a=i(l);l.graph().dummyChains.forEach(d=>{let s=l.node(d),c=s.edgeObj,u=o(l,a,c.v,c.w),r=u.path,g=u.lca,h=0,m=r[h],f=!0;for(;d!==c.w;){if(s=l.node(d),f){for(;(m=r[h])!==g&&l.node(m).maxRank<s.rank;)h++;m===g&&(f=!1)}if(!f){for(;h<r.length-1&&l.node(m=r[h+1]).minRank<=s.rank;)h++;m=r[h]}l.setParent(d,m),d=l.successors(d)[0]}})}function o(l,a,d,s){let c=[],u=[],r=Math.min(a[d].low,a[s].low),g=Math.max(a[d].lim,a[s].lim),h,m;h=d;do h=l.parent(h),c.push(h);while(h&&(a[h].low>r||g>a[h].lim));for(m=h,h=s;(h=l.parent(h))!==m;)u.push(h);return{path:c.concat(u.reverse()),lca:m}}function i(l){let a={},d=0;function s(c){let u=d;l.children(c).forEach(s),a[c]={low:u,lim:d++}}return l.children().forEach(s),a}})),vl=q(((t,e)=>{var n=se();e.exports={run:o,cleanup:d};function o(s){let c=n.addDummyNode(s,"root",{},"_root"),u=l(s),r=Object.values(u),g=n.applyWithChunking(Math.max,r)-1,h=2*g+1;s.graph().nestingRoot=c,s.edges().forEach(f=>s.edge(f).minlen*=h);let m=a(s)+1;s.children().forEach(f=>i(s,c,h,m,g,u,f)),s.graph().nodeRankFactor=h}function i(s,c,u,r,g,h,m){let f=s.children(m);if(!f.length){m!==c&&s.setEdge(c,m,{weight:0,minlen:u});return}let y=n.addBorderNode(s,"_bt"),x=n.addBorderNode(s,"_bb"),b=s.node(m);s.setParent(y,m),b.borderTop=y,s.setParent(x,m),b.borderBottom=x,f.forEach(N=>{i(s,c,u,r,g,h,N);let p=s.node(N),S=p.borderTop?p.borderTop:N,k=p.borderBottom?p.borderBottom:N,_=p.borderTop?r:2*r,P=S===k?g-h[m]+1:1;s.setEdge(y,S,{weight:_,minlen:P,nestingEdge:!0}),s.setEdge(k,x,{weight:_,minlen:P,nestingEdge:!0})}),s.parent(m)||s.setEdge(c,y,{weight:0,minlen:g+h[m]})}function l(s){var c={};function u(r,g){var h=s.children(r);h&&h.length&&h.forEach(m=>u(m,g+1)),c[r]=g}return s.children().forEach(r=>u(r,1)),c}function a(s){return s.edges().reduce((c,u)=>c+s.edge(u).weight,0)}function d(s){var c=s.graph();s.removeNode(c.nestingRoot),delete c.nestingRoot,s.edges().forEach(u=>{s.edge(u).nestingEdge&&s.removeEdge(u)})}})),bl=q(((t,e)=>{var n=se();e.exports=o;function o(l){function a(d){let s=l.children(d),c=l.node(d);if(s.length&&s.forEach(a),Object.hasOwn(c,"minRank")){c.borderLeft=[],c.borderRight=[];for(let u=c.minRank,r=c.maxRank+1;u<r;++u)i(l,"borderLeft","_bl",d,c,u),i(l,"borderRight","_br",d,c,u)}}l.children().forEach(a)}function i(l,a,d,s,c,u){let r={width:0,height:0,rank:u,borderType:a},g=c[a][u-1],h=n.addDummyNode(l,"border",r,d);c[a][u]=h,l.setParent(h,s),g&&l.setEdge(g,h,{weight:1})}})),xl=q(((t,e)=>{e.exports={adjust:n,undo:o};function n(u){let r=u.graph().rankdir.toLowerCase();(r==="lr"||r==="rl")&&i(u)}function o(u){let r=u.graph().rankdir.toLowerCase();(r==="bt"||r==="rl")&&a(u),(r==="lr"||r==="rl")&&(s(u),i(u))}function i(u){u.nodes().forEach(r=>l(u.node(r))),u.edges().forEach(r=>l(u.edge(r)))}function l(u){let r=u.width;u.width=u.height,u.height=r}function a(u){u.nodes().forEach(r=>d(u.node(r))),u.edges().forEach(r=>{let g=u.edge(r);g.points.forEach(d),Object.hasOwn(g,"y")&&d(g)})}function d(u){u.y=-u.y}function s(u){u.nodes().forEach(r=>c(u.node(r))),u.edges().forEach(r=>{let g=u.edge(r);g.points.forEach(c),Object.hasOwn(g,"x")&&c(g)})}function c(u){let r=u.x;u.x=u.y,u.y=r}})),wl=q(((t,e)=>{var n=se();e.exports=o;function o(i){let l={},a=i.nodes().filter(r=>!i.children(r).length),d=a.map(r=>i.node(r).rank),s=n.applyWithChunking(Math.max,d),c=n.range(s+1).map(()=>[]);function u(r){l[r]||(l[r]=!0,c[i.node(r).rank].push(r),i.successors(r).forEach(u))}return a.sort((r,g)=>i.node(r).rank-i.node(g).rank).forEach(u),c}})),El=q(((t,e)=>{var n=se().zipObject;e.exports=o;function o(l,a){let d=0;for(let s=1;s<a.length;++s)d+=i(l,a[s-1],a[s]);return d}function i(l,a,d){let s=n(d,d.map((m,f)=>f)),c=a.flatMap(m=>l.outEdges(m).map(f=>({pos:s[f.w],weight:l.edge(f).weight})).sort((f,y)=>f.pos-y.pos)),u=1;for(;u<d.length;)u<<=1;let r=2*u-1;--u;let g=Array(r).fill(0),h=0;return c.forEach(m=>{let f=m.pos+u;g[f]+=m.weight;let y=0;for(;f>0;)f%2&&(y+=g[f+1]),f=f-1>>1,g[f]+=m.weight;h+=m.weight*y}),h}})),Sl=q(((t,e)=>{e.exports=n;function n(o,i=[]){return i.map(l=>{let a=o.inEdges(l);if(a.length){let d=a.reduce((s,c)=>{let u=o.edge(c),r=o.node(c.v);return{sum:s.sum+u.weight*r.order,weight:s.weight+u.weight}},{sum:0,weight:0});return{v:l,barycenter:d.sum/d.weight,weight:d.weight}}else return{v:l}})}})),Cl=q(((t,e)=>{var n=se();e.exports=o;function o(a,d){let s={};return a.forEach((c,u)=>{let r=s[c.v]={indegree:0,in:[],out:[],vs:[c.v],i:u};c.barycenter!==void 0&&(r.barycenter=c.barycenter,r.weight=c.weight)}),d.edges().forEach(c=>{let u=s[c.v],r=s[c.w];u!==void 0&&r!==void 0&&(r.indegree++,u.out.push(s[c.w]))}),i(Object.values(s).filter(c=>!c.indegree))}function i(a){let d=[];function s(u){return r=>{r.merged||(r.barycenter===void 0||u.barycenter===void 0||r.barycenter>=u.barycenter)&&l(u,r)}}function c(u){return r=>{r.in.push(u),--r.indegree===0&&a.push(r)}}for(;a.length;){let u=a.pop();d.push(u),u.in.reverse().forEach(s(u)),u.out.forEach(c(u))}return d.filter(u=>!u.merged).map(u=>n.pick(u,["vs","i","barycenter","weight"]))}function l(a,d){let s=0,c=0;a.weight&&(s+=a.barycenter*a.weight,c+=a.weight),d.weight&&(s+=d.barycenter*d.weight,c+=d.weight),a.vs=d.vs.concat(a.vs),a.barycenter=s/c,a.weight=c,a.i=Math.min(d.i,a.i),d.merged=!0}})),Nl=q(((t,e)=>{var n=se();e.exports=o;function o(a,d){let s=n.partition(a,y=>Object.hasOwn(y,"barycenter")),c=s.lhs,u=s.rhs.sort((y,x)=>x.i-y.i),r=[],g=0,h=0,m=0;c.sort(l(!!d)),m=i(r,u,m),c.forEach(y=>{m+=y.vs.length,r.push(y.vs),g+=y.barycenter*y.weight,h+=y.weight,m=i(r,u,m)});let f={vs:r.flat(!0)};return h&&(f.barycenter=g/h,f.weight=h),f}function i(a,d,s){let c;for(;d.length&&(c=d[d.length-1]).i<=s;)d.pop(),a.push(c.vs),s++;return s}function l(a){return(d,s)=>d.barycenter<s.barycenter?-1:d.barycenter>s.barycenter?1:a?s.i-d.i:d.i-s.i}})),kl=q(((t,e)=>{var n=Sl(),o=Cl(),i=Nl();e.exports=l;function l(s,c,u,r){let g=s.children(c),h=s.node(c),m=h?h.borderLeft:void 0,f=h?h.borderRight:void 0,y={};m&&(g=g.filter(p=>p!==m&&p!==f));let x=n(s,g);x.forEach(p=>{if(s.children(p.v).length){let S=l(s,p.v,u,r);y[p.v]=S,Object.hasOwn(S,"barycenter")&&d(p,S)}});let b=o(x,u);a(b,y);let N=i(b,r);if(m&&(N.vs=[m,N.vs,f].flat(!0),s.predecessors(m).length)){let p=s.node(s.predecessors(m)[0]),S=s.node(s.predecessors(f)[0]);Object.hasOwn(N,"barycenter")||(N.barycenter=0,N.weight=0),N.barycenter=(N.barycenter*N.weight+p.order+S.order)/(N.weight+2),N.weight+=2}return N}function a(s,c){s.forEach(u=>{u.vs=u.vs.flatMap(r=>c[r]?c[r].vs:r)})}function d(s,c){s.barycenter===void 0?(s.barycenter=c.barycenter,s.weight=c.weight):(s.barycenter=(s.barycenter*s.weight+c.barycenter*c.weight)/(s.weight+c.weight),s.weight+=c.weight)}})),Ml=q(((t,e)=>{var n=ve().Graph,o=se();e.exports=i;function i(a,d,s,c){c||(c=a.nodes());let u=l(a),r=new n({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(g=>a.node(g));return c.forEach(g=>{let h=a.node(g),m=a.parent(g);(h.rank===d||h.minRank<=d&&d<=h.maxRank)&&(r.setNode(g),r.setParent(g,m||u),a[s](g).forEach(f=>{let y=f.v===g?f.w:f.v,x=r.edge(y,g),b=x===void 0?0:x.weight;r.setEdge(y,g,{weight:a.edge(f).weight+b})}),Object.hasOwn(h,"minRank")&&r.setNode(g,{borderLeft:h.borderLeft[d],borderRight:h.borderRight[d]}))}),r}function l(a){for(var d;a.hasNode(d=o.uniqueId("_root")););return d}})),Ol=q(((t,e)=>{e.exports=n;function n(o,i,l){let a={},d;l.forEach(s=>{let c=o.parent(s),u,r;for(;c;){if(u=o.parent(c),u?(r=a[u],a[u]=c):(r=d,d=c),r&&r!==c){i.setEdge(r,c);return}c=u}})}})),_l=q(((t,e)=>{var n=wl(),o=El(),i=kl(),l=Ml(),a=Ol(),d=ve().Graph,s=se();e.exports=c;function c(h,m){if(m&&typeof m.customOrder=="function"){m.customOrder(h,c);return}let f=s.maxRank(h),y=u(h,s.range(1,f+1),"inEdges"),x=u(h,s.range(f-1,-1,-1),"outEdges"),b=n(h);if(g(h,b),m&&m.disableOptimalOrderHeuristic)return;let N=1/0,p;for(let S=0,k=0;k<4;++S,++k){r(S%2?y:x,S%4>=2),b=s.buildLayerMatrix(h);let _=o(h,b);_<N&&(k=0,p=Object.assign({},b),N=_)}g(h,p)}function u(h,m,f){let y=new Map,x=(b,N)=>{y.has(b)||y.set(b,[]),y.get(b).push(N)};for(let b of h.nodes()){let N=h.node(b);if(typeof N.rank=="number"&&x(N.rank,b),typeof N.minRank=="number"&&typeof N.maxRank=="number")for(let p=N.minRank;p<=N.maxRank;p++)p!==N.rank&&x(p,b)}return m.map(function(b){return l(h,b,f,y.get(b)||[])})}function r(h,m){let f=new d;h.forEach(function(y){let x=y.graph().root,b=i(y,x,f,m);b.vs.forEach((N,p)=>y.node(N).order=p),a(y,f,b.vs)})}function g(h,m){Object.values(m).forEach(f=>f.forEach((y,x)=>h.node(y).order=x))}})),Pl=q(((t,e)=>{var n=ve().Graph,o=se();e.exports={positionX:f,findType1Conflicts:i,findType2Conflicts:l,addConflict:d,hasConflict:s,verticalAlignment:c,horizontalCompaction:u,alignCoordinates:h,findSmallestWidthAlignment:g,balance:m};function i(b,N){let p={};function S(k,_){let P=0,I=0,w=k.length,E=_[_.length-1];return _.forEach((O,M)=>{let C=a(b,O),R=C?b.node(C).order:w;(C||O===E)&&(_.slice(I,M+1).forEach(L=>{b.predecessors(L).forEach(H=>{let X=b.node(H),D=X.order;(D<P||R<D)&&!(X.dummy&&b.node(L).dummy)&&d(p,H,L)})}),I=M+1,P=R)}),_}return N.length&&N.reduce(S),p}function l(b,N){let p={};function S(_,P,I,w,E){let O;o.range(P,I).forEach(M=>{O=_[M],b.node(O).dummy&&b.predecessors(O).forEach(C=>{let R=b.node(C);R.dummy&&(R.order<w||R.order>E)&&d(p,C,O)})})}function k(_,P){let I=-1,w,E=0;return P.forEach((O,M)=>{if(b.node(O).dummy==="border"){let C=b.predecessors(O);C.length&&(w=b.node(C[0]).order,S(P,E,M,I,w),E=M,I=w)}S(P,E,P.length,w,_.length)}),P}return N.length&&N.reduce(k),p}function a(b,N){if(b.node(N).dummy)return b.predecessors(N).find(p=>b.node(p).dummy)}function d(b,N,p){if(N>p){let k=N;N=p,p=k}let S=b[N];S||(b[N]=S={}),S[p]=!0}function s(b,N,p){if(N>p){let S=N;N=p,p=S}return!!b[N]&&Object.hasOwn(b[N],p)}function c(b,N,p,S){let k={},_={},P={};return N.forEach(I=>{I.forEach((w,E)=>{k[w]=w,_[w]=w,P[w]=E})}),N.forEach(I=>{let w=-1;I.forEach(E=>{let O=S(E);if(O.length){O=O.sort((C,R)=>P[C]-P[R]);let M=(O.length-1)/2;for(let C=Math.floor(M),R=Math.ceil(M);C<=R;++C){let L=O[C];_[E]===E&&w<P[L]&&!s(p,E,L)&&(_[L]=E,_[E]=k[E]=k[L],w=P[L])}}})}),{root:k,align:_}}function u(b,N,p,S,k){let _={},P=r(b,N,p,k),I=k?"borderLeft":"borderRight";function w(M,C){let R=P.nodes(),L=R.pop(),H={};for(;L;)H[L]?M(L):(H[L]=!0,R.push(L),R=R.concat(C(L))),L=R.pop()}function E(M){_[M]=P.inEdges(M).reduce((C,R)=>Math.max(C,_[R.v]+P.edge(R)),0)}function O(M){let C=P.outEdges(M).reduce((L,H)=>Math.min(L,_[H.w]-P.edge(H)),1/0),R=b.node(M);C!==1/0&&R.borderType!==I&&(_[M]=Math.max(_[M],C))}return w(E,P.predecessors.bind(P)),w(O,P.successors.bind(P)),Object.keys(S).forEach(M=>_[M]=_[p[M]]),_}function r(b,N,p,S){let k=new n,_=b.graph(),P=y(_.nodesep,_.edgesep,S);return N.forEach(I=>{let w;I.forEach(E=>{let O=p[E];if(k.setNode(O),w){var M=p[w],C=k.edge(M,O);k.setEdge(M,O,Math.max(P(b,E,w),C||0))}w=E})}),k}function g(b,N){return Object.values(N).reduce((p,S)=>{let k=-1/0,_=1/0;Object.entries(S).forEach(([I,w])=>{let E=x(b,I)/2;k=Math.max(w+E,k),_=Math.min(w-E,_)});let P=k-_;return P<p[0]&&(p=[P,S]),p},[1/0,null])[1]}function h(b,N){let p=Object.values(N),S=o.applyWithChunking(Math.min,p),k=o.applyWithChunking(Math.max,p);["u","d"].forEach(_=>{["l","r"].forEach(P=>{let I=_+P,w=b[I];if(w===N)return;let E=Object.values(w),O=S-o.applyWithChunking(Math.min,E);P!=="l"&&(O=k-o.applyWithChunking(Math.max,E)),O&&(b[I]=o.mapValues(w,M=>M+O))})})}function m(b,N){return o.mapValues(b.ul,(p,S)=>{if(N)return b[N.toLowerCase()][S];{let k=Object.values(b).map(_=>_[S]).sort((_,P)=>_-P);return(k[1]+k[2])/2}})}function f(b){let N=o.buildLayerMatrix(b),p=Object.assign(i(b,N),l(b,N)),S={},k;return["u","d"].forEach(_=>{k=_==="u"?N:Object.values(N).reverse(),["l","r"].forEach(P=>{P==="r"&&(k=k.map(O=>Object.values(O).reverse()));let I=(_==="u"?b.predecessors:b.successors).bind(b),w=c(b,k,p,I),E=u(b,k,w.root,w.align,P==="r");P==="r"&&(E=o.mapValues(E,O=>-O)),S[_+P]=E})}),h(S,g(b,S)),m(S,b.graph().align)}function y(b,N,p){return(S,k,_)=>{let P=S.node(k),I=S.node(_),w=0,E;if(w+=P.width/2,Object.hasOwn(P,"labelpos"))switch(P.labelpos.toLowerCase()){case"l":E=-P.width/2;break;case"r":E=P.width/2;break}if(E&&(w+=p?E:-E),E=0,w+=(P.dummy?N:b)/2,w+=(I.dummy?N:b)/2,w+=I.width/2,Object.hasOwn(I,"labelpos"))switch(I.labelpos.toLowerCase()){case"l":E=I.width/2;break;case"r":E=-I.width/2;break}return E&&(w+=p?E:-E),E=0,w}}function x(b,N){return b.node(N).width}})),Il=q(((t,e)=>{var n=se(),o=Pl().positionX;e.exports=i;function i(a){a=n.asNonCompoundGraph(a),l(a),Object.entries(o(a)).forEach(([d,s])=>a.node(d).x=s)}function l(a){let d=n.buildLayerMatrix(a),s=a.graph().ranksep,c=0;d.forEach(u=>{let r=u.reduce((g,h)=>{let m=a.node(h).height;return g>m?g:m},0);u.forEach(g=>a.node(g).y=c+r/2),c+=r+s})}})),jl=q(((t,e)=>{var n=gl(),o=fl(),i=ml(),l=se().normalizeRanks,a=yl(),d=se().removeEmptyRanks,s=vl(),c=bl(),u=xl(),r=_l(),g=Il(),h=se(),m=ve().Graph;e.exports=f;function f(j,A){let B=A&&A.debugTiming?h.time:h.notime;B("layout",()=>{let T=B(" buildLayoutGraph",()=>w(j));B(" runLayout",()=>y(T,B,A)),B(" updateInputGraph",()=>x(j,T))})}function y(j,A,B){A(" makeSpaceForEdgeLabels",()=>E(j)),A(" removeSelfEdges",()=>$(j)),A(" acyclic",()=>n.run(j)),A(" nestingGraph.run",()=>s.run(j)),A(" rank",()=>i(h.asNonCompoundGraph(j))),A(" injectEdgeLabelProxies",()=>O(j)),A(" removeEmptyRanks",()=>d(j)),A(" nestingGraph.cleanup",()=>s.cleanup(j)),A(" normalizeRanks",()=>l(j)),A(" assignRankMinMax",()=>M(j)),A(" removeEdgeLabelProxies",()=>C(j)),A(" normalize.run",()=>o.run(j)),A(" parentDummyChains",()=>a(j)),A(" addBorderSegments",()=>c(j)),A(" order",()=>r(j,B)),A(" insertSelfEdges",()=>V(j)),A(" adjustCoordinateSystem",()=>u.adjust(j)),A(" position",()=>g(j)),A(" positionSelfEdges",()=>F(j)),A(" removeBorderNodes",()=>D(j)),A(" normalize.undo",()=>o.undo(j)),A(" fixupEdgeLabelCoords",()=>H(j)),A(" undoCoordinateSystem",()=>u.undo(j)),A(" translateGraph",()=>R(j)),A(" assignNodeIntersects",()=>L(j)),A(" reversePoints",()=>X(j)),A(" acyclic.undo",()=>n.undo(j))}function x(j,A){j.nodes().forEach(B=>{let T=j.node(B),Y=A.node(B);T&&(T.x=Y.x,T.y=Y.y,T.rank=Y.rank,A.children(B).length&&(T.width=Y.width,T.height=Y.height))}),j.edges().forEach(B=>{let T=j.edge(B),Y=A.edge(B);T.points=Y.points,Object.hasOwn(Y,"x")&&(T.x=Y.x,T.y=Y.y)}),j.graph().width=A.graph().width,j.graph().height=A.graph().height}var b=["nodesep","edgesep","ranksep","marginx","marginy"],N={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},p=["acyclicer","ranker","rankdir","align"],S=["width","height","rank"],k={width:0,height:0},_=["minlen","weight","width","height","labeloffset"],P={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},I=["labelpos"];function w(j){let A=new m({multigraph:!0,compound:!0}),B=U(j.graph());return A.setGraph(Object.assign({},N,Z(B,b),h.pick(B,p))),j.nodes().forEach(T=>{let Y=Z(U(j.node(T)),S);Object.keys(k).forEach(G=>{Y[G]===void 0&&(Y[G]=k[G])}),A.setNode(T,Y),A.setParent(T,j.parent(T))}),j.edges().forEach(T=>{let Y=U(j.edge(T));A.setEdge(T,Object.assign({},P,Z(Y,_),h.pick(Y,I)))}),A}function E(j){let A=j.graph();A.ranksep/=2,j.edges().forEach(B=>{let T=j.edge(B);T.minlen*=2,T.labelpos.toLowerCase()!=="c"&&(A.rankdir==="TB"||A.rankdir==="BT"?T.width+=T.labeloffset:T.height+=T.labeloffset)})}function O(j){j.edges().forEach(A=>{let B=j.edge(A);if(B.width&&B.height){let T=j.node(A.v),Y={rank:(j.node(A.w).rank-T.rank)/2+T.rank,e:A};h.addDummyNode(j,"edge-proxy",Y,"_ep")}})}function M(j){let A=0;j.nodes().forEach(B=>{let T=j.node(B);T.borderTop&&(T.minRank=j.node(T.borderTop).rank,T.maxRank=j.node(T.borderBottom).rank,A=Math.max(A,T.maxRank))}),j.graph().maxRank=A}function C(j){j.nodes().forEach(A=>{let B=j.node(A);B.dummy==="edge-proxy"&&(j.edge(B.e).labelRank=B.rank,j.removeNode(A))})}function R(j){let A=1/0,B=0,T=1/0,Y=0,G=j.graph(),ee=G.marginx||0,ae=G.marginy||0;function ge(oe){let Q=oe.x,de=oe.y,te=oe.width,K=oe.height;A=Math.min(A,Q-te/2),B=Math.max(B,Q+te/2),T=Math.min(T,de-K/2),Y=Math.max(Y,de+K/2)}j.nodes().forEach(oe=>ge(j.node(oe))),j.edges().forEach(oe=>{let Q=j.edge(oe);Object.hasOwn(Q,"x")&&ge(Q)}),A-=ee,T-=ae,j.nodes().forEach(oe=>{let Q=j.node(oe);Q.x-=A,Q.y-=T}),j.edges().forEach(oe=>{let Q=j.edge(oe);Q.points.forEach(de=>{de.x-=A,de.y-=T}),Object.hasOwn(Q,"x")&&(Q.x-=A),Object.hasOwn(Q,"y")&&(Q.y-=T)}),G.width=B-A+ee,G.height=Y-T+ae}function L(j){j.edges().forEach(A=>{let B=j.edge(A),T=j.node(A.v),Y=j.node(A.w),G,ee;B.points?(G=B.points[0],ee=B.points[B.points.length-1]):(B.points=[],G=Y,ee=T),B.points.unshift(h.intersectRect(T,G)),B.points.push(h.intersectRect(Y,ee))})}function H(j){j.edges().forEach(A=>{let B=j.edge(A);if(Object.hasOwn(B,"x"))switch((B.labelpos==="l"||B.labelpos==="r")&&(B.width-=B.labeloffset),B.labelpos){case"l":B.x-=B.width/2+B.labeloffset;break;case"r":B.x+=B.width/2+B.labeloffset;break}})}function X(j){j.edges().forEach(A=>{let B=j.edge(A);B.reversed&&B.points.reverse()})}function D(j){j.nodes().forEach(A=>{if(j.children(A).length){let B=j.node(A),T=j.node(B.borderTop),Y=j.node(B.borderBottom),G=j.node(B.borderLeft[B.borderLeft.length-1]),ee=j.node(B.borderRight[B.borderRight.length-1]);B.width=Math.abs(ee.x-G.x),B.height=Math.abs(Y.y-T.y),B.x=G.x+B.width/2,B.y=T.y+B.height/2}}),j.nodes().forEach(A=>{j.node(A).dummy==="border"&&j.removeNode(A)})}function $(j){j.edges().forEach(A=>{if(A.v===A.w){var B=j.node(A.v);B.selfEdges||(B.selfEdges=[]),B.selfEdges.push({e:A,label:j.edge(A)}),j.removeEdge(A)}})}function V(j){h.buildLayerMatrix(j).forEach(A=>{var B=0;A.forEach((T,Y)=>{var G=j.node(T);G.order=Y+B,(G.selfEdges||[]).forEach(ee=>{h.addDummyNode(j,"selfedge",{width:ee.label.width,height:ee.label.height,rank:G.rank,order:Y+ ++B,e:ee.e,label:ee.label},"_se")}),delete G.selfEdges})})}function F(j){j.nodes().forEach(A=>{var B=j.node(A);if(B.dummy==="selfedge"){var T=j.node(B.e.v),Y=T.x+T.width/2,G=T.y,ee=B.x-Y,ae=T.height/2;j.setEdge(B.e,B.label),j.removeNode(A),B.label.points=[{x:Y+2*ee/3,y:G-ae},{x:Y+5*ee/6,y:G-ae},{x:Y+ee,y:G},{x:Y+5*ee/6,y:G+ae},{x:Y+2*ee/3,y:G+ae}],B.label.x=B.x,B.label.y=B.y}})}function Z(j,A){return h.mapValues(h.pick(j,A),Number)}function U(j){var A={};return j&&Object.entries(j).forEach(([B,T])=>{typeof B=="string"&&(B=B.toLowerCase()),A[B]=T}),A}})),Dl=q(((t,e)=>{var n=se(),o=ve().Graph;e.exports={debugOrdering:i};function i(l){let a=n.buildLayerMatrix(l),d=new o({compound:!0,multigraph:!0}).setGraph({});return l.nodes().forEach(s=>{d.setNode(s,{label:s}),d.setParent(s,"layer"+l.node(s).rank)}),l.edges().forEach(s=>d.setEdge(s.v,s.w,{},s.name)),a.forEach((s,c)=>{let u="layer"+c;d.setNode(u,{rank:"same"}),s.reduce((r,g)=>(d.setEdge(r,g,{style:"invis"}),g))}),d}})),Rl=q(((t,e)=>{e.exports="1.1.8"})),er=q(((t,e)=>{e.exports={graphlib:ve(),layout:jl(),debug:Dl(),util:{time:se().time,notime:se().notime},version:Rl()}}))(),ut=new er.graphlib.Graph().setDefaultEdgeLabel(()=>({}));const tr=({nodes:t,edges:e,direction:n})=>(ut.setGraph({rankdir:n,nodesep:150,ranksep:200,ranker:"longest-path"}),e.forEach(o=>ut.setEdge(o.source,o.target)),t.forEach(o=>ut.setNode(o.id,{...o,width:o.width??0,height:o.height??0})),(0,er.layout)(ut),{nodes:t.map(o=>{let{x:i,y:l}=ut.node(o.id);return{...o,position:{x:i,y:l}}}),edges:e});var Al=Re();function Bl(){let t=(0,Al.c)(7),e=lt(),n=ne(Ll),o=ne(zl),i;t[0]===e?i=t[1]:(i=()=>{e.fitView({duration:100})},t[0]=e,t[1]=i);let l=ba(i,100),a,d;t[2]!==l||t[3]!==o||t[4]!==n?(a=()=>{!n||!o||l()},d=[n,o,l],t[2]=l,t[3]=o,t[4]=n,t[5]=a,t[6]=d):(a=t[5],d=t[6]),(0,v.useEffect)(a,d)}function zl(t){let{height:e}=t;return e}function Ll(t){let{width:e}=t;return e}var $l=Re(),nr=new Ks;const Tl=t=>{let e=(0,$l.c)(43),{cellIds:n,variables:o,cellAtoms:i,children:l,layoutDirection:a,settings:d}=t,s;e[0]!==i||e[1]!==n||e[2]!==a||e[3]!==d.hidePureMarkdown||e[4]!==o?(s=()=>{let D=nr.createElements(n,i,o,d.hidePureMarkdown);return D=tr({nodes:D.nodes,edges:D.edges,direction:a}),D},e[0]=i,e[1]=n,e[2]=a,e[3]=d.hidePureMarkdown,e[4]=o,e[5]=s):s=e[5];let[c]=(0,v.useState)(s),[u,r,g]=js(c.nodes),[h,m,f]=Ds(c.edges),y=lt(),x;e[6]!==a||e[7]!==m||e[8]!==r?(x=D=>{let $=tr({nodes:D.nodes,edges:D.edges,direction:a});r($.nodes),m($.edges)},e[6]=a,e[7]=m,e[8]=r,e[9]=x):x=e[9];let b=Fr(x),N,p;e[10]!==i||e[11]!==n||e[12]!==d.hidePureMarkdown||e[13]!==b||e[14]!==o?(N=()=>{b(nr.createElements(n,i,o,d.hidePureMarkdown))},p=[n,o,i,b,d.hidePureMarkdown],e[10]=i,e[11]=n,e[12]=d.hidePureMarkdown,e[13]=b,e[14]=o,e[15]=N,e[16]=p):(N=e[15],p=e[16]),(0,v.useEffect)(N,p);let[S,k]=(0,v.useState)();Bl();let _;e[17]===Symbol.for("react.memo_cache_sentinel")?(_=()=>{k(void 0)},e[17]=_):_=e[17];let P=_,I,w,E;e[18]===Symbol.for("react.memo_cache_sentinel")?(I={minZoom:.5,maxZoom:1.5},w=(D,$)=>{k({type:"node",id:$.id})},E=(D,$)=>{let{source:V,target:F}=$;k({type:"edge",source:V,target:F})},e[18]=I,e[19]=w,e[20]=E):(I=e[18],w=e[19],E=e[20]);let O;e[21]===Symbol.for("react.memo_cache_sentinel")?(O=(0,z.jsx)(Ys,{color:"#ccc",variant:ye.Dots}),e[21]=O):O=e[21];let M;e[22]!==y||e[23]!==u?(M=()=>{let D=Pt.get(Ea);if(D){let $=u.find(V=>V.id===D);$&&(y.fitView({padding:1,duration:600,nodes:[$]}),k({type:"node",id:D}))}},e[22]=y,e[23]=u,e[24]=M):M=e[24];let C;e[25]===Symbol.for("react.memo_cache_sentinel")?(C=(0,z.jsx)(Ra,{className:"size-4"}),e[25]=C):C=e[25];let R;e[26]===M?R=e[27]:(R=(0,z.jsx)(Ts,{position:"bottom-right",showInteractive:!1,children:(0,z.jsx)(pa,{content:"Jump to focused cell",delayDuration:200,side:"left",asChild:!1,children:(0,z.jsx)(et,{onMouseDown:oa.preventFocus,onClick:M,children:C})})}),e[26]=M,e[27]=R);let L;e[28]!==h||e[29]!==S||e[30]!==o?(L=(0,z.jsx)(Zo,{selection:S,variables:o,edges:h,onClearSelection:P}),e[28]=h,e[29]=S,e[30]=o,e[31]=L):L=e[31];let H;e[32]!==l||e[33]!==h||e[34]!==u||e[35]!==f||e[36]!==g||e[37]!==R||e[38]!==L?(H=(0,z.jsxs)(Lo,{nodes:u,edges:h,nodeTypes:Us,minZoom:.2,fitViewOptions:I,onNodeClick:w,onEdgeClick:E,onNodeDoubleClick:Hl,fitView:!0,onNodesChange:g,onEdgesChange:f,zoomOnDoubleClick:!1,nodesConnectable:!1,children:[O,R,L,l]}),e[32]=l,e[33]=h,e[34]=u,e[35]=f,e[36]=g,e[37]=R,e[38]=L,e[39]=H):H=e[39];let X;return e[40]!==a||e[41]!==H?(X=(0,z.jsx)(Fo,{value:a,children:H}),e[40]=a,e[41]=H,e[42]=X):X=e[42],X};function Hl(t,e){xa(e.id,"focus")}var Vl=Re(),Fl=It("TB"),Xl=It({hidePureMarkdown:!0});const Wl=t=>{let e=(0,Vl.c)(13),[n,o]=bn(Fl),[i,l]=bn(Xl),a;e[0]!==n||e[1]!==o||e[2]!==l||e[3]!==i?(a=(0,z.jsx)(Yo,{settings:i,onSettingsChange:l,view:n,onChange:o}),e[0]=n,e[1]=o,e[2]=l,e[3]=i,e[4]=a):a=e[4];let d;e[5]!==n||e[6]!==t||e[7]!==i||e[8]!==a?(d=(0,z.jsx)(Tl,{...t,settings:i,layoutDirection:n,children:a}),e[5]=n,e[6]=t,e[7]=i,e[8]=a,e[9]=d):d=e[9];let s;return e[10]!==n||e[11]!==d?(s=(0,z.jsx)(un,{children:d},n),e[10]=n,e[11]=d,e[12]=s):s=e[12],s};function pn(t,e,n=new Set){if(n.has(t))return new Set;n.add(t);let o=new Set;for(let i of e(t)){o.add(i);for(let l of pn(i,e,n))o.add(l)}return o}function Yl(t,e){var i,l,a;let n=new Map;for(let d of t)n.set(d,{variables:new Set,parents:new Set,children:new Set});for(let d of Object.values(e))if(d.dataType!=="module")for(let s of d.declaredBy){(i=n.get(s))==null||i.variables.add(d.name);for(let c of d.usedBy)s!==c&&((l=n.get(c))==null||l.parents.add(s),(a=n.get(s))==null||a.children.add(c))}let o={};for(let[d,s]of n.entries())o[d]={parents:s.parents,children:s.children,variables:[...s.variables],ancestors:pn(d,c=>{var u;return((u=n.get(c))==null?void 0:u.parents)??new Set}),descendants:pn(d,c=>{var u;return((u=n.get(c))==null?void 0:u.children)??new Set})};return o}const Zl=It(t=>{let e=t(Gr),n=t(qr);return Yl(e.inOrderIds,n)});function Kl(t,e){return e?t.usedBy.includes(e.id)||t.declaredBy.includes(e.id)?!0:t.declaredBy.some(n=>e.graph.parents.has(n))?t.usedBy.some(n=>e.graph.parents.has(n)):!!t.declaredBy.some(n=>e.graph.children.has(n)):!1}var kt=Re(),Gl=t=>{let e=(0,kt.c)(43),n=jt(Sa),o=jt(Zl),i=Wr(),l=wa(),a=t.cellId,d=o[t.cellId],s=ea(t.cellId),c=s.code,u=Jr(t.cellId),r,g,h,m,f,y,x,b,N,p,S;if(e[0]!==i||e[1]!==l||e[2]!==n.focusedCellId||e[3]!==o||e[4]!==t.cellId||e[5]!==d||e[6]!==s.code||e[7]!==u.errored){r={id:a,graph:d,code:c,hasError:u.errored},n.focusedCellId&&o[n.focusedCellId]&&(m={id:n.focusedCellId,graph:o[n.focusedCellId]}),h=(m==null?void 0:m.id)===r.id,g=rr(r.graph)?1.5:3;let w=()=>{h?l.blurCell():(i.focusCell({cellId:r.id,where:"exact"}),l.focusCell({cellId:r.id}))};b="button",N=r.id;let E=h?"text-primary-foreground":"text-(--gray-8) hover:text-(--gray-9)";e[19]===E?p=e[20]:(p=Ve("group bg-transparent text-left w-full flex relative justify-between items-center","border-none rounded cursor-pointer","h-[21px] pl-[51px] font-inherit",E),e[19]=E,e[20]=p),S=w,f=nd;let O=h&&"bg-primary group-hover:bg-primary",M;e[21]===O?M=e[22]:(M=Ve("group-hover:bg-(--gray-2) flex h-full w-full px-0.5 items-center rounded",O),e[21]=O,e[22]=M),y=(0,z.jsx)("div",{className:M,children:(0,z.jsx)("div",{className:"truncate px-1 font-mono text-sm flex gap-1",title:r.code,children:r.graph.variables.length>0?(0,z.jsx)(ql,{cell:r,selectedCell:m}):(0,z.jsx)("span",{className:"overflow-hidden text-ellipsis whitespace-nowrap max-w-full",children:Ul(r.code)??(0,z.jsx)("span",{className:"italic",children:"empty"})})})}),x=Ve("absolute overflow-visible top-[10.5px] left-[calc(var(--spacing-extra-small,8px)+17px)] pointer-events-none",h?"z-30":"z-20",ed({cell:r,selectedCell:m})),e[0]=i,e[1]=l,e[2]=n.focusedCellId,e[3]=o,e[4]=t.cellId,e[5]=d,e[6]=s.code,e[7]=u.errored,e[8]=r,e[9]=g,e[10]=h,e[11]=m,e[12]=f,e[13]=y,e[14]=x,e[15]=b,e[16]=N,e[17]=p,e[18]=S}else r=e[8],g=e[9],h=e[10],m=e[11],f=e[12],y=e[13],x=e[14],b=e[15],N=e[16],p=e[17],S=e[18];let k;e[23]===r.id?k=e[24]:(k=(0,z.jsxs)("title",{children:["Cell dependency connections for cell ",r.id]}),e[23]=r.id,e[24]=k);let _;e[25]!==r||e[26]!==g||e[27]!==h||e[28]!==t.cellPositions||e[29]!==m?(_=h?(0,z.jsx)(Jl,{cell:r,cellPositions:t.cellPositions,circleRadius:g}):(0,z.jsx)(Ql,{cell:r,selectedCell:m,circleRadius:g}),e[25]=r,e[26]=g,e[27]=h,e[28]=t.cellPositions,e[29]=m,e[30]=_):_=e[30];let P;e[31]!==k||e[32]!==_||e[33]!==x?(P=(0,z.jsxs)("svg",{className:x,width:"1",height:"1",children:[k,_]}),e[31]=k,e[32]=_,e[33]=x,e[34]=P):P=e[34];let I;return e[35]!==f||e[36]!==y||e[37]!==P||e[38]!==b||e[39]!==N||e[40]!==p||e[41]!==S?(I=(0,z.jsxs)("button",{type:b,"data-node-id":N,className:p,onClick:S,onMouseDown:f,children:[y,P]}),e[35]=f,e[36]=y,e[37]=P,e[38]=b,e[39]=N,e[40]=p,e[41]=S,e[42]=I):I=e[42],I};function Ul(t){return t.split(`
4
+ `)[0].trim()||void 0}var ql=t=>{let e=(0,kt.c)(11),{cell:n,selectedCell:o}=t,i=wn(),l=n.id===(o==null?void 0:o.id),a;if(e[0]!==n.graph.variables||e[1]!==l||e[2]!==o||e[3]!==i){let s;e[5]!==l||e[6]!==o||e[7]!==i?(s=(c,u)=>{let r=i[c];return(0,z.jsxs)(v.Fragment,{children:[u>0&&", ",(0,z.jsx)("span",{className:Ve({"font-bold":l,"text-foreground":o===void 0,"text-primary font-medium":!l&&Kl(r,o)}),children:c})]},c)},e[5]=l,e[6]=o,e[7]=i,e[8]=s):s=e[8],a=n.graph.variables.map(s),e[0]=n.graph.variables,e[1]=l,e[2]=o,e[3]=i,e[4]=a}else a=e[4];let d;return e[9]===a?d=e[10]:(d=(0,z.jsx)(z.Fragment,{children:a}),e[9]=a,e[10]=d),d},Jl=t=>{let e=(0,kt.c)(12),{cell:n,cellPositions:o,circleRadius:i}=t,l;if(e[0]!==n.graph.children||e[1]!==n.graph.parents||e[2]!==n.id||e[3]!==o){l=[];let c=o[n.id]??0,u=new Set;for(let r of n.graph.parents)n.graph.children.has(r)&&u.add(r);for(let r of u){let g=o[r];if(g!==void 0){let h=(g-c)*21;l.push((0,z.jsx)("path",{d:`M -3 0 H -7 v ${h} h 14 v ${-h} H 3`,fill:"none",strokeWidth:"2",stroke:"currentColor"},`${n.id}-cycle-${r}`))}}for(let r of n.graph.parents){if(u.has(r))continue;let g=o[r];if(g!==void 0){let h=(g-c)*21;l.push((0,z.jsx)("path",{d:`M -3 0 H -7 v ${h} h -4`,fill:"none",strokeWidth:"2",stroke:"currentColor"},`${n.id}-up-${r}`))}}for(let r of n.graph.children){if(u.has(r))continue;let g=o[r];if(g!==void 0){let h=(g-c)*21;l.push((0,z.jsx)("path",{d:`M 3 0 H 7 v ${h} h 4`,fill:"none",strokeWidth:"2",stroke:"currentColor"},`${n.id}-down-${r}`))}}e[0]=n.graph.children,e[1]=n.graph.parents,e[2]=n.id,e[3]=o,e[4]=l}else l=e[4];let a;e[5]===i?a=e[6]:(a=(0,z.jsx)("circle",{r:i,fill:"currentColor",className:"pointer-events-auto"}),e[5]=i,e[6]=a);let d;e[7]===l?d=e[8]:(d=(0,z.jsx)("g",{className:"pen pointer-events-auto",children:l}),e[7]=l,e[8]=d);let s;return e[9]!==a||e[10]!==d?(s=(0,z.jsxs)("g",{transform:"translate(0, 0)",children:[a,d]}),e[9]=a,e[10]=d,e[11]=s):s=e[11],s};function Ql(t){let{cell:e,selectedCell:n,circleRadius:o}=t,i=e.graph.ancestors.size>0,l=e.graph.descendants.size>0;if(!n)return or({circleRadius:o,leftWisker:i,rightWisker:l});let a=n.graph.ancestors.has(e.id),d=n.graph.descendants.has(e.id);return or(a||d?{circleRadius:o,leftWisker:i,rightWisker:l,shift:a&&d?void 0:a?"left":"right"}:{circleRadius:o,leftWisker:!1,rightWisker:!1})}function or(t){let{circleRadius:e,leftWisker:n,rightWisker:o,shift:i}=t;return(0,z.jsxs)("g",{transform:`translate(${i===void 0?0:i==="left"?-14:14}, 0)`,children:[(0,z.jsxs)("g",{children:[n&&(0,z.jsx)("path",{d:"M 0 0 h -8",fill:"none",strokeWidth:"2",stroke:"currentColor"}),o&&(0,z.jsx)("path",{d:"M 0 0 h 8",fill:"none",strokeWidth:"2",stroke:"currentColor"})]}),(0,z.jsx)("circle",{r:e,fill:"currentColor",className:"pointer-events-auto"})]})}function ed({cell:t,selectedCell:e}){return t.hasError?"text-destructive":!e&&!rr(t.graph)?"text-foreground":(e==null?void 0:e.id)===t.id||e!=null&&e.graph.parents.has(t.id)||e!=null&&e.graph.children.has(t.id)?"text-primary":"text-(--gray-8)"}function rr(t){return t.variables.length===0&&t.ancestors.size===0&&t.descendants.size===0}const td=()=>{let t=(0,kt.c)(16),e=Dt(),n;t[0]===e.inOrderIds?n=t[1]:(n=Object.fromEntries(e.inOrderIds.map(od)),t[0]=e.inOrderIds,t[1]=n);let o=n,i;if(t[2]!==e){i=[];let c=0;for(let[u,r]of e.getColumns().entries())u>0&&i.push(c),c+=r.inOrderIds.length;t[2]=e,t[3]=i}else i=t[3];let l;if(t[4]!==e.inOrderIds||t[5]!==o||t[6]!==i){let c;t[8]!==o||t[9]!==i?(c=(u,r)=>{let g=i.includes(r);return(0,z.jsxs)(v.Fragment,{children:[g&&(0,z.jsx)("div",{className:"absolute left-5 w-[36px] h-px bg-(--gray-4) pointer-events-none","aria-hidden":"true"}),(0,z.jsx)(Gl,{cellId:u,cellPositions:o})]},u)},t[8]=o,t[9]=i,t[10]=c):c=t[10],l=e.inOrderIds.map(c),t[4]=e.inOrderIds,t[5]=o,t[6]=i,t[7]=l}else l=t[7];let a;t[11]===l?a=t[12]:(a=(0,z.jsx)("div",{className:"py-3 pl-3 pr-4 relative min-h-full",children:l}),t[11]=l,t[12]=a);let d;t[13]===Symbol.for("react.memo_cache_sentinel")?(d=(0,z.jsx)("div",{className:"h-0 overflow-hidden","aria-hidden":"true"}),t[13]=d):d=t[13];let s;return t[14]===a?s=t[15]:(s=(0,z.jsxs)("div",{className:"overflow-y-auto overflow-x-hidden flex-1 scrollbar-none h-full max-w-80",children:[a,d]}),t[14]=a,t[15]=s),s};function nd(t){return t.preventDefault()}function od(t,e){return[t,e]}var rd=Re(),ad=()=>{let t=(0,rd.c)(6),{dependencyPanelTab:e}=sa(),n=wn(),o=Dt(),[i]=Zr(),l;t[0]===Symbol.for("react.memo_cache_sentinel")?(l=Ve("w-full h-full flex-1 mx-auto -mb-4 relative"),t[0]=l):l=t[0];let a;return t[1]!==o||t[2]!==i||t[3]!==e||t[4]!==n?(a=(0,z.jsx)("div",{className:l,children:e==="minimap"?(0,z.jsx)(td,{}):(0,z.jsx)(Wl,{cellAtoms:i,variables:n,cellIds:o.inOrderIds})}),t[1]=o,t[2]=i,t[3]=e,t[4]=n,t[5]=a):a=t[5],a};export{ad as default};