@marimo-team/frontend 0.24.1-dev95 → 0.24.1-dev97
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{CellStatus-BAfpiaJr.js → CellStatus-wvvZkEPY.js} +1 -1
- package/dist/assets/{JsonOutput-Bu92ihyf.js → JsonOutput-CRLQQVKf.js} +1 -1
- package/dist/assets/{MarimoErrorOutput-B6VFcCOD.js → MarimoErrorOutput-CeUo5oka.js} +1 -1
- package/dist/assets/{RenderHTML-Cqn8OKqJ.js → RenderHTML-YkwVPe9V.js} +1 -1
- package/dist/assets/{RunButton-CjlJVYRU.js → RunButton-BaV8A-z4.js} +1 -1
- package/dist/assets/{add-cell-with-ai-CoNAy8Wk.js → add-cell-with-ai-DoLkfzYn.js} +1 -1
- package/dist/assets/add-connection-dialog-C1IF1nR0.js +166 -0
- package/dist/assets/{agent-panel-BsUX99c5.js → agent-panel-CG154QrU.js} +1 -1
- package/dist/assets/{ai-model-dropdown-jajg9hms.js → ai-model-dropdown-CrSrb8Zz.js} +1 -1
- package/dist/assets/{app-config-button-CHcCBh-B.js → app-config-button-ktBH1pEB.js} +1 -1
- package/dist/assets/{blob-kift6pGB.js → blob-DVtvZmWH.js} +1 -1
- package/dist/assets/{cell-editor-ByVa98Tu.js → cell-editor-BJfeuqKX.js} +1 -1
- package/dist/assets/{cell-link-CnfnwA6v.js → cell-link-Dqqt6Rgs.js} +1 -1
- package/dist/assets/{cells-BEcungGa.js → cells-D4RwofRx.js} +1 -1
- package/dist/assets/{chat-display-CL_JFB9v.js → chat-display-COmzHgx5.js} +1 -1
- package/dist/assets/{chat-panel-CSzekzAv.js → chat-panel-B2tyEfGW.js} +1 -1
- package/dist/assets/{chat-ui-C1eAy9FG.js → chat-ui-B5bsr-7V.js} +1 -1
- package/dist/assets/{column-preview-BZX77DV6.js → column-preview-CW5DPFvy.js} +1 -1
- package/dist/assets/{command-palette-56SvxMFF.js → command-palette-BcOasAqL.js} +1 -1
- package/dist/assets/{common-fL5LEOMt.js → common-CC3tuCpi.js} +1 -1
- package/dist/assets/{components-BtTyGydI.js → components-D02ZZZMP.js} +1 -1
- package/dist/assets/{datasource-uyI476er.js → datasource-Do8f2hFf.js} +1 -1
- package/dist/assets/{dependency-graph-panel-DQ6IwmNu.js → dependency-graph-panel-Dg-tUB9T.js} +1 -1
- package/dist/assets/{documentation-panel-ChxeMQDj.js → documentation-panel-DvHjxlli.js} +1 -1
- package/dist/assets/{download-Dv0iO8M_.js → download-BP8MrprC.js} +1 -1
- package/dist/assets/{edit-page-B1Vy-UvZ.js → edit-page-CdZC5ONw.js} +4 -4
- package/dist/assets/{error-entries-B5GaQ2cq.js → error-entries-DOZ1u97X.js} +1 -1
- package/dist/assets/{error-panel-D_YO8QtX.js → error-panel-CINcf76Z.js} +1 -1
- package/dist/assets/{file-explorer-panel-1JRkBA_A.js → file-explorer-panel-cflxW8a7.js} +1 -1
- package/dist/assets/{file-icons-D18ZIT8U.js → file-icons-DgKj9mrV.js} +1 -1
- package/dist/assets/{file-name-input-Dp8aYmEH.js → file-name-input-CQF4Ovwx.js} +1 -1
- package/dist/assets/{floating-outline-B14J6Uv7.js → floating-outline-CRXIsrPm.js} +1 -1
- package/dist/assets/{home-page-CoMZwM0i.js → home-page-DPRHPAQM.js} +1 -1
- package/dist/assets/{index-B6Nvcqin.js → index-DN1JMd0-.js} +4 -4
- package/dist/assets/{layout-FSOVn_sw.js → layout-CoCSL4MU.js} +3 -3
- package/dist/assets/{logs-panel-BwA2j1LD.js → logs-panel-DFibPeCT.js} +1 -1
- package/dist/assets/{markdown-renderer-IN72oVfj.js → markdown-renderer-CdZX2MvM.js} +1 -1
- package/dist/assets/{name-cell-input-BOFMaTa1.js → name-cell-input-B-d5Jwh4.js} +1 -1
- package/dist/assets/{outline-panel-xZQU-sfs.js → outline-panel-D2Wk10hY.js} +1 -1
- package/dist/assets/{packages-panel-gfl3Dnuj.js → packages-panel-CQsbxIlG.js} +1 -1
- package/dist/assets/{panel-accordion-state-BBB6Kqr-.js → panel-accordion-state-D6-FMXE2.js} +1 -1
- package/dist/assets/{panels-mouc5Y1Z.js → panels--lkNflNC.js} +1 -1
- package/dist/assets/{process-output-C-rOBNl7.js → process-output-DvTtgoMs.js} +1 -1
- package/dist/assets/{readonly-code-display-fUSnJEhE.js → readonly-code-display-BvqLeUsJ.js} +1 -1
- package/dist/assets/{readonly-python-code-C2BktOKY.js → readonly-python-code-GSN4D4sb.js} +1 -1
- package/dist/assets/{reveal-component-CsovRN4m.js → reveal-component-BuGlRY79.js} +1 -1
- package/dist/assets/{run-page-CRcnkzFj.js → run-page-DaS9kH4f.js} +1 -1
- package/dist/assets/{scratchpad-panel-BkqXEAfy.js → scratchpad-panel-C2QyAZqH.js} +1 -1
- package/dist/assets/{session-panel-CnIUsX9O.js → session-panel-C_N3WGWQ.js} +1 -1
- package/dist/assets/{skeleton-7uu6KXmn.js → skeleton-12JqAMmp.js} +1 -1
- package/dist/assets/{snippets-panel-BoziU8SV.js → snippets-panel-BxwHsPmW.js} +1 -1
- package/dist/assets/{state-DNIOp9vd.js → state-BqrF--O0.js} +1 -1
- package/dist/assets/{state-DaMe_1Uy.js → state-CHplO0zn.js} +1 -1
- package/dist/assets/{tracing-COpxb-Up.js → tracing-Dhq121dR.js} +1 -1
- package/dist/assets/{tracing-panel-DnNQLsh8.js → tracing-panel-IKt1933_.js} +2 -2
- package/dist/assets/{tree-actions-CjTwlxy1.js → tree-actions-DIfWonCA.js} +1 -1
- package/dist/assets/{useAddCell-ZP7MPBcM.js → useAddCell-BYrVaYfZ.js} +1 -1
- package/dist/assets/{useCellActionButton-va5-Bjgq.js → useCellActionButton-DbXDs0MA.js} +1 -1
- package/dist/assets/{useDeleteCell-CuEKdiht.js → useDeleteCell-Wgcl3CRG.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-DDQx4yD6.js → useDependencyPanelTab-C5AU8GKL.js} +1 -1
- package/dist/assets/useNotebookActions-DQQplV7z.js +10 -0
- package/dist/assets/{useRunCells-DccIcaY0.js → useRunCells-DTdMRbkE.js} +1 -1
- package/dist/assets/{useSplitCell-CoAAhbPs.js → useSplitCell-2z0zEB8X.js} +1 -1
- package/dist/assets/vega-component-BSXJcTJb.js +1 -0
- package/dist/index.html +19 -19
- package/package.json +1 -1
- package/src/components/editor/actions/__tests__/types.test.ts +44 -0
- package/src/components/editor/actions/useNotebookActions.tsx +16 -0
- package/src/components/editor/chrome/types.ts +1 -1
- package/src/components/editor/connections/database/add-database-form.tsx +4 -0
- package/src/components/editor/connections/storage/add-storage-form.tsx +6 -0
- package/src/plugins/impl/vega/__tests__/__snapshots__/make-selectable.test.ts.snap +185 -185
- package/src/plugins/impl/vega/__tests__/make-selectable.test.ts +78 -2
- package/src/plugins/impl/vega/params.ts +26 -10
- package/src/plugins/impl/vega/vega-component.tsx +7 -2
- package/dist/assets/add-connection-dialog-D28GcLwH.js +0 -166
- package/dist/assets/useNotebookActions-DEBmnVAR.js +0 -10
- package/dist/assets/vega-component-Bel2PDO-.js +0 -1
package/dist/assets/{dependency-graph-panel-DQ6IwmNu.js → dependency-graph-panel-Dg-tUB9T.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,t}from"./rolldown-runtime-B0Z9INg1.js";import{c as n,f as r,l as i,r as a,t as o}from"./useEvent-xfs0Sn4r.js";import{t as s}from"./react-CBDbhulC.js";import{D as c,F as l,Hn as u,Ht as d,Kn as f,M as p,O as m,Tr as h,Ut as g,Yi as _,_n as v,ai as y,bi as b,f as x,gn as S,h as C,i as w,k as T,mn as E,qi as D,si as O,xi as k,zt as A}from"./cells-BEcungGa.js";import{t as j}from"./react-dom-BQrReHnR.js";import{t as M}from"./compiler-runtime-CYIjoINj.js";import{t as N}from"./cn-ldLVeaqm.js";import{t as P}from"./jsx-runtime-B74pBk57.js";import{i as F,r as I,t as L}from"./tabs-c6mpccpH.js";import{d as R}from"./select-czJLm6jf.js";import{d as z,f as B}from"./download-Dv0iO8M_.js";import{t as ee}from"./tooltip-D7dq6bnc.js";import{r as te,t as ne}from"./button-Btj6GXNy.js";import{t as re}from"./arrays-BqUx5USx.js";import{t as ie}from"./createLucideIcon-B7HeEoG2.js";import{t as ae}from"./arrow-right-CMihiUEa.js";import{r as oe}from"./useNumberFormatter-DHJ9s6Vk.js";import{n as se}from"./eye-off-CFuPxa9F.js";import{t as ce}from"./settings-C-cYas75.js";import{t as V}from"./square-function-DkZweMAs.js";import{t as le}from"./workflow-SJ9KZapt.js";import{n as ue}from"./useDebounce-Dulm61-t.js";import{i as de,t as H}from"./cell-link-CnfnwA6v.js";import{i as fe}from"./timer-DnhpN6F0.js";import{a as pe,c as me,i as he,l as ge,n as _e,o as ve,r as ye,s as be,t as xe,u as Se}from"./src-HeEQIfJi.js";import{r as Ce}from"./name-cell-input-BOFMaTa1.js";import{i as we,t as Te}from"./useDependencyPanelTab-DDQx4yD6.js";import{n as Ee,t as De}from"./common-fL5LEOMt.js";import{r as Oe}from"./panel-context-CiVjnt80.js";var ke=ie(`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`}]]),Ae=ie(`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`}]]);function U(e){if(typeof e==`string`||typeof e==`number`)return``+e;let t=``;if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=U(e[n]))!==``&&(t+=(t&&` `)+r);else for(let n in e)e[n]&&(t+=(t&&` `)+n);return t}var W=e(s(),1),je=e(z(),1),{useDebugValue:Me}=W.default,{useSyncExternalStoreWithSelector:Ne}=je.default,Pe=e=>e;function Fe(e,t=Pe,n){let r=Ne(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return Me(r),r}var Ie=(e,t)=>{let n=B(e),r=(e,r=t)=>Fe(n,e,r);return Object.assign(r,n),r},Le=(e,t)=>e?Ie(e,t):Ie;function G(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}var Re=e=>()=>e;function ze(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:a,x:o,y:s,dx:c,dy:l,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:u}})}ze.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Be(e){return!e.ctrlKey&&!e.button}function Ve(){return this.parentNode}function He(e,t){return t??{x:e.x,y:e.y}}function Ue(){return navigator.maxTouchPoints||`ontouchstart`in this}function We(){var e=Be,t=Ve,n=He,r=Ue,i={},a=fe(`start`,`drag`,`end`),o=0,s,c,l,u,d=0;function f(e){e.on(`mousedown.drag`,p).filter(r).on(`touchstart.drag`,g).on(`touchmove.drag`,_,ve).on(`touchend.drag touchcancel.drag`,v).style(`touch-action`,`none`).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}function p(n,r){if(!(u||!e.call(this,n,r))){var i=y(this,t.call(this,n,r),n,r,`mouse`);i&&(Se(n.view).on(`mousemove.drag`,m,be).on(`mouseup.drag`,h,be),ye(n.view),me(n),l=!1,s=n.clientX,c=n.clientY,i(`start`,n))}}function m(e){if(pe(e),!l){var t=e.clientX-s,n=e.clientY-c;l=t*t+n*n>d}i.mouse(`drag`,e)}function h(e){Se(e.view).on(`mousemove.drag mouseup.drag`,null),he(e.view,l),pe(e),i.mouse(`end`,e)}function g(n,r){if(e.call(this,n,r)){var i=n.changedTouches,a=t.call(this,n,r),o=i.length,s,c;for(s=0;s<o;++s)(c=y(this,a,n,r,i[s].identifier,i[s]))&&(me(n),c(`start`,n,i[s]))}}function _(e){var t=e.changedTouches,n=t.length,r,a;for(r=0;r<n;++r)(a=i[t[r].identifier])&&(pe(e),a(`drag`,e,t[r]))}function v(e){var t=e.changedTouches,n=t.length,r,a;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),r=0;r<n;++r)(a=i[t[r].identifier])&&(me(e),a(`end`,e,t[r]))}function y(e,t,r,s,c,l){var u=a.copy(),d=ge(l||r,t),p,m,h;if((h=n.call(e,new ze(`beforestart`,{sourceEvent:r,target:f,identifier:c,active:o,x:d[0],y:d[1],dx:0,dy:0,dispatch:u}),s))!=null)return p=h.x-d[0]||0,m=h.y-d[1]||0,function n(r,a,l){var g=d,_;switch(r){case`start`:i[c]=n,_=o++;break;case`end`:delete i[c],--o;case`drag`:d=ge(l||a,t),_=o}u.call(r,e,new ze(r,{sourceEvent:a,subject:h,target:f,identifier:c,active:_,x:d[0]+p,y:d[1]+m,dx:d[0]-g[0],dy:d[1]-g[1],dispatch:u}),s)}}return f.filter=function(t){return arguments.length?(e=typeof t==`function`?t:Re(!!t),f):e},f.container=function(e){return arguments.length?(t=typeof e==`function`?e:Re(e),f):t},f.subject=function(e){return arguments.length?(n=typeof e==`function`?e:Re(e),f):n},f.touchable=function(e){return arguments.length?(r=typeof e==`function`?e:Re(!!e),f):r},f.on=function(){var e=a.on.apply(a,arguments);return e===a?f:e},f.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,f):Math.sqrt(d)},f}j();var Ge=(0,W.createContext)(null),Ke=Ge.Provider,qe={error001:()=>`[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001`,error002:()=>`It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.`,error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>`The React Flow parent container needs a width and a height to render the graph.`,error005:()=>`Only child nodes can use a parent extent.`,error006:()=>`Can't create edge. An edge needs a source and a target.`,error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?`target`:`source`} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>`Handle: No node id found. Make sure to only use a Handle inside a custom Node.`,error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`},Je=qe.error001();function K(e,t){let n=(0,W.useContext)(Ge);if(n===null)throw Error(Je);return Fe(n,e,t)}var q=()=>{let e=(0,W.useContext)(Ge);if(e===null)throw Error(Je);return(0,W.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},Ye=e=>e.userSelectionActive?`none`:`all`;function Xe({position:e,children:t,className:n,style:r,...i}){let a=K(Ye),o=`${e}`.split(`-`);return W.createElement(`div`,{className:U([`react-flow__panel`,n,...o]),style:{...r,pointerEvents:a},...i},t)}function Ze({proOptions:e,position:t=`bottom-right`}){return e?.hideAttribution?null:W.createElement(Xe,{position:t,className:`react-flow__attribution`,"data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro`},W.createElement(`a`,{href:`https://reactflow.dev`,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`React Flow attribution`},`React Flow`))}var Qe=(0,W.memo)(({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:a={},labelBgPadding:o=[2,4],labelBgBorderRadius:s=2,children:c,className:l,...u})=>{let d=(0,W.useRef)(null),[f,p]=(0,W.useState)({x:0,y:0,width:0,height:0}),m=U([`react-flow__edge-textwrapper`,l]);return(0,W.useEffect)(()=>{if(d.current){let e=d.current.getBBox();p({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),n===void 0||!n?null:W.createElement(`g`,{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:m,visibility:f.width?`visible`:`hidden`,...u},i&&W.createElement(`rect`,{width:f.width+2*o[0],x:-o[0],y:-o[1],height:f.height+2*o[1],className:`react-flow__edge-textbg`,style:a,rx:s,ry:s}),W.createElement(`text`,{className:`react-flow__edge-text`,y:f.height/2,dy:`0.3em`,ref:d,style:r},n),c)}),$e=e=>({width:e.offsetWidth,height:e.offsetHeight}),et=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),tt=(e={x:0,y:0},t)=>({x:et(e.x,t[0][0],t[1][0]),y:et(e.y,t[0][1],t[1][1])}),nt=(e,t,n)=>e<t?et(Math.abs(e-t),1,50)/50:e>n?-et(Math.abs(e-n),1,50)/50:0,rt=(e,t)=>[nt(e.x,35,t.width-35)*20,nt(e.y,35,t.height-35)*20],it=e=>e.getRootNode?.()||window?.document,at=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),ot=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),st=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),ct=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),lt=(e,t)=>{let n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},ut=e=>J(e.width)&&J(e.height)&&J(e.x)&&J(e.y),J=e=>!isNaN(e)&&isFinite(e),Y=Symbol.for(`internals`),dt=[`Enter`,` `,`Escape`],ft=(e,t)=>{},pt=e=>`nativeEvent`in e;function mt(e){let t=(pt(e)?e.nativeEvent:e).composedPath?.()?.[0]||e.target;return[`INPUT`,`SELECT`,`TEXTAREA`].includes(t?.nodeName)||t?.hasAttribute(`contenteditable`)||!!t?.closest(`.nokey`)}var ht=e=>`clientX`in e,gt=(e,t)=>{let n=ht(e),r=n?e.clientX:e.touches?.[0].clientX,i=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:i-(t?.top??0)}},_t=()=>typeof navigator<`u`&&navigator?.userAgent?.indexOf(`Mac`)>=0,vt=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:a,labelShowBg:o,labelBgStyle:s,labelBgPadding:c,labelBgBorderRadius:l,style:u,markerEnd:d,markerStart:f,interactionWidth:p=20})=>W.createElement(W.Fragment,null,W.createElement(`path`,{id:e,style:u,d:t,fill:`none`,className:`react-flow__edge-path`,markerEnd:d,markerStart:f}),p&&W.createElement(`path`,{d:t,fill:`none`,strokeOpacity:0,strokeWidth:p,className:`react-flow__edge-interaction`}),i&&J(n)&&J(r)?W.createElement(Qe,{x:n,y:r,label:i,labelStyle:a,labelShowBg:o,labelBgStyle:s,labelBgPadding:c,labelBgBorderRadius:l}):null);vt.displayName=`BaseEdge`;function yt(e,t,n){return n===void 0?n:r=>{let i=t().edges.find(t=>t.id===e);i&&n(r,{...i})}}function bt({sourceX:e,sourceY:t,targetX:n,targetY:r}){let i=Math.abs(n-e)/2,a=n<e?n+i:n-i,o=Math.abs(r-t)/2;return[a,r<t?r+o:r-o,i,o]}function xt({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:o,targetControlY:s}){let c=e*.125+i*.375+o*.375+n*.125,l=t*.125+a*.375+s*.375+r*.125;return[c,l,Math.abs(c-e),Math.abs(l-t)]}var St;(function(e){e.Strict=`strict`,e.Loose=`loose`})(St||={});var Ct;(function(e){e.Free=`free`,e.Vertical=`vertical`,e.Horizontal=`horizontal`})(Ct||={});var wt;(function(e){e.Partial=`partial`,e.Full=`full`})(wt||={});var Tt;(function(e){e.Bezier=`default`,e.Straight=`straight`,e.Step=`step`,e.SmoothStep=`smoothstep`,e.SimpleBezier=`simplebezier`})(Tt||={});var Et;(function(e){e.Arrow=`arrow`,e.ArrowClosed=`arrowclosed`})(Et||={});var X;(function(e){e.Left=`left`,e.Top=`top`,e.Right=`right`,e.Bottom=`bottom`})(X||={});function Dt({pos:e,x1:t,y1:n,x2:r,y2:i}){return e===X.Left||e===X.Right?[.5*(t+r),n]:[t,.5*(n+i)]}function Ot({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:i,targetPosition:a=X.Top}){let[o,s]=Dt({pos:n,x1:e,y1:t,x2:r,y2:i}),[c,l]=Dt({pos:a,x1:r,y1:i,x2:e,y2:t}),[u,d,f,p]=xt({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:o,sourceControlY:s,targetControlX:c,targetControlY:l});return[`M${e},${t} C${o},${s} ${c},${l} ${r},${i}`,u,d,f,p]}var kt=(0,W.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=X.Bottom,targetPosition:a=X.Top,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:m,interactionWidth:h})=>{let[g,_,v]=Ot({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:a});return W.createElement(vt,{path:g,labelX:_,labelY:v,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:m,interactionWidth:h})});kt.displayName=`SimpleBezierEdge`;var At={[X.Left]:{x:-1,y:0},[X.Right]:{x:1,y:0},[X.Top]:{x:0,y:-1},[X.Bottom]:{x:0,y:1}},jt=({source:e,sourcePosition:t=X.Bottom,target:n})=>t===X.Left||t===X.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},Mt=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2);function Nt({source:e,sourcePosition:t=X.Bottom,target:n,targetPosition:r=X.Top,center:i,offset:a}){let o=At[t],s=At[r],c={x:e.x+o.x*a,y:e.y+o.y*a},l={x:n.x+s.x*a,y:n.y+s.y*a},u=jt({source:c,sourcePosition:t,target:l}),d=u.x===0?`y`:`x`,f=u[d],p=[],m,h,g={x:0,y:0},_={x:0,y:0},[v,y,b,x]=bt({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(o[d]*s[d]===-1){m=i.x??v,h=i.y??y;let e=[{x:m,y:c.y},{x:m,y:l.y}],t=[{x:c.x,y:h},{x:l.x,y:h}];p=o[d]===f?d===`x`?e:t:d===`x`?t:e}else{let i=[{x:c.x,y:l.y}],u=[{x:l.x,y:c.y}];if(p=d===`x`?o.x===f?u:i:o.y===f?i:u,t===r){let t=Math.abs(e[d]-n[d]);if(t<=a){let r=Math.min(a-1,a-t);o[d]===f?g[d]=(c[d]>e[d]?-1:1)*r:_[d]=(l[d]>n[d]?-1:1)*r}}if(t!==r){let e=d===`x`?`y`:`x`,t=o[d]===s[e],n=c[e]>l[e],r=c[e]<l[e];(o[d]===1&&(!t&&n||t&&r)||o[d]!==1&&(!t&&r||t&&n))&&(p=d===`x`?i:u)}let v={x:c.x+g.x,y:c.y+g.y},y={x:l.x+_.x,y:l.y+_.y};Math.max(Math.abs(v.x-p[0].x),Math.abs(y.x-p[0].x))>=Math.max(Math.abs(v.y-p[0].y),Math.abs(y.y-p[0].y))?(m=(v.x+y.x)/2,h=p[0].y):(m=p[0].x,h=(v.y+y.y)/2)}return[[e,{x:c.x+g.x,y:c.y+g.y},...p,{x:l.x+_.x,y:l.y+_.y},n],m,h,b,x]}function Pt(e,t,n,r){let i=Math.min(Mt(e,t)/2,Mt(t,n)/2,r),{x:a,y:o}=t;if(e.x===a&&a===n.x||e.y===o&&o===n.y)return`L${a} ${o}`;if(e.y===o){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${a+i*t},${o}Q ${a},${o} ${a},${o+i*r}`}let s=e.x<n.x?1:-1;return`L ${a},${o+i*(e.y<n.y?-1:1)}Q ${a},${o} ${a+i*s},${o}`}function Ft({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:i,targetPosition:a=X.Top,borderRadius:o=5,centerX:s,centerY:c,offset:l=20}){let[u,d,f,p,m]=Nt({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:a,center:{x:s,y:c},offset:l});return[u.reduce((e,t,n)=>{let r=``;return r=n>0&&n<u.length-1?Pt(u[n-1],t,u[n+1],o):`${n===0?`M`:`L`}${t.x} ${t.y}`,e+=r,e},``),d,f,p,m]}var It=(0,W.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:a,labelShowBg:o,labelBgStyle:s,labelBgPadding:c,labelBgBorderRadius:l,style:u,sourcePosition:d=X.Bottom,targetPosition:f=X.Top,markerEnd:p,markerStart:m,pathOptions:h,interactionWidth:g})=>{let[_,v,y]=Ft({sourceX:e,sourceY:t,sourcePosition:d,targetX:n,targetY:r,targetPosition:f,borderRadius:h?.borderRadius,offset:h?.offset});return W.createElement(vt,{path:_,labelX:v,labelY:y,label:i,labelStyle:a,labelShowBg:o,labelBgStyle:s,labelBgPadding:c,labelBgBorderRadius:l,style:u,markerEnd:p,markerStart:m,interactionWidth:g})});It.displayName=`SmoothStepEdge`;var Lt=(0,W.memo)(e=>W.createElement(It,{...e,pathOptions:(0,W.useMemo)(()=>({borderRadius:0,offset:e.pathOptions?.offset}),[e.pathOptions?.offset])}));Lt.displayName=`StepEdge`;function Rt({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[i,a,o,s]=bt({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,a,o,s]}var zt=(0,W.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:a,labelShowBg:o,labelBgStyle:s,labelBgPadding:c,labelBgBorderRadius:l,style:u,markerEnd:d,markerStart:f,interactionWidth:p})=>{let[m,h,g]=Rt({sourceX:e,sourceY:t,targetX:n,targetY:r});return W.createElement(vt,{path:m,labelX:h,labelY:g,label:i,labelStyle:a,labelShowBg:o,labelBgStyle:s,labelBgPadding:c,labelBgBorderRadius:l,style:u,markerEnd:d,markerStart:f,interactionWidth:p})});zt.displayName=`StraightEdge`;function Bt(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Vt({pos:e,x1:t,y1:n,x2:r,y2:i,c:a}){switch(e){case X.Left:return[t-Bt(t-r,a),n];case X.Right:return[t+Bt(r-t,a),n];case X.Top:return[t,n-Bt(n-i,a)];case X.Bottom:return[t,n+Bt(i-n,a)]}}function Ht({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:i,targetPosition:a=X.Top,curvature:o=.25}){let[s,c]=Vt({pos:n,x1:e,y1:t,x2:r,y2:i,c:o}),[l,u]=Vt({pos:a,x1:r,y1:i,x2:e,y2:t,c:o}),[d,f,p,m]=xt({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:s,sourceControlY:c,targetControlX:l,targetControlY:u});return[`M${e},${t} C${s},${c} ${l},${u} ${r},${i}`,d,f,p,m]}var Ut=(0,W.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=X.Bottom,targetPosition:a=X.Top,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:m,pathOptions:h,interactionWidth:g})=>{let[_,v,y]=Ht({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:a,curvature:h?.curvature});return W.createElement(vt,{path:_,labelX:v,labelY:y,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:m,interactionWidth:g})});Ut.displayName=`BezierEdge`;var Wt=(0,W.createContext)(null),Gt=Wt.Provider;Wt.Consumer;var Kt=()=>(0,W.useContext)(Wt),qt=e=>`id`in e&&`source`in e&&`target`in e,Jt=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||``}-${n}${r||``}`,Yt=(e,t)=>e===void 0?``:typeof e==`string`?e:`${t?`${t}__`:``}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join(`&`)}`,Xt=(e,t)=>t.some(t=>t.source===e.source&&t.target===e.target&&(t.sourceHandle===e.sourceHandle||!t.sourceHandle&&!e.sourceHandle)&&(t.targetHandle===e.targetHandle||!t.targetHandle&&!e.targetHandle)),Zt=(e,t)=>{if(!e.source||!e.target)return qe.error006(),t;let n;return n=qt(e)?{...e}:{...e,id:Jt(e)},Xt(n,t)?t:t.concat(n)},Qt=({x:e,y:t},[n,r,i],a,[o,s])=>{let c={x:(e-n)/i,y:(t-r)/i};return a?{x:o*Math.round(c.x/o),y:s*Math.round(c.y/s)}:c},$t=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),en=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};let n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},tn=(e,t=[0,0])=>e.length===0?{x:0,y:0,width:0,height:0}:st(e.reduce((e,n)=>{let{x:r,y:i}=en(n,t).positionAbsolute;return at(e,ot({x:r,y:i,width:n.width||0,height:n.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),nn=(e,t,[n,r,i]=[0,0,1],a=!1,o=!1,s=[0,0])=>{let c={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},l=[];return e.forEach(e=>{let{width:t,height:n,selectable:r=!0,hidden:i=!1}=e;if(o&&!r||i)return!1;let{positionAbsolute:u}=en(e,s),d={x:u.x,y:u.y,width:t||0,height:n||0},f=lt(c,d),p=t===void 0||n===void 0||t===null||n===null,m=a&&f>0,h=(t||0)*(n||0);(p||m||f>=h||e.dragging)&&l.push(e)}),l},rn=(e,t)=>{let n=e.map(e=>e.id);return t.filter(e=>n.includes(e.source)||n.includes(e.target))},an=(e,t,n,r,i,a=.1)=>{let o=t/(e.width*(1+a)),s=n/(e.height*(1+a)),c=et(Math.min(o,s),r,i),l=e.x+e.width/2,u=e.y+e.height/2;return{x:t/2-l*c,y:n/2-u*c,zoom:c}},on=(e,t=0)=>e.transition().duration(t);function sn(e,t,n,r){return(t[n]||[]).reduce((t,i)=>(`${e.id}-${i.id}-${n}`!==r&&t.push({id:i.id||null,type:n,nodeId:e.id,x:(e.positionAbsolute?.x??0)+i.x+i.width/2,y:(e.positionAbsolute?.y??0)+i.y+i.height/2}),t),[])}function cn(e,t,n,r,i,a){let{x:o,y:s}=gt(e),c=t.elementsFromPoint(o,s).find(e=>e.classList.contains(`react-flow__handle`));if(c){let e=c.getAttribute(`data-nodeid`);if(e){let t=pn(void 0,c),r=c.getAttribute(`data-handleid`),o=a({nodeId:e,id:r,type:t});if(o){let a=i.find(n=>n.nodeId===e&&n.type===t&&n.id===r);return{handle:{id:r,type:t,nodeId:e,x:a?.x||n.x,y:a?.y||n.y},validHandleResult:o}}}}let l=[],u=1/0;if(i.forEach(e=>{let t=Math.sqrt((e.x-n.x)**2+(e.y-n.y)**2);if(t<=r){let n=a(e);t<=u&&(t<u?l=[{handle:e,validHandleResult:n}]:t===u&&l.push({handle:e,validHandleResult:n}),u=t)}}),!l.length)return{handle:null,validHandleResult:un()};if(l.length===1)return l[0];let d=l.some(({validHandleResult:e})=>e.isValid),f=l.some(({handle:e})=>e.type===`target`);return l.find(({handle:e,validHandleResult:t})=>f?e.type===`target`:!d||t.isValid)||l[0]}var ln={source:null,target:null,sourceHandle:null,targetHandle:null},un=()=>({handleDomNode:null,isValid:!1,connection:ln,endHandle:null});function dn(e,t,n,r,i,a,o){let s=i===`target`,c=o.querySelector(`.react-flow__handle[data-id="${e?.nodeId}-${e?.id}-${e?.type}"]`),l={...un(),handleDomNode:c};if(c){let e=pn(void 0,c),i=c.getAttribute(`data-nodeid`),o=c.getAttribute(`data-handleid`),u=c.classList.contains(`connectable`),d=c.classList.contains(`connectableend`),f={source:s?i:n,sourceHandle:s?o:r,target:s?n:i,targetHandle:s?r:o};l.connection=f,u&&d&&(t===St.Strict?s&&e===`source`||!s&&e===`target`:i!==n||o!==r)&&(l.endHandle={nodeId:i,handleId:o,type:e},l.isValid=a(f))}return l}function fn({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((e,i)=>{if(i[Y]){let{handleBounds:a}=i[Y],o=[],s=[];a&&(o=sn(i,a,`source`,`${t}-${n}-${r}`),s=sn(i,a,`target`,`${t}-${n}-${r}`)),e.push(...o,...s)}return e},[])}function pn(e,t){return e||(t?.classList.contains(`target`)?`target`:t?.classList.contains(`source`)?`source`:null)}function mn(e){e?.classList.remove(`valid`,`connecting`,`react-flow__handle-valid`,`react-flow__handle-connecting`)}function hn(e,t){let n=null;return t?n=`valid`:e&&!t&&(n=`invalid`),n}function gn({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:a,setState:o,isValidConnection:s,edgeUpdaterType:c,onReconnectEnd:l}){let u=it(e.target),{connectionMode:d,domNode:f,autoPanOnConnect:p,connectionRadius:m,onConnectStart:h,panBy:g,getNodes:_,cancelConnection:v}=a(),y=0,b,{x,y:S}=gt(e),C=u?.elementFromPoint(x,S),w=pn(c,C),T=f?.getBoundingClientRect();if(!T||!w)return;let E,D=gt(e,T),O=!1,k=null,A=!1,j=null,M=fn({nodes:_(),nodeId:n,handleId:t,handleType:w}),N=()=>{if(!p)return;let[e,t]=rt(D,T);g({x:e,y:t}),y=requestAnimationFrame(N)};o({connectionPosition:D,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:w,connectionStartHandle:{nodeId:n,handleId:t,type:w},connectionEndHandle:null}),h?.(e,{nodeId:n,handleId:t,handleType:w});function P(e){let{transform:r}=a();D=gt(e,T);let{handle:c,validHandleResult:l}=cn(e,u,Qt(D,r,!1,[1,1]),m,M,e=>dn(e,d,n,t,i?`target`:`source`,s,u));if(b=c,O||=(N(),!0),j=l.handleDomNode,k=l.connection,A=l.isValid,o({connectionPosition:b&&A?$t({x:b.x,y:b.y},r):D,connectionStatus:hn(!!b,A),connectionEndHandle:l.endHandle}),!b&&!A&&!j)return mn(E);k.source!==k.target&&j&&(mn(E),E=j,j.classList.add(`connecting`,`react-flow__handle-connecting`),j.classList.toggle(`valid`,A),j.classList.toggle(`react-flow__handle-valid`,A))}function F(e){(b||j)&&k&&A&&r?.(k),a().onConnectEnd?.(e),c&&l?.(e),mn(E),v(),cancelAnimationFrame(y),O=!1,A=!1,k=null,j=null,u.removeEventListener(`mousemove`,P),u.removeEventListener(`mouseup`,F),u.removeEventListener(`touchmove`,P),u.removeEventListener(`touchend`,F)}u.addEventListener(`mousemove`,P),u.addEventListener(`mouseup`,F),u.addEventListener(`touchmove`,P),u.addEventListener(`touchend`,F)}var _n=()=>!0,vn=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),yn=(e,t,n)=>r=>{let{connectionStartHandle:i,connectionEndHandle:a,connectionClickStartHandle:o}=r;return{connecting:i?.nodeId===e&&i?.handleId===t&&i?.type===n||a?.nodeId===e&&a?.handleId===t&&a?.type===n,clickConnecting:o?.nodeId===e&&o?.handleId===t&&o?.type===n}},bn=(0,W.forwardRef)(({type:e=`source`,position:t=X.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:a=!0,id:o,onConnect:s,children:c,className:l,onMouseDown:u,onTouchStart:d,...f},p)=>{let m=o||null,h=e===`target`,g=q(),_=Kt(),{connectOnClick:v,noPanClassName:y}=K(vn,G),{connecting:b,clickConnecting:x}=K(yn(_,m,e),G);_||g.getState().onError?.(`010`,qe.error010());let S=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:r}=g.getState(),i={...t,...e};if(r){let{edges:e,setEdges:t}=g.getState();t(Zt(i,e))}n?.(i),s?.(i)},C=e=>{if(!_)return;let t=ht(e);i&&(t&&e.button===0||!t)&&gn({event:e,handleId:m,nodeId:_,onConnect:S,isTarget:h,getState:g.getState,setState:g.setState,isValidConnection:n||g.getState().isValidConnection||_n}),t?u?.(e):d?.(e)};return W.createElement(`div`,{"data-handleid":m,"data-nodeid":_,"data-handlepos":t,"data-id":`${_}-${m}-${e}`,className:U([`react-flow__handle`,`react-flow__handle-${t}`,`nodrag`,y,l,{source:!h,target:h,connectable:r,connectablestart:i,connectableend:a,connecting:x,connectionindicator:r&&(i&&!b||a&&b)}]),onMouseDown:C,onTouchStart:C,onClick:v?t=>{let{onClickConnectStart:r,onClickConnectEnd:a,connectionClickStartHandle:o,connectionMode:s,isValidConnection:c}=g.getState();if(!_||!o&&!i)return;if(!o){r?.(t,{nodeId:_,handleId:m,handleType:e}),g.setState({connectionClickStartHandle:{nodeId:_,type:e,handleId:m}});return}let l=it(t.target),u=n||c||_n,{connection:d,isValid:f}=dn({nodeId:_,id:m,type:e},s,o.nodeId,o.handleId||null,o.type,u,l);f&&S(d),a?.(t),g.setState({connectionClickStartHandle:null})}:void 0,ref:p,...f},c)});bn.displayName=`Handle`;var xn=(0,W.memo)(bn),Sn=({data:e,isConnectable:t,targetPosition:n=X.Top,sourcePosition:r=X.Bottom})=>W.createElement(W.Fragment,null,W.createElement(xn,{type:`target`,position:n,isConnectable:t}),e?.label,W.createElement(xn,{type:`source`,position:r,isConnectable:t}));Sn.displayName=`DefaultNode`;var Cn=(0,W.memo)(Sn),wn=({data:e,isConnectable:t,sourcePosition:n=X.Bottom})=>W.createElement(W.Fragment,null,e?.label,W.createElement(xn,{type:`source`,position:n,isConnectable:t}));wn.displayName=`InputNode`;var Tn=(0,W.memo)(wn),En=({data:e,isConnectable:t,targetPosition:n=X.Top})=>W.createElement(W.Fragment,null,W.createElement(xn,{type:`target`,position:n,isConnectable:t}),e?.label);En.displayName=`OutputNode`;var Dn=(0,W.memo)(En),On=()=>null;On.displayName=`GroupNode`;var kn=e=>({selectedNodes:e.getNodes().filter(e=>e.selected),selectedEdges:e.edges.filter(e=>e.selected).map(e=>({...e}))}),An=e=>e.id;function jn(e,t){return G(e.selectedNodes.map(An),t.selectedNodes.map(An))&&G(e.selectedEdges.map(An),t.selectedEdges.map(An))}var Mn=(0,W.memo)(({onSelectionChange:e})=>{let t=q(),{selectedNodes:n,selectedEdges:r}=K(kn,jn);return(0,W.useEffect)(()=>{let i={nodes:n,edges:r};e?.(i),t.getState().onSelectionChange.forEach(e=>e(i))},[n,r,e]),null});Mn.displayName=`SelectionListener`;var Nn=e=>!!e.onSelectionChange;function Pn({onSelectionChange:e}){let t=K(Nn);return e||t?W.createElement(Mn,{onSelectionChange:e}):null}var Fn=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function In(e,t){(0,W.useEffect)(()=>{e!==void 0&&t(e)},[e])}function Z(e,t,n){(0,W.useEffect)(()=>{t!==void 0&&n({[e]:t})},[t])}var Ln=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:a,onConnectEnd:o,onClickConnectStart:s,onClickConnectEnd:c,nodesDraggable:l,nodesConnectable:u,nodesFocusable:d,edgesFocusable:f,edgesUpdatable:p,elevateNodesOnSelect:m,minZoom:h,maxZoom:g,nodeExtent:_,onNodesChange:v,onEdgesChange:y,elementsSelectable:b,connectionMode:x,snapGrid:S,snapToGrid:C,translateExtent:w,connectOnClick:T,defaultEdgeOptions:E,fitView:D,fitViewOptions:O,onNodesDelete:k,onEdgesDelete:A,onNodeDrag:j,onNodeDragStart:M,onNodeDragStop:N,onSelectionDrag:P,onSelectionDragStart:F,onSelectionDragStop:I,noPanClassName:L,nodeOrigin:R,rfId:z,autoPanOnConnect:B,autoPanOnNodeDrag:ee,onError:te,connectionRadius:ne,isValidConnection:re,nodeDragThreshold:ie})=>{let{setNodes:ae,setEdges:oe,setDefaultNodesAndEdges:se,setMinZoom:ce,setMaxZoom:V,setTranslateExtent:le,setNodeExtent:ue,reset:de}=K(Fn,G),H=q();return(0,W.useEffect)(()=>{let e=r?.map(e=>({...e,...E}));return se(n,e),()=>{de()}},[]),Z(`defaultEdgeOptions`,E,H.setState),Z(`connectionMode`,x,H.setState),Z(`onConnect`,i,H.setState),Z(`onConnectStart`,a,H.setState),Z(`onConnectEnd`,o,H.setState),Z(`onClickConnectStart`,s,H.setState),Z(`onClickConnectEnd`,c,H.setState),Z(`nodesDraggable`,l,H.setState),Z(`nodesConnectable`,u,H.setState),Z(`nodesFocusable`,d,H.setState),Z(`edgesFocusable`,f,H.setState),Z(`edgesUpdatable`,p,H.setState),Z(`elementsSelectable`,b,H.setState),Z(`elevateNodesOnSelect`,m,H.setState),Z(`snapToGrid`,C,H.setState),Z(`snapGrid`,S,H.setState),Z(`onNodesChange`,v,H.setState),Z(`onEdgesChange`,y,H.setState),Z(`connectOnClick`,T,H.setState),Z(`fitViewOnInit`,D,H.setState),Z(`fitViewOnInitOptions`,O,H.setState),Z(`onNodesDelete`,k,H.setState),Z(`onEdgesDelete`,A,H.setState),Z(`onNodeDrag`,j,H.setState),Z(`onNodeDragStart`,M,H.setState),Z(`onNodeDragStop`,N,H.setState),Z(`onSelectionDrag`,P,H.setState),Z(`onSelectionDragStart`,F,H.setState),Z(`onSelectionDragStop`,I,H.setState),Z(`noPanClassName`,L,H.setState),Z(`nodeOrigin`,R,H.setState),Z(`rfId`,z,H.setState),Z(`autoPanOnConnect`,B,H.setState),Z(`autoPanOnNodeDrag`,ee,H.setState),Z(`onError`,te,H.setState),Z(`connectionRadius`,ne,H.setState),Z(`isValidConnection`,re,H.setState),Z(`nodeDragThreshold`,ie,H.setState),In(e,ae),In(t,oe),In(h,ce),In(g,V),In(w,le),In(_,ue),null},Rn={display:`none`},zn={position:`absolute`,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0px, 0px, 0px, 0px)`,clipPath:`inset(100%)`},Bn=`react-flow__node-desc`,Vn=`react-flow__edge-desc`,Hn=`react-flow__aria-live`,Un=e=>e.ariaLiveMessage;function Wn({rfId:e}){let t=K(Un);return W.createElement(`div`,{id:`${Hn}-${e}`,"aria-live":`assertive`,"aria-atomic":`true`,style:zn},t)}function Gn({rfId:e,disableKeyboardA11y:t}){return W.createElement(W.Fragment,null,W.createElement(`div`,{id:`${Bn}-${e}`,style:Rn},`Press enter or space to select a node.`,!t&&`You can then use the arrow keys to move the node around.`,` Press delete to remove it and escape to cancel.`,` `),W.createElement(`div`,{id:`${Vn}-${e}`,style:Rn},`Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.`),!t&&W.createElement(Wn,{rfId:e}))}var Kn=(e=null,t={actInsideInputWithModifier:!0})=>{let[n,r]=(0,W.useState)(!1),i=(0,W.useRef)(!1),a=(0,W.useRef)(new Set([])),[o,s]=(0,W.useMemo)(()=>{if(e!==null){let t=(Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`).map(e=>e.split(`+`));return[t,t.reduce((e,t)=>e.concat(...t),[])]}return[[],[]]},[e]);return(0,W.useEffect)(()=>{let n=typeof document<`u`?document:null,c=t?.target||n;if(e!==null){let e=e=>{if(i.current=e.ctrlKey||e.metaKey||e.shiftKey,(!i.current||i.current&&!t.actInsideInputWithModifier)&&mt(e))return!1;let n=Jn(e.code,s);a.current.add(e[n]),qn(o,a.current,!1)&&(e.preventDefault(),r(!0))},n=e=>{if((!i.current||i.current&&!t.actInsideInputWithModifier)&&mt(e))return!1;let n=Jn(e.code,s);qn(o,a.current,!0)?(r(!1),a.current.clear()):a.current.delete(e[n]),e.key===`Meta`&&a.current.clear(),i.current=!1},l=()=>{a.current.clear(),r(!1)};return c?.addEventListener(`keydown`,e),c?.addEventListener(`keyup`,n),window.addEventListener(`blur`,l),()=>{c?.removeEventListener(`keydown`,e),c?.removeEventListener(`keyup`,n),window.removeEventListener(`blur`,l)}}},[e,r]),n};function qn(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function Jn(e,t){return t.includes(e)?`code`:`key`}function Yn(e,t,n,r){let i=e.parentNode||e.parentId;if(!i)return n;let a=t.get(i),o=en(a,r);return Yn(a,t,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(a[Y]?.z??0)>(n.z??0)?a[Y]?.z??0:n.z??0},r)}function Xn(e,t,n){e.forEach(r=>{let i=r.parentNode||r.parentId;if(i&&!e.has(i))throw Error(`Parent node ${i} not found`);if(i||n?.[r.id]){let{x:i,y:a,z:o}=Yn(r,e,{...r.position,z:r[Y]?.z??0},t);r.positionAbsolute={x:i,y:a},r[Y].z=o,n?.[r.id]&&(r[Y].isParent=!0)}})}function Zn(e,t,n,r){let i=new Map,a={},o=r?1e3:0;return e.forEach(e=>{let n=(J(e.zIndex)?e.zIndex:0)+(e.selected?o:0),r=t.get(e.id),s={...e,positionAbsolute:{x:e.position.x,y:e.position.y}},c=e.parentNode||e.parentId;c&&(a[c]=!0);let l=r?.type&&r?.type!==e.type;Object.defineProperty(s,Y,{enumerable:!1,value:{handleBounds:l?void 0:r?.[Y]?.handleBounds,z:n}}),i.set(e.id,s)}),Xn(i,n,a),i}function Qn(e,t={}){let{getNodes:n,width:r,height:i,minZoom:a,maxZoom:o,d3Zoom:s,d3Selection:c,fitViewOnInitDone:l,fitViewOnInit:u,nodeOrigin:d}=e(),f=t.initial&&!l&&u;if(s&&c&&(f||!t.initial)){let e=n().filter(e=>{let n=t.includeHiddenNodes?e.width&&e.height:!e.hidden;return t.nodes?.length?n&&t.nodes.some(t=>t.id===e.id):n}),l=e.every(e=>e.width&&e.height);if(e.length>0&&l){let{x:n,y:l,zoom:u}=an(tn(e,d),r,i,t.minZoom??a,t.maxZoom??o,t.padding??.1),f=_e.translate(n,l).scale(u);return typeof t.duration==`number`&&t.duration>0?s.transform(on(c,t.duration),f):s.transform(c,f),!0}}return!1}function $n(e,t){return e.forEach(e=>{let n=t.get(e.id);n&&t.set(n.id,{...n,[Y]:n[Y],selected:e.selected})}),new Map(t)}function er(e,t){return t.map(t=>{let n=e.find(e=>e.id===t.id);return n&&(t.selected=n.selected),t})}function tr({changedNodes:e,changedEdges:t,get:n,set:r}){let{nodeInternals:i,edges:a,onNodesChange:o,onEdgesChange:s,hasDefaultNodes:c,hasDefaultEdges:l}=n();e?.length&&(c&&r({nodeInternals:$n(e,i)}),o?.(e)),t?.length&&(l&&r({edges:er(t,a)}),s?.(t))}var nr=()=>{},rr={zoomIn:nr,zoomOut:nr,zoomTo:nr,getZoom:()=>1,setViewport:nr,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:nr,fitBounds:nr,project:e=>e,screenToFlowPosition:e=>e,flowToScreenPosition:e=>e,viewportInitialized:!1},ir=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),ar=()=>{let e=q(),{d3Zoom:t,d3Selection:n}=K(ir,G);return(0,W.useMemo)(()=>n&&t?{zoomIn:e=>t.scaleBy(on(n,e?.duration),1.2),zoomOut:e=>t.scaleBy(on(n,e?.duration),1/1.2),zoomTo:(e,r)=>t.scaleTo(on(n,r?.duration),e),getZoom:()=>e.getState().transform[2],setViewport:(r,i)=>{let[a,o,s]=e.getState().transform,c=_e.translate(r.x??a,r.y??o).scale(r.zoom??s);t.transform(on(n,i?.duration),c)},getViewport:()=>{let[t,n,r]=e.getState().transform;return{x:t,y:n,zoom:r}},fitView:t=>Qn(e.getState,t),setCenter:(r,i,a)=>{let{width:o,height:s,maxZoom:c}=e.getState(),l=a?.zoom===void 0?c:a.zoom,u=o/2-r*l,d=s/2-i*l,f=_e.translate(u,d).scale(l);t.transform(on(n,a?.duration),f)},fitBounds:(r,i)=>{let{width:a,height:o,minZoom:s,maxZoom:c}=e.getState(),{x:l,y:u,zoom:d}=an(r,a,o,s,c,i?.padding??.1),f=_e.translate(l,u).scale(d);t.transform(on(n,i?.duration),f)},project:t=>{let{transform:n,snapToGrid:r,snapGrid:i}=e.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(t,n,r,i)},screenToFlowPosition:t=>{let{transform:n,snapToGrid:r,snapGrid:i,domNode:a}=e.getState();if(!a)return t;let{x:o,y:s}=a.getBoundingClientRect();return Qt({x:t.x-o,y:t.y-s},n,r,i)},flowToScreenPosition:t=>{let{transform:n,domNode:r}=e.getState();if(!r)return t;let{x:i,y:a}=r.getBoundingClientRect(),o=$t(t,n);return{x:o.x+i,y:o.y+a}},viewportInitialized:!0}:rr,[t,n])};function or(){let e=ar(),t=q(),n=(0,W.useCallback)(()=>t.getState().getNodes().map(e=>({...e})),[]),r=(0,W.useCallback)(e=>t.getState().nodeInternals.get(e),[]),i=(0,W.useCallback)(()=>{let{edges:e=[]}=t.getState();return e.map(e=>({...e}))},[]),a=(0,W.useCallback)(e=>{let{edges:n=[]}=t.getState();return n.find(t=>t.id===e)},[]),o=(0,W.useCallback)(e=>{let{getNodes:n,setNodes:r,hasDefaultNodes:i,onNodesChange:a}=t.getState(),o=n(),s=typeof e==`function`?e(o):e;i?r(s):a&&a(s.length===0?o.map(e=>({type:`remove`,id:e.id})):s.map(e=>({item:e,type:`reset`})))},[]),s=(0,W.useCallback)(e=>{let{edges:n=[],setEdges:r,hasDefaultEdges:i,onEdgesChange:a}=t.getState(),o=typeof e==`function`?e(n):e;i?r(o):a&&a(o.length===0?n.map(e=>({type:`remove`,id:e.id})):o.map(e=>({item:e,type:`reset`})))},[]),c=(0,W.useCallback)(e=>{let n=Array.isArray(e)?e:[e],{getNodes:r,setNodes:i,hasDefaultNodes:a,onNodesChange:o}=t.getState();a?i([...r(),...n]):o&&o(n.map(e=>({item:e,type:`add`})))},[]),l=(0,W.useCallback)(e=>{let n=Array.isArray(e)?e:[e],{edges:r=[],setEdges:i,hasDefaultEdges:a,onEdgesChange:o}=t.getState();a?i([...r,...n]):o&&o(n.map(e=>({item:e,type:`add`})))},[]),u=(0,W.useCallback)(()=>{let{getNodes:e,edges:n=[],transform:r}=t.getState(),[i,a,o]=r;return{nodes:e().map(e=>({...e})),edges:n.map(e=>({...e})),viewport:{x:i,y:a,zoom:o}}},[]),d=(0,W.useCallback)(({nodes:e,edges:n})=>{let{nodeInternals:r,getNodes:i,edges:a,hasDefaultNodes:o,hasDefaultEdges:s,onNodesDelete:c,onEdgesDelete:l,onNodesChange:u,onEdgesChange:d}=t.getState(),f=(e||[]).map(e=>e.id),p=(n||[]).map(e=>e.id),m=i().reduce((e,t)=>{let n=t.parentNode||t.parentId,r=!f.includes(t.id)&&n&&e.find(e=>e.id===n);return(typeof t.deletable!=`boolean`||t.deletable)&&(f.includes(t.id)||r)&&e.push(t),e},[]),h=a.filter(e=>typeof e.deletable!=`boolean`||e.deletable),g=h.filter(e=>p.includes(e.id));if(m||g){let e=rn(m,h),n=[...g,...e],i=n.reduce((e,t)=>(e.includes(t.id)||e.push(t.id),e),[]);(s||o)&&(s&&t.setState({edges:a.filter(e=>!i.includes(e.id))}),o&&(m.forEach(e=>{r.delete(e.id)}),t.setState({nodeInternals:new Map(r)}))),i.length>0&&(l?.(n),d&&d(i.map(e=>({id:e,type:`remove`})))),m.length>0&&(c?.(m),u&&u(m.map(e=>({id:e.id,type:`remove`}))))}},[]),f=(0,W.useCallback)(e=>{let n=ut(e),r=n?null:t.getState().nodeInternals.get(e.id);return!n&&!r?[null,null,n]:[n?e:ct(r),r,n]},[]),p=(0,W.useCallback)((e,n=!0,r)=>{let[i,a,o]=f(e);return i?(r||t.getState().getNodes()).filter(e=>{if(!o&&(e.id===a.id||!e.positionAbsolute))return!1;let t=lt(ct(e),i);return n&&t>0||t>=i.width*i.height}):[]},[]),m=(0,W.useCallback)((e,t,n=!0)=>{let[r]=f(e);if(!r)return!1;let i=lt(r,t);return n&&i>0||i>=r.width*r.height},[]);return(0,W.useMemo)(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:a,setNodes:o,setEdges:s,addNodes:c,addEdges:l,toObject:u,deleteElements:d,getIntersectingNodes:p,isNodeIntersecting:m}),[e,n,r,i,a,o,s,c,l,u,d,p,m])}var sr={actInsideInputWithModifier:!1},cr=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{let n=q(),{deleteElements:r}=or(),i=Kn(e,sr),a=Kn(t);(0,W.useEffect)(()=>{if(i){let{edges:e,getNodes:t}=n.getState(),i=t().filter(e=>e.selected),a=e.filter(e=>e.selected);r({nodes:i,edges:a}),n.setState({nodesSelectionActive:!1})}},[i]),(0,W.useEffect)(()=>{n.setState({multiSelectionActive:a})},[a])};function lr(e){let t=q();(0,W.useEffect)(()=>{let n,r=()=>{if(!e.current)return;let n=$e(e.current);(n.height===0||n.width===0)&&t.getState().onError?.(`004`,qe.error004()),t.setState({width:n.width||500,height:n.height||500})};return r(),window.addEventListener(`resize`,r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener(`resize`,r),n&&e.current&&n.unobserve(e.current)}},[])}var ur={position:`absolute`,width:`100%`,height:`100%`,top:0,left:0},dr=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,fr=e=>({x:e.x,y:e.y,zoom:e.k}),pr=(e,t)=>e.target.closest(`.${t}`),mr=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),hr=e=>{let t=e.ctrlKey&&_t()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t},gr=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),_r=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:a=!0,panOnScroll:o=!1,panOnScrollSpeed:s=.5,panOnScrollMode:c=Ct.Free,zoomOnDoubleClick:l=!0,elementsSelectable:u,panOnDrag:d=!0,defaultViewport:f,translateExtent:p,minZoom:m,maxZoom:h,zoomActivationKeyCode:g,preventScrolling:_=!0,children:v,noWheelClassName:y,noPanClassName:b})=>{let x=(0,W.useRef)(),S=q(),C=(0,W.useRef)(!1),w=(0,W.useRef)(!1),T=(0,W.useRef)(null),E=(0,W.useRef)({x:0,y:0,zoom:0}),{d3Zoom:D,d3Selection:O,d3ZoomHandler:k,userSelectionActive:A}=K(gr,G),j=Kn(g),M=(0,W.useRef)(0),N=(0,W.useRef)(!1),P=(0,W.useRef)();return lr(T),(0,W.useEffect)(()=>{if(T.current){let e=T.current.getBoundingClientRect(),t=xe().scaleExtent([m,h]).translateExtent(p),n=Se(T.current).call(t),r=_e.translate(f.x,f.y).scale(et(f.zoom,m,h)),i=[[0,0],[e.width,e.height]],a=t.constrain()(r,i,p);t.transform(n,a),t.wheelDelta(hr),S.setState({d3Zoom:t,d3Selection:n,d3ZoomHandler:n.on(`wheel.zoom`),transform:[a.x,a.y,a.k],domNode:T.current.closest(`.react-flow`)})}},[]),(0,W.useEffect)(()=>{O&&D&&(o&&!j&&!A?O.on(`wheel.zoom`,r=>{if(pr(r,y))return!1;r.preventDefault(),r.stopImmediatePropagation();let i=O.property(`__zoom`).k||1;if(r.ctrlKey&&a){let e=ge(r),t=i*2**hr(r);D.scaleTo(O,t,e,r);return}let o=r.deltaMode===1?20:1,l=c===Ct.Vertical?0:r.deltaX*o,u=c===Ct.Horizontal?0:r.deltaY*o;!_t()&&r.shiftKey&&c!==Ct.Vertical&&(l=r.deltaY*o,u=0),D.translateBy(O,-(l/i)*s,-(u/i)*s,{internal:!0});let d=fr(O.property(`__zoom`)),{onViewportChangeStart:f,onViewportChange:p,onViewportChangeEnd:m}=S.getState();clearTimeout(P.current),N.current||(N.current=!0,t?.(r,d),f?.(d)),N.current&&(e?.(r,d),p?.(d),P.current=setTimeout(()=>{n?.(r,d),m?.(d),N.current=!1},150))},{passive:!1}):k!==void 0&&O.on(`wheel.zoom`,function(e,t){if(!_&&e.type===`wheel`&&!e.ctrlKey||pr(e,y))return null;e.preventDefault(),k.call(this,e,t)},{passive:!1}))},[A,o,c,O,D,k,j,a,_,y,t,e,n]),(0,W.useEffect)(()=>{D&&D.on(`start`,e=>{if(!e.sourceEvent||e.sourceEvent.internal)return null;M.current=e.sourceEvent?.button;let{onViewportChangeStart:n}=S.getState(),r=fr(e.transform);C.current=!0,E.current=r,e.sourceEvent?.type===`mousedown`&&S.setState({paneDragging:!0}),n?.(r),t?.(e.sourceEvent,r)})},[D,t]),(0,W.useEffect)(()=>{D&&(A&&!C.current?D.on(`zoom`,null):A||D.on(`zoom`,t=>{let{onViewportChange:n}=S.getState();if(S.setState({transform:[t.transform.x,t.transform.y,t.transform.k]}),w.current=!!(r&&mr(d,M.current??0)),(e||n)&&!t.sourceEvent?.internal){let r=fr(t.transform);n?.(r),e?.(t.sourceEvent,r)}}))},[A,D,e,d,r]),(0,W.useEffect)(()=>{D&&D.on(`end`,e=>{if(!e.sourceEvent||e.sourceEvent.internal)return null;let{onViewportChangeEnd:t}=S.getState();if(C.current=!1,S.setState({paneDragging:!1}),r&&mr(d,M.current??0)&&!w.current&&r(e.sourceEvent),w.current=!1,(n||t)&&dr(E.current,e.transform)){let r=fr(e.transform);E.current=r,clearTimeout(x.current),x.current=setTimeout(()=>{t?.(r),n?.(e.sourceEvent,r)},o?150:0)}})},[D,o,d,n,r]),(0,W.useEffect)(()=>{D&&D.filter(e=>{let t=j||i,n=a&&e.ctrlKey;if((d===!0||Array.isArray(d)&&d.includes(1))&&e.button===1&&e.type===`mousedown`&&(pr(e,`react-flow__node`)||pr(e,`react-flow__edge`)))return!0;if(!d&&!t&&!o&&!l&&!a||A||!l&&e.type===`dblclick`||pr(e,y)&&e.type===`wheel`||pr(e,b)&&(e.type!==`wheel`||o&&e.type===`wheel`&&!j)||!a&&e.ctrlKey&&e.type===`wheel`||!t&&!o&&!n&&e.type===`wheel`||!d&&(e.type===`mousedown`||e.type===`touchstart`)||Array.isArray(d)&&!d.includes(e.button)&&e.type===`mousedown`)return!1;let r=Array.isArray(d)&&d.includes(e.button)||!e.button||e.button<=1;return(!e.ctrlKey||e.type===`wheel`)&&r})},[A,D,i,a,o,l,d,u,j]),W.createElement(`div`,{className:`react-flow__renderer`,ref:T,style:ur},v)},vr=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function yr(){let{userSelectionActive:e,userSelectionRect:t}=K(vr,G);return e&&t?W.createElement(`div`,{className:`react-flow__selection react-flow__container`,style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function br(e,t){let n=t.parentNode||t.parentId,r=e.find(e=>e.id===n);if(r){let e=t.position.x+t.width-r.width,n=t.position.y+t.height-r.height;if(e>0||n>0||t.position.x<0||t.position.y<0){if(r.style={...r.style},r.style.width=r.style.width??r.width,r.style.height=r.style.height??r.height,e>0&&(r.style.width+=e),n>0&&(r.style.height+=n),t.position.x<0){let e=Math.abs(t.position.x);r.position.x=r.position.x-e,r.style.width+=e,t.position.x=0}if(t.position.y<0){let e=Math.abs(t.position.y);r.position.y=r.position.y-e,r.style.height+=e,t.position.y=0}r.width=r.style.width,r.height=r.style.height}}}function xr(e,t){if(e.some(e=>e.type===`reset`))return e.filter(e=>e.type===`reset`).map(e=>e.item);let n=e.filter(e=>e.type===`add`).map(e=>e.item);return t.reduce((t,n)=>{let r=e.filter(e=>e.id===n.id);if(r.length===0)return t.push(n),t;let i={...n};for(let e of r)if(e)switch(e.type){case`select`:i.selected=e.selected;break;case`position`:e.position!==void 0&&(i.position=e.position),e.positionAbsolute!==void 0&&(i.positionAbsolute=e.positionAbsolute),e.dragging!==void 0&&(i.dragging=e.dragging),i.expandParent&&br(t,i);break;case`dimensions`:e.dimensions!==void 0&&(i.width=e.dimensions.width,i.height=e.dimensions.height),e.updateStyle!==void 0&&(i.style={...i.style||{},...e.dimensions}),typeof e.resizing==`boolean`&&(i.resizing=e.resizing),i.expandParent&&br(t,i);break;case`remove`:return t}return t.push(i),t},n)}function Sr(e,t){return xr(e,t)}function Cr(e,t){return xr(e,t)}var wr=(e,t)=>({id:e,type:`select`,selected:t});function Tr(e,t){return e.reduce((e,n)=>{let r=t.includes(n.id);return!n.selected&&r?(n.selected=!0,e.push(wr(n.id,!0))):n.selected&&!r&&(n.selected=!1,e.push(wr(n.id,!1))),e},[])}var Er=(e,t)=>n=>{n.target===t.current&&e?.(n)},Dr=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),Or=(0,W.memo)(({isSelecting:e,selectionMode:t=wt.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:a,onPaneContextMenu:o,onPaneScroll:s,onPaneMouseEnter:c,onPaneMouseMove:l,onPaneMouseLeave:u,children:d})=>{let f=(0,W.useRef)(null),p=q(),m=(0,W.useRef)(0),h=(0,W.useRef)(0),g=(0,W.useRef)(),{userSelectionActive:_,elementsSelectable:v,dragging:y}=K(Dr,G),b=()=>{p.setState({userSelectionActive:!1,userSelectionRect:null}),m.current=0,h.current=0},x=e=>{a?.(e),p.getState().resetSelectedElements(),p.setState({nodesSelectionActive:!1})},S=e=>{if(Array.isArray(n)&&n?.includes(2)){e.preventDefault();return}o?.(e)},C=s?e=>s(e):void 0,w=t=>{let{resetSelectedElements:n,domNode:i}=p.getState();if(g.current=i?.getBoundingClientRect(),!v||!e||t.button!==0||t.target!==f.current||!g.current)return;let{x:a,y:o}=gt(t,g.current);n(),p.setState({userSelectionRect:{width:0,height:0,startX:a,startY:o,x:a,y:o}}),r?.(t)},T=n=>{let{userSelectionRect:r,nodeInternals:i,edges:a,transform:o,onNodesChange:s,onEdgesChange:c,nodeOrigin:l,getNodes:u}=p.getState();if(!e||!g.current||!r)return;p.setState({userSelectionActive:!0,nodesSelectionActive:!1});let d=gt(n,g.current),f=r.startX??0,_=r.startY??0,v={...r,x:d.x<f?d.x:f,y:d.y<_?d.y:_,width:Math.abs(d.x-f),height:Math.abs(d.y-_)},y=u(),b=nn(i,v,o,t===wt.Partial,!0,l),x=rn(b,a).map(e=>e.id),S=b.map(e=>e.id);if(m.current!==S.length){m.current=S.length;let e=Tr(y,S);e.length&&s?.(e)}if(h.current!==x.length){h.current=x.length;let e=Tr(a,x);e.length&&c?.(e)}p.setState({userSelectionRect:v})},E=e=>{if(e.button!==0)return;let{userSelectionRect:t}=p.getState();!_&&t&&e.target===f.current&&x?.(e),p.setState({nodesSelectionActive:m.current>0}),b(),i?.(e)},D=e=>{_&&(p.setState({nodesSelectionActive:m.current>0}),i?.(e)),b()},O=v&&(e||_);return W.createElement(`div`,{className:U([`react-flow__pane`,{dragging:y,selection:e}]),onClick:O?void 0:Er(x,f),onContextMenu:Er(S,f),onWheel:Er(C,f),onMouseEnter:O?void 0:c,onMouseDown:O?w:void 0,onMouseMove:O?T:l,onMouseUp:O?E:void 0,onMouseLeave:O?D:u,ref:f,style:ur},d,W.createElement(yr,null))});Or.displayName=`Pane`;function kr(e,t){let n=e.parentNode||e.parentId;if(!n)return!1;let r=t.get(n);return r?r.selected?!0:kr(r,t):!1}function Ar(e,t,n){let r=e;do{if(r?.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function jr(e,t,n,r){return Array.from(e.values()).filter(n=>(n.selected||n.id===r)&&(!n.parentNode||n.parentId||!kr(n,e))&&(n.draggable||t&&n.draggable===void 0)).map(e=>({id:e.id,position:e.position||{x:0,y:0},positionAbsolute:e.positionAbsolute||{x:0,y:0},distance:{x:n.x-(e.positionAbsolute?.x??0),y:n.y-(e.positionAbsolute?.y??0)},delta:{x:0,y:0},extent:e.extent,parentNode:e.parentNode||e.parentId,parentId:e.parentNode||e.parentId,width:e.width,height:e.height,expandParent:e.expandParent}))}function Mr(e,t){return!t||t===`parent`?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function Nr(e,t,n,r,i=[0,0],a){let o=Mr(e,e.extent||r),s=o,c=e.parentNode||e.parentId;if(e.extent===`parent`&&!e.expandParent){if(c&&e.width&&e.height){let t=n.get(c),{x:r,y:a}=en(t,i).positionAbsolute;s=t&&J(r)&&J(a)&&J(t.width)&&J(t.height)?[[r+e.width*i[0],a+e.height*i[1]],[r+t.width-e.width+e.width*i[0],a+t.height-e.height+e.height*i[1]]]:s}else a?.(`005`,qe.error005()),s=o}else if(e.extent&&c&&e.extent!==`parent`){let{x:t,y:r}=en(n.get(c),i).positionAbsolute;s=[[e.extent[0][0]+t,e.extent[0][1]+r],[e.extent[1][0]+t,e.extent[1][1]+r]]}let l={x:0,y:0};c&&(l=en(n.get(c),i).positionAbsolute);let u=s&&s!==`parent`?tt(t,s):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function Pr({nodeId:e,dragItems:t,nodeInternals:n}){let r=t.map(e=>({...n.get(e.id),position:e.position,positionAbsolute:e.positionAbsolute}));return[e?r.find(t=>t.id===e):r[0],r]}var Fr=(e,t,n,r)=>{let i=t.querySelectorAll(e);if(!i||!i.length)return null;let a=Array.from(i),o=t.getBoundingClientRect(),s={x:o.width*r[0],y:o.height*r[1]};return a.map(e=>{let t=e.getBoundingClientRect();return{id:e.getAttribute(`data-handleid`),position:e.getAttribute(`data-handlepos`),x:(t.left-o.left-s.x)/n,y:(t.top-o.top-s.y)/n,...$e(e)}})};function Ir(e,t,n){return n===void 0?n:r=>{let i=t().nodeInternals.get(e);i&&n(r,{...i})}}function Lr({id:e,store:t,unselect:n=!1,nodeRef:r}){let{addSelectedNodes:i,unselectNodesAndEdges:a,multiSelectionActive:o,nodeInternals:s,onError:c}=t.getState(),l=s.get(e);if(!l){c?.(`012`,qe.error012(e));return}t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&o)&&(a({nodes:[l],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):i([e])}function Rr(){let e=q();return(0,W.useCallback)(({sourceEvent:t})=>{let{transform:n,snapGrid:r,snapToGrid:i}=e.getState(),a=t.touches?t.touches[0].clientX:t.clientX,o=t.touches?t.touches[0].clientY:t.clientY,s={x:(a-n[0])/n[2],y:(o-n[1])/n[2]};return{xSnapped:i?r[0]*Math.round(s.x/r[0]):s.x,ySnapped:i?r[1]*Math.round(s.y/r[1]):s.y,...s}},[])}function zr(e){return(t,n,r)=>e?.(t,r)}function Br({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:a,selectNodesOnDrag:o}){let s=q(),[c,l]=(0,W.useState)(!1),u=(0,W.useRef)([]),d=(0,W.useRef)({x:null,y:null}),f=(0,W.useRef)(0),p=(0,W.useRef)(null),m=(0,W.useRef)({x:0,y:0}),h=(0,W.useRef)(null),g=(0,W.useRef)(!1),_=(0,W.useRef)(!1),v=(0,W.useRef)(!1),y=Rr();return(0,W.useEffect)(()=>{if(e?.current){let c=Se(e.current),b=({x:e,y:t})=>{let{nodeInternals:n,onNodeDrag:r,onSelectionDrag:a,updateNodePositions:o,nodeExtent:c,snapGrid:f,snapToGrid:p,nodeOrigin:m,onError:g}=s.getState();d.current={x:e,y:t};let _=!1,v={x:0,y:0,x2:0,y2:0};if(u.current.length>1&&c&&(v=ot(tn(u.current,m))),u.current=u.current.map(r=>{let i={x:e-r.distance.x,y:t-r.distance.y};p&&(i.x=f[0]*Math.round(i.x/f[0]),i.y=f[1]*Math.round(i.y/f[1]));let a=[[c[0][0],c[0][1]],[c[1][0],c[1][1]]];u.current.length>1&&c&&!r.extent&&(a[0][0]=r.positionAbsolute.x-v.x+c[0][0],a[1][0]=r.positionAbsolute.x+(r.width??0)-v.x2+c[1][0],a[0][1]=r.positionAbsolute.y-v.y+c[0][1],a[1][1]=r.positionAbsolute.y+(r.height??0)-v.y2+c[1][1]);let o=Nr(r,i,n,a,m,g);return _=_||r.position.x!==o.position.x||r.position.y!==o.position.y,r.position=o.position,r.positionAbsolute=o.positionAbsolute,r}),!_)return;o(u.current,!0,!0),l(!0);let y=i?r:zr(a);if(y&&h.current){let[e,t]=Pr({nodeId:i,dragItems:u.current,nodeInternals:n});y(h.current,e,t)}},x=()=>{if(!p.current)return;let[e,t]=rt(m.current,p.current);if(e!==0||t!==0){let{transform:n,panBy:r}=s.getState();d.current.x=(d.current.x??0)-e/n[2],d.current.y=(d.current.y??0)-t/n[2],r({x:e,y:t})&&b(d.current)}f.current=requestAnimationFrame(x)},S=t=>{let{nodeInternals:n,multiSelectionActive:r,nodesDraggable:c,unselectNodesAndEdges:l,onNodeDragStart:f,onSelectionDragStart:p}=s.getState();_.current=!0;let m=i?f:zr(p);(!o||!a)&&!r&&i&&(n.get(i)?.selected||l()),i&&a&&o&&Lr({id:i,store:s,nodeRef:e});let h=y(t);if(d.current=h,u.current=jr(n,c,h,i),m&&u.current){let[e,r]=Pr({nodeId:i,dragItems:u.current,nodeInternals:n});m(t.sourceEvent,e,r)}};if(t)c.on(`.drag`,null);else{let t=We().on(`start`,e=>{let{domNode:t,nodeDragThreshold:n}=s.getState();n===0&&S(e),v.current=!1;let r=y(e);d.current=r,p.current=t?.getBoundingClientRect()||null,m.current=gt(e.sourceEvent,p.current)}).on(`drag`,e=>{let t=y(e),{autoPanOnNodeDrag:n,nodeDragThreshold:r}=s.getState();if(e.sourceEvent.type===`touchmove`&&e.sourceEvent.touches.length>1&&(v.current=!0),!v.current){if(!g.current&&_.current&&n&&(g.current=!0,x()),!_.current){let n=t.xSnapped-(d?.current?.x??0),i=t.ySnapped-(d?.current?.y??0);Math.sqrt(n*n+i*i)>r&&S(e)}(d.current.x!==t.xSnapped||d.current.y!==t.ySnapped)&&u.current&&_.current&&(h.current=e.sourceEvent,m.current=gt(e.sourceEvent,p.current),b(t))}}).on(`end`,e=>{if(!(!_.current||v.current)&&(l(!1),g.current=!1,_.current=!1,cancelAnimationFrame(f.current),u.current)){let{updateNodePositions:t,nodeInternals:n,onNodeDragStop:r,onSelectionDragStop:a}=s.getState(),o=i?r:zr(a);if(t(u.current,!1,!1),o){let[t,r]=Pr({nodeId:i,dragItems:u.current,nodeInternals:n});o(e.sourceEvent,t,r)}}}).filter(t=>{let i=t.target;return!t.button&&(!n||!Ar(i,`.${n}`,e))&&(!r||Ar(i,r,e))});return c.call(t),()=>{c.on(`.drag`,null)}}}},[e,t,n,r,a,s,i,o,y]),c}function Vr(){let e=q();return(0,W.useCallback)(t=>{let{nodeInternals:n,nodeExtent:r,updateNodePositions:i,getNodes:a,snapToGrid:o,snapGrid:s,onError:c,nodesDraggable:l}=e.getState(),u=a().filter(e=>e.selected&&(e.draggable||l&&e.draggable===void 0)),d=o?s[0]:5,f=o?s[1]:5,p=t.isShiftPressed?4:1,m=t.x*d*p,h=t.y*f*p;i(u.map(e=>{if(e.positionAbsolute){let t={x:e.positionAbsolute.x+m,y:e.positionAbsolute.y+h};o&&(t.x=s[0]*Math.round(t.x/s[0]),t.y=s[1]*Math.round(t.y/s[1]));let{positionAbsolute:i,position:a}=Nr(e,t,n,r,void 0,c);e.position=a,e.positionAbsolute=i}return e}),!0,!1)},[])}var Hr={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Ur=e=>{let t=({id:t,type:n,data:r,xPos:i,yPos:a,xPosOrigin:o,yPosOrigin:s,selected:c,onClick:l,onMouseEnter:u,onMouseMove:d,onMouseLeave:f,onContextMenu:p,onDoubleClick:m,style:h,className:g,isDraggable:_,isSelectable:v,isConnectable:y,isFocusable:b,selectNodesOnDrag:x,sourcePosition:S,targetPosition:C,hidden:w,resizeObserver:T,dragHandle:E,zIndex:D,isParent:O,noDragClassName:k,noPanClassName:A,initialized:j,disableKeyboardA11y:M,ariaLabel:N,rfId:P,hasHandleBounds:F})=>{let I=q(),L=(0,W.useRef)(null),R=(0,W.useRef)(null),z=(0,W.useRef)(S),B=(0,W.useRef)(C),ee=(0,W.useRef)(n),te=v||_||l||u||d||f,ne=Vr(),re=Ir(t,I.getState,u),ie=Ir(t,I.getState,d),ae=Ir(t,I.getState,f),oe=Ir(t,I.getState,p),se=Ir(t,I.getState,m),ce=e=>{let{nodeDragThreshold:n}=I.getState();if(v&&(!x||!_||n>0)&&Lr({id:t,store:I,nodeRef:L}),l){let n=I.getState().nodeInternals.get(t);n&&l(e,{...n})}},V=e=>{if(!mt(e)&&!M){if(dt.includes(e.key)&&v){let n=e.key===`Escape`;Lr({id:t,store:I,unselect:n,nodeRef:L})}else _&&c&&Object.prototype.hasOwnProperty.call(Hr,e.key)&&(I.setState({ariaLiveMessage:`Moved selected node ${e.key.replace(`Arrow`,``).toLowerCase()}. New position, x: ${~~i}, y: ${~~a}`}),ne({x:Hr[e.key].x,y:Hr[e.key].y,isShiftPressed:e.shiftKey}))}};(0,W.useEffect)(()=>()=>{R.current&&=(T?.unobserve(R.current),null)},[]),(0,W.useEffect)(()=>{if(L.current&&!w){let e=L.current;(!j||!F||R.current!==e)&&(R.current&&T?.unobserve(R.current),T?.observe(e),R.current=e)}},[w,j,F]),(0,W.useEffect)(()=>{let e=ee.current!==n,r=z.current!==S,i=B.current!==C;L.current&&(e||r||i)&&(e&&(ee.current=n),r&&(z.current=S),i&&(B.current=C),I.getState().updateNodeDimensions([{id:t,nodeElement:L.current,forceUpdate:!0}]))},[t,n,S,C]);let le=Br({nodeRef:L,disabled:w||!_,noDragClassName:k,handleSelector:E,nodeId:t,isSelectable:v,selectNodesOnDrag:x});return w?null:W.createElement(`div`,{className:U([`react-flow__node`,`react-flow__node-${n}`,{[A]:_},g,{selected:c,selectable:v,parent:O,dragging:le}]),ref:L,style:{zIndex:D,transform:`translate(${o}px,${s}px)`,pointerEvents:te?`all`:`none`,visibility:j?`visible`:`hidden`,...h},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:re,onMouseMove:ie,onMouseLeave:ae,onContextMenu:oe,onClick:ce,onDoubleClick:se,onKeyDown:b?V:void 0,tabIndex:b?0:void 0,role:b?`button`:void 0,"aria-describedby":M?void 0:`${Bn}-${P}`,"aria-label":N},W.createElement(Gt,{value:t},W.createElement(e,{id:t,data:r,type:n,xPos:i,yPos:a,selected:c,isConnectable:y,sourcePosition:S,targetPosition:C,dragging:le,dragHandle:E,zIndex:D})))};return t.displayName=`NodeWrapper`,(0,W.memo)(t)},Wr=e=>({...tn(e.getNodes().filter(e=>e.selected),e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive});function Gr({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let r=q(),{width:i,height:a,x:o,y:s,transformString:c,userSelectionActive:l}=K(Wr,G),u=Vr(),d=(0,W.useRef)(null);if((0,W.useEffect)(()=>{n||d.current?.focus({preventScroll:!0})},[n]),Br({nodeRef:d}),l||!i||!a)return null;let f=e?t=>{e(t,r.getState().getNodes().filter(e=>e.selected))}:void 0;return W.createElement(`div`,{className:U([`react-flow__nodesselection`,`react-flow__container`,t]),style:{transform:c}},W.createElement(`div`,{ref:d,className:`react-flow__nodesselection-rect`,onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(Hr,e.key)&&u({x:Hr[e.key].x,y:Hr[e.key].y,isShiftPressed:e.shiftKey})},style:{width:i,height:a,top:s,left:o}}))}var Kr=(0,W.memo)(Gr),qr=e=>e.nodesSelectionActive,Jr=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:a,onPaneScroll:o,deleteKeyCode:s,onMove:c,onMoveStart:l,onMoveEnd:u,selectionKeyCode:d,selectionOnDrag:f,selectionMode:p,onSelectionStart:m,onSelectionEnd:h,multiSelectionKeyCode:g,panActivationKeyCode:_,zoomActivationKeyCode:v,elementsSelectable:y,zoomOnScroll:b,zoomOnPinch:x,panOnScroll:S,panOnScrollSpeed:C,panOnScrollMode:w,zoomOnDoubleClick:T,panOnDrag:E,defaultViewport:D,translateExtent:O,minZoom:k,maxZoom:A,preventScrolling:j,onSelectionContextMenu:M,noWheelClassName:N,noPanClassName:P,disableKeyboardA11y:F})=>{let I=K(qr),L=Kn(d),R=Kn(_),z=R||E,B=R||S,ee=L||f&&z!==!0;return cr({deleteKeyCode:s,multiSelectionKeyCode:g}),W.createElement(_r,{onMove:c,onMoveStart:l,onMoveEnd:u,onPaneContextMenu:a,elementsSelectable:y,zoomOnScroll:b,zoomOnPinch:x,panOnScroll:B,panOnScrollSpeed:C,panOnScrollMode:w,zoomOnDoubleClick:T,panOnDrag:!L&&z,defaultViewport:D,translateExtent:O,minZoom:k,maxZoom:A,zoomActivationKeyCode:v,preventScrolling:j,noWheelClassName:N,noPanClassName:P},W.createElement(Or,{onSelectionStart:m,onSelectionEnd:h,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:a,onPaneScroll:o,panOnDrag:z,isSelecting:!!ee,selectionMode:p},e,I&&W.createElement(Kr,{onSelectionContextMenu:M,noPanClassName:P,disableKeyboardA11y:F})))};Jr.displayName=`FlowRenderer`;var Yr=(0,W.memo)(Jr);function Xr(e){return K((0,W.useCallback)(t=>e?nn(t.nodeInternals,{x:0,y:0,width:t.width,height:t.height},t.transform,!0):t.getNodes(),[e]))}function Zr(e){let t={input:Ur(e.input||Tn),default:Ur(e.default||Cn),output:Ur(e.output||Dn),group:Ur(e.group||On)},n=Object.keys(e).filter(e=>![`input`,`default`,`output`,`group`].includes(e)).reduce((t,n)=>(t[n]=Ur(e[n]||Cn),t),{});return{...t,...n}}var Qr=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r||i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},$r=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),ei=e=>{let{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:a,onError:o}=K($r,G),s=Xr(e.onlyRenderVisibleElements),c=(0,W.useRef)(),l=(0,W.useMemo)(()=>{if(typeof ResizeObserver>`u`)return null;let e=new ResizeObserver(e=>{let t=e.map(e=>({id:e.target.getAttribute(`data-id`),nodeElement:e.target,forceUpdate:!0}));a(t)});return c.current=e,e},[]);return(0,W.useEffect)(()=>()=>{c?.current?.disconnect()},[]),W.createElement(`div`,{className:`react-flow__nodes`,style:ur},s.map(a=>{let s=a.type||`default`;e.nodeTypes[s]||(o?.(`003`,qe.error003(s)),s=`default`);let c=e.nodeTypes[s]||e.nodeTypes.default,u=!!(a.draggable||t&&a.draggable===void 0),d=!!(a.selectable||i&&a.selectable===void 0),f=!!(a.connectable||n&&a.connectable===void 0),p=!!(a.focusable||r&&a.focusable===void 0),m=e.nodeExtent?tt(a.positionAbsolute,e.nodeExtent):a.positionAbsolute,h=m?.x??0,g=m?.y??0,_=Qr({x:h,y:g,width:a.width??0,height:a.height??0,origin:e.nodeOrigin});return W.createElement(c,{key:a.id,id:a.id,className:a.className,style:a.style,type:s,data:a.data,sourcePosition:a.sourcePosition||X.Bottom,targetPosition:a.targetPosition||X.Top,hidden:a.hidden,xPos:h,yPos:g,xPosOrigin:_.x,yPosOrigin:_.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!a.selected,isDraggable:u,isSelectable:d,isConnectable:f,isFocusable:p,resizeObserver:l,dragHandle:a.dragHandle,zIndex:a[Y]?.z??0,isParent:!!a[Y]?.isParent,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!a.width&&!!a.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:a.ariaLabel,hasHandleBounds:!!a[Y]?.handleBounds})}))};ei.displayName=`NodeRenderer`;var ti=(0,W.memo)(ei),ni=(e,t,n)=>n===X.Left?e-t:n===X.Right?e+t:e,ri=(e,t,n)=>n===X.Top?e-t:n===X.Bottom?e+t:e,ii=`react-flow__edgeupdater`,ai=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:a,onMouseOut:o,type:s})=>W.createElement(`circle`,{onMouseDown:i,onMouseEnter:a,onMouseOut:o,className:U([ii,`${ii}-${s}`]),cx:ni(t,r,e),cy:ri(n,r,e),r,stroke:`transparent`,fill:`transparent`}),oi=()=>!0,si=e=>{let t=({id:t,className:n,type:r,data:i,onClick:a,onEdgeDoubleClick:o,selected:s,animated:c,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:m,style:h,source:g,target:_,sourceX:v,sourceY:y,targetX:b,targetY:x,sourcePosition:S,targetPosition:C,elementsSelectable:w,hidden:T,sourceHandleId:E,targetHandleId:D,onContextMenu:O,onMouseEnter:k,onMouseMove:A,onMouseLeave:j,reconnectRadius:M,onReconnect:N,onReconnectStart:P,onReconnectEnd:F,markerEnd:I,markerStart:L,rfId:R,ariaLabel:z,isFocusable:B,isReconnectable:ee,pathOptions:te,interactionWidth:ne,disableKeyboardA11y:re})=>{let ie=(0,W.useRef)(null),[ae,oe]=(0,W.useState)(!1),[se,ce]=(0,W.useState)(!1),V=q(),le=(0,W.useMemo)(()=>`url('#${Yt(L,R)}')`,[L,R]),ue=(0,W.useMemo)(()=>`url('#${Yt(I,R)}')`,[I,R]);if(T)return null;let de=e=>{let{edges:n,addSelectedEdges:r,unselectNodesAndEdges:i,multiSelectionActive:o}=V.getState(),s=n.find(e=>e.id===t);s&&(w&&(V.setState({nodesSelectionActive:!1}),s.selected&&o?(i({nodes:[],edges:[s]}),ie.current?.blur()):r([t])),a&&a(e,s))},H=yt(t,V.getState,o),fe=yt(t,V.getState,O),pe=yt(t,V.getState,k),me=yt(t,V.getState,A),he=yt(t,V.getState,j),ge=(e,n)=>{if(e.button!==0)return;let{edges:r,isValidConnection:i}=V.getState(),a=n?_:g,o=(n?D:E)||null,s=n?`target`:`source`,c=i||oi,l=n,u=r.find(e=>e.id===t);ce(!0),P?.(e,u,s),gn({event:e,handleId:o,nodeId:a,onConnect:e=>N?.(u,e),isTarget:l,getState:V.getState,setState:V.setState,isValidConnection:c,edgeUpdaterType:s,onReconnectEnd:e=>{ce(!1),F?.(e,u,s)}})},_e=e=>ge(e,!0),ve=e=>ge(e,!1),ye=()=>oe(!0),be=()=>oe(!1),xe=!w&&!a;return W.createElement(`g`,{className:U([`react-flow__edge`,`react-flow__edge-${r}`,n,{selected:s,animated:c,inactive:xe,updating:ae}]),onClick:de,onDoubleClick:H,onContextMenu:fe,onMouseEnter:pe,onMouseMove:me,onMouseLeave:he,onKeyDown:B?e=>{if(!re&&dt.includes(e.key)&&w){let{unselectNodesAndEdges:n,addSelectedEdges:r,edges:i}=V.getState();e.key===`Escape`?(ie.current?.blur(),n({edges:[i.find(e=>e.id===t)]})):r([t])}}:void 0,tabIndex:B?0:void 0,role:B?`button`:`img`,"data-testid":`rf__edge-${t}`,"aria-label":z===null?void 0:z||`Edge from ${g} to ${_}`,"aria-describedby":B?`${Vn}-${R}`:void 0,ref:ie},!se&&W.createElement(e,{id:t,source:g,target:_,selected:s,animated:c,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:m,data:i,style:h,sourceX:v,sourceY:y,targetX:b,targetY:x,sourcePosition:S,targetPosition:C,sourceHandleId:E,targetHandleId:D,markerStart:le,markerEnd:ue,pathOptions:te,interactionWidth:ne}),ee&&W.createElement(W.Fragment,null,(ee===`source`||ee===!0)&&W.createElement(ai,{position:S,centerX:v,centerY:y,radius:M,onMouseDown:_e,onMouseEnter:ye,onMouseOut:be,type:`source`}),(ee===`target`||ee===!0)&&W.createElement(ai,{position:C,centerX:b,centerY:x,radius:M,onMouseDown:ve,onMouseEnter:ye,onMouseOut:be,type:`target`})))};return t.displayName=`EdgeWrapper`,(0,W.memo)(t)};function ci(e){let t={default:si(e.default||Ut),straight:si(e.bezier||zt),step:si(e.step||Lt),smoothstep:si(e.step||It),simplebezier:si(e.simplebezier||kt)},n=Object.keys(e).filter(e=>![`default`,`bezier`].includes(e)).reduce((t,n)=>(t[n]=si(e[n]||Ut),t),{});return{...t,...n}}function li(e,t,n=null){let r=(n?.x||0)+t.x,i=(n?.y||0)+t.y,a=n?.width||t.width,o=n?.height||t.height;switch(e){case X.Top:return{x:r+a/2,y:i};case X.Right:return{x:r+a,y:i+o/2};case X.Bottom:return{x:r+a/2,y:i+o};case X.Left:return{x:r,y:i+o/2}}}function ui(e,t){return e?e.length===1||!t?e[0]:t&&e.find(e=>e.id===t)||null:null}var di=(e,t,n,r,i,a)=>{let o=li(n,e,t),s=li(a,r,i);return{sourceX:o.x,sourceY:o.y,targetX:s.x,targetY:s.y}};function fi({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:a,width:o,height:s,transform:c}){let l={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+a)};l.x===l.x2&&(l.x2+=1),l.y===l.y2&&(l.y2+=1);let u=ot({x:(0-c[0])/c[2],y:(0-c[1])/c[2],width:o/c[2],height:s/c[2]}),d=Math.max(0,Math.min(u.x2,l.x2)-Math.max(u.x,l.x)),f=Math.max(0,Math.min(u.y2,l.y2)-Math.max(u.y,l.y));return Math.ceil(d*f)>0}function pi(e){let t=e?.[Y]?.handleBounds||null,n=t&&e?.width&&e?.height&&e?.positionAbsolute?.x!==void 0&&e?.positionAbsolute?.y!==void 0;return[{x:e?.positionAbsolute?.x||0,y:e?.positionAbsolute?.y||0,width:e?.width||0,height:e?.height||0},t,!!n]}var mi=[{level:0,isMaxLevel:!0,edges:[]}];function hi(e,t,n=!1){let r=-1,i=e.reduce((e,i)=>{let a=J(i.zIndex),o=a?i.zIndex:0;if(n){let e=t.get(i.target),n=t.get(i.source),r=i.selected||e?.selected||n?.selected,s=Math.max(n?.[Y]?.z||0,e?.[Y]?.z||0,1e3);o=(a?i.zIndex:0)+(r?s:0)}return e[o]?e[o].push(i):e[o]=[i],r=o>r?o:r,e},{}),a=Object.entries(i).map(([e,t])=>{let n=+e;return{edges:t,level:n,isMaxLevel:n===r}});return a.length===0?mi:a}function gi(e,t,n){return hi(K((0,W.useCallback)(n=>e?n.edges.filter(e=>{let r=t.get(e.source),i=t.get(e.target);return r?.width&&r?.height&&i?.width&&i?.height&&fi({sourcePos:r.positionAbsolute||{x:0,y:0},targetPos:i.positionAbsolute||{x:0,y:0},sourceWidth:r.width,sourceHeight:r.height,targetWidth:i.width,targetHeight:i.height,width:n.width,height:n.height,transform:n.transform})}):n.edges,[e,t])),t,n)}var _i=({color:e=`none`,strokeWidth:t=1})=>W.createElement(`polyline`,{style:{stroke:e,strokeWidth:t},strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`,points:`-5,-4 0,0 -5,4`}),vi=({color:e=`none`,strokeWidth:t=1})=>W.createElement(`polyline`,{style:{stroke:e,fill:e,strokeWidth:t},strokeLinecap:`round`,strokeLinejoin:`round`,points:`-5,-4 0,0 -5,4 -5,-4`}),yi={[Et.Arrow]:_i,[Et.ArrowClosed]:vi};function bi(e){let t=q();return(0,W.useMemo)(()=>Object.prototype.hasOwnProperty.call(yi,e)?yi[e]:(t.getState().onError?.(`009`,qe.error009(e)),null),[e])}var xi=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:a=`strokeWidth`,strokeWidth:o,orient:s=`auto-start-reverse`})=>{let c=bi(t);return c?W.createElement(`marker`,{className:`react-flow__arrowhead`,id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:`-10 -10 20 20`,markerUnits:a,orient:s,refX:`0`,refY:`0`},W.createElement(c,{color:n,strokeWidth:o})):null},Si=({defaultColor:e,rfId:t})=>n=>{let r=[];return n.edges.reduce((n,i)=>([i.markerStart,i.markerEnd].forEach(i=>{if(i&&typeof i==`object`){let a=Yt(i,t);r.includes(a)||(n.push({id:a,color:i.color||e,...i}),r.push(a))}}),n),[]).sort((e,t)=>e.id.localeCompare(t.id))},Ci=({defaultColor:e,rfId:t})=>{let n=K((0,W.useCallback)(Si({defaultColor:e,rfId:t}),[e,t]),(e,t)=>!(e.length!==t.length||e.some((e,n)=>e.id!==t[n].id)));return W.createElement(`defs`,null,n.map(e=>W.createElement(xi,{id:e.id,key:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient})))};Ci.displayName=`MarkerDefinitions`;var wi=(0,W.memo)(Ci),Ti=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),Ei=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:a,onEdgeContextMenu:o,onEdgeMouseEnter:s,onEdgeMouseMove:c,onEdgeMouseLeave:l,onEdgeClick:u,onEdgeDoubleClick:d,onReconnect:f,onReconnectStart:p,onReconnectEnd:m,reconnectRadius:h,children:g,disableKeyboardA11y:_})=>{let{edgesFocusable:v,edgesUpdatable:y,elementsSelectable:b,width:x,height:S,connectionMode:C,nodeInternals:w,onError:T}=K(Ti,G),E=gi(t,w,n);return x?W.createElement(W.Fragment,null,E.map(({level:t,edges:n,isMaxLevel:g})=>W.createElement(`svg`,{key:t,style:{zIndex:t},width:x,height:S,className:`react-flow__edges react-flow__container`},g&&W.createElement(wi,{defaultColor:e,rfId:r}),W.createElement(`g`,null,n.map(e=>{let[t,n,g]=pi(w.get(e.source)),[x,S,E]=pi(w.get(e.target));if(!g||!E)return null;let D=e.type||`default`;i[D]||(T?.(`011`,qe.error011(D)),D=`default`);let O=i[D]||i.default,k=C===St.Strict?S.target:(S.target??[]).concat(S.source??[]),A=ui(n.source,e.sourceHandle),j=ui(k,e.targetHandle),M=A?.position||X.Bottom,N=j?.position||X.Top,P=!!(e.focusable||v&&e.focusable===void 0),F=e.reconnectable||e.updatable,I=f!==void 0&&(F||y&&F===void 0);if(!A||!j)return T?.(`008`,qe.error008(A,e)),null;let{sourceX:L,sourceY:R,targetX:z,targetY:B}=di(t,A,M,x,j,N);return W.createElement(O,{key:e.id,id:e.id,className:U([e.className,a]),type:D,data:e.data,selected:!!e.selected,animated:!!e.animated,hidden:!!e.hidden,label:e.label,labelStyle:e.labelStyle,labelShowBg:e.labelShowBg,labelBgStyle:e.labelBgStyle,labelBgPadding:e.labelBgPadding,labelBgBorderRadius:e.labelBgBorderRadius,style:e.style,source:e.source,target:e.target,sourceHandleId:e.sourceHandle,targetHandleId:e.targetHandle,markerEnd:e.markerEnd,markerStart:e.markerStart,sourceX:L,sourceY:R,targetX:z,targetY:B,sourcePosition:M,targetPosition:N,elementsSelectable:b,onContextMenu:o,onMouseEnter:s,onMouseMove:c,onMouseLeave:l,onClick:u,onEdgeDoubleClick:d,onReconnect:f,onReconnectStart:p,onReconnectEnd:m,reconnectRadius:h,rfId:r,ariaLabel:e.ariaLabel,isFocusable:P,isReconnectable:I,pathOptions:`pathOptions`in e?e.pathOptions:void 0,interactionWidth:e.interactionWidth,disableKeyboardA11y:_})})))),g):null};Ei.displayName=`EdgeRenderer`;var Di=(0,W.memo)(Ei),Oi=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function ki({children:e}){let t=K(Oi);return W.createElement(`div`,{className:`react-flow__viewport react-flow__container`,style:{transform:t}},e)}function Ai(e){let t=or(),n=(0,W.useRef)(!1);(0,W.useEffect)(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}var ji={[X.Left]:X.Right,[X.Right]:X.Left,[X.Top]:X.Bottom,[X.Bottom]:X.Top},Mi=({nodeId:e,handleType:t,style:n,type:r=Tt.Bezier,CustomComponent:i,connectionStatus:a})=>{let{fromNode:o,handleId:s,toX:c,toY:l,connectionMode:u}=K((0,W.useCallback)(t=>({fromNode:t.nodeInternals.get(e),handleId:t.connectionHandleId,toX:(t.connectionPosition.x-t.transform[0])/t.transform[2],toY:(t.connectionPosition.y-t.transform[1])/t.transform[2],connectionMode:t.connectionMode}),[e]),G),d=o?.[Y]?.handleBounds,f=d?.[t];if(u===St.Loose&&(f||=d?.[t===`source`?`target`:`source`]),!o||!f)return null;let p=s?f.find(e=>e.id===s):f[0],m=p?p.x+p.width/2:(o.width??0)/2,h=p?p.y+p.height/2:o.height??0,g=(o.positionAbsolute?.x??0)+m,_=(o.positionAbsolute?.y??0)+h,v=p?.position,y=v?ji[v]:null;if(!v||!y)return null;if(i)return W.createElement(i,{connectionLineType:r,connectionLineStyle:n,fromNode:o,fromHandle:p,fromX:g,fromY:_,toX:c,toY:l,fromPosition:v,toPosition:y,connectionStatus:a});let b=``,x={sourceX:g,sourceY:_,sourcePosition:v,targetX:c,targetY:l,targetPosition:y};return r===Tt.Bezier?[b]=Ht(x):r===Tt.Step?[b]=Ft({...x,borderRadius:0}):r===Tt.SmoothStep?[b]=Ft(x):r===Tt.SimpleBezier?[b]=Ot(x):b=`M${g},${_} ${c},${l}`,W.createElement(`path`,{d:b,fill:`none`,className:`react-flow__connection-path`,style:n})};Mi.displayName=`ConnectionLine`;var Ni=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Pi({containerStyle:e,style:t,type:n,component:r}){let{nodeId:i,handleType:a,nodesConnectable:o,width:s,height:c,connectionStatus:l}=K(Ni,G);return i&&a&&s&&o?W.createElement(`svg`,{style:e,width:s,height:c,className:`react-flow__edges react-flow__connectionline react-flow__container`},W.createElement(`g`,{className:U([`react-flow__connection`,l])},W.createElement(Mi,{nodeId:i,handleType:a,style:t,type:n,CustomComponent:r,connectionStatus:l}))):null}function Fi(e,t){return(0,W.useRef)(null),q(),(0,W.useMemo)(()=>t(e),[e])}var Ii=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:a,onNodeClick:o,onEdgeClick:s,onNodeDoubleClick:c,onEdgeDoubleClick:l,onNodeMouseEnter:u,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:p,onSelectionContextMenu:m,onSelectionStart:h,onSelectionEnd:g,connectionLineType:_,connectionLineStyle:v,connectionLineComponent:y,connectionLineContainerStyle:b,selectionKeyCode:x,selectionOnDrag:S,selectionMode:C,multiSelectionKeyCode:w,panActivationKeyCode:T,zoomActivationKeyCode:E,deleteKeyCode:D,onlyRenderVisibleElements:O,elementsSelectable:k,selectNodesOnDrag:A,defaultViewport:j,translateExtent:M,minZoom:N,maxZoom:P,preventScrolling:F,defaultMarkerColor:I,zoomOnScroll:L,zoomOnPinch:R,panOnScroll:z,panOnScrollSpeed:B,panOnScrollMode:ee,zoomOnDoubleClick:te,panOnDrag:ne,onPaneClick:re,onPaneMouseEnter:ie,onPaneMouseMove:ae,onPaneMouseLeave:oe,onPaneScroll:se,onPaneContextMenu:ce,onEdgeContextMenu:V,onEdgeMouseEnter:le,onEdgeMouseMove:ue,onEdgeMouseLeave:de,onReconnect:H,onReconnectStart:fe,onReconnectEnd:pe,reconnectRadius:me,noDragClassName:he,noWheelClassName:ge,noPanClassName:_e,elevateEdgesOnSelect:ve,disableKeyboardA11y:ye,nodeOrigin:be,nodeExtent:xe,rfId:Se})=>{let Ce=Fi(e,Zr),we=Fi(t,ci);return Ai(a),W.createElement(Yr,{onPaneClick:re,onPaneMouseEnter:ie,onPaneMouseMove:ae,onPaneMouseLeave:oe,onPaneContextMenu:ce,onPaneScroll:se,deleteKeyCode:D,selectionKeyCode:x,selectionOnDrag:S,selectionMode:C,onSelectionStart:h,onSelectionEnd:g,multiSelectionKeyCode:w,panActivationKeyCode:T,zoomActivationKeyCode:E,elementsSelectable:k,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:L,zoomOnPinch:R,zoomOnDoubleClick:te,panOnScroll:z,panOnScrollSpeed:B,panOnScrollMode:ee,panOnDrag:ne,defaultViewport:j,translateExtent:M,minZoom:N,maxZoom:P,onSelectionContextMenu:m,preventScrolling:F,noDragClassName:he,noWheelClassName:ge,noPanClassName:_e,disableKeyboardA11y:ye},W.createElement(ki,null,W.createElement(Di,{edgeTypes:we,onEdgeClick:s,onEdgeDoubleClick:l,onlyRenderVisibleElements:O,onEdgeContextMenu:V,onEdgeMouseEnter:le,onEdgeMouseMove:ue,onEdgeMouseLeave:de,onReconnect:H,onReconnectStart:fe,onReconnectEnd:pe,reconnectRadius:me,defaultMarkerColor:I,noPanClassName:_e,elevateEdgesOnSelect:!!ve,disableKeyboardA11y:ye,rfId:Se},W.createElement(Pi,{style:v,type:_,component:y,containerStyle:b})),W.createElement(`div`,{className:`react-flow__edgelabel-renderer`}),W.createElement(ti,{nodeTypes:Ce,onNodeClick:o,onNodeDoubleClick:c,onNodeMouseEnter:u,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:p,selectNodesOnDrag:A,onlyRenderVisibleElements:O,noPanClassName:_e,noDragClassName:he,disableKeyboardA11y:ye,nodeOrigin:be,nodeExtent:xe,rfId:Se})))};Ii.displayName=`GraphView`;var Li=(0,W.memo)(Ii),Ri=[[-1/0,-1/0],[1/0,1/0]],zi={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:Ri,nodeExtent:Ri,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:`source`,connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:St.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:ft,isValidConnection:void 0},Bi=()=>Le((e,t)=>({...zi,setNodes:n=>{let{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:a}=t();e({nodeInternals:Zn(n,r,i,a)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{let{defaultEdgeOptions:r={}}=t();e({edges:n.map(e=>({...r,...e}))})},setDefaultNodesAndEdges:(n,r)=>{let i=n!==void 0,a=r!==void 0;e({nodeInternals:i?Zn(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map,edges:a?r:[],hasDefaultNodes:i,hasDefaultEdges:a})},updateNodeDimensions:n=>{let{onNodesChange:r,nodeInternals:i,fitViewOnInit:a,fitViewOnInitDone:o,fitViewOnInitOptions:s,domNode:c,nodeOrigin:l}=t(),u=c?.querySelector(`.react-flow__viewport`);if(!u)return;let d=window.getComputedStyle(u),{m22:f}=new window.DOMMatrixReadOnly(d.transform),p=n.reduce((e,t)=>{let n=i.get(t.id);if(n?.hidden)i.set(n.id,{...n,[Y]:{...n[Y],handleBounds:void 0}});else if(n){let r=$e(t.nodeElement);r.width&&r.height&&(n.width!==r.width||n.height!==r.height||t.forceUpdate)&&(i.set(n.id,{...n,[Y]:{...n[Y],handleBounds:{source:Fr(`.source`,t.nodeElement,f,l),target:Fr(`.target`,t.nodeElement,f,l)}},...r}),e.push({id:n.id,type:`dimensions`,dimensions:r}))}return e},[]);Xn(i,l);let m=o||a&&!o&&Qn(t,{initial:!0,...s});e({nodeInternals:new Map(i),fitViewOnInitDone:m}),p?.length>0&&r?.(p)},updateNodePositions:(e,n=!0,r=!1)=>{let{triggerNodeChanges:i}=t();i(e.map(e=>{let t={id:e.id,type:`position`,dragging:r};return n&&(t.positionAbsolute=e.positionAbsolute,t.position=e.position),t}))},triggerNodeChanges:n=>{let{onNodesChange:r,nodeInternals:i,hasDefaultNodes:a,nodeOrigin:o,getNodes:s,elevateNodesOnSelect:c}=t();n?.length&&(a&&e({nodeInternals:Zn(Sr(n,s()),i,o,c)}),r?.(n))},addSelectedNodes:n=>{let{multiSelectionActive:r,edges:i,getNodes:a}=t(),o,s=null;r?o=n.map(e=>wr(e,!0)):(o=Tr(a(),n),s=Tr(i,[])),tr({changedNodes:o,changedEdges:s,get:t,set:e})},addSelectedEdges:n=>{let{multiSelectionActive:r,edges:i,getNodes:a}=t(),o,s=null;r?o=n.map(e=>wr(e,!0)):(o=Tr(i,n),s=Tr(a(),[])),tr({changedNodes:s,changedEdges:o,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{let{edges:i,getNodes:a}=t(),o=n||a(),s=r||i;tr({changedNodes:o.map(e=>(e.selected=!1,wr(e.id,!1))),changedEdges:s.map(e=>wr(e.id,!1)),get:t,set:e})},setMinZoom:n=>{let{d3Zoom:r,maxZoom:i}=t();r?.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{let{d3Zoom:r,minZoom:i}=t();r?.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{t().d3Zoom?.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{let{edges:n,getNodes:r}=t();tr({changedNodes:r().filter(e=>e.selected).map(e=>wr(e.id,!1)),changedEdges:n.filter(e=>e.selected).map(e=>wr(e.id,!1)),get:t,set:e})},setNodeExtent:n=>{let{nodeInternals:r}=t();r.forEach(e=>{e.positionAbsolute=tt(e.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:e=>{let{transform:n,width:r,height:i,d3Zoom:a,d3Selection:o,translateExtent:s}=t();if(!a||!o||!e.x&&!e.y)return!1;let c=_e.translate(n[0]+e.x,n[1]+e.y).scale(n[2]),l=[[0,0],[r,i]],u=a?.constrain()(c,l,s);return a.transform(o,u),n[0]!==u.x||n[1]!==u.y||n[2]!==u.k},cancelConnection:()=>e({connectionNodeId:zi.connectionNodeId,connectionHandleId:zi.connectionHandleId,connectionHandleType:zi.connectionHandleType,connectionStatus:zi.connectionStatus,connectionStartHandle:zi.connectionStartHandle,connectionEndHandle:zi.connectionEndHandle}),reset:()=>e({...zi})}),Object.is),Vi=({children:e})=>{let t=(0,W.useRef)(null);return t.current||=Bi(),W.createElement(Ke,{value:t.current},e)};Vi.displayName=`ReactFlowProvider`;var Hi=({children:e})=>(0,W.useContext)(Ge)?W.createElement(W.Fragment,null,e):W.createElement(Vi,null,e);Hi.displayName=`ReactFlowWrapper`;var Ui={input:Tn,default:Cn,output:Dn,group:On},Wi={default:Ut,straight:zt,step:Lt,smoothstep:It,simplebezier:kt},Gi=[0,0],Ki=[15,15],qi={x:0,y:0,zoom:1},Ji={width:`100%`,height:`100%`,overflow:`hidden`,position:`relative`,zIndex:0},Yi=(0,W.forwardRef)(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:a=Ui,edgeTypes:o=Wi,onNodeClick:s,onEdgeClick:c,onInit:l,onMove:u,onMoveStart:d,onMoveEnd:f,onConnect:p,onConnectStart:m,onConnectEnd:h,onClickConnectStart:g,onClickConnectEnd:_,onNodeMouseEnter:v,onNodeMouseMove:y,onNodeMouseLeave:b,onNodeContextMenu:x,onNodeDoubleClick:S,onNodeDragStart:C,onNodeDrag:w,onNodeDragStop:T,onNodesDelete:E,onEdgesDelete:D,onSelectionChange:O,onSelectionDragStart:k,onSelectionDrag:A,onSelectionDragStop:j,onSelectionContextMenu:M,onSelectionStart:N,onSelectionEnd:P,connectionMode:F=St.Strict,connectionLineType:I=Tt.Bezier,connectionLineStyle:L,connectionLineComponent:R,connectionLineContainerStyle:z,deleteKeyCode:B=`Backspace`,selectionKeyCode:ee=`Shift`,selectionOnDrag:te=!1,selectionMode:ne=wt.Full,panActivationKeyCode:re=`Space`,multiSelectionKeyCode:ie=_t()?`Meta`:`Control`,zoomActivationKeyCode:ae=_t()?`Meta`:`Control`,snapToGrid:oe=!1,snapGrid:se=Ki,onlyRenderVisibleElements:ce=!1,selectNodesOnDrag:V=!0,nodesDraggable:le,nodesConnectable:ue,nodesFocusable:de,nodeOrigin:H=Gi,edgesFocusable:fe,edgesUpdatable:pe,elementsSelectable:me,defaultViewport:he=qi,minZoom:ge=.5,maxZoom:_e=2,translateExtent:ve=Ri,preventScrolling:ye=!0,nodeExtent:be,defaultMarkerColor:xe=`#b1b1b7`,zoomOnScroll:Se=!0,zoomOnPinch:Ce=!0,panOnScroll:we=!1,panOnScrollSpeed:Te=.5,panOnScrollMode:Ee=Ct.Free,zoomOnDoubleClick:De=!0,panOnDrag:Oe=!0,onPaneClick:ke,onPaneMouseEnter:Ae,onPaneMouseMove:je,onPaneMouseLeave:Me,onPaneScroll:Ne,onPaneContextMenu:Pe,children:Fe,onEdgeContextMenu:Ie,onEdgeDoubleClick:Le,onEdgeMouseEnter:G,onEdgeMouseMove:Re,onEdgeMouseLeave:ze,onEdgeUpdate:Be,onEdgeUpdateStart:Ve,onEdgeUpdateEnd:He,onReconnect:Ue,onReconnectStart:We,onReconnectEnd:Ge,reconnectRadius:Ke=10,edgeUpdaterRadius:qe=10,onNodesChange:Je,onEdgesChange:K,noDragClassName:q=`nodrag`,noWheelClassName:Ye=`nowheel`,noPanClassName:Xe=`nopan`,fitView:Qe=!1,fitViewOptions:$e,connectOnClick:et=!0,attributionPosition:tt,proOptions:nt,defaultEdgeOptions:rt,elevateNodesOnSelect:it=!0,elevateEdgesOnSelect:at=!1,disableKeyboardA11y:ot=!1,autoPanOnConnect:st=!0,autoPanOnNodeDrag:ct=!0,connectionRadius:lt=20,isValidConnection:ut,onError:J,style:Y,id:dt,nodeDragThreshold:ft,...pt},mt)=>{let ht=dt||`1`;return W.createElement(`div`,{...pt,style:{...Y,...Ji},ref:mt,className:U([`react-flow`,i]),"data-testid":`rf__wrapper`,id:dt},W.createElement(Hi,null,W.createElement(Li,{onInit:l,onMove:u,onMoveStart:d,onMoveEnd:f,onNodeClick:s,onEdgeClick:c,onNodeMouseEnter:v,onNodeMouseMove:y,onNodeMouseLeave:b,onNodeContextMenu:x,onNodeDoubleClick:S,nodeTypes:a,edgeTypes:o,connectionLineType:I,connectionLineStyle:L,connectionLineComponent:R,connectionLineContainerStyle:z,selectionKeyCode:ee,selectionOnDrag:te,selectionMode:ne,deleteKeyCode:B,multiSelectionKeyCode:ie,panActivationKeyCode:re,zoomActivationKeyCode:ae,onlyRenderVisibleElements:ce,selectNodesOnDrag:V,defaultViewport:he,translateExtent:ve,minZoom:ge,maxZoom:_e,preventScrolling:ye,zoomOnScroll:Se,zoomOnPinch:Ce,zoomOnDoubleClick:De,panOnScroll:we,panOnScrollSpeed:Te,panOnScrollMode:Ee,panOnDrag:Oe,onPaneClick:ke,onPaneMouseEnter:Ae,onPaneMouseMove:je,onPaneMouseLeave:Me,onPaneScroll:Ne,onPaneContextMenu:Pe,onSelectionContextMenu:M,onSelectionStart:N,onSelectionEnd:P,onEdgeContextMenu:Ie,onEdgeDoubleClick:Le,onEdgeMouseEnter:G,onEdgeMouseMove:Re,onEdgeMouseLeave:ze,onReconnect:Ue??Be,onReconnectStart:We??Ve,onReconnectEnd:Ge??He,reconnectRadius:Ke??qe,defaultMarkerColor:xe,noDragClassName:q,noWheelClassName:Ye,noPanClassName:Xe,elevateEdgesOnSelect:at,rfId:ht,disableKeyboardA11y:ot,nodeOrigin:H,nodeExtent:be}),W.createElement(Ln,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:p,onConnectStart:m,onConnectEnd:h,onClickConnectStart:g,onClickConnectEnd:_,nodesDraggable:le,nodesConnectable:ue,nodesFocusable:de,edgesFocusable:fe,edgesUpdatable:pe,elementsSelectable:me,elevateNodesOnSelect:it,minZoom:ge,maxZoom:_e,nodeExtent:be,onNodesChange:Je,onEdgesChange:K,snapToGrid:oe,snapGrid:se,connectionMode:F,translateExtent:ve,connectOnClick:et,defaultEdgeOptions:rt,fitView:Qe,fitViewOptions:$e,onNodesDelete:E,onEdgesDelete:D,onNodeDragStart:C,onNodeDrag:w,onNodeDragStop:T,onSelectionDrag:A,onSelectionDragStart:k,onSelectionDragStop:j,noPanClassName:Xe,nodeOrigin:H,rfId:ht,autoPanOnConnect:st,autoPanOnNodeDrag:ct,onError:J,connectionRadius:lt,isValidConnection:ut,nodeDragThreshold:ft}),W.createElement(Pn,{onSelectionChange:O}),Fe,W.createElement(Ze,{proOptions:nt,position:tt}),W.createElement(Gn,{rfId:ht,disableKeyboardA11y:ot})))});Yi.displayName=`ReactFlow`;function Xi(e){return t=>{let[n,r]=(0,W.useState)(t);return[n,r,(0,W.useCallback)(t=>r(n=>e(t,n)),[])]}}var Zi=Xi(Sr),Qi=Xi(Cr);function $i(){return W.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`},W.createElement(`path`,{d:`M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z`}))}function ea(){return W.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 5`},W.createElement(`path`,{d:`M0 0h32v4.2H0z`}))}function ta(){return W.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 30`},W.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 na(){return W.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 25 32`},W.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 ra(){return W.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 25 32`},W.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 ia=({children:e,className:t,...n})=>W.createElement(`button`,{type:`button`,className:U([`react-flow__controls-button`,t]),...n},e);ia.displayName=`ControlButton`;var aa=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom}),oa=({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:i,onZoomIn:a,onZoomOut:o,onFitView:s,onInteractiveChange:c,className:l,children:u,position:d=`bottom-left`})=>{let f=q(),[p,m]=(0,W.useState)(!1),{isInteractive:h,minZoomReached:g,maxZoomReached:_}=K(aa,G),{zoomIn:v,zoomOut:y,fitView:b}=or();return(0,W.useEffect)(()=>{m(!0)},[]),p?W.createElement(Xe,{className:U([`react-flow__controls`,l]),position:d,style:e,"data-testid":`rf__controls`},t&&W.createElement(W.Fragment,null,W.createElement(ia,{onClick:()=>{v(),a?.()},className:`react-flow__controls-zoomin`,title:`zoom in`,"aria-label":`zoom in`,disabled:_},W.createElement($i,null)),W.createElement(ia,{onClick:()=>{y(),o?.()},className:`react-flow__controls-zoomout`,title:`zoom out`,"aria-label":`zoom out`,disabled:g},W.createElement(ea,null))),n&&W.createElement(ia,{className:`react-flow__controls-fitview`,onClick:()=>{b(i),s?.()},title:`fit view`,"aria-label":`fit view`},W.createElement(ta,null)),r&&W.createElement(ia,{className:`react-flow__controls-interactive`,onClick:()=>{f.setState({nodesDraggable:!h,nodesConnectable:!h,elementsSelectable:!h}),c?.(!h)},title:`toggle interactivity`,"aria-label":`toggle interactivity`},h?W.createElement(ra,null):W.createElement(na,null)),u):null};oa.displayName=`Controls`;var sa=(0,W.memo)(oa),ca;(function(e){e.Lines=`lines`,e.Dots=`dots`,e.Cross=`cross`})(ca||={});function la({color:e,dimensions:t,lineWidth:n}){return W.createElement(`path`,{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function ua({color:e,radius:t}){return W.createElement(`circle`,{cx:t,cy:t,r:t,fill:e})}var da={[ca.Dots]:`#91919a`,[ca.Lines]:`#eee`,[ca.Cross]:`#e2e2e2`},fa={[ca.Dots]:1,[ca.Lines]:1,[ca.Cross]:6},pa=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function ma({id:e,variant:t=ca.Dots,gap:n=20,size:r,lineWidth:i=1,offset:a=2,color:o,style:s,className:c}){let l=(0,W.useRef)(null),{transform:u,patternId:d}=K(pa,G),f=o||da[t],p=r||fa[t],m=t===ca.Dots,h=t===ca.Cross,g=Array.isArray(n)?n:[n,n],_=[g[0]*u[2]||1,g[1]*u[2]||1],v=p*u[2],y=h?[v,v]:_,b=m?[v/a,v/a]:[y[0]/a,y[1]/a];return W.createElement(`svg`,{className:U([`react-flow__background`,c]),style:{...s,position:`absolute`,width:`100%`,height:`100%`,top:0,left:0},ref:l,"data-testid":`rf__background`},W.createElement(`pattern`,{id:d+e,x:u[0]%_[0],y:u[1]%_[1],width:_[0],height:_[1],patternUnits:`userSpaceOnUse`,patternTransform:`translate(-${b[0]},-${b[1]})`},m?W.createElement(ua,{color:f,radius:v/a}):W.createElement(la,{dimensions:y,color:f,lineWidth:i})),W.createElement(`rect`,{x:`0`,y:`0`,width:`100%`,height:`100%`,fill:`url(#${d+e})`}))}ma.displayName=`Background`;var ha=(0,W.memo)(ma),ga=M();function _a(e){return Math.min(e*11+35,200)}var va=`outputs`,ya=`inputs`,ba=class{createEdge(e,t){return{animated:!0,markerEnd:{type:Et.ArrowClosed},id:`${e}-${t}`,style:{strokeWidth:2},source:e,sourceHandle:va,targetHandle:ya,target:t}}createNode(e,t){let n=a.get(t).code.trim().split(`
|
|
1
|
+
import{a as e,t}from"./rolldown-runtime-B0Z9INg1.js";import{c as n,f as r,l as i,r as a,t as o}from"./useEvent-xfs0Sn4r.js";import{t as s}from"./react-CBDbhulC.js";import{D as c,F as l,Hn as u,Ht as d,Kn as f,M as p,O as m,Tr as h,Ut as g,Yi as _,_n as v,ai as y,bi as b,f as x,gn as S,h as C,i as w,k as T,mn as E,qi as D,si as O,xi as k,zt as A}from"./cells-D4RwofRx.js";import{t as j}from"./react-dom-BQrReHnR.js";import{t as M}from"./compiler-runtime-CYIjoINj.js";import{t as N}from"./cn-ldLVeaqm.js";import{t as P}from"./jsx-runtime-B74pBk57.js";import{i as F,r as I,t as L}from"./tabs-c6mpccpH.js";import{d as R}from"./select-czJLm6jf.js";import{d as z,f as B}from"./download-BP8MrprC.js";import{t as ee}from"./tooltip-D7dq6bnc.js";import{r as te,t as ne}from"./button-Btj6GXNy.js";import{t as re}from"./arrays-BqUx5USx.js";import{t as ie}from"./createLucideIcon-B7HeEoG2.js";import{t as ae}from"./arrow-right-CMihiUEa.js";import{r as oe}from"./useNumberFormatter-DHJ9s6Vk.js";import{n as se}from"./eye-off-CFuPxa9F.js";import{t as ce}from"./settings-C-cYas75.js";import{t as V}from"./square-function-DkZweMAs.js";import{t as le}from"./workflow-SJ9KZapt.js";import{n as ue}from"./useDebounce-Dulm61-t.js";import{i as de,t as H}from"./cell-link-Dqqt6Rgs.js";import{i as fe}from"./timer-DnhpN6F0.js";import{a as pe,c as me,i as he,l as ge,n as _e,o as ve,r as ye,s as be,t as xe,u as Se}from"./src-HeEQIfJi.js";import{r as Ce}from"./name-cell-input-B-d5Jwh4.js";import{i as we,t as Te}from"./useDependencyPanelTab-C5AU8GKL.js";import{n as Ee,t as De}from"./common-CC3tuCpi.js";import{r as Oe}from"./panel-context-CiVjnt80.js";var ke=ie(`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`}]]),Ae=ie(`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`}]]);function U(e){if(typeof e==`string`||typeof e==`number`)return``+e;let t=``;if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=U(e[n]))!==``&&(t+=(t&&` `)+r);else for(let n in e)e[n]&&(t+=(t&&` `)+n);return t}var W=e(s(),1),je=e(z(),1),{useDebugValue:Me}=W.default,{useSyncExternalStoreWithSelector:Ne}=je.default,Pe=e=>e;function Fe(e,t=Pe,n){let r=Ne(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return Me(r),r}var Ie=(e,t)=>{let n=B(e),r=(e,r=t)=>Fe(n,e,r);return Object.assign(r,n),r},Le=(e,t)=>e?Ie(e,t):Ie;function G(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}var Re=e=>()=>e;function ze(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:a,x:o,y:s,dx:c,dy:l,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:u}})}ze.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Be(e){return!e.ctrlKey&&!e.button}function Ve(){return this.parentNode}function He(e,t){return t??{x:e.x,y:e.y}}function Ue(){return navigator.maxTouchPoints||`ontouchstart`in this}function We(){var e=Be,t=Ve,n=He,r=Ue,i={},a=fe(`start`,`drag`,`end`),o=0,s,c,l,u,d=0;function f(e){e.on(`mousedown.drag`,p).filter(r).on(`touchstart.drag`,g).on(`touchmove.drag`,_,ve).on(`touchend.drag touchcancel.drag`,v).style(`touch-action`,`none`).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}function p(n,r){if(!(u||!e.call(this,n,r))){var i=y(this,t.call(this,n,r),n,r,`mouse`);i&&(Se(n.view).on(`mousemove.drag`,m,be).on(`mouseup.drag`,h,be),ye(n.view),me(n),l=!1,s=n.clientX,c=n.clientY,i(`start`,n))}}function m(e){if(pe(e),!l){var t=e.clientX-s,n=e.clientY-c;l=t*t+n*n>d}i.mouse(`drag`,e)}function h(e){Se(e.view).on(`mousemove.drag mouseup.drag`,null),he(e.view,l),pe(e),i.mouse(`end`,e)}function g(n,r){if(e.call(this,n,r)){var i=n.changedTouches,a=t.call(this,n,r),o=i.length,s,c;for(s=0;s<o;++s)(c=y(this,a,n,r,i[s].identifier,i[s]))&&(me(n),c(`start`,n,i[s]))}}function _(e){var t=e.changedTouches,n=t.length,r,a;for(r=0;r<n;++r)(a=i[t[r].identifier])&&(pe(e),a(`drag`,e,t[r]))}function v(e){var t=e.changedTouches,n=t.length,r,a;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),r=0;r<n;++r)(a=i[t[r].identifier])&&(me(e),a(`end`,e,t[r]))}function y(e,t,r,s,c,l){var u=a.copy(),d=ge(l||r,t),p,m,h;if((h=n.call(e,new ze(`beforestart`,{sourceEvent:r,target:f,identifier:c,active:o,x:d[0],y:d[1],dx:0,dy:0,dispatch:u}),s))!=null)return p=h.x-d[0]||0,m=h.y-d[1]||0,function n(r,a,l){var g=d,_;switch(r){case`start`:i[c]=n,_=o++;break;case`end`:delete i[c],--o;case`drag`:d=ge(l||a,t),_=o}u.call(r,e,new ze(r,{sourceEvent:a,subject:h,target:f,identifier:c,active:_,x:d[0]+p,y:d[1]+m,dx:d[0]-g[0],dy:d[1]-g[1],dispatch:u}),s)}}return f.filter=function(t){return arguments.length?(e=typeof t==`function`?t:Re(!!t),f):e},f.container=function(e){return arguments.length?(t=typeof e==`function`?e:Re(e),f):t},f.subject=function(e){return arguments.length?(n=typeof e==`function`?e:Re(e),f):n},f.touchable=function(e){return arguments.length?(r=typeof e==`function`?e:Re(!!e),f):r},f.on=function(){var e=a.on.apply(a,arguments);return e===a?f:e},f.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,f):Math.sqrt(d)},f}j();var Ge=(0,W.createContext)(null),Ke=Ge.Provider,qe={error001:()=>`[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001`,error002:()=>`It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.`,error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>`The React Flow parent container needs a width and a height to render the graph.`,error005:()=>`Only child nodes can use a parent extent.`,error006:()=>`Can't create edge. An edge needs a source and a target.`,error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?`target`:`source`} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>`Handle: No node id found. Make sure to only use a Handle inside a custom Node.`,error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`},Je=qe.error001();function K(e,t){let n=(0,W.useContext)(Ge);if(n===null)throw Error(Je);return Fe(n,e,t)}var q=()=>{let e=(0,W.useContext)(Ge);if(e===null)throw Error(Je);return(0,W.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},Ye=e=>e.userSelectionActive?`none`:`all`;function Xe({position:e,children:t,className:n,style:r,...i}){let a=K(Ye),o=`${e}`.split(`-`);return W.createElement(`div`,{className:U([`react-flow__panel`,n,...o]),style:{...r,pointerEvents:a},...i},t)}function Ze({proOptions:e,position:t=`bottom-right`}){return e?.hideAttribution?null:W.createElement(Xe,{position:t,className:`react-flow__attribution`,"data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro`},W.createElement(`a`,{href:`https://reactflow.dev`,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`React Flow attribution`},`React Flow`))}var Qe=(0,W.memo)(({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:a={},labelBgPadding:o=[2,4],labelBgBorderRadius:s=2,children:c,className:l,...u})=>{let d=(0,W.useRef)(null),[f,p]=(0,W.useState)({x:0,y:0,width:0,height:0}),m=U([`react-flow__edge-textwrapper`,l]);return(0,W.useEffect)(()=>{if(d.current){let e=d.current.getBBox();p({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),n===void 0||!n?null:W.createElement(`g`,{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:m,visibility:f.width?`visible`:`hidden`,...u},i&&W.createElement(`rect`,{width:f.width+2*o[0],x:-o[0],y:-o[1],height:f.height+2*o[1],className:`react-flow__edge-textbg`,style:a,rx:s,ry:s}),W.createElement(`text`,{className:`react-flow__edge-text`,y:f.height/2,dy:`0.3em`,ref:d,style:r},n),c)}),$e=e=>({width:e.offsetWidth,height:e.offsetHeight}),et=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),tt=(e={x:0,y:0},t)=>({x:et(e.x,t[0][0],t[1][0]),y:et(e.y,t[0][1],t[1][1])}),nt=(e,t,n)=>e<t?et(Math.abs(e-t),1,50)/50:e>n?-et(Math.abs(e-n),1,50)/50:0,rt=(e,t)=>[nt(e.x,35,t.width-35)*20,nt(e.y,35,t.height-35)*20],it=e=>e.getRootNode?.()||window?.document,at=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),ot=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),st=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),ct=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),lt=(e,t)=>{let n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},ut=e=>J(e.width)&&J(e.height)&&J(e.x)&&J(e.y),J=e=>!isNaN(e)&&isFinite(e),Y=Symbol.for(`internals`),dt=[`Enter`,` `,`Escape`],ft=(e,t)=>{},pt=e=>`nativeEvent`in e;function mt(e){let t=(pt(e)?e.nativeEvent:e).composedPath?.()?.[0]||e.target;return[`INPUT`,`SELECT`,`TEXTAREA`].includes(t?.nodeName)||t?.hasAttribute(`contenteditable`)||!!t?.closest(`.nokey`)}var ht=e=>`clientX`in e,gt=(e,t)=>{let n=ht(e),r=n?e.clientX:e.touches?.[0].clientX,i=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:i-(t?.top??0)}},_t=()=>typeof navigator<`u`&&navigator?.userAgent?.indexOf(`Mac`)>=0,vt=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:a,labelShowBg:o,labelBgStyle:s,labelBgPadding:c,labelBgBorderRadius:l,style:u,markerEnd:d,markerStart:f,interactionWidth:p=20})=>W.createElement(W.Fragment,null,W.createElement(`path`,{id:e,style:u,d:t,fill:`none`,className:`react-flow__edge-path`,markerEnd:d,markerStart:f}),p&&W.createElement(`path`,{d:t,fill:`none`,strokeOpacity:0,strokeWidth:p,className:`react-flow__edge-interaction`}),i&&J(n)&&J(r)?W.createElement(Qe,{x:n,y:r,label:i,labelStyle:a,labelShowBg:o,labelBgStyle:s,labelBgPadding:c,labelBgBorderRadius:l}):null);vt.displayName=`BaseEdge`;function yt(e,t,n){return n===void 0?n:r=>{let i=t().edges.find(t=>t.id===e);i&&n(r,{...i})}}function bt({sourceX:e,sourceY:t,targetX:n,targetY:r}){let i=Math.abs(n-e)/2,a=n<e?n+i:n-i,o=Math.abs(r-t)/2;return[a,r<t?r+o:r-o,i,o]}function xt({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:o,targetControlY:s}){let c=e*.125+i*.375+o*.375+n*.125,l=t*.125+a*.375+s*.375+r*.125;return[c,l,Math.abs(c-e),Math.abs(l-t)]}var St;(function(e){e.Strict=`strict`,e.Loose=`loose`})(St||={});var Ct;(function(e){e.Free=`free`,e.Vertical=`vertical`,e.Horizontal=`horizontal`})(Ct||={});var wt;(function(e){e.Partial=`partial`,e.Full=`full`})(wt||={});var Tt;(function(e){e.Bezier=`default`,e.Straight=`straight`,e.Step=`step`,e.SmoothStep=`smoothstep`,e.SimpleBezier=`simplebezier`})(Tt||={});var Et;(function(e){e.Arrow=`arrow`,e.ArrowClosed=`arrowclosed`})(Et||={});var X;(function(e){e.Left=`left`,e.Top=`top`,e.Right=`right`,e.Bottom=`bottom`})(X||={});function Dt({pos:e,x1:t,y1:n,x2:r,y2:i}){return e===X.Left||e===X.Right?[.5*(t+r),n]:[t,.5*(n+i)]}function Ot({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:i,targetPosition:a=X.Top}){let[o,s]=Dt({pos:n,x1:e,y1:t,x2:r,y2:i}),[c,l]=Dt({pos:a,x1:r,y1:i,x2:e,y2:t}),[u,d,f,p]=xt({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:o,sourceControlY:s,targetControlX:c,targetControlY:l});return[`M${e},${t} C${o},${s} ${c},${l} ${r},${i}`,u,d,f,p]}var kt=(0,W.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=X.Bottom,targetPosition:a=X.Top,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:m,interactionWidth:h})=>{let[g,_,v]=Ot({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:a});return W.createElement(vt,{path:g,labelX:_,labelY:v,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:m,interactionWidth:h})});kt.displayName=`SimpleBezierEdge`;var At={[X.Left]:{x:-1,y:0},[X.Right]:{x:1,y:0},[X.Top]:{x:0,y:-1},[X.Bottom]:{x:0,y:1}},jt=({source:e,sourcePosition:t=X.Bottom,target:n})=>t===X.Left||t===X.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},Mt=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2);function Nt({source:e,sourcePosition:t=X.Bottom,target:n,targetPosition:r=X.Top,center:i,offset:a}){let o=At[t],s=At[r],c={x:e.x+o.x*a,y:e.y+o.y*a},l={x:n.x+s.x*a,y:n.y+s.y*a},u=jt({source:c,sourcePosition:t,target:l}),d=u.x===0?`y`:`x`,f=u[d],p=[],m,h,g={x:0,y:0},_={x:0,y:0},[v,y,b,x]=bt({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(o[d]*s[d]===-1){m=i.x??v,h=i.y??y;let e=[{x:m,y:c.y},{x:m,y:l.y}],t=[{x:c.x,y:h},{x:l.x,y:h}];p=o[d]===f?d===`x`?e:t:d===`x`?t:e}else{let i=[{x:c.x,y:l.y}],u=[{x:l.x,y:c.y}];if(p=d===`x`?o.x===f?u:i:o.y===f?i:u,t===r){let t=Math.abs(e[d]-n[d]);if(t<=a){let r=Math.min(a-1,a-t);o[d]===f?g[d]=(c[d]>e[d]?-1:1)*r:_[d]=(l[d]>n[d]?-1:1)*r}}if(t!==r){let e=d===`x`?`y`:`x`,t=o[d]===s[e],n=c[e]>l[e],r=c[e]<l[e];(o[d]===1&&(!t&&n||t&&r)||o[d]!==1&&(!t&&r||t&&n))&&(p=d===`x`?i:u)}let v={x:c.x+g.x,y:c.y+g.y},y={x:l.x+_.x,y:l.y+_.y};Math.max(Math.abs(v.x-p[0].x),Math.abs(y.x-p[0].x))>=Math.max(Math.abs(v.y-p[0].y),Math.abs(y.y-p[0].y))?(m=(v.x+y.x)/2,h=p[0].y):(m=p[0].x,h=(v.y+y.y)/2)}return[[e,{x:c.x+g.x,y:c.y+g.y},...p,{x:l.x+_.x,y:l.y+_.y},n],m,h,b,x]}function Pt(e,t,n,r){let i=Math.min(Mt(e,t)/2,Mt(t,n)/2,r),{x:a,y:o}=t;if(e.x===a&&a===n.x||e.y===o&&o===n.y)return`L${a} ${o}`;if(e.y===o){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${a+i*t},${o}Q ${a},${o} ${a},${o+i*r}`}let s=e.x<n.x?1:-1;return`L ${a},${o+i*(e.y<n.y?-1:1)}Q ${a},${o} ${a+i*s},${o}`}function Ft({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:i,targetPosition:a=X.Top,borderRadius:o=5,centerX:s,centerY:c,offset:l=20}){let[u,d,f,p,m]=Nt({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:a,center:{x:s,y:c},offset:l});return[u.reduce((e,t,n)=>{let r=``;return r=n>0&&n<u.length-1?Pt(u[n-1],t,u[n+1],o):`${n===0?`M`:`L`}${t.x} ${t.y}`,e+=r,e},``),d,f,p,m]}var It=(0,W.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:a,labelShowBg:o,labelBgStyle:s,labelBgPadding:c,labelBgBorderRadius:l,style:u,sourcePosition:d=X.Bottom,targetPosition:f=X.Top,markerEnd:p,markerStart:m,pathOptions:h,interactionWidth:g})=>{let[_,v,y]=Ft({sourceX:e,sourceY:t,sourcePosition:d,targetX:n,targetY:r,targetPosition:f,borderRadius:h?.borderRadius,offset:h?.offset});return W.createElement(vt,{path:_,labelX:v,labelY:y,label:i,labelStyle:a,labelShowBg:o,labelBgStyle:s,labelBgPadding:c,labelBgBorderRadius:l,style:u,markerEnd:p,markerStart:m,interactionWidth:g})});It.displayName=`SmoothStepEdge`;var Lt=(0,W.memo)(e=>W.createElement(It,{...e,pathOptions:(0,W.useMemo)(()=>({borderRadius:0,offset:e.pathOptions?.offset}),[e.pathOptions?.offset])}));Lt.displayName=`StepEdge`;function Rt({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[i,a,o,s]=bt({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,a,o,s]}var zt=(0,W.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:a,labelShowBg:o,labelBgStyle:s,labelBgPadding:c,labelBgBorderRadius:l,style:u,markerEnd:d,markerStart:f,interactionWidth:p})=>{let[m,h,g]=Rt({sourceX:e,sourceY:t,targetX:n,targetY:r});return W.createElement(vt,{path:m,labelX:h,labelY:g,label:i,labelStyle:a,labelShowBg:o,labelBgStyle:s,labelBgPadding:c,labelBgBorderRadius:l,style:u,markerEnd:d,markerStart:f,interactionWidth:p})});zt.displayName=`StraightEdge`;function Bt(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Vt({pos:e,x1:t,y1:n,x2:r,y2:i,c:a}){switch(e){case X.Left:return[t-Bt(t-r,a),n];case X.Right:return[t+Bt(r-t,a),n];case X.Top:return[t,n-Bt(n-i,a)];case X.Bottom:return[t,n+Bt(i-n,a)]}}function Ht({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:i,targetPosition:a=X.Top,curvature:o=.25}){let[s,c]=Vt({pos:n,x1:e,y1:t,x2:r,y2:i,c:o}),[l,u]=Vt({pos:a,x1:r,y1:i,x2:e,y2:t,c:o}),[d,f,p,m]=xt({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:s,sourceControlY:c,targetControlX:l,targetControlY:u});return[`M${e},${t} C${s},${c} ${l},${u} ${r},${i}`,d,f,p,m]}var Ut=(0,W.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=X.Bottom,targetPosition:a=X.Top,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:m,pathOptions:h,interactionWidth:g})=>{let[_,v,y]=Ht({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:a,curvature:h?.curvature});return W.createElement(vt,{path:_,labelX:v,labelY:y,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:m,interactionWidth:g})});Ut.displayName=`BezierEdge`;var Wt=(0,W.createContext)(null),Gt=Wt.Provider;Wt.Consumer;var Kt=()=>(0,W.useContext)(Wt),qt=e=>`id`in e&&`source`in e&&`target`in e,Jt=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||``}-${n}${r||``}`,Yt=(e,t)=>e===void 0?``:typeof e==`string`?e:`${t?`${t}__`:``}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join(`&`)}`,Xt=(e,t)=>t.some(t=>t.source===e.source&&t.target===e.target&&(t.sourceHandle===e.sourceHandle||!t.sourceHandle&&!e.sourceHandle)&&(t.targetHandle===e.targetHandle||!t.targetHandle&&!e.targetHandle)),Zt=(e,t)=>{if(!e.source||!e.target)return qe.error006(),t;let n;return n=qt(e)?{...e}:{...e,id:Jt(e)},Xt(n,t)?t:t.concat(n)},Qt=({x:e,y:t},[n,r,i],a,[o,s])=>{let c={x:(e-n)/i,y:(t-r)/i};return a?{x:o*Math.round(c.x/o),y:s*Math.round(c.y/s)}:c},$t=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),en=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};let n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},tn=(e,t=[0,0])=>e.length===0?{x:0,y:0,width:0,height:0}:st(e.reduce((e,n)=>{let{x:r,y:i}=en(n,t).positionAbsolute;return at(e,ot({x:r,y:i,width:n.width||0,height:n.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),nn=(e,t,[n,r,i]=[0,0,1],a=!1,o=!1,s=[0,0])=>{let c={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},l=[];return e.forEach(e=>{let{width:t,height:n,selectable:r=!0,hidden:i=!1}=e;if(o&&!r||i)return!1;let{positionAbsolute:u}=en(e,s),d={x:u.x,y:u.y,width:t||0,height:n||0},f=lt(c,d),p=t===void 0||n===void 0||t===null||n===null,m=a&&f>0,h=(t||0)*(n||0);(p||m||f>=h||e.dragging)&&l.push(e)}),l},rn=(e,t)=>{let n=e.map(e=>e.id);return t.filter(e=>n.includes(e.source)||n.includes(e.target))},an=(e,t,n,r,i,a=.1)=>{let o=t/(e.width*(1+a)),s=n/(e.height*(1+a)),c=et(Math.min(o,s),r,i),l=e.x+e.width/2,u=e.y+e.height/2;return{x:t/2-l*c,y:n/2-u*c,zoom:c}},on=(e,t=0)=>e.transition().duration(t);function sn(e,t,n,r){return(t[n]||[]).reduce((t,i)=>(`${e.id}-${i.id}-${n}`!==r&&t.push({id:i.id||null,type:n,nodeId:e.id,x:(e.positionAbsolute?.x??0)+i.x+i.width/2,y:(e.positionAbsolute?.y??0)+i.y+i.height/2}),t),[])}function cn(e,t,n,r,i,a){let{x:o,y:s}=gt(e),c=t.elementsFromPoint(o,s).find(e=>e.classList.contains(`react-flow__handle`));if(c){let e=c.getAttribute(`data-nodeid`);if(e){let t=pn(void 0,c),r=c.getAttribute(`data-handleid`),o=a({nodeId:e,id:r,type:t});if(o){let a=i.find(n=>n.nodeId===e&&n.type===t&&n.id===r);return{handle:{id:r,type:t,nodeId:e,x:a?.x||n.x,y:a?.y||n.y},validHandleResult:o}}}}let l=[],u=1/0;if(i.forEach(e=>{let t=Math.sqrt((e.x-n.x)**2+(e.y-n.y)**2);if(t<=r){let n=a(e);t<=u&&(t<u?l=[{handle:e,validHandleResult:n}]:t===u&&l.push({handle:e,validHandleResult:n}),u=t)}}),!l.length)return{handle:null,validHandleResult:un()};if(l.length===1)return l[0];let d=l.some(({validHandleResult:e})=>e.isValid),f=l.some(({handle:e})=>e.type===`target`);return l.find(({handle:e,validHandleResult:t})=>f?e.type===`target`:!d||t.isValid)||l[0]}var ln={source:null,target:null,sourceHandle:null,targetHandle:null},un=()=>({handleDomNode:null,isValid:!1,connection:ln,endHandle:null});function dn(e,t,n,r,i,a,o){let s=i===`target`,c=o.querySelector(`.react-flow__handle[data-id="${e?.nodeId}-${e?.id}-${e?.type}"]`),l={...un(),handleDomNode:c};if(c){let e=pn(void 0,c),i=c.getAttribute(`data-nodeid`),o=c.getAttribute(`data-handleid`),u=c.classList.contains(`connectable`),d=c.classList.contains(`connectableend`),f={source:s?i:n,sourceHandle:s?o:r,target:s?n:i,targetHandle:s?r:o};l.connection=f,u&&d&&(t===St.Strict?s&&e===`source`||!s&&e===`target`:i!==n||o!==r)&&(l.endHandle={nodeId:i,handleId:o,type:e},l.isValid=a(f))}return l}function fn({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((e,i)=>{if(i[Y]){let{handleBounds:a}=i[Y],o=[],s=[];a&&(o=sn(i,a,`source`,`${t}-${n}-${r}`),s=sn(i,a,`target`,`${t}-${n}-${r}`)),e.push(...o,...s)}return e},[])}function pn(e,t){return e||(t?.classList.contains(`target`)?`target`:t?.classList.contains(`source`)?`source`:null)}function mn(e){e?.classList.remove(`valid`,`connecting`,`react-flow__handle-valid`,`react-flow__handle-connecting`)}function hn(e,t){let n=null;return t?n=`valid`:e&&!t&&(n=`invalid`),n}function gn({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:a,setState:o,isValidConnection:s,edgeUpdaterType:c,onReconnectEnd:l}){let u=it(e.target),{connectionMode:d,domNode:f,autoPanOnConnect:p,connectionRadius:m,onConnectStart:h,panBy:g,getNodes:_,cancelConnection:v}=a(),y=0,b,{x,y:S}=gt(e),C=u?.elementFromPoint(x,S),w=pn(c,C),T=f?.getBoundingClientRect();if(!T||!w)return;let E,D=gt(e,T),O=!1,k=null,A=!1,j=null,M=fn({nodes:_(),nodeId:n,handleId:t,handleType:w}),N=()=>{if(!p)return;let[e,t]=rt(D,T);g({x:e,y:t}),y=requestAnimationFrame(N)};o({connectionPosition:D,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:w,connectionStartHandle:{nodeId:n,handleId:t,type:w},connectionEndHandle:null}),h?.(e,{nodeId:n,handleId:t,handleType:w});function P(e){let{transform:r}=a();D=gt(e,T);let{handle:c,validHandleResult:l}=cn(e,u,Qt(D,r,!1,[1,1]),m,M,e=>dn(e,d,n,t,i?`target`:`source`,s,u));if(b=c,O||=(N(),!0),j=l.handleDomNode,k=l.connection,A=l.isValid,o({connectionPosition:b&&A?$t({x:b.x,y:b.y},r):D,connectionStatus:hn(!!b,A),connectionEndHandle:l.endHandle}),!b&&!A&&!j)return mn(E);k.source!==k.target&&j&&(mn(E),E=j,j.classList.add(`connecting`,`react-flow__handle-connecting`),j.classList.toggle(`valid`,A),j.classList.toggle(`react-flow__handle-valid`,A))}function F(e){(b||j)&&k&&A&&r?.(k),a().onConnectEnd?.(e),c&&l?.(e),mn(E),v(),cancelAnimationFrame(y),O=!1,A=!1,k=null,j=null,u.removeEventListener(`mousemove`,P),u.removeEventListener(`mouseup`,F),u.removeEventListener(`touchmove`,P),u.removeEventListener(`touchend`,F)}u.addEventListener(`mousemove`,P),u.addEventListener(`mouseup`,F),u.addEventListener(`touchmove`,P),u.addEventListener(`touchend`,F)}var _n=()=>!0,vn=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),yn=(e,t,n)=>r=>{let{connectionStartHandle:i,connectionEndHandle:a,connectionClickStartHandle:o}=r;return{connecting:i?.nodeId===e&&i?.handleId===t&&i?.type===n||a?.nodeId===e&&a?.handleId===t&&a?.type===n,clickConnecting:o?.nodeId===e&&o?.handleId===t&&o?.type===n}},bn=(0,W.forwardRef)(({type:e=`source`,position:t=X.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:a=!0,id:o,onConnect:s,children:c,className:l,onMouseDown:u,onTouchStart:d,...f},p)=>{let m=o||null,h=e===`target`,g=q(),_=Kt(),{connectOnClick:v,noPanClassName:y}=K(vn,G),{connecting:b,clickConnecting:x}=K(yn(_,m,e),G);_||g.getState().onError?.(`010`,qe.error010());let S=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:r}=g.getState(),i={...t,...e};if(r){let{edges:e,setEdges:t}=g.getState();t(Zt(i,e))}n?.(i),s?.(i)},C=e=>{if(!_)return;let t=ht(e);i&&(t&&e.button===0||!t)&&gn({event:e,handleId:m,nodeId:_,onConnect:S,isTarget:h,getState:g.getState,setState:g.setState,isValidConnection:n||g.getState().isValidConnection||_n}),t?u?.(e):d?.(e)};return W.createElement(`div`,{"data-handleid":m,"data-nodeid":_,"data-handlepos":t,"data-id":`${_}-${m}-${e}`,className:U([`react-flow__handle`,`react-flow__handle-${t}`,`nodrag`,y,l,{source:!h,target:h,connectable:r,connectablestart:i,connectableend:a,connecting:x,connectionindicator:r&&(i&&!b||a&&b)}]),onMouseDown:C,onTouchStart:C,onClick:v?t=>{let{onClickConnectStart:r,onClickConnectEnd:a,connectionClickStartHandle:o,connectionMode:s,isValidConnection:c}=g.getState();if(!_||!o&&!i)return;if(!o){r?.(t,{nodeId:_,handleId:m,handleType:e}),g.setState({connectionClickStartHandle:{nodeId:_,type:e,handleId:m}});return}let l=it(t.target),u=n||c||_n,{connection:d,isValid:f}=dn({nodeId:_,id:m,type:e},s,o.nodeId,o.handleId||null,o.type,u,l);f&&S(d),a?.(t),g.setState({connectionClickStartHandle:null})}:void 0,ref:p,...f},c)});bn.displayName=`Handle`;var xn=(0,W.memo)(bn),Sn=({data:e,isConnectable:t,targetPosition:n=X.Top,sourcePosition:r=X.Bottom})=>W.createElement(W.Fragment,null,W.createElement(xn,{type:`target`,position:n,isConnectable:t}),e?.label,W.createElement(xn,{type:`source`,position:r,isConnectable:t}));Sn.displayName=`DefaultNode`;var Cn=(0,W.memo)(Sn),wn=({data:e,isConnectable:t,sourcePosition:n=X.Bottom})=>W.createElement(W.Fragment,null,e?.label,W.createElement(xn,{type:`source`,position:n,isConnectable:t}));wn.displayName=`InputNode`;var Tn=(0,W.memo)(wn),En=({data:e,isConnectable:t,targetPosition:n=X.Top})=>W.createElement(W.Fragment,null,W.createElement(xn,{type:`target`,position:n,isConnectable:t}),e?.label);En.displayName=`OutputNode`;var Dn=(0,W.memo)(En),On=()=>null;On.displayName=`GroupNode`;var kn=e=>({selectedNodes:e.getNodes().filter(e=>e.selected),selectedEdges:e.edges.filter(e=>e.selected).map(e=>({...e}))}),An=e=>e.id;function jn(e,t){return G(e.selectedNodes.map(An),t.selectedNodes.map(An))&&G(e.selectedEdges.map(An),t.selectedEdges.map(An))}var Mn=(0,W.memo)(({onSelectionChange:e})=>{let t=q(),{selectedNodes:n,selectedEdges:r}=K(kn,jn);return(0,W.useEffect)(()=>{let i={nodes:n,edges:r};e?.(i),t.getState().onSelectionChange.forEach(e=>e(i))},[n,r,e]),null});Mn.displayName=`SelectionListener`;var Nn=e=>!!e.onSelectionChange;function Pn({onSelectionChange:e}){let t=K(Nn);return e||t?W.createElement(Mn,{onSelectionChange:e}):null}var Fn=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function In(e,t){(0,W.useEffect)(()=>{e!==void 0&&t(e)},[e])}function Z(e,t,n){(0,W.useEffect)(()=>{t!==void 0&&n({[e]:t})},[t])}var Ln=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:a,onConnectEnd:o,onClickConnectStart:s,onClickConnectEnd:c,nodesDraggable:l,nodesConnectable:u,nodesFocusable:d,edgesFocusable:f,edgesUpdatable:p,elevateNodesOnSelect:m,minZoom:h,maxZoom:g,nodeExtent:_,onNodesChange:v,onEdgesChange:y,elementsSelectable:b,connectionMode:x,snapGrid:S,snapToGrid:C,translateExtent:w,connectOnClick:T,defaultEdgeOptions:E,fitView:D,fitViewOptions:O,onNodesDelete:k,onEdgesDelete:A,onNodeDrag:j,onNodeDragStart:M,onNodeDragStop:N,onSelectionDrag:P,onSelectionDragStart:F,onSelectionDragStop:I,noPanClassName:L,nodeOrigin:R,rfId:z,autoPanOnConnect:B,autoPanOnNodeDrag:ee,onError:te,connectionRadius:ne,isValidConnection:re,nodeDragThreshold:ie})=>{let{setNodes:ae,setEdges:oe,setDefaultNodesAndEdges:se,setMinZoom:ce,setMaxZoom:V,setTranslateExtent:le,setNodeExtent:ue,reset:de}=K(Fn,G),H=q();return(0,W.useEffect)(()=>{let e=r?.map(e=>({...e,...E}));return se(n,e),()=>{de()}},[]),Z(`defaultEdgeOptions`,E,H.setState),Z(`connectionMode`,x,H.setState),Z(`onConnect`,i,H.setState),Z(`onConnectStart`,a,H.setState),Z(`onConnectEnd`,o,H.setState),Z(`onClickConnectStart`,s,H.setState),Z(`onClickConnectEnd`,c,H.setState),Z(`nodesDraggable`,l,H.setState),Z(`nodesConnectable`,u,H.setState),Z(`nodesFocusable`,d,H.setState),Z(`edgesFocusable`,f,H.setState),Z(`edgesUpdatable`,p,H.setState),Z(`elementsSelectable`,b,H.setState),Z(`elevateNodesOnSelect`,m,H.setState),Z(`snapToGrid`,C,H.setState),Z(`snapGrid`,S,H.setState),Z(`onNodesChange`,v,H.setState),Z(`onEdgesChange`,y,H.setState),Z(`connectOnClick`,T,H.setState),Z(`fitViewOnInit`,D,H.setState),Z(`fitViewOnInitOptions`,O,H.setState),Z(`onNodesDelete`,k,H.setState),Z(`onEdgesDelete`,A,H.setState),Z(`onNodeDrag`,j,H.setState),Z(`onNodeDragStart`,M,H.setState),Z(`onNodeDragStop`,N,H.setState),Z(`onSelectionDrag`,P,H.setState),Z(`onSelectionDragStart`,F,H.setState),Z(`onSelectionDragStop`,I,H.setState),Z(`noPanClassName`,L,H.setState),Z(`nodeOrigin`,R,H.setState),Z(`rfId`,z,H.setState),Z(`autoPanOnConnect`,B,H.setState),Z(`autoPanOnNodeDrag`,ee,H.setState),Z(`onError`,te,H.setState),Z(`connectionRadius`,ne,H.setState),Z(`isValidConnection`,re,H.setState),Z(`nodeDragThreshold`,ie,H.setState),In(e,ae),In(t,oe),In(h,ce),In(g,V),In(w,le),In(_,ue),null},Rn={display:`none`},zn={position:`absolute`,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0px, 0px, 0px, 0px)`,clipPath:`inset(100%)`},Bn=`react-flow__node-desc`,Vn=`react-flow__edge-desc`,Hn=`react-flow__aria-live`,Un=e=>e.ariaLiveMessage;function Wn({rfId:e}){let t=K(Un);return W.createElement(`div`,{id:`${Hn}-${e}`,"aria-live":`assertive`,"aria-atomic":`true`,style:zn},t)}function Gn({rfId:e,disableKeyboardA11y:t}){return W.createElement(W.Fragment,null,W.createElement(`div`,{id:`${Bn}-${e}`,style:Rn},`Press enter or space to select a node.`,!t&&`You can then use the arrow keys to move the node around.`,` Press delete to remove it and escape to cancel.`,` `),W.createElement(`div`,{id:`${Vn}-${e}`,style:Rn},`Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.`),!t&&W.createElement(Wn,{rfId:e}))}var Kn=(e=null,t={actInsideInputWithModifier:!0})=>{let[n,r]=(0,W.useState)(!1),i=(0,W.useRef)(!1),a=(0,W.useRef)(new Set([])),[o,s]=(0,W.useMemo)(()=>{if(e!==null){let t=(Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`).map(e=>e.split(`+`));return[t,t.reduce((e,t)=>e.concat(...t),[])]}return[[],[]]},[e]);return(0,W.useEffect)(()=>{let n=typeof document<`u`?document:null,c=t?.target||n;if(e!==null){let e=e=>{if(i.current=e.ctrlKey||e.metaKey||e.shiftKey,(!i.current||i.current&&!t.actInsideInputWithModifier)&&mt(e))return!1;let n=Jn(e.code,s);a.current.add(e[n]),qn(o,a.current,!1)&&(e.preventDefault(),r(!0))},n=e=>{if((!i.current||i.current&&!t.actInsideInputWithModifier)&&mt(e))return!1;let n=Jn(e.code,s);qn(o,a.current,!0)?(r(!1),a.current.clear()):a.current.delete(e[n]),e.key===`Meta`&&a.current.clear(),i.current=!1},l=()=>{a.current.clear(),r(!1)};return c?.addEventListener(`keydown`,e),c?.addEventListener(`keyup`,n),window.addEventListener(`blur`,l),()=>{c?.removeEventListener(`keydown`,e),c?.removeEventListener(`keyup`,n),window.removeEventListener(`blur`,l)}}},[e,r]),n};function qn(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function Jn(e,t){return t.includes(e)?`code`:`key`}function Yn(e,t,n,r){let i=e.parentNode||e.parentId;if(!i)return n;let a=t.get(i),o=en(a,r);return Yn(a,t,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(a[Y]?.z??0)>(n.z??0)?a[Y]?.z??0:n.z??0},r)}function Xn(e,t,n){e.forEach(r=>{let i=r.parentNode||r.parentId;if(i&&!e.has(i))throw Error(`Parent node ${i} not found`);if(i||n?.[r.id]){let{x:i,y:a,z:o}=Yn(r,e,{...r.position,z:r[Y]?.z??0},t);r.positionAbsolute={x:i,y:a},r[Y].z=o,n?.[r.id]&&(r[Y].isParent=!0)}})}function Zn(e,t,n,r){let i=new Map,a={},o=r?1e3:0;return e.forEach(e=>{let n=(J(e.zIndex)?e.zIndex:0)+(e.selected?o:0),r=t.get(e.id),s={...e,positionAbsolute:{x:e.position.x,y:e.position.y}},c=e.parentNode||e.parentId;c&&(a[c]=!0);let l=r?.type&&r?.type!==e.type;Object.defineProperty(s,Y,{enumerable:!1,value:{handleBounds:l?void 0:r?.[Y]?.handleBounds,z:n}}),i.set(e.id,s)}),Xn(i,n,a),i}function Qn(e,t={}){let{getNodes:n,width:r,height:i,minZoom:a,maxZoom:o,d3Zoom:s,d3Selection:c,fitViewOnInitDone:l,fitViewOnInit:u,nodeOrigin:d}=e(),f=t.initial&&!l&&u;if(s&&c&&(f||!t.initial)){let e=n().filter(e=>{let n=t.includeHiddenNodes?e.width&&e.height:!e.hidden;return t.nodes?.length?n&&t.nodes.some(t=>t.id===e.id):n}),l=e.every(e=>e.width&&e.height);if(e.length>0&&l){let{x:n,y:l,zoom:u}=an(tn(e,d),r,i,t.minZoom??a,t.maxZoom??o,t.padding??.1),f=_e.translate(n,l).scale(u);return typeof t.duration==`number`&&t.duration>0?s.transform(on(c,t.duration),f):s.transform(c,f),!0}}return!1}function $n(e,t){return e.forEach(e=>{let n=t.get(e.id);n&&t.set(n.id,{...n,[Y]:n[Y],selected:e.selected})}),new Map(t)}function er(e,t){return t.map(t=>{let n=e.find(e=>e.id===t.id);return n&&(t.selected=n.selected),t})}function tr({changedNodes:e,changedEdges:t,get:n,set:r}){let{nodeInternals:i,edges:a,onNodesChange:o,onEdgesChange:s,hasDefaultNodes:c,hasDefaultEdges:l}=n();e?.length&&(c&&r({nodeInternals:$n(e,i)}),o?.(e)),t?.length&&(l&&r({edges:er(t,a)}),s?.(t))}var nr=()=>{},rr={zoomIn:nr,zoomOut:nr,zoomTo:nr,getZoom:()=>1,setViewport:nr,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:nr,fitBounds:nr,project:e=>e,screenToFlowPosition:e=>e,flowToScreenPosition:e=>e,viewportInitialized:!1},ir=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),ar=()=>{let e=q(),{d3Zoom:t,d3Selection:n}=K(ir,G);return(0,W.useMemo)(()=>n&&t?{zoomIn:e=>t.scaleBy(on(n,e?.duration),1.2),zoomOut:e=>t.scaleBy(on(n,e?.duration),1/1.2),zoomTo:(e,r)=>t.scaleTo(on(n,r?.duration),e),getZoom:()=>e.getState().transform[2],setViewport:(r,i)=>{let[a,o,s]=e.getState().transform,c=_e.translate(r.x??a,r.y??o).scale(r.zoom??s);t.transform(on(n,i?.duration),c)},getViewport:()=>{let[t,n,r]=e.getState().transform;return{x:t,y:n,zoom:r}},fitView:t=>Qn(e.getState,t),setCenter:(r,i,a)=>{let{width:o,height:s,maxZoom:c}=e.getState(),l=a?.zoom===void 0?c:a.zoom,u=o/2-r*l,d=s/2-i*l,f=_e.translate(u,d).scale(l);t.transform(on(n,a?.duration),f)},fitBounds:(r,i)=>{let{width:a,height:o,minZoom:s,maxZoom:c}=e.getState(),{x:l,y:u,zoom:d}=an(r,a,o,s,c,i?.padding??.1),f=_e.translate(l,u).scale(d);t.transform(on(n,i?.duration),f)},project:t=>{let{transform:n,snapToGrid:r,snapGrid:i}=e.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(t,n,r,i)},screenToFlowPosition:t=>{let{transform:n,snapToGrid:r,snapGrid:i,domNode:a}=e.getState();if(!a)return t;let{x:o,y:s}=a.getBoundingClientRect();return Qt({x:t.x-o,y:t.y-s},n,r,i)},flowToScreenPosition:t=>{let{transform:n,domNode:r}=e.getState();if(!r)return t;let{x:i,y:a}=r.getBoundingClientRect(),o=$t(t,n);return{x:o.x+i,y:o.y+a}},viewportInitialized:!0}:rr,[t,n])};function or(){let e=ar(),t=q(),n=(0,W.useCallback)(()=>t.getState().getNodes().map(e=>({...e})),[]),r=(0,W.useCallback)(e=>t.getState().nodeInternals.get(e),[]),i=(0,W.useCallback)(()=>{let{edges:e=[]}=t.getState();return e.map(e=>({...e}))},[]),a=(0,W.useCallback)(e=>{let{edges:n=[]}=t.getState();return n.find(t=>t.id===e)},[]),o=(0,W.useCallback)(e=>{let{getNodes:n,setNodes:r,hasDefaultNodes:i,onNodesChange:a}=t.getState(),o=n(),s=typeof e==`function`?e(o):e;i?r(s):a&&a(s.length===0?o.map(e=>({type:`remove`,id:e.id})):s.map(e=>({item:e,type:`reset`})))},[]),s=(0,W.useCallback)(e=>{let{edges:n=[],setEdges:r,hasDefaultEdges:i,onEdgesChange:a}=t.getState(),o=typeof e==`function`?e(n):e;i?r(o):a&&a(o.length===0?n.map(e=>({type:`remove`,id:e.id})):o.map(e=>({item:e,type:`reset`})))},[]),c=(0,W.useCallback)(e=>{let n=Array.isArray(e)?e:[e],{getNodes:r,setNodes:i,hasDefaultNodes:a,onNodesChange:o}=t.getState();a?i([...r(),...n]):o&&o(n.map(e=>({item:e,type:`add`})))},[]),l=(0,W.useCallback)(e=>{let n=Array.isArray(e)?e:[e],{edges:r=[],setEdges:i,hasDefaultEdges:a,onEdgesChange:o}=t.getState();a?i([...r,...n]):o&&o(n.map(e=>({item:e,type:`add`})))},[]),u=(0,W.useCallback)(()=>{let{getNodes:e,edges:n=[],transform:r}=t.getState(),[i,a,o]=r;return{nodes:e().map(e=>({...e})),edges:n.map(e=>({...e})),viewport:{x:i,y:a,zoom:o}}},[]),d=(0,W.useCallback)(({nodes:e,edges:n})=>{let{nodeInternals:r,getNodes:i,edges:a,hasDefaultNodes:o,hasDefaultEdges:s,onNodesDelete:c,onEdgesDelete:l,onNodesChange:u,onEdgesChange:d}=t.getState(),f=(e||[]).map(e=>e.id),p=(n||[]).map(e=>e.id),m=i().reduce((e,t)=>{let n=t.parentNode||t.parentId,r=!f.includes(t.id)&&n&&e.find(e=>e.id===n);return(typeof t.deletable!=`boolean`||t.deletable)&&(f.includes(t.id)||r)&&e.push(t),e},[]),h=a.filter(e=>typeof e.deletable!=`boolean`||e.deletable),g=h.filter(e=>p.includes(e.id));if(m||g){let e=rn(m,h),n=[...g,...e],i=n.reduce((e,t)=>(e.includes(t.id)||e.push(t.id),e),[]);(s||o)&&(s&&t.setState({edges:a.filter(e=>!i.includes(e.id))}),o&&(m.forEach(e=>{r.delete(e.id)}),t.setState({nodeInternals:new Map(r)}))),i.length>0&&(l?.(n),d&&d(i.map(e=>({id:e,type:`remove`})))),m.length>0&&(c?.(m),u&&u(m.map(e=>({id:e.id,type:`remove`}))))}},[]),f=(0,W.useCallback)(e=>{let n=ut(e),r=n?null:t.getState().nodeInternals.get(e.id);return!n&&!r?[null,null,n]:[n?e:ct(r),r,n]},[]),p=(0,W.useCallback)((e,n=!0,r)=>{let[i,a,o]=f(e);return i?(r||t.getState().getNodes()).filter(e=>{if(!o&&(e.id===a.id||!e.positionAbsolute))return!1;let t=lt(ct(e),i);return n&&t>0||t>=i.width*i.height}):[]},[]),m=(0,W.useCallback)((e,t,n=!0)=>{let[r]=f(e);if(!r)return!1;let i=lt(r,t);return n&&i>0||i>=r.width*r.height},[]);return(0,W.useMemo)(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:a,setNodes:o,setEdges:s,addNodes:c,addEdges:l,toObject:u,deleteElements:d,getIntersectingNodes:p,isNodeIntersecting:m}),[e,n,r,i,a,o,s,c,l,u,d,p,m])}var sr={actInsideInputWithModifier:!1},cr=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{let n=q(),{deleteElements:r}=or(),i=Kn(e,sr),a=Kn(t);(0,W.useEffect)(()=>{if(i){let{edges:e,getNodes:t}=n.getState(),i=t().filter(e=>e.selected),a=e.filter(e=>e.selected);r({nodes:i,edges:a}),n.setState({nodesSelectionActive:!1})}},[i]),(0,W.useEffect)(()=>{n.setState({multiSelectionActive:a})},[a])};function lr(e){let t=q();(0,W.useEffect)(()=>{let n,r=()=>{if(!e.current)return;let n=$e(e.current);(n.height===0||n.width===0)&&t.getState().onError?.(`004`,qe.error004()),t.setState({width:n.width||500,height:n.height||500})};return r(),window.addEventListener(`resize`,r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener(`resize`,r),n&&e.current&&n.unobserve(e.current)}},[])}var ur={position:`absolute`,width:`100%`,height:`100%`,top:0,left:0},dr=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,fr=e=>({x:e.x,y:e.y,zoom:e.k}),pr=(e,t)=>e.target.closest(`.${t}`),mr=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),hr=e=>{let t=e.ctrlKey&&_t()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t},gr=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),_r=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:a=!0,panOnScroll:o=!1,panOnScrollSpeed:s=.5,panOnScrollMode:c=Ct.Free,zoomOnDoubleClick:l=!0,elementsSelectable:u,panOnDrag:d=!0,defaultViewport:f,translateExtent:p,minZoom:m,maxZoom:h,zoomActivationKeyCode:g,preventScrolling:_=!0,children:v,noWheelClassName:y,noPanClassName:b})=>{let x=(0,W.useRef)(),S=q(),C=(0,W.useRef)(!1),w=(0,W.useRef)(!1),T=(0,W.useRef)(null),E=(0,W.useRef)({x:0,y:0,zoom:0}),{d3Zoom:D,d3Selection:O,d3ZoomHandler:k,userSelectionActive:A}=K(gr,G),j=Kn(g),M=(0,W.useRef)(0),N=(0,W.useRef)(!1),P=(0,W.useRef)();return lr(T),(0,W.useEffect)(()=>{if(T.current){let e=T.current.getBoundingClientRect(),t=xe().scaleExtent([m,h]).translateExtent(p),n=Se(T.current).call(t),r=_e.translate(f.x,f.y).scale(et(f.zoom,m,h)),i=[[0,0],[e.width,e.height]],a=t.constrain()(r,i,p);t.transform(n,a),t.wheelDelta(hr),S.setState({d3Zoom:t,d3Selection:n,d3ZoomHandler:n.on(`wheel.zoom`),transform:[a.x,a.y,a.k],domNode:T.current.closest(`.react-flow`)})}},[]),(0,W.useEffect)(()=>{O&&D&&(o&&!j&&!A?O.on(`wheel.zoom`,r=>{if(pr(r,y))return!1;r.preventDefault(),r.stopImmediatePropagation();let i=O.property(`__zoom`).k||1;if(r.ctrlKey&&a){let e=ge(r),t=i*2**hr(r);D.scaleTo(O,t,e,r);return}let o=r.deltaMode===1?20:1,l=c===Ct.Vertical?0:r.deltaX*o,u=c===Ct.Horizontal?0:r.deltaY*o;!_t()&&r.shiftKey&&c!==Ct.Vertical&&(l=r.deltaY*o,u=0),D.translateBy(O,-(l/i)*s,-(u/i)*s,{internal:!0});let d=fr(O.property(`__zoom`)),{onViewportChangeStart:f,onViewportChange:p,onViewportChangeEnd:m}=S.getState();clearTimeout(P.current),N.current||(N.current=!0,t?.(r,d),f?.(d)),N.current&&(e?.(r,d),p?.(d),P.current=setTimeout(()=>{n?.(r,d),m?.(d),N.current=!1},150))},{passive:!1}):k!==void 0&&O.on(`wheel.zoom`,function(e,t){if(!_&&e.type===`wheel`&&!e.ctrlKey||pr(e,y))return null;e.preventDefault(),k.call(this,e,t)},{passive:!1}))},[A,o,c,O,D,k,j,a,_,y,t,e,n]),(0,W.useEffect)(()=>{D&&D.on(`start`,e=>{if(!e.sourceEvent||e.sourceEvent.internal)return null;M.current=e.sourceEvent?.button;let{onViewportChangeStart:n}=S.getState(),r=fr(e.transform);C.current=!0,E.current=r,e.sourceEvent?.type===`mousedown`&&S.setState({paneDragging:!0}),n?.(r),t?.(e.sourceEvent,r)})},[D,t]),(0,W.useEffect)(()=>{D&&(A&&!C.current?D.on(`zoom`,null):A||D.on(`zoom`,t=>{let{onViewportChange:n}=S.getState();if(S.setState({transform:[t.transform.x,t.transform.y,t.transform.k]}),w.current=!!(r&&mr(d,M.current??0)),(e||n)&&!t.sourceEvent?.internal){let r=fr(t.transform);n?.(r),e?.(t.sourceEvent,r)}}))},[A,D,e,d,r]),(0,W.useEffect)(()=>{D&&D.on(`end`,e=>{if(!e.sourceEvent||e.sourceEvent.internal)return null;let{onViewportChangeEnd:t}=S.getState();if(C.current=!1,S.setState({paneDragging:!1}),r&&mr(d,M.current??0)&&!w.current&&r(e.sourceEvent),w.current=!1,(n||t)&&dr(E.current,e.transform)){let r=fr(e.transform);E.current=r,clearTimeout(x.current),x.current=setTimeout(()=>{t?.(r),n?.(e.sourceEvent,r)},o?150:0)}})},[D,o,d,n,r]),(0,W.useEffect)(()=>{D&&D.filter(e=>{let t=j||i,n=a&&e.ctrlKey;if((d===!0||Array.isArray(d)&&d.includes(1))&&e.button===1&&e.type===`mousedown`&&(pr(e,`react-flow__node`)||pr(e,`react-flow__edge`)))return!0;if(!d&&!t&&!o&&!l&&!a||A||!l&&e.type===`dblclick`||pr(e,y)&&e.type===`wheel`||pr(e,b)&&(e.type!==`wheel`||o&&e.type===`wheel`&&!j)||!a&&e.ctrlKey&&e.type===`wheel`||!t&&!o&&!n&&e.type===`wheel`||!d&&(e.type===`mousedown`||e.type===`touchstart`)||Array.isArray(d)&&!d.includes(e.button)&&e.type===`mousedown`)return!1;let r=Array.isArray(d)&&d.includes(e.button)||!e.button||e.button<=1;return(!e.ctrlKey||e.type===`wheel`)&&r})},[A,D,i,a,o,l,d,u,j]),W.createElement(`div`,{className:`react-flow__renderer`,ref:T,style:ur},v)},vr=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function yr(){let{userSelectionActive:e,userSelectionRect:t}=K(vr,G);return e&&t?W.createElement(`div`,{className:`react-flow__selection react-flow__container`,style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function br(e,t){let n=t.parentNode||t.parentId,r=e.find(e=>e.id===n);if(r){let e=t.position.x+t.width-r.width,n=t.position.y+t.height-r.height;if(e>0||n>0||t.position.x<0||t.position.y<0){if(r.style={...r.style},r.style.width=r.style.width??r.width,r.style.height=r.style.height??r.height,e>0&&(r.style.width+=e),n>0&&(r.style.height+=n),t.position.x<0){let e=Math.abs(t.position.x);r.position.x=r.position.x-e,r.style.width+=e,t.position.x=0}if(t.position.y<0){let e=Math.abs(t.position.y);r.position.y=r.position.y-e,r.style.height+=e,t.position.y=0}r.width=r.style.width,r.height=r.style.height}}}function xr(e,t){if(e.some(e=>e.type===`reset`))return e.filter(e=>e.type===`reset`).map(e=>e.item);let n=e.filter(e=>e.type===`add`).map(e=>e.item);return t.reduce((t,n)=>{let r=e.filter(e=>e.id===n.id);if(r.length===0)return t.push(n),t;let i={...n};for(let e of r)if(e)switch(e.type){case`select`:i.selected=e.selected;break;case`position`:e.position!==void 0&&(i.position=e.position),e.positionAbsolute!==void 0&&(i.positionAbsolute=e.positionAbsolute),e.dragging!==void 0&&(i.dragging=e.dragging),i.expandParent&&br(t,i);break;case`dimensions`:e.dimensions!==void 0&&(i.width=e.dimensions.width,i.height=e.dimensions.height),e.updateStyle!==void 0&&(i.style={...i.style||{},...e.dimensions}),typeof e.resizing==`boolean`&&(i.resizing=e.resizing),i.expandParent&&br(t,i);break;case`remove`:return t}return t.push(i),t},n)}function Sr(e,t){return xr(e,t)}function Cr(e,t){return xr(e,t)}var wr=(e,t)=>({id:e,type:`select`,selected:t});function Tr(e,t){return e.reduce((e,n)=>{let r=t.includes(n.id);return!n.selected&&r?(n.selected=!0,e.push(wr(n.id,!0))):n.selected&&!r&&(n.selected=!1,e.push(wr(n.id,!1))),e},[])}var Er=(e,t)=>n=>{n.target===t.current&&e?.(n)},Dr=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),Or=(0,W.memo)(({isSelecting:e,selectionMode:t=wt.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:a,onPaneContextMenu:o,onPaneScroll:s,onPaneMouseEnter:c,onPaneMouseMove:l,onPaneMouseLeave:u,children:d})=>{let f=(0,W.useRef)(null),p=q(),m=(0,W.useRef)(0),h=(0,W.useRef)(0),g=(0,W.useRef)(),{userSelectionActive:_,elementsSelectable:v,dragging:y}=K(Dr,G),b=()=>{p.setState({userSelectionActive:!1,userSelectionRect:null}),m.current=0,h.current=0},x=e=>{a?.(e),p.getState().resetSelectedElements(),p.setState({nodesSelectionActive:!1})},S=e=>{if(Array.isArray(n)&&n?.includes(2)){e.preventDefault();return}o?.(e)},C=s?e=>s(e):void 0,w=t=>{let{resetSelectedElements:n,domNode:i}=p.getState();if(g.current=i?.getBoundingClientRect(),!v||!e||t.button!==0||t.target!==f.current||!g.current)return;let{x:a,y:o}=gt(t,g.current);n(),p.setState({userSelectionRect:{width:0,height:0,startX:a,startY:o,x:a,y:o}}),r?.(t)},T=n=>{let{userSelectionRect:r,nodeInternals:i,edges:a,transform:o,onNodesChange:s,onEdgesChange:c,nodeOrigin:l,getNodes:u}=p.getState();if(!e||!g.current||!r)return;p.setState({userSelectionActive:!0,nodesSelectionActive:!1});let d=gt(n,g.current),f=r.startX??0,_=r.startY??0,v={...r,x:d.x<f?d.x:f,y:d.y<_?d.y:_,width:Math.abs(d.x-f),height:Math.abs(d.y-_)},y=u(),b=nn(i,v,o,t===wt.Partial,!0,l),x=rn(b,a).map(e=>e.id),S=b.map(e=>e.id);if(m.current!==S.length){m.current=S.length;let e=Tr(y,S);e.length&&s?.(e)}if(h.current!==x.length){h.current=x.length;let e=Tr(a,x);e.length&&c?.(e)}p.setState({userSelectionRect:v})},E=e=>{if(e.button!==0)return;let{userSelectionRect:t}=p.getState();!_&&t&&e.target===f.current&&x?.(e),p.setState({nodesSelectionActive:m.current>0}),b(),i?.(e)},D=e=>{_&&(p.setState({nodesSelectionActive:m.current>0}),i?.(e)),b()},O=v&&(e||_);return W.createElement(`div`,{className:U([`react-flow__pane`,{dragging:y,selection:e}]),onClick:O?void 0:Er(x,f),onContextMenu:Er(S,f),onWheel:Er(C,f),onMouseEnter:O?void 0:c,onMouseDown:O?w:void 0,onMouseMove:O?T:l,onMouseUp:O?E:void 0,onMouseLeave:O?D:u,ref:f,style:ur},d,W.createElement(yr,null))});Or.displayName=`Pane`;function kr(e,t){let n=e.parentNode||e.parentId;if(!n)return!1;let r=t.get(n);return r?r.selected?!0:kr(r,t):!1}function Ar(e,t,n){let r=e;do{if(r?.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function jr(e,t,n,r){return Array.from(e.values()).filter(n=>(n.selected||n.id===r)&&(!n.parentNode||n.parentId||!kr(n,e))&&(n.draggable||t&&n.draggable===void 0)).map(e=>({id:e.id,position:e.position||{x:0,y:0},positionAbsolute:e.positionAbsolute||{x:0,y:0},distance:{x:n.x-(e.positionAbsolute?.x??0),y:n.y-(e.positionAbsolute?.y??0)},delta:{x:0,y:0},extent:e.extent,parentNode:e.parentNode||e.parentId,parentId:e.parentNode||e.parentId,width:e.width,height:e.height,expandParent:e.expandParent}))}function Mr(e,t){return!t||t===`parent`?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function Nr(e,t,n,r,i=[0,0],a){let o=Mr(e,e.extent||r),s=o,c=e.parentNode||e.parentId;if(e.extent===`parent`&&!e.expandParent){if(c&&e.width&&e.height){let t=n.get(c),{x:r,y:a}=en(t,i).positionAbsolute;s=t&&J(r)&&J(a)&&J(t.width)&&J(t.height)?[[r+e.width*i[0],a+e.height*i[1]],[r+t.width-e.width+e.width*i[0],a+t.height-e.height+e.height*i[1]]]:s}else a?.(`005`,qe.error005()),s=o}else if(e.extent&&c&&e.extent!==`parent`){let{x:t,y:r}=en(n.get(c),i).positionAbsolute;s=[[e.extent[0][0]+t,e.extent[0][1]+r],[e.extent[1][0]+t,e.extent[1][1]+r]]}let l={x:0,y:0};c&&(l=en(n.get(c),i).positionAbsolute);let u=s&&s!==`parent`?tt(t,s):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function Pr({nodeId:e,dragItems:t,nodeInternals:n}){let r=t.map(e=>({...n.get(e.id),position:e.position,positionAbsolute:e.positionAbsolute}));return[e?r.find(t=>t.id===e):r[0],r]}var Fr=(e,t,n,r)=>{let i=t.querySelectorAll(e);if(!i||!i.length)return null;let a=Array.from(i),o=t.getBoundingClientRect(),s={x:o.width*r[0],y:o.height*r[1]};return a.map(e=>{let t=e.getBoundingClientRect();return{id:e.getAttribute(`data-handleid`),position:e.getAttribute(`data-handlepos`),x:(t.left-o.left-s.x)/n,y:(t.top-o.top-s.y)/n,...$e(e)}})};function Ir(e,t,n){return n===void 0?n:r=>{let i=t().nodeInternals.get(e);i&&n(r,{...i})}}function Lr({id:e,store:t,unselect:n=!1,nodeRef:r}){let{addSelectedNodes:i,unselectNodesAndEdges:a,multiSelectionActive:o,nodeInternals:s,onError:c}=t.getState(),l=s.get(e);if(!l){c?.(`012`,qe.error012(e));return}t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&o)&&(a({nodes:[l],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):i([e])}function Rr(){let e=q();return(0,W.useCallback)(({sourceEvent:t})=>{let{transform:n,snapGrid:r,snapToGrid:i}=e.getState(),a=t.touches?t.touches[0].clientX:t.clientX,o=t.touches?t.touches[0].clientY:t.clientY,s={x:(a-n[0])/n[2],y:(o-n[1])/n[2]};return{xSnapped:i?r[0]*Math.round(s.x/r[0]):s.x,ySnapped:i?r[1]*Math.round(s.y/r[1]):s.y,...s}},[])}function zr(e){return(t,n,r)=>e?.(t,r)}function Br({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:a,selectNodesOnDrag:o}){let s=q(),[c,l]=(0,W.useState)(!1),u=(0,W.useRef)([]),d=(0,W.useRef)({x:null,y:null}),f=(0,W.useRef)(0),p=(0,W.useRef)(null),m=(0,W.useRef)({x:0,y:0}),h=(0,W.useRef)(null),g=(0,W.useRef)(!1),_=(0,W.useRef)(!1),v=(0,W.useRef)(!1),y=Rr();return(0,W.useEffect)(()=>{if(e?.current){let c=Se(e.current),b=({x:e,y:t})=>{let{nodeInternals:n,onNodeDrag:r,onSelectionDrag:a,updateNodePositions:o,nodeExtent:c,snapGrid:f,snapToGrid:p,nodeOrigin:m,onError:g}=s.getState();d.current={x:e,y:t};let _=!1,v={x:0,y:0,x2:0,y2:0};if(u.current.length>1&&c&&(v=ot(tn(u.current,m))),u.current=u.current.map(r=>{let i={x:e-r.distance.x,y:t-r.distance.y};p&&(i.x=f[0]*Math.round(i.x/f[0]),i.y=f[1]*Math.round(i.y/f[1]));let a=[[c[0][0],c[0][1]],[c[1][0],c[1][1]]];u.current.length>1&&c&&!r.extent&&(a[0][0]=r.positionAbsolute.x-v.x+c[0][0],a[1][0]=r.positionAbsolute.x+(r.width??0)-v.x2+c[1][0],a[0][1]=r.positionAbsolute.y-v.y+c[0][1],a[1][1]=r.positionAbsolute.y+(r.height??0)-v.y2+c[1][1]);let o=Nr(r,i,n,a,m,g);return _=_||r.position.x!==o.position.x||r.position.y!==o.position.y,r.position=o.position,r.positionAbsolute=o.positionAbsolute,r}),!_)return;o(u.current,!0,!0),l(!0);let y=i?r:zr(a);if(y&&h.current){let[e,t]=Pr({nodeId:i,dragItems:u.current,nodeInternals:n});y(h.current,e,t)}},x=()=>{if(!p.current)return;let[e,t]=rt(m.current,p.current);if(e!==0||t!==0){let{transform:n,panBy:r}=s.getState();d.current.x=(d.current.x??0)-e/n[2],d.current.y=(d.current.y??0)-t/n[2],r({x:e,y:t})&&b(d.current)}f.current=requestAnimationFrame(x)},S=t=>{let{nodeInternals:n,multiSelectionActive:r,nodesDraggable:c,unselectNodesAndEdges:l,onNodeDragStart:f,onSelectionDragStart:p}=s.getState();_.current=!0;let m=i?f:zr(p);(!o||!a)&&!r&&i&&(n.get(i)?.selected||l()),i&&a&&o&&Lr({id:i,store:s,nodeRef:e});let h=y(t);if(d.current=h,u.current=jr(n,c,h,i),m&&u.current){let[e,r]=Pr({nodeId:i,dragItems:u.current,nodeInternals:n});m(t.sourceEvent,e,r)}};if(t)c.on(`.drag`,null);else{let t=We().on(`start`,e=>{let{domNode:t,nodeDragThreshold:n}=s.getState();n===0&&S(e),v.current=!1;let r=y(e);d.current=r,p.current=t?.getBoundingClientRect()||null,m.current=gt(e.sourceEvent,p.current)}).on(`drag`,e=>{let t=y(e),{autoPanOnNodeDrag:n,nodeDragThreshold:r}=s.getState();if(e.sourceEvent.type===`touchmove`&&e.sourceEvent.touches.length>1&&(v.current=!0),!v.current){if(!g.current&&_.current&&n&&(g.current=!0,x()),!_.current){let n=t.xSnapped-(d?.current?.x??0),i=t.ySnapped-(d?.current?.y??0);Math.sqrt(n*n+i*i)>r&&S(e)}(d.current.x!==t.xSnapped||d.current.y!==t.ySnapped)&&u.current&&_.current&&(h.current=e.sourceEvent,m.current=gt(e.sourceEvent,p.current),b(t))}}).on(`end`,e=>{if(!(!_.current||v.current)&&(l(!1),g.current=!1,_.current=!1,cancelAnimationFrame(f.current),u.current)){let{updateNodePositions:t,nodeInternals:n,onNodeDragStop:r,onSelectionDragStop:a}=s.getState(),o=i?r:zr(a);if(t(u.current,!1,!1),o){let[t,r]=Pr({nodeId:i,dragItems:u.current,nodeInternals:n});o(e.sourceEvent,t,r)}}}).filter(t=>{let i=t.target;return!t.button&&(!n||!Ar(i,`.${n}`,e))&&(!r||Ar(i,r,e))});return c.call(t),()=>{c.on(`.drag`,null)}}}},[e,t,n,r,a,s,i,o,y]),c}function Vr(){let e=q();return(0,W.useCallback)(t=>{let{nodeInternals:n,nodeExtent:r,updateNodePositions:i,getNodes:a,snapToGrid:o,snapGrid:s,onError:c,nodesDraggable:l}=e.getState(),u=a().filter(e=>e.selected&&(e.draggable||l&&e.draggable===void 0)),d=o?s[0]:5,f=o?s[1]:5,p=t.isShiftPressed?4:1,m=t.x*d*p,h=t.y*f*p;i(u.map(e=>{if(e.positionAbsolute){let t={x:e.positionAbsolute.x+m,y:e.positionAbsolute.y+h};o&&(t.x=s[0]*Math.round(t.x/s[0]),t.y=s[1]*Math.round(t.y/s[1]));let{positionAbsolute:i,position:a}=Nr(e,t,n,r,void 0,c);e.position=a,e.positionAbsolute=i}return e}),!0,!1)},[])}var Hr={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Ur=e=>{let t=({id:t,type:n,data:r,xPos:i,yPos:a,xPosOrigin:o,yPosOrigin:s,selected:c,onClick:l,onMouseEnter:u,onMouseMove:d,onMouseLeave:f,onContextMenu:p,onDoubleClick:m,style:h,className:g,isDraggable:_,isSelectable:v,isConnectable:y,isFocusable:b,selectNodesOnDrag:x,sourcePosition:S,targetPosition:C,hidden:w,resizeObserver:T,dragHandle:E,zIndex:D,isParent:O,noDragClassName:k,noPanClassName:A,initialized:j,disableKeyboardA11y:M,ariaLabel:N,rfId:P,hasHandleBounds:F})=>{let I=q(),L=(0,W.useRef)(null),R=(0,W.useRef)(null),z=(0,W.useRef)(S),B=(0,W.useRef)(C),ee=(0,W.useRef)(n),te=v||_||l||u||d||f,ne=Vr(),re=Ir(t,I.getState,u),ie=Ir(t,I.getState,d),ae=Ir(t,I.getState,f),oe=Ir(t,I.getState,p),se=Ir(t,I.getState,m),ce=e=>{let{nodeDragThreshold:n}=I.getState();if(v&&(!x||!_||n>0)&&Lr({id:t,store:I,nodeRef:L}),l){let n=I.getState().nodeInternals.get(t);n&&l(e,{...n})}},V=e=>{if(!mt(e)&&!M){if(dt.includes(e.key)&&v){let n=e.key===`Escape`;Lr({id:t,store:I,unselect:n,nodeRef:L})}else _&&c&&Object.prototype.hasOwnProperty.call(Hr,e.key)&&(I.setState({ariaLiveMessage:`Moved selected node ${e.key.replace(`Arrow`,``).toLowerCase()}. New position, x: ${~~i}, y: ${~~a}`}),ne({x:Hr[e.key].x,y:Hr[e.key].y,isShiftPressed:e.shiftKey}))}};(0,W.useEffect)(()=>()=>{R.current&&=(T?.unobserve(R.current),null)},[]),(0,W.useEffect)(()=>{if(L.current&&!w){let e=L.current;(!j||!F||R.current!==e)&&(R.current&&T?.unobserve(R.current),T?.observe(e),R.current=e)}},[w,j,F]),(0,W.useEffect)(()=>{let e=ee.current!==n,r=z.current!==S,i=B.current!==C;L.current&&(e||r||i)&&(e&&(ee.current=n),r&&(z.current=S),i&&(B.current=C),I.getState().updateNodeDimensions([{id:t,nodeElement:L.current,forceUpdate:!0}]))},[t,n,S,C]);let le=Br({nodeRef:L,disabled:w||!_,noDragClassName:k,handleSelector:E,nodeId:t,isSelectable:v,selectNodesOnDrag:x});return w?null:W.createElement(`div`,{className:U([`react-flow__node`,`react-flow__node-${n}`,{[A]:_},g,{selected:c,selectable:v,parent:O,dragging:le}]),ref:L,style:{zIndex:D,transform:`translate(${o}px,${s}px)`,pointerEvents:te?`all`:`none`,visibility:j?`visible`:`hidden`,...h},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:re,onMouseMove:ie,onMouseLeave:ae,onContextMenu:oe,onClick:ce,onDoubleClick:se,onKeyDown:b?V:void 0,tabIndex:b?0:void 0,role:b?`button`:void 0,"aria-describedby":M?void 0:`${Bn}-${P}`,"aria-label":N},W.createElement(Gt,{value:t},W.createElement(e,{id:t,data:r,type:n,xPos:i,yPos:a,selected:c,isConnectable:y,sourcePosition:S,targetPosition:C,dragging:le,dragHandle:E,zIndex:D})))};return t.displayName=`NodeWrapper`,(0,W.memo)(t)},Wr=e=>({...tn(e.getNodes().filter(e=>e.selected),e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive});function Gr({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let r=q(),{width:i,height:a,x:o,y:s,transformString:c,userSelectionActive:l}=K(Wr,G),u=Vr(),d=(0,W.useRef)(null);if((0,W.useEffect)(()=>{n||d.current?.focus({preventScroll:!0})},[n]),Br({nodeRef:d}),l||!i||!a)return null;let f=e?t=>{e(t,r.getState().getNodes().filter(e=>e.selected))}:void 0;return W.createElement(`div`,{className:U([`react-flow__nodesselection`,`react-flow__container`,t]),style:{transform:c}},W.createElement(`div`,{ref:d,className:`react-flow__nodesselection-rect`,onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(Hr,e.key)&&u({x:Hr[e.key].x,y:Hr[e.key].y,isShiftPressed:e.shiftKey})},style:{width:i,height:a,top:s,left:o}}))}var Kr=(0,W.memo)(Gr),qr=e=>e.nodesSelectionActive,Jr=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:a,onPaneScroll:o,deleteKeyCode:s,onMove:c,onMoveStart:l,onMoveEnd:u,selectionKeyCode:d,selectionOnDrag:f,selectionMode:p,onSelectionStart:m,onSelectionEnd:h,multiSelectionKeyCode:g,panActivationKeyCode:_,zoomActivationKeyCode:v,elementsSelectable:y,zoomOnScroll:b,zoomOnPinch:x,panOnScroll:S,panOnScrollSpeed:C,panOnScrollMode:w,zoomOnDoubleClick:T,panOnDrag:E,defaultViewport:D,translateExtent:O,minZoom:k,maxZoom:A,preventScrolling:j,onSelectionContextMenu:M,noWheelClassName:N,noPanClassName:P,disableKeyboardA11y:F})=>{let I=K(qr),L=Kn(d),R=Kn(_),z=R||E,B=R||S,ee=L||f&&z!==!0;return cr({deleteKeyCode:s,multiSelectionKeyCode:g}),W.createElement(_r,{onMove:c,onMoveStart:l,onMoveEnd:u,onPaneContextMenu:a,elementsSelectable:y,zoomOnScroll:b,zoomOnPinch:x,panOnScroll:B,panOnScrollSpeed:C,panOnScrollMode:w,zoomOnDoubleClick:T,panOnDrag:!L&&z,defaultViewport:D,translateExtent:O,minZoom:k,maxZoom:A,zoomActivationKeyCode:v,preventScrolling:j,noWheelClassName:N,noPanClassName:P},W.createElement(Or,{onSelectionStart:m,onSelectionEnd:h,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:a,onPaneScroll:o,panOnDrag:z,isSelecting:!!ee,selectionMode:p},e,I&&W.createElement(Kr,{onSelectionContextMenu:M,noPanClassName:P,disableKeyboardA11y:F})))};Jr.displayName=`FlowRenderer`;var Yr=(0,W.memo)(Jr);function Xr(e){return K((0,W.useCallback)(t=>e?nn(t.nodeInternals,{x:0,y:0,width:t.width,height:t.height},t.transform,!0):t.getNodes(),[e]))}function Zr(e){let t={input:Ur(e.input||Tn),default:Ur(e.default||Cn),output:Ur(e.output||Dn),group:Ur(e.group||On)},n=Object.keys(e).filter(e=>![`input`,`default`,`output`,`group`].includes(e)).reduce((t,n)=>(t[n]=Ur(e[n]||Cn),t),{});return{...t,...n}}var Qr=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r||i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},$r=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),ei=e=>{let{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:a,onError:o}=K($r,G),s=Xr(e.onlyRenderVisibleElements),c=(0,W.useRef)(),l=(0,W.useMemo)(()=>{if(typeof ResizeObserver>`u`)return null;let e=new ResizeObserver(e=>{let t=e.map(e=>({id:e.target.getAttribute(`data-id`),nodeElement:e.target,forceUpdate:!0}));a(t)});return c.current=e,e},[]);return(0,W.useEffect)(()=>()=>{c?.current?.disconnect()},[]),W.createElement(`div`,{className:`react-flow__nodes`,style:ur},s.map(a=>{let s=a.type||`default`;e.nodeTypes[s]||(o?.(`003`,qe.error003(s)),s=`default`);let c=e.nodeTypes[s]||e.nodeTypes.default,u=!!(a.draggable||t&&a.draggable===void 0),d=!!(a.selectable||i&&a.selectable===void 0),f=!!(a.connectable||n&&a.connectable===void 0),p=!!(a.focusable||r&&a.focusable===void 0),m=e.nodeExtent?tt(a.positionAbsolute,e.nodeExtent):a.positionAbsolute,h=m?.x??0,g=m?.y??0,_=Qr({x:h,y:g,width:a.width??0,height:a.height??0,origin:e.nodeOrigin});return W.createElement(c,{key:a.id,id:a.id,className:a.className,style:a.style,type:s,data:a.data,sourcePosition:a.sourcePosition||X.Bottom,targetPosition:a.targetPosition||X.Top,hidden:a.hidden,xPos:h,yPos:g,xPosOrigin:_.x,yPosOrigin:_.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!a.selected,isDraggable:u,isSelectable:d,isConnectable:f,isFocusable:p,resizeObserver:l,dragHandle:a.dragHandle,zIndex:a[Y]?.z??0,isParent:!!a[Y]?.isParent,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!a.width&&!!a.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:a.ariaLabel,hasHandleBounds:!!a[Y]?.handleBounds})}))};ei.displayName=`NodeRenderer`;var ti=(0,W.memo)(ei),ni=(e,t,n)=>n===X.Left?e-t:n===X.Right?e+t:e,ri=(e,t,n)=>n===X.Top?e-t:n===X.Bottom?e+t:e,ii=`react-flow__edgeupdater`,ai=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:a,onMouseOut:o,type:s})=>W.createElement(`circle`,{onMouseDown:i,onMouseEnter:a,onMouseOut:o,className:U([ii,`${ii}-${s}`]),cx:ni(t,r,e),cy:ri(n,r,e),r,stroke:`transparent`,fill:`transparent`}),oi=()=>!0,si=e=>{let t=({id:t,className:n,type:r,data:i,onClick:a,onEdgeDoubleClick:o,selected:s,animated:c,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:m,style:h,source:g,target:_,sourceX:v,sourceY:y,targetX:b,targetY:x,sourcePosition:S,targetPosition:C,elementsSelectable:w,hidden:T,sourceHandleId:E,targetHandleId:D,onContextMenu:O,onMouseEnter:k,onMouseMove:A,onMouseLeave:j,reconnectRadius:M,onReconnect:N,onReconnectStart:P,onReconnectEnd:F,markerEnd:I,markerStart:L,rfId:R,ariaLabel:z,isFocusable:B,isReconnectable:ee,pathOptions:te,interactionWidth:ne,disableKeyboardA11y:re})=>{let ie=(0,W.useRef)(null),[ae,oe]=(0,W.useState)(!1),[se,ce]=(0,W.useState)(!1),V=q(),le=(0,W.useMemo)(()=>`url('#${Yt(L,R)}')`,[L,R]),ue=(0,W.useMemo)(()=>`url('#${Yt(I,R)}')`,[I,R]);if(T)return null;let de=e=>{let{edges:n,addSelectedEdges:r,unselectNodesAndEdges:i,multiSelectionActive:o}=V.getState(),s=n.find(e=>e.id===t);s&&(w&&(V.setState({nodesSelectionActive:!1}),s.selected&&o?(i({nodes:[],edges:[s]}),ie.current?.blur()):r([t])),a&&a(e,s))},H=yt(t,V.getState,o),fe=yt(t,V.getState,O),pe=yt(t,V.getState,k),me=yt(t,V.getState,A),he=yt(t,V.getState,j),ge=(e,n)=>{if(e.button!==0)return;let{edges:r,isValidConnection:i}=V.getState(),a=n?_:g,o=(n?D:E)||null,s=n?`target`:`source`,c=i||oi,l=n,u=r.find(e=>e.id===t);ce(!0),P?.(e,u,s),gn({event:e,handleId:o,nodeId:a,onConnect:e=>N?.(u,e),isTarget:l,getState:V.getState,setState:V.setState,isValidConnection:c,edgeUpdaterType:s,onReconnectEnd:e=>{ce(!1),F?.(e,u,s)}})},_e=e=>ge(e,!0),ve=e=>ge(e,!1),ye=()=>oe(!0),be=()=>oe(!1),xe=!w&&!a;return W.createElement(`g`,{className:U([`react-flow__edge`,`react-flow__edge-${r}`,n,{selected:s,animated:c,inactive:xe,updating:ae}]),onClick:de,onDoubleClick:H,onContextMenu:fe,onMouseEnter:pe,onMouseMove:me,onMouseLeave:he,onKeyDown:B?e=>{if(!re&&dt.includes(e.key)&&w){let{unselectNodesAndEdges:n,addSelectedEdges:r,edges:i}=V.getState();e.key===`Escape`?(ie.current?.blur(),n({edges:[i.find(e=>e.id===t)]})):r([t])}}:void 0,tabIndex:B?0:void 0,role:B?`button`:`img`,"data-testid":`rf__edge-${t}`,"aria-label":z===null?void 0:z||`Edge from ${g} to ${_}`,"aria-describedby":B?`${Vn}-${R}`:void 0,ref:ie},!se&&W.createElement(e,{id:t,source:g,target:_,selected:s,animated:c,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:m,data:i,style:h,sourceX:v,sourceY:y,targetX:b,targetY:x,sourcePosition:S,targetPosition:C,sourceHandleId:E,targetHandleId:D,markerStart:le,markerEnd:ue,pathOptions:te,interactionWidth:ne}),ee&&W.createElement(W.Fragment,null,(ee===`source`||ee===!0)&&W.createElement(ai,{position:S,centerX:v,centerY:y,radius:M,onMouseDown:_e,onMouseEnter:ye,onMouseOut:be,type:`source`}),(ee===`target`||ee===!0)&&W.createElement(ai,{position:C,centerX:b,centerY:x,radius:M,onMouseDown:ve,onMouseEnter:ye,onMouseOut:be,type:`target`})))};return t.displayName=`EdgeWrapper`,(0,W.memo)(t)};function ci(e){let t={default:si(e.default||Ut),straight:si(e.bezier||zt),step:si(e.step||Lt),smoothstep:si(e.step||It),simplebezier:si(e.simplebezier||kt)},n=Object.keys(e).filter(e=>![`default`,`bezier`].includes(e)).reduce((t,n)=>(t[n]=si(e[n]||Ut),t),{});return{...t,...n}}function li(e,t,n=null){let r=(n?.x||0)+t.x,i=(n?.y||0)+t.y,a=n?.width||t.width,o=n?.height||t.height;switch(e){case X.Top:return{x:r+a/2,y:i};case X.Right:return{x:r+a,y:i+o/2};case X.Bottom:return{x:r+a/2,y:i+o};case X.Left:return{x:r,y:i+o/2}}}function ui(e,t){return e?e.length===1||!t?e[0]:t&&e.find(e=>e.id===t)||null:null}var di=(e,t,n,r,i,a)=>{let o=li(n,e,t),s=li(a,r,i);return{sourceX:o.x,sourceY:o.y,targetX:s.x,targetY:s.y}};function fi({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:a,width:o,height:s,transform:c}){let l={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+a)};l.x===l.x2&&(l.x2+=1),l.y===l.y2&&(l.y2+=1);let u=ot({x:(0-c[0])/c[2],y:(0-c[1])/c[2],width:o/c[2],height:s/c[2]}),d=Math.max(0,Math.min(u.x2,l.x2)-Math.max(u.x,l.x)),f=Math.max(0,Math.min(u.y2,l.y2)-Math.max(u.y,l.y));return Math.ceil(d*f)>0}function pi(e){let t=e?.[Y]?.handleBounds||null,n=t&&e?.width&&e?.height&&e?.positionAbsolute?.x!==void 0&&e?.positionAbsolute?.y!==void 0;return[{x:e?.positionAbsolute?.x||0,y:e?.positionAbsolute?.y||0,width:e?.width||0,height:e?.height||0},t,!!n]}var mi=[{level:0,isMaxLevel:!0,edges:[]}];function hi(e,t,n=!1){let r=-1,i=e.reduce((e,i)=>{let a=J(i.zIndex),o=a?i.zIndex:0;if(n){let e=t.get(i.target),n=t.get(i.source),r=i.selected||e?.selected||n?.selected,s=Math.max(n?.[Y]?.z||0,e?.[Y]?.z||0,1e3);o=(a?i.zIndex:0)+(r?s:0)}return e[o]?e[o].push(i):e[o]=[i],r=o>r?o:r,e},{}),a=Object.entries(i).map(([e,t])=>{let n=+e;return{edges:t,level:n,isMaxLevel:n===r}});return a.length===0?mi:a}function gi(e,t,n){return hi(K((0,W.useCallback)(n=>e?n.edges.filter(e=>{let r=t.get(e.source),i=t.get(e.target);return r?.width&&r?.height&&i?.width&&i?.height&&fi({sourcePos:r.positionAbsolute||{x:0,y:0},targetPos:i.positionAbsolute||{x:0,y:0},sourceWidth:r.width,sourceHeight:r.height,targetWidth:i.width,targetHeight:i.height,width:n.width,height:n.height,transform:n.transform})}):n.edges,[e,t])),t,n)}var _i=({color:e=`none`,strokeWidth:t=1})=>W.createElement(`polyline`,{style:{stroke:e,strokeWidth:t},strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`,points:`-5,-4 0,0 -5,4`}),vi=({color:e=`none`,strokeWidth:t=1})=>W.createElement(`polyline`,{style:{stroke:e,fill:e,strokeWidth:t},strokeLinecap:`round`,strokeLinejoin:`round`,points:`-5,-4 0,0 -5,4 -5,-4`}),yi={[Et.Arrow]:_i,[Et.ArrowClosed]:vi};function bi(e){let t=q();return(0,W.useMemo)(()=>Object.prototype.hasOwnProperty.call(yi,e)?yi[e]:(t.getState().onError?.(`009`,qe.error009(e)),null),[e])}var xi=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:a=`strokeWidth`,strokeWidth:o,orient:s=`auto-start-reverse`})=>{let c=bi(t);return c?W.createElement(`marker`,{className:`react-flow__arrowhead`,id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:`-10 -10 20 20`,markerUnits:a,orient:s,refX:`0`,refY:`0`},W.createElement(c,{color:n,strokeWidth:o})):null},Si=({defaultColor:e,rfId:t})=>n=>{let r=[];return n.edges.reduce((n,i)=>([i.markerStart,i.markerEnd].forEach(i=>{if(i&&typeof i==`object`){let a=Yt(i,t);r.includes(a)||(n.push({id:a,color:i.color||e,...i}),r.push(a))}}),n),[]).sort((e,t)=>e.id.localeCompare(t.id))},Ci=({defaultColor:e,rfId:t})=>{let n=K((0,W.useCallback)(Si({defaultColor:e,rfId:t}),[e,t]),(e,t)=>!(e.length!==t.length||e.some((e,n)=>e.id!==t[n].id)));return W.createElement(`defs`,null,n.map(e=>W.createElement(xi,{id:e.id,key:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient})))};Ci.displayName=`MarkerDefinitions`;var wi=(0,W.memo)(Ci),Ti=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),Ei=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:a,onEdgeContextMenu:o,onEdgeMouseEnter:s,onEdgeMouseMove:c,onEdgeMouseLeave:l,onEdgeClick:u,onEdgeDoubleClick:d,onReconnect:f,onReconnectStart:p,onReconnectEnd:m,reconnectRadius:h,children:g,disableKeyboardA11y:_})=>{let{edgesFocusable:v,edgesUpdatable:y,elementsSelectable:b,width:x,height:S,connectionMode:C,nodeInternals:w,onError:T}=K(Ti,G),E=gi(t,w,n);return x?W.createElement(W.Fragment,null,E.map(({level:t,edges:n,isMaxLevel:g})=>W.createElement(`svg`,{key:t,style:{zIndex:t},width:x,height:S,className:`react-flow__edges react-flow__container`},g&&W.createElement(wi,{defaultColor:e,rfId:r}),W.createElement(`g`,null,n.map(e=>{let[t,n,g]=pi(w.get(e.source)),[x,S,E]=pi(w.get(e.target));if(!g||!E)return null;let D=e.type||`default`;i[D]||(T?.(`011`,qe.error011(D)),D=`default`);let O=i[D]||i.default,k=C===St.Strict?S.target:(S.target??[]).concat(S.source??[]),A=ui(n.source,e.sourceHandle),j=ui(k,e.targetHandle),M=A?.position||X.Bottom,N=j?.position||X.Top,P=!!(e.focusable||v&&e.focusable===void 0),F=e.reconnectable||e.updatable,I=f!==void 0&&(F||y&&F===void 0);if(!A||!j)return T?.(`008`,qe.error008(A,e)),null;let{sourceX:L,sourceY:R,targetX:z,targetY:B}=di(t,A,M,x,j,N);return W.createElement(O,{key:e.id,id:e.id,className:U([e.className,a]),type:D,data:e.data,selected:!!e.selected,animated:!!e.animated,hidden:!!e.hidden,label:e.label,labelStyle:e.labelStyle,labelShowBg:e.labelShowBg,labelBgStyle:e.labelBgStyle,labelBgPadding:e.labelBgPadding,labelBgBorderRadius:e.labelBgBorderRadius,style:e.style,source:e.source,target:e.target,sourceHandleId:e.sourceHandle,targetHandleId:e.targetHandle,markerEnd:e.markerEnd,markerStart:e.markerStart,sourceX:L,sourceY:R,targetX:z,targetY:B,sourcePosition:M,targetPosition:N,elementsSelectable:b,onContextMenu:o,onMouseEnter:s,onMouseMove:c,onMouseLeave:l,onClick:u,onEdgeDoubleClick:d,onReconnect:f,onReconnectStart:p,onReconnectEnd:m,reconnectRadius:h,rfId:r,ariaLabel:e.ariaLabel,isFocusable:P,isReconnectable:I,pathOptions:`pathOptions`in e?e.pathOptions:void 0,interactionWidth:e.interactionWidth,disableKeyboardA11y:_})})))),g):null};Ei.displayName=`EdgeRenderer`;var Di=(0,W.memo)(Ei),Oi=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function ki({children:e}){let t=K(Oi);return W.createElement(`div`,{className:`react-flow__viewport react-flow__container`,style:{transform:t}},e)}function Ai(e){let t=or(),n=(0,W.useRef)(!1);(0,W.useEffect)(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}var ji={[X.Left]:X.Right,[X.Right]:X.Left,[X.Top]:X.Bottom,[X.Bottom]:X.Top},Mi=({nodeId:e,handleType:t,style:n,type:r=Tt.Bezier,CustomComponent:i,connectionStatus:a})=>{let{fromNode:o,handleId:s,toX:c,toY:l,connectionMode:u}=K((0,W.useCallback)(t=>({fromNode:t.nodeInternals.get(e),handleId:t.connectionHandleId,toX:(t.connectionPosition.x-t.transform[0])/t.transform[2],toY:(t.connectionPosition.y-t.transform[1])/t.transform[2],connectionMode:t.connectionMode}),[e]),G),d=o?.[Y]?.handleBounds,f=d?.[t];if(u===St.Loose&&(f||=d?.[t===`source`?`target`:`source`]),!o||!f)return null;let p=s?f.find(e=>e.id===s):f[0],m=p?p.x+p.width/2:(o.width??0)/2,h=p?p.y+p.height/2:o.height??0,g=(o.positionAbsolute?.x??0)+m,_=(o.positionAbsolute?.y??0)+h,v=p?.position,y=v?ji[v]:null;if(!v||!y)return null;if(i)return W.createElement(i,{connectionLineType:r,connectionLineStyle:n,fromNode:o,fromHandle:p,fromX:g,fromY:_,toX:c,toY:l,fromPosition:v,toPosition:y,connectionStatus:a});let b=``,x={sourceX:g,sourceY:_,sourcePosition:v,targetX:c,targetY:l,targetPosition:y};return r===Tt.Bezier?[b]=Ht(x):r===Tt.Step?[b]=Ft({...x,borderRadius:0}):r===Tt.SmoothStep?[b]=Ft(x):r===Tt.SimpleBezier?[b]=Ot(x):b=`M${g},${_} ${c},${l}`,W.createElement(`path`,{d:b,fill:`none`,className:`react-flow__connection-path`,style:n})};Mi.displayName=`ConnectionLine`;var Ni=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Pi({containerStyle:e,style:t,type:n,component:r}){let{nodeId:i,handleType:a,nodesConnectable:o,width:s,height:c,connectionStatus:l}=K(Ni,G);return i&&a&&s&&o?W.createElement(`svg`,{style:e,width:s,height:c,className:`react-flow__edges react-flow__connectionline react-flow__container`},W.createElement(`g`,{className:U([`react-flow__connection`,l])},W.createElement(Mi,{nodeId:i,handleType:a,style:t,type:n,CustomComponent:r,connectionStatus:l}))):null}function Fi(e,t){return(0,W.useRef)(null),q(),(0,W.useMemo)(()=>t(e),[e])}var Ii=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:a,onNodeClick:o,onEdgeClick:s,onNodeDoubleClick:c,onEdgeDoubleClick:l,onNodeMouseEnter:u,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:p,onSelectionContextMenu:m,onSelectionStart:h,onSelectionEnd:g,connectionLineType:_,connectionLineStyle:v,connectionLineComponent:y,connectionLineContainerStyle:b,selectionKeyCode:x,selectionOnDrag:S,selectionMode:C,multiSelectionKeyCode:w,panActivationKeyCode:T,zoomActivationKeyCode:E,deleteKeyCode:D,onlyRenderVisibleElements:O,elementsSelectable:k,selectNodesOnDrag:A,defaultViewport:j,translateExtent:M,minZoom:N,maxZoom:P,preventScrolling:F,defaultMarkerColor:I,zoomOnScroll:L,zoomOnPinch:R,panOnScroll:z,panOnScrollSpeed:B,panOnScrollMode:ee,zoomOnDoubleClick:te,panOnDrag:ne,onPaneClick:re,onPaneMouseEnter:ie,onPaneMouseMove:ae,onPaneMouseLeave:oe,onPaneScroll:se,onPaneContextMenu:ce,onEdgeContextMenu:V,onEdgeMouseEnter:le,onEdgeMouseMove:ue,onEdgeMouseLeave:de,onReconnect:H,onReconnectStart:fe,onReconnectEnd:pe,reconnectRadius:me,noDragClassName:he,noWheelClassName:ge,noPanClassName:_e,elevateEdgesOnSelect:ve,disableKeyboardA11y:ye,nodeOrigin:be,nodeExtent:xe,rfId:Se})=>{let Ce=Fi(e,Zr),we=Fi(t,ci);return Ai(a),W.createElement(Yr,{onPaneClick:re,onPaneMouseEnter:ie,onPaneMouseMove:ae,onPaneMouseLeave:oe,onPaneContextMenu:ce,onPaneScroll:se,deleteKeyCode:D,selectionKeyCode:x,selectionOnDrag:S,selectionMode:C,onSelectionStart:h,onSelectionEnd:g,multiSelectionKeyCode:w,panActivationKeyCode:T,zoomActivationKeyCode:E,elementsSelectable:k,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:L,zoomOnPinch:R,zoomOnDoubleClick:te,panOnScroll:z,panOnScrollSpeed:B,panOnScrollMode:ee,panOnDrag:ne,defaultViewport:j,translateExtent:M,minZoom:N,maxZoom:P,onSelectionContextMenu:m,preventScrolling:F,noDragClassName:he,noWheelClassName:ge,noPanClassName:_e,disableKeyboardA11y:ye},W.createElement(ki,null,W.createElement(Di,{edgeTypes:we,onEdgeClick:s,onEdgeDoubleClick:l,onlyRenderVisibleElements:O,onEdgeContextMenu:V,onEdgeMouseEnter:le,onEdgeMouseMove:ue,onEdgeMouseLeave:de,onReconnect:H,onReconnectStart:fe,onReconnectEnd:pe,reconnectRadius:me,defaultMarkerColor:I,noPanClassName:_e,elevateEdgesOnSelect:!!ve,disableKeyboardA11y:ye,rfId:Se},W.createElement(Pi,{style:v,type:_,component:y,containerStyle:b})),W.createElement(`div`,{className:`react-flow__edgelabel-renderer`}),W.createElement(ti,{nodeTypes:Ce,onNodeClick:o,onNodeDoubleClick:c,onNodeMouseEnter:u,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:p,selectNodesOnDrag:A,onlyRenderVisibleElements:O,noPanClassName:_e,noDragClassName:he,disableKeyboardA11y:ye,nodeOrigin:be,nodeExtent:xe,rfId:Se})))};Ii.displayName=`GraphView`;var Li=(0,W.memo)(Ii),Ri=[[-1/0,-1/0],[1/0,1/0]],zi={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:Ri,nodeExtent:Ri,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:`source`,connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:St.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:ft,isValidConnection:void 0},Bi=()=>Le((e,t)=>({...zi,setNodes:n=>{let{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:a}=t();e({nodeInternals:Zn(n,r,i,a)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{let{defaultEdgeOptions:r={}}=t();e({edges:n.map(e=>({...r,...e}))})},setDefaultNodesAndEdges:(n,r)=>{let i=n!==void 0,a=r!==void 0;e({nodeInternals:i?Zn(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map,edges:a?r:[],hasDefaultNodes:i,hasDefaultEdges:a})},updateNodeDimensions:n=>{let{onNodesChange:r,nodeInternals:i,fitViewOnInit:a,fitViewOnInitDone:o,fitViewOnInitOptions:s,domNode:c,nodeOrigin:l}=t(),u=c?.querySelector(`.react-flow__viewport`);if(!u)return;let d=window.getComputedStyle(u),{m22:f}=new window.DOMMatrixReadOnly(d.transform),p=n.reduce((e,t)=>{let n=i.get(t.id);if(n?.hidden)i.set(n.id,{...n,[Y]:{...n[Y],handleBounds:void 0}});else if(n){let r=$e(t.nodeElement);r.width&&r.height&&(n.width!==r.width||n.height!==r.height||t.forceUpdate)&&(i.set(n.id,{...n,[Y]:{...n[Y],handleBounds:{source:Fr(`.source`,t.nodeElement,f,l),target:Fr(`.target`,t.nodeElement,f,l)}},...r}),e.push({id:n.id,type:`dimensions`,dimensions:r}))}return e},[]);Xn(i,l);let m=o||a&&!o&&Qn(t,{initial:!0,...s});e({nodeInternals:new Map(i),fitViewOnInitDone:m}),p?.length>0&&r?.(p)},updateNodePositions:(e,n=!0,r=!1)=>{let{triggerNodeChanges:i}=t();i(e.map(e=>{let t={id:e.id,type:`position`,dragging:r};return n&&(t.positionAbsolute=e.positionAbsolute,t.position=e.position),t}))},triggerNodeChanges:n=>{let{onNodesChange:r,nodeInternals:i,hasDefaultNodes:a,nodeOrigin:o,getNodes:s,elevateNodesOnSelect:c}=t();n?.length&&(a&&e({nodeInternals:Zn(Sr(n,s()),i,o,c)}),r?.(n))},addSelectedNodes:n=>{let{multiSelectionActive:r,edges:i,getNodes:a}=t(),o,s=null;r?o=n.map(e=>wr(e,!0)):(o=Tr(a(),n),s=Tr(i,[])),tr({changedNodes:o,changedEdges:s,get:t,set:e})},addSelectedEdges:n=>{let{multiSelectionActive:r,edges:i,getNodes:a}=t(),o,s=null;r?o=n.map(e=>wr(e,!0)):(o=Tr(i,n),s=Tr(a(),[])),tr({changedNodes:s,changedEdges:o,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{let{edges:i,getNodes:a}=t(),o=n||a(),s=r||i;tr({changedNodes:o.map(e=>(e.selected=!1,wr(e.id,!1))),changedEdges:s.map(e=>wr(e.id,!1)),get:t,set:e})},setMinZoom:n=>{let{d3Zoom:r,maxZoom:i}=t();r?.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{let{d3Zoom:r,minZoom:i}=t();r?.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{t().d3Zoom?.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{let{edges:n,getNodes:r}=t();tr({changedNodes:r().filter(e=>e.selected).map(e=>wr(e.id,!1)),changedEdges:n.filter(e=>e.selected).map(e=>wr(e.id,!1)),get:t,set:e})},setNodeExtent:n=>{let{nodeInternals:r}=t();r.forEach(e=>{e.positionAbsolute=tt(e.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:e=>{let{transform:n,width:r,height:i,d3Zoom:a,d3Selection:o,translateExtent:s}=t();if(!a||!o||!e.x&&!e.y)return!1;let c=_e.translate(n[0]+e.x,n[1]+e.y).scale(n[2]),l=[[0,0],[r,i]],u=a?.constrain()(c,l,s);return a.transform(o,u),n[0]!==u.x||n[1]!==u.y||n[2]!==u.k},cancelConnection:()=>e({connectionNodeId:zi.connectionNodeId,connectionHandleId:zi.connectionHandleId,connectionHandleType:zi.connectionHandleType,connectionStatus:zi.connectionStatus,connectionStartHandle:zi.connectionStartHandle,connectionEndHandle:zi.connectionEndHandle}),reset:()=>e({...zi})}),Object.is),Vi=({children:e})=>{let t=(0,W.useRef)(null);return t.current||=Bi(),W.createElement(Ke,{value:t.current},e)};Vi.displayName=`ReactFlowProvider`;var Hi=({children:e})=>(0,W.useContext)(Ge)?W.createElement(W.Fragment,null,e):W.createElement(Vi,null,e);Hi.displayName=`ReactFlowWrapper`;var Ui={input:Tn,default:Cn,output:Dn,group:On},Wi={default:Ut,straight:zt,step:Lt,smoothstep:It,simplebezier:kt},Gi=[0,0],Ki=[15,15],qi={x:0,y:0,zoom:1},Ji={width:`100%`,height:`100%`,overflow:`hidden`,position:`relative`,zIndex:0},Yi=(0,W.forwardRef)(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:a=Ui,edgeTypes:o=Wi,onNodeClick:s,onEdgeClick:c,onInit:l,onMove:u,onMoveStart:d,onMoveEnd:f,onConnect:p,onConnectStart:m,onConnectEnd:h,onClickConnectStart:g,onClickConnectEnd:_,onNodeMouseEnter:v,onNodeMouseMove:y,onNodeMouseLeave:b,onNodeContextMenu:x,onNodeDoubleClick:S,onNodeDragStart:C,onNodeDrag:w,onNodeDragStop:T,onNodesDelete:E,onEdgesDelete:D,onSelectionChange:O,onSelectionDragStart:k,onSelectionDrag:A,onSelectionDragStop:j,onSelectionContextMenu:M,onSelectionStart:N,onSelectionEnd:P,connectionMode:F=St.Strict,connectionLineType:I=Tt.Bezier,connectionLineStyle:L,connectionLineComponent:R,connectionLineContainerStyle:z,deleteKeyCode:B=`Backspace`,selectionKeyCode:ee=`Shift`,selectionOnDrag:te=!1,selectionMode:ne=wt.Full,panActivationKeyCode:re=`Space`,multiSelectionKeyCode:ie=_t()?`Meta`:`Control`,zoomActivationKeyCode:ae=_t()?`Meta`:`Control`,snapToGrid:oe=!1,snapGrid:se=Ki,onlyRenderVisibleElements:ce=!1,selectNodesOnDrag:V=!0,nodesDraggable:le,nodesConnectable:ue,nodesFocusable:de,nodeOrigin:H=Gi,edgesFocusable:fe,edgesUpdatable:pe,elementsSelectable:me,defaultViewport:he=qi,minZoom:ge=.5,maxZoom:_e=2,translateExtent:ve=Ri,preventScrolling:ye=!0,nodeExtent:be,defaultMarkerColor:xe=`#b1b1b7`,zoomOnScroll:Se=!0,zoomOnPinch:Ce=!0,panOnScroll:we=!1,panOnScrollSpeed:Te=.5,panOnScrollMode:Ee=Ct.Free,zoomOnDoubleClick:De=!0,panOnDrag:Oe=!0,onPaneClick:ke,onPaneMouseEnter:Ae,onPaneMouseMove:je,onPaneMouseLeave:Me,onPaneScroll:Ne,onPaneContextMenu:Pe,children:Fe,onEdgeContextMenu:Ie,onEdgeDoubleClick:Le,onEdgeMouseEnter:G,onEdgeMouseMove:Re,onEdgeMouseLeave:ze,onEdgeUpdate:Be,onEdgeUpdateStart:Ve,onEdgeUpdateEnd:He,onReconnect:Ue,onReconnectStart:We,onReconnectEnd:Ge,reconnectRadius:Ke=10,edgeUpdaterRadius:qe=10,onNodesChange:Je,onEdgesChange:K,noDragClassName:q=`nodrag`,noWheelClassName:Ye=`nowheel`,noPanClassName:Xe=`nopan`,fitView:Qe=!1,fitViewOptions:$e,connectOnClick:et=!0,attributionPosition:tt,proOptions:nt,defaultEdgeOptions:rt,elevateNodesOnSelect:it=!0,elevateEdgesOnSelect:at=!1,disableKeyboardA11y:ot=!1,autoPanOnConnect:st=!0,autoPanOnNodeDrag:ct=!0,connectionRadius:lt=20,isValidConnection:ut,onError:J,style:Y,id:dt,nodeDragThreshold:ft,...pt},mt)=>{let ht=dt||`1`;return W.createElement(`div`,{...pt,style:{...Y,...Ji},ref:mt,className:U([`react-flow`,i]),"data-testid":`rf__wrapper`,id:dt},W.createElement(Hi,null,W.createElement(Li,{onInit:l,onMove:u,onMoveStart:d,onMoveEnd:f,onNodeClick:s,onEdgeClick:c,onNodeMouseEnter:v,onNodeMouseMove:y,onNodeMouseLeave:b,onNodeContextMenu:x,onNodeDoubleClick:S,nodeTypes:a,edgeTypes:o,connectionLineType:I,connectionLineStyle:L,connectionLineComponent:R,connectionLineContainerStyle:z,selectionKeyCode:ee,selectionOnDrag:te,selectionMode:ne,deleteKeyCode:B,multiSelectionKeyCode:ie,panActivationKeyCode:re,zoomActivationKeyCode:ae,onlyRenderVisibleElements:ce,selectNodesOnDrag:V,defaultViewport:he,translateExtent:ve,minZoom:ge,maxZoom:_e,preventScrolling:ye,zoomOnScroll:Se,zoomOnPinch:Ce,zoomOnDoubleClick:De,panOnScroll:we,panOnScrollSpeed:Te,panOnScrollMode:Ee,panOnDrag:Oe,onPaneClick:ke,onPaneMouseEnter:Ae,onPaneMouseMove:je,onPaneMouseLeave:Me,onPaneScroll:Ne,onPaneContextMenu:Pe,onSelectionContextMenu:M,onSelectionStart:N,onSelectionEnd:P,onEdgeContextMenu:Ie,onEdgeDoubleClick:Le,onEdgeMouseEnter:G,onEdgeMouseMove:Re,onEdgeMouseLeave:ze,onReconnect:Ue??Be,onReconnectStart:We??Ve,onReconnectEnd:Ge??He,reconnectRadius:Ke??qe,defaultMarkerColor:xe,noDragClassName:q,noWheelClassName:Ye,noPanClassName:Xe,elevateEdgesOnSelect:at,rfId:ht,disableKeyboardA11y:ot,nodeOrigin:H,nodeExtent:be}),W.createElement(Ln,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:p,onConnectStart:m,onConnectEnd:h,onClickConnectStart:g,onClickConnectEnd:_,nodesDraggable:le,nodesConnectable:ue,nodesFocusable:de,edgesFocusable:fe,edgesUpdatable:pe,elementsSelectable:me,elevateNodesOnSelect:it,minZoom:ge,maxZoom:_e,nodeExtent:be,onNodesChange:Je,onEdgesChange:K,snapToGrid:oe,snapGrid:se,connectionMode:F,translateExtent:ve,connectOnClick:et,defaultEdgeOptions:rt,fitView:Qe,fitViewOptions:$e,onNodesDelete:E,onEdgesDelete:D,onNodeDragStart:C,onNodeDrag:w,onNodeDragStop:T,onSelectionDrag:A,onSelectionDragStart:k,onSelectionDragStop:j,noPanClassName:Xe,nodeOrigin:H,rfId:ht,autoPanOnConnect:st,autoPanOnNodeDrag:ct,onError:J,connectionRadius:lt,isValidConnection:ut,nodeDragThreshold:ft}),W.createElement(Pn,{onSelectionChange:O}),Fe,W.createElement(Ze,{proOptions:nt,position:tt}),W.createElement(Gn,{rfId:ht,disableKeyboardA11y:ot})))});Yi.displayName=`ReactFlow`;function Xi(e){return t=>{let[n,r]=(0,W.useState)(t);return[n,r,(0,W.useCallback)(t=>r(n=>e(t,n)),[])]}}var Zi=Xi(Sr),Qi=Xi(Cr);function $i(){return W.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`},W.createElement(`path`,{d:`M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z`}))}function ea(){return W.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 5`},W.createElement(`path`,{d:`M0 0h32v4.2H0z`}))}function ta(){return W.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 30`},W.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 na(){return W.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 25 32`},W.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 ra(){return W.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 25 32`},W.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 ia=({children:e,className:t,...n})=>W.createElement(`button`,{type:`button`,className:U([`react-flow__controls-button`,t]),...n},e);ia.displayName=`ControlButton`;var aa=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom}),oa=({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:i,onZoomIn:a,onZoomOut:o,onFitView:s,onInteractiveChange:c,className:l,children:u,position:d=`bottom-left`})=>{let f=q(),[p,m]=(0,W.useState)(!1),{isInteractive:h,minZoomReached:g,maxZoomReached:_}=K(aa,G),{zoomIn:v,zoomOut:y,fitView:b}=or();return(0,W.useEffect)(()=>{m(!0)},[]),p?W.createElement(Xe,{className:U([`react-flow__controls`,l]),position:d,style:e,"data-testid":`rf__controls`},t&&W.createElement(W.Fragment,null,W.createElement(ia,{onClick:()=>{v(),a?.()},className:`react-flow__controls-zoomin`,title:`zoom in`,"aria-label":`zoom in`,disabled:_},W.createElement($i,null)),W.createElement(ia,{onClick:()=>{y(),o?.()},className:`react-flow__controls-zoomout`,title:`zoom out`,"aria-label":`zoom out`,disabled:g},W.createElement(ea,null))),n&&W.createElement(ia,{className:`react-flow__controls-fitview`,onClick:()=>{b(i),s?.()},title:`fit view`,"aria-label":`fit view`},W.createElement(ta,null)),r&&W.createElement(ia,{className:`react-flow__controls-interactive`,onClick:()=>{f.setState({nodesDraggable:!h,nodesConnectable:!h,elementsSelectable:!h}),c?.(!h)},title:`toggle interactivity`,"aria-label":`toggle interactivity`},h?W.createElement(ra,null):W.createElement(na,null)),u):null};oa.displayName=`Controls`;var sa=(0,W.memo)(oa),ca;(function(e){e.Lines=`lines`,e.Dots=`dots`,e.Cross=`cross`})(ca||={});function la({color:e,dimensions:t,lineWidth:n}){return W.createElement(`path`,{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function ua({color:e,radius:t}){return W.createElement(`circle`,{cx:t,cy:t,r:t,fill:e})}var da={[ca.Dots]:`#91919a`,[ca.Lines]:`#eee`,[ca.Cross]:`#e2e2e2`},fa={[ca.Dots]:1,[ca.Lines]:1,[ca.Cross]:6},pa=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function ma({id:e,variant:t=ca.Dots,gap:n=20,size:r,lineWidth:i=1,offset:a=2,color:o,style:s,className:c}){let l=(0,W.useRef)(null),{transform:u,patternId:d}=K(pa,G),f=o||da[t],p=r||fa[t],m=t===ca.Dots,h=t===ca.Cross,g=Array.isArray(n)?n:[n,n],_=[g[0]*u[2]||1,g[1]*u[2]||1],v=p*u[2],y=h?[v,v]:_,b=m?[v/a,v/a]:[y[0]/a,y[1]/a];return W.createElement(`svg`,{className:U([`react-flow__background`,c]),style:{...s,position:`absolute`,width:`100%`,height:`100%`,top:0,left:0},ref:l,"data-testid":`rf__background`},W.createElement(`pattern`,{id:d+e,x:u[0]%_[0],y:u[1]%_[1],width:_[0],height:_[1],patternUnits:`userSpaceOnUse`,patternTransform:`translate(-${b[0]},-${b[1]})`},m?W.createElement(ua,{color:f,radius:v/a}):W.createElement(la,{dimensions:y,color:f,lineWidth:i})),W.createElement(`rect`,{x:`0`,y:`0`,width:`100%`,height:`100%`,fill:`url(#${d+e})`}))}ma.displayName=`Background`;var ha=(0,W.memo)(ma),ga=M();function _a(e){return Math.min(e*11+35,200)}var va=`outputs`,ya=`inputs`,ba=class{createEdge(e,t){return{animated:!0,markerEnd:{type:Et.ArrowClosed},id:`${e}-${t}`,style:{strokeWidth:2},source:e,sourceHandle:va,targetHandle:ya,target:t}}createNode(e,t){let n=a.get(t).code.trim().split(`
|
|
2
2
|
`).length,r=_a(n);return{id:e,data:{atom:t,forceWidth:300},width:300,type:`custom`,height:r,position:{x:0,y:0}}}createElements(e,t,n,r,i){let o=[],s=[],c=new Set,l=new Set;for(let e of Object.values(n)){if(e.value===`marimo`&&e.name===`mo`)continue;let{declaredBy:t,usedBy:n}=e;for(let e of t)for(let t of n){let n=`${e}-${t}`;l.has(n)||(l.add(n),c.add(e),c.add(t),s.push(this.createEdge(e,t)))}}let u=C().cellRuntime;for(let[n,s]of re.zip(e,t)){let e=a.get(s).code.trim(),t=c.has(n),l=e.startsWith(`mo.md`),d=u[n]?.serialization?.toLowerCase()===`valid`;r&&l&&!t||i&&d&&!t||o.push(this.createNode(n,s))}return{nodes:o,edges:s}}},Q=P();function xa(e){return Math.min(Math.max(e-100,100),400)}var Sa=W.createContext(`LR`),Ca=(0,W.memo)(e=>{let t=(0,ga.c)(51),{data:n,selected:r}=e,a=i(n.atom),o=p().inOrderIds.indexOf(a.id),s=r?`var(--gray-9)`:`var(--gray-3)`,c=K(Ta),l=(0,W.use)(Sa),d,f,m,h;if(t[0]!==a.code||t[1]!==s||t[2]!==l||t[3]!==r){let e=a.code.split(`
|
|
3
3
|
`).length,n=l===`LR`?X.Left:X.Top,i;t[8]===s?i=t[9]:(i={background:s},t[8]=s,t[9]=i),t[10]!==n||t[11]!==i?(m=(0,Q.jsx)(xn,{type:`target`,id:ya,"data-testid":`input-one`,position:n,style:i}),t[10]=n,t[11]=i,t[12]=m):m=t[12];let o=l===`LR`?X.Left:X.Top,c;t[13]===s?c=t[14]:(c={background:s},t[13]=s,t[14]=c),t[15]!==o||t[16]!==c?(h=(0,Q.jsx)(xn,{type:`source`,id:ya,"data-testid":`input-two`,position:o,style:c}),t[15]=o,t[16]=c,t[17]=h):h=t[17];let u=r&&`border-primary`;t[18]===u?f=t[19]:(f=N(`flex flex-col bg-card border border-input/50 rounded-md mx-[2px] overflow-hidden`,u),t[18]=u,t[19]=f),d=_a(e),t[0]=a.code,t[1]=s,t[2]=l,t[3]=r,t[4]=d,t[5]=f,t[6]=m,t[7]=h}else d=t[4],f=t[5],m=t[6],h=t[7];let g;t[20]!==n.forceWidth||t[21]!==c?(g=n.forceWidth||xa(c),t[20]=n.forceWidth,t[21]=c,t[22]=g):g=t[22];let _;t[23]!==d||t[24]!==g?(_={height:d,width:g},t[23]=d,t[24]=g,t[25]=_):_=t[25];let v=u(a.name,o),y;t[26]===v?y=t[27]:(y=(0,Q.jsx)(`div`,{className:`text-muted-foreground font-semibold text-xs py-1 px-2 bg-muted border-b`,children:v}),t[26]=v,t[27]=y);let b;t[28]===a.code?b=t[29]:(b=(0,Q.jsx)(Ce,{code:a.code}),t[28]=a.code,t[29]=b);let x;t[30]!==f||t[31]!==_||t[32]!==y||t[33]!==b?(x=(0,Q.jsxs)(`div`,{className:f,style:_,children:[y,b]}),t[30]=f,t[31]=_,t[32]=y,t[33]=b,t[34]=x):x=t[34];let S=l===`LR`?X.Right:X.Bottom,C;t[35]===s?C=t[36]:(C={background:s},t[35]=s,t[36]=C);let w;t[37]!==S||t[38]!==C?(w=(0,Q.jsx)(xn,{type:`source`,id:va,"data-testid":`output-one`,position:S,style:C}),t[37]=S,t[38]=C,t[39]=w):w=t[39];let T=l===`LR`?X.Right:X.Bottom,E;t[40]===s?E=t[41]:(E={background:s},t[40]=s,t[41]=E);let D;t[42]!==T||t[43]!==E?(D=(0,Q.jsx)(xn,{type:`target`,id:va,"data-testid":`output-two`,position:T,style:E}),t[42]=T,t[43]=E,t[44]=D):D=t[44];let O;return t[45]!==x||t[46]!==w||t[47]!==D||t[48]!==m||t[49]!==h?(O=(0,Q.jsxs)(`div`,{children:[m,h,x,w,D]}),t[45]=x,t[46]=w,t[47]=D,t[48]=m,t[49]=h,t[50]=O):O=t[50],O},(e,t)=>[`data`,`selected`,`id`].every(n=>e[n]===t[n]));Ca.displayName=`CustomNode`;var wa={custom:Ca};function Ta(e){let{width:t}=e;return t}var Ea=(0,W.memo)(e=>{let t=(0,ga.c)(48),{onChange:n,view:r,settings:i,onSettingsChange:a}=e,o;t[0]!==a||t[1]!==i?(o=(e,t)=>{a({...i,[e]:t})},t[0]=a,t[1]=i,t[2]=o):o=t[2];let s=o,c=(0,W.useId)(),l=(0,W.useId)(),u;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(v,{asChild:!0,children:(0,Q.jsx)(ne,{variant:`text`,size:`xs`,children:(0,Q.jsx)(ce,{className:`w-4 h-4`})})}),t[3]=u):u=t[3];let d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Q.jsx)(`div`,{className:`font-semibold pb-4`,children:`Settings`}),t[4]=d):d=t[4];let p;t[5]===s?p=t[6]:(p=e=>s(`hidePureMarkdown`,!!e),t[5]=s,t[6]=p);let m;t[7]!==c||t[8]!==i.hidePureMarkdown||t[9]!==p?(m=(0,Q.jsx)(f,{"data-testid":`hide-pure-markdown-checkbox`,id:c,checked:i.hidePureMarkdown,onCheckedChange:p}),t[7]=c,t[8]=i.hidePureMarkdown,t[9]=p,t[10]=m):m=t[10];let h;t[11]===c?h=t[12]:(h=(0,Q.jsx)(R,{htmlFor:c,children:`Hide pure markdown`}),t[11]=c,t[12]=h);let g;t[13]!==m||t[14]!==h?(g=(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[m,h]}),t[13]=m,t[14]=h,t[15]=g):g=t[15];let _;t[16]===s?_=t[17]:(_=e=>s(`hideReusableFunctions`,!!e),t[16]=s,t[17]=_);let y;t[18]!==l||t[19]!==i.hideReusableFunctions||t[20]!==_?(y=(0,Q.jsx)(f,{"data-testid":`hide-reusable-functions-checkbox`,id:l,checked:i.hideReusableFunctions,onCheckedChange:_}),t[18]=l,t[19]=i.hideReusableFunctions,t[20]=_,t[21]=y):y=t[21];let b;t[22]===l?b=t[23]:(b=(0,Q.jsx)(R,{htmlFor:l,children:`Hide reusable functions`}),t[22]=l,t[23]=b);let x;t[24]!==b||t[25]!==y?(x=(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[y,b]}),t[24]=b,t[25]=y,t[26]=x):x=t[26];let C;t[27]!==x||t[28]!==g?(C=(0,Q.jsxs)(E,{children:[u,(0,Q.jsxs)(S,{className:`w-auto p-2 text-muted-foreground`,children:[d,(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[g,x]})]})]}),t[27]=x,t[28]=g,t[29]=C):C=t[29];let w=C,T=r===`TB`,O;t[30]===n?O=t[31]:(O=()=>n(`TB`),t[30]=n,t[31]=O);let k;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Q.jsx)(D,{className:`w-4 h-4 mr-1`}),t[32]=k):k=t[32];let A;t[33]!==T||t[34]!==O?(A=(0,Q.jsxs)(ne,{variant:`outline`,className:`bg-background`,"aria-selected":T,size:`xs`,onClick:O,children:[k,`Vertical Tree`]}),t[33]=T,t[34]=O,t[35]=A):A=t[35];let j=r===`LR`,M;t[36]===n?M=t[37]:(M=()=>n(`LR`),t[36]=n,t[37]=M);let N;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,Q.jsx)(D,{className:`w-4 h-4 mr-1 transform -rotate-90`}),t[38]=N):N=t[38];let P;t[39]!==j||t[40]!==M?(P=(0,Q.jsxs)(ne,{variant:`outline`,className:`bg-background`,"aria-selected":j,size:`xs`,onClick:M,children:[N,` `,`Horizontal Tree`]}),t[39]=j,t[40]=M,t[41]=P):P=t[41];let F;t[42]!==A||t[43]!==P?(F=(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[A,P]}),t[42]=A,t[43]=P,t[44]=F):F=t[44];let I;return t[45]!==w||t[46]!==F?(I=(0,Q.jsxs)(Xe,{position:`top-right`,className:`flex flex-col items-end gap-2`,children:[F,w]}),t[45]=w,t[46]=F,t[47]=I):I=t[47],I});Ea.displayName=`GraphToolbar`;var Da=(0,W.memo)(e=>{let t=(0,ga.c)(11),{selection:n,variables:r,onClearSelection:i}=e;if(!n)return null;let a=Oa,o;t[0]!==i||t[1]!==n.id||t[2]!==n.source||t[3]!==n.target||t[4]!==n.type||t[5]!==r?(o=()=>{if(n.type===`node`){let e=Object.values(r).filter(e=>e.usedBy.includes(n.id)),t=Object.values(r).filter(e=>e.declaredBy.includes(n.id)),o=(e,t)=>(0,Q.jsxs)(Q.Fragment,{children:[e.length===0&&(0,Q.jsx)(`div`,{className:`text-muted-foreground text-sm text-center`,children:`--`}),(0,Q.jsx)(`div`,{className:`grid grid-cols-5 gap-3 items-center text-sm py-1 flex-1 empty:hidden`,children:e.map(e=>(0,Q.jsxs)(W.Fragment,{children:[(0,Q.jsx)(De,{declaredBy:e.declaredBy,name:e.name}),(0,Q.jsxs)(`div`,{className:`truncate col-span-2`,title:e.value??``,children:[e.value,(0,Q.jsxs)(`span`,{className:`ml-1 truncate text-foreground/60 font-mono`,children:[`(`,e.dataType,`)`]})]}),(0,Q.jsx)(`div`,{className:`truncate col-span-2 gap-1 items-center`,children:(0,Q.jsx)(Ee,{skipScroll:!0,onClick:()=>a(t===`in`?e.declaredBy[0]:e.usedBy[0],e.name),maxCount:3,cellIds:e.usedBy})})]},e.name))})]});return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`font-bold py-2 flex items-center gap-2 border-b px-3`,children:[(0,Q.jsx)(V,{className:`w-5 h-5`}),(0,Q.jsx)(H,{cellId:n.id}),(0,Q.jsx)(`div`,{className:`flex-1`}),(0,Q.jsx)(we,{cellId:n.id,children:(0,Q.jsx)(ne,{variant:`ghost`,size:`icon`,children:(0,Q.jsx)(se,{className:`w-4 h-4`})})}),(0,Q.jsx)(ne,{variant:`text`,size:`icon`,onClick:()=>{i()},children:(0,Q.jsx)(oe,{className:`w-4 h-4`})})]}),(0,Q.jsxs)(`div`,{className:`text-sm flex flex-col py-3 pl-2 pr-4 flex-1 justify-center`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Q.jsxs)(`span`,{className:`flex items-center gap-2 font-semibold`,children:[(0,Q.jsx)(ke,{className:`w-4 h-4`}),`Outputs`]}),o(t,`out`)]}),(0,Q.jsx)(`hr`,{className:`border-divider my-3`}),(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Q.jsxs)(`span`,{className:`flex items-center gap-2 font-semibold`,children:[(0,Q.jsx)(Ae,{className:`w-4 h-4`}),`Inputs`]}),o(e,`in`)]})]})]})}if(n.type===`edge`){let e=Object.values(r).filter(e=>e.declaredBy.includes(n.source)&&e.usedBy.includes(n.target));return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`font-bold py-2 flex items-center gap-2 border-b px-3`,children:[(0,Q.jsx)(le,{className:`w-4 h-4`}),(0,Q.jsx)(H,{cellId:n.source}),(0,Q.jsx)(ae,{className:`w-4 h-4`}),(0,Q.jsx)(H,{cellId:n.target})]}),(0,Q.jsx)(`div`,{className:`grid grid-cols-4 gap-3 max-w-[350px] items-center text-sm p-3 flex-1`,children:e.map(e=>(0,Q.jsxs)(W.Fragment,{children:[(0,Q.jsx)(De,{declaredBy:e.declaredBy,name:e.name,onClick:()=>{a(e.declaredBy[0],e.name)}}),(0,Q.jsx)(`div`,{className:`truncate text-foreground/60 font-mono`,children:e.dataType}),(0,Q.jsx)(`div`,{className:`truncate col-span-2`,title:e.value??``,children:e.value})]},e.name))})]})}},t[0]=i,t[1]=n.id,t[2]=n.source,t[3]=n.target,t[4]=n.type,t[5]=r,t[6]=o):o=t[6];let s=o,c;t[7]===s?c=t[8]:(c=s(),t[7]=s,t[8]=c);let l;return t[9]===c?l=t[10]:(l=(0,Q.jsx)(Xe,{position:`bottom-left`,className:`max-h-[90%] flex flex-col w-[calc(100%-5rem)]`,children:(0,Q.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:c})}),t[9]=c,t[10]=l),l});Da.displayName=`GraphSelectionPanel`;function Oa(e,t){let n=x(e);n&&h(n,t)}var ka=t(((e,t)=>{var n=class{_isDirected=!0;_isMultigraph=!1;_isCompound=!1;_label;_defaultNodeLabelFn=()=>void 0;_defaultEdgeLabelFn=()=>void 0;_nodes={};_in={};_preds={};_out={};_sucs={};_edgeObjs={};_edgeLabels={};_nodeCount=0;_edgeCount=0;_parent;_children;constructor(e){e&&(this._isDirected=!Object.hasOwn(e,`directed`)||e.directed,this._isMultigraph=Object.hasOwn(e,`multigraph`)?e.multigraph:!1,this._isCompound=Object.hasOwn(e,`compound`)?e.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[`\0`]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return this._defaultNodeLabelFn=e,typeof e!=`function`&&(this._defaultNodeLabelFn=()=>e),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var e=this;return this.nodes().filter(t=>Object.keys(e._in[t]).length===0)}sinks(){var e=this;return this.nodes().filter(t=>Object.keys(e._out[t]).length===0)}setNodes(e,t){var n=arguments,r=this;return e.forEach(function(e){n.length>1?r.setNode(e,t):r.setNode(e)}),this}setNode(e,t){return Object.hasOwn(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=`\0`,this._children[e]={},this._children[`\0`][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.hasOwn(this._nodes,e)}removeNode(e){var t=this;if(Object.hasOwn(this._nodes,e)){var n=e=>t.removeEdge(t._edgeObjs[e]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],this.children(e).forEach(function(e){t.setParent(e)}),delete this._children[e]),Object.keys(this._in[e]).forEach(n),delete this._in[e],delete this._preds[e],Object.keys(this._out[e]).forEach(n),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw Error(`Cannot set parent in a non-compound graph`);if(t===void 0)t=`\0`;else{t+=``;for(var n=t;n!==void 0;n=this.parent(n))if(n===e)throw Error(`Setting `+t+` as parent of `+e+` would create a cycle`);this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var t=this._parent[e];if(t!==`\0`)return t}}children(e=`\0`){if(this._isCompound){var t=this._children[e];if(t)return Object.keys(t)}else if(e===`\0`)return this.nodes();else if(this.hasNode(e))return[]}predecessors(e){var t=this._preds[e];if(t)return Object.keys(t)}successors(e){var t=this._sucs[e];if(t)return Object.keys(t)}neighbors(e){var t=this.predecessors(e);if(t){let r=new Set(t);for(var n of this.successors(e))r.add(n);return Array.from(r.values())}}isLeaf(e){return(this.isDirected()?this.successors(e):this.neighbors(e)).length===0}filterNodes(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var n=this;Object.entries(this._nodes).forEach(function([n,r]){e(n)&&t.setNode(n,r)}),Object.values(this._edgeObjs).forEach(function(e){t.hasNode(e.v)&&t.hasNode(e.w)&&t.setEdge(e,n.edge(e))});var r={};function i(e){var a=n.parent(e);return a===void 0||t.hasNode(a)?(r[e]=a,a):a in r?r[a]:i(a)}return this._isCompound&&t.nodes().forEach(e=>t.setParent(e,i(e))),t}setDefaultEdgeLabel(e){return this._defaultEdgeLabelFn=e,typeof e!=`function`&&(this._defaultEdgeLabelFn=()=>e),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(e,t){var n=this,r=arguments;return e.reduce(function(e,i){return r.length>1?n.setEdge(e,i,t):n.setEdge(e,i),i}),this}setEdge(){var e,t,n,i,s=!1,c=arguments[0];typeof c==`object`&&c&&`v`in c?(e=c.v,t=c.w,n=c.name,arguments.length===2&&(i=arguments[1],s=!0)):(e=c,t=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],s=!0)),e=``+e,t=``+t,n!==void 0&&(n=``+n);var l=a(this._isDirected,e,t,n);if(Object.hasOwn(this._edgeLabels,l))return s&&(this._edgeLabels[l]=i),this;if(n!==void 0&&!this._isMultigraph)throw Error(`Cannot set a named edge when isMultigraph = false`);this.setNode(e),this.setNode(t),this._edgeLabels[l]=s?i:this._defaultEdgeLabelFn(e,t,n);var u=o(this._isDirected,e,t,n);return e=u.v,t=u.w,Object.freeze(u),this._edgeObjs[l]=u,r(this._preds[t],e),r(this._sucs[e],t),this._in[t][l]=u,this._out[e][l]=u,this._edgeCount++,this}edge(e,t,n){var r=arguments.length===1?s(this._isDirected,arguments[0]):a(this._isDirected,e,t,n);return this._edgeLabels[r]}edgeAsObj(){let e=this.edge(...arguments);return typeof e==`object`?e:{label:e}}hasEdge(e,t,n){var r=arguments.length===1?s(this._isDirected,arguments[0]):a(this._isDirected,e,t,n);return Object.hasOwn(this._edgeLabels,r)}removeEdge(e,t,n){var r=arguments.length===1?s(this._isDirected,arguments[0]):a(this._isDirected,e,t,n),o=this._edgeObjs[r];return o&&(e=o.v,t=o.w,delete this._edgeLabels[r],delete this._edgeObjs[r],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][r],delete this._out[e][r],this._edgeCount--),this}inEdges(e,t){var n=this._in[e];if(n){var r=Object.values(n);return t?r.filter(e=>e.v===t):r}}outEdges(e,t){var n=this._out[e];if(n){var r=Object.values(n);return t?r.filter(e=>e.w===t):r}}nodeEdges(e,t){var n=this.inEdges(e,t);if(n)return n.concat(this.outEdges(e,t))}};function r(e,t){e[t]?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function a(e,t,n,r){var i=``+t,a=``+n;if(!e&&i>a){var o=i;i=a,a=o}return i+``+a+``+(r===void 0?`\0`:r)}function o(e,t,n,r){var i=``+t,a=``+n;if(!e&&i>a){var o=i;i=a,a=o}var s={v:i,w:a};return r&&(s.name=r),s}function s(e,t){return a(e,t.v,t.w,t.name)}t.exports=n})),Aa=t(((e,t)=>{t.exports=`2.2.4`})),ja=t(((e,t)=>{t.exports={Graph:ka(),version:Aa()}})),Ma=t(((e,t)=>{var n=ka();t.exports={write:r,read:o};function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:i(e),edges:a(e)};return e.graph()!==void 0&&(t.value=structuredClone(e.graph())),t}function i(e){return e.nodes().map(function(t){var n=e.node(t),r=e.parent(t),i={v:t};return n!==void 0&&(i.value=n),r!==void 0&&(i.parent=r),i})}function a(e){return e.edges().map(function(t){var n=e.edge(t),r={v:t.v,w:t.w};return t.name!==void 0&&(r.name=t.name),n!==void 0&&(r.value=n),r})}function o(e){var t=new n(e.options).setGraph(e.value);return e.nodes.forEach(function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),e.edges.forEach(function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}})),Na=t(((e,t)=>{t.exports=n;function n(e){var t={},n=[],r;function i(n){Object.hasOwn(t,n)||(t[n]=!0,r.push(n),e.successors(n).forEach(i),e.predecessors(n).forEach(i))}return e.nodes().forEach(function(e){r=[],i(e),r.length&&n.push(r)}),n}})),Pa=t(((e,t)=>{t.exports=class{_arr=[];_keyIndices={};size(){return this._arr.length}keys(){return this._arr.map(function(e){return e.key})}has(e){return Object.hasOwn(this._keyIndices,e)}priority(e){var t=this._keyIndices[e];if(t!==void 0)return this._arr[t].priority}min(){if(this.size()===0)throw Error(`Queue underflow`);return this._arr[0].key}add(e,t){var n=this._keyIndices;if(e=String(e),!Object.hasOwn(n,e)){var r=this._arr,i=r.length;return n[e]=i,r.push({key:e,priority:t}),this._decrease(i),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key}decrease(e,t){var n=this._keyIndices[e];if(t>this._arr[n].priority)throw Error(`New priority is greater than current priority. Key: `+e+` Old: `+this._arr[n].priority+` New: `+t);this._arr[n].priority=t,this._decrease(n)}_heapify(e){var t=this._arr,n=2*e,r=n+1,i=e;n<t.length&&(i=t[n].priority<t[i].priority?n:i,r<t.length&&(i=t[r].priority<t[i].priority?r:i),i!==e&&(this._swap(e,i),this._heapify(i)))}_decrease(e){for(var t=this._arr,n=t[e].priority,r;e!==0&&(r=e>>1,!(t[r].priority<n));)this._swap(e,r),e=r}_swap(e,t){var n=this._arr,r=this._keyIndices,i=n[e],a=n[t];n[e]=a,n[t]=i,r[a.key]=e,r[i.key]=t}}})),Fa=t(((e,t)=>{var n=Pa();t.exports=i;var r=()=>1;function i(e,t,n,i){return a(e,String(t),n||r,i||function(t){return e.outEdges(t)})}function a(e,t,r,i){var a={},o=new n,s,c,l=function(e){var t=e.v===s?e.w:e.v,n=a[t],i=r(e),l=c.distance+i;if(i<0)throw Error(`dijkstra does not allow negative edge weights. Bad edge: `+e+` Weight: `+i);l<n.distance&&(n.distance=l,n.predecessor=s,o.decrease(t,l))};for(e.nodes().forEach(function(e){var n=e===t?0:1/0;a[e]={distance:n},o.add(e,n)});o.size()>0&&(s=o.removeMin(),c=a[s],c.distance!==1/0);)i(s).forEach(l);return a}})),Ia=t(((e,t)=>{var n=Fa();t.exports=r;function r(e,t,r){return e.nodes().reduce(function(i,a){return i[a]=n(e,a,t,r),i},{})}})),La=t(((e,t)=>{t.exports=n;function n(e){var t=0,n=[],r={},i=[];function a(o){var s=r[o]={onStack:!0,lowlink:t,index:t++};if(n.push(o),e.successors(o).forEach(function(e){Object.hasOwn(r,e)?r[e].onStack&&(s.lowlink=Math.min(s.lowlink,r[e].index)):(a(e),s.lowlink=Math.min(s.lowlink,r[e].lowlink))}),s.lowlink===s.index){var c=[],l;do l=n.pop(),r[l].onStack=!1,c.push(l);while(o!==l);i.push(c)}}return e.nodes().forEach(function(e){Object.hasOwn(r,e)||a(e)}),i}})),Ra=t(((e,t)=>{var n=La();t.exports=r;function r(e){return n(e).filter(function(t){return t.length>1||t.length===1&&e.hasEdge(t[0],t[0])})}})),za=t(((e,t)=>{t.exports=r;var n=()=>1;function r(e,t,r){return i(e,t||n,r||function(t){return e.outEdges(t)})}function i(e,t,n){var r={},i=e.nodes();return i.forEach(function(e){r[e]={},r[e][e]={distance:0},i.forEach(function(t){e!==t&&(r[e][t]={distance:1/0})}),n(e).forEach(function(n){var i=n.v===e?n.w:n.v,a=t(n);r[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=r[e];i.forEach(function(n){var a=r[n];i.forEach(function(n){var r=a[e],i=t[n],o=a[n],s=r.distance+i.distance;s<o.distance&&(o.distance=s,o.predecessor=i.predecessor)})})}),r}})),Ba=t(((e,t)=>{function n(e){var t={},n={},i=[];function a(o){if(Object.hasOwn(n,o))throw new r;Object.hasOwn(t,o)||(n[o]=!0,t[o]=!0,e.predecessors(o).forEach(a),delete n[o],i.push(o))}if(e.sinks().forEach(a),Object.keys(t).length!==e.nodeCount())throw new r;return i}var r=class extends Error{constructor(){super(...arguments)}};t.exports=n,n.CycleException=r})),Va=t(((e,t)=>{var n=Ba();t.exports=r;function r(e){try{n(e)}catch(e){if(e instanceof n.CycleException)return!1;throw e}return!0}})),Ha=t(((e,t)=>{t.exports=n;function n(e,t,n){Array.isArray(t)||(t=[t]);var a=e.isDirected()?t=>e.successors(t):t=>e.neighbors(t),o=n===`post`?r:i,s=[],c={};return t.forEach(t=>{if(!e.hasNode(t))throw Error(`Graph does not have node: `+t);o(t,a,c,s)}),s}function r(e,t,n,r){for(var i=[[e,!1]];i.length>0;){var o=i.pop();o[1]?r.push(o[0]):Object.hasOwn(n,o[0])||(n[o[0]]=!0,i.push([o[0],!0]),a(t(o[0]),e=>i.push([e,!1])))}}function i(e,t,n,r){for(var i=[e];i.length>0;){var o=i.pop();Object.hasOwn(n,o)||(n[o]=!0,r.push(o),a(t(o),e=>i.push(e)))}}function a(e,t){for(var n=e.length;n--;)t(e[n],n,e);return e}})),Ua=t(((e,t)=>{var n=Ha();t.exports=r;function r(e,t){return n(e,t,`post`)}})),Wa=t(((e,t)=>{var n=Ha();t.exports=r;function r(e,t){return n(e,t,`pre`)}})),Ga=t(((e,t)=>{var n=ka(),r=Pa();t.exports=i;function i(e,t){var i=new n,a={},o=new r,s;function c(e){var n=e.v===s?e.w:e.v,r=o.priority(n);if(r!==void 0){var i=t(e);i<r&&(a[n]=s,o.decrease(n,i))}}if(e.nodeCount()===0)return i;e.nodes().forEach(function(e){o.add(e,1/0),i.setNode(e)}),o.decrease(e.nodes()[0],0);for(var l=!1;o.size()>0;){if(s=o.removeMin(),Object.hasOwn(a,s))i.setEdge(s,a[s]);else if(l)throw Error(`Input graph is not connected: `+e);else l=!0;e.nodeEdges(s).forEach(c)}return i}})),Ka=t(((e,t)=>{t.exports={components:Na(),dijkstra:Fa(),dijkstraAll:Ia(),findCycles:Ra(),floydWarshall:za(),isAcyclic:Va(),postorder:Ua(),preorder:Wa(),prim:Ga(),tarjan:La(),topsort:Ba()}})),qa=t(((e,t)=>{var n=ja();t.exports={Graph:n.Graph,json:Ma(),alg:Ka(),version:n.version}})),Ja=t(((e,t)=>{var n=class{constructor(){let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return r(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&r(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){let e=[],t=this._sentinel,n=t._prev;for(;n!==t;)e.push(JSON.stringify(n,i)),n=n._prev;return`[`+e.join(`, `)+`]`}};function r(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){if(e!==`_next`&&e!==`_prev`)return t}t.exports=n})),Ya=t(((e,t)=>{var n=qa().Graph,r=Ja();t.exports=a;var i=()=>1;function a(e,t){if(e.nodeCount()<=1)return[];let n=c(e,t||i);return o(n.graph,n.buckets,n.zeroIdx).flatMap(t=>e.outEdges(t.v,t.w))}function o(e,t,n){let r=[],i=t[t.length-1],a=t[0],o;for(;e.nodeCount();){for(;o=a.dequeue();)s(e,t,n,o);for(;o=i.dequeue();)s(e,t,n,o);if(e.nodeCount()){for(let i=t.length-2;i>0;--i)if(o=t[i].dequeue(),o){r=r.concat(s(e,t,n,o,!0));break}}}return r}function s(e,t,n,r,i){let a=i?[]:void 0;return e.inEdges(r.v).forEach(r=>{let o=e.edge(r),s=e.node(r.v);i&&a.push({v:r.v,w:r.w}),s.out-=o,l(t,n,s)}),e.outEdges(r.v).forEach(r=>{let i=e.edge(r),a=r.w,o=e.node(a);o.in-=i,l(t,n,o)}),e.removeNode(r.v),a}function c(e,t){let i=new n,a=0,o=0;e.nodes().forEach(e=>{i.setNode(e,{v:e,in:0,out:0})}),e.edges().forEach(e=>{let n=i.edge(e.v,e.w)||0,r=t(e),s=n+r;i.setEdge(e.v,e.w,s),o=Math.max(o,i.node(e.v).out+=r),a=Math.max(a,i.node(e.w).in+=r)});let s=u(o+a+3).map(()=>new r),c=a+1;return i.nodes().forEach(e=>{l(s,c,i.node(e))}),{graph:i,buckets:s,zeroIdx:c}}function l(e,t,n){n.out?n.in?e[n.out-n.in+t].enqueue(n):e[e.length-1].enqueue(n):e[0].enqueue(n)}function u(e){let t=[];for(let n=0;n<e;n++)t.push(n);return t}})),$=t(((e,t)=>{var n=qa().Graph;t.exports={addBorderNode:f,addDummyNode:r,applyWithChunking:h,asNonCompoundGraph:a,buildLayerMatrix:l,intersectRect:c,mapValues:w,maxRank:g,normalizeRanks:u,notime:y,partition:_,pick:C,predecessorWeights:s,range:S,removeEmptyRanks:d,simplify:i,successorWeights:o,time:v,uniqueId:x,zipObject:T};function r(e,t,n,r){for(var i=r;e.hasNode(i);)i=x(r);return n.dummy=t,e.setNode(i,n),i}function i(e){let t=new n().setGraph(e.graph());return e.nodes().forEach(n=>t.setNode(n,e.node(n))),e.edges().forEach(n=>{let r=t.edge(n.v,n.w)||{weight:0,minlen:1},i=e.edge(n);t.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),t}function a(e){let t=new n({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(n=>{e.children(n).length||t.setNode(n,e.node(n))}),e.edges().forEach(n=>{t.setEdge(n,e.edge(n))}),t}function o(e){let t=e.nodes().map(t=>{let n={};return e.outEdges(t).forEach(t=>{n[t.w]=(n[t.w]||0)+e.edge(t).weight}),n});return T(e.nodes(),t)}function s(e){let t=e.nodes().map(t=>{let n={};return e.inEdges(t).forEach(t=>{n[t.v]=(n[t.v]||0)+e.edge(t).weight}),n});return T(e.nodes(),t)}function c(e,t){let n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2;if(!i&&!a)throw Error(`Not possible to find intersection inside of the rectangle`);let c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,l=s):(i<0&&(o=-o),c=o,l=o*a/i),{x:n+c,y:r+l}}function l(e){let t=S(g(e)+1).map(()=>[]);return e.nodes().forEach(n=>{let r=e.node(n),i=r.rank;i!==void 0&&(t[i][r.order]=n)}),t}function u(e){let t=e.nodes().map(t=>{let n=e.node(t).rank;return n===void 0?Number.MAX_VALUE:n}),n=h(Math.min,t);e.nodes().forEach(t=>{let r=e.node(t);Object.hasOwn(r,`rank`)&&(r.rank-=n)})}function d(e){let t=e.nodes().map(t=>e.node(t).rank),n=h(Math.min,t),r=[];e.nodes().forEach(t=>{let i=e.node(t).rank-n;r[i]||(r[i]=[]),r[i].push(t)});let i=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((t,n)=>{t===void 0&&n%a!==0?--i:t!==void 0&&i&&t.forEach(t=>e.node(t).rank+=i)})}function f(e,t,n,i){let a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,`border`,a,t)}function p(e,t=m){let n=[];for(let r=0;r<e.length;r+=t){let i=e.slice(r,r+t);n.push(i)}return n}var m=65535;function h(e,t){if(t.length>m){let n=p(t);return e.apply(null,n.map(t=>e.apply(null,t)))}return e.apply(null,t)}function g(e){let t=e.nodes().map(t=>{let n=e.node(t).rank;return n===void 0?Number.MIN_VALUE:n});return h(Math.max,t)}function _(e,t){let n={lhs:[],rhs:[]};return e.forEach(e=>{t(e)?n.lhs.push(e):n.rhs.push(e)}),n}function v(e,t){let n=Date.now();try{return t()}finally{console.log(e+` time: `+(Date.now()-n)+`ms`)}}function y(e,t){return t()}var b=0;function x(e){return e+(``+ ++b)}function S(e,t,n=1){t??(t=e,e=0);let r=e=>e<t;n<0&&(r=e=>t<e);let i=[];for(let t=e;r(t);t+=n)i.push(t);return i}function C(e,t){let n={};for(let r of t)e[r]!==void 0&&(n[r]=e[r]);return n}function w(e,t){let n=t;return typeof t==`string`&&(n=e=>e[t]),Object.entries(e).reduce((e,[t,r])=>(e[t]=n(r,t),e),{})}function T(e,t){return e.reduce((e,n,r)=>(e[n]=t[r],e),{})}})),Xa=t(((e,t)=>{var n=Ya(),r=$().uniqueId;t.exports={run:i,undo:o};function i(e){(e.graph().acyclicer===`greedy`?n(e,t(e)):a(e)).forEach(t=>{let n=e.edge(t);e.removeEdge(t),n.forwardName=t.name,n.reversed=!0,e.setEdge(t.w,t.v,n,r(`rev`))});function t(e){return t=>e.edge(t).weight}}function a(e){let t=[],n={},r={};function i(a){Object.hasOwn(r,a)||(r[a]=!0,n[a]=!0,e.outEdges(a).forEach(e=>{Object.hasOwn(n,e.w)?t.push(e):i(e.w)}),delete n[a])}return e.nodes().forEach(i),t}function o(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.reversed){e.removeEdge(t);let r=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,r)}})}})),Za=t(((e,t)=>{var n=$();t.exports={run:r,undo:a};function r(e){e.graph().dummyChains=[],e.edges().forEach(t=>i(e,t))}function i(e,t){let r=t.v,i=e.node(r).rank,a=t.w,o=e.node(a).rank,s=t.name,c=e.edge(t),l=c.labelRank;if(o===i+1)return;e.removeEdge(t);let u,d,f;for(f=0,++i;i<o;++f,++i)c.points=[],d={width:0,height:0,edgeLabel:c,edgeObj:t,rank:i},u=n.addDummyNode(e,`edge`,d,`_d`),i===l&&(d.width=c.width,d.height=c.height,d.dummy=`edge-label`,d.labelpos=c.labelpos),e.setEdge(r,u,{weight:c.weight},s),f===0&&e.graph().dummyChains.push(u),r=u;e.setEdge(r,a,{weight:c.weight},s)}function a(e){e.graph().dummyChains.forEach(t=>{let n=e.node(t),r=n.edgeLabel,i;for(e.setEdge(n.edgeObj,r);n.dummy;)i=e.successors(t)[0],e.removeNode(t),r.points.push({x:n.x,y:n.y}),n.dummy===`edge-label`&&(r.x=n.x,r.y=n.y,r.width=n.width,r.height=n.height),t=i,n=e.node(t)})}})),Qa=t(((e,t)=>{var{applyWithChunking:n}=$();t.exports={longestPath:r,slack:i};function r(e){var t={};function r(i){var a=e.node(i);if(Object.hasOwn(t,i))return a.rank;t[i]=!0;let o=e.outEdges(i).map(t=>t==null?1/0:r(t.w)-e.edge(t).minlen);var s=n(Math.min,o);return s===1/0&&(s=0),a.rank=s}e.sources().forEach(r)}function i(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}})),$a=t(((e,t)=>{var n=qa().Graph,r=Qa().slack;t.exports=i;function i(e){var t=new n({directed:!1}),i=e.nodes()[0],c=e.nodeCount();t.setNode(i,{});for(var l,u;a(t,e)<c;)l=o(t,e),u=t.hasNode(l.v)?r(e,l):-r(e,l),s(t,e,u);return t}function a(e,t){function n(i){t.nodeEdges(i).forEach(a=>{var o=a.v,s=i===o?a.w:o;!e.hasNode(s)&&!r(t,a)&&(e.setNode(s,{}),e.setEdge(i,s,{}),n(s))})}return e.nodes().forEach(n),e.nodeCount()}function o(e,t){return t.edges().reduce((n,i)=>{let a=1/0;return e.hasNode(i.v)!==e.hasNode(i.w)&&(a=r(t,i)),a<n[0]?[a,i]:n},[1/0,null])[1]}function s(e,t,n){e.nodes().forEach(e=>t.node(e).rank+=n)}})),eo=t(((e,t)=>{var n=$a(),r=Qa().slack,i=Qa().longestPath,a=qa().alg.preorder,o=qa().alg.postorder,s=$().simplify;t.exports=c,c.initLowLimValues=f,c.initCutValues=l,c.calcCutValue=d,c.leaveEdge=m,c.enterEdge=h,c.exchangeEdges=g;function c(e){e=s(e),i(e);var t=n(e);f(t),l(t,e);for(var r,a;r=m(t);)a=h(t,e,r),g(t,e,r,a)}function l(e,t){var n=o(e,e.nodes());n=n.slice(0,n.length-1),n.forEach(n=>u(e,t,n))}function u(e,t,n){var r=e.node(n).parent;e.edge(n,r).cutvalue=d(e,t,n)}function d(e,t,n){var r=e.node(n).parent,i=!0,a=t.edge(n,r),o=0;return a||=(i=!1,t.edge(r,n)),o=a.weight,t.nodeEdges(n).forEach(a=>{var s=a.v===n,c=s?a.w:a.v;if(c!==r){var l=s===i,u=t.edge(a).weight;if(o+=l?u:-u,v(e,n,c)){var d=e.edge(n,c).cutvalue;o+=l?-d:d}}}),o}function f(e,t){arguments.length<2&&(t=e.nodes()[0]),p(e,{},1,t)}function p(e,t,n,r,i){var a=n,o=e.node(r);return t[r]=!0,e.neighbors(r).forEach(i=>{Object.hasOwn(t,i)||(n=p(e,t,n,i,r))}),o.low=a,o.lim=n++,i?o.parent=i:delete o.parent,n}function m(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function h(e,t,n){var i=n.v,a=n.w;t.hasEdge(i,a)||(i=n.w,a=n.v);var o=e.node(i),s=e.node(a),c=o,l=!1;return o.lim>s.lim&&(c=s,l=!0),t.edges().filter(t=>l===y(e,e.node(t.v),c)&&l!==y(e,e.node(t.w),c)).reduce((e,n)=>r(t,n)<r(t,e)?n:e)}function g(e,t,n,r){var i=n.v,a=n.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),f(e),l(e,t),_(e,t)}function _(e,t){var n=a(e,e.nodes().find(e=>!t.node(e).parent));n=n.slice(1),n.forEach(n=>{var r=e.node(n).parent,i=t.edge(n,r),a=!1;i||(i=t.edge(r,n),a=!0),t.node(n).rank=t.node(r).rank+(a?i.minlen:-i.minlen)})}function v(e,t,n){return e.hasEdge(t,n)}function y(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}})),to=t(((e,t)=>{var n=Qa().longestPath,r=$a(),i=eo();t.exports=a;function a(e){var t=e.graph().ranker;if(t instanceof Function)return t(e);switch(e.graph().ranker){case`network-simplex`:c(e);break;case`tight-tree`:s(e);break;case`longest-path`:o(e);break;case`none`:break;default:c(e)}}var o=n;function s(e){n(e),r(e)}function c(e){i(e)}})),no=t(((e,t)=>{t.exports=n;function n(e){let t=i(e);e.graph().dummyChains.forEach(n=>{let i=e.node(n),a=i.edgeObj,o=r(e,t,a.v,a.w),s=o.path,c=o.lca,l=0,u=s[l],d=!0;for(;n!==a.w;){if(i=e.node(n),d){for(;(u=s[l])!==c&&e.node(u).maxRank<i.rank;)l++;u===c&&(d=!1)}if(!d){for(;l<s.length-1&&e.node(u=s[l+1]).minRank<=i.rank;)l++;u=s[l]}e.setParent(n,u),n=e.successors(n)[0]}})}function r(e,t,n,r){let i=[],a=[],o=Math.min(t[n].low,t[r].low),s=Math.max(t[n].lim,t[r].lim),c,l;c=n;do c=e.parent(c),i.push(c);while(c&&(t[c].low>o||s>t[c].lim));for(l=c,c=r;(c=e.parent(c))!==l;)a.push(c);return{path:i.concat(a.reverse()),lca:l}}function i(e){let t={},n=0;function r(i){let a=n;e.children(i).forEach(r),t[i]={low:a,lim:n++}}return e.children().forEach(r),t}})),ro=t(((e,t)=>{var n=$();t.exports={run:r,cleanup:s};function r(e){let t=n.addDummyNode(e,`root`,{},`_root`),r=a(e),s=Object.values(r),c=n.applyWithChunking(Math.max,s)-1,l=2*c+1;e.graph().nestingRoot=t,e.edges().forEach(t=>e.edge(t).minlen*=l);let u=o(e)+1;e.children().forEach(n=>i(e,t,l,u,c,r,n)),e.graph().nodeRankFactor=l}function i(e,t,r,a,o,s,c){let l=e.children(c);if(!l.length){c!==t&&e.setEdge(t,c,{weight:0,minlen:r});return}let u=n.addBorderNode(e,`_bt`),d=n.addBorderNode(e,`_bb`),f=e.node(c);e.setParent(u,c),f.borderTop=u,e.setParent(d,c),f.borderBottom=d,l.forEach(n=>{i(e,t,r,a,o,s,n);let l=e.node(n),f=l.borderTop?l.borderTop:n,p=l.borderBottom?l.borderBottom:n,m=l.borderTop?a:2*a,h=f===p?o-s[c]+1:1;e.setEdge(u,f,{weight:m,minlen:h,nestingEdge:!0}),e.setEdge(p,d,{weight:m,minlen:h,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,u,{weight:0,minlen:o+s[c]})}function a(e){var t={};function n(r,i){var a=e.children(r);a&&a.length&&a.forEach(e=>n(e,i+1)),t[r]=i}return e.children().forEach(e=>n(e,1)),t}function o(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}function s(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(t=>{e.edge(t).nestingEdge&&e.removeEdge(t)})}})),io=t(((e,t)=>{var n=$();t.exports=r;function r(e){function t(n){let r=e.children(n),a=e.node(n);if(r.length&&r.forEach(t),Object.hasOwn(a,`minRank`)){a.borderLeft=[],a.borderRight=[];for(let t=a.minRank,r=a.maxRank+1;t<r;++t)i(e,`borderLeft`,`_bl`,n,a,t),i(e,`borderRight`,`_br`,n,a,t)}}e.children().forEach(t)}function i(e,t,r,i,a,o){let s={width:0,height:0,rank:o,borderType:t},c=a[t][o-1],l=n.addDummyNode(e,`border`,s,r);a[t][o]=l,e.setParent(l,i),c&&e.setEdge(c,l,{weight:1})}})),ao=t(((e,t)=>{t.exports={adjust:n,undo:r};function n(e){let t=e.graph().rankdir.toLowerCase();(t===`lr`||t===`rl`)&&i(e)}function r(e){let t=e.graph().rankdir.toLowerCase();(t===`bt`||t===`rl`)&&o(e),(t===`lr`||t===`rl`)&&(c(e),i(e))}function i(e){e.nodes().forEach(t=>a(e.node(t))),e.edges().forEach(t=>a(e.edge(t)))}function a(e){let t=e.width;e.width=e.height,e.height=t}function o(e){e.nodes().forEach(t=>s(e.node(t))),e.edges().forEach(t=>{let n=e.edge(t);n.points.forEach(s),Object.hasOwn(n,`y`)&&s(n)})}function s(e){e.y=-e.y}function c(e){e.nodes().forEach(t=>l(e.node(t))),e.edges().forEach(t=>{let n=e.edge(t);n.points.forEach(l),Object.hasOwn(n,`x`)&&l(n)})}function l(e){let t=e.x;e.x=e.y,e.y=t}})),oo=t(((e,t)=>{var n=$();t.exports=r;function r(e){let t={},r=e.nodes().filter(t=>!e.children(t).length),i=r.map(t=>e.node(t).rank),a=n.applyWithChunking(Math.max,i),o=n.range(a+1).map(()=>[]);function s(n){if(t[n])return;t[n]=!0;let r=e.node(n);o[r.rank].push(n),e.successors(n).forEach(s)}return r.sort((t,n)=>e.node(t).rank-e.node(n).rank).forEach(s),o}})),so=t(((e,t)=>{var n=$().zipObject;t.exports=r;function r(e,t){let n=0;for(let r=1;r<t.length;++r)n+=i(e,t[r-1],t[r]);return n}function i(e,t,r){let i=n(r,r.map((e,t)=>t)),a=t.flatMap(t=>e.outEdges(t).map(t=>({pos:i[t.w],weight:e.edge(t).weight})).sort((e,t)=>e.pos-t.pos)),o=1;for(;o<r.length;)o<<=1;let s=2*o-1;--o;let c=Array(s).fill(0),l=0;return a.forEach(e=>{let t=e.pos+o;c[t]+=e.weight;let n=0;for(;t>0;)t%2&&(n+=c[t+1]),t=t-1>>1,c[t]+=e.weight;l+=e.weight*n}),l}})),co=t(((e,t)=>{t.exports=n;function n(e,t=[]){return t.map(t=>{let n=e.inEdges(t);if(n.length){let r=n.reduce((t,n)=>{let r=e.edge(n),i=e.node(n.v);return{sum:t.sum+r.weight*i.order,weight:t.weight+r.weight}},{sum:0,weight:0});return{v:t,barycenter:r.sum/r.weight,weight:r.weight}}return{v:t}})}})),lo=t(((e,t)=>{var n=$();t.exports=r;function r(e,t){let n={};return e.forEach((e,t)=>{let r=n[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};e.barycenter!==void 0&&(r.barycenter=e.barycenter,r.weight=e.weight)}),t.edges().forEach(e=>{let t=n[e.v],r=n[e.w];t!==void 0&&r!==void 0&&(r.indegree++,t.out.push(n[e.w]))}),i(Object.values(n).filter(e=>!e.indegree))}function i(e){let t=[];function r(e){return t=>{t.merged||(t.barycenter===void 0||e.barycenter===void 0||t.barycenter>=e.barycenter)&&a(e,t)}}function i(t){return n=>{n.in.push(t),--n.indegree===0&&e.push(n)}}for(;e.length;){let n=e.pop();t.push(n),n.in.reverse().forEach(r(n)),n.out.forEach(i(n))}return t.filter(e=>!e.merged).map(e=>n.pick(e,[`vs`,`i`,`barycenter`,`weight`]))}function a(e,t){let n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight),t.weight&&(n+=t.barycenter*t.weight,r+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}})),uo=t(((e,t)=>{var n=$();t.exports=r;function r(e,t){let r=n.partition(e,e=>Object.hasOwn(e,`barycenter`)),o=r.lhs,s=r.rhs.sort((e,t)=>t.i-e.i),c=[],l=0,u=0,d=0;o.sort(a(!!t)),d=i(c,s,d),o.forEach(e=>{d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,u+=e.weight,d=i(c,s,d)});let f={vs:c.flat(!0)};return u&&(f.barycenter=l/u,f.weight=u),f}function i(e,t,n){let r;for(;t.length&&(r=t[t.length-1]).i<=n;)t.pop(),e.push(r.vs),n++;return n}function a(e){return(t,n)=>t.barycenter<n.barycenter?-1:t.barycenter>n.barycenter?1:e?n.i-t.i:t.i-n.i}})),fo=t(((e,t)=>{var n=co(),r=lo(),i=uo();t.exports=a;function a(e,t,c,l){let u=e.children(t),d=e.node(t),f=d?d.borderLeft:void 0,p=d?d.borderRight:void 0,m={};f&&(u=u.filter(e=>e!==f&&e!==p));let h=n(e,u);h.forEach(t=>{if(e.children(t.v).length){let n=a(e,t.v,c,l);m[t.v]=n,Object.hasOwn(n,`barycenter`)&&s(t,n)}});let g=r(h,c);o(g,m);let _=i(g,l);if(f&&(_.vs=[f,_.vs,p].flat(!0),e.predecessors(f).length)){let t=e.node(e.predecessors(f)[0]),n=e.node(e.predecessors(p)[0]);Object.hasOwn(_,`barycenter`)||(_.barycenter=0,_.weight=0),_.barycenter=(_.barycenter*_.weight+t.order+n.order)/(_.weight+2),_.weight+=2}return _}function o(e,t){e.forEach(e=>{e.vs=e.vs.flatMap(e=>t[e]?t[e].vs:e)})}function s(e,t){e.barycenter===void 0?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}})),po=t(((e,t)=>{var n=qa().Graph,r=$();t.exports=i;function i(e,t,r,i){i||=e.nodes();let o=a(e),s=new n({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(t=>e.node(t));return i.forEach(n=>{let i=e.node(n),a=e.parent(n);(i.rank===t||i.minRank<=t&&t<=i.maxRank)&&(s.setNode(n),s.setParent(n,a||o),e[r](n).forEach(t=>{let r=t.v===n?t.w:t.v,i=s.edge(r,n),a=i===void 0?0:i.weight;s.setEdge(r,n,{weight:e.edge(t).weight+a})}),Object.hasOwn(i,`minRank`)&&s.setNode(n,{borderLeft:i.borderLeft[t],borderRight:i.borderRight[t]}))}),s}function a(e){for(var t;e.hasNode(t=r.uniqueId(`_root`)););return t}})),mo=t(((e,t)=>{t.exports=n;function n(e,t,n){let r={},i;n.forEach(n=>{let a=e.parent(n),o,s;for(;a;){if(o=e.parent(a),o?(s=r[o],r[o]=a):(s=i,i=a),s&&s!==a){t.setEdge(s,a);return}a=o}})}})),ho=t(((e,t)=>{var n=oo(),r=so(),i=fo(),a=po(),o=mo(),s=qa().Graph,c=$();t.exports=l;function l(e,t){if(t&&typeof t.customOrder==`function`){t.customOrder(e,l);return}let i=c.maxRank(e),a=u(e,c.range(1,i+1),`inEdges`),o=u(e,c.range(i-1,-1,-1),`outEdges`),s=n(e);if(f(e,s),t&&t.disableOptimalOrderHeuristic)return;let p=1/0,m;for(let t=0,n=0;n<4;++t,++n){d(t%2?a:o,t%4>=2),s=c.buildLayerMatrix(e);let i=r(e,s);i<p&&(n=0,m=Object.assign({},s),p=i)}f(e,m)}function u(e,t,n){let r=new Map,i=(e,t)=>{r.has(e)||r.set(e,[]),r.get(e).push(t)};for(let t of e.nodes()){let n=e.node(t);if(typeof n.rank==`number`&&i(n.rank,t),typeof n.minRank==`number`&&typeof n.maxRank==`number`)for(let e=n.minRank;e<=n.maxRank;e++)e!==n.rank&&i(e,t)}return t.map(function(t){return a(e,t,n,r.get(t)||[])})}function d(e,t){let n=new s;e.forEach(function(e){let r=e.graph().root,a=i(e,r,n,t);a.vs.forEach((t,n)=>e.node(t).order=n),o(e,n,a.vs)})}function f(e,t){Object.values(t).forEach(t=>t.forEach((t,n)=>e.node(t).order=n))}})),go=t(((e,t)=>{var n=qa().Graph,r=$();t.exports={positionX:h,findType1Conflicts:i,findType2Conflicts:a,addConflict:s,hasConflict:c,verticalAlignment:l,horizontalCompaction:u,alignCoordinates:p,findSmallestWidthAlignment:f,balance:m};function i(e,t){let n={};function r(t,r){let i=0,a=0,c=t.length,l=r[r.length-1];return r.forEach((t,u)=>{let d=o(e,t),f=d?e.node(d).order:c;(d||t===l)&&(r.slice(a,u+1).forEach(t=>{e.predecessors(t).forEach(r=>{let a=e.node(r),o=a.order;(o<i||f<o)&&!(a.dummy&&e.node(t).dummy)&&s(n,r,t)})}),a=u+1,i=f)}),r}return t.length&&t.reduce(r),n}function a(e,t){let n={};function i(t,i,a,o,c){let l;r.range(i,a).forEach(r=>{l=t[r],e.node(l).dummy&&e.predecessors(l).forEach(t=>{let r=e.node(t);r.dummy&&(r.order<o||r.order>c)&&s(n,t,l)})})}function a(t,n){let r=-1,a,o=0;return n.forEach((s,c)=>{if(e.node(s).dummy===`border`){let t=e.predecessors(s);t.length&&(a=e.node(t[0]).order,i(n,o,c,r,a),o=c,r=a)}i(n,o,n.length,a,t.length)}),n}return t.length&&t.reduce(a),n}function o(e,t){if(e.node(t).dummy)return e.predecessors(t).find(t=>e.node(t).dummy)}function s(e,t,n){if(t>n){let e=t;t=n,n=e}let r=e[t];r||(e[t]=r={}),r[n]=!0}function c(e,t,n){if(t>n){let e=t;t=n,n=e}return!!e[t]&&Object.hasOwn(e[t],n)}function l(e,t,n,r){let i={},a={},o={};return t.forEach(e=>{e.forEach((e,t)=>{i[e]=e,a[e]=e,o[e]=t})}),t.forEach(e=>{let t=-1;e.forEach(e=>{let s=r(e);if(s.length){s=s.sort((e,t)=>o[e]-o[t]);let r=(s.length-1)/2;for(let l=Math.floor(r),u=Math.ceil(r);l<=u;++l){let r=s[l];a[e]===e&&t<o[r]&&!c(n,e,r)&&(a[r]=e,a[e]=i[e]=i[r],t=o[r])}}})}),{root:i,align:a}}function u(e,t,n,r,i){let a={},o=d(e,t,n,i),s=i?`borderLeft`:`borderRight`;function c(e,t){let n=o.nodes(),r=n.pop(),i={};for(;r;)i[r]?e(r):(i[r]=!0,n.push(r),n=n.concat(t(r))),r=n.pop()}function l(e){a[e]=o.inEdges(e).reduce((e,t)=>Math.max(e,a[t.v]+o.edge(t)),0)}function u(t){let n=o.outEdges(t).reduce((e,t)=>Math.min(e,a[t.w]-o.edge(t)),1/0),r=e.node(t);n!==1/0&&r.borderType!==s&&(a[t]=Math.max(a[t],n))}return c(l,o.predecessors.bind(o)),c(u,o.successors.bind(o)),Object.keys(r).forEach(e=>a[e]=a[n[e]]),a}function d(e,t,r,i){let a=new n,o=e.graph(),s=g(o.nodesep,o.edgesep,i);return t.forEach(t=>{let n;t.forEach(t=>{let i=r[t];if(a.setNode(i),n){var o=r[n],c=a.edge(o,i);a.setEdge(o,i,Math.max(s(e,t,n),c||0))}n=t})}),a}function f(e,t){return Object.values(t).reduce((t,n)=>{let r=-1/0,i=1/0;Object.entries(n).forEach(([t,n])=>{let a=_(e,t)/2;r=Math.max(n+a,r),i=Math.min(n-a,i)});let a=r-i;return a<t[0]&&(t=[a,n]),t},[1/0,null])[1]}function p(e,t){let n=Object.values(t),i=r.applyWithChunking(Math.min,n),a=r.applyWithChunking(Math.max,n);[`u`,`d`].forEach(n=>{[`l`,`r`].forEach(o=>{let s=n+o,c=e[s];if(c===t)return;let l=Object.values(c),u=i-r.applyWithChunking(Math.min,l);o!==`l`&&(u=a-r.applyWithChunking(Math.max,l)),u&&(e[s]=r.mapValues(c,e=>e+u))})})}function m(e,t){return r.mapValues(e.ul,(n,r)=>{if(t)return e[t.toLowerCase()][r];{let t=Object.values(e).map(e=>e[r]).sort((e,t)=>e-t);return(t[1]+t[2])/2}})}function h(e){let t=r.buildLayerMatrix(e),n=Object.assign(i(e,t),a(e,t)),o={},s;return[`u`,`d`].forEach(i=>{s=i===`u`?t:Object.values(t).reverse(),[`l`,`r`].forEach(t=>{t===`r`&&(s=s.map(e=>Object.values(e).reverse()));let a=(i===`u`?e.predecessors:e.successors).bind(e),c=l(e,s,n,a),d=u(e,s,c.root,c.align,t===`r`);t===`r`&&(d=r.mapValues(d,e=>-e)),o[i+t]=d})}),p(o,f(e,o)),m(o,e.graph().align)}function g(e,t,n){return(r,i,a)=>{let o=r.node(i),s=r.node(a),c=0,l;if(c+=o.width/2,Object.hasOwn(o,`labelpos`))switch(o.labelpos.toLowerCase()){case`l`:l=-o.width/2;break;case`r`:l=o.width/2}if(l&&(c+=n?l:-l),l=0,c+=(o.dummy?t:e)/2,c+=(s.dummy?t:e)/2,c+=s.width/2,Object.hasOwn(s,`labelpos`))switch(s.labelpos.toLowerCase()){case`l`:l=s.width/2;break;case`r`:l=-s.width/2}return l&&(c+=n?l:-l),l=0,c}}function _(e,t){return e.node(t).width}})),_o=t(((e,t)=>{var n=$(),r=go().positionX;t.exports=i;function i(e){e=n.asNonCompoundGraph(e),a(e),Object.entries(r(e)).forEach(([t,n])=>e.node(t).x=n)}function a(e){let t=n.buildLayerMatrix(e),r=e.graph().ranksep,i=0;t.forEach(t=>{let n=t.reduce((t,n)=>{let r=e.node(n).height;return t>r?t:r},0);t.forEach(t=>e.node(t).y=i+n/2),i+=n+r})}})),vo=t(((e,t)=>{var n=Xa(),r=Za(),i=to(),a=$().normalizeRanks,o=no(),s=$().removeEmptyRanks,c=ro(),l=io(),u=ao(),d=ho(),f=_o(),p=$(),m=qa().Graph;t.exports=h;function h(e,t){let n=t&&t.debugTiming?p.time:p.notime;n(`layout`,()=>{let r=n(` buildLayoutGraph`,()=>E(e));n(` runLayout`,()=>g(r,n,t)),n(` updateInputGraph`,()=>_(e,r))})}function g(e,t,m){t(` makeSpaceForEdgeLabels`,()=>D(e)),t(` removeSelfEdges`,()=>I(e)),t(` acyclic`,()=>n.run(e)),t(` nestingGraph.run`,()=>c.run(e)),t(` rank`,()=>i(p.asNonCompoundGraph(e))),t(` injectEdgeLabelProxies`,()=>O(e)),t(` removeEmptyRanks`,()=>s(e)),t(` nestingGraph.cleanup`,()=>c.cleanup(e)),t(` normalizeRanks`,()=>a(e)),t(` assignRankMinMax`,()=>k(e)),t(` removeEdgeLabelProxies`,()=>A(e)),t(` normalize.run`,()=>r.run(e)),t(` parentDummyChains`,()=>o(e)),t(` addBorderSegments`,()=>l(e)),t(` order`,()=>d(e,m)),t(` insertSelfEdges`,()=>L(e)),t(` adjustCoordinateSystem`,()=>u.adjust(e)),t(` position`,()=>f(e)),t(` positionSelfEdges`,()=>R(e)),t(` removeBorderNodes`,()=>F(e)),t(` normalize.undo`,()=>r.undo(e)),t(` fixupEdgeLabelCoords`,()=>N(e)),t(` undoCoordinateSystem`,()=>u.undo(e)),t(` translateGraph`,()=>j(e)),t(` assignNodeIntersects`,()=>M(e)),t(` reversePoints`,()=>P(e)),t(` acyclic.undo`,()=>n.undo(e))}function _(e,t){e.nodes().forEach(n=>{let r=e.node(n),i=t.node(n);r&&(r.x=i.x,r.y=i.y,r.rank=i.rank,t.children(n).length&&(r.width=i.width,r.height=i.height))}),e.edges().forEach(n=>{let r=e.edge(n),i=t.edge(n);r.points=i.points,Object.hasOwn(i,`x`)&&(r.x=i.x,r.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var v=[`nodesep`,`edgesep`,`ranksep`,`marginx`,`marginy`],y={ranksep:50,edgesep:20,nodesep:50,rankdir:`tb`},b=[`acyclicer`,`ranker`,`rankdir`,`align`],x=[`width`,`height`,`rank`],S={width:0,height:0},C=[`minlen`,`weight`,`width`,`height`,`labeloffset`],w={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:`r`},T=[`labelpos`];function E(e){let t=new m({multigraph:!0,compound:!0}),n=B(e.graph());return t.setGraph(Object.assign({},y,z(n,v),p.pick(n,b))),e.nodes().forEach(n=>{let r=z(B(e.node(n)),x);Object.keys(S).forEach(e=>{r[e]===void 0&&(r[e]=S[e])}),t.setNode(n,r),t.setParent(n,e.parent(n))}),e.edges().forEach(n=>{let r=B(e.edge(n));t.setEdge(n,Object.assign({},w,z(r,C),p.pick(r,T)))}),t}function D(e){let t=e.graph();t.ranksep/=2,e.edges().forEach(n=>{let r=e.edge(n);r.minlen*=2,r.labelpos.toLowerCase()!==`c`&&(t.rankdir===`TB`||t.rankdir===`BT`?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function O(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.width&&n.height){let n=e.node(t.v),r={rank:(e.node(t.w).rank-n.rank)/2+n.rank,e:t};p.addDummyNode(e,`edge-proxy`,r,`_ep`)}})}function k(e){let t=0;e.nodes().forEach(n=>{let r=e.node(n);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,t=Math.max(t,r.maxRank))}),e.graph().maxRank=t}function A(e){e.nodes().forEach(t=>{let n=e.node(t);n.dummy===`edge-proxy`&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))})}function j(e){let t=1/0,n=0,r=1/0,i=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;function c(e){let a=e.x,o=e.y,s=e.width,c=e.height;t=Math.min(t,a-s/2),n=Math.max(n,a+s/2),r=Math.min(r,o-c/2),i=Math.max(i,o+c/2)}e.nodes().forEach(t=>c(e.node(t))),e.edges().forEach(t=>{let n=e.edge(t);Object.hasOwn(n,`x`)&&c(n)}),t-=o,r-=s,e.nodes().forEach(n=>{let i=e.node(n);i.x-=t,i.y-=r}),e.edges().forEach(n=>{let i=e.edge(n);i.points.forEach(e=>{e.x-=t,e.y-=r}),Object.hasOwn(i,`x`)&&(i.x-=t),Object.hasOwn(i,`y`)&&(i.y-=r)}),a.width=n-t+o,a.height=i-r+s}function M(e){e.edges().forEach(t=>{let n=e.edge(t),r=e.node(t.v),i=e.node(t.w),a,o;n.points?(a=n.points[0],o=n.points[n.points.length-1]):(n.points=[],a=i,o=r),n.points.unshift(p.intersectRect(r,a)),n.points.push(p.intersectRect(i,o))})}function N(e){e.edges().forEach(t=>{let n=e.edge(t);if(Object.hasOwn(n,`x`))switch((n.labelpos===`l`||n.labelpos===`r`)&&(n.width-=n.labeloffset),n.labelpos){case`l`:n.x-=n.width/2+n.labeloffset;break;case`r`:n.x+=n.width/2+n.labeloffset}})}function P(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}function F(e){e.nodes().forEach(t=>{if(e.children(t).length){let n=e.node(t),r=e.node(n.borderTop),i=e.node(n.borderBottom),a=e.node(n.borderLeft[n.borderLeft.length-1]),o=e.node(n.borderRight[n.borderRight.length-1]);n.width=Math.abs(o.x-a.x),n.height=Math.abs(i.y-r.y),n.x=a.x+n.width/2,n.y=r.y+n.height/2}}),e.nodes().forEach(t=>{e.node(t).dummy===`border`&&e.removeNode(t)})}function I(e){e.edges().forEach(t=>{if(t.v===t.w){var n=e.node(t.v);n.selfEdges||=[],n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function L(e){p.buildLayerMatrix(e).forEach(t=>{var n=0;t.forEach((t,r)=>{var i=e.node(t);i.order=r+n,(i.selfEdges||[]).forEach(t=>{p.addDummyNode(e,`selfedge`,{width:t.label.width,height:t.label.height,rank:i.rank,order:r+ ++n,e:t.e,label:t.label},`_se`)}),delete i.selfEdges})})}function R(e){e.nodes().forEach(t=>{var n=e.node(t);if(n.dummy===`selfedge`){var r=e.node(n.e.v),i=r.x+r.width/2,a=r.y,o=n.x-i,s=r.height/2;e.setEdge(n.e,n.label),e.removeNode(t),n.label.points=[{x:i+2*o/3,y:a-s},{x:i+5*o/6,y:a-s},{x:i+o,y:a},{x:i+5*o/6,y:a+s},{x:i+2*o/3,y:a+s}],n.label.x=n.x,n.label.y=n.y}})}function z(e,t){return p.mapValues(p.pick(e,t),Number)}function B(e){var t={};return e&&Object.entries(e).forEach(([e,n])=>{typeof e==`string`&&(e=e.toLowerCase()),t[e]=n}),t}})),yo=t(((e,t)=>{var n=$(),r=qa().Graph;t.exports={debugOrdering:i};function i(e){let t=n.buildLayerMatrix(e),i=new r({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(t=>{i.setNode(t,{label:t}),i.setParent(t,`layer`+e.node(t).rank)}),e.edges().forEach(e=>i.setEdge(e.v,e.w,{},e.name)),t.forEach((e,t)=>{let n=`layer`+t;i.setNode(n,{rank:`same`}),e.reduce((e,t)=>(i.setEdge(e,t,{style:`invis`}),t))}),i}})),bo=t(((e,t)=>{t.exports=`1.1.8`})),xo=t(((e,t)=>{t.exports={graphlib:qa(),layout:vo(),debug:yo(),util:{time:$().time,notime:$().notime},version:bo()}}))(),So=new xo.graphlib.Graph().setDefaultEdgeLabel(()=>({})),Co=({nodes:e,edges:t,direction:n})=>(So.setGraph({rankdir:n,nodesep:150,ranksep:200,ranker:`longest-path`}),t.forEach(e=>So.setEdge(e.source,e.target)),e.forEach(e=>So.setNode(e.id,{...e,width:e.width??0,height:e.height??0})),(0,xo.layout)(So),{nodes:e.map(e=>{let{x:t,y:n}=So.node(e.id);return{...e,position:{x:t,y:n}}}),edges:t});function wo(){let e=(0,ga.c)(7),t=or(),n=K(Eo),r=K(To),i;e[0]===t?i=e[1]:(i=()=>{t.fitView({duration:100})},e[0]=t,e[1]=i);let a=ue(i,100),o,s;e[2]!==a||e[3]!==r||e[4]!==n?(o=()=>{!n||!r||a()},s=[n,r,a],e[2]=a,e[3]=r,e[4]=n,e[5]=o,e[6]=s):(o=e[5],s=e[6]),(0,W.useEffect)(o,s)}function To(e){let{height:t}=e;return t}function Eo(e){let{width:t}=e;return t}var Do=new ba,Oo=e=>{let t=(0,ga.c)(45),{cellIds:n,variables:r,cellAtoms:i,children:s,layoutDirection:c,settings:l}=e,u;t[0]!==i||t[1]!==n||t[2]!==c||t[3]!==l.hidePureMarkdown||t[4]!==l.hideReusableFunctions||t[5]!==r?(u=()=>{let e=Do.createElements(n,i,r,l.hidePureMarkdown,l.hideReusableFunctions);return e=Co({nodes:e.nodes,edges:e.edges,direction:c}),e},t[0]=i,t[1]=n,t[2]=c,t[3]=l.hidePureMarkdown,t[4]=l.hideReusableFunctions,t[5]=r,t[6]=u):u=t[6];let[f]=(0,W.useState)(u),[p,m,h]=Zi(f.nodes),[g,v,y]=Qi(f.edges),b=or(),x;t[7]!==c||t[8]!==v||t[9]!==m?(x=e=>{let t=Co({nodes:e.nodes,edges:e.edges,direction:c});m(t.nodes),v(t.edges)},t[7]=c,t[8]=v,t[9]=m,t[10]=x):x=t[10];let S=o(x),C,w;t[11]!==i||t[12]!==n||t[13]!==l.hidePureMarkdown||t[14]!==l.hideReusableFunctions||t[15]!==S||t[16]!==r?(C=()=>{S(Do.createElements(n,i,r,l.hidePureMarkdown,l.hideReusableFunctions))},w=[n,r,i,S,l.hidePureMarkdown,l.hideReusableFunctions],t[11]=i,t[12]=n,t[13]=l.hidePureMarkdown,t[14]=l.hideReusableFunctions,t[15]=S,t[16]=r,t[17]=C,t[18]=w):(C=t[17],w=t[18]),(0,W.useEffect)(C,w);let[T,E]=(0,W.useState)();wo();let D;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(D=()=>{E(void 0)},t[19]=D):D=t[19];let O=D,k,A,j;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(k={minZoom:.5,maxZoom:1.5},A=(e,t)=>{E({type:`node`,id:t.id})},j=(e,t)=>{let{source:n,target:r}=t;E({type:`edge`,source:n,target:r})},t[20]=k,t[21]=A,t[22]=j):(k=t[20],A=t[21],j=t[22]);let M;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,Q.jsx)(ha,{color:`#ccc`,variant:ca.Dots}),t[23]=M):M=t[23];let N;t[24]!==b||t[25]!==p?(N=()=>{let e=a.get(d);if(e){let t=p.find(t=>t.id===e);t&&(b.fitView({padding:1,duration:600,nodes:[t]}),E({type:`node`,id:e}))}},t[24]=b,t[25]=p,t[26]=N):N=t[26];let P;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,Q.jsx)(_,{className:`size-4`}),t[27]=P):P=t[27];let F;t[28]===N?F=t[29]:(F=(0,Q.jsx)(sa,{position:`bottom-right`,showInteractive:!1,children:(0,Q.jsx)(ee,{content:`Jump to focused cell`,delayDuration:200,side:`left`,asChild:!1,children:(0,Q.jsx)(ia,{onMouseDown:te.preventFocus,onClick:N,children:P})})}),t[28]=N,t[29]=F);let I;t[30]!==g||t[31]!==T||t[32]!==r?(I=(0,Q.jsx)(Da,{selection:T,variables:r,edges:g,onClearSelection:O}),t[30]=g,t[31]=T,t[32]=r,t[33]=I):I=t[33];let L;t[34]!==s||t[35]!==g||t[36]!==p||t[37]!==y||t[38]!==h||t[39]!==F||t[40]!==I?(L=(0,Q.jsxs)(Yi,{nodes:p,edges:g,nodeTypes:wa,minZoom:.2,fitViewOptions:k,onNodeClick:A,onEdgeClick:j,onNodeDoubleClick:ko,fitView:!0,onNodesChange:h,onEdgesChange:y,zoomOnDoubleClick:!1,nodesConnectable:!1,children:[M,F,I,s]}),t[34]=s,t[35]=g,t[36]=p,t[37]=y,t[38]=h,t[39]=F,t[40]=I,t[41]=L):L=t[41];let R;return t[42]!==c||t[43]!==L?(R=(0,Q.jsx)(Sa,{value:c,children:L}),t[42]=c,t[43]=L,t[44]=R):R=t[44],R};function ko(e,t){de(t.id,`focus`)}var Ao=r(`TB`),jo=r({hidePureMarkdown:!0,hideReusableFunctions:!1}),Mo=e=>{let t=(0,ga.c)(13),[r,i]=n(Ao),[a,o]=n(jo),s;t[0]!==r||t[1]!==i||t[2]!==o||t[3]!==a?(s=(0,Q.jsx)(Ea,{settings:a,onSettingsChange:o,view:r,onChange:i}),t[0]=r,t[1]=i,t[2]=o,t[3]=a,t[4]=s):s=t[4];let c;t[5]!==r||t[6]!==e||t[7]!==a||t[8]!==s?(c=(0,Q.jsx)(Oo,{...e,settings:a,layoutDirection:r,children:s}),t[5]=r,t[6]=e,t[7]=a,t[8]=s,t[9]=c):c=t[9];let l;return t[10]!==r||t[11]!==c?(l=(0,Q.jsx)(Vi,{children:c},r),t[10]=r,t[11]=c,t[12]=l):l=t[12],l};function No(e,t,n=new Set){if(n.has(e))return new Set;n.add(e);let r=new Set;for(let i of t(e)){r.add(i);for(let e of No(i,t,n))r.add(e)}return r}function Po(e,t){let n=new Map;for(let t of e)n.set(t,{variables:new Set,parents:new Set,children:new Set});for(let e of Object.values(t))if(e.dataType!==`module`)for(let t of e.declaredBy){n.get(t)?.variables.add(e.name);for(let r of e.usedBy)t!==r&&(n.get(r)?.parents.add(t),n.get(t)?.children.add(r))}let r={};for(let[e,t]of n.entries())r[e]={parents:t.parents,children:t.children,variables:[...t.variables],ancestors:No(e,e=>n.get(e)?.parents??new Set),descendants:No(e,e=>n.get(e)?.children??new Set)};return r}var Fo=r(e=>{let t=e(w),n=e(O);return Po(t.inOrderIds,n)});function Io(e,t){return t?e.usedBy.includes(t.id)||e.declaredBy.includes(t.id)?!0:e.declaredBy.some(e=>t.graph.parents.has(e))?e.usedBy.some(e=>t.graph.parents.has(e)):!!e.declaredBy.some(e=>t.graph.children.has(e)):!1}var Lo=new k,Ro=new b;function zo(e){for(let t of e.split(`
|
|
4
4
|
`)){let e=t.trim();if(e.length>0)return e}}function Bo(e){let t=e.trim();if(Lo.isSupported(t)){let{code:e}=Lo.transformIn(t);return{text:zo(e),type:`markdown`}}if(Ro.isSupported(t)){let{code:e}=Ro.transformIn(t);return{text:zo(e),type:`sql`}}return{text:t.split(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-B0Z9INg1.js";import{l as e}from"./useEvent-xfs0Sn4r.js";import{t}from"./react-CBDbhulC.js";import{Ri as n,qr as r}from"./cells-
|
|
1
|
+
import"./rolldown-runtime-B0Z9INg1.js";import{l as e}from"./useEvent-xfs0Sn4r.js";import{t}from"./react-CBDbhulC.js";import{Ri as n,qr as r}from"./cells-D4RwofRx.js";import{t as i}from"./compiler-runtime-CYIjoINj.js";import{t as a}from"./jsx-runtime-B74pBk57.js";import{t as o}from"./RenderHTML-YkwVPe9V.js";import{t as s}from"./empty-state-kWyb5dCS.js";var c=i();t();var l=a(),u=()=>{let t=(0,c.c)(5),{documentation:i}=e(r);if(!i){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,l.jsx)(s,{title:`View docs as you type`,description:`Move your text cursor over a symbol to see its documentation.`,icon:(0,l.jsx)(n,{})}),t[0]=e):e=t[0],e}let a;t[1]===i?a=t[2]:(a=o({html:i}),t[1]=i,t[2]=a);let u;return t[3]===a?u=t[4]:(u=(0,l.jsx)(`div`,{className:`p-3 overflow-y-auto overflow-x-hidden h-full docs-documentation flex flex-col gap-4`,children:a}),t[3]=a,t[4]=u),u};export{u as default};
|