@marimo-team/frontend 0.17.4 → 0.17.5
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-c0SAQ-F-.js → CellStatus-DjUtGUqj.js} +1 -1
- package/dist/assets/{ConnectedDataExplorerComponent-f8cXX1lE.js → ConnectedDataExplorerComponent-Bjfp6wiJ.js} +1 -1
- package/dist/assets/{ConsoleOutput-CDSftFlX.js → ConsoleOutput-C4nRvbNL.js} +1 -1
- package/dist/assets/{MarimoErrorOutput-BMyX5A6l.js → MarimoErrorOutput-DKtP9DfP.js} +1 -1
- package/dist/assets/{Output-pZgeySyq.js → Output-x6LACtkd.js} +1 -1
- package/dist/assets/{RenderHTML-BUSbsjNK.js → RenderHTML-B4Xlxz9Q.js} +1 -1
- package/dist/assets/{add-cell-with-ai-D5ovEhXx.js → add-cell-with-ai-D94Om7DS.js} +1 -1
- package/dist/assets/{add-database-form-p8983nDn.js → add-database-form-BDX2uZCC.js} +1 -1
- package/dist/assets/{add-missing-import-BwGZ98W0.js → add-missing-import-Cy6g_y6i.js} +1 -1
- package/dist/assets/{agent-panel-B5iI79QW.js → agent-panel-DPCsTGPU.js} +1 -1
- package/dist/assets/{app-config-button-BFmqvqPu.js → app-config-button-C02qSaV5.js} +1 -1
- package/dist/assets/{cell-actions-Cc2JYtcT.js → cell-actions-CNcpitg7.js} +1 -1
- package/dist/assets/{cell-editor-DJ46IITP.js → cell-editor-oXchtd-2.js} +1 -1
- package/dist/assets/{cell-link-DFNTDaPd.js → cell-link-d9BMXpwm.js} +1 -1
- package/dist/assets/{cells-DNq9ng4B.js → cells-CZmitpcp.js} +3 -4
- package/dist/assets/{chat-components-BJMCzZRK.js → chat-components-u_00E1Iv.js} +1 -1
- package/dist/assets/{chat-panel-DajnoQHz.js → chat-panel-BBQVqm6k.js} +1 -1
- package/dist/assets/{client-B0dO9skM.js → client-Co0Fvwib.js} +1 -1
- package/dist/assets/{column-preview-BiiXdwvw.js → column-preview-BsCKvnq_.js} +1 -1
- package/dist/assets/{command-palette-DbfvqoOB.js → command-palette-C9_cNlJc.js} +1 -1
- package/dist/assets/{common-U0RDob8X.js → common-BWlM0NQw.js} +1 -1
- package/dist/assets/{datasources-panel-Bo6UM72J.js → datasources-panel-CRS3I41j.js} +1 -1
- package/dist/assets/{dependency-graph-panel-DcOypoYV.js → dependency-graph-panel-PEDmfewV.js} +1 -1
- package/dist/assets/{documentation-panel-BPa77v-x.js → documentation-panel-Caz5K_OT.js} +1 -1
- package/dist/assets/{edit-page-CYfYSIzk.js → edit-page-DuRQ1eIB.js} +3 -3
- package/dist/assets/{error-panel-C4Dh4_Gz.js → error-panel-D0ZJmprT.js} +1 -1
- package/dist/assets/{file-explorer-panel-BTjjB1ys.js → file-explorer-panel-Jnmw434H.js} +1 -1
- package/dist/assets/{floating-outline-DwAgRZTh.js → floating-outline-BXSB3SQ6.js} +1 -1
- package/dist/assets/{focus-BwMl5m5_.js → focus-CUS3ckCE.js} +1 -1
- package/dist/assets/{form-CQCzdh1o.js → form-BlnK1x-p.js} +1 -1
- package/dist/assets/{form-D69llIWP.js → form-nAUuUhu3.js} +1 -1
- package/dist/assets/{home-page-F1w05vyJ.js → home-page-DIYkvTFf.js} +1 -1
- package/dist/assets/{index-q8eVuDDk.js → index-DsdBxblV.js} +6 -6
- package/dist/assets/{kiosk-mode-Dd1ooBaF.js → kiosk-mode-CHVximkk.js} +1 -1
- package/dist/assets/{layout-C8ytLSQd.js → layout-CRXL9551.js} +1 -1
- package/dist/assets/{lazy-tfeVHpGH.js → lazy-ijSQmhmN.js} +2 -2
- package/dist/assets/{logs-panel-C8ChYhO8.js → logs-panel-9HAqKVuS.js} +1 -1
- package/dist/assets/{mode-BWw7rz82.js → mode-CtH3Xe58.js} +1 -1
- package/dist/assets/{name-cell-input-F8bM4E5e.js → name-cell-input-DZWpmHYT.js} +1 -1
- package/dist/assets/{outline-panel-QjRV3Zps.js → outline-panel-D0DvfWbQ.js} +1 -1
- package/dist/assets/{packages-panel-_yihtFbB.js → packages-panel-DmqfeORQ.js} +1 -1
- package/dist/assets/react-vega-CoPJaJAh.js +194 -0
- package/dist/assets/{react-vega-5InfQEZl.js → react-vega-D5EPmHUL.js} +1 -1
- package/dist/assets/{readonly-python-code-gmO6162d.js → readonly-python-code-Ba_IF_mK.js} +1 -1
- package/dist/assets/{run-page-BsulC5PQ.js → run-page-Dtlg4eqe.js} +1 -1
- package/dist/assets/{scratchpad-panel-A9G8o9jf.js → scratchpad-panel-5EljtEkX.js} +1 -1
- package/dist/assets/{snippets-panel-C6FwSaZz.js → snippets-panel-Cg9ksbKX.js} +1 -1
- package/dist/assets/{state-CIEHjRfF.js → state-7Nd5UYc6.js} +1 -1
- package/dist/assets/{state-C7T5AXo0.js → state-BDyZ5-wH.js} +1 -1
- package/dist/assets/{storage-CmIwledL.js → storage-DczTxxXy.js} +1 -1
- package/dist/assets/{tracing-Cq1z4XC3.js → tracing-CbAnhOdo.js} +1 -1
- package/dist/assets/{tracing-panel-Mt1B8lhs.js → tracing-panel-B3iny2EN.js} +2 -2
- package/dist/assets/{types-UoG2cq5J.js → types-h5wz3HYN.js} +1 -1
- package/dist/assets/{useAddCell-xX3fIjF2.js → useAddCell-CWXmrhes.js} +1 -1
- package/dist/assets/{useCellActionButton-jH-t2BrR.js → useCellActionButton-fVEGFa_R.js} +1 -1
- package/dist/assets/{useDeleteCell-CJ4WX9R2.js → useDeleteCell-Bg8Hgk6e.js} +1 -1
- package/dist/assets/{useNotebookActions-Cf9b-Ef9.js → useNotebookActions-BurReKKo.js} +1 -1
- package/dist/assets/{useRunCells-DjmsNJ7r.js → useRunCells-BiWuvMY1.js} +1 -1
- package/dist/assets/{useSplitCell-ueztloAj.js → useSplitCell-DhhZ7xVP.js} +1 -1
- package/dist/assets/{utilities.esm-D8HYU14D.js → utilities.esm-CCw2KKJk.js} +1 -1
- package/dist/assets/{variable-panel-DAhAueP9.js → variable-panel-Dkhq2h3W.js} +1 -1
- package/dist/assets/{vega-component-B7kKQDi7.js → vega-component-CrZQsWq8.js} +1 -1
- package/dist/index.html +24 -24
- package/package.json +2 -2
- package/src/core/codemirror/language/__tests__/markdown.test.ts +36 -13
- package/src/core/codemirror/language/__tests__/utils.test.ts +6 -2
- package/src/plugins/layout/TexPlugin.tsx +33 -5
- package/dist/assets/react-vega-Kdht4Pfp.js +0 -192
package/dist/assets/{dependency-graph-panel-DcOypoYV.js → dependency-graph-panel-PEDmfewV.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Yr=Object.defineProperty;var Fr=(t,e,n)=>e in t?Yr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ie=(t,e,n)=>Fr(t,typeof e!="symbol"?e+"":e,n);import{s as ye,t as q}from"./chunk-DZLz74EQ.js";import{c as Zr,d as yn,n as gt,s as vn}from"./jotai-BTnrNcC1.js";import{t as Wr}from"./react-BcIddLXZ.js";import{O as Kr,Rn as Gr,Yn as Ur,ft as qr,gt as Qr,j as bn,p as Jr}from"./cells-DNq9ng4B.js";import{t as ea}from"./react-dom-D6bRRS5R.js";import"./zod-U2NFpcFA.js";import{t as Ae}from"./compiler-runtime-Cr9loedd.js";import"./_Uint8Array-D5Z9rM2X.js";import"./isSymbol-xTSywenE.js";import"./_arrayMap-DQI2GUNb.js";import"./toString-CBnct2wx.js";import"./toNumber-CTOPJrpu.js";import"./toInteger-Bor4StOs.js";import"./isArrayLikeObject-DKyJYtr8.js";import"./_getTag-CVRrQL_Q.js";import"./_baseIsEqual-CVFfFJm2.js";import"./merge-Dvc5opZF.js";import"./_baseSlice-BWZ0PeaJ.js";import"./upperFirst-CBQfDRod.js";import"./_hasUnicode-3DIK_jNi.js";import"./_arrayReduce-DV4IVFuG.js";import"./startCase-RfubwhHM.js";import"./_baseProperty-c4IQJQis.js";import"./now-BXqTLlmI.js";import"./debounce-BUM2losY.js";import"./hotkeys-ClCtr3_I.js";import"./invariant-D5a0EE05.js";import"./utils-BpjB6B-Y.js";import"./constants-CEISdYm1.js";import"./config-e9OVB2bJ.js";import"./useEventListener-D1FLsfmf.js";import{t as ta}from"./jsx-runtime-mwDPpfh_.js";import{t as xn}from"./cn-DEUt_IsG.js";import{r as na,t as Ye}from"./button-Zjtz1syG.js";import"./dist-o3-gJN-A.js";import"./dist-CzgFQFBf.js";import{r as En}from"./once-3GsqimLM.js";import"./capabilities-CEL4hxAo.js";import"./createReducer-C6dJ71nW.js";import"./requests-DD3OWR81.js";import"./preload-helper-DImqtvgl.js";import"./dist-DdXBxU_X.js";import"./dist-ws1ADWL0.js";import"./dist-BOJjflZo.js";import"./dist-w3K5vvwl.js";import"./dist-DXPWGCwf.js";import"./dist-BGbJQ9FV.js";import"./stex-w1KpyykF.js";import"./Deferred-Mppm0cvJ.js";import"./uuid-4lb_EYpq.js";import"./key-BOd4SjWu.js";import"./use-toast-BPMVOfO3.js";import"./main-CCaZmKLi.js";import"./marked.esm-BB_RKOA5.js";import"./connection-CsVOmbVi.js";import"./dist-dCpey1ug.js";import"./useLifecycle-CxNbfWnk.js";import"./useTheme-DcMAIbRt.js";import{t as mt}from"./createLucideIcon-CaU6_Jtx.js";import{n as oa,r as ra}from"./cell-actions-Cc2JYtcT.js";import"./type-DVCC-93H.js";import"./check-Dc7YCRim.js";import{h as aa}from"./select-Di-JjADd.js";import{o as ia,s as sa}from"./download-DrI1Gw05.js";import"./chevron-right-BExEgq1M.js";import{o as wn}from"./useCellActionButton-jH-t2BrR.js";import"./circle-plus-UevqeQZu.js";import"./toDate-CnvLb18a.js";import"./circle-x-Bb-EcEyG.js";import"./dropdown-menu-ChUikXiI.js";import"./eye-off-BIDUS-iw.js";import{t as la}from"./ellipsis-vertical-DsdK_SPL.js";import"./image-CVwcB3Mo.js";import"./link-DmSljZn4.js";import"./name-cell-input-F8bM4E5e.js";import"./input-DuVApvWu.js";import{t as da}from"./settings-DvMaGwYY.js";import"./state-CIEHjRfF.js";import{t as ca}from"./square-function-DncO0xCM.js";import"./trash-2-D1jEfGpj.js";import{t as ua}from"./workflow-BmOhe3mQ.js";import"./badge-CxcKOiwY.js";import"./Combination-DWHMUa0d.js";import"./dist-1ZdxNBaX.js";import{t as ha}from"./tooltip-CerBk_un.js";import"./menu-items-Dm8s6sMr.js";import"./useNonce-CL3DrH5R.js";import"./mode-BWw7rz82.js";import"./alert-dialog-BZHeDuaE.js";import"./dialog-CzmSXArA.js";import"./usePress-C2JVmCUi.js";import"./SSRProvider-CMB_HLxO.js";import"./context-BqH7Jigl.js";import"./useNumberFormatter-BPGR7t2W.js";import"./shim-FF_l0CN4.js";import"./numbers-Dft9TKC1.js";import{n as Sn}from"./useEvent-itkPNnCe.js";import{n as ga}from"./useDebounce--Sw2WRQ5.js";import"./ImperativeModal-ExH1h9et.js";import"./strings-DRRWXNT2.js";import"./copy-SPzF4B1M.js";import"./useRunCells-DjmsNJ7r.js";import"./extends-DhnjMUSs.js";import"./objectWithoutPropertiesLoose-CNyONSoo.js";import"./kbd-BfBY_QKr.js";import"./renderShortcut-a-3t8sis.js";import{t as ma}from"./label-FIGQlkj5.js";import{i as fa,r as pa,t as ya}from"./popover-BoRNi4dY.js";import{i as Cn,t as jt}from"./cell-link-DFNTDaPd.js";import"./esm-D8ZMWeYP.js";import"./command-DhuV6_de.js";import"./useDeleteCell-CJ4WX9R2.js";import"./add-missing-import-BwGZ98W0.js";import"./icons-HGhpVPVr.js";import{i as va}from"./focus-BwMl5m5_.js";import"./switch-p-zRh0zu.js";import{b as ba}from"./timer-DPMc0rso.js";import{a as Rt,c as At,i as xa,l as Bt,n as Fe,o as Ea,r as wa,s as Nn,t as Sa,u as ft}from"./src-DnZfSL8R.js";import{t as Ca}from"./TinyCode-CgC7YtPL.js";import"./multi-icon-C4RX3Man.js";import"./useSplitCell-ueztloAj.js";import{n as Na,t as kn}from"./common-U0RDob8X.js";var ka=mt("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"}]]),Ma=mt("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"}]]),_a=mt("map-pin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]),Oa=mt("rows-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]]);function he(t){if(typeof t=="string"||typeof t=="number")return""+t;let e="";if(Array.isArray(t))for(let n=0,o;n<t.length;n++)(o=he(t[n]))!==""&&(e+=(e&&" ")+o);else for(let n in t)t[n]&&(e+=(e&&" ")+n);return e}var y=ye(Wr(),1),Pa=ye(ia(),1),{useDebugValue:Da}=y.default,{useSyncExternalStoreWithSelector:Ia}=Pa.default,ja=t=>t;function Mn(t,e=ja,n){let o=Ia(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,n);return Da(o),o}var _n=(t,e)=>{let n=sa(t),o=(i,l=e)=>Mn(n,i,l);return Object.assign(o,n),o},Ra=(t,e)=>t?_n(t,e):_n;function ue(t,e){if(Object.is(t,e))return!0;if(typeof t!="object"||!t||typeof e!="object"||!e)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(let[o,i]of t)if(!Object.is(i,e.get(o)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(let o of t)if(!e.has(o))return!1;return!0}let n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(let o of n)if(!Object.prototype.hasOwnProperty.call(e,o)||!Object.is(t[o],e[o]))return!1;return!0}var pt=t=>()=>t;function zt(t,{sourceEvent:e,subject:n,target:o,identifier:i,active:l,x:a,y:d,dx:s,dy:c,dispatch:u}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:l,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:d,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}zt.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function Aa(t){return!t.ctrlKey&&!t.button}function Ba(){return this.parentNode}function za(t,e){return e??{x:t.x,y:t.y}}function La(){return navigator.maxTouchPoints||"ontouchstart"in this}function $a(){var t=Aa,e=Ba,n=za,o=La,i={},l=ba("start","drag","end"),a=0,d,s,c,u,r=0;function g(p){p.on("mousedown.drag",h).filter(o).on("touchstart.drag",v).on("touchmove.drag",b,Ea).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(p,C){if(!(u||!t.call(this,p,C))){var k=_(this,e.call(this,p,C),p,C,"mouse");k&&(ft(p.view).on("mousemove.drag",f,Nn).on("mouseup.drag",m,Nn),wa(p.view),At(p),c=!1,d=p.clientX,s=p.clientY,k("start",p))}}function f(p){if(Rt(p),!c){var C=p.clientX-d,k=p.clientY-s;c=C*C+k*k>r}i.mouse("drag",p)}function m(p){ft(p.view).on("mousemove.drag mouseup.drag",null),xa(p.view,c),Rt(p),i.mouse("end",p)}function v(p,C){if(t.call(this,p,C)){var k=p.changedTouches,O=e.call(this,p,C),D=k.length,P,E;for(P=0;P<D;++P)(E=_(this,O,p,C,k[P].identifier,k[P]))&&(At(p),E("start",p,k[P]))}}function b(p){var C=p.changedTouches,k=C.length,O,D;for(O=0;O<k;++O)(D=i[C[O].identifier])&&(Rt(p),D("drag",p,C[O]))}function x(p){var C=p.changedTouches,k=C.length,O,D;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),O=0;O<k;++O)(D=i[C[O].identifier])&&(At(p),D("end",p,C[O]))}function _(p,C,k,O,D,P){var E=l.copy(),w=Bt(P||k,C),M,N,S;if((S=n.call(p,new zt("beforestart",{sourceEvent:k,target:g,identifier:D,active:a,x:w[0],y:w[1],dx:0,dy:0,dispatch:E}),O))!=null)return M=S.x-w[0]||0,N=S.y-w[1]||0,function R(z,$,Y){var j=w,T;switch(z){case"start":i[D]=R,T=a++;break;case"end":delete i[D],--a;case"drag":w=Bt(Y||$,C),T=a;break}E.call(z,p,new zt(z,{sourceEvent:$,subject:S,target:g,identifier:D,active:T,x:w[0]+M,y:w[1]+N,dx:w[0]-j[0],dy:w[1]-j[1],dispatch:E}),O)}}return g.filter=function(p){return arguments.length?(t=typeof p=="function"?p:pt(!!p),g):t},g.container=function(p){return arguments.length?(e=typeof p=="function"?p:pt(p),g):e},g.subject=function(p){return arguments.length?(n=typeof p=="function"?p:pt(p),g):n},g.touchable=function(p){return arguments.length?(o=typeof p=="function"?p:pt(!!p),g):o},g.on=function(){var p=l.on.apply(l,arguments);return p===l?g:p},g.clickDistance=function(p){return arguments.length?(r=(p=+p)*p,g):Math.sqrt(r)},g}ea();var yt=(0,y.createContext)(null),Ta=yt.Provider,Ee={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:t=>`Node type "${t}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,e)=>`Couldn't create edge for ${t?"target":"source"} handle id: "${t?e.targetHandle:e.sourceHandle}", edge id: ${e.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`},On=Ee.error001();function ne(t,e){let n=(0,y.useContext)(yt);if(n===null)throw Error(On);return Mn(n,t,e)}var le=()=>{let t=(0,y.useContext)(yt);if(t===null)throw Error(On);return(0,y.useMemo)(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe,destroy:t.destroy}),[t])},Ha=t=>t.userSelectionActive?"none":"all";function vt({position:t,children:e,className:n,style:o,...i}){let l=ne(Ha),a=`${t}`.split("-");return y.createElement("div",{className:he(["react-flow__panel",n,...a]),style:{...o,pointerEvents:l},...i},e)}function Va({proOptions:t,position:e="bottom-right"}){return t!=null&&t.hideAttribution?null:y.createElement(vt,{position:e,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},y.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}var Xa=(0,y.memo)(({x:t,y:e,label:n,labelStyle:o={},labelShowBg:i=!0,labelBgStyle:l={},labelBgPadding:a=[2,4],labelBgBorderRadius:d=2,children:s,className:c,...u})=>{let r=(0,y.useRef)(null),[g,h]=(0,y.useState)({x:0,y:0,width:0,height:0}),f=he(["react-flow__edge-textwrapper",c]);return(0,y.useEffect)(()=>{if(r.current){let m=r.current.getBBox();h({x:m.x,y:m.y,width:m.width,height:m.height})}},[n]),n===void 0||!n?null:y.createElement("g",{transform:`translate(${t-g.width/2} ${e-g.height/2})`,className:f,visibility:g.width?"visible":"hidden",...u},i&&y.createElement("rect",{width:g.width+2*a[0],x:-a[0],y:-a[1],height:g.height+2*a[1],className:"react-flow__edge-textbg",style:l,rx:d,ry:d}),y.createElement("text",{className:"react-flow__edge-text",y:g.height/2,dy:"0.3em",ref:r,style:o},n),s)}),Lt=t=>({width:t.offsetWidth,height:t.offsetHeight}),Ze=(t,e=0,n=1)=>Math.min(Math.max(t,e),n),$t=(t={x:0,y:0},e)=>({x:Ze(t.x,e[0][0],e[1][0]),y:Ze(t.y,e[0][1],e[1][1])}),Pn=(t,e,n)=>t<e?Ze(Math.abs(t-e),1,50)/50:t>n?-Ze(Math.abs(t-n),1,50)/50:0,Dn=(t,e)=>[Pn(t.x,35,e.width-35)*20,Pn(t.y,35,e.height-35)*20],In=t=>{var e;return((e=t.getRootNode)==null?void 0:e.call(t))||(window==null?void 0:window.document)},Ya=(t,e)=>({x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x2,e.x2),y2:Math.max(t.y2,e.y2)}),Tt=({x:t,y:e,width:n,height:o})=>({x:t,y:e,x2:t+n,y2:e+o}),Fa=({x:t,y:e,x2:n,y2:o})=>({x:t,y:e,width:n-t,height:o-e}),jn=t=>({...t.positionAbsolute||{x:0,y:0},width:t.width||0,height:t.height||0}),Ht=(t,e)=>{let n=Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x)),o=Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y));return Math.ceil(n*o)},Za=t=>pe(t.width)&&pe(t.height)&&pe(t.x)&&pe(t.y),pe=t=>!isNaN(t)&&isFinite(t),re=Symbol.for("internals"),Rn=["Enter"," ","Escape"],Wa=(t,e)=>{},Ka=t=>"nativeEvent"in t;function Vt(t){var n,o,i;let e=((i=(o=(n=Ka(t)?t.nativeEvent:t).composedPath)==null?void 0:o.call(n))==null?void 0:i[0])||t.target;return["INPUT","SELECT","TEXTAREA"].includes(e==null?void 0:e.nodeName)||(e==null?void 0:e.hasAttribute("contenteditable"))||!!(e!=null&&e.closest(".nokey"))}var An=t=>"clientX"in t,Ce=(t,e)=>{var l,a;let n=An(t),o=n?t.clientX:(l=t.touches)==null?void 0:l[0].clientX,i=n?t.clientY:(a=t.touches)==null?void 0:a[0].clientY;return{x:o-((e==null?void 0:e.left)??0),y:i-((e==null?void 0:e.top)??0)}},bt=()=>{var t;return typeof navigator<"u"&&((t=navigator==null?void 0:navigator.userAgent)==null?void 0:t.indexOf("Mac"))>=0},at=({id:t,path:e,labelX:n,labelY:o,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,markerEnd:r,markerStart:g,interactionWidth:h=20})=>y.createElement(y.Fragment,null,y.createElement("path",{id:t,style:u,d:e,fill:"none",className:"react-flow__edge-path",markerEnd:r,markerStart:g}),h&&y.createElement("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),i&&pe(n)&&pe(o)?y.createElement(Xa,{x:n,y:o,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c}):null);at.displayName="BaseEdge";function it(t,e,n){return n===void 0?n:o=>{let i=e().edges.find(l=>l.id===t);i&&n(o,{...i})}}function Bn({sourceX:t,sourceY:e,targetX:n,targetY:o}){let i=Math.abs(n-t)/2,l=n<t?n+i:n-i,a=Math.abs(o-e)/2;return[l,o<e?o+a:o-a,i,a]}function zn({sourceX:t,sourceY:e,targetX:n,targetY:o,sourceControlX:i,sourceControlY:l,targetControlX:a,targetControlY:d}){let s=t*.125+i*.375+a*.375+n*.125,c=e*.125+l*.375+d*.375+o*.125;return[s,c,Math.abs(s-t),Math.abs(c-e)]}var We;(function(t){t.Strict="strict",t.Loose="loose"})(We||(We={}));var Be;(function(t){t.Free="free",t.Vertical="vertical",t.Horizontal="horizontal"})(Be||(Be={}));var xt;(function(t){t.Partial="partial",t.Full="full"})(xt||(xt={}));var ze;(function(t){t.Bezier="default",t.Straight="straight",t.Step="step",t.SmoothStep="smoothstep",t.SimpleBezier="simplebezier"})(ze||(ze={}));var st;(function(t){t.Arrow="arrow",t.ArrowClosed="arrowclosed"})(st||(st={}));var F;(function(t){t.Left="left",t.Top="top",t.Right="right",t.Bottom="bottom"})(F||(F={}));function Ln({pos:t,x1:e,y1:n,x2:o,y2:i}){return t===F.Left||t===F.Right?[.5*(e+o),n]:[e,.5*(n+i)]}function $n({sourceX:t,sourceY:e,sourcePosition:n=F.Bottom,targetX:o,targetY:i,targetPosition:l=F.Top}){let[a,d]=Ln({pos:n,x1:t,y1:e,x2:o,y2:i}),[s,c]=Ln({pos:l,x1:o,y1:i,x2:t,y2:e}),[u,r,g,h]=zn({sourceX:t,sourceY:e,targetX:o,targetY:i,sourceControlX:a,sourceControlY:d,targetControlX:s,targetControlY:c});return[`M${t},${e} C${a},${d} ${s},${c} ${o},${i}`,u,r,g,h]}var Xt=(0,y.memo)(({sourceX:t,sourceY:e,targetX:n,targetY:o,sourcePosition:i=F.Bottom,targetPosition:l=F.Top,label:a,labelStyle:d,labelShowBg:s,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:r,style:g,markerEnd:h,markerStart:f,interactionWidth:m})=>{let[v,b,x]=$n({sourceX:t,sourceY:e,sourcePosition:i,targetX:n,targetY:o,targetPosition:l});return y.createElement(at,{path:v,labelX:b,labelY:x,label:a,labelStyle:d,labelShowBg:s,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:r,style:g,markerEnd:h,markerStart:f,interactionWidth:m})});Xt.displayName="SimpleBezierEdge";var Tn={[F.Left]:{x:-1,y:0},[F.Right]:{x:1,y:0},[F.Top]:{x:0,y:-1},[F.Bottom]:{x:0,y:1}},Ga=({source:t,sourcePosition:e=F.Bottom,target:n})=>e===F.Left||e===F.Right?t.x<n.x?{x:1,y:0}:{x:-1,y:0}:t.y<n.y?{x:0,y:1}:{x:0,y:-1},Hn=(t,e)=>Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2);function Ua({source:t,sourcePosition:e=F.Bottom,target:n,targetPosition:o=F.Top,center:i,offset:l}){let a=Tn[e],d=Tn[o],s={x:t.x+a.x*l,y:t.y+a.y*l},c={x:n.x+d.x*l,y:n.y+d.y*l},u=Ga({source:s,sourcePosition:e,target:c}),r=u.x===0?"y":"x",g=u[r],h=[],f,m,v={x:0,y:0},b={x:0,y:0},[x,_,p,C]=Bn({sourceX:t.x,sourceY:t.y,targetX:n.x,targetY:n.y});if(a[r]*d[r]===-1){f=i.x??x,m=i.y??_;let k=[{x:f,y:s.y},{x:f,y:c.y}],O=[{x:s.x,y:m},{x:c.x,y:m}];h=a[r]===g?r==="x"?k:O:r==="x"?O:k}else{let k=[{x:s.x,y:c.y}],O=[{x:c.x,y:s.y}];if(h=r==="x"?a.x===g?O:k:a.y===g?k:O,e===o){let E=Math.abs(t[r]-n[r]);if(E<=l){let w=Math.min(l-1,l-E);a[r]===g?v[r]=(s[r]>t[r]?-1:1)*w:b[r]=(c[r]>n[r]?-1:1)*w}}if(e!==o){let E=r==="x"?"y":"x",w=a[r]===d[E],M=s[E]>c[E],N=s[E]<c[E];(a[r]===1&&(!w&&M||w&&N)||a[r]!==1&&(!w&&N||w&&M))&&(h=r==="x"?k:O)}let D={x:s.x+v.x,y:s.y+v.y},P={x:c.x+b.x,y:c.y+b.y};Math.max(Math.abs(D.x-h[0].x),Math.abs(P.x-h[0].x))>=Math.max(Math.abs(D.y-h[0].y),Math.abs(P.y-h[0].y))?(f=(D.x+P.x)/2,m=h[0].y):(f=h[0].x,m=(D.y+P.y)/2)}return[[t,{x:s.x+v.x,y:s.y+v.y},...h,{x:c.x+b.x,y:c.y+b.y},n],f,m,p,C]}function qa(t,e,n,o){let i=Math.min(Hn(t,e)/2,Hn(e,n)/2,o),{x:l,y:a}=e;if(t.x===l&&l===n.x||t.y===a&&a===n.y)return`L${l} ${a}`;if(t.y===a){let s=t.x<n.x?-1:1,c=t.y<n.y?1:-1;return`L ${l+i*s},${a}Q ${l},${a} ${l},${a+i*c}`}let d=t.x<n.x?1:-1;return`L ${l},${a+i*(t.y<n.y?-1:1)}Q ${l},${a} ${l+i*d},${a}`}function Yt({sourceX:t,sourceY:e,sourcePosition:n=F.Bottom,targetX:o,targetY:i,targetPosition:l=F.Top,borderRadius:a=5,centerX:d,centerY:s,offset:c=20}){let[u,r,g,h,f]=Ua({source:{x:t,y:e},sourcePosition:n,target:{x:o,y:i},targetPosition:l,center:{x:d,y:s},offset:c});return[u.reduce((m,v,b)=>{let x="";return x=b>0&&b<u.length-1?qa(u[b-1],v,u[b+1],a):`${b===0?"M":"L"}${v.x} ${v.y}`,m+=x,m},""),r,g,h,f]}var Et=(0,y.memo)(({sourceX:t,sourceY:e,targetX:n,targetY:o,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,sourcePosition:r=F.Bottom,targetPosition:g=F.Top,markerEnd:h,markerStart:f,pathOptions:m,interactionWidth:v})=>{let[b,x,_]=Yt({sourceX:t,sourceY:e,sourcePosition:r,targetX:n,targetY:o,targetPosition:g,borderRadius:m==null?void 0:m.borderRadius,offset:m==null?void 0:m.offset});return y.createElement(at,{path:b,labelX:x,labelY:_,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,markerEnd:h,markerStart:f,interactionWidth:v})});Et.displayName="SmoothStepEdge";var Ft=(0,y.memo)(t=>{var e;return y.createElement(Et,{...t,pathOptions:(0,y.useMemo)(()=>{var n;return{borderRadius:0,offset:(n=t.pathOptions)==null?void 0:n.offset}},[(e=t.pathOptions)==null?void 0:e.offset])})});Ft.displayName="StepEdge";function Qa({sourceX:t,sourceY:e,targetX:n,targetY:o}){let[i,l,a,d]=Bn({sourceX:t,sourceY:e,targetX:n,targetY:o});return[`M ${t},${e}L ${n},${o}`,i,l,a,d]}var Zt=(0,y.memo)(({sourceX:t,sourceY:e,targetX:n,targetY:o,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,markerEnd:r,markerStart:g,interactionWidth:h})=>{let[f,m,v]=Qa({sourceX:t,sourceY:e,targetX:n,targetY:o});return y.createElement(at,{path:f,labelX:m,labelY:v,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,markerEnd:r,markerStart:g,interactionWidth:h})});Zt.displayName="StraightEdge";function wt(t,e){return t>=0?.5*t:e*25*Math.sqrt(-t)}function Vn({pos:t,x1:e,y1:n,x2:o,y2:i,c:l}){switch(t){case F.Left:return[e-wt(e-o,l),n];case F.Right:return[e+wt(o-e,l),n];case F.Top:return[e,n-wt(n-i,l)];case F.Bottom:return[e,n+wt(i-n,l)]}}function Xn({sourceX:t,sourceY:e,sourcePosition:n=F.Bottom,targetX:o,targetY:i,targetPosition:l=F.Top,curvature:a=.25}){let[d,s]=Vn({pos:n,x1:t,y1:e,x2:o,y2:i,c:a}),[c,u]=Vn({pos:l,x1:o,y1:i,x2:t,y2:e,c:a}),[r,g,h,f]=zn({sourceX:t,sourceY:e,targetX:o,targetY:i,sourceControlX:d,sourceControlY:s,targetControlX:c,targetControlY:u});return[`M${t},${e} C${d},${s} ${c},${u} ${o},${i}`,r,g,h,f]}var St=(0,y.memo)(({sourceX:t,sourceY:e,targetX:n,targetY:o,sourcePosition:i=F.Bottom,targetPosition:l=F.Top,label:a,labelStyle:d,labelShowBg:s,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:r,style:g,markerEnd:h,markerStart:f,pathOptions:m,interactionWidth:v})=>{let[b,x,_]=Xn({sourceX:t,sourceY:e,sourcePosition:i,targetX:n,targetY:o,targetPosition:l,curvature:m==null?void 0:m.curvature});return y.createElement(at,{path:b,labelX:x,labelY:_,label:a,labelStyle:d,labelShowBg:s,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:r,style:g,markerEnd:h,markerStart:f,interactionWidth:v})});St.displayName="BezierEdge";var Wt=(0,y.createContext)(null),Ja=Wt.Provider;Wt.Consumer;var ei=()=>(0,y.useContext)(Wt),ti=t=>"id"in t&&"source"in t&&"target"in t,ni=({source:t,sourceHandle:e,target:n,targetHandle:o})=>`reactflow__edge-${t}${e||""}-${n}${o||""}`,Kt=(t,e)=>t===void 0?"":typeof t=="string"?t:`${e?`${e}__`:""}${Object.keys(t).sort().map(n=>`${n}=${t[n]}`).join("&")}`,oi=(t,e)=>e.some(n=>n.source===t.source&&n.target===t.target&&(n.sourceHandle===t.sourceHandle||!n.sourceHandle&&!t.sourceHandle)&&(n.targetHandle===t.targetHandle||!n.targetHandle&&!t.targetHandle)),ri=(t,e)=>{if(!t.source||!t.target)return Ee.error006(),e;let n;return n=ti(t)?{...t}:{...t,id:ni(t)},oi(n,e)?e:e.concat(n)},Gt=({x:t,y:e},[n,o,i],l,[a,d])=>{let s={x:(t-n)/i,y:(e-o)/i};return l?{x:a*Math.round(s.x/a),y:d*Math.round(s.y/d)}:s},Yn=({x:t,y:e},[n,o,i])=>({x:t*i+n,y:e*i+o}),Ke=(t,e=[0,0])=>{if(!t)return{x:0,y:0,positionAbsolute:{x:0,y:0}};let n=(t.width??0)*e[0],o=(t.height??0)*e[1],i={x:t.position.x-n,y:t.position.y-o};return{...i,positionAbsolute:t.positionAbsolute?{x:t.positionAbsolute.x-n,y:t.positionAbsolute.y-o}:i}},Ut=(t,e=[0,0])=>t.length===0?{x:0,y:0,width:0,height:0}:Fa(t.reduce((n,o)=>{let{x:i,y:l}=Ke(o,e).positionAbsolute;return Ya(n,Tt({x:i,y:l,width:o.width||0,height:o.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),Fn=(t,e,[n,o,i]=[0,0,1],l=!1,a=!1,d=[0,0])=>{let s={x:(e.x-n)/i,y:(e.y-o)/i,width:e.width/i,height:e.height/i},c=[];return t.forEach(u=>{let{width:r,height:g,selectable:h=!0,hidden:f=!1}=u;if(a&&!h||f)return!1;let{positionAbsolute:m}=Ke(u,d),v=Ht(s,{x:m.x,y:m.y,width:r||0,height:g||0}),b=r===void 0||g===void 0||r===null||g===null,x=l&&v>0,_=(r||0)*(g||0);(b||x||v>=_||u.dragging)&&c.push(u)}),c},Zn=(t,e)=>{let n=t.map(o=>o.id);return e.filter(o=>n.includes(o.source)||n.includes(o.target))},Wn=(t,e,n,o,i,l=.1)=>{let a=e/(t.width*(1+l)),d=n/(t.height*(1+l)),s=Ze(Math.min(a,d),o,i),c=t.x+t.width/2,u=t.y+t.height/2;return{x:e/2-c*s,y:n/2-u*s,zoom:s}},Le=(t,e=0)=>t.transition().duration(e);function Kn(t,e,n,o){return(e[n]||[]).reduce((i,l)=>{var a,d;return`${t.id}-${l.id}-${n}`!==o&&i.push({id:l.id||null,type:n,nodeId:t.id,x:(((a=t.positionAbsolute)==null?void 0:a.x)??0)+l.x+l.width/2,y:(((d=t.positionAbsolute)==null?void 0:d.y)??0)+l.y+l.height/2}),i},[])}function ai(t,e,n,o,i,l){let{x:a,y:d}=Ce(t),s=e.elementsFromPoint(a,d).find(h=>h.classList.contains("react-flow__handle"));if(s){let h=s.getAttribute("data-nodeid");if(h){let f=qt(void 0,s),m=s.getAttribute("data-handleid"),v=l({nodeId:h,id:m,type:f});if(v){let b=i.find(x=>x.nodeId===h&&x.type===f&&x.id===m);return{handle:{id:m,type:f,nodeId:h,x:(b==null?void 0:b.x)||n.x,y:(b==null?void 0:b.y)||n.y},validHandleResult:v}}}}let c=[],u=1/0;if(i.forEach(h=>{let f=Math.sqrt((h.x-n.x)**2+(h.y-n.y)**2);if(f<=o){let m=l(h);f<=u&&(f<u?c=[{handle:h,validHandleResult:m}]:f===u&&c.push({handle:h,validHandleResult:m}),u=f)}}),!c.length)return{handle:null,validHandleResult:Gn()};if(c.length===1)return c[0];let r=c.some(({validHandleResult:h})=>h.isValid),g=c.some(({handle:h})=>h.type==="target");return c.find(({handle:h,validHandleResult:f})=>g?h.type==="target":r?f.isValid:!0)||c[0]}var ii={source:null,target:null,sourceHandle:null,targetHandle:null},Gn=()=>({handleDomNode:null,isValid:!1,connection:ii,endHandle:null});function Un(t,e,n,o,i,l,a){let d=i==="target",s=a.querySelector(`.react-flow__handle[data-id="${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`),c={...Gn(),handleDomNode:s};if(s){let u=qt(void 0,s),r=s.getAttribute("data-nodeid"),g=s.getAttribute("data-handleid"),h=s.classList.contains("connectable"),f=s.classList.contains("connectableend"),m={source:d?r:n,sourceHandle:d?g:o,target:d?n:r,targetHandle:d?o:g};c.connection=m,h&&f&&(e===We.Strict?d&&u==="source"||!d&&u==="target":r!==n||g!==o)&&(c.endHandle={nodeId:r,handleId:g,type:u},c.isValid=l(m))}return c}function si({nodes:t,nodeId:e,handleId:n,handleType:o}){return t.reduce((i,l)=>{if(l[re]){let{handleBounds:a}=l[re],d=[],s=[];a&&(d=Kn(l,a,"source",`${e}-${n}-${o}`),s=Kn(l,a,"target",`${e}-${n}-${o}`)),i.push(...d,...s)}return i},[])}function qt(t,e){return t||(e!=null&&e.classList.contains("target")?"target":e!=null&&e.classList.contains("source")?"source":null)}function Qt(t){t==null||t.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function li(t,e){let n=null;return e?n="valid":t&&!e&&(n="invalid"),n}function qn({event:t,handleId:e,nodeId:n,onConnect:o,isTarget:i,getState:l,setState:a,isValidConnection:d,edgeUpdaterType:s,onReconnectEnd:c}){let u=In(t.target),{connectionMode:r,domNode:g,autoPanOnConnect:h,connectionRadius:f,onConnectStart:m,panBy:v,getNodes:b,cancelConnection:x}=l(),_=0,p,{x:C,y:k}=Ce(t),O=u==null?void 0:u.elementFromPoint(C,k),D=qt(s,O),P=g==null?void 0:g.getBoundingClientRect();if(!P||!D)return;let E,w=Ce(t,P),M=!1,N=null,S=!1,R=null,z=si({nodes:b(),nodeId:n,handleId:e,handleType:D}),$=()=>{if(!h)return;let[T,V]=Dn(w,P);v({x:T,y:V}),_=requestAnimationFrame($)};a({connectionPosition:w,connectionStatus:null,connectionNodeId:n,connectionHandleId:e,connectionHandleType:D,connectionStartHandle:{nodeId:n,handleId:e,type:D},connectionEndHandle:null}),m==null||m(t,{nodeId:n,handleId:e,handleType:D});function Y(T){let{transform:V}=l();w=Ce(T,P);let{handle:X,validHandleResult:W}=ai(T,u,Gt(w,V,!1,[1,1]),f,z,U=>Un(U,r,n,e,i?"target":"source",d,u));if(p=X,M||(M=($(),!0)),R=W.handleDomNode,N=W.connection,S=W.isValid,a({connectionPosition:p&&S?Yn({x:p.x,y:p.y},V):w,connectionStatus:li(!!p,S),connectionEndHandle:W.endHandle}),!p&&!S&&!R)return Qt(E);N.source!==N.target&&R&&(Qt(E),E=R,R.classList.add("connecting","react-flow__handle-connecting"),R.classList.toggle("valid",S),R.classList.toggle("react-flow__handle-valid",S))}function j(T){var V,X;(p||R)&&N&&S&&(o==null||o(N)),(X=(V=l()).onConnectEnd)==null||X.call(V,T),s&&(c==null||c(T)),Qt(E),x(),cancelAnimationFrame(_),M=!1,S=!1,N=null,R=null,u.removeEventListener("mousemove",Y),u.removeEventListener("mouseup",j),u.removeEventListener("touchmove",Y),u.removeEventListener("touchend",j)}u.addEventListener("mousemove",Y),u.addEventListener("mouseup",j),u.addEventListener("touchmove",Y),u.addEventListener("touchend",j)}var Qn=()=>!0,di=t=>({connectionStartHandle:t.connectionStartHandle,connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName}),ci=(t,e,n)=>o=>{let{connectionStartHandle:i,connectionEndHandle:l,connectionClickStartHandle:a}=o;return{connecting:(i==null?void 0:i.nodeId)===t&&(i==null?void 0:i.handleId)===e&&(i==null?void 0:i.type)===n||(l==null?void 0:l.nodeId)===t&&(l==null?void 0:l.handleId)===e&&(l==null?void 0:l.type)===n,clickConnecting:(a==null?void 0:a.nodeId)===t&&(a==null?void 0:a.handleId)===e&&(a==null?void 0:a.type)===n}},Jn=(0,y.forwardRef)(({type:t="source",position:e=F.Top,isValidConnection:n,isConnectable:o=!0,isConnectableStart:i=!0,isConnectableEnd:l=!0,id:a,onConnect:d,children:s,className:c,onMouseDown:u,onTouchStart:r,...g},h)=>{var P,E;let f=a||null,m=t==="target",v=le(),b=ei(),{connectOnClick:x,noPanClassName:_}=ne(di,ue),{connecting:p,clickConnecting:C}=ne(ci(b,f,t),ue);b||((E=(P=v.getState()).onError)==null||E.call(P,"010",Ee.error010()));let k=w=>{let{defaultEdgeOptions:M,onConnect:N,hasDefaultEdges:S}=v.getState(),R={...M,...w};if(S){let{edges:z,setEdges:$}=v.getState();$(ri(R,z))}N==null||N(R),d==null||d(R)},O=w=>{if(!b)return;let M=An(w);i&&(M&&w.button===0||!M)&&qn({event:w,handleId:f,nodeId:b,onConnect:k,isTarget:m,getState:v.getState,setState:v.setState,isValidConnection:n||v.getState().isValidConnection||Qn}),M?u==null||u(w):r==null||r(w)},D=w=>{let{onClickConnectStart:M,onClickConnectEnd:N,connectionClickStartHandle:S,connectionMode:R,isValidConnection:z}=v.getState();if(!b||!S&&!i)return;if(!S){M==null||M(w,{nodeId:b,handleId:f,handleType:t}),v.setState({connectionClickStartHandle:{nodeId:b,type:t,handleId:f}});return}let $=In(w.target),Y=n||z||Qn,{connection:j,isValid:T}=Un({nodeId:b,id:f,type:t},R,S.nodeId,S.handleId||null,S.type,Y,$);T&&k(j),N==null||N(w),v.setState({connectionClickStartHandle:null})};return y.createElement("div",{"data-handleid":f,"data-nodeid":b,"data-handlepos":e,"data-id":`${b}-${f}-${t}`,className:he(["react-flow__handle",`react-flow__handle-${e}`,"nodrag",_,c,{source:!m,target:m,connectable:o,connectablestart:i,connectableend:l,connecting:C,connectionindicator:o&&(i&&!p||l&&p)}]),onMouseDown:O,onTouchStart:O,onClick:x?D:void 0,ref:h,...g},s)});Jn.displayName="Handle";var Ne=(0,y.memo)(Jn),eo=({data:t,isConnectable:e,targetPosition:n=F.Top,sourcePosition:o=F.Bottom})=>y.createElement(y.Fragment,null,y.createElement(Ne,{type:"target",position:n,isConnectable:e}),t==null?void 0:t.label,y.createElement(Ne,{type:"source",position:o,isConnectable:e}));eo.displayName="DefaultNode";var Jt=(0,y.memo)(eo),to=({data:t,isConnectable:e,sourcePosition:n=F.Bottom})=>y.createElement(y.Fragment,null,t==null?void 0:t.label,y.createElement(Ne,{type:"source",position:n,isConnectable:e}));to.displayName="InputNode";var no=(0,y.memo)(to),oo=({data:t,isConnectable:e,targetPosition:n=F.Top})=>y.createElement(y.Fragment,null,y.createElement(Ne,{type:"target",position:n,isConnectable:e}),t==null?void 0:t.label);oo.displayName="OutputNode";var ro=(0,y.memo)(oo),en=()=>null;en.displayName="GroupNode";var ui=t=>({selectedNodes:t.getNodes().filter(e=>e.selected),selectedEdges:t.edges.filter(e=>e.selected).map(e=>({...e}))}),Ct=t=>t.id;function hi(t,e){return ue(t.selectedNodes.map(Ct),e.selectedNodes.map(Ct))&&ue(t.selectedEdges.map(Ct),e.selectedEdges.map(Ct))}var ao=(0,y.memo)(({onSelectionChange:t})=>{let e=le(),{selectedNodes:n,selectedEdges:o}=ne(ui,hi);return(0,y.useEffect)(()=>{let i={nodes:n,edges:o};t==null||t(i),e.getState().onSelectionChange.forEach(l=>l(i))},[n,o,t]),null});ao.displayName="SelectionListener";var gi=t=>!!t.onSelectionChange;function mi({onSelectionChange:t}){let e=ne(gi);return t||e?y.createElement(ao,{onSelectionChange:t}):null}var fi=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset});function Ge(t,e){(0,y.useEffect)(()=>{t!==void 0&&e(t)},[t])}function Q(t,e,n){(0,y.useEffect)(()=>{e!==void 0&&n({[t]:e})},[e])}var pi=({nodes:t,edges:e,defaultNodes:n,defaultEdges:o,onConnect:i,onConnectStart:l,onConnectEnd:a,onClickConnectStart:d,onClickConnectEnd:s,nodesDraggable:c,nodesConnectable:u,nodesFocusable:r,edgesFocusable:g,edgesUpdatable:h,elevateNodesOnSelect:f,minZoom:m,maxZoom:v,nodeExtent:b,onNodesChange:x,onEdgesChange:_,elementsSelectable:p,connectionMode:C,snapGrid:k,snapToGrid:O,translateExtent:D,connectOnClick:P,defaultEdgeOptions:E,fitView:w,fitViewOptions:M,onNodesDelete:N,onEdgesDelete:S,onNodeDrag:R,onNodeDragStart:z,onNodeDragStop:$,onSelectionDrag:Y,onSelectionDragStart:j,onSelectionDragStop:T,noPanClassName:V,nodeOrigin:X,rfId:W,autoPanOnConnect:U,autoPanOnNodeDrag:I,onError:A,connectionRadius:B,isValidConnection:H,nodeDragThreshold:Z})=>{let{setNodes:G,setEdges:ee,setDefaultNodesAndEdges:ae,setMinZoom:ge,setMaxZoom:oe,setTranslateExtent:J,setNodeExtent:de,reset:te}=ne(fi,ue),K=le();return(0,y.useEffect)(()=>{let me=o==null?void 0:o.map(_e=>({..._e,...E}));return ae(n,me),()=>{te()}},[]),Q("defaultEdgeOptions",E,K.setState),Q("connectionMode",C,K.setState),Q("onConnect",i,K.setState),Q("onConnectStart",l,K.setState),Q("onConnectEnd",a,K.setState),Q("onClickConnectStart",d,K.setState),Q("onClickConnectEnd",s,K.setState),Q("nodesDraggable",c,K.setState),Q("nodesConnectable",u,K.setState),Q("nodesFocusable",r,K.setState),Q("edgesFocusable",g,K.setState),Q("edgesUpdatable",h,K.setState),Q("elementsSelectable",p,K.setState),Q("elevateNodesOnSelect",f,K.setState),Q("snapToGrid",O,K.setState),Q("snapGrid",k,K.setState),Q("onNodesChange",x,K.setState),Q("onEdgesChange",_,K.setState),Q("connectOnClick",P,K.setState),Q("fitViewOnInit",w,K.setState),Q("fitViewOnInitOptions",M,K.setState),Q("onNodesDelete",N,K.setState),Q("onEdgesDelete",S,K.setState),Q("onNodeDrag",R,K.setState),Q("onNodeDragStart",z,K.setState),Q("onNodeDragStop",$,K.setState),Q("onSelectionDrag",Y,K.setState),Q("onSelectionDragStart",j,K.setState),Q("onSelectionDragStop",T,K.setState),Q("noPanClassName",V,K.setState),Q("nodeOrigin",X,K.setState),Q("rfId",W,K.setState),Q("autoPanOnConnect",U,K.setState),Q("autoPanOnNodeDrag",I,K.setState),Q("onError",A,K.setState),Q("connectionRadius",B,K.setState),Q("isValidConnection",H,K.setState),Q("nodeDragThreshold",Z,K.setState),Ge(t,G),Ge(e,ee),Ge(m,ge),Ge(v,oe),Ge(D,J),Ge(b,de),null},io={display:"none"},yi={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},so="react-flow__node-desc",lo="react-flow__edge-desc",vi="react-flow__aria-live",bi=t=>t.ariaLiveMessage;function xi({rfId:t}){let e=ne(bi);return y.createElement("div",{id:`${vi}-${t}`,"aria-live":"assertive","aria-atomic":"true",style:yi},e)}function Ei({rfId:t,disableKeyboardA11y:e}){return y.createElement(y.Fragment,null,y.createElement("div",{id:`${so}-${t}`,style:io},"Press enter or space to select a node.",!e&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),y.createElement("div",{id:`${lo}-${t}`,style:io},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!e&&y.createElement(xi,{rfId:t}))}var lt=(t=null,e={actInsideInputWithModifier:!0})=>{let[n,o]=(0,y.useState)(!1),i=(0,y.useRef)(!1),l=(0,y.useRef)(new Set([])),[a,d]=(0,y.useMemo)(()=>{if(t!==null){let s=(Array.isArray(t)?t:[t]).filter(c=>typeof c=="string").map(c=>c.split("+"));return[s,s.reduce((c,u)=>c.concat(...u),[])]}return[[],[]]},[t]);return(0,y.useEffect)(()=>{let s=typeof document<"u"?document:null,c=(e==null?void 0:e.target)||s;if(t!==null){let u=h=>{if(i.current=h.ctrlKey||h.metaKey||h.shiftKey,(!i.current||i.current&&!e.actInsideInputWithModifier)&&Vt(h))return!1;let f=uo(h.code,d);l.current.add(h[f]),co(a,l.current,!1)&&(h.preventDefault(),o(!0))},r=h=>{if((!i.current||i.current&&!e.actInsideInputWithModifier)&&Vt(h))return!1;let f=uo(h.code,d);co(a,l.current,!0)?(o(!1),l.current.clear()):l.current.delete(h[f]),h.key==="Meta"&&l.current.clear(),i.current=!1},g=()=>{l.current.clear(),o(!1)};return c==null||c.addEventListener("keydown",u),c==null||c.addEventListener("keyup",r),window.addEventListener("blur",g),()=>{c==null||c.removeEventListener("keydown",u),c==null||c.removeEventListener("keyup",r),window.removeEventListener("blur",g)}}},[t,o]),n};function co(t,e,n){return t.filter(o=>n||o.length===e.size).some(o=>o.every(i=>e.has(i)))}function uo(t,e){return e.includes(t)?"code":"key"}function ho(t,e,n,o){var d,s;let i=t.parentNode||t.parentId;if(!i)return n;let l=e.get(i),a=Ke(l,o);return ho(l,e,{x:(n.x??0)+a.x,y:(n.y??0)+a.y,z:(((d=l[re])==null?void 0:d.z)??0)>(n.z??0)?((s=l[re])==null?void 0:s.z)??0:n.z??0},o)}function go(t,e,n){t.forEach(o=>{var l;let i=o.parentNode||o.parentId;if(i&&!t.has(i))throw Error(`Parent node ${i} not found`);if(i||n!=null&&n[o.id]){let{x:a,y:d,z:s}=ho(o,t,{...o.position,z:((l=o[re])==null?void 0:l.z)??0},e);o.positionAbsolute={x:a,y:d},o[re].z=s,n!=null&&n[o.id]&&(o[re].isParent=!0)}})}function tn(t,e,n,o){let i=new Map,l={},a=o?1e3:0;return t.forEach(d=>{var h;let s=(pe(d.zIndex)?d.zIndex:0)+(d.selected?a:0),c=e.get(d.id),u={...d,positionAbsolute:{x:d.position.x,y:d.position.y}},r=d.parentNode||d.parentId;r&&(l[r]=!0);let g=(c==null?void 0:c.type)&&(c==null?void 0:c.type)!==d.type;Object.defineProperty(u,re,{enumerable:!1,value:{handleBounds:g||(h=c==null?void 0:c[re])==null?void 0:h.handleBounds,z:s}}),i.set(d.id,u)}),go(i,n,l),i}function mo(t,e={}){let{getNodes:n,width:o,height:i,minZoom:l,maxZoom:a,d3Zoom:d,d3Selection:s,fitViewOnInitDone:c,fitViewOnInit:u,nodeOrigin:r}=t(),g=e.initial&&!c&&u;if(d&&s&&(g||!e.initial)){let h=n().filter(m=>{var b;let v=e.includeHiddenNodes?m.width&&m.height:!m.hidden;return(b=e.nodes)!=null&&b.length?v&&e.nodes.some(x=>x.id===m.id):v}),f=h.every(m=>m.width&&m.height);if(h.length>0&&f){let{x:m,y:v,zoom:b}=Wn(Ut(h,r),o,i,e.minZoom??l,e.maxZoom??a,e.padding??.1),x=Fe.translate(m,v).scale(b);return typeof e.duration=="number"&&e.duration>0?d.transform(Le(s,e.duration),x):d.transform(s,x),!0}}return!1}function wi(t,e){return t.forEach(n=>{let o=e.get(n.id);o&&e.set(o.id,{...o,[re]:o[re],selected:n.selected})}),new Map(e)}function Si(t,e){return e.map(n=>{let o=t.find(i=>i.id===n.id);return o&&(n.selected=o.selected),n})}function Nt({changedNodes:t,changedEdges:e,get:n,set:o}){let{nodeInternals:i,edges:l,onNodesChange:a,onEdgesChange:d,hasDefaultNodes:s,hasDefaultEdges:c}=n();t!=null&&t.length&&(s&&o({nodeInternals:wi(t,i)}),a==null||a(t)),e!=null&&e.length&&(c&&o({edges:Si(e,l)}),d==null||d(e))}var Ue=()=>{},Ci={zoomIn:Ue,zoomOut:Ue,zoomTo:Ue,getZoom:()=>1,setViewport:Ue,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:Ue,fitBounds:Ue,project:t=>t,screenToFlowPosition:t=>t,flowToScreenPosition:t=>t,viewportInitialized:!1},Ni=t=>({d3Zoom:t.d3Zoom,d3Selection:t.d3Selection}),ki=()=>{let t=le(),{d3Zoom:e,d3Selection:n}=ne(Ni,ue);return(0,y.useMemo)(()=>n&&e?{zoomIn:o=>e.scaleBy(Le(n,o==null?void 0:o.duration),1.2),zoomOut:o=>e.scaleBy(Le(n,o==null?void 0:o.duration),1/1.2),zoomTo:(o,i)=>e.scaleTo(Le(n,i==null?void 0:i.duration),o),getZoom:()=>t.getState().transform[2],setViewport:(o,i)=>{let[l,a,d]=t.getState().transform,s=Fe.translate(o.x??l,o.y??a).scale(o.zoom??d);e.transform(Le(n,i==null?void 0:i.duration),s)},getViewport:()=>{let[o,i,l]=t.getState().transform;return{x:o,y:i,zoom:l}},fitView:o=>mo(t.getState,o),setCenter:(o,i,l)=>{let{width:a,height:d,maxZoom:s}=t.getState(),c=(l==null?void 0:l.zoom)===void 0?s:l.zoom,u=a/2-o*c,r=d/2-i*c,g=Fe.translate(u,r).scale(c);e.transform(Le(n,l==null?void 0:l.duration),g)},fitBounds:(o,i)=>{let{width:l,height:a,minZoom:d,maxZoom:s}=t.getState(),{x:c,y:u,zoom:r}=Wn(o,l,a,d,s,(i==null?void 0:i.padding)??.1),g=Fe.translate(c,u).scale(r);e.transform(Le(n,i==null?void 0:i.duration),g)},project:o=>{let{transform:i,snapToGrid:l,snapGrid:a}=t.getState();return console.warn("[DEPRECATED] `project` is deprecated. Instead use `screenToFlowPosition`. There is no need to subtract the react flow bounds anymore! https://reactflow.dev/api-reference/types/react-flow-instance#screen-to-flow-position"),Gt(o,i,l,a)},screenToFlowPosition:o=>{let{transform:i,snapToGrid:l,snapGrid:a,domNode:d}=t.getState();if(!d)return o;let{x:s,y:c}=d.getBoundingClientRect();return Gt({x:o.x-s,y:o.y-c},i,l,a)},flowToScreenPosition:o=>{let{transform:i,domNode:l}=t.getState();if(!l)return o;let{x:a,y:d}=l.getBoundingClientRect(),s=Yn(o,i);return{x:s.x+a,y:s.y+d}},viewportInitialized:!0}:Ci,[e,n])};function dt(){let t=ki(),e=le(),n=(0,y.useCallback)(()=>e.getState().getNodes().map(m=>({...m})),[]),o=(0,y.useCallback)(m=>e.getState().nodeInternals.get(m),[]),i=(0,y.useCallback)(()=>{let{edges:m=[]}=e.getState();return m.map(v=>({...v}))},[]),l=(0,y.useCallback)(m=>{let{edges:v=[]}=e.getState();return v.find(b=>b.id===m)},[]),a=(0,y.useCallback)(m=>{let{getNodes:v,setNodes:b,hasDefaultNodes:x,onNodesChange:_}=e.getState(),p=v(),C=typeof m=="function"?m(p):m;x?b(C):_&&_(C.length===0?p.map(k=>({type:"remove",id:k.id})):C.map(k=>({item:k,type:"reset"})))},[]),d=(0,y.useCallback)(m=>{let{edges:v=[],setEdges:b,hasDefaultEdges:x,onEdgesChange:_}=e.getState(),p=typeof m=="function"?m(v):m;x?b(p):_&&_(p.length===0?v.map(C=>({type:"remove",id:C.id})):p.map(C=>({item:C,type:"reset"})))},[]),s=(0,y.useCallback)(m=>{let v=Array.isArray(m)?m:[m],{getNodes:b,setNodes:x,hasDefaultNodes:_,onNodesChange:p}=e.getState();_?x([...b(),...v]):p&&p(v.map(C=>({item:C,type:"add"})))},[]),c=(0,y.useCallback)(m=>{let v=Array.isArray(m)?m:[m],{edges:b=[],setEdges:x,hasDefaultEdges:_,onEdgesChange:p}=e.getState();_?x([...b,...v]):p&&p(v.map(C=>({item:C,type:"add"})))},[]),u=(0,y.useCallback)(()=>{let{getNodes:m,edges:v=[],transform:b}=e.getState(),[x,_,p]=b;return{nodes:m().map(C=>({...C})),edges:v.map(C=>({...C})),viewport:{x,y:_,zoom:p}}},[]),r=(0,y.useCallback)(({nodes:m,edges:v})=>{let{nodeInternals:b,getNodes:x,edges:_,hasDefaultNodes:p,hasDefaultEdges:C,onNodesDelete:k,onEdgesDelete:O,onNodesChange:D,onEdgesChange:P}=e.getState(),E=(m||[]).map(R=>R.id),w=(v||[]).map(R=>R.id),M=x().reduce((R,z)=>{let $=z.parentNode||z.parentId,Y=!E.includes(z.id)&&$&&R.find(j=>j.id===$);return(typeof z.deletable!="boolean"||z.deletable)&&(E.includes(z.id)||Y)&&R.push(z),R},[]),N=_.filter(R=>typeof R.deletable=="boolean"?R.deletable:!0),S=N.filter(R=>w.includes(R.id));if(M||S){let R=Zn(M,N),z=[...S,...R],$=z.reduce((Y,j)=>(Y.includes(j.id)||Y.push(j.id),Y),[]);(C||p)&&(C&&e.setState({edges:_.filter(Y=>!$.includes(Y.id))}),p&&(M.forEach(Y=>{b.delete(Y.id)}),e.setState({nodeInternals:new Map(b)}))),$.length>0&&(O==null||O(z),P&&P($.map(Y=>({id:Y,type:"remove"})))),M.length>0&&(k==null||k(M),D&&D(M.map(Y=>({id:Y.id,type:"remove"}))))}},[]),g=(0,y.useCallback)(m=>{let v=Za(m),b=v?null:e.getState().nodeInternals.get(m.id);return!v&&!b?[null,null,v]:[v?m:jn(b),b,v]},[]),h=(0,y.useCallback)((m,v=!0,b)=>{let[x,_,p]=g(m);return x?(b||e.getState().getNodes()).filter(C=>{if(!p&&(C.id===_.id||!C.positionAbsolute))return!1;let k=Ht(jn(C),x);return v&&k>0||k>=x.width*x.height}):[]},[]),f=(0,y.useCallback)((m,v,b=!0)=>{let[x]=g(m);if(!x)return!1;let _=Ht(x,v);return b&&_>0||_>=x.width*x.height},[]);return(0,y.useMemo)(()=>({...t,getNodes:n,getNode:o,getEdges:i,getEdge:l,setNodes:a,setEdges:d,addNodes:s,addEdges:c,toObject:u,deleteElements:r,getIntersectingNodes:h,isNodeIntersecting:f}),[t,n,o,i,l,a,d,s,c,u,r,h,f])}var Mi={actInsideInputWithModifier:!1},_i=({deleteKeyCode:t,multiSelectionKeyCode:e})=>{let n=le(),{deleteElements:o}=dt(),i=lt(t,Mi),l=lt(e);(0,y.useEffect)(()=>{if(i){let{edges:a,getNodes:d}=n.getState();o({nodes:d().filter(s=>s.selected),edges:a.filter(s=>s.selected)}),n.setState({nodesSelectionActive:!1})}},[i]),(0,y.useEffect)(()=>{n.setState({multiSelectionActive:l})},[l])};function Oi(t){let e=le();(0,y.useEffect)(()=>{let n,o=()=>{var l,a;if(!t.current)return;let i=Lt(t.current);(i.height===0||i.width===0)&&((a=(l=e.getState()).onError)==null||a.call(l,"004",Ee.error004())),e.setState({width:i.width||500,height:i.height||500})};return o(),window.addEventListener("resize",o),t.current&&(n=new ResizeObserver(()=>o()),n.observe(t.current)),()=>{window.removeEventListener("resize",o),n&&t.current&&n.unobserve(t.current)}},[])}var nn={position:"absolute",width:"100%",height:"100%",top:0,left:0},Pi=(t,e)=>t.x!==e.x||t.y!==e.y||t.zoom!==e.k,kt=t=>({x:t.x,y:t.y,zoom:t.k}),qe=(t,e)=>t.target.closest(`.${e}`),fo=(t,e)=>e===2&&Array.isArray(t)&&t.includes(2),po=t=>{let e=t.ctrlKey&&bt()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*e},Di=t=>({d3Zoom:t.d3Zoom,d3Selection:t.d3Selection,d3ZoomHandler:t.d3ZoomHandler,userSelectionActive:t.userSelectionActive}),Ii=({onMove:t,onMoveStart:e,onMoveEnd:n,onPaneContextMenu:o,zoomOnScroll:i=!0,zoomOnPinch:l=!0,panOnScroll:a=!1,panOnScrollSpeed:d=.5,panOnScrollMode:s=Be.Free,zoomOnDoubleClick:c=!0,elementsSelectable:u,panOnDrag:r=!0,defaultViewport:g,translateExtent:h,minZoom:f,maxZoom:m,zoomActivationKeyCode:v,preventScrolling:b=!0,children:x,noWheelClassName:_,noPanClassName:p})=>{let C=(0,y.useRef)(),k=le(),O=(0,y.useRef)(!1),D=(0,y.useRef)(!1),P=(0,y.useRef)(null),E=(0,y.useRef)({x:0,y:0,zoom:0}),{d3Zoom:w,d3Selection:M,d3ZoomHandler:N,userSelectionActive:S}=ne(Di,ue),R=lt(v),z=(0,y.useRef)(0),$=(0,y.useRef)(!1),Y=(0,y.useRef)();return Oi(P),(0,y.useEffect)(()=>{if(P.current){let j=P.current.getBoundingClientRect(),T=Sa().scaleExtent([f,m]).translateExtent(h),V=ft(P.current).call(T),X=Fe.translate(g.x,g.y).scale(Ze(g.zoom,f,m)),W=[[0,0],[j.width,j.height]],U=T.constrain()(X,W,h);T.transform(V,U),T.wheelDelta(po),k.setState({d3Zoom:T,d3Selection:V,d3ZoomHandler:V.on("wheel.zoom"),transform:[U.x,U.y,U.k],domNode:P.current.closest(".react-flow")})}},[]),(0,y.useEffect)(()=>{M&&w&&(a&&!R&&!S?M.on("wheel.zoom",j=>{if(qe(j,_))return!1;j.preventDefault(),j.stopImmediatePropagation();let T=M.property("__zoom").k||1;if(j.ctrlKey&&l){let H=Bt(j),Z=T*2**po(j);w.scaleTo(M,Z,H,j);return}let V=j.deltaMode===1?20:1,X=s===Be.Vertical?0:j.deltaX*V,W=s===Be.Horizontal?0:j.deltaY*V;!bt()&&j.shiftKey&&s!==Be.Vertical&&(X=j.deltaY*V,W=0),w.translateBy(M,-(X/T)*d,-(W/T)*d,{internal:!0});let U=kt(M.property("__zoom")),{onViewportChangeStart:I,onViewportChange:A,onViewportChangeEnd:B}=k.getState();clearTimeout(Y.current),$.current||($.current=!0,e==null||e(j,U),I==null||I(U)),$.current&&(t==null||t(j,U),A==null||A(U),Y.current=setTimeout(()=>{n==null||n(j,U),B==null||B(U),$.current=!1},150))},{passive:!1}):N!==void 0&&M.on("wheel.zoom",function(j,T){if(!b&&j.type==="wheel"&&!j.ctrlKey||qe(j,_))return null;j.preventDefault(),N.call(this,j,T)},{passive:!1}))},[S,a,s,M,w,N,R,l,b,_,e,t,n]),(0,y.useEffect)(()=>{w&&w.on("start",j=>{var X,W;if(!j.sourceEvent||j.sourceEvent.internal)return null;z.current=(X=j.sourceEvent)==null?void 0:X.button;let{onViewportChangeStart:T}=k.getState(),V=kt(j.transform);O.current=!0,E.current=V,((W=j.sourceEvent)==null?void 0:W.type)==="mousedown"&&k.setState({paneDragging:!0}),T==null||T(V),e==null||e(j.sourceEvent,V)})},[w,e]),(0,y.useEffect)(()=>{w&&(S&&!O.current?w.on("zoom",null):S||w.on("zoom",j=>{var V;let{onViewportChange:T}=k.getState();if(k.setState({transform:[j.transform.x,j.transform.y,j.transform.k]}),D.current=!!(o&&fo(r,z.current??0)),(t||T)&&!((V=j.sourceEvent)!=null&&V.internal)){let X=kt(j.transform);T==null||T(X),t==null||t(j.sourceEvent,X)}}))},[S,w,t,r,o]),(0,y.useEffect)(()=>{w&&w.on("end",j=>{if(!j.sourceEvent||j.sourceEvent.internal)return null;let{onViewportChangeEnd:T}=k.getState();if(O.current=!1,k.setState({paneDragging:!1}),o&&fo(r,z.current??0)&&!D.current&&o(j.sourceEvent),D.current=!1,(n||T)&&Pi(E.current,j.transform)){let V=kt(j.transform);E.current=V,clearTimeout(C.current),C.current=setTimeout(()=>{T==null||T(V),n==null||n(j.sourceEvent,V)},a?150:0)}})},[w,a,r,n,o]),(0,y.useEffect)(()=>{w&&w.filter(j=>{let T=R||i,V=l&&j.ctrlKey;if((r===!0||Array.isArray(r)&&r.includes(1))&&j.button===1&&j.type==="mousedown"&&(qe(j,"react-flow__node")||qe(j,"react-flow__edge")))return!0;if(!r&&!T&&!a&&!c&&!l||S||!c&&j.type==="dblclick"||qe(j,_)&&j.type==="wheel"||qe(j,p)&&(j.type!=="wheel"||a&&j.type==="wheel"&&!R)||!l&&j.ctrlKey&&j.type==="wheel"||!T&&!a&&!V&&j.type==="wheel"||!r&&(j.type==="mousedown"||j.type==="touchstart")||Array.isArray(r)&&!r.includes(j.button)&&j.type==="mousedown")return!1;let X=Array.isArray(r)&&r.includes(j.button)||!j.button||j.button<=1;return(!j.ctrlKey||j.type==="wheel")&&X})},[S,w,i,l,a,c,r,u,R]),y.createElement("div",{className:"react-flow__renderer",ref:P,style:nn},x)},ji=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function Ri(){let{userSelectionActive:t,userSelectionRect:e}=ne(ji,ue);return t&&e?y.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:e.width,height:e.height,transform:`translate(${e.x}px, ${e.y}px)`}}):null}function yo(t,e){let n=e.parentNode||e.parentId,o=t.find(i=>i.id===n);if(o){let i=e.position.x+e.width-o.width,l=e.position.y+e.height-o.height;if(i>0||l>0||e.position.x<0||e.position.y<0){if(o.style={...o.style},o.style.width=o.style.width??o.width,o.style.height=o.style.height??o.height,i>0&&(o.style.width+=i),l>0&&(o.style.height+=l),e.position.x<0){let a=Math.abs(e.position.x);o.position.x=o.position.x-a,o.style.width+=a,e.position.x=0}if(e.position.y<0){let a=Math.abs(e.position.y);o.position.y=o.position.y-a,o.style.height+=a,e.position.y=0}o.width=o.style.width,o.height=o.style.height}}}function vo(t,e){if(t.some(o=>o.type==="reset"))return t.filter(o=>o.type==="reset").map(o=>o.item);let n=t.filter(o=>o.type==="add").map(o=>o.item);return e.reduce((o,i)=>{let l=t.filter(d=>d.id===i.id);if(l.length===0)return o.push(i),o;let a={...i};for(let d of l)if(d)switch(d.type){case"select":a.selected=d.selected;break;case"position":d.position!==void 0&&(a.position=d.position),d.positionAbsolute!==void 0&&(a.positionAbsolute=d.positionAbsolute),d.dragging!==void 0&&(a.dragging=d.dragging),a.expandParent&&yo(o,a);break;case"dimensions":d.dimensions!==void 0&&(a.width=d.dimensions.width,a.height=d.dimensions.height),d.updateStyle!==void 0&&(a.style={...a.style||{},...d.dimensions}),typeof d.resizing=="boolean"&&(a.resizing=d.resizing),a.expandParent&&yo(o,a);break;case"remove":return o}return o.push(a),o},n)}function bo(t,e){return vo(t,e)}function Ai(t,e){return vo(t,e)}var ke=(t,e)=>({id:t,type:"select",selected:e});function Qe(t,e){return t.reduce((n,o)=>{let i=e.includes(o.id);return!o.selected&&i?(o.selected=!0,n.push(ke(o.id,!0))):o.selected&&!i&&(o.selected=!1,n.push(ke(o.id,!1))),n},[])}var on=(t,e)=>n=>{n.target===e.current&&(t==null||t(n))},Bi=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,dragging:t.paneDragging}),xo=(0,y.memo)(({isSelecting:t,selectionMode:e=xt.Full,panOnDrag:n,onSelectionStart:o,onSelectionEnd:i,onPaneClick:l,onPaneContextMenu:a,onPaneScroll:d,onPaneMouseEnter:s,onPaneMouseMove:c,onPaneMouseLeave:u,children:r})=>{let g=(0,y.useRef)(null),h=le(),f=(0,y.useRef)(0),m=(0,y.useRef)(0),v=(0,y.useRef)(),{userSelectionActive:b,elementsSelectable:x,dragging:_}=ne(Bi,ue),p=()=>{h.setState({userSelectionActive:!1,userSelectionRect:null}),f.current=0,m.current=0},C=N=>{l==null||l(N),h.getState().resetSelectedElements(),h.setState({nodesSelectionActive:!1})},k=N=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){N.preventDefault();return}a==null||a(N)},O=d?N=>d(N):void 0,D=N=>{let{resetSelectedElements:S,domNode:R}=h.getState();if(v.current=R==null?void 0:R.getBoundingClientRect(),!x||!t||N.button!==0||N.target!==g.current||!v.current)return;let{x:z,y:$}=Ce(N,v.current);S(),h.setState({userSelectionRect:{width:0,height:0,startX:z,startY:$,x:z,y:$}}),o==null||o(N)},P=N=>{let{userSelectionRect:S,nodeInternals:R,edges:z,transform:$,onNodesChange:Y,onEdgesChange:j,nodeOrigin:T,getNodes:V}=h.getState();if(!t||!v.current||!S)return;h.setState({userSelectionActive:!0,nodesSelectionActive:!1});let X=Ce(N,v.current),W=S.startX??0,U=S.startY??0,I={...S,x:X.x<W?X.x:W,y:X.y<U?X.y:U,width:Math.abs(X.x-W),height:Math.abs(X.y-U)},A=V(),B=Fn(R,I,$,e===xt.Partial,!0,T),H=Zn(B,z).map(G=>G.id),Z=B.map(G=>G.id);if(f.current!==Z.length){f.current=Z.length;let G=Qe(A,Z);G.length&&(Y==null||Y(G))}if(m.current!==H.length){m.current=H.length;let G=Qe(z,H);G.length&&(j==null||j(G))}h.setState({userSelectionRect:I})},E=N=>{if(N.button!==0)return;let{userSelectionRect:S}=h.getState();!b&&S&&N.target===g.current&&(C==null||C(N)),h.setState({nodesSelectionActive:f.current>0}),p(),i==null||i(N)},w=N=>{b&&(h.setState({nodesSelectionActive:f.current>0}),i==null||i(N)),p()},M=x&&(t||b);return y.createElement("div",{className:he(["react-flow__pane",{dragging:_,selection:t}]),onClick:M?void 0:on(C,g),onContextMenu:on(k,g),onWheel:on(O,g),onMouseEnter:M?void 0:s,onMouseDown:M?D:void 0,onMouseMove:M?P:c,onMouseUp:M?E:void 0,onMouseLeave:M?w:u,ref:g,style:nn},r,y.createElement(Ri,null))});xo.displayName="Pane";function Eo(t,e){let n=t.parentNode||t.parentId;if(!n)return!1;let o=e.get(n);return o?o.selected?!0:Eo(o,e):!1}function wo(t,e,n){let o=t;do{if(o!=null&&o.matches(e))return!0;if(o===n.current)return!1;o=o.parentElement}while(o);return!1}function zi(t,e,n,o){return Array.from(t.values()).filter(i=>(i.selected||i.id===o)&&(!i.parentNode||i.parentId||!Eo(i,t))&&(i.draggable||e&&i.draggable===void 0)).map(i=>{var l,a;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((l=i.positionAbsolute)==null?void 0:l.x)??0),y:n.y-(((a=i.positionAbsolute)==null?void 0:a.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode||i.parentId,parentId:i.parentNode||i.parentId,width:i.width,height:i.height,expandParent:i.expandParent}})}function Li(t,e){return!e||e==="parent"?e:[e[0],[e[1][0]-(t.width||0),e[1][1]-(t.height||0)]]}function So(t,e,n,o,i=[0,0],l){let a=Li(t,t.extent||o),d=a,s=t.parentNode||t.parentId;if(t.extent==="parent"&&!t.expandParent)if(s&&t.width&&t.height){let r=n.get(s),{x:g,y:h}=Ke(r,i).positionAbsolute;d=r&&pe(g)&&pe(h)&&pe(r.width)&&pe(r.height)?[[g+t.width*i[0],h+t.height*i[1]],[g+r.width-t.width+t.width*i[0],h+r.height-t.height+t.height*i[1]]]:d}else l==null||l("005",Ee.error005()),d=a;else if(t.extent&&s&&t.extent!=="parent"){let{x:r,y:g}=Ke(n.get(s),i).positionAbsolute;d=[[t.extent[0][0]+r,t.extent[0][1]+g],[t.extent[1][0]+r,t.extent[1][1]+g]]}let c={x:0,y:0};s&&(c=Ke(n.get(s),i).positionAbsolute);let u=d&&d!=="parent"?$t(e,d):e;return{position:{x:u.x-c.x,y:u.y-c.y},positionAbsolute:u}}function rn({nodeId:t,dragItems:e,nodeInternals:n}){let o=e.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[t?o.find(i=>i.id===t):o[0],o]}var Co=(t,e,n,o)=>{let i=e.querySelectorAll(t);if(!i||!i.length)return null;let l=Array.from(i),a=e.getBoundingClientRect(),d={x:a.width*o[0],y:a.height*o[1]};return l.map(s=>{let c=s.getBoundingClientRect();return{id:s.getAttribute("data-handleid"),position:s.getAttribute("data-handlepos"),x:(c.left-a.left-d.x)/n,y:(c.top-a.top-d.y)/n,...Lt(s)}})};function ct(t,e,n){return n===void 0?n:o=>{let i=e().nodeInternals.get(t);i&&n(o,{...i})}}function an({id:t,store:e,unselect:n=!1,nodeRef:o}){let{addSelectedNodes:i,unselectNodesAndEdges:l,multiSelectionActive:a,nodeInternals:d,onError:s}=e.getState(),c=d.get(t);if(!c){s==null||s("012",Ee.error012(t));return}e.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&a)&&(l({nodes:[c],edges:[]}),requestAnimationFrame(()=>{var u;return(u=o==null?void 0:o.current)==null?void 0:u.blur()})):i([t])}function $i(){let t=le();return(0,y.useCallback)(({sourceEvent:e})=>{let{transform:n,snapGrid:o,snapToGrid:i}=t.getState(),l=e.touches?e.touches[0].clientX:e.clientX,a=e.touches?e.touches[0].clientY:e.clientY,d={x:(l-n[0])/n[2],y:(a-n[1])/n[2]};return{xSnapped:i?o[0]*Math.round(d.x/o[0]):d.x,ySnapped:i?o[1]*Math.round(d.y/o[1]):d.y,...d}},[])}function sn(t){return(e,n,o)=>t==null?void 0:t(e,o)}function No({nodeRef:t,disabled:e=!1,noDragClassName:n,handleSelector:o,nodeId:i,isSelectable:l,selectNodesOnDrag:a}){let d=le(),[s,c]=(0,y.useState)(!1),u=(0,y.useRef)([]),r=(0,y.useRef)({x:null,y:null}),g=(0,y.useRef)(0),h=(0,y.useRef)(null),f=(0,y.useRef)({x:0,y:0}),m=(0,y.useRef)(null),v=(0,y.useRef)(!1),b=(0,y.useRef)(!1),x=(0,y.useRef)(!1),_=$i();return(0,y.useEffect)(()=>{if(t!=null&&t.current){let p=ft(t.current),C=({x:D,y:P})=>{let{nodeInternals:E,onNodeDrag:w,onSelectionDrag:M,updateNodePositions:N,nodeExtent:S,snapGrid:R,snapToGrid:z,nodeOrigin:$,onError:Y}=d.getState();r.current={x:D,y:P};let j=!1,T={x:0,y:0,x2:0,y2:0};if(u.current.length>1&&S&&(T=Tt(Ut(u.current,$))),u.current=u.current.map(X=>{let W={x:D-X.distance.x,y:P-X.distance.y};z&&(W.x=R[0]*Math.round(W.x/R[0]),W.y=R[1]*Math.round(W.y/R[1]));let U=[[S[0][0],S[0][1]],[S[1][0],S[1][1]]];u.current.length>1&&S&&!X.extent&&(U[0][0]=X.positionAbsolute.x-T.x+S[0][0],U[1][0]=X.positionAbsolute.x+(X.width??0)-T.x2+S[1][0],U[0][1]=X.positionAbsolute.y-T.y+S[0][1],U[1][1]=X.positionAbsolute.y+(X.height??0)-T.y2+S[1][1]);let I=So(X,W,E,U,$,Y);return j=j||X.position.x!==I.position.x||X.position.y!==I.position.y,X.position=I.position,X.positionAbsolute=I.positionAbsolute,X}),!j)return;N(u.current,!0,!0),c(!0);let V=i?w:sn(M);if(V&&m.current){let[X,W]=rn({nodeId:i,dragItems:u.current,nodeInternals:E});V(m.current,X,W)}},k=()=>{if(!h.current)return;let[D,P]=Dn(f.current,h.current);if(D!==0||P!==0){let{transform:E,panBy:w}=d.getState();r.current.x=(r.current.x??0)-D/E[2],r.current.y=(r.current.y??0)-P/E[2],w({x:D,y:P})&&C(r.current)}g.current=requestAnimationFrame(k)},O=D=>{var $;let{nodeInternals:P,multiSelectionActive:E,nodesDraggable:w,unselectNodesAndEdges:M,onNodeDragStart:N,onSelectionDragStart:S}=d.getState();b.current=!0;let R=i?N:sn(S);(!a||!l)&&!E&&i&&(($=P.get(i))!=null&&$.selected||M()),i&&l&&a&&an({id:i,store:d,nodeRef:t});let z=_(D);if(r.current=z,u.current=zi(P,w,z,i),R&&u.current){let[Y,j]=rn({nodeId:i,dragItems:u.current,nodeInternals:P});R(D.sourceEvent,Y,j)}};if(e)p.on(".drag",null);else{let D=$a().on("start",P=>{let{domNode:E,nodeDragThreshold:w}=d.getState();w===0&&O(P),x.current=!1,r.current=_(P),h.current=(E==null?void 0:E.getBoundingClientRect())||null,f.current=Ce(P.sourceEvent,h.current)}).on("drag",P=>{var N,S;let E=_(P),{autoPanOnNodeDrag:w,nodeDragThreshold:M}=d.getState();if(P.sourceEvent.type==="touchmove"&&P.sourceEvent.touches.length>1&&(x.current=!0),!x.current){if(!v.current&&b.current&&w&&(v.current=!0,k()),!b.current){let R=E.xSnapped-(((N=r==null?void 0:r.current)==null?void 0:N.x)??0),z=E.ySnapped-(((S=r==null?void 0:r.current)==null?void 0:S.y)??0);Math.sqrt(R*R+z*z)>M&&O(P)}(r.current.x!==E.xSnapped||r.current.y!==E.ySnapped)&&u.current&&b.current&&(m.current=P.sourceEvent,f.current=Ce(P.sourceEvent,h.current),C(E))}}).on("end",P=>{if(!(!b.current||x.current)&&(c(!1),v.current=!1,b.current=!1,cancelAnimationFrame(g.current),u.current)){let{updateNodePositions:E,nodeInternals:w,onNodeDragStop:M,onSelectionDragStop:N}=d.getState(),S=i?M:sn(N);if(E(u.current,!1,!1),S){let[R,z]=rn({nodeId:i,dragItems:u.current,nodeInternals:w});S(P.sourceEvent,R,z)}}}).filter(P=>{let E=P.target;return!P.button&&(!n||!wo(E,`.${n}`,t))&&(!o||wo(E,o,t))});return p.call(D),()=>{p.on(".drag",null)}}}},[t,e,n,o,l,d,i,a,_]),s}function ko(){let t=le();return(0,y.useCallback)(e=>{let{nodeInternals:n,nodeExtent:o,updateNodePositions:i,getNodes:l,snapToGrid:a,snapGrid:d,onError:s,nodesDraggable:c}=t.getState(),u=l().filter(v=>v.selected&&(v.draggable||c&&v.draggable===void 0)),r=a?d[0]:5,g=a?d[1]:5,h=e.isShiftPressed?4:1,f=e.x*r*h,m=e.y*g*h;i(u.map(v=>{if(v.positionAbsolute){let b={x:v.positionAbsolute.x+f,y:v.positionAbsolute.y+m};a&&(b.x=d[0]*Math.round(b.x/d[0]),b.y=d[1]*Math.round(b.y/d[1]));let{positionAbsolute:x,position:_}=So(v,b,n,o,void 0,s);v.position=_,v.positionAbsolute=x}return v}),!0,!1)},[])}var Je={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},ut=t=>{let e=({id:n,type:o,data:i,xPos:l,yPos:a,xPosOrigin:d,yPosOrigin:s,selected:c,onClick:u,onMouseEnter:r,onMouseMove:g,onMouseLeave:h,onContextMenu:f,onDoubleClick:m,style:v,className:b,isDraggable:x,isSelectable:_,isConnectable:p,isFocusable:C,selectNodesOnDrag:k,sourcePosition:O,targetPosition:D,hidden:P,resizeObserver:E,dragHandle:w,zIndex:M,isParent:N,noDragClassName:S,noPanClassName:R,initialized:z,disableKeyboardA11y:$,ariaLabel:Y,rfId:j,hasHandleBounds:T})=>{let V=le(),X=(0,y.useRef)(null),W=(0,y.useRef)(null),U=(0,y.useRef)(O),I=(0,y.useRef)(D),A=(0,y.useRef)(o),B=_||x||u||r||g||h,H=ko(),Z=ct(n,V.getState,r),G=ct(n,V.getState,g),ee=ct(n,V.getState,h),ae=ct(n,V.getState,f),ge=ct(n,V.getState,m),oe=te=>{let{nodeDragThreshold:K}=V.getState();if(_&&(!k||!x||K>0)&&an({id:n,store:V,nodeRef:X}),u){let me=V.getState().nodeInternals.get(n);me&&u(te,{...me})}},J=te=>{Vt(te)||$||(Rn.includes(te.key)&&_?an({id:n,store:V,unselect:te.key==="Escape",nodeRef:X}):x&&c&&Object.prototype.hasOwnProperty.call(Je,te.key)&&(V.setState({ariaLiveMessage:`Moved selected node ${te.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~l}, y: ${~~a}`}),H({x:Je[te.key].x,y:Je[te.key].y,isShiftPressed:te.shiftKey})))};(0,y.useEffect)(()=>()=>{W.current&&(W.current=(E==null||E.unobserve(W.current),null))},[]),(0,y.useEffect)(()=>{if(X.current&&!P){let te=X.current;(!z||!T||W.current!==te)&&(W.current&&(E==null||E.unobserve(W.current)),E==null||E.observe(te),W.current=te)}},[P,z,T]),(0,y.useEffect)(()=>{let te=A.current!==o,K=U.current!==O,me=I.current!==D;X.current&&(te||K||me)&&(te&&(A.current=o),K&&(U.current=O),me&&(I.current=D),V.getState().updateNodeDimensions([{id:n,nodeElement:X.current,forceUpdate:!0}]))},[n,o,O,D]);let de=No({nodeRef:X,disabled:P||!x,noDragClassName:S,handleSelector:w,nodeId:n,isSelectable:_,selectNodesOnDrag:k});return P?null:y.createElement("div",{className:he(["react-flow__node",`react-flow__node-${o}`,{[R]:x},b,{selected:c,selectable:_,parent:N,dragging:de}]),ref:X,style:{zIndex:M,transform:`translate(${d}px,${s}px)`,pointerEvents:B?"all":"none",visibility:z?"visible":"hidden",...v},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:Z,onMouseMove:G,onMouseLeave:ee,onContextMenu:ae,onClick:oe,onDoubleClick:ge,onKeyDown:C?J:void 0,tabIndex:C?0:void 0,role:C?"button":void 0,"aria-describedby":$?void 0:`${so}-${j}`,"aria-label":Y},y.createElement(Ja,{value:n},y.createElement(t,{id:n,data:i,type:o,xPos:l,yPos:a,selected:c,isConnectable:p,sourcePosition:O,targetPosition:D,dragging:de,dragHandle:w,zIndex:M})))};return e.displayName="NodeWrapper",(0,y.memo)(e)},Ti=t=>({...Ut(t.getNodes().filter(e=>e.selected),t.nodeOrigin),transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`,userSelectionActive:t.userSelectionActive});function Hi({onSelectionContextMenu:t,noPanClassName:e,disableKeyboardA11y:n}){let o=le(),{width:i,height:l,x:a,y:d,transformString:s,userSelectionActive:c}=ne(Ti,ue),u=ko(),r=(0,y.useRef)(null);if((0,y.useEffect)(()=>{var h;n||((h=r.current)==null||h.focus({preventScroll:!0}))},[n]),No({nodeRef:r}),c||!i||!l)return null;let g=t?h=>{t(h,o.getState().getNodes().filter(f=>f.selected))}:void 0;return y.createElement("div",{className:he(["react-flow__nodesselection","react-flow__container",e]),style:{transform:s}},y.createElement("div",{ref:r,className:"react-flow__nodesselection-rect",onContextMenu:g,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h=>{Object.prototype.hasOwnProperty.call(Je,h.key)&&u({x:Je[h.key].x,y:Je[h.key].y,isShiftPressed:h.shiftKey})},style:{width:i,height:l,top:d,left:a}}))}var Vi=(0,y.memo)(Hi),Xi=t=>t.nodesSelectionActive,Mo=({children:t,onPaneClick:e,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:i,onPaneContextMenu:l,onPaneScroll:a,deleteKeyCode:d,onMove:s,onMoveStart:c,onMoveEnd:u,selectionKeyCode:r,selectionOnDrag:g,selectionMode:h,onSelectionStart:f,onSelectionEnd:m,multiSelectionKeyCode:v,panActivationKeyCode:b,zoomActivationKeyCode:x,elementsSelectable:_,zoomOnScroll:p,zoomOnPinch:C,panOnScroll:k,panOnScrollSpeed:O,panOnScrollMode:D,zoomOnDoubleClick:P,panOnDrag:E,defaultViewport:w,translateExtent:M,minZoom:N,maxZoom:S,preventScrolling:R,onSelectionContextMenu:z,noWheelClassName:$,noPanClassName:Y,disableKeyboardA11y:j})=>{let T=ne(Xi),V=lt(r),X=lt(b),W=X||E,U=X||k,I=V||g&&W!==!0;return _i({deleteKeyCode:d,multiSelectionKeyCode:v}),y.createElement(Ii,{onMove:s,onMoveStart:c,onMoveEnd:u,onPaneContextMenu:l,elementsSelectable:_,zoomOnScroll:p,zoomOnPinch:C,panOnScroll:U,panOnScrollSpeed:O,panOnScrollMode:D,zoomOnDoubleClick:P,panOnDrag:!V&&W,defaultViewport:w,translateExtent:M,minZoom:N,maxZoom:S,zoomActivationKeyCode:x,preventScrolling:R,noWheelClassName:$,noPanClassName:Y},y.createElement(xo,{onSelectionStart:f,onSelectionEnd:m,onPaneClick:e,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:i,onPaneContextMenu:l,onPaneScroll:a,panOnDrag:W,isSelecting:!!I,selectionMode:h},t,T&&y.createElement(Vi,{onSelectionContextMenu:z,noPanClassName:Y,disableKeyboardA11y:j})))};Mo.displayName="FlowRenderer";var Yi=(0,y.memo)(Mo);function Fi(t){return ne((0,y.useCallback)(e=>t?Fn(e.nodeInternals,{x:0,y:0,width:e.width,height:e.height},e.transform,!0):e.getNodes(),[t]))}function Zi(t){let e={input:ut(t.input||no),default:ut(t.default||Jt),output:ut(t.output||ro),group:ut(t.group||en)},n=Object.keys(t).filter(o=>!["input","default","output","group"].includes(o)).reduce((o,i)=>(o[i]=ut(t[i]||Jt),o),{});return{...e,...n}}var Wi=({x:t,y:e,width:n,height:o,origin:i})=>!n||!o||i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:t,y:e}:{x:t-n*i[0],y:e-o*i[1]},Ki=t=>({nodesDraggable:t.nodesDraggable,nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,updateNodeDimensions:t.updateNodeDimensions,onError:t.onError}),_o=t=>{let{nodesDraggable:e,nodesConnectable:n,nodesFocusable:o,elementsSelectable:i,updateNodeDimensions:l,onError:a}=ne(Ki,ue),d=Fi(t.onlyRenderVisibleElements),s=(0,y.useRef)(),c=(0,y.useMemo)(()=>{if(typeof ResizeObserver>"u")return null;let u=new ResizeObserver(r=>{l(r.map(g=>({id:g.target.getAttribute("data-id"),nodeElement:g.target,forceUpdate:!0})))});return s.current=u,u},[]);return(0,y.useEffect)(()=>()=>{var u;(u=s==null?void 0:s.current)==null||u.disconnect()},[]),y.createElement("div",{className:"react-flow__nodes",style:nn},d.map(u=>{var C,k,O;let r=u.type||"default";t.nodeTypes[r]||(a==null||a("003",Ee.error003(r)),r="default");let g=t.nodeTypes[r]||t.nodeTypes.default,h=!!(u.draggable||e&&u.draggable===void 0),f=!!(u.selectable||i&&u.selectable===void 0),m=!!(u.connectable||n&&u.connectable===void 0),v=!!(u.focusable||o&&u.focusable===void 0),b=t.nodeExtent?$t(u.positionAbsolute,t.nodeExtent):u.positionAbsolute,x=(b==null?void 0:b.x)??0,_=(b==null?void 0:b.y)??0,p=Wi({x,y:_,width:u.width??0,height:u.height??0,origin:t.nodeOrigin});return y.createElement(g,{key:u.id,id:u.id,className:u.className,style:u.style,type:r,data:u.data,sourcePosition:u.sourcePosition||F.Bottom,targetPosition:u.targetPosition||F.Top,hidden:u.hidden,xPos:x,yPos:_,xPosOrigin:p.x,yPosOrigin:p.y,selectNodesOnDrag:t.selectNodesOnDrag,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,selected:!!u.selected,isDraggable:h,isSelectable:f,isConnectable:m,isFocusable:v,resizeObserver:c,dragHandle:u.dragHandle,zIndex:((C=u[re])==null?void 0:C.z)??0,isParent:!!((k=u[re])!=null&&k.isParent),noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,initialized:!!u.width&&!!u.height,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,ariaLabel:u.ariaLabel,hasHandleBounds:!!((O=u[re])!=null&&O.handleBounds)})}))};_o.displayName="NodeRenderer";var Gi=(0,y.memo)(_o),Ui=(t,e,n)=>n===F.Left?t-e:n===F.Right?t+e:t,qi=(t,e,n)=>n===F.Top?t-e:n===F.Bottom?t+e:t,Oo="react-flow__edgeupdater",Po=({position:t,centerX:e,centerY:n,radius:o=10,onMouseDown:i,onMouseEnter:l,onMouseOut:a,type:d})=>y.createElement("circle",{onMouseDown:i,onMouseEnter:l,onMouseOut:a,className:he([Oo,`${Oo}-${d}`]),cx:Ui(e,o,t),cy:qi(n,o,t),r:o,stroke:"transparent",fill:"transparent"}),Qi=()=>!0,et=t=>{let e=({id:n,className:o,type:i,data:l,onClick:a,onEdgeDoubleClick:d,selected:s,animated:c,label:u,labelStyle:r,labelShowBg:g,labelBgStyle:h,labelBgPadding:f,labelBgBorderRadius:m,style:v,source:b,target:x,sourceX:_,sourceY:p,targetX:C,targetY:k,sourcePosition:O,targetPosition:D,elementsSelectable:P,hidden:E,sourceHandleId:w,targetHandleId:M,onContextMenu:N,onMouseEnter:S,onMouseMove:R,onMouseLeave:z,reconnectRadius:$,onReconnect:Y,onReconnectStart:j,onReconnectEnd:T,markerEnd:V,markerStart:X,rfId:W,ariaLabel:U,isFocusable:I,isReconnectable:A,pathOptions:B,interactionWidth:H,disableKeyboardA11y:Z})=>{let G=(0,y.useRef)(null),[ee,ae]=(0,y.useState)(!1),[ge,oe]=(0,y.useState)(!1),J=le(),de=(0,y.useMemo)(()=>`url('#${Kt(X,W)}')`,[X,W]),te=(0,y.useMemo)(()=>`url('#${Kt(V,W)}')`,[V,W]);if(E)return null;let K=ce=>{var Se;let{edges:fe,addSelectedEdges:De,unselectNodesAndEdges:Ie,multiSelectionActive:je}=J.getState(),xe=fe.find(ot=>ot.id===n);xe&&(P&&(J.setState({nodesSelectionActive:!1}),xe.selected&&je?(Ie({nodes:[],edges:[xe]}),(Se=G.current)==null||Se.blur()):De([n])),a&&a(ce,xe))},me=it(n,J.getState,d),_e=it(n,J.getState,N),nt=it(n,J.getState,S),$e=it(n,J.getState,R),Te=it(n,J.getState,z),we=(ce,fe)=>{if(ce.button!==0)return;let{edges:De,isValidConnection:Ie}=J.getState(),je=fe?x:b,xe=(fe?M:w)||null,Se=fe?"target":"source",ot=Ie||Qi,Dt=fe,rt=De.find(Re=>Re.id===n);oe(!0),j==null||j(ce,rt,Se),qn({event:ce,handleId:xe,nodeId:je,onConnect:Re=>Y==null?void 0:Y(rt,Re),isTarget:Dt,getState:J.getState,setState:J.setState,isValidConnection:ot,edgeUpdaterType:Se,onReconnectEnd:Re=>{oe(!1),T==null||T(Re,rt,Se)}})},He=ce=>we(ce,!0),Oe=ce=>we(ce,!1),Pe=()=>ae(!0),Ve=()=>ae(!1),Xe=!P&&!a;return y.createElement("g",{className:he(["react-flow__edge",`react-flow__edge-${i}`,o,{selected:s,animated:c,inactive:Xe,updating:ee}]),onClick:K,onDoubleClick:me,onContextMenu:_e,onMouseEnter:nt,onMouseMove:$e,onMouseLeave:Te,onKeyDown:I?ce=>{var fe;if(!Z&&Rn.includes(ce.key)&&P){let{unselectNodesAndEdges:De,addSelectedEdges:Ie,edges:je}=J.getState();ce.key==="Escape"?((fe=G.current)==null||fe.blur(),De({edges:[je.find(xe=>xe.id===n)]})):Ie([n])}}:void 0,tabIndex:I?0:void 0,role:I?"button":"img","data-testid":`rf__edge-${n}`,"aria-label":U===null?void 0:U||`Edge from ${b} to ${x}`,"aria-describedby":I?`${lo}-${W}`:void 0,ref:G},!ge&&y.createElement(t,{id:n,source:b,target:x,selected:s,animated:c,label:u,labelStyle:r,labelShowBg:g,labelBgStyle:h,labelBgPadding:f,labelBgBorderRadius:m,data:l,style:v,sourceX:_,sourceY:p,targetX:C,targetY:k,sourcePosition:O,targetPosition:D,sourceHandleId:w,targetHandleId:M,markerStart:de,markerEnd:te,pathOptions:B,interactionWidth:H}),A&&y.createElement(y.Fragment,null,(A==="source"||A===!0)&&y.createElement(Po,{position:O,centerX:_,centerY:p,radius:$,onMouseDown:He,onMouseEnter:Pe,onMouseOut:Ve,type:"source"}),(A==="target"||A===!0)&&y.createElement(Po,{position:D,centerX:C,centerY:k,radius:$,onMouseDown:Oe,onMouseEnter:Pe,onMouseOut:Ve,type:"target"})))};return e.displayName="EdgeWrapper",(0,y.memo)(e)};function Ji(t){let e={default:et(t.default||St),straight:et(t.bezier||Zt),step:et(t.step||Ft),smoothstep:et(t.step||Et),simplebezier:et(t.simplebezier||Xt)},n=Object.keys(t).filter(o=>!["default","bezier"].includes(o)).reduce((o,i)=>(o[i]=et(t[i]||St),o),{});return{...e,...n}}function Do(t,e,n=null){let o=((n==null?void 0:n.x)||0)+e.x,i=((n==null?void 0:n.y)||0)+e.y,l=(n==null?void 0:n.width)||e.width,a=(n==null?void 0:n.height)||e.height;switch(t){case F.Top:return{x:o+l/2,y:i};case F.Right:return{x:o+l,y:i+a/2};case F.Bottom:return{x:o+l/2,y:i+a};case F.Left:return{x:o,y:i+a/2}}}function Io(t,e){return t?t.length===1||!e?t[0]:e&&t.find(n=>n.id===e)||null:null}var es=(t,e,n,o,i,l)=>{let a=Do(n,t,e),d=Do(l,o,i);return{sourceX:a.x,sourceY:a.y,targetX:d.x,targetY:d.y}};function ts({sourcePos:t,targetPos:e,sourceWidth:n,sourceHeight:o,targetWidth:i,targetHeight:l,width:a,height:d,transform:s}){let c={x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x+n,e.x+i),y2:Math.max(t.y+o,e.y+l)};c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);let u=Tt({x:(0-s[0])/s[2],y:(0-s[1])/s[2],width:a/s[2],height:d/s[2]}),r=Math.max(0,Math.min(u.x2,c.x2)-Math.max(u.x,c.x)),g=Math.max(0,Math.min(u.y2,c.y2)-Math.max(u.y,c.y));return Math.ceil(r*g)>0}function jo(t){var o,i,l,a,d;let e=((o=t==null?void 0:t[re])==null?void 0:o.handleBounds)||null,n=e&&(t==null?void 0:t.width)&&(t==null?void 0:t.height)&&((i=t==null?void 0:t.positionAbsolute)==null?void 0:i.x)!==void 0&&((l=t==null?void 0:t.positionAbsolute)==null?void 0:l.y)!==void 0;return[{x:((a=t==null?void 0:t.positionAbsolute)==null?void 0:a.x)||0,y:((d=t==null?void 0:t.positionAbsolute)==null?void 0:d.y)||0,width:(t==null?void 0:t.width)||0,height:(t==null?void 0:t.height)||0},e,!!n]}var ns=[{level:0,isMaxLevel:!0,edges:[]}];function os(t,e,n=!1){let o=-1,i=t.reduce((a,d)=>{var u,r;let s=pe(d.zIndex),c=s?d.zIndex:0;if(n){let g=e.get(d.target),h=e.get(d.source),f=d.selected||(g==null?void 0:g.selected)||(h==null?void 0:h.selected),m=Math.max(((u=h==null?void 0:h[re])==null?void 0:u.z)||0,((r=g==null?void 0:g[re])==null?void 0:r.z)||0,1e3);c=(s?d.zIndex:0)+(f?m:0)}return a[c]?a[c].push(d):a[c]=[d],o=c>o?c:o,a},{}),l=Object.entries(i).map(([a,d])=>{let s=+a;return{edges:d,level:s,isMaxLevel:s===o}});return l.length===0?ns:l}function rs(t,e,n){return os(ne((0,y.useCallback)(o=>t?o.edges.filter(i=>{let l=e.get(i.source),a=e.get(i.target);return(l==null?void 0:l.width)&&(l==null?void 0:l.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&ts({sourcePos:l.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:l.width,sourceHeight:l.height,targetWidth:a.width,targetHeight:a.height,width:o.width,height:o.height,transform:o.transform})}):o.edges,[t,e])),e,n)}var as=({color:t="none",strokeWidth:e=1})=>y.createElement("polyline",{style:{stroke:t,strokeWidth:e},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),is=({color:t="none",strokeWidth:e=1})=>y.createElement("polyline",{style:{stroke:t,fill:t,strokeWidth:e},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"}),Ro={[st.Arrow]:as,[st.ArrowClosed]:is};function ss(t){let e=le();return(0,y.useMemo)(()=>{var n,o;return Object.prototype.hasOwnProperty.call(Ro,t)?Ro[t]:((o=(n=e.getState()).onError)==null||o.call(n,"009",Ee.error009(t)),null)},[t])}var ls=({id:t,type:e,color:n,width:o=12.5,height:i=12.5,markerUnits:l="strokeWidth",strokeWidth:a,orient:d="auto-start-reverse"})=>{let s=ss(e);return s?y.createElement("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${o}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:l,orient:d,refX:"0",refY:"0"},y.createElement(s,{color:n,strokeWidth:a})):null},ds=({defaultColor:t,rfId:e})=>n=>{let o=[];return n.edges.reduce((i,l)=>([l.markerStart,l.markerEnd].forEach(a=>{if(a&&typeof a=="object"){let d=Kt(a,e);o.includes(d)||(i.push({id:d,color:a.color||t,...a}),o.push(d))}}),i),[]).sort((i,l)=>i.id.localeCompare(l.id))},Ao=({defaultColor:t,rfId:e})=>{let n=ne((0,y.useCallback)(ds({defaultColor:t,rfId:e}),[t,e]),(o,i)=>!(o.length!==i.length||o.some((l,a)=>l.id!==i[a].id)));return y.createElement("defs",null,n.map(o=>y.createElement(ls,{id:o.id,key:o.id,type:o.type,color:o.color,width:o.width,height:o.height,markerUnits:o.markerUnits,strokeWidth:o.strokeWidth,orient:o.orient})))};Ao.displayName="MarkerDefinitions";var cs=(0,y.memo)(Ao),us=t=>({nodesConnectable:t.nodesConnectable,edgesFocusable:t.edgesFocusable,edgesUpdatable:t.edgesUpdatable,elementsSelectable:t.elementsSelectable,width:t.width,height:t.height,connectionMode:t.connectionMode,nodeInternals:t.nodeInternals,onError:t.onError}),Bo=({defaultMarkerColor:t,onlyRenderVisibleElements:e,elevateEdgesOnSelect:n,rfId:o,edgeTypes:i,noPanClassName:l,onEdgeContextMenu:a,onEdgeMouseEnter:d,onEdgeMouseMove:s,onEdgeMouseLeave:c,onEdgeClick:u,onEdgeDoubleClick:r,onReconnect:g,onReconnectStart:h,onReconnectEnd:f,reconnectRadius:m,children:v,disableKeyboardA11y:b})=>{let{edgesFocusable:x,edgesUpdatable:_,elementsSelectable:p,width:C,height:k,connectionMode:O,nodeInternals:D,onError:P}=ne(us,ue),E=rs(e,D,n);return C?y.createElement(y.Fragment,null,E.map(({level:w,edges:M,isMaxLevel:N})=>y.createElement("svg",{key:w,style:{zIndex:w},width:C,height:k,className:"react-flow__edges react-flow__container"},N&&y.createElement(cs,{defaultColor:t,rfId:o}),y.createElement("g",null,M.map(S=>{let[R,z,$]=jo(D.get(S.source)),[Y,j,T]=jo(D.get(S.target));if(!$||!T)return null;let V=S.type||"default";i[V]||(P==null||P("011",Ee.error011(V)),V="default");let X=i[V]||i.default,W=O===We.Strict?j.target:(j.target??[]).concat(j.source??[]),U=Io(z.source,S.sourceHandle),I=Io(W,S.targetHandle),A=(U==null?void 0:U.position)||F.Bottom,B=(I==null?void 0:I.position)||F.Top,H=!!(S.focusable||x&&S.focusable===void 0),Z=S.reconnectable||S.updatable,G=g!==void 0&&(Z||_&&Z===void 0);if(!U||!I)return P==null||P("008",Ee.error008(U,S)),null;let{sourceX:ee,sourceY:ae,targetX:ge,targetY:oe}=es(R,U,A,Y,I,B);return y.createElement(X,{key:S.id,id:S.id,className:he([S.className,l]),type:V,data:S.data,selected:!!S.selected,animated:!!S.animated,hidden:!!S.hidden,label:S.label,labelStyle:S.labelStyle,labelShowBg:S.labelShowBg,labelBgStyle:S.labelBgStyle,labelBgPadding:S.labelBgPadding,labelBgBorderRadius:S.labelBgBorderRadius,style:S.style,source:S.source,target:S.target,sourceHandleId:S.sourceHandle,targetHandleId:S.targetHandle,markerEnd:S.markerEnd,markerStart:S.markerStart,sourceX:ee,sourceY:ae,targetX:ge,targetY:oe,sourcePosition:A,targetPosition:B,elementsSelectable:p,onContextMenu:a,onMouseEnter:d,onMouseMove:s,onMouseLeave:c,onClick:u,onEdgeDoubleClick:r,onReconnect:g,onReconnectStart:h,onReconnectEnd:f,reconnectRadius:m,rfId:o,ariaLabel:S.ariaLabel,isFocusable:H,isReconnectable:G,pathOptions:"pathOptions"in S?S.pathOptions:void 0,interactionWidth:S.interactionWidth,disableKeyboardA11y:b})})))),v):null};Bo.displayName="EdgeRenderer";var hs=(0,y.memo)(Bo),gs=t=>`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`;function ms({children:t}){let e=ne(gs);return y.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:e}},t)}function fs(t){let e=dt(),n=(0,y.useRef)(!1);(0,y.useEffect)(()=>{!n.current&&e.viewportInitialized&&t&&(setTimeout(()=>t(e),1),n.current=!0)},[t,e.viewportInitialized])}var ps={[F.Left]:F.Right,[F.Right]:F.Left,[F.Top]:F.Bottom,[F.Bottom]:F.Top},zo=({nodeId:t,handleType:e,style:n,type:o=ze.Bezier,CustomComponent:i,connectionStatus:l})=>{var k,O,D;let{fromNode:a,handleId:d,toX:s,toY:c,connectionMode:u}=ne((0,y.useCallback)(P=>({fromNode:P.nodeInternals.get(t),handleId:P.connectionHandleId,toX:(P.connectionPosition.x-P.transform[0])/P.transform[2],toY:(P.connectionPosition.y-P.transform[1])/P.transform[2],connectionMode:P.connectionMode}),[t]),ue),r=(k=a==null?void 0:a[re])==null?void 0:k.handleBounds,g=r==null?void 0:r[e];if(u===We.Loose&&(g||(g=r==null?void 0:r[e==="source"?"target":"source"])),!a||!g)return null;let h=d?g.find(P=>P.id===d):g[0],f=h?h.x+h.width/2:(a.width??0)/2,m=h?h.y+h.height/2:a.height??0,v=(((O=a.positionAbsolute)==null?void 0:O.x)??0)+f,b=(((D=a.positionAbsolute)==null?void 0:D.y)??0)+m,x=h==null?void 0:h.position,_=x?ps[x]:null;if(!x||!_)return null;if(i)return y.createElement(i,{connectionLineType:o,connectionLineStyle:n,fromNode:a,fromHandle:h,fromX:v,fromY:b,toX:s,toY:c,fromPosition:x,toPosition:_,connectionStatus:l});let p="",C={sourceX:v,sourceY:b,sourcePosition:x,targetX:s,targetY:c,targetPosition:_};return o===ze.Bezier?[p]=Xn(C):o===ze.Step?[p]=Yt({...C,borderRadius:0}):o===ze.SmoothStep?[p]=Yt(C):o===ze.SimpleBezier?[p]=$n(C):p=`M${v},${b} ${s},${c}`,y.createElement("path",{d:p,fill:"none",className:"react-flow__connection-path",style:n})};zo.displayName="ConnectionLine";var ys=t=>({nodeId:t.connectionNodeId,handleType:t.connectionHandleType,nodesConnectable:t.nodesConnectable,connectionStatus:t.connectionStatus,width:t.width,height:t.height});function vs({containerStyle:t,style:e,type:n,component:o}){let{nodeId:i,handleType:l,nodesConnectable:a,width:d,height:s,connectionStatus:c}=ne(ys,ue);return i&&l&&d&&a?y.createElement("svg",{style:t,width:d,height:s,className:"react-flow__edges react-flow__connectionline react-flow__container"},y.createElement("g",{className:he(["react-flow__connection",c])},y.createElement(zo,{nodeId:i,handleType:l,style:e,type:n,CustomComponent:o,connectionStatus:c}))):null}function Lo(t,e){return(0,y.useRef)(null),le(),(0,y.useMemo)(()=>e(t),[t])}var $o=({nodeTypes:t,edgeTypes:e,onMove:n,onMoveStart:o,onMoveEnd:i,onInit:l,onNodeClick:a,onEdgeClick:d,onNodeDoubleClick:s,onEdgeDoubleClick:c,onNodeMouseEnter:u,onNodeMouseMove:r,onNodeMouseLeave:g,onNodeContextMenu:h,onSelectionContextMenu:f,onSelectionStart:m,onSelectionEnd:v,connectionLineType:b,connectionLineStyle:x,connectionLineComponent:_,connectionLineContainerStyle:p,selectionKeyCode:C,selectionOnDrag:k,selectionMode:O,multiSelectionKeyCode:D,panActivationKeyCode:P,zoomActivationKeyCode:E,deleteKeyCode:w,onlyRenderVisibleElements:M,elementsSelectable:N,selectNodesOnDrag:S,defaultViewport:R,translateExtent:z,minZoom:$,maxZoom:Y,preventScrolling:j,defaultMarkerColor:T,zoomOnScroll:V,zoomOnPinch:X,panOnScroll:W,panOnScrollSpeed:U,panOnScrollMode:I,zoomOnDoubleClick:A,panOnDrag:B,onPaneClick:H,onPaneMouseEnter:Z,onPaneMouseMove:G,onPaneMouseLeave:ee,onPaneScroll:ae,onPaneContextMenu:ge,onEdgeContextMenu:oe,onEdgeMouseEnter:J,onEdgeMouseMove:de,onEdgeMouseLeave:te,onReconnect:K,onReconnectStart:me,onReconnectEnd:_e,reconnectRadius:nt,noDragClassName:$e,noWheelClassName:Te,noPanClassName:we,elevateEdgesOnSelect:He,disableKeyboardA11y:Oe,nodeOrigin:Pe,nodeExtent:Ve,rfId:Xe})=>{let ce=Lo(t,Zi),fe=Lo(e,Ji);return fs(l),y.createElement(Yi,{onPaneClick:H,onPaneMouseEnter:Z,onPaneMouseMove:G,onPaneMouseLeave:ee,onPaneContextMenu:ge,onPaneScroll:ae,deleteKeyCode:w,selectionKeyCode:C,selectionOnDrag:k,selectionMode:O,onSelectionStart:m,onSelectionEnd:v,multiSelectionKeyCode:D,panActivationKeyCode:P,zoomActivationKeyCode:E,elementsSelectable:N,onMove:n,onMoveStart:o,onMoveEnd:i,zoomOnScroll:V,zoomOnPinch:X,zoomOnDoubleClick:A,panOnScroll:W,panOnScrollSpeed:U,panOnScrollMode:I,panOnDrag:B,defaultViewport:R,translateExtent:z,minZoom:$,maxZoom:Y,onSelectionContextMenu:f,preventScrolling:j,noDragClassName:$e,noWheelClassName:Te,noPanClassName:we,disableKeyboardA11y:Oe},y.createElement(ms,null,y.createElement(hs,{edgeTypes:fe,onEdgeClick:d,onEdgeDoubleClick:c,onlyRenderVisibleElements:M,onEdgeContextMenu:oe,onEdgeMouseEnter:J,onEdgeMouseMove:de,onEdgeMouseLeave:te,onReconnect:K,onReconnectStart:me,onReconnectEnd:_e,reconnectRadius:nt,defaultMarkerColor:T,noPanClassName:we,elevateEdgesOnSelect:!!He,disableKeyboardA11y:Oe,rfId:Xe},y.createElement(vs,{style:x,type:b,component:_,containerStyle:p})),y.createElement("div",{className:"react-flow__edgelabel-renderer"}),y.createElement(Gi,{nodeTypes:ce,onNodeClick:a,onNodeDoubleClick:s,onNodeMouseEnter:u,onNodeMouseMove:r,onNodeMouseLeave:g,onNodeContextMenu:h,selectNodesOnDrag:S,onlyRenderVisibleElements:M,noPanClassName:we,noDragClassName:$e,disableKeyboardA11y:Oe,nodeOrigin:Pe,nodeExtent:Ve,rfId:Xe})))};$o.displayName="GraphView";var bs=(0,y.memo)($o),ln=[[-1/0,-1/0],[1/0,1/0]],Me={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:ln,nodeExtent:ln,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:We.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:0,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,onSelectionChange:[],multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:Wa,isValidConnection:void 0},xs=()=>Ra((t,e)=>({...Me,setNodes:n=>{let{nodeInternals:o,nodeOrigin:i,elevateNodesOnSelect:l}=e();t({nodeInternals:tn(n,o,i,l)})},getNodes:()=>Array.from(e().nodeInternals.values()),setEdges:n=>{let{defaultEdgeOptions:o={}}=e();t({edges:n.map(i=>({...o,...i}))})},setDefaultNodesAndEdges:(n,o)=>{let i=n!==void 0,l=o!==void 0;t({nodeInternals:i?tn(n,new Map,e().nodeOrigin,e().elevateNodesOnSelect):new Map,edges:l?o:[],hasDefaultNodes:i,hasDefaultEdges:l})},updateNodeDimensions:n=>{let{onNodesChange:o,nodeInternals:i,fitViewOnInit:l,fitViewOnInitDone:a,fitViewOnInitOptions:d,domNode:s,nodeOrigin:c}=e(),u=s==null?void 0:s.querySelector(".react-flow__viewport");if(!u)return;let r=window.getComputedStyle(u),{m22:g}=new window.DOMMatrixReadOnly(r.transform),h=n.reduce((m,v)=>{let b=i.get(v.id);if(b!=null&&b.hidden)i.set(b.id,{...b,[re]:{...b[re],handleBounds:void 0}});else if(b){let x=Lt(v.nodeElement);x.width&&x.height&&(b.width!==x.width||b.height!==x.height||v.forceUpdate)&&(i.set(b.id,{...b,[re]:{...b[re],handleBounds:{source:Co(".source",v.nodeElement,g,c),target:Co(".target",v.nodeElement,g,c)}},...x}),m.push({id:b.id,type:"dimensions",dimensions:x}))}return m},[]);go(i,c);let f=a||l&&!a&&mo(e,{initial:!0,...d});t({nodeInternals:new Map(i),fitViewOnInitDone:f}),(h==null?void 0:h.length)>0&&(o==null||o(h))},updateNodePositions:(n,o=!0,i=!1)=>{let{triggerNodeChanges:l}=e();l(n.map(a=>{let d={id:a.id,type:"position",dragging:i};return o&&(d.positionAbsolute=a.positionAbsolute,d.position=a.position),d}))},triggerNodeChanges:n=>{let{onNodesChange:o,nodeInternals:i,hasDefaultNodes:l,nodeOrigin:a,getNodes:d,elevateNodesOnSelect:s}=e();n!=null&&n.length&&(l&&t({nodeInternals:tn(bo(n,d()),i,a,s)}),o==null||o(n))},addSelectedNodes:n=>{let{multiSelectionActive:o,edges:i,getNodes:l}=e(),a,d=null;o?a=n.map(s=>ke(s,!0)):(a=Qe(l(),n),d=Qe(i,[])),Nt({changedNodes:a,changedEdges:d,get:e,set:t})},addSelectedEdges:n=>{let{multiSelectionActive:o,edges:i,getNodes:l}=e(),a,d=null;o?a=n.map(s=>ke(s,!0)):(a=Qe(i,n),d=Qe(l(),[])),Nt({changedNodes:d,changedEdges:a,get:e,set:t})},unselectNodesAndEdges:({nodes:n,edges:o}={})=>{let{edges:i,getNodes:l}=e(),a=n||l(),d=o||i;Nt({changedNodes:a.map(s=>(s.selected=!1,ke(s.id,!1))),changedEdges:d.map(s=>ke(s.id,!1)),get:e,set:t})},setMinZoom:n=>{let{d3Zoom:o,maxZoom:i}=e();o==null||o.scaleExtent([n,i]),t({minZoom:n})},setMaxZoom:n=>{let{d3Zoom:o,minZoom:i}=e();o==null||o.scaleExtent([i,n]),t({maxZoom:n})},setTranslateExtent:n=>{var o;(o=e().d3Zoom)==null||o.translateExtent(n),t({translateExtent:n})},resetSelectedElements:()=>{let{edges:n,getNodes:o}=e();Nt({changedNodes:o().filter(i=>i.selected).map(i=>ke(i.id,!1)),changedEdges:n.filter(i=>i.selected).map(i=>ke(i.id,!1)),get:e,set:t})},setNodeExtent:n=>{let{nodeInternals:o}=e();o.forEach(i=>{i.positionAbsolute=$t(i.position,n)}),t({nodeExtent:n,nodeInternals:new Map(o)})},panBy:n=>{let{transform:o,width:i,height:l,d3Zoom:a,d3Selection:d,translateExtent:s}=e();if(!a||!d||!n.x&&!n.y)return!1;let c=Fe.translate(o[0]+n.x,o[1]+n.y).scale(o[2]),u=[[0,0],[i,l]],r=a==null?void 0:a.constrain()(c,u,s);return a.transform(d,r),o[0]!==r.x||o[1]!==r.y||o[2]!==r.k},cancelConnection:()=>t({connectionNodeId:Me.connectionNodeId,connectionHandleId:Me.connectionHandleId,connectionHandleType:Me.connectionHandleType,connectionStatus:Me.connectionStatus,connectionStartHandle:Me.connectionStartHandle,connectionEndHandle:Me.connectionEndHandle}),reset:()=>t({...Me})}),Object.is),dn=({children:t})=>{let e=(0,y.useRef)(null);return e.current||(e.current=xs()),y.createElement(Ta,{value:e.current},t)};dn.displayName="ReactFlowProvider";var To=({children:t})=>(0,y.useContext)(yt)?y.createElement(y.Fragment,null,t):y.createElement(dn,null,t);To.displayName="ReactFlowWrapper";var Es={input:no,default:Jt,output:ro,group:en},ws={default:St,straight:Zt,step:Ft,smoothstep:Et,simplebezier:Xt},Ss=[0,0],Cs=[15,15],Ns={x:0,y:0,zoom:1},ks={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},cn=(0,y.forwardRef)(({nodes:t,edges:e,defaultNodes:n,defaultEdges:o,className:i,nodeTypes:l=Es,edgeTypes:a=ws,onNodeClick:d,onEdgeClick:s,onInit:c,onMove:u,onMoveStart:r,onMoveEnd:g,onConnect:h,onConnectStart:f,onConnectEnd:m,onClickConnectStart:v,onClickConnectEnd:b,onNodeMouseEnter:x,onNodeMouseMove:_,onNodeMouseLeave:p,onNodeContextMenu:C,onNodeDoubleClick:k,onNodeDragStart:O,onNodeDrag:D,onNodeDragStop:P,onNodesDelete:E,onEdgesDelete:w,onSelectionChange:M,onSelectionDragStart:N,onSelectionDrag:S,onSelectionDragStop:R,onSelectionContextMenu:z,onSelectionStart:$,onSelectionEnd:Y,connectionMode:j=We.Strict,connectionLineType:T=ze.Bezier,connectionLineStyle:V,connectionLineComponent:X,connectionLineContainerStyle:W,deleteKeyCode:U="Backspace",selectionKeyCode:I="Shift",selectionOnDrag:A=!1,selectionMode:B=xt.Full,panActivationKeyCode:H="Space",multiSelectionKeyCode:Z=bt()?"Meta":"Control",zoomActivationKeyCode:G=bt()?"Meta":"Control",snapToGrid:ee=!1,snapGrid:ae=Cs,onlyRenderVisibleElements:ge=!1,selectNodesOnDrag:oe=!0,nodesDraggable:J,nodesConnectable:de,nodesFocusable:te,nodeOrigin:K=Ss,edgesFocusable:me,edgesUpdatable:_e,elementsSelectable:nt,defaultViewport:$e=Ns,minZoom:Te=.5,maxZoom:we=2,translateExtent:He=ln,preventScrolling:Oe=!0,nodeExtent:Pe,defaultMarkerColor:Ve="#b1b1b7",zoomOnScroll:Xe=!0,zoomOnPinch:ce=!0,panOnScroll:fe=!1,panOnScrollSpeed:De=.5,panOnScrollMode:Ie=Be.Free,zoomOnDoubleClick:je=!0,panOnDrag:xe=!0,onPaneClick:Se,onPaneMouseEnter:ot,onPaneMouseMove:Dt,onPaneMouseLeave:rt,onPaneScroll:Re,onPaneContextMenu:lr,children:dr,onEdgeContextMenu:cr,onEdgeDoubleClick:ur,onEdgeMouseEnter:hr,onEdgeMouseMove:gr,onEdgeMouseLeave:mr,onEdgeUpdate:fr,onEdgeUpdateStart:pr,onEdgeUpdateEnd:yr,onReconnect:vr,onReconnectStart:br,onReconnectEnd:xr,reconnectRadius:Er=10,edgeUpdaterRadius:wr=10,onNodesChange:Sr,onEdgesChange:Cr,noDragClassName:Nr="nodrag",noWheelClassName:kr="nowheel",noPanClassName:mn="nopan",fitView:Mr=!1,fitViewOptions:_r,connectOnClick:Or=!0,attributionPosition:Pr,proOptions:Dr,defaultEdgeOptions:Ir,elevateNodesOnSelect:jr=!0,elevateEdgesOnSelect:Rr=!1,disableKeyboardA11y:fn=!1,autoPanOnConnect:Ar=!0,autoPanOnNodeDrag:Br=!0,connectionRadius:zr=20,isValidConnection:Lr,onError:$r,style:Tr,id:pn,nodeDragThreshold:Hr,...Vr},Xr)=>{let It=pn||"1";return y.createElement("div",{...Vr,style:{...Tr,...ks},ref:Xr,className:he(["react-flow",i]),"data-testid":"rf__wrapper",id:pn},y.createElement(To,null,y.createElement(bs,{onInit:c,onMove:u,onMoveStart:r,onMoveEnd:g,onNodeClick:d,onEdgeClick:s,onNodeMouseEnter:x,onNodeMouseMove:_,onNodeMouseLeave:p,onNodeContextMenu:C,onNodeDoubleClick:k,nodeTypes:l,edgeTypes:a,connectionLineType:T,connectionLineStyle:V,connectionLineComponent:X,connectionLineContainerStyle:W,selectionKeyCode:I,selectionOnDrag:A,selectionMode:B,deleteKeyCode:U,multiSelectionKeyCode:Z,panActivationKeyCode:H,zoomActivationKeyCode:G,onlyRenderVisibleElements:ge,selectNodesOnDrag:oe,defaultViewport:$e,translateExtent:He,minZoom:Te,maxZoom:we,preventScrolling:Oe,zoomOnScroll:Xe,zoomOnPinch:ce,zoomOnDoubleClick:je,panOnScroll:fe,panOnScrollSpeed:De,panOnScrollMode:Ie,panOnDrag:xe,onPaneClick:Se,onPaneMouseEnter:ot,onPaneMouseMove:Dt,onPaneMouseLeave:rt,onPaneScroll:Re,onPaneContextMenu:lr,onSelectionContextMenu:z,onSelectionStart:$,onSelectionEnd:Y,onEdgeContextMenu:cr,onEdgeDoubleClick:ur,onEdgeMouseEnter:hr,onEdgeMouseMove:gr,onEdgeMouseLeave:mr,onReconnect:vr??fr,onReconnectStart:br??pr,onReconnectEnd:xr??yr,reconnectRadius:Er??wr,defaultMarkerColor:Ve,noDragClassName:Nr,noWheelClassName:kr,noPanClassName:mn,elevateEdgesOnSelect:Rr,rfId:It,disableKeyboardA11y:fn,nodeOrigin:K,nodeExtent:Pe}),y.createElement(pi,{nodes:t,edges:e,defaultNodes:n,defaultEdges:o,onConnect:h,onConnectStart:f,onConnectEnd:m,onClickConnectStart:v,onClickConnectEnd:b,nodesDraggable:J,nodesConnectable:de,nodesFocusable:te,edgesFocusable:me,edgesUpdatable:_e,elementsSelectable:nt,elevateNodesOnSelect:jr,minZoom:Te,maxZoom:we,nodeExtent:Pe,onNodesChange:Sr,onEdgesChange:Cr,snapToGrid:ee,snapGrid:ae,connectionMode:j,translateExtent:He,connectOnClick:Or,defaultEdgeOptions:Ir,fitView:Mr,fitViewOptions:_r,onNodesDelete:E,onEdgesDelete:w,onNodeDragStart:O,onNodeDrag:D,onNodeDragStop:P,onSelectionDrag:S,onSelectionDragStart:N,onSelectionDragStop:R,noPanClassName:mn,nodeOrigin:K,rfId:It,autoPanOnConnect:Ar,autoPanOnNodeDrag:Br,onError:$r,connectionRadius:zr,isValidConnection:Lr,nodeDragThreshold:Hr}),y.createElement(mi,{onSelectionChange:M}),dr,y.createElement(Va,{proOptions:Dr,position:Pr}),y.createElement(Ei,{rfId:It,disableKeyboardA11y:fn})))});cn.displayName="ReactFlow";function Ho(t){return e=>{let[n,o]=(0,y.useState)(e);return[n,o,(0,y.useCallback)(i=>o(l=>t(i,l)),[])]}}var Vo=Ho(bo),Xo=Ho(Ai);function Ms(){return y.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},y.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function _s(){return y.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},y.createElement("path",{d:"M0 0h32v4.2H0z"}))}function Os(){return y.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},y.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 Ps(){return y.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},y.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 Ds(){return y.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},y.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 tt=({children:t,className:e,...n})=>y.createElement("button",{type:"button",className:he(["react-flow__controls-button",e]),...n},t);tt.displayName="ControlButton";var Is=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom}),Yo=({style:t,showZoom:e=!0,showFitView:n=!0,showInteractive:o=!0,fitViewOptions:i,onZoomIn:l,onZoomOut:a,onFitView:d,onInteractiveChange:s,className:c,children:u,position:r="bottom-left"})=>{let g=le(),[h,f]=(0,y.useState)(!1),{isInteractive:m,minZoomReached:v,maxZoomReached:b}=ne(Is,ue),{zoomIn:x,zoomOut:_,fitView:p}=dt();if((0,y.useEffect)(()=>{f(!0)},[]),!h)return null;let C=()=>{x(),l==null||l()},k=()=>{_(),a==null||a()},O=()=>{p(i),d==null||d()},D=()=>{g.setState({nodesDraggable:!m,nodesConnectable:!m,elementsSelectable:!m}),s==null||s(!m)};return y.createElement(vt,{className:he(["react-flow__controls",c]),position:r,style:t,"data-testid":"rf__controls"},e&&y.createElement(y.Fragment,null,y.createElement(tt,{onClick:C,className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:b},y.createElement(Ms,null)),y.createElement(tt,{onClick:k,className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:v},y.createElement(_s,null))),n&&y.createElement(tt,{className:"react-flow__controls-fitview",onClick:O,title:"fit view","aria-label":"fit view"},y.createElement(Os,null)),o&&y.createElement(tt,{className:"react-flow__controls-interactive",onClick:D,title:"toggle interactivity","aria-label":"toggle interactivity"},m?y.createElement(Ds,null):y.createElement(Ps,null)),u)};Yo.displayName="Controls";var js=(0,y.memo)(Yo),ve;(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(ve||(ve={}));function Rs({color:t,dimensions:e,lineWidth:n}){return y.createElement("path",{stroke:t,strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})}function As({color:t,radius:e}){return y.createElement("circle",{cx:e,cy:e,r:e,fill:t})}var Bs={[ve.Dots]:"#91919a",[ve.Lines]:"#eee",[ve.Cross]:"#e2e2e2"},zs={[ve.Dots]:1,[ve.Lines]:1,[ve.Cross]:6},Ls=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function Fo({id:t,variant:e=ve.Dots,gap:n=20,size:o,lineWidth:i=1,offset:l=2,color:a,style:d,className:s}){let c=(0,y.useRef)(null),{transform:u,patternId:r}=ne(Ls,ue),g=a||Bs[e],h=o||zs[e],f=e===ve.Dots,m=e===ve.Cross,v=Array.isArray(n)?n:[n,n],b=[v[0]*u[2]||1,v[1]*u[2]||1],x=h*u[2],_=m?[x,x]:b,p=f?[x/l,x/l]:[_[0]/l,_[1]/l];return y.createElement("svg",{className:he(["react-flow__background",s]),style:{...d,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:c,"data-testid":"rf__background"},y.createElement("pattern",{id:r+t,x:u[0]%b[0],y:u[1]%b[1],width:b[0],height:b[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${p[0]},-${p[1]})`},f?y.createElement(As,{color:g,radius:x/l}):y.createElement(Rs,{dimensions:_,color:g,lineWidth:i})),y.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${r+t})`}))}Fo.displayName="Background";var $s=(0,y.memo)(Fo),Ts=ye(Ae(),1);function un(t){return Math.min(t*11+35,200)}const Mt="outputs",_t="inputs";var Hs=class{createEdge(t,e,n){return{type:"smoothstep",pathOptions:{offset:20,borderRadius:100},data:{direction:n},markerEnd:{type:st.Arrow},id:`${t}-${e}-${n}`,source:t,sourceHandle:n,targetHandle:n,target:e}}createNode(t,e,n){let o=gt.get(e).code.trim().split(`
|
|
1
|
+
var Yr=Object.defineProperty;var Fr=(t,e,n)=>e in t?Yr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ie=(t,e,n)=>Fr(t,typeof e!="symbol"?e+"":e,n);import{s as ye,t as q}from"./chunk-DZLz74EQ.js";import{c as Zr,d as yn,n as gt,s as vn}from"./jotai-BTnrNcC1.js";import{t as Wr}from"./react-BcIddLXZ.js";import{O as Kr,Rn as Gr,Yn as Ur,ft as qr,gt as Qr,j as bn,p as Jr}from"./cells-CZmitpcp.js";import{t as ea}from"./react-dom-D6bRRS5R.js";import"./zod-U2NFpcFA.js";import{t as Ae}from"./compiler-runtime-Cr9loedd.js";import"./_Uint8Array-D5Z9rM2X.js";import"./isSymbol-xTSywenE.js";import"./_arrayMap-DQI2GUNb.js";import"./toString-CBnct2wx.js";import"./toNumber-CTOPJrpu.js";import"./toInteger-Bor4StOs.js";import"./isArrayLikeObject-DKyJYtr8.js";import"./_getTag-CVRrQL_Q.js";import"./_baseIsEqual-CVFfFJm2.js";import"./merge-Dvc5opZF.js";import"./_baseSlice-BWZ0PeaJ.js";import"./upperFirst-CBQfDRod.js";import"./_hasUnicode-3DIK_jNi.js";import"./_arrayReduce-DV4IVFuG.js";import"./startCase-RfubwhHM.js";import"./_baseProperty-c4IQJQis.js";import"./now-BXqTLlmI.js";import"./debounce-BUM2losY.js";import"./hotkeys-ClCtr3_I.js";import"./invariant-D5a0EE05.js";import"./utils-BpjB6B-Y.js";import"./constants-CEISdYm1.js";import"./config-e9OVB2bJ.js";import"./useEventListener-D1FLsfmf.js";import{t as ta}from"./jsx-runtime-mwDPpfh_.js";import{t as xn}from"./cn-DEUt_IsG.js";import{r as na,t as Ye}from"./button-Zjtz1syG.js";import"./dist-o3-gJN-A.js";import"./dist-CzgFQFBf.js";import{r as En}from"./once-3GsqimLM.js";import"./capabilities-CEL4hxAo.js";import"./createReducer-C6dJ71nW.js";import"./requests-DD3OWR81.js";import"./preload-helper-DImqtvgl.js";import"./dist-DdXBxU_X.js";import"./dist-ws1ADWL0.js";import"./dist-BOJjflZo.js";import"./dist-w3K5vvwl.js";import"./dist-DXPWGCwf.js";import"./dist-BGbJQ9FV.js";import"./stex-w1KpyykF.js";import"./Deferred-Mppm0cvJ.js";import"./uuid-4lb_EYpq.js";import"./key-BOd4SjWu.js";import"./use-toast-BPMVOfO3.js";import"./main-CCaZmKLi.js";import"./marked.esm-BB_RKOA5.js";import"./connection-CsVOmbVi.js";import"./dist-dCpey1ug.js";import"./useLifecycle-CxNbfWnk.js";import"./useTheme-DcMAIbRt.js";import{t as mt}from"./createLucideIcon-CaU6_Jtx.js";import{n as oa,r as ra}from"./cell-actions-CNcpitg7.js";import"./type-DVCC-93H.js";import"./check-Dc7YCRim.js";import{h as aa}from"./select-Di-JjADd.js";import{o as ia,s as sa}from"./download-DrI1Gw05.js";import"./chevron-right-BExEgq1M.js";import{o as wn}from"./useCellActionButton-fVEGFa_R.js";import"./circle-plus-UevqeQZu.js";import"./toDate-CnvLb18a.js";import"./circle-x-Bb-EcEyG.js";import"./dropdown-menu-ChUikXiI.js";import"./eye-off-BIDUS-iw.js";import{t as la}from"./ellipsis-vertical-DsdK_SPL.js";import"./image-CVwcB3Mo.js";import"./link-DmSljZn4.js";import"./name-cell-input-DZWpmHYT.js";import"./input-DuVApvWu.js";import{t as da}from"./settings-DvMaGwYY.js";import"./state-7Nd5UYc6.js";import{t as ca}from"./square-function-DncO0xCM.js";import"./trash-2-D1jEfGpj.js";import{t as ua}from"./workflow-BmOhe3mQ.js";import"./badge-CxcKOiwY.js";import"./Combination-DWHMUa0d.js";import"./dist-1ZdxNBaX.js";import{t as ha}from"./tooltip-CerBk_un.js";import"./menu-items-Dm8s6sMr.js";import"./useNonce-CL3DrH5R.js";import"./mode-CtH3Xe58.js";import"./alert-dialog-BZHeDuaE.js";import"./dialog-CzmSXArA.js";import"./usePress-C2JVmCUi.js";import"./SSRProvider-CMB_HLxO.js";import"./context-BqH7Jigl.js";import"./useNumberFormatter-BPGR7t2W.js";import"./shim-FF_l0CN4.js";import"./numbers-Dft9TKC1.js";import{n as Sn}from"./useEvent-itkPNnCe.js";import{n as ga}from"./useDebounce--Sw2WRQ5.js";import"./ImperativeModal-ExH1h9et.js";import"./strings-DRRWXNT2.js";import"./copy-SPzF4B1M.js";import"./useRunCells-BiWuvMY1.js";import"./extends-DhnjMUSs.js";import"./objectWithoutPropertiesLoose-CNyONSoo.js";import"./kbd-BfBY_QKr.js";import"./renderShortcut-a-3t8sis.js";import{t as ma}from"./label-FIGQlkj5.js";import{i as fa,r as pa,t as ya}from"./popover-BoRNi4dY.js";import{i as Cn,t as jt}from"./cell-link-d9BMXpwm.js";import"./esm-D8ZMWeYP.js";import"./command-DhuV6_de.js";import"./useDeleteCell-Bg8Hgk6e.js";import"./add-missing-import-Cy6g_y6i.js";import"./icons-HGhpVPVr.js";import{i as va}from"./focus-CUS3ckCE.js";import"./switch-p-zRh0zu.js";import{b as ba}from"./timer-DPMc0rso.js";import{a as Rt,c as At,i as xa,l as Bt,n as Fe,o as Ea,r as wa,s as Nn,t as Sa,u as ft}from"./src-DnZfSL8R.js";import{t as Ca}from"./TinyCode-CgC7YtPL.js";import"./multi-icon-C4RX3Man.js";import"./useSplitCell-DhhZ7xVP.js";import{n as Na,t as kn}from"./common-BWlM0NQw.js";var ka=mt("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"}]]),Ma=mt("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"}]]),_a=mt("map-pin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]),Oa=mt("rows-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]]);function he(t){if(typeof t=="string"||typeof t=="number")return""+t;let e="";if(Array.isArray(t))for(let n=0,o;n<t.length;n++)(o=he(t[n]))!==""&&(e+=(e&&" ")+o);else for(let n in t)t[n]&&(e+=(e&&" ")+n);return e}var y=ye(Wr(),1),Pa=ye(ia(),1),{useDebugValue:Da}=y.default,{useSyncExternalStoreWithSelector:Ia}=Pa.default,ja=t=>t;function Mn(t,e=ja,n){let o=Ia(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,n);return Da(o),o}var _n=(t,e)=>{let n=sa(t),o=(i,l=e)=>Mn(n,i,l);return Object.assign(o,n),o},Ra=(t,e)=>t?_n(t,e):_n;function ue(t,e){if(Object.is(t,e))return!0;if(typeof t!="object"||!t||typeof e!="object"||!e)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(let[o,i]of t)if(!Object.is(i,e.get(o)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(let o of t)if(!e.has(o))return!1;return!0}let n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(let o of n)if(!Object.prototype.hasOwnProperty.call(e,o)||!Object.is(t[o],e[o]))return!1;return!0}var pt=t=>()=>t;function zt(t,{sourceEvent:e,subject:n,target:o,identifier:i,active:l,x:a,y:d,dx:s,dy:c,dispatch:u}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:l,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:d,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}zt.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function Aa(t){return!t.ctrlKey&&!t.button}function Ba(){return this.parentNode}function za(t,e){return e??{x:t.x,y:t.y}}function La(){return navigator.maxTouchPoints||"ontouchstart"in this}function $a(){var t=Aa,e=Ba,n=za,o=La,i={},l=ba("start","drag","end"),a=0,d,s,c,u,r=0;function g(p){p.on("mousedown.drag",h).filter(o).on("touchstart.drag",v).on("touchmove.drag",b,Ea).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(p,C){if(!(u||!t.call(this,p,C))){var k=_(this,e.call(this,p,C),p,C,"mouse");k&&(ft(p.view).on("mousemove.drag",f,Nn).on("mouseup.drag",m,Nn),wa(p.view),At(p),c=!1,d=p.clientX,s=p.clientY,k("start",p))}}function f(p){if(Rt(p),!c){var C=p.clientX-d,k=p.clientY-s;c=C*C+k*k>r}i.mouse("drag",p)}function m(p){ft(p.view).on("mousemove.drag mouseup.drag",null),xa(p.view,c),Rt(p),i.mouse("end",p)}function v(p,C){if(t.call(this,p,C)){var k=p.changedTouches,O=e.call(this,p,C),D=k.length,P,E;for(P=0;P<D;++P)(E=_(this,O,p,C,k[P].identifier,k[P]))&&(At(p),E("start",p,k[P]))}}function b(p){var C=p.changedTouches,k=C.length,O,D;for(O=0;O<k;++O)(D=i[C[O].identifier])&&(Rt(p),D("drag",p,C[O]))}function x(p){var C=p.changedTouches,k=C.length,O,D;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),O=0;O<k;++O)(D=i[C[O].identifier])&&(At(p),D("end",p,C[O]))}function _(p,C,k,O,D,P){var E=l.copy(),w=Bt(P||k,C),M,N,S;if((S=n.call(p,new zt("beforestart",{sourceEvent:k,target:g,identifier:D,active:a,x:w[0],y:w[1],dx:0,dy:0,dispatch:E}),O))!=null)return M=S.x-w[0]||0,N=S.y-w[1]||0,function R(z,$,Y){var j=w,T;switch(z){case"start":i[D]=R,T=a++;break;case"end":delete i[D],--a;case"drag":w=Bt(Y||$,C),T=a;break}E.call(z,p,new zt(z,{sourceEvent:$,subject:S,target:g,identifier:D,active:T,x:w[0]+M,y:w[1]+N,dx:w[0]-j[0],dy:w[1]-j[1],dispatch:E}),O)}}return g.filter=function(p){return arguments.length?(t=typeof p=="function"?p:pt(!!p),g):t},g.container=function(p){return arguments.length?(e=typeof p=="function"?p:pt(p),g):e},g.subject=function(p){return arguments.length?(n=typeof p=="function"?p:pt(p),g):n},g.touchable=function(p){return arguments.length?(o=typeof p=="function"?p:pt(!!p),g):o},g.on=function(){var p=l.on.apply(l,arguments);return p===l?g:p},g.clickDistance=function(p){return arguments.length?(r=(p=+p)*p,g):Math.sqrt(r)},g}ea();var yt=(0,y.createContext)(null),Ta=yt.Provider,Ee={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:t=>`Node type "${t}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,e)=>`Couldn't create edge for ${t?"target":"source"} handle id: "${t?e.targetHandle:e.sourceHandle}", edge id: ${e.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`},On=Ee.error001();function ne(t,e){let n=(0,y.useContext)(yt);if(n===null)throw Error(On);return Mn(n,t,e)}var le=()=>{let t=(0,y.useContext)(yt);if(t===null)throw Error(On);return(0,y.useMemo)(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe,destroy:t.destroy}),[t])},Ha=t=>t.userSelectionActive?"none":"all";function vt({position:t,children:e,className:n,style:o,...i}){let l=ne(Ha),a=`${t}`.split("-");return y.createElement("div",{className:he(["react-flow__panel",n,...a]),style:{...o,pointerEvents:l},...i},e)}function Va({proOptions:t,position:e="bottom-right"}){return t!=null&&t.hideAttribution?null:y.createElement(vt,{position:e,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},y.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}var Xa=(0,y.memo)(({x:t,y:e,label:n,labelStyle:o={},labelShowBg:i=!0,labelBgStyle:l={},labelBgPadding:a=[2,4],labelBgBorderRadius:d=2,children:s,className:c,...u})=>{let r=(0,y.useRef)(null),[g,h]=(0,y.useState)({x:0,y:0,width:0,height:0}),f=he(["react-flow__edge-textwrapper",c]);return(0,y.useEffect)(()=>{if(r.current){let m=r.current.getBBox();h({x:m.x,y:m.y,width:m.width,height:m.height})}},[n]),n===void 0||!n?null:y.createElement("g",{transform:`translate(${t-g.width/2} ${e-g.height/2})`,className:f,visibility:g.width?"visible":"hidden",...u},i&&y.createElement("rect",{width:g.width+2*a[0],x:-a[0],y:-a[1],height:g.height+2*a[1],className:"react-flow__edge-textbg",style:l,rx:d,ry:d}),y.createElement("text",{className:"react-flow__edge-text",y:g.height/2,dy:"0.3em",ref:r,style:o},n),s)}),Lt=t=>({width:t.offsetWidth,height:t.offsetHeight}),Ze=(t,e=0,n=1)=>Math.min(Math.max(t,e),n),$t=(t={x:0,y:0},e)=>({x:Ze(t.x,e[0][0],e[1][0]),y:Ze(t.y,e[0][1],e[1][1])}),Pn=(t,e,n)=>t<e?Ze(Math.abs(t-e),1,50)/50:t>n?-Ze(Math.abs(t-n),1,50)/50:0,Dn=(t,e)=>[Pn(t.x,35,e.width-35)*20,Pn(t.y,35,e.height-35)*20],In=t=>{var e;return((e=t.getRootNode)==null?void 0:e.call(t))||(window==null?void 0:window.document)},Ya=(t,e)=>({x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x2,e.x2),y2:Math.max(t.y2,e.y2)}),Tt=({x:t,y:e,width:n,height:o})=>({x:t,y:e,x2:t+n,y2:e+o}),Fa=({x:t,y:e,x2:n,y2:o})=>({x:t,y:e,width:n-t,height:o-e}),jn=t=>({...t.positionAbsolute||{x:0,y:0},width:t.width||0,height:t.height||0}),Ht=(t,e)=>{let n=Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x)),o=Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y));return Math.ceil(n*o)},Za=t=>pe(t.width)&&pe(t.height)&&pe(t.x)&&pe(t.y),pe=t=>!isNaN(t)&&isFinite(t),re=Symbol.for("internals"),Rn=["Enter"," ","Escape"],Wa=(t,e)=>{},Ka=t=>"nativeEvent"in t;function Vt(t){var n,o,i;let e=((i=(o=(n=Ka(t)?t.nativeEvent:t).composedPath)==null?void 0:o.call(n))==null?void 0:i[0])||t.target;return["INPUT","SELECT","TEXTAREA"].includes(e==null?void 0:e.nodeName)||(e==null?void 0:e.hasAttribute("contenteditable"))||!!(e!=null&&e.closest(".nokey"))}var An=t=>"clientX"in t,Ce=(t,e)=>{var l,a;let n=An(t),o=n?t.clientX:(l=t.touches)==null?void 0:l[0].clientX,i=n?t.clientY:(a=t.touches)==null?void 0:a[0].clientY;return{x:o-((e==null?void 0:e.left)??0),y:i-((e==null?void 0:e.top)??0)}},bt=()=>{var t;return typeof navigator<"u"&&((t=navigator==null?void 0:navigator.userAgent)==null?void 0:t.indexOf("Mac"))>=0},at=({id:t,path:e,labelX:n,labelY:o,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,markerEnd:r,markerStart:g,interactionWidth:h=20})=>y.createElement(y.Fragment,null,y.createElement("path",{id:t,style:u,d:e,fill:"none",className:"react-flow__edge-path",markerEnd:r,markerStart:g}),h&&y.createElement("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),i&&pe(n)&&pe(o)?y.createElement(Xa,{x:n,y:o,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c}):null);at.displayName="BaseEdge";function it(t,e,n){return n===void 0?n:o=>{let i=e().edges.find(l=>l.id===t);i&&n(o,{...i})}}function Bn({sourceX:t,sourceY:e,targetX:n,targetY:o}){let i=Math.abs(n-t)/2,l=n<t?n+i:n-i,a=Math.abs(o-e)/2;return[l,o<e?o+a:o-a,i,a]}function zn({sourceX:t,sourceY:e,targetX:n,targetY:o,sourceControlX:i,sourceControlY:l,targetControlX:a,targetControlY:d}){let s=t*.125+i*.375+a*.375+n*.125,c=e*.125+l*.375+d*.375+o*.125;return[s,c,Math.abs(s-t),Math.abs(c-e)]}var We;(function(t){t.Strict="strict",t.Loose="loose"})(We||(We={}));var Be;(function(t){t.Free="free",t.Vertical="vertical",t.Horizontal="horizontal"})(Be||(Be={}));var xt;(function(t){t.Partial="partial",t.Full="full"})(xt||(xt={}));var ze;(function(t){t.Bezier="default",t.Straight="straight",t.Step="step",t.SmoothStep="smoothstep",t.SimpleBezier="simplebezier"})(ze||(ze={}));var st;(function(t){t.Arrow="arrow",t.ArrowClosed="arrowclosed"})(st||(st={}));var F;(function(t){t.Left="left",t.Top="top",t.Right="right",t.Bottom="bottom"})(F||(F={}));function Ln({pos:t,x1:e,y1:n,x2:o,y2:i}){return t===F.Left||t===F.Right?[.5*(e+o),n]:[e,.5*(n+i)]}function $n({sourceX:t,sourceY:e,sourcePosition:n=F.Bottom,targetX:o,targetY:i,targetPosition:l=F.Top}){let[a,d]=Ln({pos:n,x1:t,y1:e,x2:o,y2:i}),[s,c]=Ln({pos:l,x1:o,y1:i,x2:t,y2:e}),[u,r,g,h]=zn({sourceX:t,sourceY:e,targetX:o,targetY:i,sourceControlX:a,sourceControlY:d,targetControlX:s,targetControlY:c});return[`M${t},${e} C${a},${d} ${s},${c} ${o},${i}`,u,r,g,h]}var Xt=(0,y.memo)(({sourceX:t,sourceY:e,targetX:n,targetY:o,sourcePosition:i=F.Bottom,targetPosition:l=F.Top,label:a,labelStyle:d,labelShowBg:s,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:r,style:g,markerEnd:h,markerStart:f,interactionWidth:m})=>{let[v,b,x]=$n({sourceX:t,sourceY:e,sourcePosition:i,targetX:n,targetY:o,targetPosition:l});return y.createElement(at,{path:v,labelX:b,labelY:x,label:a,labelStyle:d,labelShowBg:s,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:r,style:g,markerEnd:h,markerStart:f,interactionWidth:m})});Xt.displayName="SimpleBezierEdge";var Tn={[F.Left]:{x:-1,y:0},[F.Right]:{x:1,y:0},[F.Top]:{x:0,y:-1},[F.Bottom]:{x:0,y:1}},Ga=({source:t,sourcePosition:e=F.Bottom,target:n})=>e===F.Left||e===F.Right?t.x<n.x?{x:1,y:0}:{x:-1,y:0}:t.y<n.y?{x:0,y:1}:{x:0,y:-1},Hn=(t,e)=>Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2);function Ua({source:t,sourcePosition:e=F.Bottom,target:n,targetPosition:o=F.Top,center:i,offset:l}){let a=Tn[e],d=Tn[o],s={x:t.x+a.x*l,y:t.y+a.y*l},c={x:n.x+d.x*l,y:n.y+d.y*l},u=Ga({source:s,sourcePosition:e,target:c}),r=u.x===0?"y":"x",g=u[r],h=[],f,m,v={x:0,y:0},b={x:0,y:0},[x,_,p,C]=Bn({sourceX:t.x,sourceY:t.y,targetX:n.x,targetY:n.y});if(a[r]*d[r]===-1){f=i.x??x,m=i.y??_;let k=[{x:f,y:s.y},{x:f,y:c.y}],O=[{x:s.x,y:m},{x:c.x,y:m}];h=a[r]===g?r==="x"?k:O:r==="x"?O:k}else{let k=[{x:s.x,y:c.y}],O=[{x:c.x,y:s.y}];if(h=r==="x"?a.x===g?O:k:a.y===g?k:O,e===o){let E=Math.abs(t[r]-n[r]);if(E<=l){let w=Math.min(l-1,l-E);a[r]===g?v[r]=(s[r]>t[r]?-1:1)*w:b[r]=(c[r]>n[r]?-1:1)*w}}if(e!==o){let E=r==="x"?"y":"x",w=a[r]===d[E],M=s[E]>c[E],N=s[E]<c[E];(a[r]===1&&(!w&&M||w&&N)||a[r]!==1&&(!w&&N||w&&M))&&(h=r==="x"?k:O)}let D={x:s.x+v.x,y:s.y+v.y},P={x:c.x+b.x,y:c.y+b.y};Math.max(Math.abs(D.x-h[0].x),Math.abs(P.x-h[0].x))>=Math.max(Math.abs(D.y-h[0].y),Math.abs(P.y-h[0].y))?(f=(D.x+P.x)/2,m=h[0].y):(f=h[0].x,m=(D.y+P.y)/2)}return[[t,{x:s.x+v.x,y:s.y+v.y},...h,{x:c.x+b.x,y:c.y+b.y},n],f,m,p,C]}function qa(t,e,n,o){let i=Math.min(Hn(t,e)/2,Hn(e,n)/2,o),{x:l,y:a}=e;if(t.x===l&&l===n.x||t.y===a&&a===n.y)return`L${l} ${a}`;if(t.y===a){let s=t.x<n.x?-1:1,c=t.y<n.y?1:-1;return`L ${l+i*s},${a}Q ${l},${a} ${l},${a+i*c}`}let d=t.x<n.x?1:-1;return`L ${l},${a+i*(t.y<n.y?-1:1)}Q ${l},${a} ${l+i*d},${a}`}function Yt({sourceX:t,sourceY:e,sourcePosition:n=F.Bottom,targetX:o,targetY:i,targetPosition:l=F.Top,borderRadius:a=5,centerX:d,centerY:s,offset:c=20}){let[u,r,g,h,f]=Ua({source:{x:t,y:e},sourcePosition:n,target:{x:o,y:i},targetPosition:l,center:{x:d,y:s},offset:c});return[u.reduce((m,v,b)=>{let x="";return x=b>0&&b<u.length-1?qa(u[b-1],v,u[b+1],a):`${b===0?"M":"L"}${v.x} ${v.y}`,m+=x,m},""),r,g,h,f]}var Et=(0,y.memo)(({sourceX:t,sourceY:e,targetX:n,targetY:o,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,sourcePosition:r=F.Bottom,targetPosition:g=F.Top,markerEnd:h,markerStart:f,pathOptions:m,interactionWidth:v})=>{let[b,x,_]=Yt({sourceX:t,sourceY:e,sourcePosition:r,targetX:n,targetY:o,targetPosition:g,borderRadius:m==null?void 0:m.borderRadius,offset:m==null?void 0:m.offset});return y.createElement(at,{path:b,labelX:x,labelY:_,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,markerEnd:h,markerStart:f,interactionWidth:v})});Et.displayName="SmoothStepEdge";var Ft=(0,y.memo)(t=>{var e;return y.createElement(Et,{...t,pathOptions:(0,y.useMemo)(()=>{var n;return{borderRadius:0,offset:(n=t.pathOptions)==null?void 0:n.offset}},[(e=t.pathOptions)==null?void 0:e.offset])})});Ft.displayName="StepEdge";function Qa({sourceX:t,sourceY:e,targetX:n,targetY:o}){let[i,l,a,d]=Bn({sourceX:t,sourceY:e,targetX:n,targetY:o});return[`M ${t},${e}L ${n},${o}`,i,l,a,d]}var Zt=(0,y.memo)(({sourceX:t,sourceY:e,targetX:n,targetY:o,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,markerEnd:r,markerStart:g,interactionWidth:h})=>{let[f,m,v]=Qa({sourceX:t,sourceY:e,targetX:n,targetY:o});return y.createElement(at,{path:f,labelX:m,labelY:v,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,markerEnd:r,markerStart:g,interactionWidth:h})});Zt.displayName="StraightEdge";function wt(t,e){return t>=0?.5*t:e*25*Math.sqrt(-t)}function Vn({pos:t,x1:e,y1:n,x2:o,y2:i,c:l}){switch(t){case F.Left:return[e-wt(e-o,l),n];case F.Right:return[e+wt(o-e,l),n];case F.Top:return[e,n-wt(n-i,l)];case F.Bottom:return[e,n+wt(i-n,l)]}}function Xn({sourceX:t,sourceY:e,sourcePosition:n=F.Bottom,targetX:o,targetY:i,targetPosition:l=F.Top,curvature:a=.25}){let[d,s]=Vn({pos:n,x1:t,y1:e,x2:o,y2:i,c:a}),[c,u]=Vn({pos:l,x1:o,y1:i,x2:t,y2:e,c:a}),[r,g,h,f]=zn({sourceX:t,sourceY:e,targetX:o,targetY:i,sourceControlX:d,sourceControlY:s,targetControlX:c,targetControlY:u});return[`M${t},${e} C${d},${s} ${c},${u} ${o},${i}`,r,g,h,f]}var St=(0,y.memo)(({sourceX:t,sourceY:e,targetX:n,targetY:o,sourcePosition:i=F.Bottom,targetPosition:l=F.Top,label:a,labelStyle:d,labelShowBg:s,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:r,style:g,markerEnd:h,markerStart:f,pathOptions:m,interactionWidth:v})=>{let[b,x,_]=Xn({sourceX:t,sourceY:e,sourcePosition:i,targetX:n,targetY:o,targetPosition:l,curvature:m==null?void 0:m.curvature});return y.createElement(at,{path:b,labelX:x,labelY:_,label:a,labelStyle:d,labelShowBg:s,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:r,style:g,markerEnd:h,markerStart:f,interactionWidth:v})});St.displayName="BezierEdge";var Wt=(0,y.createContext)(null),Ja=Wt.Provider;Wt.Consumer;var ei=()=>(0,y.useContext)(Wt),ti=t=>"id"in t&&"source"in t&&"target"in t,ni=({source:t,sourceHandle:e,target:n,targetHandle:o})=>`reactflow__edge-${t}${e||""}-${n}${o||""}`,Kt=(t,e)=>t===void 0?"":typeof t=="string"?t:`${e?`${e}__`:""}${Object.keys(t).sort().map(n=>`${n}=${t[n]}`).join("&")}`,oi=(t,e)=>e.some(n=>n.source===t.source&&n.target===t.target&&(n.sourceHandle===t.sourceHandle||!n.sourceHandle&&!t.sourceHandle)&&(n.targetHandle===t.targetHandle||!n.targetHandle&&!t.targetHandle)),ri=(t,e)=>{if(!t.source||!t.target)return Ee.error006(),e;let n;return n=ti(t)?{...t}:{...t,id:ni(t)},oi(n,e)?e:e.concat(n)},Gt=({x:t,y:e},[n,o,i],l,[a,d])=>{let s={x:(t-n)/i,y:(e-o)/i};return l?{x:a*Math.round(s.x/a),y:d*Math.round(s.y/d)}:s},Yn=({x:t,y:e},[n,o,i])=>({x:t*i+n,y:e*i+o}),Ke=(t,e=[0,0])=>{if(!t)return{x:0,y:0,positionAbsolute:{x:0,y:0}};let n=(t.width??0)*e[0],o=(t.height??0)*e[1],i={x:t.position.x-n,y:t.position.y-o};return{...i,positionAbsolute:t.positionAbsolute?{x:t.positionAbsolute.x-n,y:t.positionAbsolute.y-o}:i}},Ut=(t,e=[0,0])=>t.length===0?{x:0,y:0,width:0,height:0}:Fa(t.reduce((n,o)=>{let{x:i,y:l}=Ke(o,e).positionAbsolute;return Ya(n,Tt({x:i,y:l,width:o.width||0,height:o.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),Fn=(t,e,[n,o,i]=[0,0,1],l=!1,a=!1,d=[0,0])=>{let s={x:(e.x-n)/i,y:(e.y-o)/i,width:e.width/i,height:e.height/i},c=[];return t.forEach(u=>{let{width:r,height:g,selectable:h=!0,hidden:f=!1}=u;if(a&&!h||f)return!1;let{positionAbsolute:m}=Ke(u,d),v=Ht(s,{x:m.x,y:m.y,width:r||0,height:g||0}),b=r===void 0||g===void 0||r===null||g===null,x=l&&v>0,_=(r||0)*(g||0);(b||x||v>=_||u.dragging)&&c.push(u)}),c},Zn=(t,e)=>{let n=t.map(o=>o.id);return e.filter(o=>n.includes(o.source)||n.includes(o.target))},Wn=(t,e,n,o,i,l=.1)=>{let a=e/(t.width*(1+l)),d=n/(t.height*(1+l)),s=Ze(Math.min(a,d),o,i),c=t.x+t.width/2,u=t.y+t.height/2;return{x:e/2-c*s,y:n/2-u*s,zoom:s}},Le=(t,e=0)=>t.transition().duration(e);function Kn(t,e,n,o){return(e[n]||[]).reduce((i,l)=>{var a,d;return`${t.id}-${l.id}-${n}`!==o&&i.push({id:l.id||null,type:n,nodeId:t.id,x:(((a=t.positionAbsolute)==null?void 0:a.x)??0)+l.x+l.width/2,y:(((d=t.positionAbsolute)==null?void 0:d.y)??0)+l.y+l.height/2}),i},[])}function ai(t,e,n,o,i,l){let{x:a,y:d}=Ce(t),s=e.elementsFromPoint(a,d).find(h=>h.classList.contains("react-flow__handle"));if(s){let h=s.getAttribute("data-nodeid");if(h){let f=qt(void 0,s),m=s.getAttribute("data-handleid"),v=l({nodeId:h,id:m,type:f});if(v){let b=i.find(x=>x.nodeId===h&&x.type===f&&x.id===m);return{handle:{id:m,type:f,nodeId:h,x:(b==null?void 0:b.x)||n.x,y:(b==null?void 0:b.y)||n.y},validHandleResult:v}}}}let c=[],u=1/0;if(i.forEach(h=>{let f=Math.sqrt((h.x-n.x)**2+(h.y-n.y)**2);if(f<=o){let m=l(h);f<=u&&(f<u?c=[{handle:h,validHandleResult:m}]:f===u&&c.push({handle:h,validHandleResult:m}),u=f)}}),!c.length)return{handle:null,validHandleResult:Gn()};if(c.length===1)return c[0];let r=c.some(({validHandleResult:h})=>h.isValid),g=c.some(({handle:h})=>h.type==="target");return c.find(({handle:h,validHandleResult:f})=>g?h.type==="target":r?f.isValid:!0)||c[0]}var ii={source:null,target:null,sourceHandle:null,targetHandle:null},Gn=()=>({handleDomNode:null,isValid:!1,connection:ii,endHandle:null});function Un(t,e,n,o,i,l,a){let d=i==="target",s=a.querySelector(`.react-flow__handle[data-id="${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`),c={...Gn(),handleDomNode:s};if(s){let u=qt(void 0,s),r=s.getAttribute("data-nodeid"),g=s.getAttribute("data-handleid"),h=s.classList.contains("connectable"),f=s.classList.contains("connectableend"),m={source:d?r:n,sourceHandle:d?g:o,target:d?n:r,targetHandle:d?o:g};c.connection=m,h&&f&&(e===We.Strict?d&&u==="source"||!d&&u==="target":r!==n||g!==o)&&(c.endHandle={nodeId:r,handleId:g,type:u},c.isValid=l(m))}return c}function si({nodes:t,nodeId:e,handleId:n,handleType:o}){return t.reduce((i,l)=>{if(l[re]){let{handleBounds:a}=l[re],d=[],s=[];a&&(d=Kn(l,a,"source",`${e}-${n}-${o}`),s=Kn(l,a,"target",`${e}-${n}-${o}`)),i.push(...d,...s)}return i},[])}function qt(t,e){return t||(e!=null&&e.classList.contains("target")?"target":e!=null&&e.classList.contains("source")?"source":null)}function Qt(t){t==null||t.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function li(t,e){let n=null;return e?n="valid":t&&!e&&(n="invalid"),n}function qn({event:t,handleId:e,nodeId:n,onConnect:o,isTarget:i,getState:l,setState:a,isValidConnection:d,edgeUpdaterType:s,onReconnectEnd:c}){let u=In(t.target),{connectionMode:r,domNode:g,autoPanOnConnect:h,connectionRadius:f,onConnectStart:m,panBy:v,getNodes:b,cancelConnection:x}=l(),_=0,p,{x:C,y:k}=Ce(t),O=u==null?void 0:u.elementFromPoint(C,k),D=qt(s,O),P=g==null?void 0:g.getBoundingClientRect();if(!P||!D)return;let E,w=Ce(t,P),M=!1,N=null,S=!1,R=null,z=si({nodes:b(),nodeId:n,handleId:e,handleType:D}),$=()=>{if(!h)return;let[T,V]=Dn(w,P);v({x:T,y:V}),_=requestAnimationFrame($)};a({connectionPosition:w,connectionStatus:null,connectionNodeId:n,connectionHandleId:e,connectionHandleType:D,connectionStartHandle:{nodeId:n,handleId:e,type:D},connectionEndHandle:null}),m==null||m(t,{nodeId:n,handleId:e,handleType:D});function Y(T){let{transform:V}=l();w=Ce(T,P);let{handle:X,validHandleResult:W}=ai(T,u,Gt(w,V,!1,[1,1]),f,z,U=>Un(U,r,n,e,i?"target":"source",d,u));if(p=X,M||(M=($(),!0)),R=W.handleDomNode,N=W.connection,S=W.isValid,a({connectionPosition:p&&S?Yn({x:p.x,y:p.y},V):w,connectionStatus:li(!!p,S),connectionEndHandle:W.endHandle}),!p&&!S&&!R)return Qt(E);N.source!==N.target&&R&&(Qt(E),E=R,R.classList.add("connecting","react-flow__handle-connecting"),R.classList.toggle("valid",S),R.classList.toggle("react-flow__handle-valid",S))}function j(T){var V,X;(p||R)&&N&&S&&(o==null||o(N)),(X=(V=l()).onConnectEnd)==null||X.call(V,T),s&&(c==null||c(T)),Qt(E),x(),cancelAnimationFrame(_),M=!1,S=!1,N=null,R=null,u.removeEventListener("mousemove",Y),u.removeEventListener("mouseup",j),u.removeEventListener("touchmove",Y),u.removeEventListener("touchend",j)}u.addEventListener("mousemove",Y),u.addEventListener("mouseup",j),u.addEventListener("touchmove",Y),u.addEventListener("touchend",j)}var Qn=()=>!0,di=t=>({connectionStartHandle:t.connectionStartHandle,connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName}),ci=(t,e,n)=>o=>{let{connectionStartHandle:i,connectionEndHandle:l,connectionClickStartHandle:a}=o;return{connecting:(i==null?void 0:i.nodeId)===t&&(i==null?void 0:i.handleId)===e&&(i==null?void 0:i.type)===n||(l==null?void 0:l.nodeId)===t&&(l==null?void 0:l.handleId)===e&&(l==null?void 0:l.type)===n,clickConnecting:(a==null?void 0:a.nodeId)===t&&(a==null?void 0:a.handleId)===e&&(a==null?void 0:a.type)===n}},Jn=(0,y.forwardRef)(({type:t="source",position:e=F.Top,isValidConnection:n,isConnectable:o=!0,isConnectableStart:i=!0,isConnectableEnd:l=!0,id:a,onConnect:d,children:s,className:c,onMouseDown:u,onTouchStart:r,...g},h)=>{var P,E;let f=a||null,m=t==="target",v=le(),b=ei(),{connectOnClick:x,noPanClassName:_}=ne(di,ue),{connecting:p,clickConnecting:C}=ne(ci(b,f,t),ue);b||((E=(P=v.getState()).onError)==null||E.call(P,"010",Ee.error010()));let k=w=>{let{defaultEdgeOptions:M,onConnect:N,hasDefaultEdges:S}=v.getState(),R={...M,...w};if(S){let{edges:z,setEdges:$}=v.getState();$(ri(R,z))}N==null||N(R),d==null||d(R)},O=w=>{if(!b)return;let M=An(w);i&&(M&&w.button===0||!M)&&qn({event:w,handleId:f,nodeId:b,onConnect:k,isTarget:m,getState:v.getState,setState:v.setState,isValidConnection:n||v.getState().isValidConnection||Qn}),M?u==null||u(w):r==null||r(w)},D=w=>{let{onClickConnectStart:M,onClickConnectEnd:N,connectionClickStartHandle:S,connectionMode:R,isValidConnection:z}=v.getState();if(!b||!S&&!i)return;if(!S){M==null||M(w,{nodeId:b,handleId:f,handleType:t}),v.setState({connectionClickStartHandle:{nodeId:b,type:t,handleId:f}});return}let $=In(w.target),Y=n||z||Qn,{connection:j,isValid:T}=Un({nodeId:b,id:f,type:t},R,S.nodeId,S.handleId||null,S.type,Y,$);T&&k(j),N==null||N(w),v.setState({connectionClickStartHandle:null})};return y.createElement("div",{"data-handleid":f,"data-nodeid":b,"data-handlepos":e,"data-id":`${b}-${f}-${t}`,className:he(["react-flow__handle",`react-flow__handle-${e}`,"nodrag",_,c,{source:!m,target:m,connectable:o,connectablestart:i,connectableend:l,connecting:C,connectionindicator:o&&(i&&!p||l&&p)}]),onMouseDown:O,onTouchStart:O,onClick:x?D:void 0,ref:h,...g},s)});Jn.displayName="Handle";var Ne=(0,y.memo)(Jn),eo=({data:t,isConnectable:e,targetPosition:n=F.Top,sourcePosition:o=F.Bottom})=>y.createElement(y.Fragment,null,y.createElement(Ne,{type:"target",position:n,isConnectable:e}),t==null?void 0:t.label,y.createElement(Ne,{type:"source",position:o,isConnectable:e}));eo.displayName="DefaultNode";var Jt=(0,y.memo)(eo),to=({data:t,isConnectable:e,sourcePosition:n=F.Bottom})=>y.createElement(y.Fragment,null,t==null?void 0:t.label,y.createElement(Ne,{type:"source",position:n,isConnectable:e}));to.displayName="InputNode";var no=(0,y.memo)(to),oo=({data:t,isConnectable:e,targetPosition:n=F.Top})=>y.createElement(y.Fragment,null,y.createElement(Ne,{type:"target",position:n,isConnectable:e}),t==null?void 0:t.label);oo.displayName="OutputNode";var ro=(0,y.memo)(oo),en=()=>null;en.displayName="GroupNode";var ui=t=>({selectedNodes:t.getNodes().filter(e=>e.selected),selectedEdges:t.edges.filter(e=>e.selected).map(e=>({...e}))}),Ct=t=>t.id;function hi(t,e){return ue(t.selectedNodes.map(Ct),e.selectedNodes.map(Ct))&&ue(t.selectedEdges.map(Ct),e.selectedEdges.map(Ct))}var ao=(0,y.memo)(({onSelectionChange:t})=>{let e=le(),{selectedNodes:n,selectedEdges:o}=ne(ui,hi);return(0,y.useEffect)(()=>{let i={nodes:n,edges:o};t==null||t(i),e.getState().onSelectionChange.forEach(l=>l(i))},[n,o,t]),null});ao.displayName="SelectionListener";var gi=t=>!!t.onSelectionChange;function mi({onSelectionChange:t}){let e=ne(gi);return t||e?y.createElement(ao,{onSelectionChange:t}):null}var fi=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset});function Ge(t,e){(0,y.useEffect)(()=>{t!==void 0&&e(t)},[t])}function Q(t,e,n){(0,y.useEffect)(()=>{e!==void 0&&n({[t]:e})},[e])}var pi=({nodes:t,edges:e,defaultNodes:n,defaultEdges:o,onConnect:i,onConnectStart:l,onConnectEnd:a,onClickConnectStart:d,onClickConnectEnd:s,nodesDraggable:c,nodesConnectable:u,nodesFocusable:r,edgesFocusable:g,edgesUpdatable:h,elevateNodesOnSelect:f,minZoom:m,maxZoom:v,nodeExtent:b,onNodesChange:x,onEdgesChange:_,elementsSelectable:p,connectionMode:C,snapGrid:k,snapToGrid:O,translateExtent:D,connectOnClick:P,defaultEdgeOptions:E,fitView:w,fitViewOptions:M,onNodesDelete:N,onEdgesDelete:S,onNodeDrag:R,onNodeDragStart:z,onNodeDragStop:$,onSelectionDrag:Y,onSelectionDragStart:j,onSelectionDragStop:T,noPanClassName:V,nodeOrigin:X,rfId:W,autoPanOnConnect:U,autoPanOnNodeDrag:I,onError:A,connectionRadius:B,isValidConnection:H,nodeDragThreshold:Z})=>{let{setNodes:G,setEdges:ee,setDefaultNodesAndEdges:ae,setMinZoom:ge,setMaxZoom:oe,setTranslateExtent:J,setNodeExtent:de,reset:te}=ne(fi,ue),K=le();return(0,y.useEffect)(()=>{let me=o==null?void 0:o.map(_e=>({..._e,...E}));return ae(n,me),()=>{te()}},[]),Q("defaultEdgeOptions",E,K.setState),Q("connectionMode",C,K.setState),Q("onConnect",i,K.setState),Q("onConnectStart",l,K.setState),Q("onConnectEnd",a,K.setState),Q("onClickConnectStart",d,K.setState),Q("onClickConnectEnd",s,K.setState),Q("nodesDraggable",c,K.setState),Q("nodesConnectable",u,K.setState),Q("nodesFocusable",r,K.setState),Q("edgesFocusable",g,K.setState),Q("edgesUpdatable",h,K.setState),Q("elementsSelectable",p,K.setState),Q("elevateNodesOnSelect",f,K.setState),Q("snapToGrid",O,K.setState),Q("snapGrid",k,K.setState),Q("onNodesChange",x,K.setState),Q("onEdgesChange",_,K.setState),Q("connectOnClick",P,K.setState),Q("fitViewOnInit",w,K.setState),Q("fitViewOnInitOptions",M,K.setState),Q("onNodesDelete",N,K.setState),Q("onEdgesDelete",S,K.setState),Q("onNodeDrag",R,K.setState),Q("onNodeDragStart",z,K.setState),Q("onNodeDragStop",$,K.setState),Q("onSelectionDrag",Y,K.setState),Q("onSelectionDragStart",j,K.setState),Q("onSelectionDragStop",T,K.setState),Q("noPanClassName",V,K.setState),Q("nodeOrigin",X,K.setState),Q("rfId",W,K.setState),Q("autoPanOnConnect",U,K.setState),Q("autoPanOnNodeDrag",I,K.setState),Q("onError",A,K.setState),Q("connectionRadius",B,K.setState),Q("isValidConnection",H,K.setState),Q("nodeDragThreshold",Z,K.setState),Ge(t,G),Ge(e,ee),Ge(m,ge),Ge(v,oe),Ge(D,J),Ge(b,de),null},io={display:"none"},yi={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},so="react-flow__node-desc",lo="react-flow__edge-desc",vi="react-flow__aria-live",bi=t=>t.ariaLiveMessage;function xi({rfId:t}){let e=ne(bi);return y.createElement("div",{id:`${vi}-${t}`,"aria-live":"assertive","aria-atomic":"true",style:yi},e)}function Ei({rfId:t,disableKeyboardA11y:e}){return y.createElement(y.Fragment,null,y.createElement("div",{id:`${so}-${t}`,style:io},"Press enter or space to select a node.",!e&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),y.createElement("div",{id:`${lo}-${t}`,style:io},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!e&&y.createElement(xi,{rfId:t}))}var lt=(t=null,e={actInsideInputWithModifier:!0})=>{let[n,o]=(0,y.useState)(!1),i=(0,y.useRef)(!1),l=(0,y.useRef)(new Set([])),[a,d]=(0,y.useMemo)(()=>{if(t!==null){let s=(Array.isArray(t)?t:[t]).filter(c=>typeof c=="string").map(c=>c.split("+"));return[s,s.reduce((c,u)=>c.concat(...u),[])]}return[[],[]]},[t]);return(0,y.useEffect)(()=>{let s=typeof document<"u"?document:null,c=(e==null?void 0:e.target)||s;if(t!==null){let u=h=>{if(i.current=h.ctrlKey||h.metaKey||h.shiftKey,(!i.current||i.current&&!e.actInsideInputWithModifier)&&Vt(h))return!1;let f=uo(h.code,d);l.current.add(h[f]),co(a,l.current,!1)&&(h.preventDefault(),o(!0))},r=h=>{if((!i.current||i.current&&!e.actInsideInputWithModifier)&&Vt(h))return!1;let f=uo(h.code,d);co(a,l.current,!0)?(o(!1),l.current.clear()):l.current.delete(h[f]),h.key==="Meta"&&l.current.clear(),i.current=!1},g=()=>{l.current.clear(),o(!1)};return c==null||c.addEventListener("keydown",u),c==null||c.addEventListener("keyup",r),window.addEventListener("blur",g),()=>{c==null||c.removeEventListener("keydown",u),c==null||c.removeEventListener("keyup",r),window.removeEventListener("blur",g)}}},[t,o]),n};function co(t,e,n){return t.filter(o=>n||o.length===e.size).some(o=>o.every(i=>e.has(i)))}function uo(t,e){return e.includes(t)?"code":"key"}function ho(t,e,n,o){var d,s;let i=t.parentNode||t.parentId;if(!i)return n;let l=e.get(i),a=Ke(l,o);return ho(l,e,{x:(n.x??0)+a.x,y:(n.y??0)+a.y,z:(((d=l[re])==null?void 0:d.z)??0)>(n.z??0)?((s=l[re])==null?void 0:s.z)??0:n.z??0},o)}function go(t,e,n){t.forEach(o=>{var l;let i=o.parentNode||o.parentId;if(i&&!t.has(i))throw Error(`Parent node ${i} not found`);if(i||n!=null&&n[o.id]){let{x:a,y:d,z:s}=ho(o,t,{...o.position,z:((l=o[re])==null?void 0:l.z)??0},e);o.positionAbsolute={x:a,y:d},o[re].z=s,n!=null&&n[o.id]&&(o[re].isParent=!0)}})}function tn(t,e,n,o){let i=new Map,l={},a=o?1e3:0;return t.forEach(d=>{var h;let s=(pe(d.zIndex)?d.zIndex:0)+(d.selected?a:0),c=e.get(d.id),u={...d,positionAbsolute:{x:d.position.x,y:d.position.y}},r=d.parentNode||d.parentId;r&&(l[r]=!0);let g=(c==null?void 0:c.type)&&(c==null?void 0:c.type)!==d.type;Object.defineProperty(u,re,{enumerable:!1,value:{handleBounds:g||(h=c==null?void 0:c[re])==null?void 0:h.handleBounds,z:s}}),i.set(d.id,u)}),go(i,n,l),i}function mo(t,e={}){let{getNodes:n,width:o,height:i,minZoom:l,maxZoom:a,d3Zoom:d,d3Selection:s,fitViewOnInitDone:c,fitViewOnInit:u,nodeOrigin:r}=t(),g=e.initial&&!c&&u;if(d&&s&&(g||!e.initial)){let h=n().filter(m=>{var b;let v=e.includeHiddenNodes?m.width&&m.height:!m.hidden;return(b=e.nodes)!=null&&b.length?v&&e.nodes.some(x=>x.id===m.id):v}),f=h.every(m=>m.width&&m.height);if(h.length>0&&f){let{x:m,y:v,zoom:b}=Wn(Ut(h,r),o,i,e.minZoom??l,e.maxZoom??a,e.padding??.1),x=Fe.translate(m,v).scale(b);return typeof e.duration=="number"&&e.duration>0?d.transform(Le(s,e.duration),x):d.transform(s,x),!0}}return!1}function wi(t,e){return t.forEach(n=>{let o=e.get(n.id);o&&e.set(o.id,{...o,[re]:o[re],selected:n.selected})}),new Map(e)}function Si(t,e){return e.map(n=>{let o=t.find(i=>i.id===n.id);return o&&(n.selected=o.selected),n})}function Nt({changedNodes:t,changedEdges:e,get:n,set:o}){let{nodeInternals:i,edges:l,onNodesChange:a,onEdgesChange:d,hasDefaultNodes:s,hasDefaultEdges:c}=n();t!=null&&t.length&&(s&&o({nodeInternals:wi(t,i)}),a==null||a(t)),e!=null&&e.length&&(c&&o({edges:Si(e,l)}),d==null||d(e))}var Ue=()=>{},Ci={zoomIn:Ue,zoomOut:Ue,zoomTo:Ue,getZoom:()=>1,setViewport:Ue,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:Ue,fitBounds:Ue,project:t=>t,screenToFlowPosition:t=>t,flowToScreenPosition:t=>t,viewportInitialized:!1},Ni=t=>({d3Zoom:t.d3Zoom,d3Selection:t.d3Selection}),ki=()=>{let t=le(),{d3Zoom:e,d3Selection:n}=ne(Ni,ue);return(0,y.useMemo)(()=>n&&e?{zoomIn:o=>e.scaleBy(Le(n,o==null?void 0:o.duration),1.2),zoomOut:o=>e.scaleBy(Le(n,o==null?void 0:o.duration),1/1.2),zoomTo:(o,i)=>e.scaleTo(Le(n,i==null?void 0:i.duration),o),getZoom:()=>t.getState().transform[2],setViewport:(o,i)=>{let[l,a,d]=t.getState().transform,s=Fe.translate(o.x??l,o.y??a).scale(o.zoom??d);e.transform(Le(n,i==null?void 0:i.duration),s)},getViewport:()=>{let[o,i,l]=t.getState().transform;return{x:o,y:i,zoom:l}},fitView:o=>mo(t.getState,o),setCenter:(o,i,l)=>{let{width:a,height:d,maxZoom:s}=t.getState(),c=(l==null?void 0:l.zoom)===void 0?s:l.zoom,u=a/2-o*c,r=d/2-i*c,g=Fe.translate(u,r).scale(c);e.transform(Le(n,l==null?void 0:l.duration),g)},fitBounds:(o,i)=>{let{width:l,height:a,minZoom:d,maxZoom:s}=t.getState(),{x:c,y:u,zoom:r}=Wn(o,l,a,d,s,(i==null?void 0:i.padding)??.1),g=Fe.translate(c,u).scale(r);e.transform(Le(n,i==null?void 0:i.duration),g)},project:o=>{let{transform:i,snapToGrid:l,snapGrid:a}=t.getState();return console.warn("[DEPRECATED] `project` is deprecated. Instead use `screenToFlowPosition`. There is no need to subtract the react flow bounds anymore! https://reactflow.dev/api-reference/types/react-flow-instance#screen-to-flow-position"),Gt(o,i,l,a)},screenToFlowPosition:o=>{let{transform:i,snapToGrid:l,snapGrid:a,domNode:d}=t.getState();if(!d)return o;let{x:s,y:c}=d.getBoundingClientRect();return Gt({x:o.x-s,y:o.y-c},i,l,a)},flowToScreenPosition:o=>{let{transform:i,domNode:l}=t.getState();if(!l)return o;let{x:a,y:d}=l.getBoundingClientRect(),s=Yn(o,i);return{x:s.x+a,y:s.y+d}},viewportInitialized:!0}:Ci,[e,n])};function dt(){let t=ki(),e=le(),n=(0,y.useCallback)(()=>e.getState().getNodes().map(m=>({...m})),[]),o=(0,y.useCallback)(m=>e.getState().nodeInternals.get(m),[]),i=(0,y.useCallback)(()=>{let{edges:m=[]}=e.getState();return m.map(v=>({...v}))},[]),l=(0,y.useCallback)(m=>{let{edges:v=[]}=e.getState();return v.find(b=>b.id===m)},[]),a=(0,y.useCallback)(m=>{let{getNodes:v,setNodes:b,hasDefaultNodes:x,onNodesChange:_}=e.getState(),p=v(),C=typeof m=="function"?m(p):m;x?b(C):_&&_(C.length===0?p.map(k=>({type:"remove",id:k.id})):C.map(k=>({item:k,type:"reset"})))},[]),d=(0,y.useCallback)(m=>{let{edges:v=[],setEdges:b,hasDefaultEdges:x,onEdgesChange:_}=e.getState(),p=typeof m=="function"?m(v):m;x?b(p):_&&_(p.length===0?v.map(C=>({type:"remove",id:C.id})):p.map(C=>({item:C,type:"reset"})))},[]),s=(0,y.useCallback)(m=>{let v=Array.isArray(m)?m:[m],{getNodes:b,setNodes:x,hasDefaultNodes:_,onNodesChange:p}=e.getState();_?x([...b(),...v]):p&&p(v.map(C=>({item:C,type:"add"})))},[]),c=(0,y.useCallback)(m=>{let v=Array.isArray(m)?m:[m],{edges:b=[],setEdges:x,hasDefaultEdges:_,onEdgesChange:p}=e.getState();_?x([...b,...v]):p&&p(v.map(C=>({item:C,type:"add"})))},[]),u=(0,y.useCallback)(()=>{let{getNodes:m,edges:v=[],transform:b}=e.getState(),[x,_,p]=b;return{nodes:m().map(C=>({...C})),edges:v.map(C=>({...C})),viewport:{x,y:_,zoom:p}}},[]),r=(0,y.useCallback)(({nodes:m,edges:v})=>{let{nodeInternals:b,getNodes:x,edges:_,hasDefaultNodes:p,hasDefaultEdges:C,onNodesDelete:k,onEdgesDelete:O,onNodesChange:D,onEdgesChange:P}=e.getState(),E=(m||[]).map(R=>R.id),w=(v||[]).map(R=>R.id),M=x().reduce((R,z)=>{let $=z.parentNode||z.parentId,Y=!E.includes(z.id)&&$&&R.find(j=>j.id===$);return(typeof z.deletable!="boolean"||z.deletable)&&(E.includes(z.id)||Y)&&R.push(z),R},[]),N=_.filter(R=>typeof R.deletable=="boolean"?R.deletable:!0),S=N.filter(R=>w.includes(R.id));if(M||S){let R=Zn(M,N),z=[...S,...R],$=z.reduce((Y,j)=>(Y.includes(j.id)||Y.push(j.id),Y),[]);(C||p)&&(C&&e.setState({edges:_.filter(Y=>!$.includes(Y.id))}),p&&(M.forEach(Y=>{b.delete(Y.id)}),e.setState({nodeInternals:new Map(b)}))),$.length>0&&(O==null||O(z),P&&P($.map(Y=>({id:Y,type:"remove"})))),M.length>0&&(k==null||k(M),D&&D(M.map(Y=>({id:Y.id,type:"remove"}))))}},[]),g=(0,y.useCallback)(m=>{let v=Za(m),b=v?null:e.getState().nodeInternals.get(m.id);return!v&&!b?[null,null,v]:[v?m:jn(b),b,v]},[]),h=(0,y.useCallback)((m,v=!0,b)=>{let[x,_,p]=g(m);return x?(b||e.getState().getNodes()).filter(C=>{if(!p&&(C.id===_.id||!C.positionAbsolute))return!1;let k=Ht(jn(C),x);return v&&k>0||k>=x.width*x.height}):[]},[]),f=(0,y.useCallback)((m,v,b=!0)=>{let[x]=g(m);if(!x)return!1;let _=Ht(x,v);return b&&_>0||_>=x.width*x.height},[]);return(0,y.useMemo)(()=>({...t,getNodes:n,getNode:o,getEdges:i,getEdge:l,setNodes:a,setEdges:d,addNodes:s,addEdges:c,toObject:u,deleteElements:r,getIntersectingNodes:h,isNodeIntersecting:f}),[t,n,o,i,l,a,d,s,c,u,r,h,f])}var Mi={actInsideInputWithModifier:!1},_i=({deleteKeyCode:t,multiSelectionKeyCode:e})=>{let n=le(),{deleteElements:o}=dt(),i=lt(t,Mi),l=lt(e);(0,y.useEffect)(()=>{if(i){let{edges:a,getNodes:d}=n.getState();o({nodes:d().filter(s=>s.selected),edges:a.filter(s=>s.selected)}),n.setState({nodesSelectionActive:!1})}},[i]),(0,y.useEffect)(()=>{n.setState({multiSelectionActive:l})},[l])};function Oi(t){let e=le();(0,y.useEffect)(()=>{let n,o=()=>{var l,a;if(!t.current)return;let i=Lt(t.current);(i.height===0||i.width===0)&&((a=(l=e.getState()).onError)==null||a.call(l,"004",Ee.error004())),e.setState({width:i.width||500,height:i.height||500})};return o(),window.addEventListener("resize",o),t.current&&(n=new ResizeObserver(()=>o()),n.observe(t.current)),()=>{window.removeEventListener("resize",o),n&&t.current&&n.unobserve(t.current)}},[])}var nn={position:"absolute",width:"100%",height:"100%",top:0,left:0},Pi=(t,e)=>t.x!==e.x||t.y!==e.y||t.zoom!==e.k,kt=t=>({x:t.x,y:t.y,zoom:t.k}),qe=(t,e)=>t.target.closest(`.${e}`),fo=(t,e)=>e===2&&Array.isArray(t)&&t.includes(2),po=t=>{let e=t.ctrlKey&&bt()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*e},Di=t=>({d3Zoom:t.d3Zoom,d3Selection:t.d3Selection,d3ZoomHandler:t.d3ZoomHandler,userSelectionActive:t.userSelectionActive}),Ii=({onMove:t,onMoveStart:e,onMoveEnd:n,onPaneContextMenu:o,zoomOnScroll:i=!0,zoomOnPinch:l=!0,panOnScroll:a=!1,panOnScrollSpeed:d=.5,panOnScrollMode:s=Be.Free,zoomOnDoubleClick:c=!0,elementsSelectable:u,panOnDrag:r=!0,defaultViewport:g,translateExtent:h,minZoom:f,maxZoom:m,zoomActivationKeyCode:v,preventScrolling:b=!0,children:x,noWheelClassName:_,noPanClassName:p})=>{let C=(0,y.useRef)(),k=le(),O=(0,y.useRef)(!1),D=(0,y.useRef)(!1),P=(0,y.useRef)(null),E=(0,y.useRef)({x:0,y:0,zoom:0}),{d3Zoom:w,d3Selection:M,d3ZoomHandler:N,userSelectionActive:S}=ne(Di,ue),R=lt(v),z=(0,y.useRef)(0),$=(0,y.useRef)(!1),Y=(0,y.useRef)();return Oi(P),(0,y.useEffect)(()=>{if(P.current){let j=P.current.getBoundingClientRect(),T=Sa().scaleExtent([f,m]).translateExtent(h),V=ft(P.current).call(T),X=Fe.translate(g.x,g.y).scale(Ze(g.zoom,f,m)),W=[[0,0],[j.width,j.height]],U=T.constrain()(X,W,h);T.transform(V,U),T.wheelDelta(po),k.setState({d3Zoom:T,d3Selection:V,d3ZoomHandler:V.on("wheel.zoom"),transform:[U.x,U.y,U.k],domNode:P.current.closest(".react-flow")})}},[]),(0,y.useEffect)(()=>{M&&w&&(a&&!R&&!S?M.on("wheel.zoom",j=>{if(qe(j,_))return!1;j.preventDefault(),j.stopImmediatePropagation();let T=M.property("__zoom").k||1;if(j.ctrlKey&&l){let H=Bt(j),Z=T*2**po(j);w.scaleTo(M,Z,H,j);return}let V=j.deltaMode===1?20:1,X=s===Be.Vertical?0:j.deltaX*V,W=s===Be.Horizontal?0:j.deltaY*V;!bt()&&j.shiftKey&&s!==Be.Vertical&&(X=j.deltaY*V,W=0),w.translateBy(M,-(X/T)*d,-(W/T)*d,{internal:!0});let U=kt(M.property("__zoom")),{onViewportChangeStart:I,onViewportChange:A,onViewportChangeEnd:B}=k.getState();clearTimeout(Y.current),$.current||($.current=!0,e==null||e(j,U),I==null||I(U)),$.current&&(t==null||t(j,U),A==null||A(U),Y.current=setTimeout(()=>{n==null||n(j,U),B==null||B(U),$.current=!1},150))},{passive:!1}):N!==void 0&&M.on("wheel.zoom",function(j,T){if(!b&&j.type==="wheel"&&!j.ctrlKey||qe(j,_))return null;j.preventDefault(),N.call(this,j,T)},{passive:!1}))},[S,a,s,M,w,N,R,l,b,_,e,t,n]),(0,y.useEffect)(()=>{w&&w.on("start",j=>{var X,W;if(!j.sourceEvent||j.sourceEvent.internal)return null;z.current=(X=j.sourceEvent)==null?void 0:X.button;let{onViewportChangeStart:T}=k.getState(),V=kt(j.transform);O.current=!0,E.current=V,((W=j.sourceEvent)==null?void 0:W.type)==="mousedown"&&k.setState({paneDragging:!0}),T==null||T(V),e==null||e(j.sourceEvent,V)})},[w,e]),(0,y.useEffect)(()=>{w&&(S&&!O.current?w.on("zoom",null):S||w.on("zoom",j=>{var V;let{onViewportChange:T}=k.getState();if(k.setState({transform:[j.transform.x,j.transform.y,j.transform.k]}),D.current=!!(o&&fo(r,z.current??0)),(t||T)&&!((V=j.sourceEvent)!=null&&V.internal)){let X=kt(j.transform);T==null||T(X),t==null||t(j.sourceEvent,X)}}))},[S,w,t,r,o]),(0,y.useEffect)(()=>{w&&w.on("end",j=>{if(!j.sourceEvent||j.sourceEvent.internal)return null;let{onViewportChangeEnd:T}=k.getState();if(O.current=!1,k.setState({paneDragging:!1}),o&&fo(r,z.current??0)&&!D.current&&o(j.sourceEvent),D.current=!1,(n||T)&&Pi(E.current,j.transform)){let V=kt(j.transform);E.current=V,clearTimeout(C.current),C.current=setTimeout(()=>{T==null||T(V),n==null||n(j.sourceEvent,V)},a?150:0)}})},[w,a,r,n,o]),(0,y.useEffect)(()=>{w&&w.filter(j=>{let T=R||i,V=l&&j.ctrlKey;if((r===!0||Array.isArray(r)&&r.includes(1))&&j.button===1&&j.type==="mousedown"&&(qe(j,"react-flow__node")||qe(j,"react-flow__edge")))return!0;if(!r&&!T&&!a&&!c&&!l||S||!c&&j.type==="dblclick"||qe(j,_)&&j.type==="wheel"||qe(j,p)&&(j.type!=="wheel"||a&&j.type==="wheel"&&!R)||!l&&j.ctrlKey&&j.type==="wheel"||!T&&!a&&!V&&j.type==="wheel"||!r&&(j.type==="mousedown"||j.type==="touchstart")||Array.isArray(r)&&!r.includes(j.button)&&j.type==="mousedown")return!1;let X=Array.isArray(r)&&r.includes(j.button)||!j.button||j.button<=1;return(!j.ctrlKey||j.type==="wheel")&&X})},[S,w,i,l,a,c,r,u,R]),y.createElement("div",{className:"react-flow__renderer",ref:P,style:nn},x)},ji=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function Ri(){let{userSelectionActive:t,userSelectionRect:e}=ne(ji,ue);return t&&e?y.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:e.width,height:e.height,transform:`translate(${e.x}px, ${e.y}px)`}}):null}function yo(t,e){let n=e.parentNode||e.parentId,o=t.find(i=>i.id===n);if(o){let i=e.position.x+e.width-o.width,l=e.position.y+e.height-o.height;if(i>0||l>0||e.position.x<0||e.position.y<0){if(o.style={...o.style},o.style.width=o.style.width??o.width,o.style.height=o.style.height??o.height,i>0&&(o.style.width+=i),l>0&&(o.style.height+=l),e.position.x<0){let a=Math.abs(e.position.x);o.position.x=o.position.x-a,o.style.width+=a,e.position.x=0}if(e.position.y<0){let a=Math.abs(e.position.y);o.position.y=o.position.y-a,o.style.height+=a,e.position.y=0}o.width=o.style.width,o.height=o.style.height}}}function vo(t,e){if(t.some(o=>o.type==="reset"))return t.filter(o=>o.type==="reset").map(o=>o.item);let n=t.filter(o=>o.type==="add").map(o=>o.item);return e.reduce((o,i)=>{let l=t.filter(d=>d.id===i.id);if(l.length===0)return o.push(i),o;let a={...i};for(let d of l)if(d)switch(d.type){case"select":a.selected=d.selected;break;case"position":d.position!==void 0&&(a.position=d.position),d.positionAbsolute!==void 0&&(a.positionAbsolute=d.positionAbsolute),d.dragging!==void 0&&(a.dragging=d.dragging),a.expandParent&&yo(o,a);break;case"dimensions":d.dimensions!==void 0&&(a.width=d.dimensions.width,a.height=d.dimensions.height),d.updateStyle!==void 0&&(a.style={...a.style||{},...d.dimensions}),typeof d.resizing=="boolean"&&(a.resizing=d.resizing),a.expandParent&&yo(o,a);break;case"remove":return o}return o.push(a),o},n)}function bo(t,e){return vo(t,e)}function Ai(t,e){return vo(t,e)}var ke=(t,e)=>({id:t,type:"select",selected:e});function Qe(t,e){return t.reduce((n,o)=>{let i=e.includes(o.id);return!o.selected&&i?(o.selected=!0,n.push(ke(o.id,!0))):o.selected&&!i&&(o.selected=!1,n.push(ke(o.id,!1))),n},[])}var on=(t,e)=>n=>{n.target===e.current&&(t==null||t(n))},Bi=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,dragging:t.paneDragging}),xo=(0,y.memo)(({isSelecting:t,selectionMode:e=xt.Full,panOnDrag:n,onSelectionStart:o,onSelectionEnd:i,onPaneClick:l,onPaneContextMenu:a,onPaneScroll:d,onPaneMouseEnter:s,onPaneMouseMove:c,onPaneMouseLeave:u,children:r})=>{let g=(0,y.useRef)(null),h=le(),f=(0,y.useRef)(0),m=(0,y.useRef)(0),v=(0,y.useRef)(),{userSelectionActive:b,elementsSelectable:x,dragging:_}=ne(Bi,ue),p=()=>{h.setState({userSelectionActive:!1,userSelectionRect:null}),f.current=0,m.current=0},C=N=>{l==null||l(N),h.getState().resetSelectedElements(),h.setState({nodesSelectionActive:!1})},k=N=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){N.preventDefault();return}a==null||a(N)},O=d?N=>d(N):void 0,D=N=>{let{resetSelectedElements:S,domNode:R}=h.getState();if(v.current=R==null?void 0:R.getBoundingClientRect(),!x||!t||N.button!==0||N.target!==g.current||!v.current)return;let{x:z,y:$}=Ce(N,v.current);S(),h.setState({userSelectionRect:{width:0,height:0,startX:z,startY:$,x:z,y:$}}),o==null||o(N)},P=N=>{let{userSelectionRect:S,nodeInternals:R,edges:z,transform:$,onNodesChange:Y,onEdgesChange:j,nodeOrigin:T,getNodes:V}=h.getState();if(!t||!v.current||!S)return;h.setState({userSelectionActive:!0,nodesSelectionActive:!1});let X=Ce(N,v.current),W=S.startX??0,U=S.startY??0,I={...S,x:X.x<W?X.x:W,y:X.y<U?X.y:U,width:Math.abs(X.x-W),height:Math.abs(X.y-U)},A=V(),B=Fn(R,I,$,e===xt.Partial,!0,T),H=Zn(B,z).map(G=>G.id),Z=B.map(G=>G.id);if(f.current!==Z.length){f.current=Z.length;let G=Qe(A,Z);G.length&&(Y==null||Y(G))}if(m.current!==H.length){m.current=H.length;let G=Qe(z,H);G.length&&(j==null||j(G))}h.setState({userSelectionRect:I})},E=N=>{if(N.button!==0)return;let{userSelectionRect:S}=h.getState();!b&&S&&N.target===g.current&&(C==null||C(N)),h.setState({nodesSelectionActive:f.current>0}),p(),i==null||i(N)},w=N=>{b&&(h.setState({nodesSelectionActive:f.current>0}),i==null||i(N)),p()},M=x&&(t||b);return y.createElement("div",{className:he(["react-flow__pane",{dragging:_,selection:t}]),onClick:M?void 0:on(C,g),onContextMenu:on(k,g),onWheel:on(O,g),onMouseEnter:M?void 0:s,onMouseDown:M?D:void 0,onMouseMove:M?P:c,onMouseUp:M?E:void 0,onMouseLeave:M?w:u,ref:g,style:nn},r,y.createElement(Ri,null))});xo.displayName="Pane";function Eo(t,e){let n=t.parentNode||t.parentId;if(!n)return!1;let o=e.get(n);return o?o.selected?!0:Eo(o,e):!1}function wo(t,e,n){let o=t;do{if(o!=null&&o.matches(e))return!0;if(o===n.current)return!1;o=o.parentElement}while(o);return!1}function zi(t,e,n,o){return Array.from(t.values()).filter(i=>(i.selected||i.id===o)&&(!i.parentNode||i.parentId||!Eo(i,t))&&(i.draggable||e&&i.draggable===void 0)).map(i=>{var l,a;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((l=i.positionAbsolute)==null?void 0:l.x)??0),y:n.y-(((a=i.positionAbsolute)==null?void 0:a.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode||i.parentId,parentId:i.parentNode||i.parentId,width:i.width,height:i.height,expandParent:i.expandParent}})}function Li(t,e){return!e||e==="parent"?e:[e[0],[e[1][0]-(t.width||0),e[1][1]-(t.height||0)]]}function So(t,e,n,o,i=[0,0],l){let a=Li(t,t.extent||o),d=a,s=t.parentNode||t.parentId;if(t.extent==="parent"&&!t.expandParent)if(s&&t.width&&t.height){let r=n.get(s),{x:g,y:h}=Ke(r,i).positionAbsolute;d=r&&pe(g)&&pe(h)&&pe(r.width)&&pe(r.height)?[[g+t.width*i[0],h+t.height*i[1]],[g+r.width-t.width+t.width*i[0],h+r.height-t.height+t.height*i[1]]]:d}else l==null||l("005",Ee.error005()),d=a;else if(t.extent&&s&&t.extent!=="parent"){let{x:r,y:g}=Ke(n.get(s),i).positionAbsolute;d=[[t.extent[0][0]+r,t.extent[0][1]+g],[t.extent[1][0]+r,t.extent[1][1]+g]]}let c={x:0,y:0};s&&(c=Ke(n.get(s),i).positionAbsolute);let u=d&&d!=="parent"?$t(e,d):e;return{position:{x:u.x-c.x,y:u.y-c.y},positionAbsolute:u}}function rn({nodeId:t,dragItems:e,nodeInternals:n}){let o=e.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[t?o.find(i=>i.id===t):o[0],o]}var Co=(t,e,n,o)=>{let i=e.querySelectorAll(t);if(!i||!i.length)return null;let l=Array.from(i),a=e.getBoundingClientRect(),d={x:a.width*o[0],y:a.height*o[1]};return l.map(s=>{let c=s.getBoundingClientRect();return{id:s.getAttribute("data-handleid"),position:s.getAttribute("data-handlepos"),x:(c.left-a.left-d.x)/n,y:(c.top-a.top-d.y)/n,...Lt(s)}})};function ct(t,e,n){return n===void 0?n:o=>{let i=e().nodeInternals.get(t);i&&n(o,{...i})}}function an({id:t,store:e,unselect:n=!1,nodeRef:o}){let{addSelectedNodes:i,unselectNodesAndEdges:l,multiSelectionActive:a,nodeInternals:d,onError:s}=e.getState(),c=d.get(t);if(!c){s==null||s("012",Ee.error012(t));return}e.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&a)&&(l({nodes:[c],edges:[]}),requestAnimationFrame(()=>{var u;return(u=o==null?void 0:o.current)==null?void 0:u.blur()})):i([t])}function $i(){let t=le();return(0,y.useCallback)(({sourceEvent:e})=>{let{transform:n,snapGrid:o,snapToGrid:i}=t.getState(),l=e.touches?e.touches[0].clientX:e.clientX,a=e.touches?e.touches[0].clientY:e.clientY,d={x:(l-n[0])/n[2],y:(a-n[1])/n[2]};return{xSnapped:i?o[0]*Math.round(d.x/o[0]):d.x,ySnapped:i?o[1]*Math.round(d.y/o[1]):d.y,...d}},[])}function sn(t){return(e,n,o)=>t==null?void 0:t(e,o)}function No({nodeRef:t,disabled:e=!1,noDragClassName:n,handleSelector:o,nodeId:i,isSelectable:l,selectNodesOnDrag:a}){let d=le(),[s,c]=(0,y.useState)(!1),u=(0,y.useRef)([]),r=(0,y.useRef)({x:null,y:null}),g=(0,y.useRef)(0),h=(0,y.useRef)(null),f=(0,y.useRef)({x:0,y:0}),m=(0,y.useRef)(null),v=(0,y.useRef)(!1),b=(0,y.useRef)(!1),x=(0,y.useRef)(!1),_=$i();return(0,y.useEffect)(()=>{if(t!=null&&t.current){let p=ft(t.current),C=({x:D,y:P})=>{let{nodeInternals:E,onNodeDrag:w,onSelectionDrag:M,updateNodePositions:N,nodeExtent:S,snapGrid:R,snapToGrid:z,nodeOrigin:$,onError:Y}=d.getState();r.current={x:D,y:P};let j=!1,T={x:0,y:0,x2:0,y2:0};if(u.current.length>1&&S&&(T=Tt(Ut(u.current,$))),u.current=u.current.map(X=>{let W={x:D-X.distance.x,y:P-X.distance.y};z&&(W.x=R[0]*Math.round(W.x/R[0]),W.y=R[1]*Math.round(W.y/R[1]));let U=[[S[0][0],S[0][1]],[S[1][0],S[1][1]]];u.current.length>1&&S&&!X.extent&&(U[0][0]=X.positionAbsolute.x-T.x+S[0][0],U[1][0]=X.positionAbsolute.x+(X.width??0)-T.x2+S[1][0],U[0][1]=X.positionAbsolute.y-T.y+S[0][1],U[1][1]=X.positionAbsolute.y+(X.height??0)-T.y2+S[1][1]);let I=So(X,W,E,U,$,Y);return j=j||X.position.x!==I.position.x||X.position.y!==I.position.y,X.position=I.position,X.positionAbsolute=I.positionAbsolute,X}),!j)return;N(u.current,!0,!0),c(!0);let V=i?w:sn(M);if(V&&m.current){let[X,W]=rn({nodeId:i,dragItems:u.current,nodeInternals:E});V(m.current,X,W)}},k=()=>{if(!h.current)return;let[D,P]=Dn(f.current,h.current);if(D!==0||P!==0){let{transform:E,panBy:w}=d.getState();r.current.x=(r.current.x??0)-D/E[2],r.current.y=(r.current.y??0)-P/E[2],w({x:D,y:P})&&C(r.current)}g.current=requestAnimationFrame(k)},O=D=>{var $;let{nodeInternals:P,multiSelectionActive:E,nodesDraggable:w,unselectNodesAndEdges:M,onNodeDragStart:N,onSelectionDragStart:S}=d.getState();b.current=!0;let R=i?N:sn(S);(!a||!l)&&!E&&i&&(($=P.get(i))!=null&&$.selected||M()),i&&l&&a&&an({id:i,store:d,nodeRef:t});let z=_(D);if(r.current=z,u.current=zi(P,w,z,i),R&&u.current){let[Y,j]=rn({nodeId:i,dragItems:u.current,nodeInternals:P});R(D.sourceEvent,Y,j)}};if(e)p.on(".drag",null);else{let D=$a().on("start",P=>{let{domNode:E,nodeDragThreshold:w}=d.getState();w===0&&O(P),x.current=!1,r.current=_(P),h.current=(E==null?void 0:E.getBoundingClientRect())||null,f.current=Ce(P.sourceEvent,h.current)}).on("drag",P=>{var N,S;let E=_(P),{autoPanOnNodeDrag:w,nodeDragThreshold:M}=d.getState();if(P.sourceEvent.type==="touchmove"&&P.sourceEvent.touches.length>1&&(x.current=!0),!x.current){if(!v.current&&b.current&&w&&(v.current=!0,k()),!b.current){let R=E.xSnapped-(((N=r==null?void 0:r.current)==null?void 0:N.x)??0),z=E.ySnapped-(((S=r==null?void 0:r.current)==null?void 0:S.y)??0);Math.sqrt(R*R+z*z)>M&&O(P)}(r.current.x!==E.xSnapped||r.current.y!==E.ySnapped)&&u.current&&b.current&&(m.current=P.sourceEvent,f.current=Ce(P.sourceEvent,h.current),C(E))}}).on("end",P=>{if(!(!b.current||x.current)&&(c(!1),v.current=!1,b.current=!1,cancelAnimationFrame(g.current),u.current)){let{updateNodePositions:E,nodeInternals:w,onNodeDragStop:M,onSelectionDragStop:N}=d.getState(),S=i?M:sn(N);if(E(u.current,!1,!1),S){let[R,z]=rn({nodeId:i,dragItems:u.current,nodeInternals:w});S(P.sourceEvent,R,z)}}}).filter(P=>{let E=P.target;return!P.button&&(!n||!wo(E,`.${n}`,t))&&(!o||wo(E,o,t))});return p.call(D),()=>{p.on(".drag",null)}}}},[t,e,n,o,l,d,i,a,_]),s}function ko(){let t=le();return(0,y.useCallback)(e=>{let{nodeInternals:n,nodeExtent:o,updateNodePositions:i,getNodes:l,snapToGrid:a,snapGrid:d,onError:s,nodesDraggable:c}=t.getState(),u=l().filter(v=>v.selected&&(v.draggable||c&&v.draggable===void 0)),r=a?d[0]:5,g=a?d[1]:5,h=e.isShiftPressed?4:1,f=e.x*r*h,m=e.y*g*h;i(u.map(v=>{if(v.positionAbsolute){let b={x:v.positionAbsolute.x+f,y:v.positionAbsolute.y+m};a&&(b.x=d[0]*Math.round(b.x/d[0]),b.y=d[1]*Math.round(b.y/d[1]));let{positionAbsolute:x,position:_}=So(v,b,n,o,void 0,s);v.position=_,v.positionAbsolute=x}return v}),!0,!1)},[])}var Je={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},ut=t=>{let e=({id:n,type:o,data:i,xPos:l,yPos:a,xPosOrigin:d,yPosOrigin:s,selected:c,onClick:u,onMouseEnter:r,onMouseMove:g,onMouseLeave:h,onContextMenu:f,onDoubleClick:m,style:v,className:b,isDraggable:x,isSelectable:_,isConnectable:p,isFocusable:C,selectNodesOnDrag:k,sourcePosition:O,targetPosition:D,hidden:P,resizeObserver:E,dragHandle:w,zIndex:M,isParent:N,noDragClassName:S,noPanClassName:R,initialized:z,disableKeyboardA11y:$,ariaLabel:Y,rfId:j,hasHandleBounds:T})=>{let V=le(),X=(0,y.useRef)(null),W=(0,y.useRef)(null),U=(0,y.useRef)(O),I=(0,y.useRef)(D),A=(0,y.useRef)(o),B=_||x||u||r||g||h,H=ko(),Z=ct(n,V.getState,r),G=ct(n,V.getState,g),ee=ct(n,V.getState,h),ae=ct(n,V.getState,f),ge=ct(n,V.getState,m),oe=te=>{let{nodeDragThreshold:K}=V.getState();if(_&&(!k||!x||K>0)&&an({id:n,store:V,nodeRef:X}),u){let me=V.getState().nodeInternals.get(n);me&&u(te,{...me})}},J=te=>{Vt(te)||$||(Rn.includes(te.key)&&_?an({id:n,store:V,unselect:te.key==="Escape",nodeRef:X}):x&&c&&Object.prototype.hasOwnProperty.call(Je,te.key)&&(V.setState({ariaLiveMessage:`Moved selected node ${te.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~l}, y: ${~~a}`}),H({x:Je[te.key].x,y:Je[te.key].y,isShiftPressed:te.shiftKey})))};(0,y.useEffect)(()=>()=>{W.current&&(W.current=(E==null||E.unobserve(W.current),null))},[]),(0,y.useEffect)(()=>{if(X.current&&!P){let te=X.current;(!z||!T||W.current!==te)&&(W.current&&(E==null||E.unobserve(W.current)),E==null||E.observe(te),W.current=te)}},[P,z,T]),(0,y.useEffect)(()=>{let te=A.current!==o,K=U.current!==O,me=I.current!==D;X.current&&(te||K||me)&&(te&&(A.current=o),K&&(U.current=O),me&&(I.current=D),V.getState().updateNodeDimensions([{id:n,nodeElement:X.current,forceUpdate:!0}]))},[n,o,O,D]);let de=No({nodeRef:X,disabled:P||!x,noDragClassName:S,handleSelector:w,nodeId:n,isSelectable:_,selectNodesOnDrag:k});return P?null:y.createElement("div",{className:he(["react-flow__node",`react-flow__node-${o}`,{[R]:x},b,{selected:c,selectable:_,parent:N,dragging:de}]),ref:X,style:{zIndex:M,transform:`translate(${d}px,${s}px)`,pointerEvents:B?"all":"none",visibility:z?"visible":"hidden",...v},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:Z,onMouseMove:G,onMouseLeave:ee,onContextMenu:ae,onClick:oe,onDoubleClick:ge,onKeyDown:C?J:void 0,tabIndex:C?0:void 0,role:C?"button":void 0,"aria-describedby":$?void 0:`${so}-${j}`,"aria-label":Y},y.createElement(Ja,{value:n},y.createElement(t,{id:n,data:i,type:o,xPos:l,yPos:a,selected:c,isConnectable:p,sourcePosition:O,targetPosition:D,dragging:de,dragHandle:w,zIndex:M})))};return e.displayName="NodeWrapper",(0,y.memo)(e)},Ti=t=>({...Ut(t.getNodes().filter(e=>e.selected),t.nodeOrigin),transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`,userSelectionActive:t.userSelectionActive});function Hi({onSelectionContextMenu:t,noPanClassName:e,disableKeyboardA11y:n}){let o=le(),{width:i,height:l,x:a,y:d,transformString:s,userSelectionActive:c}=ne(Ti,ue),u=ko(),r=(0,y.useRef)(null);if((0,y.useEffect)(()=>{var h;n||((h=r.current)==null||h.focus({preventScroll:!0}))},[n]),No({nodeRef:r}),c||!i||!l)return null;let g=t?h=>{t(h,o.getState().getNodes().filter(f=>f.selected))}:void 0;return y.createElement("div",{className:he(["react-flow__nodesselection","react-flow__container",e]),style:{transform:s}},y.createElement("div",{ref:r,className:"react-flow__nodesselection-rect",onContextMenu:g,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h=>{Object.prototype.hasOwnProperty.call(Je,h.key)&&u({x:Je[h.key].x,y:Je[h.key].y,isShiftPressed:h.shiftKey})},style:{width:i,height:l,top:d,left:a}}))}var Vi=(0,y.memo)(Hi),Xi=t=>t.nodesSelectionActive,Mo=({children:t,onPaneClick:e,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:i,onPaneContextMenu:l,onPaneScroll:a,deleteKeyCode:d,onMove:s,onMoveStart:c,onMoveEnd:u,selectionKeyCode:r,selectionOnDrag:g,selectionMode:h,onSelectionStart:f,onSelectionEnd:m,multiSelectionKeyCode:v,panActivationKeyCode:b,zoomActivationKeyCode:x,elementsSelectable:_,zoomOnScroll:p,zoomOnPinch:C,panOnScroll:k,panOnScrollSpeed:O,panOnScrollMode:D,zoomOnDoubleClick:P,panOnDrag:E,defaultViewport:w,translateExtent:M,minZoom:N,maxZoom:S,preventScrolling:R,onSelectionContextMenu:z,noWheelClassName:$,noPanClassName:Y,disableKeyboardA11y:j})=>{let T=ne(Xi),V=lt(r),X=lt(b),W=X||E,U=X||k,I=V||g&&W!==!0;return _i({deleteKeyCode:d,multiSelectionKeyCode:v}),y.createElement(Ii,{onMove:s,onMoveStart:c,onMoveEnd:u,onPaneContextMenu:l,elementsSelectable:_,zoomOnScroll:p,zoomOnPinch:C,panOnScroll:U,panOnScrollSpeed:O,panOnScrollMode:D,zoomOnDoubleClick:P,panOnDrag:!V&&W,defaultViewport:w,translateExtent:M,minZoom:N,maxZoom:S,zoomActivationKeyCode:x,preventScrolling:R,noWheelClassName:$,noPanClassName:Y},y.createElement(xo,{onSelectionStart:f,onSelectionEnd:m,onPaneClick:e,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:i,onPaneContextMenu:l,onPaneScroll:a,panOnDrag:W,isSelecting:!!I,selectionMode:h},t,T&&y.createElement(Vi,{onSelectionContextMenu:z,noPanClassName:Y,disableKeyboardA11y:j})))};Mo.displayName="FlowRenderer";var Yi=(0,y.memo)(Mo);function Fi(t){return ne((0,y.useCallback)(e=>t?Fn(e.nodeInternals,{x:0,y:0,width:e.width,height:e.height},e.transform,!0):e.getNodes(),[t]))}function Zi(t){let e={input:ut(t.input||no),default:ut(t.default||Jt),output:ut(t.output||ro),group:ut(t.group||en)},n=Object.keys(t).filter(o=>!["input","default","output","group"].includes(o)).reduce((o,i)=>(o[i]=ut(t[i]||Jt),o),{});return{...e,...n}}var Wi=({x:t,y:e,width:n,height:o,origin:i})=>!n||!o||i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:t,y:e}:{x:t-n*i[0],y:e-o*i[1]},Ki=t=>({nodesDraggable:t.nodesDraggable,nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,updateNodeDimensions:t.updateNodeDimensions,onError:t.onError}),_o=t=>{let{nodesDraggable:e,nodesConnectable:n,nodesFocusable:o,elementsSelectable:i,updateNodeDimensions:l,onError:a}=ne(Ki,ue),d=Fi(t.onlyRenderVisibleElements),s=(0,y.useRef)(),c=(0,y.useMemo)(()=>{if(typeof ResizeObserver>"u")return null;let u=new ResizeObserver(r=>{l(r.map(g=>({id:g.target.getAttribute("data-id"),nodeElement:g.target,forceUpdate:!0})))});return s.current=u,u},[]);return(0,y.useEffect)(()=>()=>{var u;(u=s==null?void 0:s.current)==null||u.disconnect()},[]),y.createElement("div",{className:"react-flow__nodes",style:nn},d.map(u=>{var C,k,O;let r=u.type||"default";t.nodeTypes[r]||(a==null||a("003",Ee.error003(r)),r="default");let g=t.nodeTypes[r]||t.nodeTypes.default,h=!!(u.draggable||e&&u.draggable===void 0),f=!!(u.selectable||i&&u.selectable===void 0),m=!!(u.connectable||n&&u.connectable===void 0),v=!!(u.focusable||o&&u.focusable===void 0),b=t.nodeExtent?$t(u.positionAbsolute,t.nodeExtent):u.positionAbsolute,x=(b==null?void 0:b.x)??0,_=(b==null?void 0:b.y)??0,p=Wi({x,y:_,width:u.width??0,height:u.height??0,origin:t.nodeOrigin});return y.createElement(g,{key:u.id,id:u.id,className:u.className,style:u.style,type:r,data:u.data,sourcePosition:u.sourcePosition||F.Bottom,targetPosition:u.targetPosition||F.Top,hidden:u.hidden,xPos:x,yPos:_,xPosOrigin:p.x,yPosOrigin:p.y,selectNodesOnDrag:t.selectNodesOnDrag,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,selected:!!u.selected,isDraggable:h,isSelectable:f,isConnectable:m,isFocusable:v,resizeObserver:c,dragHandle:u.dragHandle,zIndex:((C=u[re])==null?void 0:C.z)??0,isParent:!!((k=u[re])!=null&&k.isParent),noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,initialized:!!u.width&&!!u.height,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,ariaLabel:u.ariaLabel,hasHandleBounds:!!((O=u[re])!=null&&O.handleBounds)})}))};_o.displayName="NodeRenderer";var Gi=(0,y.memo)(_o),Ui=(t,e,n)=>n===F.Left?t-e:n===F.Right?t+e:t,qi=(t,e,n)=>n===F.Top?t-e:n===F.Bottom?t+e:t,Oo="react-flow__edgeupdater",Po=({position:t,centerX:e,centerY:n,radius:o=10,onMouseDown:i,onMouseEnter:l,onMouseOut:a,type:d})=>y.createElement("circle",{onMouseDown:i,onMouseEnter:l,onMouseOut:a,className:he([Oo,`${Oo}-${d}`]),cx:Ui(e,o,t),cy:qi(n,o,t),r:o,stroke:"transparent",fill:"transparent"}),Qi=()=>!0,et=t=>{let e=({id:n,className:o,type:i,data:l,onClick:a,onEdgeDoubleClick:d,selected:s,animated:c,label:u,labelStyle:r,labelShowBg:g,labelBgStyle:h,labelBgPadding:f,labelBgBorderRadius:m,style:v,source:b,target:x,sourceX:_,sourceY:p,targetX:C,targetY:k,sourcePosition:O,targetPosition:D,elementsSelectable:P,hidden:E,sourceHandleId:w,targetHandleId:M,onContextMenu:N,onMouseEnter:S,onMouseMove:R,onMouseLeave:z,reconnectRadius:$,onReconnect:Y,onReconnectStart:j,onReconnectEnd:T,markerEnd:V,markerStart:X,rfId:W,ariaLabel:U,isFocusable:I,isReconnectable:A,pathOptions:B,interactionWidth:H,disableKeyboardA11y:Z})=>{let G=(0,y.useRef)(null),[ee,ae]=(0,y.useState)(!1),[ge,oe]=(0,y.useState)(!1),J=le(),de=(0,y.useMemo)(()=>`url('#${Kt(X,W)}')`,[X,W]),te=(0,y.useMemo)(()=>`url('#${Kt(V,W)}')`,[V,W]);if(E)return null;let K=ce=>{var Se;let{edges:fe,addSelectedEdges:De,unselectNodesAndEdges:Ie,multiSelectionActive:je}=J.getState(),xe=fe.find(ot=>ot.id===n);xe&&(P&&(J.setState({nodesSelectionActive:!1}),xe.selected&&je?(Ie({nodes:[],edges:[xe]}),(Se=G.current)==null||Se.blur()):De([n])),a&&a(ce,xe))},me=it(n,J.getState,d),_e=it(n,J.getState,N),nt=it(n,J.getState,S),$e=it(n,J.getState,R),Te=it(n,J.getState,z),we=(ce,fe)=>{if(ce.button!==0)return;let{edges:De,isValidConnection:Ie}=J.getState(),je=fe?x:b,xe=(fe?M:w)||null,Se=fe?"target":"source",ot=Ie||Qi,Dt=fe,rt=De.find(Re=>Re.id===n);oe(!0),j==null||j(ce,rt,Se),qn({event:ce,handleId:xe,nodeId:je,onConnect:Re=>Y==null?void 0:Y(rt,Re),isTarget:Dt,getState:J.getState,setState:J.setState,isValidConnection:ot,edgeUpdaterType:Se,onReconnectEnd:Re=>{oe(!1),T==null||T(Re,rt,Se)}})},He=ce=>we(ce,!0),Oe=ce=>we(ce,!1),Pe=()=>ae(!0),Ve=()=>ae(!1),Xe=!P&&!a;return y.createElement("g",{className:he(["react-flow__edge",`react-flow__edge-${i}`,o,{selected:s,animated:c,inactive:Xe,updating:ee}]),onClick:K,onDoubleClick:me,onContextMenu:_e,onMouseEnter:nt,onMouseMove:$e,onMouseLeave:Te,onKeyDown:I?ce=>{var fe;if(!Z&&Rn.includes(ce.key)&&P){let{unselectNodesAndEdges:De,addSelectedEdges:Ie,edges:je}=J.getState();ce.key==="Escape"?((fe=G.current)==null||fe.blur(),De({edges:[je.find(xe=>xe.id===n)]})):Ie([n])}}:void 0,tabIndex:I?0:void 0,role:I?"button":"img","data-testid":`rf__edge-${n}`,"aria-label":U===null?void 0:U||`Edge from ${b} to ${x}`,"aria-describedby":I?`${lo}-${W}`:void 0,ref:G},!ge&&y.createElement(t,{id:n,source:b,target:x,selected:s,animated:c,label:u,labelStyle:r,labelShowBg:g,labelBgStyle:h,labelBgPadding:f,labelBgBorderRadius:m,data:l,style:v,sourceX:_,sourceY:p,targetX:C,targetY:k,sourcePosition:O,targetPosition:D,sourceHandleId:w,targetHandleId:M,markerStart:de,markerEnd:te,pathOptions:B,interactionWidth:H}),A&&y.createElement(y.Fragment,null,(A==="source"||A===!0)&&y.createElement(Po,{position:O,centerX:_,centerY:p,radius:$,onMouseDown:He,onMouseEnter:Pe,onMouseOut:Ve,type:"source"}),(A==="target"||A===!0)&&y.createElement(Po,{position:D,centerX:C,centerY:k,radius:$,onMouseDown:Oe,onMouseEnter:Pe,onMouseOut:Ve,type:"target"})))};return e.displayName="EdgeWrapper",(0,y.memo)(e)};function Ji(t){let e={default:et(t.default||St),straight:et(t.bezier||Zt),step:et(t.step||Ft),smoothstep:et(t.step||Et),simplebezier:et(t.simplebezier||Xt)},n=Object.keys(t).filter(o=>!["default","bezier"].includes(o)).reduce((o,i)=>(o[i]=et(t[i]||St),o),{});return{...e,...n}}function Do(t,e,n=null){let o=((n==null?void 0:n.x)||0)+e.x,i=((n==null?void 0:n.y)||0)+e.y,l=(n==null?void 0:n.width)||e.width,a=(n==null?void 0:n.height)||e.height;switch(t){case F.Top:return{x:o+l/2,y:i};case F.Right:return{x:o+l,y:i+a/2};case F.Bottom:return{x:o+l/2,y:i+a};case F.Left:return{x:o,y:i+a/2}}}function Io(t,e){return t?t.length===1||!e?t[0]:e&&t.find(n=>n.id===e)||null:null}var es=(t,e,n,o,i,l)=>{let a=Do(n,t,e),d=Do(l,o,i);return{sourceX:a.x,sourceY:a.y,targetX:d.x,targetY:d.y}};function ts({sourcePos:t,targetPos:e,sourceWidth:n,sourceHeight:o,targetWidth:i,targetHeight:l,width:a,height:d,transform:s}){let c={x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x+n,e.x+i),y2:Math.max(t.y+o,e.y+l)};c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);let u=Tt({x:(0-s[0])/s[2],y:(0-s[1])/s[2],width:a/s[2],height:d/s[2]}),r=Math.max(0,Math.min(u.x2,c.x2)-Math.max(u.x,c.x)),g=Math.max(0,Math.min(u.y2,c.y2)-Math.max(u.y,c.y));return Math.ceil(r*g)>0}function jo(t){var o,i,l,a,d;let e=((o=t==null?void 0:t[re])==null?void 0:o.handleBounds)||null,n=e&&(t==null?void 0:t.width)&&(t==null?void 0:t.height)&&((i=t==null?void 0:t.positionAbsolute)==null?void 0:i.x)!==void 0&&((l=t==null?void 0:t.positionAbsolute)==null?void 0:l.y)!==void 0;return[{x:((a=t==null?void 0:t.positionAbsolute)==null?void 0:a.x)||0,y:((d=t==null?void 0:t.positionAbsolute)==null?void 0:d.y)||0,width:(t==null?void 0:t.width)||0,height:(t==null?void 0:t.height)||0},e,!!n]}var ns=[{level:0,isMaxLevel:!0,edges:[]}];function os(t,e,n=!1){let o=-1,i=t.reduce((a,d)=>{var u,r;let s=pe(d.zIndex),c=s?d.zIndex:0;if(n){let g=e.get(d.target),h=e.get(d.source),f=d.selected||(g==null?void 0:g.selected)||(h==null?void 0:h.selected),m=Math.max(((u=h==null?void 0:h[re])==null?void 0:u.z)||0,((r=g==null?void 0:g[re])==null?void 0:r.z)||0,1e3);c=(s?d.zIndex:0)+(f?m:0)}return a[c]?a[c].push(d):a[c]=[d],o=c>o?c:o,a},{}),l=Object.entries(i).map(([a,d])=>{let s=+a;return{edges:d,level:s,isMaxLevel:s===o}});return l.length===0?ns:l}function rs(t,e,n){return os(ne((0,y.useCallback)(o=>t?o.edges.filter(i=>{let l=e.get(i.source),a=e.get(i.target);return(l==null?void 0:l.width)&&(l==null?void 0:l.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&ts({sourcePos:l.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:l.width,sourceHeight:l.height,targetWidth:a.width,targetHeight:a.height,width:o.width,height:o.height,transform:o.transform})}):o.edges,[t,e])),e,n)}var as=({color:t="none",strokeWidth:e=1})=>y.createElement("polyline",{style:{stroke:t,strokeWidth:e},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),is=({color:t="none",strokeWidth:e=1})=>y.createElement("polyline",{style:{stroke:t,fill:t,strokeWidth:e},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"}),Ro={[st.Arrow]:as,[st.ArrowClosed]:is};function ss(t){let e=le();return(0,y.useMemo)(()=>{var n,o;return Object.prototype.hasOwnProperty.call(Ro,t)?Ro[t]:((o=(n=e.getState()).onError)==null||o.call(n,"009",Ee.error009(t)),null)},[t])}var ls=({id:t,type:e,color:n,width:o=12.5,height:i=12.5,markerUnits:l="strokeWidth",strokeWidth:a,orient:d="auto-start-reverse"})=>{let s=ss(e);return s?y.createElement("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${o}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:l,orient:d,refX:"0",refY:"0"},y.createElement(s,{color:n,strokeWidth:a})):null},ds=({defaultColor:t,rfId:e})=>n=>{let o=[];return n.edges.reduce((i,l)=>([l.markerStart,l.markerEnd].forEach(a=>{if(a&&typeof a=="object"){let d=Kt(a,e);o.includes(d)||(i.push({id:d,color:a.color||t,...a}),o.push(d))}}),i),[]).sort((i,l)=>i.id.localeCompare(l.id))},Ao=({defaultColor:t,rfId:e})=>{let n=ne((0,y.useCallback)(ds({defaultColor:t,rfId:e}),[t,e]),(o,i)=>!(o.length!==i.length||o.some((l,a)=>l.id!==i[a].id)));return y.createElement("defs",null,n.map(o=>y.createElement(ls,{id:o.id,key:o.id,type:o.type,color:o.color,width:o.width,height:o.height,markerUnits:o.markerUnits,strokeWidth:o.strokeWidth,orient:o.orient})))};Ao.displayName="MarkerDefinitions";var cs=(0,y.memo)(Ao),us=t=>({nodesConnectable:t.nodesConnectable,edgesFocusable:t.edgesFocusable,edgesUpdatable:t.edgesUpdatable,elementsSelectable:t.elementsSelectable,width:t.width,height:t.height,connectionMode:t.connectionMode,nodeInternals:t.nodeInternals,onError:t.onError}),Bo=({defaultMarkerColor:t,onlyRenderVisibleElements:e,elevateEdgesOnSelect:n,rfId:o,edgeTypes:i,noPanClassName:l,onEdgeContextMenu:a,onEdgeMouseEnter:d,onEdgeMouseMove:s,onEdgeMouseLeave:c,onEdgeClick:u,onEdgeDoubleClick:r,onReconnect:g,onReconnectStart:h,onReconnectEnd:f,reconnectRadius:m,children:v,disableKeyboardA11y:b})=>{let{edgesFocusable:x,edgesUpdatable:_,elementsSelectable:p,width:C,height:k,connectionMode:O,nodeInternals:D,onError:P}=ne(us,ue),E=rs(e,D,n);return C?y.createElement(y.Fragment,null,E.map(({level:w,edges:M,isMaxLevel:N})=>y.createElement("svg",{key:w,style:{zIndex:w},width:C,height:k,className:"react-flow__edges react-flow__container"},N&&y.createElement(cs,{defaultColor:t,rfId:o}),y.createElement("g",null,M.map(S=>{let[R,z,$]=jo(D.get(S.source)),[Y,j,T]=jo(D.get(S.target));if(!$||!T)return null;let V=S.type||"default";i[V]||(P==null||P("011",Ee.error011(V)),V="default");let X=i[V]||i.default,W=O===We.Strict?j.target:(j.target??[]).concat(j.source??[]),U=Io(z.source,S.sourceHandle),I=Io(W,S.targetHandle),A=(U==null?void 0:U.position)||F.Bottom,B=(I==null?void 0:I.position)||F.Top,H=!!(S.focusable||x&&S.focusable===void 0),Z=S.reconnectable||S.updatable,G=g!==void 0&&(Z||_&&Z===void 0);if(!U||!I)return P==null||P("008",Ee.error008(U,S)),null;let{sourceX:ee,sourceY:ae,targetX:ge,targetY:oe}=es(R,U,A,Y,I,B);return y.createElement(X,{key:S.id,id:S.id,className:he([S.className,l]),type:V,data:S.data,selected:!!S.selected,animated:!!S.animated,hidden:!!S.hidden,label:S.label,labelStyle:S.labelStyle,labelShowBg:S.labelShowBg,labelBgStyle:S.labelBgStyle,labelBgPadding:S.labelBgPadding,labelBgBorderRadius:S.labelBgBorderRadius,style:S.style,source:S.source,target:S.target,sourceHandleId:S.sourceHandle,targetHandleId:S.targetHandle,markerEnd:S.markerEnd,markerStart:S.markerStart,sourceX:ee,sourceY:ae,targetX:ge,targetY:oe,sourcePosition:A,targetPosition:B,elementsSelectable:p,onContextMenu:a,onMouseEnter:d,onMouseMove:s,onMouseLeave:c,onClick:u,onEdgeDoubleClick:r,onReconnect:g,onReconnectStart:h,onReconnectEnd:f,reconnectRadius:m,rfId:o,ariaLabel:S.ariaLabel,isFocusable:H,isReconnectable:G,pathOptions:"pathOptions"in S?S.pathOptions:void 0,interactionWidth:S.interactionWidth,disableKeyboardA11y:b})})))),v):null};Bo.displayName="EdgeRenderer";var hs=(0,y.memo)(Bo),gs=t=>`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`;function ms({children:t}){let e=ne(gs);return y.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:e}},t)}function fs(t){let e=dt(),n=(0,y.useRef)(!1);(0,y.useEffect)(()=>{!n.current&&e.viewportInitialized&&t&&(setTimeout(()=>t(e),1),n.current=!0)},[t,e.viewportInitialized])}var ps={[F.Left]:F.Right,[F.Right]:F.Left,[F.Top]:F.Bottom,[F.Bottom]:F.Top},zo=({nodeId:t,handleType:e,style:n,type:o=ze.Bezier,CustomComponent:i,connectionStatus:l})=>{var k,O,D;let{fromNode:a,handleId:d,toX:s,toY:c,connectionMode:u}=ne((0,y.useCallback)(P=>({fromNode:P.nodeInternals.get(t),handleId:P.connectionHandleId,toX:(P.connectionPosition.x-P.transform[0])/P.transform[2],toY:(P.connectionPosition.y-P.transform[1])/P.transform[2],connectionMode:P.connectionMode}),[t]),ue),r=(k=a==null?void 0:a[re])==null?void 0:k.handleBounds,g=r==null?void 0:r[e];if(u===We.Loose&&(g||(g=r==null?void 0:r[e==="source"?"target":"source"])),!a||!g)return null;let h=d?g.find(P=>P.id===d):g[0],f=h?h.x+h.width/2:(a.width??0)/2,m=h?h.y+h.height/2:a.height??0,v=(((O=a.positionAbsolute)==null?void 0:O.x)??0)+f,b=(((D=a.positionAbsolute)==null?void 0:D.y)??0)+m,x=h==null?void 0:h.position,_=x?ps[x]:null;if(!x||!_)return null;if(i)return y.createElement(i,{connectionLineType:o,connectionLineStyle:n,fromNode:a,fromHandle:h,fromX:v,fromY:b,toX:s,toY:c,fromPosition:x,toPosition:_,connectionStatus:l});let p="",C={sourceX:v,sourceY:b,sourcePosition:x,targetX:s,targetY:c,targetPosition:_};return o===ze.Bezier?[p]=Xn(C):o===ze.Step?[p]=Yt({...C,borderRadius:0}):o===ze.SmoothStep?[p]=Yt(C):o===ze.SimpleBezier?[p]=$n(C):p=`M${v},${b} ${s},${c}`,y.createElement("path",{d:p,fill:"none",className:"react-flow__connection-path",style:n})};zo.displayName="ConnectionLine";var ys=t=>({nodeId:t.connectionNodeId,handleType:t.connectionHandleType,nodesConnectable:t.nodesConnectable,connectionStatus:t.connectionStatus,width:t.width,height:t.height});function vs({containerStyle:t,style:e,type:n,component:o}){let{nodeId:i,handleType:l,nodesConnectable:a,width:d,height:s,connectionStatus:c}=ne(ys,ue);return i&&l&&d&&a?y.createElement("svg",{style:t,width:d,height:s,className:"react-flow__edges react-flow__connectionline react-flow__container"},y.createElement("g",{className:he(["react-flow__connection",c])},y.createElement(zo,{nodeId:i,handleType:l,style:e,type:n,CustomComponent:o,connectionStatus:c}))):null}function Lo(t,e){return(0,y.useRef)(null),le(),(0,y.useMemo)(()=>e(t),[t])}var $o=({nodeTypes:t,edgeTypes:e,onMove:n,onMoveStart:o,onMoveEnd:i,onInit:l,onNodeClick:a,onEdgeClick:d,onNodeDoubleClick:s,onEdgeDoubleClick:c,onNodeMouseEnter:u,onNodeMouseMove:r,onNodeMouseLeave:g,onNodeContextMenu:h,onSelectionContextMenu:f,onSelectionStart:m,onSelectionEnd:v,connectionLineType:b,connectionLineStyle:x,connectionLineComponent:_,connectionLineContainerStyle:p,selectionKeyCode:C,selectionOnDrag:k,selectionMode:O,multiSelectionKeyCode:D,panActivationKeyCode:P,zoomActivationKeyCode:E,deleteKeyCode:w,onlyRenderVisibleElements:M,elementsSelectable:N,selectNodesOnDrag:S,defaultViewport:R,translateExtent:z,minZoom:$,maxZoom:Y,preventScrolling:j,defaultMarkerColor:T,zoomOnScroll:V,zoomOnPinch:X,panOnScroll:W,panOnScrollSpeed:U,panOnScrollMode:I,zoomOnDoubleClick:A,panOnDrag:B,onPaneClick:H,onPaneMouseEnter:Z,onPaneMouseMove:G,onPaneMouseLeave:ee,onPaneScroll:ae,onPaneContextMenu:ge,onEdgeContextMenu:oe,onEdgeMouseEnter:J,onEdgeMouseMove:de,onEdgeMouseLeave:te,onReconnect:K,onReconnectStart:me,onReconnectEnd:_e,reconnectRadius:nt,noDragClassName:$e,noWheelClassName:Te,noPanClassName:we,elevateEdgesOnSelect:He,disableKeyboardA11y:Oe,nodeOrigin:Pe,nodeExtent:Ve,rfId:Xe})=>{let ce=Lo(t,Zi),fe=Lo(e,Ji);return fs(l),y.createElement(Yi,{onPaneClick:H,onPaneMouseEnter:Z,onPaneMouseMove:G,onPaneMouseLeave:ee,onPaneContextMenu:ge,onPaneScroll:ae,deleteKeyCode:w,selectionKeyCode:C,selectionOnDrag:k,selectionMode:O,onSelectionStart:m,onSelectionEnd:v,multiSelectionKeyCode:D,panActivationKeyCode:P,zoomActivationKeyCode:E,elementsSelectable:N,onMove:n,onMoveStart:o,onMoveEnd:i,zoomOnScroll:V,zoomOnPinch:X,zoomOnDoubleClick:A,panOnScroll:W,panOnScrollSpeed:U,panOnScrollMode:I,panOnDrag:B,defaultViewport:R,translateExtent:z,minZoom:$,maxZoom:Y,onSelectionContextMenu:f,preventScrolling:j,noDragClassName:$e,noWheelClassName:Te,noPanClassName:we,disableKeyboardA11y:Oe},y.createElement(ms,null,y.createElement(hs,{edgeTypes:fe,onEdgeClick:d,onEdgeDoubleClick:c,onlyRenderVisibleElements:M,onEdgeContextMenu:oe,onEdgeMouseEnter:J,onEdgeMouseMove:de,onEdgeMouseLeave:te,onReconnect:K,onReconnectStart:me,onReconnectEnd:_e,reconnectRadius:nt,defaultMarkerColor:T,noPanClassName:we,elevateEdgesOnSelect:!!He,disableKeyboardA11y:Oe,rfId:Xe},y.createElement(vs,{style:x,type:b,component:_,containerStyle:p})),y.createElement("div",{className:"react-flow__edgelabel-renderer"}),y.createElement(Gi,{nodeTypes:ce,onNodeClick:a,onNodeDoubleClick:s,onNodeMouseEnter:u,onNodeMouseMove:r,onNodeMouseLeave:g,onNodeContextMenu:h,selectNodesOnDrag:S,onlyRenderVisibleElements:M,noPanClassName:we,noDragClassName:$e,disableKeyboardA11y:Oe,nodeOrigin:Pe,nodeExtent:Ve,rfId:Xe})))};$o.displayName="GraphView";var bs=(0,y.memo)($o),ln=[[-1/0,-1/0],[1/0,1/0]],Me={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:ln,nodeExtent:ln,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:We.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:0,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,onSelectionChange:[],multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:Wa,isValidConnection:void 0},xs=()=>Ra((t,e)=>({...Me,setNodes:n=>{let{nodeInternals:o,nodeOrigin:i,elevateNodesOnSelect:l}=e();t({nodeInternals:tn(n,o,i,l)})},getNodes:()=>Array.from(e().nodeInternals.values()),setEdges:n=>{let{defaultEdgeOptions:o={}}=e();t({edges:n.map(i=>({...o,...i}))})},setDefaultNodesAndEdges:(n,o)=>{let i=n!==void 0,l=o!==void 0;t({nodeInternals:i?tn(n,new Map,e().nodeOrigin,e().elevateNodesOnSelect):new Map,edges:l?o:[],hasDefaultNodes:i,hasDefaultEdges:l})},updateNodeDimensions:n=>{let{onNodesChange:o,nodeInternals:i,fitViewOnInit:l,fitViewOnInitDone:a,fitViewOnInitOptions:d,domNode:s,nodeOrigin:c}=e(),u=s==null?void 0:s.querySelector(".react-flow__viewport");if(!u)return;let r=window.getComputedStyle(u),{m22:g}=new window.DOMMatrixReadOnly(r.transform),h=n.reduce((m,v)=>{let b=i.get(v.id);if(b!=null&&b.hidden)i.set(b.id,{...b,[re]:{...b[re],handleBounds:void 0}});else if(b){let x=Lt(v.nodeElement);x.width&&x.height&&(b.width!==x.width||b.height!==x.height||v.forceUpdate)&&(i.set(b.id,{...b,[re]:{...b[re],handleBounds:{source:Co(".source",v.nodeElement,g,c),target:Co(".target",v.nodeElement,g,c)}},...x}),m.push({id:b.id,type:"dimensions",dimensions:x}))}return m},[]);go(i,c);let f=a||l&&!a&&mo(e,{initial:!0,...d});t({nodeInternals:new Map(i),fitViewOnInitDone:f}),(h==null?void 0:h.length)>0&&(o==null||o(h))},updateNodePositions:(n,o=!0,i=!1)=>{let{triggerNodeChanges:l}=e();l(n.map(a=>{let d={id:a.id,type:"position",dragging:i};return o&&(d.positionAbsolute=a.positionAbsolute,d.position=a.position),d}))},triggerNodeChanges:n=>{let{onNodesChange:o,nodeInternals:i,hasDefaultNodes:l,nodeOrigin:a,getNodes:d,elevateNodesOnSelect:s}=e();n!=null&&n.length&&(l&&t({nodeInternals:tn(bo(n,d()),i,a,s)}),o==null||o(n))},addSelectedNodes:n=>{let{multiSelectionActive:o,edges:i,getNodes:l}=e(),a,d=null;o?a=n.map(s=>ke(s,!0)):(a=Qe(l(),n),d=Qe(i,[])),Nt({changedNodes:a,changedEdges:d,get:e,set:t})},addSelectedEdges:n=>{let{multiSelectionActive:o,edges:i,getNodes:l}=e(),a,d=null;o?a=n.map(s=>ke(s,!0)):(a=Qe(i,n),d=Qe(l(),[])),Nt({changedNodes:d,changedEdges:a,get:e,set:t})},unselectNodesAndEdges:({nodes:n,edges:o}={})=>{let{edges:i,getNodes:l}=e(),a=n||l(),d=o||i;Nt({changedNodes:a.map(s=>(s.selected=!1,ke(s.id,!1))),changedEdges:d.map(s=>ke(s.id,!1)),get:e,set:t})},setMinZoom:n=>{let{d3Zoom:o,maxZoom:i}=e();o==null||o.scaleExtent([n,i]),t({minZoom:n})},setMaxZoom:n=>{let{d3Zoom:o,minZoom:i}=e();o==null||o.scaleExtent([i,n]),t({maxZoom:n})},setTranslateExtent:n=>{var o;(o=e().d3Zoom)==null||o.translateExtent(n),t({translateExtent:n})},resetSelectedElements:()=>{let{edges:n,getNodes:o}=e();Nt({changedNodes:o().filter(i=>i.selected).map(i=>ke(i.id,!1)),changedEdges:n.filter(i=>i.selected).map(i=>ke(i.id,!1)),get:e,set:t})},setNodeExtent:n=>{let{nodeInternals:o}=e();o.forEach(i=>{i.positionAbsolute=$t(i.position,n)}),t({nodeExtent:n,nodeInternals:new Map(o)})},panBy:n=>{let{transform:o,width:i,height:l,d3Zoom:a,d3Selection:d,translateExtent:s}=e();if(!a||!d||!n.x&&!n.y)return!1;let c=Fe.translate(o[0]+n.x,o[1]+n.y).scale(o[2]),u=[[0,0],[i,l]],r=a==null?void 0:a.constrain()(c,u,s);return a.transform(d,r),o[0]!==r.x||o[1]!==r.y||o[2]!==r.k},cancelConnection:()=>t({connectionNodeId:Me.connectionNodeId,connectionHandleId:Me.connectionHandleId,connectionHandleType:Me.connectionHandleType,connectionStatus:Me.connectionStatus,connectionStartHandle:Me.connectionStartHandle,connectionEndHandle:Me.connectionEndHandle}),reset:()=>t({...Me})}),Object.is),dn=({children:t})=>{let e=(0,y.useRef)(null);return e.current||(e.current=xs()),y.createElement(Ta,{value:e.current},t)};dn.displayName="ReactFlowProvider";var To=({children:t})=>(0,y.useContext)(yt)?y.createElement(y.Fragment,null,t):y.createElement(dn,null,t);To.displayName="ReactFlowWrapper";var Es={input:no,default:Jt,output:ro,group:en},ws={default:St,straight:Zt,step:Ft,smoothstep:Et,simplebezier:Xt},Ss=[0,0],Cs=[15,15],Ns={x:0,y:0,zoom:1},ks={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},cn=(0,y.forwardRef)(({nodes:t,edges:e,defaultNodes:n,defaultEdges:o,className:i,nodeTypes:l=Es,edgeTypes:a=ws,onNodeClick:d,onEdgeClick:s,onInit:c,onMove:u,onMoveStart:r,onMoveEnd:g,onConnect:h,onConnectStart:f,onConnectEnd:m,onClickConnectStart:v,onClickConnectEnd:b,onNodeMouseEnter:x,onNodeMouseMove:_,onNodeMouseLeave:p,onNodeContextMenu:C,onNodeDoubleClick:k,onNodeDragStart:O,onNodeDrag:D,onNodeDragStop:P,onNodesDelete:E,onEdgesDelete:w,onSelectionChange:M,onSelectionDragStart:N,onSelectionDrag:S,onSelectionDragStop:R,onSelectionContextMenu:z,onSelectionStart:$,onSelectionEnd:Y,connectionMode:j=We.Strict,connectionLineType:T=ze.Bezier,connectionLineStyle:V,connectionLineComponent:X,connectionLineContainerStyle:W,deleteKeyCode:U="Backspace",selectionKeyCode:I="Shift",selectionOnDrag:A=!1,selectionMode:B=xt.Full,panActivationKeyCode:H="Space",multiSelectionKeyCode:Z=bt()?"Meta":"Control",zoomActivationKeyCode:G=bt()?"Meta":"Control",snapToGrid:ee=!1,snapGrid:ae=Cs,onlyRenderVisibleElements:ge=!1,selectNodesOnDrag:oe=!0,nodesDraggable:J,nodesConnectable:de,nodesFocusable:te,nodeOrigin:K=Ss,edgesFocusable:me,edgesUpdatable:_e,elementsSelectable:nt,defaultViewport:$e=Ns,minZoom:Te=.5,maxZoom:we=2,translateExtent:He=ln,preventScrolling:Oe=!0,nodeExtent:Pe,defaultMarkerColor:Ve="#b1b1b7",zoomOnScroll:Xe=!0,zoomOnPinch:ce=!0,panOnScroll:fe=!1,panOnScrollSpeed:De=.5,panOnScrollMode:Ie=Be.Free,zoomOnDoubleClick:je=!0,panOnDrag:xe=!0,onPaneClick:Se,onPaneMouseEnter:ot,onPaneMouseMove:Dt,onPaneMouseLeave:rt,onPaneScroll:Re,onPaneContextMenu:lr,children:dr,onEdgeContextMenu:cr,onEdgeDoubleClick:ur,onEdgeMouseEnter:hr,onEdgeMouseMove:gr,onEdgeMouseLeave:mr,onEdgeUpdate:fr,onEdgeUpdateStart:pr,onEdgeUpdateEnd:yr,onReconnect:vr,onReconnectStart:br,onReconnectEnd:xr,reconnectRadius:Er=10,edgeUpdaterRadius:wr=10,onNodesChange:Sr,onEdgesChange:Cr,noDragClassName:Nr="nodrag",noWheelClassName:kr="nowheel",noPanClassName:mn="nopan",fitView:Mr=!1,fitViewOptions:_r,connectOnClick:Or=!0,attributionPosition:Pr,proOptions:Dr,defaultEdgeOptions:Ir,elevateNodesOnSelect:jr=!0,elevateEdgesOnSelect:Rr=!1,disableKeyboardA11y:fn=!1,autoPanOnConnect:Ar=!0,autoPanOnNodeDrag:Br=!0,connectionRadius:zr=20,isValidConnection:Lr,onError:$r,style:Tr,id:pn,nodeDragThreshold:Hr,...Vr},Xr)=>{let It=pn||"1";return y.createElement("div",{...Vr,style:{...Tr,...ks},ref:Xr,className:he(["react-flow",i]),"data-testid":"rf__wrapper",id:pn},y.createElement(To,null,y.createElement(bs,{onInit:c,onMove:u,onMoveStart:r,onMoveEnd:g,onNodeClick:d,onEdgeClick:s,onNodeMouseEnter:x,onNodeMouseMove:_,onNodeMouseLeave:p,onNodeContextMenu:C,onNodeDoubleClick:k,nodeTypes:l,edgeTypes:a,connectionLineType:T,connectionLineStyle:V,connectionLineComponent:X,connectionLineContainerStyle:W,selectionKeyCode:I,selectionOnDrag:A,selectionMode:B,deleteKeyCode:U,multiSelectionKeyCode:Z,panActivationKeyCode:H,zoomActivationKeyCode:G,onlyRenderVisibleElements:ge,selectNodesOnDrag:oe,defaultViewport:$e,translateExtent:He,minZoom:Te,maxZoom:we,preventScrolling:Oe,zoomOnScroll:Xe,zoomOnPinch:ce,zoomOnDoubleClick:je,panOnScroll:fe,panOnScrollSpeed:De,panOnScrollMode:Ie,panOnDrag:xe,onPaneClick:Se,onPaneMouseEnter:ot,onPaneMouseMove:Dt,onPaneMouseLeave:rt,onPaneScroll:Re,onPaneContextMenu:lr,onSelectionContextMenu:z,onSelectionStart:$,onSelectionEnd:Y,onEdgeContextMenu:cr,onEdgeDoubleClick:ur,onEdgeMouseEnter:hr,onEdgeMouseMove:gr,onEdgeMouseLeave:mr,onReconnect:vr??fr,onReconnectStart:br??pr,onReconnectEnd:xr??yr,reconnectRadius:Er??wr,defaultMarkerColor:Ve,noDragClassName:Nr,noWheelClassName:kr,noPanClassName:mn,elevateEdgesOnSelect:Rr,rfId:It,disableKeyboardA11y:fn,nodeOrigin:K,nodeExtent:Pe}),y.createElement(pi,{nodes:t,edges:e,defaultNodes:n,defaultEdges:o,onConnect:h,onConnectStart:f,onConnectEnd:m,onClickConnectStart:v,onClickConnectEnd:b,nodesDraggable:J,nodesConnectable:de,nodesFocusable:te,edgesFocusable:me,edgesUpdatable:_e,elementsSelectable:nt,elevateNodesOnSelect:jr,minZoom:Te,maxZoom:we,nodeExtent:Pe,onNodesChange:Sr,onEdgesChange:Cr,snapToGrid:ee,snapGrid:ae,connectionMode:j,translateExtent:He,connectOnClick:Or,defaultEdgeOptions:Ir,fitView:Mr,fitViewOptions:_r,onNodesDelete:E,onEdgesDelete:w,onNodeDragStart:O,onNodeDrag:D,onNodeDragStop:P,onSelectionDrag:S,onSelectionDragStart:N,onSelectionDragStop:R,noPanClassName:mn,nodeOrigin:K,rfId:It,autoPanOnConnect:Ar,autoPanOnNodeDrag:Br,onError:$r,connectionRadius:zr,isValidConnection:Lr,nodeDragThreshold:Hr}),y.createElement(mi,{onSelectionChange:M}),dr,y.createElement(Va,{proOptions:Dr,position:Pr}),y.createElement(Ei,{rfId:It,disableKeyboardA11y:fn})))});cn.displayName="ReactFlow";function Ho(t){return e=>{let[n,o]=(0,y.useState)(e);return[n,o,(0,y.useCallback)(i=>o(l=>t(i,l)),[])]}}var Vo=Ho(bo),Xo=Ho(Ai);function Ms(){return y.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},y.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function _s(){return y.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},y.createElement("path",{d:"M0 0h32v4.2H0z"}))}function Os(){return y.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},y.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 Ps(){return y.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},y.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 Ds(){return y.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},y.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 tt=({children:t,className:e,...n})=>y.createElement("button",{type:"button",className:he(["react-flow__controls-button",e]),...n},t);tt.displayName="ControlButton";var Is=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom}),Yo=({style:t,showZoom:e=!0,showFitView:n=!0,showInteractive:o=!0,fitViewOptions:i,onZoomIn:l,onZoomOut:a,onFitView:d,onInteractiveChange:s,className:c,children:u,position:r="bottom-left"})=>{let g=le(),[h,f]=(0,y.useState)(!1),{isInteractive:m,minZoomReached:v,maxZoomReached:b}=ne(Is,ue),{zoomIn:x,zoomOut:_,fitView:p}=dt();if((0,y.useEffect)(()=>{f(!0)},[]),!h)return null;let C=()=>{x(),l==null||l()},k=()=>{_(),a==null||a()},O=()=>{p(i),d==null||d()},D=()=>{g.setState({nodesDraggable:!m,nodesConnectable:!m,elementsSelectable:!m}),s==null||s(!m)};return y.createElement(vt,{className:he(["react-flow__controls",c]),position:r,style:t,"data-testid":"rf__controls"},e&&y.createElement(y.Fragment,null,y.createElement(tt,{onClick:C,className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:b},y.createElement(Ms,null)),y.createElement(tt,{onClick:k,className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:v},y.createElement(_s,null))),n&&y.createElement(tt,{className:"react-flow__controls-fitview",onClick:O,title:"fit view","aria-label":"fit view"},y.createElement(Os,null)),o&&y.createElement(tt,{className:"react-flow__controls-interactive",onClick:D,title:"toggle interactivity","aria-label":"toggle interactivity"},m?y.createElement(Ds,null):y.createElement(Ps,null)),u)};Yo.displayName="Controls";var js=(0,y.memo)(Yo),ve;(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(ve||(ve={}));function Rs({color:t,dimensions:e,lineWidth:n}){return y.createElement("path",{stroke:t,strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})}function As({color:t,radius:e}){return y.createElement("circle",{cx:e,cy:e,r:e,fill:t})}var Bs={[ve.Dots]:"#91919a",[ve.Lines]:"#eee",[ve.Cross]:"#e2e2e2"},zs={[ve.Dots]:1,[ve.Lines]:1,[ve.Cross]:6},Ls=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function Fo({id:t,variant:e=ve.Dots,gap:n=20,size:o,lineWidth:i=1,offset:l=2,color:a,style:d,className:s}){let c=(0,y.useRef)(null),{transform:u,patternId:r}=ne(Ls,ue),g=a||Bs[e],h=o||zs[e],f=e===ve.Dots,m=e===ve.Cross,v=Array.isArray(n)?n:[n,n],b=[v[0]*u[2]||1,v[1]*u[2]||1],x=h*u[2],_=m?[x,x]:b,p=f?[x/l,x/l]:[_[0]/l,_[1]/l];return y.createElement("svg",{className:he(["react-flow__background",s]),style:{...d,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:c,"data-testid":"rf__background"},y.createElement("pattern",{id:r+t,x:u[0]%b[0],y:u[1]%b[1],width:b[0],height:b[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${p[0]},-${p[1]})`},f?y.createElement(As,{color:g,radius:x/l}):y.createElement(Rs,{dimensions:_,color:g,lineWidth:i})),y.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${r+t})`}))}Fo.displayName="Background";var $s=(0,y.memo)(Fo),Ts=ye(Ae(),1);function un(t){return Math.min(t*11+35,200)}const Mt="outputs",_t="inputs";var Hs=class{createEdge(t,e,n){return{type:"smoothstep",pathOptions:{offset:20,borderRadius:100},data:{direction:n},markerEnd:{type:st.Arrow},id:`${t}-${e}-${n}`,source:t,sourceHandle:n,targetHandle:n,target:e}}createNode(t,e,n){let o=gt.get(e).code.trim().split(`
|
|
2
2
|
`).length,i=un(o);return{id:t,data:{atom:e},width:250,type:"custom",height:i,position:{x:0,y:n+20}}}createElements(t,e,n,o){let i=0,l=[],a=[];for(let[s,c]of En.zip(t,e)){let u=this.createNode(s,c,i);l.push(u),i=u.position.y+(u.height||0)}let d=new Set;for(let s of Object.values(n)){let{declaredBy:c,usedBy:u}=s;for(let r of c)for(let g of u){let h=`${r}-${g}`;d.has(h)||(d.add(h),a.push(this.createEdge(r,g,_t),this.createEdge(r,g,Mt)))}}return{nodes:l,edges:a}}},Vs=class{createEdge(t,e){return{animated:!0,markerEnd:{type:st.ArrowClosed},id:`${t}-${e}`,style:{strokeWidth:2},source:t,sourceHandle:Mt,targetHandle:_t,target:e}}createNode(t,e){let n=gt.get(e).code.trim().split(`
|
|
3
3
|
`).length,o=un(n);return{id:t,data:{atom:e,forceWidth:300},width:300,type:"custom",height:o,position:{x:0,y:0}}}createElements(t,e,n,o){let i=[],l=[],a=new Set,d=new Set;for(let s of Object.values(n)){if(s.value==="marimo"&&s.name==="mo")continue;let{declaredBy:c,usedBy:u}=s;for(let r of c)for(let g of u){let h=`${r}-${g}`;d.has(h)||(d.add(h),a.add(r),a.add(g),l.push(this.createEdge(r,g)))}}for(let[s,c]of En.zip(t,e)){o||i.push(this.createNode(s,c));let u=a.has(s),r=gt.get(c).code.trim().startsWith("mo.md");(u||!r)&&i.push(this.createNode(s,c))}return{nodes:i,edges:l}}},L=ye(ta(),1);function Xs(t){return Math.min(Math.max(t-100,100),400)}const Zo=y.createContext("LR"),Wo=(0,y.memo)(t=>{let e=(0,Ts.c)(51),{data:n,selected:o}=t,i=Zr(n.atom),l=bn().inOrderIds.indexOf(i.id),a=o?"var(--gray-9)":"var(--gray-3)",d=ne(Ys),s=(0,y.use)(Zo),c,u,r,g;if(e[0]!==i.code||e[1]!==a||e[2]!==s||e[3]!==o){let E=i.code.split(`
|
|
4
4
|
`).length,w=s==="LR"?F.Left:F.Top,M;e[8]===a?M=e[9]:(M={background:a},e[8]=a,e[9]=M),e[10]!==w||e[11]!==M?(r=(0,L.jsx)(Ne,{type:"target",id:_t,"data-testid":"input-one",position:w,style:M}),e[10]=w,e[11]=M,e[12]=r):r=e[12];let N=s==="LR"?F.Left:F.Top,S;e[13]===a?S=e[14]:(S={background:a},e[13]=a,e[14]=S),e[15]!==N||e[16]!==S?(g=(0,L.jsx)(Ne,{type:"source",id:_t,"data-testid":"input-two",position:N,style:S}),e[15]=N,e[16]=S,e[17]=g):g=e[17];let R=o&&"border-primary";e[18]===R?u=e[19]:(u=xn("flex flex-col bg-card border border-input/50 rounded-md mx-[2px] overflow-hidden",R),e[18]=R,e[19]=u),c=un(E),e[0]=i.code,e[1]=a,e[2]=s,e[3]=o,e[4]=c,e[5]=u,e[6]=r,e[7]=g}else c=e[4],u=e[5],r=e[6],g=e[7];let h;e[20]!==n.forceWidth||e[21]!==d?(h=n.forceWidth||Xs(d),e[20]=n.forceWidth,e[21]=d,e[22]=h):h=e[22];let f;e[23]!==c||e[24]!==h?(f={height:c,width:h},e[23]=c,e[24]=h,e[25]=f):f=e[25];let m=qr(i.name,l),v;e[26]===m?v=e[27]:(v=(0,L.jsx)("div",{className:"text-muted-foreground font-semibold text-xs py-1 px-2 bg-muted border-b",children:m}),e[26]=m,e[27]=v);let b;e[28]===i.code?b=e[29]:(b=(0,L.jsx)(Ca,{code:i.code}),e[28]=i.code,e[29]=b);let x;e[30]!==u||e[31]!==f||e[32]!==v||e[33]!==b?(x=(0,L.jsxs)("div",{className:u,style:f,children:[v,b]}),e[30]=u,e[31]=f,e[32]=v,e[33]=b,e[34]=x):x=e[34];let _=s==="LR"?F.Right:F.Bottom,p;e[35]===a?p=e[36]:(p={background:a},e[35]=a,e[36]=p);let C;e[37]!==_||e[38]!==p?(C=(0,L.jsx)(Ne,{type:"source",id:Mt,"data-testid":"output-one",position:_,style:p}),e[37]=_,e[38]=p,e[39]=C):C=e[39];let k=s==="LR"?F.Right:F.Bottom,O;e[40]===a?O=e[41]:(O={background:a},e[40]=a,e[41]=O);let D;e[42]!==k||e[43]!==O?(D=(0,L.jsx)(Ne,{type:"target",id:Mt,"data-testid":"output-two",position:k,style:O}),e[42]=k,e[43]=O,e[44]=D):D=e[44];let P;return e[45]!==x||e[46]!==C||e[47]!==D||e[48]!==r||e[49]!==g?(P=(0,L.jsxs)("div",{children:[r,g,x,C,D]}),e[45]=x,e[46]=C,e[47]=D,e[48]=r,e[49]=g,e[50]=P):P=e[50],P},(t,e)=>["data","selected","id"].every(n=>t[n]===e[n]));Wo.displayName="CustomNode";const Ko={custom:Wo};function Ys(t){let{width:e}=t;return e}var Go=ye(Ae(),1);const hn=(0,y.memo)(t=>{let e=(0,Go.c)(41),{onChange:n,view:o,settings:i,onSettingsChange:l}=t,a;e[0]!==l||e[1]!==i?(a=(R,z)=>{l({...i,[R]:z})},e[0]=l,e[1]=i,e[2]=a):a=e[2];let d=a,s=(0,y.useId)(),c;e[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,L.jsx)(fa,{asChild:!0,children:(0,L.jsx)(Ye,{variant:"text",size:"xs",children:(0,L.jsx)(da,{className:"w-4 h-4"})})}),e[3]=c):c=e[3];let u;e[4]===Symbol.for("react.memo_cache_sentinel")?(u=(0,L.jsx)("div",{className:"font-semibold pb-4",children:"Settings"}),e[4]=u):u=e[4];let r;e[5]===d?r=e[6]:(r=R=>d("hidePureMarkdown",!!R),e[5]=d,e[6]=r);let g;e[7]!==s||e[8]!==i.hidePureMarkdown||e[9]!==r?(g=(0,L.jsx)(Qr,{"data-testid":"hide-pure-markdown-checkbox",id:s,checked:i.hidePureMarkdown,onCheckedChange:r}),e[7]=s,e[8]=i.hidePureMarkdown,e[9]=r,e[10]=g):g=e[10];let h;e[11]===s?h=e[12]:(h=(0,L.jsx)(ma,{htmlFor:s,children:"Hide pure markdown"}),e[11]=s,e[12]=h);let f;e[13]!==g||e[14]!==h?(f=(0,L.jsxs)(ya,{children:[c,(0,L.jsxs)(pa,{className:"w-auto p-2 text-muted-foreground",children:[u,(0,L.jsxs)("div",{className:"flex items-center gap-2",children:[g,h]})]})]}),e[13]=g,e[14]=h,e[15]=f):f=e[15];let m=f,v=o==="_minimap_",b;e[16]===n?b=e[17]:(b=()=>n("_minimap_"),e[16]=n,e[17]=b);let x;e[18]===Symbol.for("react.memo_cache_sentinel")?(x=(0,L.jsx)(Oa,{className:"w-4 h-4 mr-1"}),e[18]=x):x=e[18];let _;e[19]!==v||e[20]!==b?(_=(0,L.jsxs)(Ye,{variant:"outline",className:"bg-background","aria-selected":v,size:"xs",onClick:b,children:[x,"Mini Map"]}),e[19]=v,e[20]=b,e[21]=_):_=e[21];let p=o==="TB",C;e[22]===n?C=e[23]:(C=()=>n("TB"),e[22]=n,e[23]=C);let k;e[24]===Symbol.for("react.memo_cache_sentinel")?(k=(0,L.jsx)(wn,{className:"w-4 h-4 mr-1"}),e[24]=k):k=e[24];let O;e[25]!==p||e[26]!==C?(O=(0,L.jsxs)(Ye,{variant:"outline",className:"bg-background","aria-selected":p,size:"xs",onClick:C,children:[k,"Vertical Tree"]}),e[25]=p,e[26]=C,e[27]=O):O=e[27];let D=o==="LR",P;e[28]===n?P=e[29]:(P=()=>n("LR"),e[28]=n,e[29]=P);let E;e[30]===Symbol.for("react.memo_cache_sentinel")?(E=(0,L.jsx)(wn,{className:"w-4 h-4 mr-1 transform -rotate-90"}),e[30]=E):E=e[30];let w;e[31]!==D||e[32]!==P?(w=(0,L.jsxs)(Ye,{variant:"outline",className:"bg-background","aria-selected":D,size:"xs",onClick:P,children:[E," ","Horizontal Tree"]}),e[31]=D,e[32]=P,e[33]=w):w=e[33];let M;e[34]!==_||e[35]!==O||e[36]!==w?(M=(0,L.jsxs)("div",{className:"flex gap-2",children:[_,O,w]}),e[34]=_,e[35]=O,e[36]=w,e[37]=M):M=e[37];let N=o!=="_minimap_"&&m,S;return e[38]!==M||e[39]!==N?(S=(0,L.jsxs)(vt,{position:"top-right",className:"flex flex-col items-end gap-2",children:[M,N]}),e[38]=M,e[39]=N,e[40]=S):S=e[40],S});hn.displayName="GraphToolbar";const Ot=(0,y.memo)(t=>{let e=(0,Go.c)(11),{selection:n,variables:o,onClearSelection:i}=t;if(!n)return null;let l=Fs,a;e[0]!==i||e[1]!==n.id||e[2]!==n.source||e[3]!==n.target||e[4]!==n.type||e[5]!==o?(a=()=>{if(n.type==="node"){let u=Object.values(o).filter(h=>h.usedBy.includes(n.id)),r=Object.values(o).filter(h=>h.declaredBy.includes(n.id)),g=(h,f)=>(0,L.jsxs)(L.Fragment,{children:[h.length===0&&(0,L.jsx)("div",{className:"text-muted-foreground text-sm text-center",children:"--"}),(0,L.jsx)("div",{className:"grid grid-cols-5 gap-3 items-center text-sm py-1 flex-1 empty:hidden",children:h.map(m=>(0,L.jsxs)(y.Fragment,{children:[(0,L.jsx)(kn,{declaredBy:m.declaredBy,name:m.name}),(0,L.jsxs)("div",{className:"truncate col-span-2",title:m.value??"",children:[m.value,(0,L.jsxs)("span",{className:"ml-1 truncate text-foreground/60 font-mono",children:["(",m.dataType,")"]})]}),(0,L.jsx)("div",{className:"truncate col-span-2 gap-1 items-center",children:(0,L.jsx)(Na,{skipScroll:!0,onClick:()=>l(f==="in"?m.declaredBy[0]:m.usedBy[0],m.name),maxCount:3,cellIds:m.usedBy})})]},m.name))})]});return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("div",{className:"font-bold py-2 flex items-center gap-2 border-b px-3",children:[(0,L.jsx)(ca,{className:"w-5 h-5"}),(0,L.jsx)(jt,{cellId:n.id}),(0,L.jsx)("div",{className:"flex-1"}),(0,L.jsx)(oa,{cellId:n.id,children:(0,L.jsx)(Ye,{variant:"ghost",size:"icon",children:(0,L.jsx)(la,{className:"w-4 h-4"})})}),(0,L.jsx)(Ye,{variant:"text",size:"icon",onClick:()=>{i()},children:(0,L.jsx)(aa,{className:"w-4 h-4"})})]}),(0,L.jsxs)("div",{className:"text-sm flex flex-col py-3 pl-2 pr-4 flex-1 justify-center",children:[(0,L.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,L.jsxs)("span",{className:"flex items-center gap-2 font-semibold",children:[(0,L.jsx)(ka,{className:"w-4 h-4"}),"Outputs"]}),g(r,"out")]}),(0,L.jsx)("hr",{className:"border-divider my-3"}),(0,L.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,L.jsxs)("span",{className:"flex items-center gap-2 font-semibold",children:[(0,L.jsx)(Ma,{className:"w-4 h-4"}),"Inputs"]}),g(u,"in")]})]})]})}if(n.type==="edge"){let u=Object.values(o).filter(r=>r.declaredBy.includes(n.source)&&r.usedBy.includes(n.target));return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("div",{className:"font-bold py-2 flex items-center gap-2 border-b px-3",children:[(0,L.jsx)(ua,{className:"w-4 h-4"}),(0,L.jsx)(jt,{cellId:n.source}),(0,L.jsx)(ra,{className:"w-4 h-4"}),(0,L.jsx)(jt,{cellId:n.target})]}),(0,L.jsx)("div",{className:"grid grid-cols-4 gap-3 max-w-[350px] items-center text-sm p-3 flex-1",children:u.map(r=>(0,L.jsxs)(y.Fragment,{children:[(0,L.jsx)(kn,{declaredBy:r.declaredBy,name:r.name,onClick:()=>{l(r.declaredBy[0],r.name)}}),(0,L.jsx)("div",{className:"truncate text-foreground/60 font-mono",children:r.dataType}),(0,L.jsx)("div",{className:"truncate col-span-2",title:r.value??"",children:r.value})]},r.name))})]})}},e[0]=i,e[1]=n.id,e[2]=n.source,e[3]=n.target,e[4]=n.type,e[5]=o,e[6]=a):a=e[6];let d=a,s;e[7]===d?s=e[8]:(s=d(),e[7]=d,e[8]=s);let c;return e[9]===s?c=e[10]:(c=(0,L.jsx)(vt,{position:"bottom-left",className:"max-h-[90%] flex flex-col w-[calc(100%-5rem)]",children:(0,L.jsx)("div",{className:"min-h-[100px] shadow-md rounded-md border max-w-[550px] border-primary/40 my-4 min-w-[240px] bg-(--slate-1) text-muted-foreground/80 flex flex-col overflow-y-auto",children:s})}),e[9]=s,e[10]=c),c});Ot.displayName="GraphSelectionPanel";function Fs(t,e){let n=Jr(t);n&&Gr(n,e)}var Zs=ye(Ae(),1);function Uo(){let t=(0,Zs.c)(7),e=dt(),n=ne(Ks),o=ne(Ws),i;t[0]===e?i=t[1]:(i=()=>{e.fitView({duration:100})},t[0]=e,t[1]=i);let l=ga(i,100),a,d;t[2]!==l||t[3]!==o||t[4]!==n?(a=()=>{!n||!o||l()},d=[n,o,l],t[2]=l,t[3]=o,t[4]=n,t[5]=a,t[6]=d):(a=t[5],d=t[6]),(0,y.useEffect)(a,d)}function Ws(t){let{height:e}=t;return e}function Ks(t){let{width:e}=t;return e}var qo=ye(Ae(),1),Qo=new Hs;const Gs=t=>{let e=(0,qo.c)(37),{cellIds:n,variables:o,cellAtoms:i,children:l}=t,a;e[0]!==i||e[1]!==n||e[2]!==o?(a=Qo.createElements(n,i,o,!1),e[0]=i,e[1]=n,e[2]=o,e[3]=a):a=e[3];let{nodes:d,edges:s}=a,c;e[4]===Symbol.for("react.memo_cache_sentinel")?(c=[],e[4]=c):c=e[4];let[u,r]=Xo(c),[g,h]=Vo(d),[f,m]=(0,y.useState)(),[v,b]=(0,y.useState)(),x=(0,y.useRef)(!1);Uo();let _=ne(qs),p;e[5]!==r||e[6]!==h?(p=j=>{h(j.nodes),r([])},e[5]=r,e[6]=h,e[7]=p):p=e[7];let C=Sn(p),k,O;e[8]!==i||e[9]!==n||e[10]!==C||e[11]!==o?(k=()=>{if(!x.current){x.current=!0;return}C(Qo.createElements(n,i,o,!1))},O=[n,o,i,C],e[8]=i,e[9]=n,e[10]=C,e[11]=o,e[12]=k,e[13]=O):(k=e[12],O=e[13]),(0,y.useEffect)(k,O);let D,P;e[14]!==s||e[15]!==f||e[16]!==r?(D=()=>{f&&r(s.filter(j=>{let{source:T,target:V,data:X}=j;return T===f&&X.direction==="outputs"||V===f&&X.direction==="inputs"}))},P=[f,r,s],e[14]=s,e[15]=f,e[16]=r,e[17]=D,e[18]=P):(D=e[17],P=e[18]),(0,y.useEffect)(D,P);let E=Us(g,_),w;e[19]===Symbol.for("react.memo_cache_sentinel")?(w=()=>{m(void 0),b(void 0)},e[19]=w):w=e[19];let M=w,N;e[20]!==u||e[21]!==v||e[22]!==f||e[23]!==o?(N=()=>v?(0,L.jsx)(Ot,{selection:{type:"edge",source:v.source,target:v.target},onClearSelection:M,variables:o,edges:u}):f?(0,L.jsx)(Ot,{selection:{type:"node",id:f},variables:o,edges:u,onClearSelection:M}):null,e[20]=u,e[21]=v,e[22]=f,e[23]=o,e[24]=N):N=e[24];let S=N,R;e[25]===r?R=e[26]:(R=(j,T)=>{let V=T.id;m(V),b(void 0),r([])},e[25]=r,e[26]=R);let z;e[27]===Symbol.for("react.memo_cache_sentinel")?(z=(j,T)=>{b(T)},e[27]=z):z=e[27];let $;e[28]===S?$=e[29]:($=S(),e[28]=S,e[29]=$);let Y;return e[30]!==l||e[31]!==u||e[32]!==g||e[33]!==R||e[34]!==$||e[35]!==E?(Y=(0,L.jsxs)(cn,{nodes:g,edges:u,nodeTypes:Ko,translateExtent:E,onNodeClick:R,onNodeDoubleClick:Qs,onEdgeClick:z,snapToGrid:!0,fitView:!0,elementsSelectable:!0,minZoom:1,maxZoom:1,draggable:!1,panOnScrollMode:Be.Vertical,zoomOnDoubleClick:!1,nodesDraggable:!1,nodesConnectable:!1,nodesFocusable:!1,edgesFocusable:!1,selectNodesOnDrag:!1,panOnDrag:!1,preventScrolling:!1,zoomOnPinch:!1,panOnScroll:!0,autoPanOnNodeDrag:!1,autoPanOnConnect:!1,children:[$,l]}),e[30]=l,e[31]=u,e[32]=g,e[33]=R,e[34]=$,e[35]=E,e[36]=Y):Y=e[36],Y};function Us(t,e){let n=(0,qo.c)(17),o;if(n[0]!==e||n[1]!==t){let u;n[3]===e?u=n[4]:(u=(r,g)=>{let{position:h}=g;return Math.min(r,h.y-e/2-10)},n[3]=e,n[4]=u),o=t.reduce(u,1/0),n[0]=e,n[1]=t,n[2]=o}else o=n[2];let i=o,l;if(n[5]!==e||n[6]!==t){let u;n[8]===e?u=n[9]:(u=(r,g)=>{let{position:h}=g;return Math.max(r,h.y+e/2+10)},n[8]=e,n[9]=u),l=t.reduce(u,-1/0),n[5]=e,n[6]=t,n[7]=l}else l=n[7];let a=l,d;n[10]===i?d=n[11]:(d=[-1/0,i],n[10]=i,n[11]=d);let s;n[12]===a?s=n[13]:(s=[1/0,a],n[12]=a,n[13]=s);let c;return n[14]!==d||n[15]!==s?(c=[d,s],n[14]=d,n[15]=s,n[16]=c):c=n[16],c}function qs(t){let{height:e}=t;return e}function Qs(t,e){Cn(e.id,"focus")}var gn=q(((t,e)=>{var n="\0",o="\0",i="",l=class{constructor(r){ie(this,"_isDirected",!0);ie(this,"_isMultigraph",!1);ie(this,"_isCompound",!1);ie(this,"_label");ie(this,"_defaultNodeLabelFn",()=>{});ie(this,"_defaultEdgeLabelFn",()=>{});ie(this,"_nodes",{});ie(this,"_in",{});ie(this,"_preds",{});ie(this,"_out",{});ie(this,"_sucs",{});ie(this,"_edgeObjs",{});ie(this,"_edgeLabels",{});ie(this,"_nodeCount",0);ie(this,"_edgeCount",0);ie(this,"_parent");ie(this,"_children");r&&(this._isDirected=Object.hasOwn(r,"directed")?r.directed:!0,this._isMultigraph=Object.hasOwn(r,"multigraph")?r.multigraph:!1,this._isCompound=Object.hasOwn(r,"compound")?r.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[o]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(r){return this._label=r,this}graph(){return this._label}setDefaultNodeLabel(r){return this._defaultNodeLabelFn=r,typeof r!="function"&&(this._defaultNodeLabelFn=()=>r),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var r=this;return this.nodes().filter(g=>Object.keys(r._in[g]).length===0)}sinks(){var r=this;return this.nodes().filter(g=>Object.keys(r._out[g]).length===0)}setNodes(r,g){var h=arguments,f=this;return r.forEach(function(m){h.length>1?f.setNode(m,g):f.setNode(m)}),this}setNode(r,g){return Object.hasOwn(this._nodes,r)?(arguments.length>1&&(this._nodes[r]=g),this):(this._nodes[r]=arguments.length>1?g:this._defaultNodeLabelFn(r),this._isCompound&&(this._parent[r]=o,this._children[r]={},this._children[o][r]=!0),this._in[r]={},this._preds[r]={},this._out[r]={},this._sucs[r]={},++this._nodeCount,this)}node(r){return this._nodes[r]}hasNode(r){return Object.hasOwn(this._nodes,r)}removeNode(r){var g=this;if(Object.hasOwn(this._nodes,r)){var h=f=>g.removeEdge(g._edgeObjs[f]);delete this._nodes[r],this._isCompound&&(this._removeFromParentsChildList(r),delete this._parent[r],this.children(r).forEach(function(f){g.setParent(f)}),delete this._children[r]),Object.keys(this._in[r]).forEach(h),delete this._in[r],delete this._preds[r],Object.keys(this._out[r]).forEach(h),delete this._out[r],delete this._sucs[r],--this._nodeCount}return this}setParent(r,g){if(!this._isCompound)throw Error("Cannot set parent in a non-compound graph");if(g===void 0)g=o;else{g+="";for(var h=g;h!==void 0;h=this.parent(h))if(h===r)throw Error("Setting "+g+" as parent of "+r+" would create a cycle");this.setNode(g)}return this.setNode(r),this._removeFromParentsChildList(r),this._parent[r]=g,this._children[g][r]=!0,this}_removeFromParentsChildList(r){delete this._children[this._parent[r]][r]}parent(r){if(this._isCompound){var g=this._parent[r];if(g!==o)return g}}children(r=o){if(this._isCompound){var g=this._children[r];if(g)return Object.keys(g)}else{if(r===o)return this.nodes();if(this.hasNode(r))return[]}}predecessors(r){var g=this._preds[r];if(g)return Object.keys(g)}successors(r){var g=this._sucs[r];if(g)return Object.keys(g)}neighbors(r){var g=this.predecessors(r);if(g){let f=new Set(g);for(var h of this.successors(r))f.add(h);return Array.from(f.values())}}isLeaf(r){return(this.isDirected()?this.successors(r):this.neighbors(r)).length===0}filterNodes(r){var g=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});g.setGraph(this.graph());var h=this;Object.entries(this._nodes).forEach(function([v,b]){r(v)&&g.setNode(v,b)}),Object.values(this._edgeObjs).forEach(function(v){g.hasNode(v.v)&&g.hasNode(v.w)&&g.setEdge(v,h.edge(v))});var f={};function m(v){var b=h.parent(v);return b===void 0||g.hasNode(b)?(f[v]=b,b):b in f?f[b]:m(b)}return this._isCompound&&g.nodes().forEach(v=>g.setParent(v,m(v))),g}setDefaultEdgeLabel(r){return this._defaultEdgeLabelFn=r,typeof r!="function"&&(this._defaultEdgeLabelFn=()=>r),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(r,g){var h=this,f=arguments;return r.reduce(function(m,v){return f.length>1?h.setEdge(m,v,g):h.setEdge(m,v),v}),this}setEdge(){var r,g,h,f,m=!1,v=arguments[0];typeof v=="object"&&v&&"v"in v?(r=v.v,g=v.w,h=v.name,arguments.length===2&&(f=arguments[1],m=!0)):(r=v,g=arguments[1],h=arguments[3],arguments.length>2&&(f=arguments[2],m=!0)),r=""+r,g=""+g,h!==void 0&&(h=""+h);var b=s(this._isDirected,r,g,h);if(Object.hasOwn(this._edgeLabels,b))return m&&(this._edgeLabels[b]=f),this;if(h!==void 0&&!this._isMultigraph)throw Error("Cannot set a named edge when isMultigraph = false");this.setNode(r),this.setNode(g),this._edgeLabels[b]=m?f:this._defaultEdgeLabelFn(r,g,h);var x=c(this._isDirected,r,g,h);return r=x.v,g=x.w,Object.freeze(x),this._edgeObjs[b]=x,a(this._preds[g],r),a(this._sucs[r],g),this._in[g][b]=x,this._out[r][b]=x,this._edgeCount++,this}edge(r,g,h){var f=arguments.length===1?u(this._isDirected,arguments[0]):s(this._isDirected,r,g,h);return this._edgeLabels[f]}edgeAsObj(){let r=this.edge(...arguments);return typeof r=="object"?r:{label:r}}hasEdge(r,g,h){var f=arguments.length===1?u(this._isDirected,arguments[0]):s(this._isDirected,r,g,h);return Object.hasOwn(this._edgeLabels,f)}removeEdge(r,g,h){var f=arguments.length===1?u(this._isDirected,arguments[0]):s(this._isDirected,r,g,h),m=this._edgeObjs[f];return m&&(r=m.v,g=m.w,delete this._edgeLabels[f],delete this._edgeObjs[f],d(this._preds[g],r),d(this._sucs[r],g),delete this._in[g][f],delete this._out[r][f],this._edgeCount--),this}inEdges(r,g){var h=this._in[r];if(h){var f=Object.values(h);return g?f.filter(m=>m.v===g):f}}outEdges(r,g){var h=this._out[r];if(h){var f=Object.values(h);return g?f.filter(m=>m.w===g):f}}nodeEdges(r,g){var h=this.inEdges(r,g);if(h)return h.concat(this.outEdges(r,g))}};function a(r,g){r[g]?r[g]++:r[g]=1}function d(r,g){--r[g]||delete r[g]}function s(r,g,h,f){var m=""+g,v=""+h;if(!r&&m>v){var b=m;m=v,v=b}return m+i+v+i+(f===void 0?n:f)}function c(r,g,h,f){var m=""+g,v=""+h;if(!r&&m>v){var b=m;m=v,v=b}var x={v:m,w:v};return f&&(x.name=f),x}function u(r,g){return s(r,g.v,g.w,g.name)}e.exports=l})),Js=q(((t,e)=>{e.exports="2.2.4"})),el=q(((t,e)=>{e.exports={Graph:gn(),version:Js()}})),tl=q(((t,e)=>{var n=gn();e.exports={write:o,read:a};function o(d){var s={options:{directed:d.isDirected(),multigraph:d.isMultigraph(),compound:d.isCompound()},nodes:i(d),edges:l(d)};return d.graph()!==void 0&&(s.value=structuredClone(d.graph())),s}function i(d){return d.nodes().map(function(s){var c=d.node(s),u=d.parent(s),r={v:s};return c!==void 0&&(r.value=c),u!==void 0&&(r.parent=u),r})}function l(d){return d.edges().map(function(s){var c=d.edge(s),u={v:s.v,w:s.w};return s.name!==void 0&&(u.name=s.name),c!==void 0&&(u.value=c),u})}function a(d){var s=new n(d.options).setGraph(d.value);return d.nodes.forEach(function(c){s.setNode(c.v,c.value),c.parent&&s.setParent(c.v,c.parent)}),d.edges.forEach(function(c){s.setEdge({v:c.v,w:c.w,name:c.name},c.value)}),s}})),nl=q(((t,e)=>{e.exports=n;function n(o){var i={},l=[],a;function d(s){Object.hasOwn(i,s)||(i[s]=!0,a.push(s),o.successors(s).forEach(d),o.predecessors(s).forEach(d))}return o.nodes().forEach(function(s){a=[],d(s),a.length&&l.push(a)}),l}})),Jo=q(((t,e)=>{e.exports=class{constructor(){ie(this,"_arr",[]);ie(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var o=this._keyIndices[n];if(o!==void 0)return this._arr[o].priority}min(){if(this.size()===0)throw Error("Queue underflow");return this._arr[0].key}add(n,o){var i=this._keyIndices;if(n=String(n),!Object.hasOwn(i,n)){var l=this._arr,a=l.length;return i[n]=a,l.push({key:n,priority:o}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,o){var i=this._keyIndices[n];if(o>this._arr[i].priority)throw Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[i].priority+" New: "+o);this._arr[i].priority=o,this._decrease(i)}_heapify(n){var o=this._arr,i=2*n,l=i+1,a=n;i<o.length&&(a=o[i].priority<o[a].priority?i:a,l<o.length&&(a=o[l].priority<o[a].priority?l:a),a!==n&&(this._swap(n,a),this._heapify(a)))}_decrease(n){for(var o=this._arr,i=o[n].priority,l;n!==0&&(l=n>>1,!(o[l].priority<i));)this._swap(n,l),n=l}_swap(n,o){var i=this._arr,l=this._keyIndices,a=i[n],d=i[o];i[n]=d,i[o]=a,l[d.key]=n,l[a.key]=o}}})),er=q(((t,e)=>{var n=Jo();e.exports=i;var o=()=>1;function i(a,d,s,c){return l(a,String(d),s||o,c||function(u){return a.outEdges(u)})}function l(a,d,s,c){var u={},r=new n,g,h,f=function(m){var v=m.v===g?m.w:m.v,b=u[v],x=s(m),_=h.distance+x;if(x<0)throw Error("dijkstra does not allow negative edge weights. Bad edge: "+m+" Weight: "+x);_<b.distance&&(b.distance=_,b.predecessor=g,r.decrease(v,_))};for(a.nodes().forEach(function(m){var v=m===d?0:1/0;u[m]={distance:v},r.add(m,v)});r.size()>0&&(g=r.removeMin(),h=u[g],h.distance!==1/0);)c(g).forEach(f);return u}})),ol=q(((t,e)=>{var n=er();e.exports=o;function o(i,l,a){return i.nodes().reduce(function(d,s){return d[s]=n(i,s,l,a),d},{})}})),tr=q(((t,e)=>{e.exports=n;function n(o){var i=0,l=[],a={},d=[];function s(c){var u=a[c]={onStack:!0,lowlink:i,index:i++};if(l.push(c),o.successors(c).forEach(function(h){Object.hasOwn(a,h)?a[h].onStack&&(u.lowlink=Math.min(u.lowlink,a[h].index)):(s(h),u.lowlink=Math.min(u.lowlink,a[h].lowlink))}),u.lowlink===u.index){var r=[],g;do g=l.pop(),a[g].onStack=!1,r.push(g);while(c!==g);d.push(r)}}return o.nodes().forEach(function(c){Object.hasOwn(a,c)||s(c)}),d}})),rl=q(((t,e)=>{var n=tr();e.exports=o;function o(i){return n(i).filter(function(l){return l.length>1||l.length===1&&i.hasEdge(l[0],l[0])})}})),al=q(((t,e)=>{e.exports=o;var n=()=>1;function o(l,a,d){return i(l,a||n,d||function(s){return l.outEdges(s)})}function i(l,a,d){var s={},c=l.nodes();return c.forEach(function(u){s[u]={},s[u][u]={distance:0},c.forEach(function(r){u!==r&&(s[u][r]={distance:1/0})}),d(u).forEach(function(r){var g=r.v===u?r.w:r.v,h=a(r);s[u][g]={distance:h,predecessor:u}})}),c.forEach(function(u){var r=s[u];c.forEach(function(g){var h=s[g];c.forEach(function(f){var m=h[u],v=r[f],b=h[f],x=m.distance+v.distance;x<b.distance&&(b.distance=x,b.predecessor=v.predecessor)})})}),s}})),nr=q(((t,e)=>{function n(i){var l={},a={},d=[];function s(c){if(Object.hasOwn(a,c))throw new o;Object.hasOwn(l,c)||(a[c]=!0,l[c]=!0,i.predecessors(c).forEach(s),delete a[c],d.push(c))}if(i.sinks().forEach(s),Object.keys(l).length!==i.nodeCount())throw new o;return d}var o=class extends Error{constructor(){super(...arguments)}};e.exports=n,n.CycleException=o})),il=q(((t,e)=>{var n=nr();e.exports=o;function o(i){try{n(i)}catch(l){if(l instanceof n.CycleException)return!1;throw l}return!0}})),or=q(((t,e)=>{e.exports=n;function n(a,d,s){Array.isArray(d)||(d=[d]);var c=a.isDirected()?h=>a.successors(h):h=>a.neighbors(h),u=s==="post"?o:i,r=[],g={};return d.forEach(h=>{if(!a.hasNode(h))throw Error("Graph does not have node: "+h);u(h,c,g,r)}),r}function o(a,d,s,c){for(var u=[[a,!1]];u.length>0;){var r=u.pop();r[1]?c.push(r[0]):Object.hasOwn(s,r[0])||(s[r[0]]=!0,u.push([r[0],!0]),l(d(r[0]),g=>u.push([g,!1])))}}function i(a,d,s,c){for(var u=[a];u.length>0;){var r=u.pop();Object.hasOwn(s,r)||(s[r]=!0,c.push(r),l(d(r),g=>u.push(g)))}}function l(a,d){for(var s=a.length;s--;)d(a[s],s,a);return a}})),sl=q(((t,e)=>{var n=or();e.exports=o;function o(i,l){return n(i,l,"post")}})),ll=q(((t,e)=>{var n=or();e.exports=o;function o(i,l){return n(i,l,"pre")}})),dl=q(((t,e)=>{var n=gn(),o=Jo();e.exports=i;function i(l,a){var d=new n,s={},c=new o,u;function r(h){var f=h.v===u?h.w:h.v,m=c.priority(f);if(m!==void 0){var v=a(h);v<m&&(s[f]=u,c.decrease(f,v))}}if(l.nodeCount()===0)return d;l.nodes().forEach(function(h){c.add(h,1/0),d.setNode(h)}),c.decrease(l.nodes()[0],0);for(var g=!1;c.size()>0;){if(u=c.removeMin(),Object.hasOwn(s,u))d.setEdge(u,s[u]);else{if(g)throw Error("Input graph is not connected: "+l);g=!0}l.nodeEdges(u).forEach(r)}return d}})),cl=q(((t,e)=>{e.exports={components:nl(),dijkstra:er(),dijkstraAll:ol(),findCycles:rl(),floydWarshall:al(),isAcyclic:il(),postorder:sl(),preorder:ll(),prim:dl(),tarjan:tr(),topsort:nr()}})),be=q(((t,e)=>{var n=el();e.exports={Graph:n.Graph,json:tl(),alg:cl(),version:n.version}})),ul=q(((t,e)=>{var n=class{constructor(){let l={};l._next=l._prev=l,this._sentinel=l}dequeue(){let l=this._sentinel,a=l._prev;if(a!==l)return o(a),a}enqueue(l){let a=this._sentinel;l._prev&&l._next&&o(l),l._next=a._next,a._next._prev=l,a._next=l,l._prev=a}toString(){let l=[],a=this._sentinel,d=a._prev;for(;d!==a;)l.push(JSON.stringify(d,i)),d=d._prev;return"["+l.join(", ")+"]"}};function o(l){l._prev._next=l._next,l._next._prev=l._prev,delete l._next,delete l._prev}function i(l,a){if(l!=="_next"&&l!=="_prev")return a}e.exports=n})),hl=q(((t,e)=>{var n=be().Graph,o=ul();e.exports=l;var i=()=>1;function l(r,g){if(r.nodeCount()<=1)return[];let h=s(r,g||i);return a(h.graph,h.buckets,h.zeroIdx).flatMap(f=>r.outEdges(f.v,f.w))}function a(r,g,h){let f=[],m=g[g.length-1],v=g[0],b;for(;r.nodeCount();){for(;b=v.dequeue();)d(r,g,h,b);for(;b=m.dequeue();)d(r,g,h,b);if(r.nodeCount()){for(let x=g.length-2;x>0;--x)if(b=g[x].dequeue(),b){f=f.concat(d(r,g,h,b,!0));break}}}return f}function d(r,g,h,f,m){let v=m?[]:void 0;return r.inEdges(f.v).forEach(b=>{let x=r.edge(b),_=r.node(b.v);m&&v.push({v:b.v,w:b.w}),_.out-=x,c(g,h,_)}),r.outEdges(f.v).forEach(b=>{let x=r.edge(b),_=b.w,p=r.node(_);p.in-=x,c(g,h,p)}),r.removeNode(f.v),v}function s(r,g){let h=new n,f=0,m=0;r.nodes().forEach(x=>{h.setNode(x,{v:x,in:0,out:0})}),r.edges().forEach(x=>{let _=h.edge(x.v,x.w)||0,p=g(x),C=_+p;h.setEdge(x.v,x.w,C),m=Math.max(m,h.node(x.v).out+=p),f=Math.max(f,h.node(x.w).in+=p)});let v=u(m+f+3).map(()=>new o),b=f+1;return h.nodes().forEach(x=>{c(v,b,h.node(x))}),{graph:h,buckets:v,zeroIdx:b}}function c(r,g,h){h.out?h.in?r[h.out-h.in+g].enqueue(h):r[r.length-1].enqueue(h):r[0].enqueue(h)}function u(r){let g=[];for(let h=0;h<r;h++)g.push(h);return g}})),se=q(((t,e)=>{var n=be().Graph;e.exports={addBorderNode:g,addDummyNode:o,applyWithChunking:m,asNonCompoundGraph:l,buildLayerMatrix:c,intersectRect:s,mapValues:D,maxRank:v,normalizeRanks:u,notime:_,partition:b,pick:O,predecessorWeights:d,range:k,removeEmptyRanks:r,simplify:i,successorWeights:a,time:x,uniqueId:C,zipObject:P};function o(E,w,M,N){for(var S=N;E.hasNode(S);)S=C(N);return M.dummy=w,E.setNode(S,M),S}function i(E){let w=new n().setGraph(E.graph());return E.nodes().forEach(M=>w.setNode(M,E.node(M))),E.edges().forEach(M=>{let N=w.edge(M.v,M.w)||{weight:0,minlen:1},S=E.edge(M);w.setEdge(M.v,M.w,{weight:N.weight+S.weight,minlen:Math.max(N.minlen,S.minlen)})}),w}function l(E){let w=new n({multigraph:E.isMultigraph()}).setGraph(E.graph());return E.nodes().forEach(M=>{E.children(M).length||w.setNode(M,E.node(M))}),E.edges().forEach(M=>{w.setEdge(M,E.edge(M))}),w}function a(E){let w=E.nodes().map(M=>{let N={};return E.outEdges(M).forEach(S=>{N[S.w]=(N[S.w]||0)+E.edge(S).weight}),N});return P(E.nodes(),w)}function d(E){let w=E.nodes().map(M=>{let N={};return E.inEdges(M).forEach(S=>{N[S.v]=(N[S.v]||0)+E.edge(S).weight}),N});return P(E.nodes(),w)}function s(E,w){let M=E.x,N=E.y,S=w.x-M,R=w.y-N,z=E.width/2,$=E.height/2;if(!S&&!R)throw Error("Not possible to find intersection inside of the rectangle");let Y,j;return Math.abs(R)*z>Math.abs(S)*$?(R<0&&($=-$),Y=$*S/R,j=$):(S<0&&(z=-z),Y=z,j=z*R/S),{x:M+Y,y:N+j}}function c(E){let w=k(v(E)+1).map(()=>[]);return E.nodes().forEach(M=>{let N=E.node(M),S=N.rank;S!==void 0&&(w[S][N.order]=M)}),w}function u(E){let w=E.nodes().map(N=>{let S=E.node(N).rank;return S===void 0?Number.MAX_VALUE:S}),M=m(Math.min,w);E.nodes().forEach(N=>{let S=E.node(N);Object.hasOwn(S,"rank")&&(S.rank-=M)})}function r(E){let w=E.nodes().map(z=>E.node(z).rank),M=m(Math.min,w),N=[];E.nodes().forEach(z=>{let $=E.node(z).rank-M;N[$]||(N[$]=[]),N[$].push(z)});let S=0,R=E.graph().nodeRankFactor;Array.from(N).forEach((z,$)=>{z===void 0&&$%R!==0?--S:z!==void 0&&S&&z.forEach(Y=>E.node(Y).rank+=S)})}function g(E,w,M,N){let S={width:0,height:0};return arguments.length>=4&&(S.rank=M,S.order=N),o(E,"border",S,w)}function h(E,w=f){let M=[];for(let N=0;N<E.length;N+=w){let S=E.slice(N,N+w);M.push(S)}return M}var f=65535;function m(E,w){if(w.length>f){let M=h(w);return E.apply(null,M.map(N=>E.apply(null,N)))}else return E.apply(null,w)}function v(E){let w=E.nodes().map(M=>{let N=E.node(M).rank;return N===void 0?Number.MIN_VALUE:N});return m(Math.max,w)}function b(E,w){let M={lhs:[],rhs:[]};return E.forEach(N=>{w(N)?M.lhs.push(N):M.rhs.push(N)}),M}function x(E,w){let M=Date.now();try{return w()}finally{console.log(E+" time: "+(Date.now()-M)+"ms")}}function _(E,w){return w()}var p=0;function C(E){return E+(""+ ++p)}function k(E,w,M=1){w??(w=E,E=0);let N=R=>R<w;M<0&&(N=R=>w<R);let S=[];for(let R=E;N(R);R+=M)S.push(R);return S}function O(E,w){let M={};for(let N of w)E[N]!==void 0&&(M[N]=E[N]);return M}function D(E,w){let M=w;return typeof w=="string"&&(M=N=>N[w]),Object.entries(E).reduce((N,[S,R])=>(N[S]=M(R,S),N),{})}function P(E,w){return E.reduce((M,N,S)=>(M[N]=w[S],M),{})}})),gl=q(((t,e)=>{var n=hl(),o=se().uniqueId;e.exports={run:i,undo:a};function i(d){(d.graph().acyclicer==="greedy"?n(d,s(d)):l(d)).forEach(c=>{let u=d.edge(c);d.removeEdge(c),u.forwardName=c.name,u.reversed=!0,d.setEdge(c.w,c.v,u,o("rev"))});function s(c){return u=>c.edge(u).weight}}function l(d){let s=[],c={},u={};function r(g){Object.hasOwn(u,g)||(u[g]=!0,c[g]=!0,d.outEdges(g).forEach(h=>{Object.hasOwn(c,h.w)?s.push(h):r(h.w)}),delete c[g])}return d.nodes().forEach(r),s}function a(d){d.edges().forEach(s=>{let c=d.edge(s);if(c.reversed){d.removeEdge(s);let u=c.forwardName;delete c.reversed,delete c.forwardName,d.setEdge(s.w,s.v,c,u)}})}})),ml=q(((t,e)=>{var n=se();e.exports={run:o,undo:l};function o(a){a.graph().dummyChains=[],a.edges().forEach(d=>i(a,d))}function i(a,d){let s=d.v,c=a.node(s).rank,u=d.w,r=a.node(u).rank,g=d.name,h=a.edge(d),f=h.labelRank;if(r===c+1)return;a.removeEdge(d);let m,v,b;for(b=0,++c;c<r;++b,++c)h.points=[],v={width:0,height:0,edgeLabel:h,edgeObj:d,rank:c},m=n.addDummyNode(a,"edge",v,"_d"),c===f&&(v.width=h.width,v.height=h.height,v.dummy="edge-label",v.labelpos=h.labelpos),a.setEdge(s,m,{weight:h.weight},g),b===0&&a.graph().dummyChains.push(m),s=m;a.setEdge(s,u,{weight:h.weight},g)}function l(a){a.graph().dummyChains.forEach(d=>{let s=a.node(d),c=s.edgeLabel,u;for(a.setEdge(s.edgeObj,c);s.dummy;)u=a.successors(d)[0],a.removeNode(d),c.points.push({x:s.x,y:s.y}),s.dummy==="edge-label"&&(c.x=s.x,c.y=s.y,c.width=s.width,c.height=s.height),d=u,s=a.node(d)})}})),Pt=q(((t,e)=>{var{applyWithChunking:n}=se();e.exports={longestPath:o,slack:i};function o(l){var a={};function d(s){var c=l.node(s);if(Object.hasOwn(a,s))return c.rank;a[s]=!0;let u=l.outEdges(s).map(g=>g==null?1/0:d(g.w)-l.edge(g).minlen);var r=n(Math.min,u);return r===1/0&&(r=0),c.rank=r}l.sources().forEach(d)}function i(l,a){return l.node(a.w).rank-l.node(a.v).rank-l.edge(a).minlen}})),rr=q(((t,e)=>{var n=be().Graph,o=Pt().slack;e.exports=i;function i(s){var c=new n({directed:!1}),u=s.nodes()[0],r=s.nodeCount();c.setNode(u,{});for(var g,h;l(c,s)<r;)g=a(c,s),h=c.hasNode(g.v)?o(s,g):-o(s,g),d(c,s,h);return c}function l(s,c){function u(r){c.nodeEdges(r).forEach(g=>{var h=g.v,f=r===h?g.w:h;!s.hasNode(f)&&!o(c,g)&&(s.setNode(f,{}),s.setEdge(r,f,{}),u(f))})}return s.nodes().forEach(u),s.nodeCount()}function a(s,c){return c.edges().reduce((u,r)=>{let g=1/0;return s.hasNode(r.v)!==s.hasNode(r.w)&&(g=o(c,r)),g<u[0]?[g,r]:u},[1/0,null])[1]}function d(s,c,u){s.nodes().forEach(r=>c.node(r).rank+=u)}})),fl=q(((t,e)=>{var n=rr(),o=Pt().slack,i=Pt().longestPath,l=be().alg.preorder,a=be().alg.postorder,d=se().simplify;e.exports=s,s.initLowLimValues=g,s.initCutValues=c,s.calcCutValue=r,s.leaveEdge=f,s.enterEdge=m,s.exchangeEdges=v;function s(p){p=d(p),i(p);var C=n(p);g(C),c(C,p);for(var k,O;k=f(C);)O=m(C,p,k),v(C,p,k,O)}function c(p,C){var k=a(p,p.nodes());k=k.slice(0,k.length-1),k.forEach(O=>u(p,C,O))}function u(p,C,k){var O=p.node(k).parent;p.edge(k,O).cutvalue=r(p,C,k)}function r(p,C,k){var O=p.node(k).parent,D=!0,P=C.edge(k,O),E=0;return P||(P=(D=!1,C.edge(O,k))),E=P.weight,C.nodeEdges(k).forEach(w=>{var M=w.v===k,N=M?w.w:w.v;if(N!==O){var S=M===D,R=C.edge(w).weight;if(E+=S?R:-R,x(p,k,N)){var z=p.edge(k,N).cutvalue;E+=S?-z:z}}}),E}function g(p,C){arguments.length<2&&(C=p.nodes()[0]),h(p,{},1,C)}function h(p,C,k,O,D){var P=k,E=p.node(O);return C[O]=!0,p.neighbors(O).forEach(w=>{Object.hasOwn(C,w)||(k=h(p,C,k,w,O))}),E.low=P,E.lim=k++,D?E.parent=D:delete E.parent,k}function f(p){return p.edges().find(C=>p.edge(C).cutvalue<0)}function m(p,C,k){var O=k.v,D=k.w;C.hasEdge(O,D)||(O=k.w,D=k.v);var P=p.node(O),E=p.node(D),w=P,M=!1;return P.lim>E.lim&&(w=E,M=!0),C.edges().filter(N=>M===_(p,p.node(N.v),w)&&M!==_(p,p.node(N.w),w)).reduce((N,S)=>o(C,S)<o(C,N)?S:N)}function v(p,C,k,O){var D=k.v,P=k.w;p.removeEdge(D,P),p.setEdge(O.v,O.w,{}),g(p),c(p,C),b(p,C)}function b(p,C){var k=l(p,p.nodes().find(O=>!C.node(O).parent));k=k.slice(1),k.forEach(O=>{var D=p.node(O).parent,P=C.edge(O,D),E=!1;P||(P=C.edge(D,O),E=!0),C.node(O).rank=C.node(D).rank+(E?P.minlen:-P.minlen)})}function x(p,C,k){return p.hasEdge(C,k)}function _(p,C,k){return k.low<=C.lim&&C.lim<=k.lim}})),pl=q(((t,e)=>{var n=Pt().longestPath,o=rr(),i=fl();e.exports=l;function l(c){var u=c.graph().ranker;if(u instanceof Function)return u(c);switch(c.graph().ranker){case"network-simplex":s(c);break;case"tight-tree":d(c);break;case"longest-path":a(c);break;case"none":break;default:s(c)}}var a=n;function d(c){n(c),o(c)}function s(c){i(c)}})),yl=q(((t,e)=>{e.exports=n;function n(l){let a=i(l);l.graph().dummyChains.forEach(d=>{let s=l.node(d),c=s.edgeObj,u=o(l,a,c.v,c.w),r=u.path,g=u.lca,h=0,f=r[h],m=!0;for(;d!==c.w;){if(s=l.node(d),m){for(;(f=r[h])!==g&&l.node(f).maxRank<s.rank;)h++;f===g&&(m=!1)}if(!m){for(;h<r.length-1&&l.node(f=r[h+1]).minRank<=s.rank;)h++;f=r[h]}l.setParent(d,f),d=l.successors(d)[0]}})}function o(l,a,d,s){let c=[],u=[],r=Math.min(a[d].low,a[s].low),g=Math.max(a[d].lim,a[s].lim),h,f;h=d;do h=l.parent(h),c.push(h);while(h&&(a[h].low>r||g>a[h].lim));for(f=h,h=s;(h=l.parent(h))!==f;)u.push(h);return{path:c.concat(u.reverse()),lca:f}}function i(l){let a={},d=0;function s(c){let u=d;l.children(c).forEach(s),a[c]={low:u,lim:d++}}return l.children().forEach(s),a}})),vl=q(((t,e)=>{var n=se();e.exports={run:o,cleanup:d};function o(s){let c=n.addDummyNode(s,"root",{},"_root"),u=l(s),r=Object.values(u),g=n.applyWithChunking(Math.max,r)-1,h=2*g+1;s.graph().nestingRoot=c,s.edges().forEach(m=>s.edge(m).minlen*=h);let f=a(s)+1;s.children().forEach(m=>i(s,c,h,f,g,u,m)),s.graph().nodeRankFactor=h}function i(s,c,u,r,g,h,f){let m=s.children(f);if(!m.length){f!==c&&s.setEdge(c,f,{weight:0,minlen:u});return}let v=n.addBorderNode(s,"_bt"),b=n.addBorderNode(s,"_bb"),x=s.node(f);s.setParent(v,f),x.borderTop=v,s.setParent(b,f),x.borderBottom=b,m.forEach(_=>{i(s,c,u,r,g,h,_);let p=s.node(_),C=p.borderTop?p.borderTop:_,k=p.borderBottom?p.borderBottom:_,O=p.borderTop?r:2*r,D=C===k?g-h[f]+1:1;s.setEdge(v,C,{weight:O,minlen:D,nestingEdge:!0}),s.setEdge(k,b,{weight:O,minlen:D,nestingEdge:!0})}),s.parent(f)||s.setEdge(c,v,{weight:0,minlen:g+h[f]})}function l(s){var c={};function u(r,g){var h=s.children(r);h&&h.length&&h.forEach(f=>u(f,g+1)),c[r]=g}return s.children().forEach(r=>u(r,1)),c}function a(s){return s.edges().reduce((c,u)=>c+s.edge(u).weight,0)}function d(s){var c=s.graph();s.removeNode(c.nestingRoot),delete c.nestingRoot,s.edges().forEach(u=>{s.edge(u).nestingEdge&&s.removeEdge(u)})}})),bl=q(((t,e)=>{var n=se();e.exports=o;function o(l){function a(d){let s=l.children(d),c=l.node(d);if(s.length&&s.forEach(a),Object.hasOwn(c,"minRank")){c.borderLeft=[],c.borderRight=[];for(let u=c.minRank,r=c.maxRank+1;u<r;++u)i(l,"borderLeft","_bl",d,c,u),i(l,"borderRight","_br",d,c,u)}}l.children().forEach(a)}function i(l,a,d,s,c,u){let r={width:0,height:0,rank:u,borderType:a},g=c[a][u-1],h=n.addDummyNode(l,"border",r,d);c[a][u]=h,l.setParent(h,s),g&&l.setEdge(g,h,{weight:1})}})),xl=q(((t,e)=>{e.exports={adjust:n,undo:o};function n(u){let r=u.graph().rankdir.toLowerCase();(r==="lr"||r==="rl")&&i(u)}function o(u){let r=u.graph().rankdir.toLowerCase();(r==="bt"||r==="rl")&&a(u),(r==="lr"||r==="rl")&&(s(u),i(u))}function i(u){u.nodes().forEach(r=>l(u.node(r))),u.edges().forEach(r=>l(u.edge(r)))}function l(u){let r=u.width;u.width=u.height,u.height=r}function a(u){u.nodes().forEach(r=>d(u.node(r))),u.edges().forEach(r=>{let g=u.edge(r);g.points.forEach(d),Object.hasOwn(g,"y")&&d(g)})}function d(u){u.y=-u.y}function s(u){u.nodes().forEach(r=>c(u.node(r))),u.edges().forEach(r=>{let g=u.edge(r);g.points.forEach(c),Object.hasOwn(g,"x")&&c(g)})}function c(u){let r=u.x;u.x=u.y,u.y=r}})),El=q(((t,e)=>{var n=se();e.exports=o;function o(i){let l={},a=i.nodes().filter(r=>!i.children(r).length),d=a.map(r=>i.node(r).rank),s=n.applyWithChunking(Math.max,d),c=n.range(s+1).map(()=>[]);function u(r){l[r]||(l[r]=!0,c[i.node(r).rank].push(r),i.successors(r).forEach(u))}return a.sort((r,g)=>i.node(r).rank-i.node(g).rank).forEach(u),c}})),wl=q(((t,e)=>{var n=se().zipObject;e.exports=o;function o(l,a){let d=0;for(let s=1;s<a.length;++s)d+=i(l,a[s-1],a[s]);return d}function i(l,a,d){let s=n(d,d.map((f,m)=>m)),c=a.flatMap(f=>l.outEdges(f).map(m=>({pos:s[m.w],weight:l.edge(m).weight})).sort((m,v)=>m.pos-v.pos)),u=1;for(;u<d.length;)u<<=1;let r=2*u-1;--u;let g=Array(r).fill(0),h=0;return c.forEach(f=>{let m=f.pos+u;g[m]+=f.weight;let v=0;for(;m>0;)m%2&&(v+=g[m+1]),m=m-1>>1,g[m]+=f.weight;h+=f.weight*v}),h}})),Sl=q(((t,e)=>{e.exports=n;function n(o,i=[]){return i.map(l=>{let a=o.inEdges(l);if(a.length){let d=a.reduce((s,c)=>{let u=o.edge(c),r=o.node(c.v);return{sum:s.sum+u.weight*r.order,weight:s.weight+u.weight}},{sum:0,weight:0});return{v:l,barycenter:d.sum/d.weight,weight:d.weight}}else return{v:l}})}})),Cl=q(((t,e)=>{var n=se();e.exports=o;function o(a,d){let s={};return a.forEach((c,u)=>{let r=s[c.v]={indegree:0,in:[],out:[],vs:[c.v],i:u};c.barycenter!==void 0&&(r.barycenter=c.barycenter,r.weight=c.weight)}),d.edges().forEach(c=>{let u=s[c.v],r=s[c.w];u!==void 0&&r!==void 0&&(r.indegree++,u.out.push(s[c.w]))}),i(Object.values(s).filter(c=>!c.indegree))}function i(a){let d=[];function s(u){return r=>{r.merged||(r.barycenter===void 0||u.barycenter===void 0||r.barycenter>=u.barycenter)&&l(u,r)}}function c(u){return r=>{r.in.push(u),--r.indegree===0&&a.push(r)}}for(;a.length;){let u=a.pop();d.push(u),u.in.reverse().forEach(s(u)),u.out.forEach(c(u))}return d.filter(u=>!u.merged).map(u=>n.pick(u,["vs","i","barycenter","weight"]))}function l(a,d){let s=0,c=0;a.weight&&(s+=a.barycenter*a.weight,c+=a.weight),d.weight&&(s+=d.barycenter*d.weight,c+=d.weight),a.vs=d.vs.concat(a.vs),a.barycenter=s/c,a.weight=c,a.i=Math.min(d.i,a.i),d.merged=!0}})),Nl=q(((t,e)=>{var n=se();e.exports=o;function o(a,d){let s=n.partition(a,v=>Object.hasOwn(v,"barycenter")),c=s.lhs,u=s.rhs.sort((v,b)=>b.i-v.i),r=[],g=0,h=0,f=0;c.sort(l(!!d)),f=i(r,u,f),c.forEach(v=>{f+=v.vs.length,r.push(v.vs),g+=v.barycenter*v.weight,h+=v.weight,f=i(r,u,f)});let m={vs:r.flat(!0)};return h&&(m.barycenter=g/h,m.weight=h),m}function i(a,d,s){let c;for(;d.length&&(c=d[d.length-1]).i<=s;)d.pop(),a.push(c.vs),s++;return s}function l(a){return(d,s)=>d.barycenter<s.barycenter?-1:d.barycenter>s.barycenter?1:a?s.i-d.i:d.i-s.i}})),kl=q(((t,e)=>{var n=Sl(),o=Cl(),i=Nl();e.exports=l;function l(s,c,u,r){let g=s.children(c),h=s.node(c),f=h?h.borderLeft:void 0,m=h?h.borderRight:void 0,v={};f&&(g=g.filter(p=>p!==f&&p!==m));let b=n(s,g);b.forEach(p=>{if(s.children(p.v).length){let C=l(s,p.v,u,r);v[p.v]=C,Object.hasOwn(C,"barycenter")&&d(p,C)}});let x=o(b,u);a(x,v);let _=i(x,r);if(f&&(_.vs=[f,_.vs,m].flat(!0),s.predecessors(f).length)){let p=s.node(s.predecessors(f)[0]),C=s.node(s.predecessors(m)[0]);Object.hasOwn(_,"barycenter")||(_.barycenter=0,_.weight=0),_.barycenter=(_.barycenter*_.weight+p.order+C.order)/(_.weight+2),_.weight+=2}return _}function a(s,c){s.forEach(u=>{u.vs=u.vs.flatMap(r=>c[r]?c[r].vs:r)})}function d(s,c){s.barycenter===void 0?(s.barycenter=c.barycenter,s.weight=c.weight):(s.barycenter=(s.barycenter*s.weight+c.barycenter*c.weight)/(s.weight+c.weight),s.weight+=c.weight)}})),Ml=q(((t,e)=>{var n=be().Graph,o=se();e.exports=i;function i(a,d,s){let c=l(a),u=new n({compound:!0}).setGraph({root:c}).setDefaultNodeLabel(r=>a.node(r));return a.nodes().forEach(r=>{let g=a.node(r),h=a.parent(r);(g.rank===d||g.minRank<=d&&d<=g.maxRank)&&(u.setNode(r),u.setParent(r,h||c),a[s](r).forEach(f=>{let m=f.v===r?f.w:f.v,v=u.edge(m,r),b=v===void 0?0:v.weight;u.setEdge(m,r,{weight:a.edge(f).weight+b})}),Object.hasOwn(g,"minRank")&&u.setNode(r,{borderLeft:g.borderLeft[d],borderRight:g.borderRight[d]}))}),u}function l(a){for(var d;a.hasNode(d=o.uniqueId("_root")););return d}})),_l=q(((t,e)=>{e.exports=n;function n(o,i,l){let a={},d;l.forEach(s=>{let c=o.parent(s),u,r;for(;c;){if(u=o.parent(c),u?(r=a[u],a[u]=c):(r=d,d=c),r&&r!==c){i.setEdge(r,c);return}c=u}})}})),Ol=q(((t,e)=>{var n=El(),o=wl(),i=kl(),l=Ml(),a=_l(),d=be().Graph,s=se();e.exports=c;function c(h,f){if(f&&typeof f.customOrder=="function"){f.customOrder(h,c);return}let m=s.maxRank(h),v=u(h,s.range(1,m+1),"inEdges"),b=u(h,s.range(m-1,-1,-1),"outEdges"),x=n(h);if(g(h,x),f&&f.disableOptimalOrderHeuristic)return;let _=1/0,p;for(let C=0,k=0;k<4;++C,++k){r(C%2?v:b,C%4>=2),x=s.buildLayerMatrix(h);let O=o(h,x);O<_&&(k=0,p=Object.assign({},x),_=O)}g(h,p)}function u(h,f,m){return f.map(function(v){return l(h,v,m)})}function r(h,f){let m=new d;h.forEach(function(v){let b=v.graph().root,x=i(v,b,m,f);x.vs.forEach((_,p)=>v.node(_).order=p),a(v,m,x.vs)})}function g(h,f){Object.values(f).forEach(m=>m.forEach((v,b)=>h.node(v).order=b))}})),Pl=q(((t,e)=>{var n=be().Graph,o=se();e.exports={positionX:m,findType1Conflicts:i,findType2Conflicts:l,addConflict:d,hasConflict:s,verticalAlignment:c,horizontalCompaction:u,alignCoordinates:h,findSmallestWidthAlignment:g,balance:f};function i(x,_){let p={};function C(k,O){let D=0,P=0,E=k.length,w=O[O.length-1];return O.forEach((M,N)=>{let S=a(x,M),R=S?x.node(S).order:E;(S||M===w)&&(O.slice(P,N+1).forEach(z=>{x.predecessors(z).forEach($=>{let Y=x.node($),j=Y.order;(j<D||R<j)&&!(Y.dummy&&x.node(z).dummy)&&d(p,$,z)})}),P=N+1,D=R)}),O}return _.length&&_.reduce(C),p}function l(x,_){let p={};function C(O,D,P,E,w){let M;o.range(D,P).forEach(N=>{M=O[N],x.node(M).dummy&&x.predecessors(M).forEach(S=>{let R=x.node(S);R.dummy&&(R.order<E||R.order>w)&&d(p,S,M)})})}function k(O,D){let P=-1,E,w=0;return D.forEach((M,N)=>{if(x.node(M).dummy==="border"){let S=x.predecessors(M);S.length&&(E=x.node(S[0]).order,C(D,w,N,P,E),w=N,P=E)}C(D,w,D.length,E,O.length)}),D}return _.length&&_.reduce(k),p}function a(x,_){if(x.node(_).dummy)return x.predecessors(_).find(p=>x.node(p).dummy)}function d(x,_,p){if(_>p){let k=_;_=p,p=k}let C=x[_];C||(x[_]=C={}),C[p]=!0}function s(x,_,p){if(_>p){let C=_;_=p,p=C}return!!x[_]&&Object.hasOwn(x[_],p)}function c(x,_,p,C){let k={},O={},D={};return _.forEach(P=>{P.forEach((E,w)=>{k[E]=E,O[E]=E,D[E]=w})}),_.forEach(P=>{let E=-1;P.forEach(w=>{let M=C(w);if(M.length){M=M.sort((S,R)=>D[S]-D[R]);let N=(M.length-1)/2;for(let S=Math.floor(N),R=Math.ceil(N);S<=R;++S){let z=M[S];O[w]===w&&E<D[z]&&!s(p,w,z)&&(O[z]=w,O[w]=k[w]=k[z],E=D[z])}}})}),{root:k,align:O}}function u(x,_,p,C,k){let O={},D=r(x,_,p,k),P=k?"borderLeft":"borderRight";function E(N,S){let R=D.nodes(),z=R.pop(),$={};for(;z;)$[z]?N(z):($[z]=!0,R.push(z),R=R.concat(S(z))),z=R.pop()}function w(N){O[N]=D.inEdges(N).reduce((S,R)=>Math.max(S,O[R.v]+D.edge(R)),0)}function M(N){let S=D.outEdges(N).reduce((z,$)=>Math.min(z,O[$.w]-D.edge($)),1/0),R=x.node(N);S!==1/0&&R.borderType!==P&&(O[N]=Math.max(O[N],S))}return E(w,D.predecessors.bind(D)),E(M,D.successors.bind(D)),Object.keys(C).forEach(N=>O[N]=O[p[N]]),O}function r(x,_,p,C){let k=new n,O=x.graph(),D=v(O.nodesep,O.edgesep,C);return _.forEach(P=>{let E;P.forEach(w=>{let M=p[w];if(k.setNode(M),E){var N=p[E],S=k.edge(N,M);k.setEdge(N,M,Math.max(D(x,w,E),S||0))}E=w})}),k}function g(x,_){return Object.values(_).reduce((p,C)=>{let k=-1/0,O=1/0;Object.entries(C).forEach(([P,E])=>{let w=b(x,P)/2;k=Math.max(E+w,k),O=Math.min(E-w,O)});let D=k-O;return D<p[0]&&(p=[D,C]),p},[1/0,null])[1]}function h(x,_){let p=Object.values(_),C=o.applyWithChunking(Math.min,p),k=o.applyWithChunking(Math.max,p);["u","d"].forEach(O=>{["l","r"].forEach(D=>{let P=O+D,E=x[P];if(E===_)return;let w=Object.values(E),M=C-o.applyWithChunking(Math.min,w);D!=="l"&&(M=k-o.applyWithChunking(Math.max,w)),M&&(x[P]=o.mapValues(E,N=>N+M))})})}function f(x,_){return o.mapValues(x.ul,(p,C)=>{if(_)return x[_.toLowerCase()][C];{let k=Object.values(x).map(O=>O[C]).sort((O,D)=>O-D);return(k[1]+k[2])/2}})}function m(x){let _=o.buildLayerMatrix(x),p=Object.assign(i(x,_),l(x,_)),C={},k;return["u","d"].forEach(O=>{k=O==="u"?_:Object.values(_).reverse(),["l","r"].forEach(D=>{D==="r"&&(k=k.map(M=>Object.values(M).reverse()));let P=(O==="u"?x.predecessors:x.successors).bind(x),E=c(x,k,p,P),w=u(x,k,E.root,E.align,D==="r");D==="r"&&(w=o.mapValues(w,M=>-M)),C[O+D]=w})}),h(C,g(x,C)),f(C,x.graph().align)}function v(x,_,p){return(C,k,O)=>{let D=C.node(k),P=C.node(O),E=0,w;if(E+=D.width/2,Object.hasOwn(D,"labelpos"))switch(D.labelpos.toLowerCase()){case"l":w=-D.width/2;break;case"r":w=D.width/2;break}if(w&&(E+=p?w:-w),w=0,E+=(D.dummy?_:x)/2,E+=(P.dummy?_:x)/2,E+=P.width/2,Object.hasOwn(P,"labelpos"))switch(P.labelpos.toLowerCase()){case"l":w=P.width/2;break;case"r":w=-P.width/2;break}return w&&(E+=p?w:-w),w=0,E}}function b(x,_){return x.node(_).width}})),Dl=q(((t,e)=>{var n=se(),o=Pl().positionX;e.exports=i;function i(a){a=n.asNonCompoundGraph(a),l(a),Object.entries(o(a)).forEach(([d,s])=>a.node(d).x=s)}function l(a){let d=n.buildLayerMatrix(a),s=a.graph().ranksep,c=0;d.forEach(u=>{let r=u.reduce((g,h)=>{let f=a.node(h).height;return g>f?g:f},0);u.forEach(g=>a.node(g).y=c+r/2),c+=r+s})}})),Il=q(((t,e)=>{var n=gl(),o=ml(),i=pl(),l=se().normalizeRanks,a=yl(),d=se().removeEmptyRanks,s=vl(),c=bl(),u=xl(),r=Ol(),g=Dl(),h=se(),f=be().Graph;e.exports=m;function m(I,A){let B=A&&A.debugTiming?h.time:h.notime;B("layout",()=>{let H=B(" buildLayoutGraph",()=>E(I));B(" runLayout",()=>v(H,B,A)),B(" updateInputGraph",()=>b(I,H))})}function v(I,A,B){A(" makeSpaceForEdgeLabels",()=>w(I)),A(" removeSelfEdges",()=>T(I)),A(" acyclic",()=>n.run(I)),A(" nestingGraph.run",()=>s.run(I)),A(" rank",()=>i(h.asNonCompoundGraph(I))),A(" injectEdgeLabelProxies",()=>M(I)),A(" removeEmptyRanks",()=>d(I)),A(" nestingGraph.cleanup",()=>s.cleanup(I)),A(" normalizeRanks",()=>l(I)),A(" assignRankMinMax",()=>N(I)),A(" removeEdgeLabelProxies",()=>S(I)),A(" normalize.run",()=>o.run(I)),A(" parentDummyChains",()=>a(I)),A(" addBorderSegments",()=>c(I)),A(" order",()=>r(I,B)),A(" insertSelfEdges",()=>V(I)),A(" adjustCoordinateSystem",()=>u.adjust(I)),A(" position",()=>g(I)),A(" positionSelfEdges",()=>X(I)),A(" removeBorderNodes",()=>j(I)),A(" normalize.undo",()=>o.undo(I)),A(" fixupEdgeLabelCoords",()=>$(I)),A(" undoCoordinateSystem",()=>u.undo(I)),A(" translateGraph",()=>R(I)),A(" assignNodeIntersects",()=>z(I)),A(" reversePoints",()=>Y(I)),A(" acyclic.undo",()=>n.undo(I))}function b(I,A){I.nodes().forEach(B=>{let H=I.node(B),Z=A.node(B);H&&(H.x=Z.x,H.y=Z.y,H.rank=Z.rank,A.children(B).length&&(H.width=Z.width,H.height=Z.height))}),I.edges().forEach(B=>{let H=I.edge(B),Z=A.edge(B);H.points=Z.points,Object.hasOwn(Z,"x")&&(H.x=Z.x,H.y=Z.y)}),I.graph().width=A.graph().width,I.graph().height=A.graph().height}var x=["nodesep","edgesep","ranksep","marginx","marginy"],_={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},p=["acyclicer","ranker","rankdir","align"],C=["width","height","rank"],k={width:0,height:0},O=["minlen","weight","width","height","labeloffset"],D={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},P=["labelpos"];function E(I){let A=new f({multigraph:!0,compound:!0}),B=U(I.graph());return A.setGraph(Object.assign({},_,W(B,x),h.pick(B,p))),I.nodes().forEach(H=>{let Z=W(U(I.node(H)),C);Object.keys(k).forEach(G=>{Z[G]===void 0&&(Z[G]=k[G])}),A.setNode(H,Z),A.setParent(H,I.parent(H))}),I.edges().forEach(H=>{let Z=U(I.edge(H));A.setEdge(H,Object.assign({},D,W(Z,O),h.pick(Z,P)))}),A}function w(I){let A=I.graph();A.ranksep/=2,I.edges().forEach(B=>{let H=I.edge(B);H.minlen*=2,H.labelpos.toLowerCase()!=="c"&&(A.rankdir==="TB"||A.rankdir==="BT"?H.width+=H.labeloffset:H.height+=H.labeloffset)})}function M(I){I.edges().forEach(A=>{let B=I.edge(A);if(B.width&&B.height){let H=I.node(A.v),Z={rank:(I.node(A.w).rank-H.rank)/2+H.rank,e:A};h.addDummyNode(I,"edge-proxy",Z,"_ep")}})}function N(I){let A=0;I.nodes().forEach(B=>{let H=I.node(B);H.borderTop&&(H.minRank=I.node(H.borderTop).rank,H.maxRank=I.node(H.borderBottom).rank,A=Math.max(A,H.maxRank))}),I.graph().maxRank=A}function S(I){I.nodes().forEach(A=>{let B=I.node(A);B.dummy==="edge-proxy"&&(I.edge(B.e).labelRank=B.rank,I.removeNode(A))})}function R(I){let A=1/0,B=0,H=1/0,Z=0,G=I.graph(),ee=G.marginx||0,ae=G.marginy||0;function ge(oe){let J=oe.x,de=oe.y,te=oe.width,K=oe.height;A=Math.min(A,J-te/2),B=Math.max(B,J+te/2),H=Math.min(H,de-K/2),Z=Math.max(Z,de+K/2)}I.nodes().forEach(oe=>ge(I.node(oe))),I.edges().forEach(oe=>{let J=I.edge(oe);Object.hasOwn(J,"x")&&ge(J)}),A-=ee,H-=ae,I.nodes().forEach(oe=>{let J=I.node(oe);J.x-=A,J.y-=H}),I.edges().forEach(oe=>{let J=I.edge(oe);J.points.forEach(de=>{de.x-=A,de.y-=H}),Object.hasOwn(J,"x")&&(J.x-=A),Object.hasOwn(J,"y")&&(J.y-=H)}),G.width=B-A+ee,G.height=Z-H+ae}function z(I){I.edges().forEach(A=>{let B=I.edge(A),H=I.node(A.v),Z=I.node(A.w),G,ee;B.points?(G=B.points[0],ee=B.points[B.points.length-1]):(B.points=[],G=Z,ee=H),B.points.unshift(h.intersectRect(H,G)),B.points.push(h.intersectRect(Z,ee))})}function $(I){I.edges().forEach(A=>{let B=I.edge(A);if(Object.hasOwn(B,"x"))switch((B.labelpos==="l"||B.labelpos==="r")&&(B.width-=B.labeloffset),B.labelpos){case"l":B.x-=B.width/2+B.labeloffset;break;case"r":B.x+=B.width/2+B.labeloffset;break}})}function Y(I){I.edges().forEach(A=>{let B=I.edge(A);B.reversed&&B.points.reverse()})}function j(I){I.nodes().forEach(A=>{if(I.children(A).length){let B=I.node(A),H=I.node(B.borderTop),Z=I.node(B.borderBottom),G=I.node(B.borderLeft[B.borderLeft.length-1]),ee=I.node(B.borderRight[B.borderRight.length-1]);B.width=Math.abs(ee.x-G.x),B.height=Math.abs(Z.y-H.y),B.x=G.x+B.width/2,B.y=H.y+B.height/2}}),I.nodes().forEach(A=>{I.node(A).dummy==="border"&&I.removeNode(A)})}function T(I){I.edges().forEach(A=>{if(A.v===A.w){var B=I.node(A.v);B.selfEdges||(B.selfEdges=[]),B.selfEdges.push({e:A,label:I.edge(A)}),I.removeEdge(A)}})}function V(I){h.buildLayerMatrix(I).forEach(A=>{var B=0;A.forEach((H,Z)=>{var G=I.node(H);G.order=Z+B,(G.selfEdges||[]).forEach(ee=>{h.addDummyNode(I,"selfedge",{width:ee.label.width,height:ee.label.height,rank:G.rank,order:Z+ ++B,e:ee.e,label:ee.label},"_se")}),delete G.selfEdges})})}function X(I){I.nodes().forEach(A=>{var B=I.node(A);if(B.dummy==="selfedge"){var H=I.node(B.e.v),Z=H.x+H.width/2,G=H.y,ee=B.x-Z,ae=H.height/2;I.setEdge(B.e,B.label),I.removeNode(A),B.label.points=[{x:Z+2*ee/3,y:G-ae},{x:Z+5*ee/6,y:G-ae},{x:Z+ee,y:G},{x:Z+5*ee/6,y:G+ae},{x:Z+2*ee/3,y:G+ae}],B.label.x=B.x,B.label.y=B.y}})}function W(I,A){return h.mapValues(h.pick(I,A),Number)}function U(I){var A={};return I&&Object.entries(I).forEach(([B,H])=>{typeof B=="string"&&(B=B.toLowerCase()),A[B]=H}),A}})),jl=q(((t,e)=>{var n=se(),o=be().Graph;e.exports={debugOrdering:i};function i(l){let a=n.buildLayerMatrix(l),d=new o({compound:!0,multigraph:!0}).setGraph({});return l.nodes().forEach(s=>{d.setNode(s,{label:s}),d.setParent(s,"layer"+l.node(s).rank)}),l.edges().forEach(s=>d.setEdge(s.v,s.w,{},s.name)),a.forEach((s,c)=>{let u="layer"+c;d.setNode(u,{rank:"same"}),s.reduce((r,g)=>(d.setEdge(r,g,{style:"invis"}),g))}),d}})),Rl=q(((t,e)=>{e.exports="1.1.5"})),ar=ye(q(((t,e)=>{e.exports={graphlib:be(),layout:Il(),debug:jl(),util:{time:se().time,notime:se().notime},version:Rl()}}))(),1),ht=new ar.graphlib.Graph().setDefaultEdgeLabel(()=>({}));const ir=({nodes:t,edges:e,direction:n})=>(ht.setGraph({rankdir:n,nodesep:150,ranksep:200,ranker:"longest-path"}),e.forEach(o=>ht.setEdge(o.source,o.target)),t.forEach(o=>ht.setNode(o.id,{...o,width:o.width??0,height:o.height??0})),(0,ar.layout)(ht),{nodes:t.map(o=>{let{x:i,y:l}=ht.node(o.id);return{...o,position:{x:i,y:l}}}),edges:e});var Al=ye(Ae(),1),sr=new Vs;const Bl=t=>{let e=(0,Al.c)(43),{cellIds:n,variables:o,cellAtoms:i,children:l,layoutDirection:a,settings:d}=t,s;e[0]!==i||e[1]!==n||e[2]!==a||e[3]!==d.hidePureMarkdown||e[4]!==o?(s=()=>{let j=sr.createElements(n,i,o,d.hidePureMarkdown);return j=ir({nodes:j.nodes,edges:j.edges,direction:a}),j},e[0]=i,e[1]=n,e[2]=a,e[3]=d.hidePureMarkdown,e[4]=o,e[5]=s):s=e[5];let[c]=(0,y.useState)(s),[u,r,g]=Vo(c.nodes),[h,f,m]=Xo(c.edges),v=dt(),b;e[6]!==a||e[7]!==f||e[8]!==r?(b=j=>{let T=ir({nodes:j.nodes,edges:j.edges,direction:a});r(T.nodes),f(T.edges)},e[6]=a,e[7]=f,e[8]=r,e[9]=b):b=e[9];let x=Sn(b),_,p;e[10]!==i||e[11]!==n||e[12]!==d.hidePureMarkdown||e[13]!==x||e[14]!==o?(_=()=>{x(sr.createElements(n,i,o,d.hidePureMarkdown))},p=[n,o,i,x,d.hidePureMarkdown],e[10]=i,e[11]=n,e[12]=d.hidePureMarkdown,e[13]=x,e[14]=o,e[15]=_,e[16]=p):(_=e[15],p=e[16]),(0,y.useEffect)(_,p);let[C,k]=(0,y.useState)();Uo();let O;e[17]===Symbol.for("react.memo_cache_sentinel")?(O=()=>{k(void 0)},e[17]=O):O=e[17];let D=O,P,E,w;e[18]===Symbol.for("react.memo_cache_sentinel")?(P={minZoom:.5,maxZoom:1.5},E=(j,T)=>{k({type:"node",id:T.id})},w=(j,T)=>{let{source:V,target:X}=T;k({type:"edge",source:V,target:X})},e[18]=P,e[19]=E,e[20]=w):(P=e[18],E=e[19],w=e[20]);let M;e[21]===Symbol.for("react.memo_cache_sentinel")?(M=(0,L.jsx)($s,{color:"#ccc",variant:ve.Dots}),e[21]=M):M=e[21];let N;e[22]!==v||e[23]!==u?(N=()=>{let j=gt.get(va);if(j){let T=u.find(V=>V.id===j);T&&(v.fitView({padding:1,duration:600,nodes:[T]}),k({type:"node",id:j}))}},e[22]=v,e[23]=u,e[24]=N):N=e[24];let S;e[25]===Symbol.for("react.memo_cache_sentinel")?(S=(0,L.jsx)(_a,{className:"size-4"}),e[25]=S):S=e[25];let R;e[26]===N?R=e[27]:(R=(0,L.jsx)(js,{position:"bottom-right",showInteractive:!1,children:(0,L.jsx)(ha,{content:"Jump to focused cell",delayDuration:200,side:"left",asChild:!1,children:(0,L.jsx)(tt,{onMouseDown:na.preventFocus,onClick:N,children:S})})}),e[26]=N,e[27]=R);let z;e[28]!==h||e[29]!==C||e[30]!==o?(z=(0,L.jsx)(Ot,{selection:C,variables:o,edges:h,onClearSelection:D}),e[28]=h,e[29]=C,e[30]=o,e[31]=z):z=e[31];let $;e[32]!==l||e[33]!==h||e[34]!==u||e[35]!==m||e[36]!==g||e[37]!==R||e[38]!==z?($=(0,L.jsxs)(cn,{nodes:u,edges:h,nodeTypes:Ko,minZoom:.2,fitViewOptions:P,onNodeClick:E,onEdgeClick:w,onNodeDoubleClick:zl,fitView:!0,onNodesChange:g,onEdgesChange:m,zoomOnDoubleClick:!1,nodesConnectable:!1,children:[M,R,z,l]}),e[32]=l,e[33]=h,e[34]=u,e[35]=m,e[36]=g,e[37]=R,e[38]=z,e[39]=$):$=e[39];let Y;return e[40]!==a||e[41]!==$?(Y=(0,L.jsx)(Zo,{value:a,children:$}),e[40]=a,e[41]=$,e[42]=Y):Y=e[42],Y};function zl(t,e){Cn(e.id,"focus")}var Ll=ye(Ae(),1),$l=yn("_minimap_"),Tl=yn({hidePureMarkdown:!0});const Hl=t=>{let e=(0,Ll.c)(11),[n,o]=vn($l),[i,l]=vn(Tl),a;e[0]!==n||e[1]!==t||e[2]!==o||e[3]!==l||e[4]!==i?(a=()=>n==="_minimap_"?(0,L.jsx)(Gs,{...t,children:(0,L.jsx)(hn,{settings:i,onSettingsChange:l,view:n,onChange:o})}):(0,L.jsx)(Bl,{...t,settings:i,layoutDirection:n,children:(0,L.jsx)(hn,{settings:i,onSettingsChange:l,view:n,onChange:o})}),e[0]=n,e[1]=t,e[2]=o,e[3]=l,e[4]=i,e[5]=a):a=e[5];let d=a,s;e[6]===d?s=e[7]:(s=d(),e[6]=d,e[7]=s);let c;return e[8]!==n||e[9]!==s?(c=(0,L.jsx)(dn,{children:s},n),e[8]=n,e[9]=s,e[10]=c):c=e[10],c};var Vl=ye(Ae(),1),Xl=()=>{let t=(0,Vl.c)(5),e=Ur(),n=bn(),[o]=Kr(),i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=xn("w-full h-full flex-1 mx-auto -mb-4 relative"),t[0]=i):i=t[0];let l;return t[1]!==n.inOrderIds||t[2]!==o||t[3]!==e?(l=(0,L.jsx)("div",{className:i,children:(0,L.jsx)(Hl,{cellAtoms:o,variables:e,cellIds:n.inOrderIds})}),t[1]=n.inOrderIds,t[2]=o,t[3]=e,t[4]=l):l=t[4],l};export{Xl as default};
|