@vantaloom/runtime-linux-x64 0.12.56 → 0.12.57
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/VERSION +1 -1
- package/bin/vantaloom-agent +0 -0
- package/bin/vantaloom-api +0 -0
- package/bin/vantaloom-browser +0 -0
- package/bin/vantaloomctl +0 -0
- package/cli/package.json +1 -1
- package/manifest.json +2 -2
- package/package.json +1 -1
- package/web/404.html +1 -1
- package/web/__next.__PAGE__.txt +2 -2
- package/web/__next._full.txt +3 -3
- package/web/__next._head.txt +1 -1
- package/web/__next._index.txt +2 -2
- package/web/__next._tree.txt +2 -2
- package/web/_next/static/chunks/{b7b78e934181b7d7.js → 450d9b2fc99c50f5.js} +1 -1
- package/web/_next/static/chunks/ccf6fddbcb59a4e6.css +2 -0
- package/web/_not-found/__next._full.txt +2 -2
- package/web/_not-found/__next._head.txt +1 -1
- package/web/_not-found/__next._index.txt +2 -2
- package/web/_not-found/__next._not-found/__PAGE__.txt +1 -1
- package/web/_not-found/__next._not-found.txt +1 -1
- package/web/_not-found/__next._tree.txt +2 -2
- package/web/_not-found.html +1 -1
- package/web/_not-found.txt +2 -2
- package/web/index.html +1 -1
- package/web/index.txt +3 -3
- package/web/_next/static/chunks/7bc35b3310a62360.css +0 -2
- /package/web/_next/static/{RBQ6f2S_RzuRQJbb5h6E8 → fhmI4U8c50SGlfG_bQyEP}/_buildManifest.js +0 -0
- /package/web/_next/static/{RBQ6f2S_RzuRQJbb5h6E8 → fhmI4U8c50SGlfG_bQyEP}/_clientMiddlewareManifest.json +0 -0
- /package/web/_next/static/{RBQ6f2S_RzuRQJbb5h6E8 → fhmI4U8c50SGlfG_bQyEP}/_ssgManifest.js +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
${r} [data-chart=${e}] {
|
|
3
3
|
${n.map(([e,n])=>{let r=n.theme?.[t]??n.color;return r?` --color-${e}: ${r};`:null}).filter(Boolean).join("\n")}
|
|
4
4
|
}
|
|
5
|
-
`).join("\n")}}):null}function y8({active:e,payload:t,className:n,indicator:r="dot",hideLabel:a=!1,hideIndicator:i=!1,label:o,labelFormatter:l,labelClassName:s,formatter:c,color:d,nameKey:u,labelKey:f}){let{config:m}=function(){let e=O.useContext(y3);if(!e)throw Error("useChart must be used within a <ChartContainer />");return e}(),h=O.useMemo(()=>{if(a||!t?.length)return null;let[e]=t,n=`${f??e?.dataKey??e?.name??"value"}`,r=y7(m,e,n),i=f||"string"!=typeof o?r?.label:m[o]?.label??o;return l?(0,I.jsx)("div",{className:(0,V.cn)("font-medium",s),children:l(i,t)}):i?(0,I.jsx)("div",{className:(0,V.cn)("font-medium",s),children:i}):null},[o,l,t,a,s,m,f]);if(!e||!t?.length)return null;let p=1===t.length&&"dot"!==r;return(0,I.jsxs)("div",{className:(0,V.cn)("vtl-surface-popover grid min-w-32 items-start gap-1.5 rounded-[var(--surface-popover-radius)] border px-2.5 py-1.5 text-xs",n),children:[p?null:h,(0,I.jsx)("div",{className:"grid gap-1.5",children:t.filter(e=>"none"!==e.type).map((e,t)=>{let n=`${u??e.name??e.dataKey??"value"}`,a=y7(m,e,n),o=d??e.payload?.fill??e.color;return(0,I.jsx)("div",{className:(0,V.cn)("flex w-full flex-wrap items-stretch gap-2 [&>svg]:size-2.5 [&>svg]:text-muted-foreground","dot"===r&&"items-center"),children:c&&e?.value!==void 0&&e.name?c(e.value,e.name,e,t,e.payload):(0,I.jsxs)(I.Fragment,{children:[a?.icon?(0,I.jsx)(a.icon,{}):!i&&(0,I.jsx)("div",{className:(0,V.cn)("shrink-0 rounded-[2px]","dot"===r&&"size-2.5","line"===r&&"w-1","dashed"===r&&"w-0 border-[1.5px] border-dashed bg-transparent",p&&"dashed"===r&&"my-0.5"),style:{backgroundColor:"dashed"===r?"transparent":o,borderColor:o}}),(0,I.jsxs)("div",{className:(0,V.cn)("flex flex-1 justify-between leading-none",p?"items-end":"items-center"),children:[(0,I.jsxs)("div",{className:"grid gap-1.5",children:[p?h:null,(0,I.jsx)("span",{className:"text-muted-foreground",children:a?.label??e.name})]}),null!=e.value&&(0,I.jsx)("span",{className:"font-mono font-medium text-foreground tabular-nums",children:"number"==typeof e.value?e.value.toLocaleString():String(e.value)})]})]})},t)})})]})}function y7(e,t,n){if("object"!=typeof t||null===t)return;let r="payload"in t&&"object"==typeof t.payload&&null!==t.payload?t.payload:void 0,a=n;return n in t&&"string"==typeof t[n]?a=t[n]:r&&n in r&&"string"==typeof r[n]&&(a=r[n]),a in e?e[a]:e[n]}function y9(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),!1===n||!r.defaultPrevented)return t?.(r)}}"u">typeof window&&window.document&&window.document.createElement;var we=e.i(22353);function wt(e,t=[]){let n=[],r=()=>{let t=n.map(e=>O.createContext(e));return function(n){let r=n?.[e]||t;return O.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return r.scopeName=e,[function(t,r){let a=O.createContext(r),i=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,l=n?.[e]?.[i]||a,s=O.useMemo(()=>o,Object.values(o));return(0,I.jsx)(l.Provider,{value:s,children:r})};return o.displayName=t+"Provider",[o,function(n,o){let l=o?.[e]?.[i]||a,s=O.useContext(l);if(s)return s;if(void 0!==r)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let a=n(e)[`__scope${r}`];return{...t,...a}},{});return O.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}(r,...t)]}function wn(e){var t;let n,r=(t=e,(n=O.forwardRef((e,t)=>{let{children:n,...r}=e;if(O.isValidElement(n)){var a;let e,i,o=(a=n,(i=(e=Object.getOwnPropertyDescriptor(a.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?a.ref:(i=(e=Object.getOwnPropertyDescriptor(a,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?a.props.ref:a.props.ref||a.ref),l=function(e,t){let n={...t};for(let r in t){let a=e[r],i=t[r];/^on[A-Z]/.test(r)?a&&i?n[r]=(...e)=>{let t=i(...e);return a(...e),t}:a&&(n[r]=a):"style"===r?n[r]={...a,...i}:"className"===r&&(n[r]=[a,i].filter(Boolean).join(" "))}return{...e,...n}}(r,n.props);return n.type!==O.Fragment&&(l.ref=t?(0,we.composeRefs)(t,o):o),O.cloneElement(n,l)}return O.Children.count(n)>1?O.Children.only(null):null})).displayName=`${t}.SlotClone`,n),a=O.forwardRef((e,t)=>{let{children:n,...a}=e,i=O.Children.toArray(n),o=i.find(wa);if(o){let e=o.props.children,n=i.map(t=>t!==o?t:O.Children.count(e)>1?O.Children.only(null):O.isValidElement(e)?e.props.children:null);return(0,I.jsx)(r,{...a,ref:t,children:O.isValidElement(e)?O.cloneElement(e,void 0,n):null})}return(0,I.jsx)(r,{...a,ref:t,children:n})});return a.displayName=`${e}.Slot`,a}var wr=Symbol("radix.slottable");function wa(e){return O.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===wr}var wi=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let n=wn(`Primitive.${t}`),r=O.forwardRef((e,r)=>{let{asChild:a,...i}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,I.jsx)(a?n:t,{...i,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function wo(e,t){e&&gS.flushSync(()=>e.dispatchEvent(t))}function wl(e){let t=O.useRef(e);return O.useEffect(()=>{t.current=e}),O.useMemo(()=>(...e)=>t.current?.(...e),[])}var ws="dismissableLayer.update",wc=O.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),wd=O.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:a,onFocusOutside:i,onInteractOutside:o,onDismiss:l,...s}=e,c=O.useContext(wc),[d,u]=O.useState(null),f=d?.ownerDocument??globalThis?.document,[,m]=O.useState({}),h=(0,we.useComposedRefs)(t,e=>u(e)),p=Array.from(c.layers),[g]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),x=p.indexOf(g),v=d?p.indexOf(d):-1,b=c.layersWithOutsidePointerEventsDisabled.size>0,y=v>=x,w=function(e,t=globalThis?.document){let n=wl(e),r=O.useRef(!1),a=O.useRef(()=>{});return O.useEffect(()=>{let e=e=>{if(e.target&&!r.current){let r=function(){wf("dismissableLayer.pointerDownOutside",n,i,{discrete:!0})},i={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",a.current),a.current=r,t.addEventListener("click",a.current,{once:!0})):r()}else t.removeEventListener("click",a.current);r.current=!1},i=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(i),t.removeEventListener("pointerdown",e),t.removeEventListener("click",a.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}(e=>{let t=e.target,n=[...c.branches].some(e=>e.contains(t));y&&!n&&(a?.(e),o?.(e),e.defaultPrevented||l?.())},f),j=function(e,t=globalThis?.document){let n=wl(e),r=O.useRef(!1);return O.useEffect(()=>{let e=e=>{e.target&&!r.current&&wf("dismissableLayer.focusOutside",n,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}(e=>{let t=e.target;![...c.branches].some(e=>e.contains(t))&&(i?.(e),o?.(e),e.defaultPrevented||l?.())},f);return!function(e,t=globalThis?.document){let n=wl(e);O.useEffect(()=>{let e=e=>{"Escape"===e.key&&n(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})},[n,t])}(e=>{v===c.layers.size-1&&(r?.(e),!e.defaultPrevented&&l&&(e.preventDefault(),l()))},f),O.useEffect(()=>{if(d)return n&&(0===c.layersWithOutsidePointerEventsDisabled.size&&(EP=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(d)),c.layers.add(d),wu(),()=>{n&&1===c.layersWithOutsidePointerEventsDisabled.size&&(f.body.style.pointerEvents=EP)}},[d,f,n,c]),O.useEffect(()=>()=>{d&&(c.layers.delete(d),c.layersWithOutsidePointerEventsDisabled.delete(d),wu())},[d,c]),O.useEffect(()=>{let e=()=>m({});return document.addEventListener(ws,e),()=>document.removeEventListener(ws,e)},[]),(0,I.jsx)(wi.div,{...s,ref:h,style:{pointerEvents:b?y?"auto":"none":void 0,...e.style},onFocusCapture:y9(e.onFocusCapture,j.onFocusCapture),onBlurCapture:y9(e.onBlurCapture,j.onBlurCapture),onPointerDownCapture:y9(e.onPointerDownCapture,w.onPointerDownCapture)})});function wu(){let e=new CustomEvent(ws);document.dispatchEvent(e)}function wf(e,t,n,{discrete:r}){let a=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&a.addEventListener(e,t,{once:!0}),r?wo(a,i):a.dispatchEvent(i)}wd.displayName="DismissableLayer",O.forwardRef((e,t)=>{let n=O.useContext(wc),r=O.useRef(null),a=(0,we.useComposedRefs)(t,r);return O.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,I.jsx)(wi.div,{...e,ref:a})}).displayName="DismissableLayerBranch";var wm=0;function wh(){O.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??wp()),document.body.insertAdjacentElement("beforeend",e[1]??wp()),wm++,()=>{1===wm&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),wm--}},[])}function wp(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var wg="focusScope.autoFocusOnMount",wx="focusScope.autoFocusOnUnmount",wv={bubbles:!1,cancelable:!0},wb=O.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:a,onUnmountAutoFocus:i,...o}=e,[l,s]=O.useState(null),c=wl(a),d=wl(i),u=O.useRef(null),f=(0,we.useComposedRefs)(t,e=>s(e)),m=O.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;O.useEffect(()=>{if(r){let e=function(e){if(m.paused||!l)return;let t=e.target;l.contains(t)?u.current=t:wj(u.current,{select:!0})},t=function(e){if(m.paused||!l)return;let t=e.relatedTarget;null!==t&&(l.contains(t)||wj(u.current,{select:!0}))};document.addEventListener("focusin",e),document.addEventListener("focusout",t);let n=new MutationObserver(function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&wj(l)});return l&&n.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),n.disconnect()}}},[r,l,m.paused]),O.useEffect(()=>{if(l){wk.add(m);let e=document.activeElement;if(!l.contains(e)){let t=new CustomEvent(wg,wv);l.addEventListener(wg,c),l.dispatchEvent(t),t.defaultPrevented||(function(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(wj(r,{select:t}),document.activeElement!==n)return}(wy(l).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&wj(l))}return()=>{l.removeEventListener(wg,c),setTimeout(()=>{let t=new CustomEvent(wx,wv);l.addEventListener(wx,d),l.dispatchEvent(t),t.defaultPrevented||wj(e??document.body,{select:!0}),l.removeEventListener(wx,d),wk.remove(m)},0)}}},[l,c,d,m]);let h=O.useCallback(e=>{if(!n&&!r||m.paused)return;let t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,a=document.activeElement;if(t&&a){var i;let t,r=e.currentTarget,[o,l]=[ww(t=wy(i=r),i),ww(t.reverse(),i)];o&&l?e.shiftKey||a!==l?e.shiftKey&&a===o&&(e.preventDefault(),n&&wj(l,{select:!0})):(e.preventDefault(),n&&wj(o,{select:!0})):a===r&&e.preventDefault()}},[n,r,m.paused]);return(0,I.jsx)(wi.div,{tabIndex:-1,...o,ref:f,onKeyDown:h})});function wy(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function ww(e,t){for(let n of e)if(!function(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===t||e!==t);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}(n,{upTo:t}))return n}function wj(e,{select:t=!1}={}){if(e&&e.focus){var n;let r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&(n=e)instanceof HTMLInputElement&&"select"in n&&t&&e.select()}}wb.displayName="FocusScope";var wk=(d=[],{add(e){let t=d[0];e!==t&&t?.pause(),(d=wN(d,e)).unshift(e)},remove(e){d=wN(d,e),d[0]?.resume()}});function wN(e,t){let n=[...e],r=n.indexOf(t);return -1!==r&&n.splice(r,1),n}var wC=globalThis?.document?O.useLayoutEffect:()=>{},wS=O[" useId ".trim().toString()]||(()=>void 0),wM=0;function wE(e){let[t,n]=O.useState(wS());return wC(()=>{e||n(e=>e??String(wM++))},[e]),e||(t?`radix-${t}`:"")}let wI=["top","right","bottom","left"],wP=Math.min,wO=Math.max,wz=Math.round,wA=Math.floor,wT=e=>({x:e,y:e}),wR={left:"right",right:"left",bottom:"top",top:"bottom"};function w_(e,t){return"function"==typeof e?e(t):e}function wD(e){return e.split("-")[0]}function wL(e){return e.split("-")[1]}function w$(e){return"x"===e?"y":"x"}function wF(e){return"y"===e?"height":"width"}function wB(e){let t=e[0];return"t"===t||"b"===t?"y":"x"}function wV(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}let wH=["left","right"],wU=["right","left"],wq=["top","bottom"],wW=["bottom","top"];function wK(e){let t=wD(e);return wR[t]+e.slice(t.length)}function wG(e){return"number"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function wX(e){let{x:t,y:n,width:r,height:a}=e;return{width:r,height:a,top:n,left:t,right:t+r,bottom:n+a,x:t,y:n}}function wY(e,t,n){let r,{reference:a,floating:i}=e,o=wB(t),l=w$(wB(t)),s=wF(l),c=wD(t),d="y"===o,u=a.x+a.width/2-i.width/2,f=a.y+a.height/2-i.height/2,m=a[s]/2-i[s]/2;switch(c){case"top":r={x:u,y:a.y-i.height};break;case"bottom":r={x:u,y:a.y+a.height};break;case"right":r={x:a.x+a.width,y:f};break;case"left":r={x:a.x-i.width,y:f};break;default:r={x:a.x,y:a.y}}switch(wL(t)){case"start":r[l]-=m*(n&&d?-1:1);break;case"end":r[l]+=m*(n&&d?-1:1)}return r}async function wZ(e,t){var n;void 0===t&&(t={});let{x:r,y:a,platform:i,rects:o,elements:l,strategy:s}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:u="floating",altBoundary:f=!1,padding:m=0}=w_(t,e),h=wG(m),p=l[f?"floating"===u?"reference":"floating":u],g=wX(await i.getClippingRect({element:null==(n=await (null==i.isElement?void 0:i.isElement(p)))||n?p:p.contextElement||await (null==i.getDocumentElement?void 0:i.getDocumentElement(l.floating)),boundary:c,rootBoundary:d,strategy:s})),x="floating"===u?{x:r,y:a,width:o.floating.width,height:o.floating.height}:o.reference,v=await (null==i.getOffsetParent?void 0:i.getOffsetParent(l.floating)),b=await (null==i.isElement?void 0:i.isElement(v))&&await (null==i.getScale?void 0:i.getScale(v))||{x:1,y:1},y=wX(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:x,offsetParent:v,strategy:s}):x);return{top:(g.top-y.top+h.top)/b.y,bottom:(y.bottom-g.bottom+h.bottom)/b.y,left:(g.left-y.left+h.left)/b.x,right:(y.right-g.right+h.right)/b.x}}let wJ=async(e,t,n)=>{let{placement:r="bottom",strategy:a="absolute",middleware:i=[],platform:o}=n,l=o.detectOverflow?o:{...o,detectOverflow:wZ},s=await (null==o.isRTL?void 0:o.isRTL(t)),c=await o.getElementRects({reference:e,floating:t,strategy:a}),{x:d,y:u}=wY(c,r,s),f=r,m=0,h={};for(let n=0;n<i.length;n++){let p=i[n];if(!p)continue;let{name:g,fn:x}=p,{x:v,y:b,data:y,reset:w}=await x({x:d,y:u,initialPlacement:r,placement:f,strategy:a,middlewareData:h,rects:c,platform:l,elements:{reference:e,floating:t}});d=null!=v?v:d,u=null!=b?b:u,h[g]={...h[g],...y},w&&m<50&&(m++,"object"==typeof w&&(w.placement&&(f=w.placement),w.rects&&(c=!0===w.rects?await o.getElementRects({reference:e,floating:t,strategy:a}):w.rects),{x:d,y:u}=wY(c,f,s)),n=-1)}return{x:d,y:u,placement:f,strategy:a,middlewareData:h}};function wQ(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function w0(e){return wI.some(t=>e[t]>=0)}let w1=new Set(["left","top"]);async function w2(e,t){let{placement:n,platform:r,elements:a}=e,i=await (null==r.isRTL?void 0:r.isRTL(a.floating)),o=wD(n),l=wL(n),s="y"===wB(n),c=w1.has(o)?-1:1,d=i&&s?-1:1,u=w_(t,e),{mainAxis:f,crossAxis:m,alignmentAxis:h}="number"==typeof u?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return l&&"number"==typeof h&&(m="end"===l?-1*h:h),s?{x:m*d,y:f*c}:{x:f*c,y:m*d}}function w5(){return"u">typeof window}function w3(e){return w8(e)?(e.nodeName||"").toLowerCase():"#document"}function w4(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function w6(e){var t;return null==(t=(w8(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function w8(e){return!!w5()&&(e instanceof Node||e instanceof w4(e).Node)}function w7(e){return!!w5()&&(e instanceof Element||e instanceof w4(e).Element)}function w9(e){return!!w5()&&(e instanceof HTMLElement||e instanceof w4(e).HTMLElement)}function je(e){return!(!w5()||"u"<typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof w4(e).ShadowRoot)}function jt(e){let{overflow:t,overflowX:n,overflowY:r,display:a}=jc(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&"inline"!==a&&"contents"!==a}function jn(e){try{if(e.matches(":popover-open"))return!0}catch(e){}try{return e.matches(":modal")}catch(e){return!1}}let jr=/transform|translate|scale|rotate|perspective|filter/,ja=/paint|layout|strict|content/,ji=e=>!!e&&"none"!==e;function jo(e){let t=w7(e)?jc(e):e;return ji(t.transform)||ji(t.translate)||ji(t.scale)||ji(t.rotate)||ji(t.perspective)||!jl()&&(ji(t.backdropFilter)||ji(t.filter))||jr.test(t.willChange||"")||ja.test(t.contain||"")}function jl(){return null==t&&(t="u">typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),t}function js(e){return/^(html|body|#document)$/.test(w3(e))}function jc(e){return w4(e).getComputedStyle(e)}function jd(e){return w7(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ju(e){if("html"===w3(e))return e;let t=e.assignedSlot||e.parentNode||je(e)&&e.host||w6(e);return je(t)?t.host:t}function jf(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);let a=function e(t){let n=ju(t);return js(n)?t.ownerDocument?t.ownerDocument.body:t.body:w9(n)&&jt(n)?n:e(n)}(e),i=a===(null==(r=e.ownerDocument)?void 0:r.body),o=w4(a);if(!i)return t.concat(a,jf(a,[],n));{let e=jm(o);return t.concat(o,o.visualViewport||[],jt(a)?a:[],e&&n?jf(e):[])}}function jm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function jh(e){let t=jc(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,a=w9(e),i=a?e.offsetWidth:n,o=a?e.offsetHeight:r,l=wz(n)!==i||wz(r)!==o;return l&&(n=i,r=o),{width:n,height:r,$:l}}function jp(e){return w7(e)?e:e.contextElement}function jg(e){let t=jp(e);if(!w9(t))return wT(1);let n=t.getBoundingClientRect(),{width:r,height:a,$:i}=jh(t),o=(i?wz(n.width):n.width)/r,l=(i?wz(n.height):n.height)/a;return o&&Number.isFinite(o)||(o=1),l&&Number.isFinite(l)||(l=1),{x:o,y:l}}let jx=wT(0);function jv(e){let t=w4(e);return jl()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:jx}function jb(e,t,n,r){var a;void 0===t&&(t=!1),void 0===n&&(n=!1);let i=e.getBoundingClientRect(),o=jp(e),l=wT(1);t&&(r?w7(r)&&(l=jg(r)):l=jg(e));let s=(void 0===(a=n)&&(a=!1),r&&(!a||r===w4(o))&&a)?jv(o):wT(0),c=(i.left+s.x)/l.x,d=(i.top+s.y)/l.y,u=i.width/l.x,f=i.height/l.y;if(o){let e=w4(o),t=r&&w7(r)?w4(r):r,n=e,a=jm(n);for(;a&&r&&t!==n;){let e=jg(a),t=a.getBoundingClientRect(),r=jc(a),i=t.left+(a.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(a.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,d*=e.y,u*=e.x,f*=e.y,c+=i,d+=o,a=jm(n=w4(a))}}return wX({width:u,height:f,x:c,y:d})}function jy(e,t){let n=jd(e).scrollLeft;return t?t.left+n:jb(w6(e)).left+n}function jw(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-jy(e,n),y:n.top+t.scrollTop}}function jj(e,t,n){var r;let a;if("viewport"===t)a=function(e,t){let n=w4(e),r=w6(e),a=n.visualViewport,i=r.clientWidth,o=r.clientHeight,l=0,s=0;if(a){i=a.width,o=a.height;let e=jl();(!e||e&&"fixed"===t)&&(l=a.offsetLeft,s=a.offsetTop)}let c=jy(r);if(c<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),a="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-a);o<=25&&(i-=o)}else c<=25&&(i+=c);return{width:i,height:o,x:l,y:s}}(e,n);else if("document"===t){let t,n,i,o,l,s,c;r=w6(e),t=w6(r),n=jd(r),i=r.ownerDocument.body,o=wO(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),l=wO(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight),s=-n.scrollLeft+jy(r),c=-n.scrollTop,"rtl"===jc(i).direction&&(s+=wO(t.clientWidth,i.clientWidth)-o),a={width:o,height:l,x:s,y:c}}else if(w7(t)){let e,r,i,o,l,s;r=(e=jb(t,!0,"fixed"===n)).top+t.clientTop,i=e.left+t.clientLeft,o=w9(t)?jg(t):wT(1),l=t.clientWidth*o.x,s=t.clientHeight*o.y,a={width:l,height:s,x:i*o.x,y:r*o.y}}else{let n=jv(e);a={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return wX(a)}function jk(e){return"static"===jc(e).position}function jN(e,t){if(!w9(e)||"fixed"===jc(e).position)return null;if(t)return t(e);let n=e.offsetParent;return w6(e)===n&&(n=n.ownerDocument.body),n}function jC(e,t){var n;let r=w4(e);if(jn(e))return r;if(!w9(e)){let t=ju(e);for(;t&&!js(t);){if(w7(t)&&!jk(t))return t;t=ju(t)}return r}let a=jN(e,t);for(;a&&(n=a,/^(table|td|th)$/.test(w3(n)))&&jk(a);)a=jN(a,t);return a&&js(a)&&jk(a)&&!jo(a)?r:a||function(e){let t=ju(e);for(;w9(t)&&!js(t);){if(jo(t))return t;if(jn(t))break;t=ju(t)}return null}(e)||r}let jS=async function(e){let t=this.getOffsetParent||jC,n=this.getDimensions,r=await n(e.floating);return{reference:function(e,t,n){let r=w9(t),a=w6(t),i="fixed"===n,o=jb(e,!0,i,t),l={scrollLeft:0,scrollTop:0},s=wT(0);if(r||!r&&!i)if(("body"!==w3(t)||jt(a))&&(l=jd(t)),r){let e=jb(t,!0,i,t);s.x=e.x+t.clientLeft,s.y=e.y+t.clientTop}else a&&(s.x=jy(a));i&&!r&&a&&(s.x=jy(a));let c=!a||r||i?wT(0):jw(a,l);return{x:o.left+l.scrollLeft-s.x-c.x,y:o.top+l.scrollTop-s.y-c.y,width:o.width,height:o.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},jM={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:a}=e,i="fixed"===a,o=w6(r),l=!!t&&jn(t.floating);if(r===o||l&&i)return n;let s={scrollLeft:0,scrollTop:0},c=wT(1),d=wT(0),u=w9(r);if((u||!u&&!i)&&(("body"!==w3(r)||jt(o))&&(s=jd(r)),u)){let e=jb(r);c=jg(r),d.x=e.x+r.clientLeft,d.y=e.y+r.clientTop}let f=!o||u||i?wT(0):jw(o,s);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-s.scrollLeft*c.x+d.x+f.x,y:n.y*c.y-s.scrollTop*c.y+d.y+f.y}},getDocumentElement:w6,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:a}=e,i=[..."clippingAncestors"===n?jn(t)?[]:function(e,t){let n=t.get(e);if(n)return n;let r=jf(e,[],!1).filter(e=>w7(e)&&"body"!==w3(e)),a=null,i="fixed"===jc(e).position,o=i?ju(e):e;for(;w7(o)&&!js(o);){let t=jc(o),n=jo(o);n||"fixed"!==t.position||(a=null),(i?n||a:!(!n&&"static"===t.position&&a&&("absolute"===a.position||"fixed"===a.position)||jt(o)&&!n&&function e(t,n){let r=ju(t);return!(r===n||!w7(r)||js(r))&&("fixed"===jc(r).position||e(r,n))}(e,o)))?a=t:r=r.filter(e=>e!==o),o=ju(o)}return t.set(e,r),r}(t,this._c):[].concat(n),r],o=jj(t,i[0],a),l=o.top,s=o.right,c=o.bottom,d=o.left;for(let e=1;e<i.length;e++){let n=jj(t,i[e],a);l=wO(n.top,l),s=wP(n.right,s),c=wP(n.bottom,c),d=wO(n.left,d)}return{width:s-d,height:c-l,x:d,y:l}},getOffsetParent:jC,getElementRects:jS,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:n}=jh(e);return{width:t,height:n}},getScale:jg,isElement:w7,isRTL:function(e){return"rtl"===jc(e).direction}};function jE(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}let jI=e=>({name:"arrow",options:e,async fn(t){let{x:n,y:r,placement:a,rects:i,platform:o,elements:l,middlewareData:s}=t,{element:c,padding:d=0}=w_(e,t)||{};if(null==c)return{};let u=wG(d),f={x:n,y:r},m=w$(wB(a)),h=wF(m),p=await o.getDimensions(c),g="y"===m,x=g?"clientHeight":"clientWidth",v=i.reference[h]+i.reference[m]-f[m]-i.floating[h],b=f[m]-i.reference[m],y=await (null==o.getOffsetParent?void 0:o.getOffsetParent(c)),w=y?y[x]:0;w&&await (null==o.isElement?void 0:o.isElement(y))||(w=l.floating[x]||i.floating[h]);let j=w/2-p[h]/2-1,k=wP(u[g?"top":"left"],j),N=wP(u[g?"bottom":"right"],j),C=w-p[h]-N,S=w/2-p[h]/2+(v/2-b/2),M=wO(k,wP(S,C)),E=!s.arrow&&null!=wL(a)&&S!==M&&i.reference[h]/2-(S<k?k:N)-p[h]/2<0,I=E?S<k?S-k:S-C:0;return{[m]:f[m]+I,data:{[m]:M,centerOffset:S-M-I,...E&&{alignmentOffset:I}},reset:E}}});var jP="u">typeof document?O.useLayoutEffect:function(){};function jO(e,t){let n,r,a;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((n=e.length)!==t.length)return!1;for(r=n;0!=r--;)if(!jO(e[r],t[r]))return!1;return!0}if((n=(a=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!({}).hasOwnProperty.call(t,a[r]))return!1;for(r=n;0!=r--;){let n=a[r];if(("_owner"!==n||!e.$$typeof)&&!jO(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function jz(e){return"u"<typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function jA(e,t){let n=jz(e);return Math.round(t*n)/n}function jT(e){let t=O.useRef(e);return jP(()=>{t.current=e}),t}var jR=O.forwardRef((e,t)=>{let{children:n,width:r=10,height:a=5,...i}=e;return(0,I.jsx)(wi.svg,{...i,ref:t,width:r,height:a,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:(0,I.jsx)("polygon",{points:"0,0 30,0 15,10"})})});function j_(e){let[t,n]=O.useState(void 0);return wC(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let r,a;if(!Array.isArray(t)||!t.length)return;let i=t[0];if("borderBoxSize"in i){let e=i.borderBoxSize,t=Array.isArray(e)?e[0]:e;r=t.inlineSize,a=t.blockSize}else r=e.offsetWidth,a=e.offsetHeight;n({width:r,height:a})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}n(void 0)},[e]),t}jR.displayName="Arrow";var jD="Popper",[jL,j$]=wt(jD),[jF,jB]=jL(jD),jV=e=>{let{__scopePopper:t,children:n}=e,[r,a]=O.useState(null);return(0,I.jsx)(jF,{scope:t,anchor:r,onAnchorChange:a,children:n})};jV.displayName=jD;var jH="PopperAnchor",jU=O.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...a}=e,i=jB(jH,n),o=O.useRef(null),l=(0,we.useComposedRefs)(t,o),s=O.useRef(null);return O.useEffect(()=>{let e=s.current;s.current=r?.current||o.current,e!==s.current&&i.onAnchorChange(s.current)}),r?null:(0,I.jsx)(wi.div,{...a,ref:l})});jU.displayName=jH;var jq="PopperContent",[jW,jK]=jL(jq),jG=O.forwardRef((e,t)=>{var n,r,a,i,o,l,s,c,d,u,f,m,h,p,g,x,v,b,y,w,j;let k,N,C,S,M,E,{__scopePopper:P,side:z="bottom",sideOffset:A=0,align:T="center",alignOffset:R=0,arrowPadding:_=0,avoidCollisions:D=!0,collisionBoundary:L=[],collisionPadding:$=0,sticky:F="partial",hideWhenDetached:B=!1,updatePositionStrategy:V="optimized",onPlaced:H,...U}=e,q=jB(jq,P),[W,K]=O.useState(null),G=(0,we.useComposedRefs)(t,e=>K(e)),[X,Y]=O.useState(null),Z=j_(X),J=Z?.width??0,Q=Z?.height??0,ee="number"==typeof $?$:{top:0,right:0,bottom:0,left:0,...$},et=Array.isArray(L)?L:[L],en=et.length>0,er={padding:ee,boundary:et.filter(jJ),altBoundary:en},{refs:ea,floatingStyles:ei,placement:eo,isPositioned:el,middlewareData:es}=function(e){void 0===e&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:a,elements:{reference:i,floating:o}={},transform:l=!0,whileElementsMounted:s,open:c}=e,[d,u]=O.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,m]=O.useState(r);jO(f,r)||m(r);let[h,p]=O.useState(null),[g,x]=O.useState(null),v=O.useCallback(e=>{e!==j.current&&(j.current=e,p(e))},[]),b=O.useCallback(e=>{e!==k.current&&(k.current=e,x(e))},[]),y=i||h,w=o||g,j=O.useRef(null),k=O.useRef(null),N=O.useRef(d),C=null!=s,S=jT(s),M=jT(a),E=jT(c),I=O.useCallback(()=>{var e,r;let a,i,o;if(!j.current||!k.current)return;let l={placement:t,strategy:n,middleware:f};M.current&&(l.platform=M.current),(e=j.current,r=k.current,a=new Map,o={...(i={platform:jM,...l}).platform,_c:a},wJ(e,r,{...i,platform:o})).then(e=>{let t={...e,isPositioned:!1!==E.current};P.current&&!jO(N.current,t)&&(N.current=t,gS.flushSync(()=>{u(t)}))})},[f,t,n,M,E]);jP(()=>{!1===c&&N.current.isPositioned&&(N.current.isPositioned=!1,u(e=>({...e,isPositioned:!1})))},[c]);let P=O.useRef(!1);jP(()=>(P.current=!0,()=>{P.current=!1}),[]),jP(()=>{if(y&&(j.current=y),w&&(k.current=w),y&&w){if(S.current)return S.current(y,w,I);I()}},[y,w,I,S,C]);let z=O.useMemo(()=>({reference:j,floating:k,setReference:v,setFloating:b}),[v,b]),A=O.useMemo(()=>({reference:y,floating:w}),[y,w]),T=O.useMemo(()=>{let e={position:n,left:0,top:0};if(!A.floating)return e;let t=jA(A.floating,d.x),r=jA(A.floating,d.y);return l?{...e,transform:"translate("+t+"px, "+r+"px)",...jz(A.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:r}},[n,l,A.floating,d.x,d.y]);return O.useMemo(()=>({...d,update:I,refs:z,elements:A,floatingStyles:T}),[d,I,z,A,T])}({strategy:"fixed",placement:z+("center"!==T?"-"+T:""),whileElementsMounted:(...e)=>(function(e,t,n,r){let a;void 0===r&&(r={});let{ancestorScroll:i=!0,ancestorResize:o=!0,elementResize:l="function"==typeof ResizeObserver,layoutShift:s="function"==typeof IntersectionObserver,animationFrame:c=!1}=r,d=jp(e),u=i||o?[...d?jf(d):[],...t?jf(t):[]]:[];u.forEach(e=>{i&&e.addEventListener("scroll",n,{passive:!0}),o&&e.addEventListener("resize",n)});let f=d&&s?function(e,t){let n,r=null,a=w6(e);function i(){var e;clearTimeout(n),null==(e=r)||e.disconnect(),r=null}return!function o(l,s){void 0===l&&(l=!1),void 0===s&&(s=1),i();let c=e.getBoundingClientRect(),{left:d,top:u,width:f,height:m}=c;if(l||t(),!f||!m)return;let h={rootMargin:-wA(u)+"px "+-wA(a.clientWidth-(d+f))+"px "+-wA(a.clientHeight-(u+m))+"px "+-wA(d)+"px",threshold:wO(0,wP(1,s))||1},p=!0;function g(t){let r=t[0].intersectionRatio;if(r!==s){if(!p)return o();r?o(!1,r):n=setTimeout(()=>{o(!1,1e-7)},1e3)}1!==r||jE(c,e.getBoundingClientRect())||o(),p=!1}try{r=new IntersectionObserver(g,{...h,root:a.ownerDocument})}catch(e){r=new IntersectionObserver(g,h)}r.observe(e)}(!0),i}(d,n):null,m=-1,h=null;l&&(h=new ResizeObserver(e=>{let[r]=e;r&&r.target===d&&h&&t&&(h.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var e;null==(e=h)||e.observe(t)})),n()}),d&&!c&&h.observe(d),t&&h.observe(t));let p=c?jb(e):null;return c&&function t(){let r=jb(e);p&&!jE(p,r)&&n(),p=r,a=requestAnimationFrame(t)}(),n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener("scroll",n),o&&e.removeEventListener("resize",n)}),null==f||f(),null==(e=h)||e.disconnect(),h=null,c&&cancelAnimationFrame(a)}})(...e,{animationFrame:"always"===V}),elements:{reference:q.anchor},middleware:[{name:(k={name:"offset",options:a=n={mainAxis:A+Q,alignmentAxis:R},async fn(e){var t,n;let{x:r,y:i,placement:o,middlewareData:l}=e,s=await w2(e,a);return o===(null==(t=l.offset)?void 0:t.placement)&&null!=(n=l.arrow)&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:o}}}}).name,fn:k.fn,options:[n,r]},D&&{name:(N={name:"shift",options:d=s={mainAxis:!0,crossAxis:!1,limiter:"partial"===F?{fn:(void 0===(l=i)&&(l={}),{options:l,fn(e){let{x:t,y:n,placement:r,rects:a,middlewareData:i}=e,{offset:o=0,mainAxis:s=!0,crossAxis:c=!0}=w_(l,e),d={x:t,y:n},u=wB(r),f=w$(u),m=d[f],h=d[u],p=w_(o,e),g="number"==typeof p?{mainAxis:p,crossAxis:0}:{mainAxis:0,crossAxis:0,...p};if(s){let e="y"===f?"height":"width",t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;m<t?m=t:m>n&&(m=n)}if(c){var x,v;let e="y"===f?"width":"height",t=w1.has(wD(r)),n=a.reference[u]-a.floating[e]+(t&&(null==(x=i.offset)?void 0:x[u])||0)+(t?0:g.crossAxis),o=a.reference[u]+a.reference[e]+(t?0:(null==(v=i.offset)?void 0:v[u])||0)-(t?g.crossAxis:0);h<n?h=n:h>o&&(h=o)}return{[f]:m,[u]:h}}}).fn,options:[i,o]}:void 0,...er},async fn(e){let{x:t,y:n,placement:r,platform:a}=e,{mainAxis:i=!0,crossAxis:o=!1,limiter:l={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...s}=w_(d,e),c={x:t,y:n},u=await a.detectOverflow(e,s),f=wB(wD(r)),m=w$(f),h=c[m],p=c[f];if(i){let e="y"===m?"top":"left",t="y"===m?"bottom":"right",n=h+u[e],r=h-u[t];h=wO(n,wP(h,r))}if(o){let e="y"===f?"top":"left",t="y"===f?"bottom":"right",n=p+u[e],r=p-u[t];p=wO(n,wP(p,r))}let g=l.fn({...e,[m]:h,[f]:p});return{...g,data:{x:g.x-t,y:g.y-n,enabled:{[m]:i,[f]:o}}}}}).name,fn:N.fn,options:[s,c]},D&&{name:(C={name:"flip",options:m=u={...er},async fn(e){var t,n,r,a,i,o,l,s;let c,d,u,{placement:f,middlewareData:h,rects:p,initialPlacement:g,platform:x,elements:v}=e,{mainAxis:b=!0,crossAxis:y=!0,fallbackPlacements:w,fallbackStrategy:j="bestFit",fallbackAxisSideDirection:k="none",flipAlignment:N=!0,...C}=w_(m,e);if(null!=(t=h.arrow)&&t.alignmentOffset)return{};let S=wD(f),M=wB(g),E=wD(g)===g,I=await (null==x.isRTL?void 0:x.isRTL(v.floating)),P=w||(E||!N?[wK(g)]:(c=wK(g),[wV(g),c,wV(c)])),O="none"!==k;!w&&O&&P.push(...(d=wL(g),u=function(e,t,n){switch(e){case"top":case"bottom":if(n)return t?wU:wH;return t?wH:wU;case"left":case"right":return t?wq:wW;default:return[]}}(wD(g),"start"===k,I),d&&(u=u.map(e=>e+"-"+d),N&&(u=u.concat(u.map(wV)))),u));let z=[g,...P],A=await x.detectOverflow(e,C),T=[],R=(null==(n=h.flip)?void 0:n.overflows)||[];if(b&&T.push(A[S]),y){let e,t,n,r,a=(o=f,l=p,void 0===(s=I)&&(s=!1),e=wL(o),n=wF(t=w$(wB(o))),r="x"===t?e===(s?"end":"start")?"right":"left":"start"===e?"bottom":"top",l.reference[n]>l.floating[n]&&(r=wK(r)),[r,wK(r)]);T.push(A[a[0]],A[a[1]])}if(R=[...R,{placement:f,overflows:T}],!T.every(e=>e<=0)){let e=((null==(r=h.flip)?void 0:r.index)||0)+1,t=z[e];if(t&&("alignment"!==y||M===wB(t)||R.every(e=>wB(e.placement)!==M||e.overflows[0]>0)))return{data:{index:e,overflows:R},reset:{placement:t}};let n=null==(a=R.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:a.placement;if(!n)switch(j){case"bestFit":{let e=null==(i=R.filter(e=>{if(O){let t=wB(e.placement);return t===M||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:i[0];e&&(n=e);break}case"initialPlacement":n=g}if(f!==n)return{reset:{placement:n}}}return{}}}).name,fn:C.fn,options:[u,f]},{name:(S={name:"size",options:g=h={...er,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:a,height:i}=t.reference,o=e.floating.style;o.setProperty("--radix-popper-available-width",`${n}px`),o.setProperty("--radix-popper-available-height",`${r}px`),o.setProperty("--radix-popper-anchor-width",`${a}px`),o.setProperty("--radix-popper-anchor-height",`${i}px`)}},async fn(e){var t,n;let r,a,{placement:i,rects:o,platform:l,elements:s}=e,{apply:c=()=>{},...d}=w_(g,e),u=await l.detectOverflow(e,d),f=wD(i),m=wL(i),h="y"===wB(i),{width:p,height:x}=o.floating;"top"===f||"bottom"===f?(r=f,a=m===(await (null==l.isRTL?void 0:l.isRTL(s.floating))?"start":"end")?"left":"right"):(a=f,r="end"===m?"top":"bottom");let v=x-u.top-u.bottom,b=p-u.left-u.right,y=wP(x-u[r],v),w=wP(p-u[a],b),j=!e.middlewareData.shift,k=y,N=w;if(null!=(t=e.middlewareData.shift)&&t.enabled.x&&(N=b),null!=(n=e.middlewareData.shift)&&n.enabled.y&&(k=v),j&&!m){let e=wO(u.left,0),t=wO(u.right,0),n=wO(u.top,0),r=wO(u.bottom,0);h?N=p-2*(0!==e||0!==t?e+t:wO(u.left,u.right)):k=x-2*(0!==n||0!==r?n+r:wO(u.top,u.bottom))}await c({...e,availableWidth:N,availableHeight:k});let C=await l.getDimensions(s.floating);return p!==C.width||x!==C.height?{reset:{rects:!0}}:{}}}).name,fn:S.fn,options:[h,p]},X&&{name:(M={name:"arrow",options:b=x={element:X,padding:_},fn(e){let{element:t,padding:n}="function"==typeof b?b(e):b;return t&&({}).hasOwnProperty.call(t,"current")?null!=t.current?jI({element:t.current,padding:n}).fn(e):{}:t?jI({element:t,padding:n}).fn(e):{}}}).name,fn:M.fn,options:[x,v]},jQ({arrowWidth:J,arrowHeight:Q}),B&&{name:(E={name:"hide",options:j=y={strategy:"referenceHidden",...er},async fn(e){let{rects:t,platform:n}=e,{strategy:r="referenceHidden",...a}=w_(j,e);switch(r){case"referenceHidden":{let r=wQ(await n.detectOverflow(e,{...a,elementContext:"reference"}),t.reference);return{data:{referenceHiddenOffsets:r,referenceHidden:w0(r)}}}case"escaped":{let r=wQ(await n.detectOverflow(e,{...a,altBoundary:!0}),t.floating);return{data:{escapedOffsets:r,escaped:w0(r)}}}default:return{}}}}).name,fn:E.fn,options:[y,w]}]}),[ec,ed]=j0(eo),eu=wl(H);wC(()=>{el&&eu?.()},[el,eu]);let ef=es.arrow?.x,em=es.arrow?.y,eh=es.arrow?.centerOffset!==0,[ep,eg]=O.useState();return wC(()=>{W&&eg(window.getComputedStyle(W).zIndex)},[W]),(0,I.jsx)("div",{ref:ea.setFloating,"data-radix-popper-content-wrapper":"",style:{...ei,transform:el?ei.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ep,"--radix-popper-transform-origin":[es.transformOrigin?.x,es.transformOrigin?.y].join(" "),...es.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,I.jsx)(jW,{scope:P,placedSide:ec,onArrowChange:Y,arrowX:ef,arrowY:em,shouldHideArrow:eh,children:(0,I.jsx)(wi.div,{"data-side":ec,"data-align":ed,...U,ref:G,style:{...U.style,animation:el?void 0:"none"}})})})});jG.displayName=jq;var jX="PopperArrow",jY={top:"bottom",right:"left",bottom:"top",left:"right"},jZ=O.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,a=jK(jX,n),i=jY[a.placedSide];return(0,I.jsx)("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:(0,I.jsx)(jR,{...r,ref:t,style:{...r.style,display:"block"}})})});function jJ(e){return null!==e}jZ.displayName=jX;var jQ=e=>({name:"transformOrigin",options:e,fn(t){let{placement:n,rects:r,middlewareData:a}=t,i=a.arrow?.centerOffset!==0,o=i?0:e.arrowWidth,l=i?0:e.arrowHeight,[s,c]=j0(n),d={start:"0%",center:"50%",end:"100%"}[c],u=(a.arrow?.x??0)+o/2,f=(a.arrow?.y??0)+l/2,m="",h="";return"bottom"===s?(m=i?d:`${u}px`,h=`${-l}px`):"top"===s?(m=i?d:`${u}px`,h=`${r.floating.height+l}px`):"right"===s?(m=`${-l}px`,h=i?d:`${f}px`):"left"===s&&(m=`${r.floating.width+l}px`,h=i?d:`${f}px`),{data:{x:m,y:h}}}});function j0(e){let[t,n="center"]=e.split("-");return[t,n]}var j1=O.forwardRef((e,t)=>{let{container:n,...r}=e,[a,i]=O.useState(!1);wC(()=>i(!0),[]);let o=n||a&&globalThis?.document?.body;return o?gS.default.createPortal((0,I.jsx)(wi.div,{...r,ref:t}),o):null});j1.displayName="Portal";var j2=e=>{var t;let n,r,{present:a,children:i}=e,o=function(e){var t,n;let[r,a]=O.useState(),i=O.useRef(null),o=O.useRef(e),l=O.useRef("none"),[s,c]=(t=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},O.useReducer((e,t)=>n[e][t]??e,t));return O.useEffect(()=>{let e=j5(i.current);l.current="mounted"===s?e:"none"},[s]),wC(()=>{let t=i.current,n=o.current;if(n!==e){let r=l.current,a=j5(t);e?c("MOUNT"):"none"===a||t?.display==="none"?c("UNMOUNT"):n&&r!==a?c("ANIMATION_OUT"):c("UNMOUNT"),o.current=e}},[e,c]),wC(()=>{if(r){let e,t=r.ownerDocument.defaultView??window,n=n=>{let a=j5(i.current).includes(CSS.escape(n.animationName));if(n.target===r&&a&&(c("ANIMATION_END"),!o.current)){let n=r.style.animationFillMode;r.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===r.style.animationFillMode&&(r.style.animationFillMode=n)})}},a=e=>{e.target===r&&(l.current=j5(i.current))};return r.addEventListener("animationstart",a),r.addEventListener("animationcancel",n),r.addEventListener("animationend",n),()=>{t.clearTimeout(e),r.removeEventListener("animationstart",a),r.removeEventListener("animationcancel",n),r.removeEventListener("animationend",n)}}c("ANIMATION_END")},[r,c]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:O.useCallback(e=>{i.current=e?getComputedStyle(e):null,a(e)},[])}}(a),l="function"==typeof i?i({present:o.isPresent}):O.Children.only(i),s=(0,we.useComposedRefs)(o.ref,(t=l,(r=(n=Object.getOwnPropertyDescriptor(t.props,"ref")?.get)&&"isReactWarning"in n&&n.isReactWarning)?t.ref:(r=(n=Object.getOwnPropertyDescriptor(t,"ref")?.get)&&"isReactWarning"in n&&n.isReactWarning)?t.props.ref:t.props.ref||t.ref));return"function"==typeof i||o.isPresent?O.cloneElement(l,{ref:s}):null};function j5(e){return e?.animationName||"none"}j2.displayName="Presence",O[" useEffectEvent ".trim().toString()],O[" useInsertionEffect ".trim().toString()];var j3=O[" useInsertionEffect ".trim().toString()]||wC;function j4({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[a,i,o]=function({defaultProp:e,onChange:t}){let[n,r]=O.useState(e),a=O.useRef(n),i=O.useRef(t);return j3(()=>{i.current=t},[t]),O.useEffect(()=>{a.current!==n&&(i.current?.(n),a.current=n)},[n,a]),[n,r,i]}({defaultProp:t,onChange:n}),l=void 0!==e,s=l?e:a;{let t=O.useRef(void 0!==e);O.useEffect(()=>{let e=t.current;if(e!==l){let t=l?"controlled":"uncontrolled";console.warn(`${r} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=l},[l,r])}return[s,O.useCallback(t=>{if(l){let n="function"==typeof t?t(e):t;n!==e&&o.current?.(n)}else i(t)},[l,e,i,o])]}Symbol("RADIX:SYNC_STATE");var j6=new WeakMap,j8=new WeakMap,j7={},j9=0,ke=function(e){return e&&(e.host||ke(e.parentNode))},kt=function(e,t,n,r){var a=(Array.isArray(e)?e:[e]).map(function(e){if(t.contains(e))return e;var n=ke(e);return n&&t.contains(n)?n:(console.error("aria-hidden",e,"in not contained inside",t,". Doing nothing"),null)}).filter(function(e){return!!e});j7[n]||(j7[n]=new WeakMap);var i=j7[n],o=[],l=new Set,s=new Set(a),c=function(e){!e||l.has(e)||(l.add(e),c(e.parentNode))};a.forEach(c);var d=function(e){!e||s.has(e)||Array.prototype.forEach.call(e.children,function(e){if(l.has(e))d(e);else try{var t=e.getAttribute(r),a=null!==t&&"false"!==t,s=(j6.get(e)||0)+1,c=(i.get(e)||0)+1;j6.set(e,s),i.set(e,c),o.push(e),1===s&&a&&j8.set(e,!0),1===c&&e.setAttribute(n,"true"),a||e.setAttribute(r,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return d(t),l.clear(),j9++,function(){o.forEach(function(e){var t=j6.get(e)-1,a=i.get(e)-1;j6.set(e,t),i.set(e,a),t||(j8.has(e)||e.removeAttribute(r),j8.delete(e)),a||e.removeAttribute(n)}),--j9||(j6=new WeakMap,j6=new WeakMap,j8=new WeakMap,j7={})}},kn=function(e,t,n){void 0===n&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),a=t||("u"<typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body);return a?(r.push.apply(r,Array.from(a.querySelectorAll("[aria-live], script"))),kt(r,a,n,"aria-hidden")):function(){return null}},kr=function(){return(kr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};function ka(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,r=Object.getOwnPropertySymbols(e);a<r.length;a++)0>t.indexOf(r[a])&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]]);return n}var ki=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),ko="width-before-scroll-bar";function kl(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var ks="u">typeof window?O.useLayoutEffect:O.useEffect,kc=new WeakMap,kd=(void 0===M2&&(M2={}),(void 0===M5&&(M5=function(e){return e}),M3=[],M4=!1,M6={read:function(){if(M4)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return M3.length?M3[M3.length-1]:null},useMedium:function(e){var t=M5(e,M4);return M3.push(t),function(){M3=M3.filter(function(e){return e!==t})}},assignSyncMedium:function(e){for(M4=!0;M3.length;){var t=M3;M3=[],t.forEach(e)}M3={push:function(t){return e(t)},filter:function(){return M3}}},assignMedium:function(e){M4=!0;var t=[];if(M3.length){var n=M3;M3=[],n.forEach(e),t=M3}var r=function(){var n=t;t=[],n.forEach(e)},a=function(){return Promise.resolve().then(r)};a(),M3={push:function(e){t.push(e),a()},filter:function(e){return t=t.filter(e),M3}}}}).options=kr({async:!0,ssr:!1},M2),M6),ku=function(){},kf=O.forwardRef(function(e,t){var n,r,a,i,o=O.useRef(null),l=O.useState({onScrollCapture:ku,onWheelCapture:ku,onTouchMoveCapture:ku}),s=l[0],c=l[1],d=e.forwardProps,u=e.children,f=e.className,m=e.removeScrollBar,h=e.enabled,p=e.shards,g=e.sideCar,x=e.noRelative,v=e.noIsolation,b=e.inert,y=e.allowPinchZoom,w=e.as,j=e.gapMode,k=ka(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),N=(n=[o,t],r=function(e){return n.forEach(function(t){return kl(t,e)})},(a=(0,O.useState)(function(){return{value:null,callback:r,facade:{get current(){return a.value},set current(value){var e=a.value;e!==value&&(a.value=value,a.callback(value,e))}}}})[0]).callback=r,i=a.facade,ks(function(){var e=kc.get(i);if(e){var t=new Set(e),r=new Set(n),a=i.current;t.forEach(function(e){r.has(e)||kl(e,null)}),r.forEach(function(e){t.has(e)||kl(e,a)})}kc.set(i,n)},[n]),i),C=kr(kr({},k),s);return O.createElement(O.Fragment,null,h&&O.createElement(g,{sideCar:kd,removeScrollBar:m,shards:p,noRelative:x,noIsolation:v,inert:b,setCallbacks:c,allowPinchZoom:!!y,lockRef:o,gapMode:j}),d?O.cloneElement(O.Children.only(u),kr(kr({},C),{ref:N})):O.createElement(void 0===w?"div":w,kr({},C,{className:f,ref:N}),u))});kf.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},kf.classNames={fullWidth:ko,zeroRight:ki};var km=function(e){var t=e.sideCar,n=ka(e,["sideCar"]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error("Sidecar medium not found");return O.createElement(r,kr({},n))};km.isSideCarExport=!0;var kh=function(){var e=0,t=null;return{add:function(n){if(0==e&&(t=function(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=EO||("u">typeof __webpack_nonce__?__webpack_nonce__:void 0);return t&&e.setAttribute("nonce",t),e}())){var r,a;(r=t).styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n)),a=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(a)}e++},remove:function(){--e||!t||(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},kp=function(){var e=kh();return function(t,n){O.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},kg=function(){var e=kp();return function(t){return e(t.styles,t.dynamic),null}},kx={left:0,top:0,right:0,gap:0},kv=function(e){return parseInt(e||"",10)||0},kb=function(e){var t=window.getComputedStyle(document.body),n=t["padding"===e?"paddingLeft":"marginLeft"],r=t["padding"===e?"paddingTop":"marginTop"],a=t["padding"===e?"paddingRight":"marginRight"];return[kv(n),kv(r),kv(a)]},ky=function(e){if(void 0===e&&(e="margin"),"u"<typeof window)return kx;var t=kb(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},kw=kg(),kj="data-scroll-locked",kk=function(e,t,n,r){var a=e.left,i=e.top,o=e.right,l=e.gap;return void 0===n&&(n="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(r,";\n padding-right: ").concat(l,"px ").concat(r,";\n }\n body[").concat(kj,"] {\n overflow: hidden ").concat(r,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(r,";"),"margin"===n&&"\n padding-left: ".concat(a,"px;\n padding-top: ").concat(i,"px;\n padding-right: ").concat(o,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(l,"px ").concat(r,";\n "),"padding"===n&&"padding-right: ".concat(l,"px ").concat(r,";")].filter(Boolean).join(""),"\n }\n \n .").concat(ki," {\n right: ").concat(l,"px ").concat(r,";\n }\n \n .").concat(ko," {\n margin-right: ").concat(l,"px ").concat(r,";\n }\n \n .").concat(ki," .").concat(ki," {\n right: 0 ").concat(r,";\n }\n \n .").concat(ko," .").concat(ko," {\n margin-right: 0 ").concat(r,";\n }\n \n body[").concat(kj,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(l,"px;\n }\n")},kN=function(){var e=parseInt(document.body.getAttribute(kj)||"0",10);return isFinite(e)?e:0},kC=function(){O.useEffect(function(){return document.body.setAttribute(kj,(kN()+1).toString()),function(){var e=kN()-1;e<=0?document.body.removeAttribute(kj):document.body.setAttribute(kj,e.toString())}},[])},kS=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,a=void 0===r?"margin":r;kC();var i=O.useMemo(function(){return ky(a)},[a]);return O.createElement(kw,{styles:kk(i,!t,a,n?"":"!important")})},kM=!1;if("u">typeof window)try{var kE=Object.defineProperty({},"passive",{get:function(){return kM=!0,!0}});window.addEventListener("test",kE,kE),window.removeEventListener("test",kE,kE)}catch(e){kM=!1}var kI=!!kM&&{passive:!1},kP=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return"hidden"!==n[t]&&(n.overflowY!==n.overflowX||"TEXTAREA"===e.tagName||"visible"!==n[t])},kO=function(e,t){var n=t.ownerDocument,r=t;do{if("u">typeof ShadowRoot&&r instanceof ShadowRoot&&(r=r.host),kz(e,r)){var a=kA(e,r);if(a[1]>a[2])return!0}r=r.parentNode}while(r&&r!==n.body)return!1},kz=function(e,t){return"v"===e?kP(t,"overflowY"):kP(t,"overflowX")},kA=function(e,t){return"v"===e?[t.scrollTop,t.scrollHeight,t.clientHeight]:[t.scrollLeft,t.scrollWidth,t.clientWidth]},kT=function(e,t,n,r,a){var i,o=(i=window.getComputedStyle(t).direction,"h"===e&&"rtl"===i?-1:1),l=o*r,s=n.target,c=t.contains(s),d=!1,u=l>0,f=0,m=0;do{if(!s)break;var h=kA(e,s),p=h[0],g=h[1]-h[2]-o*p;(p||g)&&kz(e,s)&&(f+=g,m+=p);var x=s.parentNode;s=x&&x.nodeType===Node.DOCUMENT_FRAGMENT_NODE?x.host:x}while(!c&&s!==document.body||c&&(t.contains(s)||t===s))return u&&(a&&1>Math.abs(f)||!a&&l>f)?d=!0:!u&&(a&&1>Math.abs(m)||!a&&-l>m)&&(d=!0),d},kR=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},k_=function(e){return[e.deltaX,e.deltaY]},kD=function(e){return e&&"current"in e?e.current:e},kL=0,k$=[];let kF=(M8=function(e){var t=O.useRef([]),n=O.useRef([0,0]),r=O.useRef(),a=O.useState(kL++)[0],i=O.useState(kg)[0],o=O.useRef(e);O.useEffect(function(){o.current=e},[e]),O.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var t=(function(e,t,n){if(n||2==arguments.length)for(var r,a=0,i=t.length;a<i;a++)!r&&a in t||(r||(r=Array.prototype.slice.call(t,0,a)),r[a]=t[a]);return e.concat(r||Array.prototype.slice.call(t))})([e.lockRef.current],(e.shards||[]).map(kD),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),t.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var l=O.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!o.current.allowPinchZoom;var a,i=kR(e),l=n.current,s="deltaX"in e?e.deltaX:l[0]-i[0],c="deltaY"in e?e.deltaY:l[1]-i[1],d=e.target,u=Math.abs(s)>Math.abs(c)?"h":"v";if("touches"in e&&"h"===u&&"range"===d.type)return!1;var f=window.getSelection(),m=f&&f.anchorNode;if(m&&(m===d||m.contains(d)))return!1;var h=kO(u,d);if(!h)return!0;if(h?a=u:(a="v"===u?"h":"v",h=kO(u,d)),!h)return!1;if(!r.current&&"changedTouches"in e&&(s||c)&&(r.current=a),!a)return!0;var p=r.current||a;return kT(p,t,e,"h"===p?s:c,!0)},[]),s=O.useCallback(function(e){if(k$.length&&k$[k$.length-1]===i){var n="deltaY"in e?k_(e):kR(e),r=t.current.filter(function(t){var r;return t.name===e.type&&(t.target===e.target||e.target===t.shadowParent)&&(r=t.delta,r[0]===n[0]&&r[1]===n[1])})[0];if(r&&r.should){e.cancelable&&e.preventDefault();return}if(!r){var a=(o.current.shards||[]).map(kD).filter(Boolean).filter(function(t){return t.contains(e.target)});(a.length>0?l(e,a[0]):!o.current.noIsolation)&&e.cancelable&&e.preventDefault()}}},[]),c=O.useCallback(function(e,n,r,a){var i={name:e,delta:n,target:r,should:a,shadowParent:function(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}(r)};t.current.push(i),setTimeout(function(){t.current=t.current.filter(function(e){return e!==i})},1)},[]),d=O.useCallback(function(e){n.current=kR(e),r.current=void 0},[]),u=O.useCallback(function(t){c(t.type,k_(t),t.target,l(t,e.lockRef.current))},[]),f=O.useCallback(function(t){c(t.type,kR(t),t.target,l(t,e.lockRef.current))},[]);O.useEffect(function(){return k$.push(i),e.setCallbacks({onScrollCapture:u,onWheelCapture:u,onTouchMoveCapture:f}),document.addEventListener("wheel",s,kI),document.addEventListener("touchmove",s,kI),document.addEventListener("touchstart",d,kI),function(){k$=k$.filter(function(e){return e!==i}),document.removeEventListener("wheel",s,kI),document.removeEventListener("touchmove",s,kI),document.removeEventListener("touchstart",d,kI)}},[]);var m=e.removeScrollBar,h=e.inert;return O.createElement(O.Fragment,null,h?O.createElement(i,{styles:"\n .block-interactivity-".concat(a," {pointer-events: none;}\n .allow-interactivity-").concat(a," {pointer-events: all;}\n")}):null,m?O.createElement(kS,{noRelative:e.noRelative,gapMode:e.gapMode}):null)},kd.useMedium(M8),km);var kB=O.forwardRef(function(e,t){return O.createElement(kf,kr({},e,{ref:t,sideCar:kF}))});kB.classNames=kf.classNames;var kV="Popover",[kH,kU]=wt(kV,[j$]),kq=j$(),[kW,kK]=kH(kV),kG=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:a,onOpenChange:i,modal:o=!1}=e,l=kq(t),s=O.useRef(null),[c,d]=O.useState(!1),[u,f]=j4({prop:r,defaultProp:a??!1,onChange:i,caller:kV});return(0,I.jsx)(jV,{...l,children:(0,I.jsx)(kW,{scope:t,contentId:wE(),triggerRef:s,open:u,onOpenChange:f,onOpenToggle:O.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:c,onCustomAnchorAdd:O.useCallback(()=>d(!0),[]),onCustomAnchorRemove:O.useCallback(()=>d(!1),[]),modal:o,children:n})})};kG.displayName=kV;var kX="PopoverAnchor",kY=O.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,a=kK(kX,n),i=kq(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:l}=a;return O.useEffect(()=>(o(),()=>l()),[o,l]),(0,I.jsx)(jU,{...i,...r,ref:t})});kY.displayName=kX;var kZ="PopoverTrigger",kJ=O.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,a=kK(kZ,n),i=kq(n),o=(0,we.useComposedRefs)(t,a.triggerRef),l=(0,I.jsx)(wi.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":Ne(a.open),...r,ref:o,onClick:y9(e.onClick,a.onOpenToggle)});return a.hasCustomAnchor?l:(0,I.jsx)(jU,{asChild:!0,...i,children:l})});kJ.displayName=kZ;var kQ="PopoverPortal",[k0,k1]=kH(kQ,{forceMount:void 0}),k2=e=>{let{__scopePopover:t,forceMount:n,children:r,container:a}=e,i=kK(kQ,t);return(0,I.jsx)(k0,{scope:t,forceMount:n,children:(0,I.jsx)(j2,{present:n||i.open,children:(0,I.jsx)(j1,{asChild:!0,container:a,children:r})})})};k2.displayName=kQ;var k5="PopoverContent",k3=O.forwardRef((e,t)=>{let n=k1(k5,e.__scopePopover),{forceMount:r=n.forceMount,...a}=e,i=kK(k5,e.__scopePopover);return(0,I.jsx)(j2,{present:r||i.open,children:i.modal?(0,I.jsx)(k6,{...a,ref:t}):(0,I.jsx)(k8,{...a,ref:t})})});k3.displayName=k5;var k4=wn("PopoverContent.RemoveScroll"),k6=O.forwardRef((e,t)=>{let n=kK(k5,e.__scopePopover),r=O.useRef(null),a=(0,we.useComposedRefs)(t,r),i=O.useRef(!1);return O.useEffect(()=>{let e=r.current;if(e)return kn(e)},[]),(0,I.jsx)(kB,{as:k4,allowPinchZoom:!0,children:(0,I.jsx)(k7,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:y9(e.onCloseAutoFocus,e=>{e.preventDefault(),i.current||n.triggerRef.current?.focus()}),onPointerDownOutside:y9(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey;i.current=2===t.button||n},{checkForDefaultPrevented:!1}),onFocusOutside:y9(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),k8=O.forwardRef((e,t)=>{let n=kK(k5,e.__scopePopover),r=O.useRef(!1),a=O.useRef(!1);return(0,I.jsx)(k7,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,"pointerdown"===t.detail.originalEvent.type&&(a.current=!0));let i=t.target;n.triggerRef.current?.contains(i)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&a.current&&t.preventDefault()}})}),k7=O.forwardRef((e,t)=>{let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:i,disableOutsidePointerEvents:o,onEscapeKeyDown:l,onPointerDownOutside:s,onFocusOutside:c,onInteractOutside:d,...u}=e,f=kK(k5,n),m=kq(n);return wh(),(0,I.jsx)(wb,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:i,children:(0,I.jsx)(wd,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:d,onEscapeKeyDown:l,onPointerDownOutside:s,onFocusOutside:c,onDismiss:()=>f.onOpenChange(!1),children:(0,I.jsx)(jG,{"data-state":Ne(f.open),role:"dialog",id:f.contentId,...m,...u,ref:t,style:{...u.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),k9="PopoverClose";function Ne(e){return e?"open":"closed"}function Nt({className:e,align:t="center",sideOffset:n=6,...r}){return(0,I.jsx)(k2,{children:(0,I.jsx)(k3,{"data-slot":"popover-content",align:t,sideOffset:n,className:(0,V.cn)("vtl-surface-popover z-50 flex w-72 flex-col gap-2.5 rounded-[var(--surface-popover-radius)] border p-2.5 text-sm outline-none animate-in fade-in-0 zoom-in-95 duration-150 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r})})}function Nn(e){if(e)return"string"==typeof e.label||"number"==typeof e.label?String(e.label):e.id}function Nr(e){let t=Number.isFinite(e)?Math.max(0,e):0;return t>=1e6?`${(t/1e6).toFixed(t>=1e7?0:1)}m`:t>=1e3?`${Math.round(t/1e3)}k`:t.toLocaleString()}function Na({usage:e,labels:t}){let[n,r]=O.useState(!1),a=Math.max(0,e.used),i=Math.max(0,e.total),o=i>0?Math.min(100,Math.round(a/i*100)):0,l=Math.max(0,e.toolCalls),s=Math.max(0,e.userMessages),c=Math.max(0,e.other??Math.max(0,a-l-s)),d=[{name:"toolCalls",value:l,fill:"var(--color-toolCalls)"},{name:"userMessages",value:s,fill:"var(--color-userMessages)"},{name:"other",value:c,fill:"var(--color-other)"},{name:"unused",value:Math.max(0,i-a),fill:"var(--muted)"}].filter(e=>e.value>0),u=t.contextTokenSummary.replace("{used}",Nr(a)).replace("{total}",Nr(i)),f={toolCalls:{label:t.toolCalls,color:"var(--chart-1)"},userMessages:{label:t.userMessages,color:"var(--chart-3)"},other:{label:t.otherContext,color:"var(--chart-5)"}};return(0,I.jsxs)(kG,{children:[(0,I.jsx)(kJ,{asChild:!0,children:(0,I.jsx)(B.Button,{type:"button",variant:"ghost",size:"icon-xs",className:"text-muted-foreground","aria-label":`${t.contextUsage}: ${o}% ${t.contextUsed}`,title:`${t.contextUsage}: ${o}% ${t.contextUsed}`,children:(0,I.jsx)("span",{"aria-hidden":"true",className:"grid size-4 place-items-center rounded-full",style:{background:`conic-gradient(var(--foreground) ${3.6*o}deg, var(--border) 0deg)`},children:(0,I.jsx)("span",{className:"size-3 rounded-full bg-background dark:bg-popover"})})})}),(0,I.jsxs)(Nt,{side:"top",align:"center",sideOffset:8,className:"w-44 gap-2 p-3",children:[(0,I.jsxs)("div",{className:"grid gap-0.5 text-center",children:[(0,I.jsx)("div",{className:"text-sm font-medium text-muted-foreground",children:e.label??t.contextUsage}),(0,I.jsxs)("div",{className:"text-sm text-muted-foreground",children:[o,"% ",t.contextUsed]}),(0,I.jsx)("div",{className:"text-sm font-medium",children:u})]}),(0,I.jsx)("div",{className:"grid justify-center",children:e.onExpand?(0,I.jsx)("button",{type:"button",onClick:e.onExpand,className:"rounded-full outline-none ring-offset-background transition hover:opacity-80 focus-visible:ring-2 focus-visible:ring-ring",title:"展开上下文明细","aria-label":"展开上下文明细",children:(0,I.jsx)(y4,{config:f,className:"h-20 w-20",initialDimension:{width:80,height:80},onMouseMove:()=>r(!0),onMouseLeave:()=>r(!1),children:(0,I.jsxs)(yr,{children:[(0,I.jsx)(y$,{active:n,content:(0,I.jsx)(y8,{hideLabel:!0})}),(0,I.jsx)(xj,{data:d.length>0?d:[{name:"other",value:1,fill:"var(--muted)"}],dataKey:"value",nameKey:"name",innerRadius:25,outerRadius:35,isAnimationActive:!1,strokeWidth:0})]})})}):(0,I.jsx)(y4,{config:f,className:"h-20 w-20",initialDimension:{width:80,height:80},onMouseMove:()=>r(!0),onMouseLeave:()=>r(!1),children:(0,I.jsxs)(yr,{children:[(0,I.jsx)(y$,{active:n,content:(0,I.jsx)(y8,{hideLabel:!0})}),(0,I.jsx)(xj,{data:d.length>0?d:[{name:"other",value:1,fill:"var(--muted)"}],dataKey:"value",nameKey:"name",innerRadius:25,outerRadius:35,isAnimationActive:!1,strokeWidth:0})]})})}),e.onExpand?(0,I.jsx)(B.Button,{type:"button",variant:"outline",size:"sm",className:"w-full text-xs",onClick:e.onExpand,children:"展开详情"}):null,e.onCompressPrecise||e.onCompressExtreme?(0,I.jsxs)("div",{className:"flex w-full overflow-hidden rounded-md border",children:[(0,I.jsx)(B.Button,{type:"button",variant:"ghost",size:"sm",className:"flex-1 rounded-none border-r text-xs font-medium",onClick:e.onCompressPrecise,disabled:e.compressing||!e.onCompressPrecise,children:e.compressing?"…":t.compressPrecise??"精确"}),(0,I.jsx)(B.Button,{type:"button",variant:"ghost",size:"sm",className:"flex-1 rounded-none text-xs font-medium",onClick:e.onCompressExtreme,disabled:e.compressing||!e.onCompressExtreme,children:e.compressing?"…":t.compressExtreme??"极致"})]}):(0,I.jsx)(B.Button,{type:"button",variant:"outline",size:"sm",className:"w-full",onClick:e.onCompress,disabled:!e.onCompress,children:t.compressContext})]})]})}O.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,a=kK(k9,n);return(0,I.jsx)(wi.button,{type:"button",...r,ref:t,onClick:y9(e.onClick,()=>a.onOpenChange(!1))})}).displayName=k9,O.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,a=kq(n);return(0,I.jsx)(jZ,{...a,...r,ref:t})}).displayName="PopoverArrow";let Ni=(0,A.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]),No=(0,A.default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),Nl=(0,A.default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),Ns=(0,A.default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),Nc={placeholder:"Ask the agent to inspect, change, or explain this workspace...",mode:"Mode",model:"Model",attach:"Attach context",removeChip:"Remove context",removeAttachment:"Remove attachment",queuedMessage:"Queued message",guideQueuedMessage:"Guide",removeQueuedMessage:"Remove queued message",moreQueuedMessageActions:"More queued message actions",contextUsage:"Context usage",contextUsed:"used",contextTokenSummary:"used {used} / {total}",toolCalls:"Tool calls",userMessages:"User messages",otherContext:"Other context",compressContext:"Compress context",compressPrecise:"Precise",compressExtreme:"Extreme",send:"Run",stop:"Stop"},Nd=[{id:"agent",label:"Agent",description:"Use tools and make changes.",icon:(0,I.jsx)(Nl,{className:"fill-current"})},{id:"planner",label:"Planner",description:"Plan before changing files.",icon:(0,I.jsx)(eV,{})},{id:"reviewer",label:"Reviewer",description:"Inspect risks and regressions.",icon:(0,I.jsx)(Ni,{})}],Nu=[{id:"acceptEdits",label:"Accept edits",description:"Auto-approve edits, ask for risky commands.",icon:(0,I.jsx)(No,{})},{id:"ask",label:"Ask permissions",description:"Ask before any tool action.",icon:(0,I.jsx)(eB,{})},{id:"auto",label:"Auto mode",description:"Auto-approve all except dangerous.",icon:(0,I.jsx)(Ns,{})}],Nf=[{id:"gpt-5.5",label:"GPT-5.5",description:"Highest quality coding agent."},{id:"gpt-5.4",label:"GPT-5.4",description:"Balanced everyday work."},{id:"gpt-5.4-mini",label:"GPT-5.4 Mini",description:"Fast lightweight passes."}];function Nm(e){let t=e+"CollectionProvider",[n,r]=wt(t),[a,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:t,children:n}=e,r=O.default.useRef(null),i=O.default.useRef(new Map).current;return(0,I.jsx)(a,{scope:t,itemMap:i,collectionRef:r,children:n})};o.displayName=t;let l=e+"CollectionSlot",s=wn(l),c=O.default.forwardRef((e,t)=>{let{scope:n,children:r}=e,a=i(l,n),o=(0,we.useComposedRefs)(t,a.collectionRef);return(0,I.jsx)(s,{ref:o,children:r})});c.displayName=l;let d=e+"CollectionItemSlot",u="data-radix-collection-item",f=wn(d),m=O.default.forwardRef((e,t)=>{let{scope:n,children:r,...a}=e,o=O.default.useRef(null),l=(0,we.useComposedRefs)(t,o),s=i(d,n);return O.default.useEffect(()=>(s.itemMap.set(o,{ref:o,...a}),()=>void s.itemMap.delete(o))),(0,I.jsx)(f,{...{[u]:""},ref:l,children:r})});return m.displayName=d,[{Provider:o,Slot:c,ItemSlot:m},function(t){let n=i(e+"CollectionConsumer",t);return O.default.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${u}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])},r]}var Nh=new WeakMap;function Np(e,t){var n,r;let a,i,o;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let l=(n=e,r=t,a=n.length,(o=(i=Ng(r))>=0?i:a+i)<0||o>=a?-1:o);return -1===l?void 0:e[l]}function Ng(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],Nh.set(this,!0)}set(e,t){return Nh.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,n){let r,a=this.has(t),i=this.#e.length,o=Ng(e),l=o>=0?o:i+o,s=l<0||l>=i?-1:l;if(s===this.size||a&&s===this.size-1||-1===s)return this.set(t,n),this;let c=this.size+ +!a;o<0&&l++;let d=[...this.#e],u=!1;for(let e=l;e<c;e++)if(l===e){let i=d[e];d[e]===t&&(i=d[e+1]),a&&this.delete(t),r=this.get(i),this.set(t,n)}else{u||d[e-1]!==t||(u=!0);let n=d[u?e:e-1],a=r;r=this.get(n),this.delete(n),this.set(n,a)}return this}with(t,n,r){let a=new e(this);return a.insert(t,n,r),a}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,n){let r=this.#e.indexOf(e);return -1===r?this:this.insert(r,t,n)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,n){let r=this.#e.indexOf(e);return -1===r?this:this.insert(r+1,t,n)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=Np(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=Np(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return Np(this.#e,e)}from(e,t){let n=this.indexOf(e);if(-1===n)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.at(r)}keyFrom(e,t){let n=this.indexOf(e);if(-1===n)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.keyAt(r)}find(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return r;n++}}findIndex(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return n;n++}return -1}filter(t,n){let r=[],a=0;for(let e of this)Reflect.apply(t,n,[e,a,this])&&r.push(e),a++;return new e(r)}map(t,n){let r=[],a=0;for(let e of this)r.push([e[0],Reflect.apply(t,n,[e,a,this])]),a++;return new e(r)}reduce(...e){let[t,n]=e,r=0,a=n??this.at(0);for(let n of this)a=0===r&&1===e.length?n:Reflect.apply(t,this,[a,n,r,this]),r++;return a}reduceRight(...e){let[t,n]=e,r=n??this.at(-1);for(let n=this.size-1;n>=0;n--){let a=this.at(n);r=n===this.size-1&&1===e.length?a:Reflect.apply(t,this,[r,a,n,this])}return r}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let n=this.keyAt(e),r=this.get(n);t.set(n,r)}return t}toSpliced(...t){let n=[...this.entries()];return n.splice(...t),new e(n)}slice(t,n){let r=new e,a=this.size-1;if(void 0===t)return r;t<0&&(t+=this.size),void 0!==n&&n>0&&(a=n-1);for(let e=t;e<=a;e++){let t=this.keyAt(e),n=this.get(t);r.set(t,n)}return r}every(e,t){let n=0;for(let r of this){if(!Reflect.apply(e,t,[r,n,this]))return!1;n++}return!0}some(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return!0;n++}return!1}});var Nx=O.createContext(void 0);function Nv(e){let t=O.useContext(Nx);return e||t||"ltr"}var Nb="rovingFocusGroup.onEntryFocus",Ny={bubbles:!1,cancelable:!0},Nw="RovingFocusGroup",[Nj,Nk,NN]=Nm(Nw),[NC,NS]=wt(Nw,[NN]),[NM,NE]=NC(Nw),NI=O.forwardRef((e,t)=>(0,I.jsx)(Nj.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,I.jsx)(Nj.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,I.jsx)(NP,{...e,ref:t})})}));NI.displayName=Nw;var NP=O.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:a=!1,dir:i,currentTabStopId:o,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:s,onEntryFocus:c,preventScrollOnEntryFocus:d=!1,...u}=e,f=O.useRef(null),m=(0,we.useComposedRefs)(t,f),h=Nv(i),[p,g]=j4({prop:o,defaultProp:l??null,onChange:s,caller:Nw}),[x,v]=O.useState(!1),b=wl(c),y=Nk(n),w=O.useRef(!1),[j,k]=O.useState(0);return O.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(Nb,b),()=>e.removeEventListener(Nb,b)},[b]),(0,I.jsx)(NM,{scope:n,orientation:r,dir:h,loop:a,currentTabStopId:p,onItemFocus:O.useCallback(e=>g(e),[g]),onItemShiftTab:O.useCallback(()=>v(!0),[]),onFocusableItemAdd:O.useCallback(()=>k(e=>e+1),[]),onFocusableItemRemove:O.useCallback(()=>k(e=>e-1),[]),children:(0,I.jsx)(wi.div,{tabIndex:x||0===j?-1:0,"data-orientation":r,...u,ref:m,style:{outline:"none",...e.style},onMouseDown:y9(e.onMouseDown,()=>{w.current=!0}),onFocus:y9(e.onFocus,e=>{let t=!w.current;if(e.target===e.currentTarget&&t&&!x){let t=new CustomEvent(Nb,Ny);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=y().filter(e=>e.focusable);NT([e.find(e=>e.active),e.find(e=>e.id===p),...e].filter(Boolean).map(e=>e.ref.current),d)}}w.current=!1}),onBlur:y9(e.onBlur,()=>v(!1))})})}),NO="RovingFocusGroupItem",Nz=O.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:a=!1,tabStopId:i,children:o,...l}=e,s=wE(),c=i||s,d=NE(NO,n),u=d.currentTabStopId===c,f=Nk(n),{onFocusableItemAdd:m,onFocusableItemRemove:h,currentTabStopId:p}=d;return O.useEffect(()=>{if(r)return m(),()=>h()},[r,m,h]),(0,I.jsx)(Nj.ItemSlot,{scope:n,id:c,focusable:r,active:a,children:(0,I.jsx)(wi.span,{tabIndex:u?0:-1,"data-orientation":d.orientation,...l,ref:t,onMouseDown:y9(e.onMouseDown,e=>{r?d.onItemFocus(c):e.preventDefault()}),onFocus:y9(e.onFocus,()=>d.onItemFocus(c)),onKeyDown:y9(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void d.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,n){var r;let a=(r=e.key,"rtl"!==n?r:"ArrowLeft"===r?"ArrowRight":"ArrowRight"===r?"ArrowLeft":r);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(a))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(a)))return NA[a]}(e,d.orientation,d.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let a=f().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)a.reverse();else if("prev"===t||"next"===t){var n,r;"prev"===t&&a.reverse();let i=a.indexOf(e.currentTarget);a=d.loop?(n=a,r=i+1,n.map((e,t)=>n[(r+t)%n.length])):a.slice(i+1)}setTimeout(()=>NT(a))}}),children:"function"==typeof o?o({isCurrentTabStop:u,hasTabStop:null!=p}):o})})});Nz.displayName=NO;var NA={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function NT(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}var NR=["Enter"," "],N_=["ArrowUp","PageDown","End"],ND=["ArrowDown","PageUp","Home",...N_],NL={ltr:[...NR,"ArrowRight"],rtl:[...NR,"ArrowLeft"]},N$={ltr:["ArrowLeft"],rtl:["ArrowRight"]},NF="Menu",[NB,NV,NH]=Nm(NF),[NU,Nq]=wt(NF,[NH,j$,NS]),NW=j$(),NK=NS(),[NG,NX]=NU(NF),[NY,NZ]=NU(NF),NJ=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:a,onOpenChange:i,modal:o=!0}=e,l=NW(t),[s,c]=O.useState(null),d=O.useRef(!1),u=wl(i),f=Nv(a);return O.useEffect(()=>{let e=()=>{d.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>d.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),(0,I.jsx)(jV,{...l,children:(0,I.jsx)(NG,{scope:t,open:n,onOpenChange:u,content:s,onContentChange:c,children:(0,I.jsx)(NY,{scope:t,onClose:O.useCallback(()=>u(!1),[u]),isUsingKeyboardRef:d,dir:f,modal:o,children:r})})})};NJ.displayName=NF;var NQ=O.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,a=NW(n);return(0,I.jsx)(jU,{...a,...r,ref:t})});NQ.displayName="MenuAnchor";var N0="MenuPortal",[N1,N2]=NU(N0,{forceMount:void 0}),N5=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:a}=e,i=NX(N0,t);return(0,I.jsx)(N1,{scope:t,forceMount:n,children:(0,I.jsx)(j2,{present:n||i.open,children:(0,I.jsx)(j1,{asChild:!0,container:a,children:r})})})};N5.displayName=N0;var N3="MenuContent",[N4,N6]=NU(N3),N8=O.forwardRef((e,t)=>{let n=N2(N3,e.__scopeMenu),{forceMount:r=n.forceMount,...a}=e,i=NX(N3,e.__scopeMenu),o=NZ(N3,e.__scopeMenu);return(0,I.jsx)(NB.Provider,{scope:e.__scopeMenu,children:(0,I.jsx)(j2,{present:r||i.open,children:(0,I.jsx)(NB.Slot,{scope:e.__scopeMenu,children:o.modal?(0,I.jsx)(N7,{...a,ref:t}):(0,I.jsx)(N9,{...a,ref:t})})})})}),N7=O.forwardRef((e,t)=>{let n=NX(N3,e.__scopeMenu),r=O.useRef(null),a=(0,we.useComposedRefs)(t,r);return O.useEffect(()=>{let e=r.current;if(e)return kn(e)},[]),(0,I.jsx)(Ct,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:y9(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),N9=O.forwardRef((e,t)=>{let n=NX(N3,e.__scopeMenu);return(0,I.jsx)(Ct,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),Ce=wn("MenuContent.ScrollLock"),Ct=O.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:a,onOpenAutoFocus:i,onCloseAutoFocus:o,disableOutsidePointerEvents:l,onEntryFocus:s,onEscapeKeyDown:c,onPointerDownOutside:d,onFocusOutside:u,onInteractOutside:f,onDismiss:m,disableOutsideScroll:h,...p}=e,g=NX(N3,n),x=NZ(N3,n),v=NW(n),b=NK(n),y=NV(n),[w,j]=O.useState(null),k=O.useRef(null),N=(0,we.useComposedRefs)(t,k,g.onContentChange),C=O.useRef(0),S=O.useRef(""),M=O.useRef(0),E=O.useRef(null),P=O.useRef("right"),z=O.useRef(0),A=h?kB:O.Fragment;O.useEffect(()=>()=>window.clearTimeout(C.current),[]),wh();let T=O.useCallback(e=>{var t,n;return P.current===E.current?.side&&(t=e,!!(n=E.current?.area)&&function(e,t){let{x:n,y:r}=e,a=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let o=t[e],l=t[i],s=o.x,c=o.y,d=l.x,u=l.y;c>r!=u>r&&n<(d-s)*(r-c)/(u-c)+s&&(a=!a)}return a}({x:t.clientX,y:t.clientY},n))},[]);return(0,I.jsx)(N4,{scope:n,searchRef:S,onItemEnter:O.useCallback(e=>{T(e)&&e.preventDefault()},[T]),onItemLeave:O.useCallback(e=>{T(e)||(k.current?.focus(),j(null))},[T]),onTriggerLeave:O.useCallback(e=>{T(e)&&e.preventDefault()},[T]),pointerGraceTimerRef:M,onPointerGraceIntentChange:O.useCallback(e=>{E.current=e},[]),children:(0,I.jsx)(A,{...h?{as:Ce,allowPinchZoom:!0}:void 0,children:(0,I.jsx)(wb,{asChild:!0,trapped:a,onMountAutoFocus:y9(i,e=>{e.preventDefault(),k.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,I.jsx)(wd,{asChild:!0,disableOutsidePointerEvents:l,onEscapeKeyDown:c,onPointerDownOutside:d,onFocusOutside:u,onInteractOutside:f,onDismiss:m,children:(0,I.jsx)(NI,{asChild:!0,...b,dir:x.dir,orientation:"vertical",loop:r,currentTabStopId:w,onCurrentTabStopIdChange:j,onEntryFocus:y9(s,e=>{x.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,I.jsx)(jG,{role:"menu","aria-orientation":"vertical","data-state":CI(g.open),"data-radix-menu-content":"",dir:x.dir,...v,...p,ref:N,style:{outline:"none",...p.style},onKeyDown:y9(p.onKeyDown,e=>{let t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=1===e.key.length;if(t){var a;let t,i,o,l,s,c;"Tab"===e.key&&e.preventDefault(),!n&&r&&(a=e.key,t=S.current+a,i=y().filter(e=>!e.disabled),o=document.activeElement,l=i.find(e=>e.ref.current===o)?.textValue,s=function(e,t,n){var r;let a=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,o=(r=Math.max(i,0),e.map((t,n)=>e[(r+n)%e.length]));1===a.length&&(o=o.filter(e=>e!==n));let l=o.find(e=>e.toLowerCase().startsWith(a.toLowerCase()));return l!==n?l:void 0}(i.map(e=>e.textValue),t,l),c=i.find(e=>e.textValue===s)?.ref.current,function e(t){S.current=t,window.clearTimeout(C.current),""!==t&&(C.current=window.setTimeout(()=>e(""),1e3))}(t),c&&setTimeout(()=>c.focus()))}let i=k.current;if(e.target!==i||!ND.includes(e.key))return;e.preventDefault();let o=y().filter(e=>!e.disabled).map(e=>e.ref.current);N_.includes(e.key)&&o.reverse(),function(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}(o)}),onBlur:y9(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(C.current),S.current="")}),onPointerMove:y9(e.onPointerMove,Cz(e=>{let t=e.target,n=z.current!==e.clientX;e.currentTarget.contains(t)&&n&&(P.current=e.clientX>z.current?"right":"left",z.current=e.clientX)}))})})})})})})});N8.displayName=N3;var Cn=O.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,I.jsx)(wi.div,{role:"group",...r,ref:t})});Cn.displayName="MenuGroup";var Cr=O.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,I.jsx)(wi.div,{...r,ref:t})});Cr.displayName="MenuLabel";var Ca="MenuItem",Ci="menu.itemSelect",Co=O.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...a}=e,i=O.useRef(null),o=NZ(Ca,e.__scopeMenu),l=N6(Ca,e.__scopeMenu),s=(0,we.useComposedRefs)(t,i),c=O.useRef(!1);return(0,I.jsx)(Cl,{...a,ref:s,disabled:n,onClick:y9(e.onClick,()=>{let e=i.current;if(!n&&e){let t=new CustomEvent(Ci,{bubbles:!0,cancelable:!0});e.addEventListener(Ci,e=>r?.(e),{once:!0}),wo(e,t),t.defaultPrevented?c.current=!1:o.onClose()}}),onPointerDown:t=>{e.onPointerDown?.(t),c.current=!0},onPointerUp:y9(e.onPointerUp,e=>{c.current||e.currentTarget?.click()}),onKeyDown:y9(e.onKeyDown,e=>{let t=""!==l.searchRef.current;n||t&&" "===e.key||NR.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});Co.displayName=Ca;var Cl=O.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:a,...i}=e,o=N6(Ca,n),l=NK(n),s=O.useRef(null),c=(0,we.useComposedRefs)(t,s),[d,u]=O.useState(!1),[f,m]=O.useState("");return O.useEffect(()=>{let e=s.current;e&&m((e.textContent??"").trim())},[i.children]),(0,I.jsx)(NB.ItemSlot,{scope:n,disabled:r,textValue:a??f,children:(0,I.jsx)(Nz,{asChild:!0,...l,focusable:!r,children:(0,I.jsx)(wi.div,{role:"menuitem","data-highlighted":d?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...i,ref:c,onPointerMove:y9(e.onPointerMove,Cz(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:y9(e.onPointerLeave,Cz(e=>o.onItemLeave(e))),onFocus:y9(e.onFocus,()=>u(!0)),onBlur:y9(e.onBlur,()=>u(!1))})})})}),Cs=O.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...a}=e;return(0,I.jsx)(Cg,{scope:e.__scopeMenu,checked:n,children:(0,I.jsx)(Co,{role:"menuitemcheckbox","aria-checked":CP(n)?"mixed":n,...a,ref:t,"data-state":CO(n),onSelect:y9(a.onSelect,()=>r?.(!!CP(n)||!n),{checkForDefaultPrevented:!1})})})});Cs.displayName="MenuCheckboxItem";var Cc="MenuRadioGroup",[Cd,Cu]=NU(Cc,{value:void 0,onValueChange:()=>{}}),Cf=O.forwardRef((e,t)=>{let{value:n,onValueChange:r,...a}=e,i=wl(r);return(0,I.jsx)(Cd,{scope:e.__scopeMenu,value:n,onValueChange:i,children:(0,I.jsx)(Cn,{...a,ref:t})})});Cf.displayName=Cc;var Cm="MenuRadioItem",Ch=O.forwardRef((e,t)=>{let{value:n,...r}=e,a=Cu(Cm,e.__scopeMenu),i=n===a.value;return(0,I.jsx)(Cg,{scope:e.__scopeMenu,checked:i,children:(0,I.jsx)(Co,{role:"menuitemradio","aria-checked":i,...r,ref:t,"data-state":CO(i),onSelect:y9(r.onSelect,()=>a.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});Ch.displayName=Cm;var Cp="MenuItemIndicator",[Cg,Cx]=NU(Cp,{checked:!1}),Cv=O.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...a}=e,i=Cx(Cp,n);return(0,I.jsx)(j2,{present:r||CP(i.checked)||!0===i.checked,children:(0,I.jsx)(wi.span,{...a,ref:t,"data-state":CO(i.checked)})})});Cv.displayName=Cp;var Cb=O.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,I.jsx)(wi.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});Cb.displayName="MenuSeparator";var Cy=O.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,a=NW(n);return(0,I.jsx)(jZ,{...a,...r,ref:t})});Cy.displayName="MenuArrow";var Cw="MenuSub",[Cj,Ck]=NU(Cw),CN=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:a}=e,i=NX(Cw,t),o=NW(t),[l,s]=O.useState(null),[c,d]=O.useState(null),u=wl(a);return O.useEffect(()=>(!1===i.open&&u(!1),()=>u(!1)),[i.open,u]),(0,I.jsx)(jV,{...o,children:(0,I.jsx)(NG,{scope:t,open:r,onOpenChange:u,content:c,onContentChange:d,children:(0,I.jsx)(Cj,{scope:t,contentId:wE(),triggerId:wE(),trigger:l,onTriggerChange:s,children:n})})})};CN.displayName=Cw;var CC="MenuSubTrigger",CS=O.forwardRef((e,t)=>{let n=NX(CC,e.__scopeMenu),r=NZ(CC,e.__scopeMenu),a=Ck(CC,e.__scopeMenu),i=N6(CC,e.__scopeMenu),o=O.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:s}=i,c={__scopeMenu:e.__scopeMenu},d=O.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return O.useEffect(()=>d,[d]),O.useEffect(()=>{let e=l.current;return()=>{window.clearTimeout(e),s(null)}},[l,s]),(0,I.jsx)(NQ,{asChild:!0,...c,children:(0,I.jsx)(Cl,{id:a.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":a.contentId,"data-state":CI(n.open),...e,ref:(0,we.composeRefs)(t,a.onTriggerChange),onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:y9(e.onPointerMove,Cz(t=>{i.onItemEnter(t),!t.defaultPrevented&&(e.disabled||n.open||o.current||(i.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{n.onOpenChange(!0),d()},100)))})),onPointerLeave:y9(e.onPointerLeave,Cz(e=>{d();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,a="right"===r,o=t[a?"left":"right"],s=t[a?"right":"left"];i.onPointerGraceIntentChange({area:[{x:e.clientX+(a?-5:5),y:e.clientY},{x:o,y:t.top},{x:s,y:t.top},{x:s,y:t.bottom},{x:o,y:t.bottom}],side:r}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>i.onPointerGraceIntentChange(null),300)}else{if(i.onTriggerLeave(e),e.defaultPrevented)return;i.onPointerGraceIntentChange(null)}})),onKeyDown:y9(e.onKeyDown,t=>{let a=""!==i.searchRef.current;e.disabled||a&&" "===t.key||NL[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});CS.displayName=CC;var CM="MenuSubContent",CE=O.forwardRef((e,t)=>{let n=N2(N3,e.__scopeMenu),{forceMount:r=n.forceMount,...a}=e,i=NX(N3,e.__scopeMenu),o=NZ(N3,e.__scopeMenu),l=Ck(CM,e.__scopeMenu),s=O.useRef(null),c=(0,we.useComposedRefs)(t,s);return(0,I.jsx)(NB.Provider,{scope:e.__scopeMenu,children:(0,I.jsx)(j2,{present:r||i.open,children:(0,I.jsx)(NB.Slot,{scope:e.__scopeMenu,children:(0,I.jsx)(Ct,{id:l.contentId,"aria-labelledby":l.triggerId,...a,ref:c,align:"start",side:"rtl"===o.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{o.isUsingKeyboardRef.current&&s.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:y9(e.onFocusOutside,e=>{e.target!==l.trigger&&i.onOpenChange(!1)}),onEscapeKeyDown:y9(e.onEscapeKeyDown,e=>{o.onClose(),e.preventDefault()}),onKeyDown:y9(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=N$[o.dir].includes(e.key);t&&n&&(i.onOpenChange(!1),l.trigger?.focus(),e.preventDefault())})})})})})});function CI(e){return e?"open":"closed"}function CP(e){return"indeterminate"===e}function CO(e){return CP(e)?"indeterminate":e?"checked":"unchecked"}function Cz(e){return t=>"mouse"===t.pointerType?e(t):void 0}CE.displayName=CM;var CA="DropdownMenu",[CT,CR]=wt(CA,[Nq]),C_=Nq(),[CD,CL]=CT(CA),C$=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:a,defaultOpen:i,onOpenChange:o,modal:l=!0}=e,s=C_(t),c=O.useRef(null),[d,u]=j4({prop:a,defaultProp:i??!1,onChange:o,caller:CA});return(0,I.jsx)(CD,{scope:t,triggerId:wE(),triggerRef:c,contentId:wE(),open:d,onOpenChange:u,onOpenToggle:O.useCallback(()=>u(e=>!e),[u]),modal:l,children:(0,I.jsx)(NJ,{...s,open:d,onOpenChange:u,dir:r,modal:l,children:n})})};C$.displayName=CA;var CF="DropdownMenuTrigger",CB=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...a}=e,i=CL(CF,n),o=C_(n);return(0,I.jsx)(NQ,{asChild:!0,...o,children:(0,I.jsx)(wi.button,{type:"button",id:i.triggerId,"aria-haspopup":"menu","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":i.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...a,ref:(0,we.composeRefs)(t,i.triggerRef),onPointerDown:y9(e.onPointerDown,e=>{!r&&0===e.button&&!1===e.ctrlKey&&(i.onOpenToggle(),i.open||e.preventDefault())}),onKeyDown:y9(e.onKeyDown,e=>{!r&&(["Enter"," "].includes(e.key)&&i.onOpenToggle(),"ArrowDown"===e.key&&i.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});CB.displayName=CF;var CV=e=>{let{__scopeDropdownMenu:t,...n}=e,r=C_(t);return(0,I.jsx)(N5,{...r,...n})};CV.displayName="DropdownMenuPortal";var CH="DropdownMenuContent",CU=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=CL(CH,n),i=C_(n),o=O.useRef(!1);return(0,I.jsx)(N8,{id:a.contentId,"aria-labelledby":a.triggerId,...i,...r,ref:t,onCloseAutoFocus:y9(e.onCloseAutoFocus,e=>{o.current||a.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:y9(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey,r=2===t.button||n;(!a.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});CU.displayName=CH,O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(Cn,{...a,...r,ref:t})}).displayName="DropdownMenuGroup";var Cq=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(Cr,{...a,...r,ref:t})});Cq.displayName="DropdownMenuLabel";var CW=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(Co,{...a,...r,ref:t})});CW.displayName="DropdownMenuItem",O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(Cs,{...a,...r,ref:t})}).displayName="DropdownMenuCheckboxItem";var CK=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(Cf,{...a,...r,ref:t})});CK.displayName="DropdownMenuRadioGroup";var CG=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(Ch,{...a,...r,ref:t})});CG.displayName="DropdownMenuRadioItem";var CX=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(Cv,{...a,...r,ref:t})});CX.displayName="DropdownMenuItemIndicator";var CY=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(Cb,{...a,...r,ref:t})});CY.displayName="DropdownMenuSeparator",O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(Cy,{...a,...r,ref:t})}).displayName="DropdownMenuArrow";var CZ=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(CS,{...a,...r,ref:t})});CZ.displayName="DropdownMenuSubTrigger";var CJ=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(CE,{...a,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});CJ.displayName="DropdownMenuSubContent";let CQ=(0,A.default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),C0=e=>{let{__scopeDropdownMenu:t,children:n,open:r,onOpenChange:a,defaultOpen:i}=e,o=C_(t),[l,s]=j4({prop:r,defaultProp:i??!1,onChange:a,caller:"DropdownMenuSub"});return(0,I.jsx)(CN,{...o,open:l,onOpenChange:s,children:n})};function C1({className:e,sideOffset:t=6,...n}){return(0,I.jsx)(CV,{children:(0,I.jsx)(CU,{"data-slot":"dropdown-menu-content",sideOffset:t,className:(0,V.cn)("vtl-surface-popover z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-44 overflow-x-hidden overflow-y-auto rounded-[var(--surface-popover-radius)] border p-1 animate-in fade-in-0 zoom-in-95 duration-150 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:duration-100",e),...n})})}function C2({className:e,inset:t,variant:n="default",...r}){return(0,I.jsx)(CW,{"data-slot":"dropdown-menu-item","data-inset":t,"data-variant":n,className:(0,V.cn)("relative flex cursor-default items-center gap-2 rounded-md px-2 py-1.5 text-sm outline-none select-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset=true]:pl-8 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0","destructive"===n&&"text-destructive focus:bg-destructive/10 focus:text-destructive",e),...r})}function C5({className:e,children:t,...n}){return(0,I.jsxs)(CG,{"data-slot":"dropdown-menu-radio-item",className:(0,V.cn)("relative flex cursor-default items-center gap-2 rounded-md py-1.5 pr-2 pl-8 text-sm outline-none select-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...n,children:[(0,I.jsx)("span",{className:"absolute left-2 flex size-3.5 items-center justify-center",children:(0,I.jsx)(CX,{children:(0,I.jsx)(Nl,{className:"size-2 fill-current"})})}),t]})}function C3({className:e,inset:t,...n}){return(0,I.jsx)(Cq,{"data-slot":"dropdown-menu-label","data-inset":t,className:(0,V.cn)("px-2 py-1.5 text-xs font-medium text-muted-foreground data-[inset=true]:pl-8",e),...n})}function C4({className:e,...t}){return(0,I.jsx)(CY,{"data-slot":"dropdown-menu-separator",className:(0,V.cn)("-mx-1 my-1 h-px bg-border",e),...t})}function C6({className:e,...t}){return(0,I.jsx)("span",{"data-slot":"dropdown-menu-shortcut",className:(0,V.cn)("ml-auto text-xs text-muted-foreground",e),...t})}function C8({className:e,inset:t,children:n,...r}){return(0,I.jsxs)(CZ,{"data-slot":"dropdown-menu-sub-trigger","data-inset":t,className:(0,V.cn)("flex cursor-default items-center gap-2 rounded-md px-2 py-1.5 text-sm outline-none select-none focus:bg-accent data-[state=open]:bg-accent data-[inset=true]:pl-8 [&_svg]:size-4 [&_svg]:shrink-0",e),...r,children:[n,(0,I.jsx)(CQ,{className:"ml-auto size-4"})]})}function C7({className:e,...t}){return(0,I.jsx)(CJ,{"data-slot":"dropdown-menu-sub-content",className:(0,V.cn)("vtl-surface-popover z-50 min-w-44 overflow-hidden rounded-[var(--surface-popover-radius)] border p-1 animate-in fade-in-0 zoom-in-95 duration-150 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:duration-100",e),...t})}function C9({label:e,options:t,value:n,trigger:r,triggerClassName:a,onSelect:i,effortOptions:o,selectedEffort:l,onEffortSelect:s}){let c=o?.find(e=>e.id===(l??""))??o?.[0];return(0,I.jsxs)(C$,{children:[(0,I.jsx)(CB,{asChild:!0,children:(0,I.jsx)(B.Button,{type:"button",variant:"ghost",size:"xs",className:(0,V.cn)("h-6 max-w-40 gap-1 rounded-md px-1.5 text-xs font-medium",a),children:r})}),(0,I.jsxs)(C1,{align:"start","aria-label":"string"==typeof e?e:void 0,className:"min-w-40 p-1",children:[t.map(e=>(0,I.jsxs)(C2,{disabled:e.disabled,className:"h-8 gap-2 px-2 text-sm",onSelect:()=>i(e),children:[(0,I.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e.label}),e.disabled?(0,I.jsx)("span",{className:"ml-auto shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground",children:"不可用"}):(0,I.jsx)(No,{className:(0,V.cn)("ml-auto size-4 text-foreground",n===e.id?"opacity-100":"opacity-0")})]},e.id)),o&&o.length>0&&s&&(0,I.jsxs)(C0,{children:[(0,I.jsxs)(C8,{className:"h-8 gap-2 px-2 text-sm",children:[(0,I.jsx)("span",{className:"min-w-0 flex-1 truncate",children:"思考强度"}),(0,I.jsx)("span",{className:"ml-auto truncate text-xs text-muted-foreground",children:Nn(c)})]}),(0,I.jsx)(C7,{className:"min-w-32 p-1",children:o.map(e=>(0,I.jsxs)(C2,{disabled:e.disabled,className:"h-8 gap-2 px-2 text-sm",onSelect:()=>s(e),children:[(0,I.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e.label}),(0,I.jsx)(No,{className:(0,V.cn)("ml-auto size-4 text-foreground",(l??"")===e.id?"opacity-100":"opacity-0")})]},e.id))})]})]})]})}let Se=(0,A.default)("corner-down-right",[["path",{d:"m15 10 5 5-5 5",key:"qqa56n"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]]),St=(0,A.default)("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]),Sn=(0,A.default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);function Sr({messages:e,labels:t,renderActions:n,onRemove:r,onNudge:a,running:i}){return(0,I.jsx)("div",{"data-slot":"agent-input-composer-queue",className:"vtl-agent-input-composer-queue z-10 mx-5 mb-[-1px] grid gap-1.5 rounded-t-lg rounded-b-none border border-border p-1.5 shadow-xs",children:e.map((e,o)=>(0,I.jsxs)("div",{"data-slot":"agent-input-composer-queue-item",className:(0,V.cn)("group/queue flex min-h-8 min-w-0 items-center gap-2 rounded-md px-2 text-sm transition-colors",e.disabled?"text-muted-foreground opacity-60":"text-foreground hover:bg-muted/60"),children:[(0,I.jsx)("span",{className:"grid size-4 shrink-0 place-items-center text-muted-foreground [&_svg]:size-3.5",children:e.icon??(0,I.jsx)(Se,{})}),(0,I.jsx)("span",{className:"min-w-0 flex-1 truncate",title:String(e.content),children:e.content}),e.meta&&(0,I.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground",children:e.meta}),(0,I.jsxs)("div",{className:"flex shrink-0 items-center gap-0.5 opacity-70 transition-opacity group-hover/queue:opacity-100",children:[n?.(e),i&&a&&(0,I.jsxs)(B.Button,{type:"button",variant:"ghost",size:"xs",className:"h-6 gap-1 px-1.5 text-muted-foreground","aria-label":`${t.guideQueuedMessage} ${o+1}`,onClick:()=>a(e.id),children:[(0,I.jsx)(Se,{className:"size-3.5"}),t.guideQueuedMessage]}),(0,I.jsx)(B.Button,{type:"button",variant:"ghost",size:"icon-xs",className:"size-6 text-muted-foreground","aria-label":`${t.removeQueuedMessage} ${o+1}`,onClick:()=>r(e.id),children:(0,I.jsx)(Sn,{})}),(0,I.jsx)(B.Button,{type:"button",variant:"ghost",size:"icon-xs",className:"size-6 text-muted-foreground","aria-label":`${t.moreQueuedMessageActions} ${o+1}`,children:(0,I.jsx)(St,{})})]})]},e.id))})}function Sa({value:e,defaultValue:t,onValueChange:n,modes:r=Nd,modeId:a,defaultModeId:i,onModeChange:o,permissionModes:l=Nu,permissionModeId:s,defaultPermissionModeId:c,onPermissionModeChange:d,models:u=Nf,hideComposerOptions:f=!1,hidePermissionMode:m=!1,modelId:h,defaultModelId:p,onModelChange:g,effortOptions:x,selectedEffort:v,onEffortChange:b,queuedMessages:y,defaultQueuedMessages:w=[],onQueuedMessagesChange:j,onQueueMessage:k,onRemoveQueuedMessage:N,queueOnTab:C=!0,renderQueuedMessageActions:S,contextUsage:M,chips:E=[],attachments:P=[],onAttachmentsChange:z,onCardDrop:A,actions:T,footer:R,running:_=!1,disabled:D=!1,submitOnEnter:L=!0,promptHistory:$,minRows:F=2,maxRows:H=7,onSubmit:U,onStop:q,onAttach:W,onNudge:K,labels:G,className:X,textareaClassName:Y,toolbarClassName:Z}){let J,Q,ee={...Nc,...G},et=O.useRef(null),en=O.useId(),er=O.useRef(0),[ea,ei]=function({value:e,defaultValue:t="",onChange:n}){let[r,a]=O.useState(t);return[e??r,O.useCallback(t=>{void 0===e&&a(t),n?.(t)},[n,e])]}({value:e,defaultValue:t,onChange:n}),eo=$??[],[el,es]=O.useState(null),ec=O.useRef(""),ed=O.useRef(!1);O.useEffect(()=>{es(null),ed.current=!1},[$]);let eu=O.useCallback(e=>{ed.current=!0,ei(e);let t=et.current;t&&requestAnimationFrame(()=>{let e=t.value.length;t.setSelectionRange(e,e)})},[ei]),[ef,em]=O.useState(w),[eh,ep]=O.useState(i??r[0]?.id),[eg,ex]=O.useState(c??l[0]?.id),[ev,eb]=O.useState(p??u[0]?.id),ey=a??eh,ew=s??eg,ej=h??ev,ek=r.find(e=>e.id===ey)??r[0],eN=l.find(e=>e.id===ew)??l[0],eC=u.find(e=>e.id===ej)??u[0],eS=y??ef,eM=(ea.trim().length>0||P.length>0)&&!D;function eE(){eM&&(U?.({value:ea,modeId:ek?.id,modelId:eC?.id,attachments:P.length>0?P:void 0}),es(null),ed.current=!1,ec.current="",ei(""),P.length>0&&z?.([]))}async function eI(e){if(0===e.length||!z)return;let t=[];for(let n of e){let e=`att-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`;if(n.type.startsWith("image/")){let r=await function(e){return new Promise(t=>{let n=new FileReader;n.onload=()=>t("string"==typeof n.result?n.result:""),n.onerror=()=>t(""),n.readAsDataURL(e)})}(n);if(!r)continue;t.push({id:e,kind:"image",name:n.name||"image.png",mimeType:n.type||"image/png",dataUrl:r,size:n.size})}else{let r=await function(e){return new Promise(t=>{let n=new FileReader;n.onload=()=>t("string"==typeof n.result?n.result:""),n.onerror=()=>t(""),n.readAsText(e)})}(n),a=(n.name.split(".").pop()??"").toLowerCase();t.push({id:e,kind:"file",name:n.name||"file.txt",mimeType:n.type||"text/plain",text:r,ext:a,size:n.size})}}t.length>0&&z([...P,...t])}function eP(e){void 0===y&&em(e),j?.(e)}function eO(){let e=ea.trim();if(!e||D)return!1;er.current+=1;let t={id:`${en}-queued-${er.current}`,content:e},n=[...eS,t];return eP(n),k?.(t,n),ei(""),!0}return O.useLayoutEffect(()=>{let e=et.current;if(!e)return;e.style.height="0px";let t=Number.parseFloat(getComputedStyle(e).lineHeight),n=Number.isFinite(t)?t*H:160;e.style.height=`${Math.min(e.scrollHeight,n)}px`,e.style.overflowY=e.scrollHeight>n?"auto":"hidden"},[H,ea]),(0,I.jsxs)("div",{"data-slot":"agent-input-composer","data-running":_,className:(0,V.cn)("relative grid w-full",X),children:[eS.length>0&&(0,I.jsx)(Sr,{messages:eS,labels:ee,renderActions:S,onRemove:function(e){let t=eS.find(t=>t.id===e);if(!t)return;let n=eS.filter(t=>t.id!==e);eP(n),N?.(e,t,n)},onNudge:K,running:_}),(0,I.jsxs)("div",{"data-slot":"agent-input-composer-surface",className:(0,V.cn)("vtl-agent-input-composer-surface relative grid w-full gap-2 rounded-lg border border-border p-2 shadow-sm transition-colors"),onDragOver:A?e=>{e.dataTransfer.types.length>0&&(e.preventDefault(),e.dataTransfer.dropEffect="copy")}:void 0,onDrop:A?e=>{let t=A(e);t&&z&&(e.preventDefault(),z([...P,t]))}:void 0,children:[E.length>0&&(0,I.jsx)("div",{"data-slot":"agent-input-composer-context",className:"flex min-w-0 flex-wrap items-center gap-1.5",children:E.map(e=>(0,I.jsx)(eY,{chip:e,removeLabel:ee.removeChip},e.id))}),P.length>0&&(0,I.jsx)("div",{"data-slot":"agent-input-composer-attachments",className:"flex min-w-0 flex-wrap items-center gap-2",children:P.map(e=>(0,I.jsx)(eW,{attachment:e,removeLabel:ee.removeAttachment,onRemove:()=>z?.(P.filter(t=>t.id!==e.id))},e.id))}),(0,I.jsx)("textarea",{ref:et,value:ea,disabled:D,rows:F,placeholder:ee.placeholder,"data-slot":"agent-input-composer-textarea",className:(0,V.cn)("min-h-10 w-full resize-none border-0 bg-transparent px-0.5 py-0 text-sm leading-5 text-foreground outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-60","[scrollbar-width:none] [&::-webkit-scrollbar]:hidden",Y),onChange:e=>{var t;return t=e.currentTarget.value,void(!ed.current&&null!==el&&es(null),ed.current=!1,ei(t))},onPaste:function(e){let t=Array.from(e.clipboardData?.files??[]);0!==t.length&&z&&(e.preventDefault(),eI(t))},onKeyDown:e=>{eo.length>0&&e.shiftKey&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&("ArrowUp"===e.key||"ArrowDown"===e.key)&&!e.nativeEvent.isComposing&&function(e){if(0===eo.length)return!1;if("older"===e){if(null===el){ec.current=ea;let e=eo.length-1;return es(e),eu(eo[e]??""),!0}if(el<=0)return!0;let e=el-1;return es(e),eu(eo[e]??""),!0}if(null===el)return!1;let t=el+1;return t>=eo.length?(es(null),ed.current=!1,eu(ec.current),ed.current=!1):(es(t),eu(eo[t]??"")),!0}("ArrowUp"===e.key?"older":"newer")?e.preventDefault():C&&"Tab"===e.key&&!e.shiftKey&&!e.nativeEvent.isComposing&&eO()?e.preventDefault():!L||"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),_?eO():eE())}}),(0,I.jsxs)("div",{"data-slot":"agent-input-composer-toolbar",className:(0,V.cn)("grid grid-cols-[minmax(0,1fr)_auto] items-end gap-2",Z),children:[(0,I.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:[!f&&(0,I.jsxs)(I.Fragment,{children:[!m&&(0,I.jsx)(C9,{label:"Permissions",options:l,value:eN?.id,trigger:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)("span",{className:"grid size-3.5 place-items-center text-muted-foreground [&_svg]:size-3",children:eN?.icon??(0,I.jsx)(eB,{})}),(0,I.jsx)("span",{className:"hidden truncate md:inline",children:Nn(eN)}),(0,I.jsx)(eD,{className:"size-3 text-muted-foreground"})]}),triggerClassName:"rounded-md bg-transparent px-1.5 text-muted-foreground hover:bg-muted/60 hover:text-foreground aria-expanded:bg-muted/70",onSelect:function(e){e.disabled||(void 0===s&&ex(e.id),d?.(e.id,e))}}),(0,I.jsx)(C9,{label:ee.model,options:u,value:eC?.id,trigger:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)("span",{className:"grid size-3.5 place-items-center text-muted-foreground [&_svg]:size-3 md:hidden",children:(0,I.jsx)(eV,{})}),(0,I.jsx)("span",{className:"hidden truncate md:inline",children:Nn(eC)}),(0,I.jsx)(eD,{className:"size-3 text-muted-foreground"})]}),triggerClassName:"rounded-md bg-transparent px-1.5 text-muted-foreground hover:bg-muted/60 hover:text-foreground aria-expanded:bg-muted/70",onSelect:function(e){e.disabled||(void 0===h&&eb(e.id),g?.(e.id,e))},effortOptions:x,selectedEffort:v,onEffortSelect:function(e){e.disabled||b?.(e.id,e)}})]}),W&&(0,I.jsx)(B.Button,{type:"button",variant:"ghost",size:"icon-xs",className:"text-muted-foreground","aria-label":ee.attach,title:ee.attach,onClick:W,disabled:D,children:(0,I.jsx)(eF,{})}),T]}),(0,I.jsxs)("div",{className:"flex items-center gap-1",children:[M&&(0,I.jsx)(Na,{usage:M,labels:ee}),(J=ea.trim().length>0,Q=_&&!J,(0,I.jsx)(B.Button,{type:"button",size:"icon-xs",variant:Q?"outline":"default","aria-label":Q?ee.stop:ee.send,title:Q?ee.stop:ee.send,disabled:!_&&!eM,className:"rounded-full",onClick:Q?q:_?()=>eO():eE,children:Q?(0,I.jsx)(eH,{className:"size-3 fill-current"}):(0,I.jsx)(e_,{className:"size-3.5"})}))]})]}),R&&(0,I.jsx)("div",{"data-slot":"agent-input-composer-footer",className:"flex min-w-0 items-center gap-2 text-xs text-muted-foreground",children:R})]})]})}function Si({corner:e,stageClassName:t,className:n,children:r,...a}){return(0,I.jsxs)("div",{className:["vtl-splash",n].filter(Boolean).join(" "),...a,children:[(0,I.jsx)("div",{className:"welcome-layer",children:(0,I.jsx)("div",{className:["welcome-stage",t].filter(Boolean).join(" "),children:r})}),e]})}async function So(){return Sm("/api/local/model-routes")}async function Sl(e){return Sm("/api/local/model-routes/probe",{method:"POST",body:JSON.stringify(e)})}async function Ss(e){return Sm("/api/local/model-routes",{method:"POST",body:JSON.stringify(e)})}async function Sc(e){await Sm(`/api/local/model-routes/${encodeURIComponent(e)}`,{method:"DELETE"})}async function Sd(e){return Sm("/api/local/model-routes/test-model",{method:"POST",body:JSON.stringify(e)})}async function Su(e){return Sm("/api/local/model-routes/smart-add",{method:"POST",body:JSON.stringify({text:e})})}async function Sf(e,t){return Sm(`/api/local/model-routes/${encodeURIComponent(e)}/toggle`,{method:"POST",body:JSON.stringify({enabled:t})})}async function Sm(e,t){let n=await fetch((0,U.localAPIURL)(e),{cache:"no-store",...t,headers:{...t?.body?{"Content-Type":"application/json"}:{},...t?.headers}}),r=await n.json().catch(()=>({}));if(!n.ok)throw Error("string"==typeof r?.error?r.error:"model route api failed");return r}async function Sh(){return(await So()).models.map(e=>({value:e.id,label:e.label,contextLength:e.contextLength??0,providerName:e.providerName,available:e.available??!0}))}let Sp=[],Sg=!1,Sx=null,Sv=new Set,Sb=null,Sy=null;function Sw(){return Sx||(Sx=(async()=>{try{let e=await Sh();for(let t of(Sp=e,Sg=!0,Sv))t();return e}finally{Sx=null}})())}function Sj(){Sx=null,Sg=!1,Sw().catch(()=>{})}function Sk(){let[e,t]=O.useState(Sp),[n,r]=O.useState(!Sg),a=O.useCallback(async()=>{r(!0);try{let e=await Sw();t(e)}catch{}finally{r(!1)}},[]);return O.useEffect(()=>{var e;let n=(e=()=>{t(Sp),r(!1)},Sv.add(e),1===Sv.size&&null===Sb&&(Sb=setInterval(()=>{("u"<typeof document||"visible"===document.visibilityState)&&Sw().catch(()=>{})},3e4),"u">typeof document&&(Sy=()=>{"visible"===document.visibilityState&&Sw().catch(()=>{})},document.addEventListener("visibilitychange",Sy))),()=>{Sv.delete(e),0===Sv.size&&(null!==Sb&&(clearInterval(Sb),Sb=null),Sy&&"u">typeof document&&(document.removeEventListener("visibilitychange",Sy),Sy=null))});return Sg?(t(Sp),r(!1)):Sw().then(e=>{t(e)}).catch(()=>{}).finally(()=>{r(!1)}),n},[]),{models:e,loading:n,refresh:a}}function SN({label:e,htmlFor:t,index:n=0,hint:r,className:a,children:i}){return(0,I.jsxs)("div",{className:(0,V.cn)("vtl-underline-field",a),style:{animationDelay:`${90*n}ms`},children:[(0,I.jsx)("label",{className:"vtl-underline-field__label",htmlFor:t,children:e}),(0,I.jsx)("div",{className:"vtl-underline-field__control",children:i}),r?(0,I.jsx)("p",{className:"vtl-underline-field__hint",children:r}):null]})}let SC=(0,A.default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);function SS(e){let t=O.useRef({value:e,previous:e});return O.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var SM="Checkbox",[SE,SI]=wt(SM),[SP,SO]=SE(SM);function Sz(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:a,disabled:i,form:o,name:l,onCheckedChange:s,required:c,value:d="on",internal_do_not_use_render:u}=e,[f,m]=j4({prop:n,defaultProp:a??!1,onChange:s,caller:SM}),[h,p]=O.useState(null),[g,x]=O.useState(null),v=O.useRef(!1),b=!h||!!o||!!h.closest("form"),y={checked:f,disabled:i,setChecked:m,control:h,setControl:p,name:l,form:o,value:d,hasConsumerStoppedPropagationRef:v,required:c,defaultChecked:!SF(a)&&a,isFormControl:b,bubbleInput:g,setBubbleInput:x};return(0,I.jsx)(SP,{scope:t,...y,children:"function"==typeof u?u(y):r})}var SA="CheckboxTrigger",ST=O.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},a)=>{let{control:i,value:o,disabled:l,checked:s,required:c,setControl:d,setChecked:u,hasConsumerStoppedPropagationRef:f,isFormControl:m,bubbleInput:h}=SO(SA,e),p=(0,we.useComposedRefs)(a,d),g=O.useRef(s);return O.useEffect(()=>{let e=i?.form;if(e){let t=()=>u(g.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[i,u]),(0,I.jsx)(wi.button,{type:"button",role:"checkbox","aria-checked":SF(s)?"mixed":s,"aria-required":c,"data-state":SB(s),"data-disabled":l?"":void 0,disabled:l,value:o,...r,ref:p,onKeyDown:y9(t,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:y9(n,e=>{u(e=>!!SF(e)||!e),h&&m&&(f.current=e.isPropagationStopped(),f.current||e.stopPropagation())})})});ST.displayName=SA;var SR=O.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:a,defaultChecked:i,required:o,disabled:l,value:s,onCheckedChange:c,form:d,...u}=e;return(0,I.jsx)(Sz,{__scopeCheckbox:n,checked:a,defaultChecked:i,disabled:l,required:o,onCheckedChange:c,name:r,form:d,value:s,internal_do_not_use_render:({isFormControl:e})=>(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(ST,{...u,ref:t,__scopeCheckbox:n}),e&&(0,I.jsx)(S$,{__scopeCheckbox:n})]})})});SR.displayName=SM;var S_="CheckboxIndicator",SD=O.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...a}=e,i=SO(S_,n);return(0,I.jsx)(j2,{present:r||SF(i.checked)||!0===i.checked,children:(0,I.jsx)(wi.span,{"data-state":SB(i.checked),"data-disabled":i.disabled?"":void 0,...a,ref:t,style:{pointerEvents:"none",...e.style}})})});SD.displayName=S_;var SL="CheckboxBubbleInput",S$=O.forwardRef(({__scopeCheckbox:e,...t},n)=>{let{control:r,hasConsumerStoppedPropagationRef:a,checked:i,defaultChecked:o,required:l,disabled:s,name:c,value:d,form:u,bubbleInput:f,setBubbleInput:m}=SO(SL,e),h=(0,we.useComposedRefs)(n,m),p=SS(i),g=j_(r);O.useEffect(()=>{if(!f)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!a.current;if(p!==i&&e){let n=new Event("click",{bubbles:t});f.indeterminate=SF(i),e.call(f,!SF(i)&&i),f.dispatchEvent(n)}},[f,p,i,a]);let x=O.useRef(!SF(i)&&i);return(0,I.jsx)(wi.input,{type:"checkbox","aria-hidden":!0,defaultChecked:o??x.current,required:l,disabled:s,name:c,value:d,form:u,...t,tabIndex:-1,ref:h,style:{...t.style,...g,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function SF(e){return"indeterminate"===e}function SB(e){return SF(e)?"indeterminate":e?"checked":"unchecked"}function SV({className:e,...t}){return(0,I.jsx)(SR,{"data-slot":"checkbox",className:(0,V.cn)("peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input bg-background shadow-xs transition-colors outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:data-[state=checked]:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary",e),...t,children:(0,I.jsx)(SD,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none [&>svg]:size-3.5",children:(0,I.jsx)(No,{})})})}function SH(e){let{models:t,loading:n}=e,[r,a]=O.useState(""),i=O.useMemo(()=>"multi"===e.mode?e.value:e.value?[e.value]:[],[e]),o=O.useMemo(()=>new Set(i),[i]),l="multi"===e.mode?e.primaryModelId:void 0,s=null===l?void 0:l&&o.has(l)?l:void 0===l?i[0]:void 0,c=O.useMemo(()=>t.filter(e=>!1!==e.available),[t]),d=O.useMemo(()=>{let e=new Map;for(let t of c){let n=t.providerName?.trim()||"其他",r=e.get(n);r?r.push(t):e.set(n,[t])}return Array.from(e.entries()).map(([e,t])=>({provider:e,models:t}))},[c]),u=O.useMemo(()=>{let e=r.trim().toLowerCase();return e?d.map(t=>({provider:t.provider,models:t.models.filter(n=>n.label.toLowerCase().includes(e)||t.provider.toLowerCase().includes(e))})).filter(e=>e.models.length>0):d},[d,r]),f=O.useMemo(()=>new Set(c.map(e=>e.value)),[c]),m=O.useMemo(()=>new Map(t.map(e=>[e.value,e])),[t]),h=O.useMemo(()=>"multi"!==e.mode?[]:i.filter(e=>!f.has(e)).map(e=>{let t=m.get(e);return{id:e,label:t?.label??e,provider:t?.providerName?.trim()||""}}),[e.mode,i,f,m]),p=O.useMemo(()=>{let e=r.trim().toLowerCase();return e?h.filter(t=>t.id.toLowerCase().includes(e)||t.label.toLowerCase().includes(e)||t.provider.toLowerCase().includes(e)):h},[h,r]),g=O.useCallback(t=>{"single"===e.mode?e.onChange(e.value===t?"":t):e.onChange(o.has(t)?e.value.filter(e=>e!==t):[...e.value,t])},[e,o]),x=O.useCallback(t=>{if("multi"!==e.mode)return;let n=t.map(e=>e.value);if(n.every(e=>o.has(e))){let t=new Set(n);e.onChange(e.value.filter(e=>!t.has(e)))}else{let t=n.filter(e=>!o.has(e));e.onChange([...e.value,...t])}},[e,o]),v="single"===e.mode?e.clearLabel??"无 / 默认":"";return(0,I.jsxs)("div",{className:"grid gap-2",children:[(0,I.jsxs)("div",{className:"relative",children:[(0,I.jsx)(SC,{className:"pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,I.jsx)(H,{value:r,onChange:e=>a(e.target.value),placeholder:"搜索模型或渠道...",className:"h-8 pl-8"})]}),(0,I.jsxs)("div",{className:"grid max-h-[min(22rem,50svh)] gap-3 overflow-auto rounded-lg border bg-card/40 p-2",children:["single"===e.mode?(0,I.jsxs)("div",{role:"button",tabIndex:0,"aria-pressed":""===e.value,onClick:()=>e.onChange(""),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),e.onChange(""))},className:(0,V.cn)("flex cursor-pointer items-center gap-2.5 rounded-md px-2 py-1.5 text-left text-sm outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring/50",""===e.value?"bg-primary/10 text-foreground":"hover:bg-muted"),children:[(0,I.jsx)(SV,{checked:""===e.value,tabIndex:-1,className:"pointer-events-none"}),(0,I.jsx)("span",{className:"min-w-0 flex-1 truncate text-muted-foreground",children:v})]}):null,n&&0===t.length?(0,I.jsx)("p",{className:"px-2 py-6 text-center text-xs text-muted-foreground",children:"读取模型中…"}):0===u.length&&0===p.length?(0,I.jsx)("p",{className:"px-2 py-6 text-center text-xs text-muted-foreground",children:0===t.length?e.emptyHint??"没有可用模型":"没有匹配的模型"}):(0,I.jsxs)(I.Fragment,{children:[u.map(t=>{let n=t.models.map(e=>e.value),r=n.filter(e=>o.has(e)).length,a=r===n.length;return(0,I.jsxs)("div",{className:"grid gap-1",children:[(0,I.jsxs)("div",{className:"flex items-center justify-between gap-2 px-1",children:[(0,I.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,I.jsx)("span",{className:"truncate text-xs font-semibold text-foreground",children:t.provider}),(0,I.jsxs)("span",{className:"shrink-0 text-[11px] text-muted-foreground",children:[r,"/",n.length]})]}),"multi"===e.mode?(0,I.jsx)(B.Button,{type:"button",variant:"ghost",size:"sm",className:"h-6 shrink-0 px-2 text-xs",onClick:()=>x(t.models),children:a?"取消全选":"全选"}):null]}),(0,I.jsx)("div",{className:"grid gap-0.5",children:t.models.map(t=>{let n=o.has(t.value),r="multi"===e.mode&&t.value===s;return(0,I.jsxs)("div",{role:"button",tabIndex:0,"aria-pressed":n,onClick:()=>g(t.value),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),g(t.value))},className:(0,V.cn)("flex cursor-pointer items-center gap-2.5 rounded-md px-2 py-1.5 text-left text-sm outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring/50",n?"bg-primary/10 text-foreground":"hover:bg-muted"),children:[(0,I.jsx)(SV,{checked:n,tabIndex:-1,className:"pointer-events-none"}),(0,I.jsx)("span",{className:"min-w-0 flex-1 truncate",children:t.label}),r?(0,I.jsx)("span",{className:"shrink-0 rounded bg-primary/15 px-1.5 py-0.5 text-[10px] font-medium text-primary",children:"主"}):null]},t.value)})})]},t.provider)}),p.length>0?(0,I.jsxs)("div",{className:"grid gap-1",children:[(0,I.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,I.jsx)("span",{className:"truncate text-xs font-semibold text-muted-foreground",children:"已禁用 / 不可用"}),(0,I.jsx)("span",{className:"shrink-0 text-[11px] text-muted-foreground",children:p.length})]}),(0,I.jsx)("div",{className:"grid gap-0.5",children:p.map(e=>(0,I.jsxs)("div",{role:"button",tabIndex:0,"aria-pressed":!0,title:"该模型所属渠道已禁用或不可用,点击可移除",onClick:()=>g(e.id),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),g(e.id))},className:(0,V.cn)("flex cursor-pointer items-center gap-2.5 rounded-md px-2 py-1.5 text-left text-sm opacity-60 outline-none transition-colors hover:bg-muted hover:opacity-100 focus-visible:ring-2 focus-visible:ring-ring/50"),children:[(0,I.jsx)(SV,{checked:!0,tabIndex:-1,className:"pointer-events-none"}),(0,I.jsxs)("span",{className:"min-w-0 flex-1 truncate text-muted-foreground",children:[e.label,e.provider?(0,I.jsxs)("span",{className:"ml-1.5 text-[11px] text-muted-foreground/70",children:["· ",e.provider]}):null]}),(0,I.jsx)("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground",children:"不可用"})]},e.id))})]}):null]})]})]})}S$.displayName=SL;let SU="你现在想和谁对话?",Sq=[{value:"openai-v1",label:"OpenAI v1"},{value:"anthropic",label:"Anthropic"},{value:"openai-responses",label:"OpenAI Responses"},{value:"codex",label:"Codex"}];function SW({hasRoutes:e,existingModels:t,onHeadline:n,onComplete:r}){let[a,i]=O.useState(e?"pickModel":"routeForm"),[o,l]=O.useState(""),[s,c]=O.useState(""),[d,u]=O.useState("openai-v1"),[f,m]=O.useState(!1),[h,p]=O.useState(!1),[g,x]=O.useState(""),[v,b]=O.useState([]),[y,w]=O.useState(""),[j,k]=O.useState([]),[N,C]=O.useState([]),[S,M]=O.useState("");O.useEffect(()=>{n(e?SU:"需要先配置模型路由")},[]);let E=O.useMemo(()=>(function(e){try{let t=new URL(e.trim()).hostname.replace(/^api\./i,"").split("."),n=t.length>1?t[t.length-2]:t[0];return n&&n.length>0?n:"渠道"}catch{return"渠道"}})(o),[o]),P=O.useMemo(()=>v.map(e=>({value:e.id,label:e.displayName??e.id,contextLength:e.contextLength??0,providerName:E,available:!0})),[v,E]),z=o.trim().length>0&&s.trim().length>0&&!f;async function A(){x(""),m(!0);let e=function(e){let t=e.trim().replace(/\/+$/,"");if(!t)return[];let n=[t];return/\/v\d+(?:beta)?$/i.test(t)?n.push(t.replace(/\/v\d+(?:beta)?$/i,"")):n.push(`${t}/v1`),Array.from(new Set(n.filter(Boolean)))}(o),t="拉取模型失败";for(let n of e)try{let{models:e}=await Sl({providerName:E,protocol:d,endpointUrl:n,apiKey:s.trim()});if(e&&e.length>0){b(e),w(n),k(e.map(e=>e.id)),m(!1),i("selectModels");return}t="未能拉取到任何模型,请检查端点或协议"}catch(e){t=e instanceof Error?e.message:String(e)}m(!1),x(t)}async function T(){if(0===j.length)return void x("请至少选择一个模型");x(""),p(!0);try{let e=await Ss({providerName:E,protocol:d,endpointUrl:y||o.trim(),apiKey:s.trim(),models:v,selectedModelIds:j});Sj();let t=e.models.filter(t=>e.selectedModelIds.includes(t.id)).map(t=>({value:`${e.id}:${t.id}`,label:t.displayName??t.id,contextLength:t.contextLength??0,providerName:e.providerName,available:!0}));C(t),M(t[0]?.value??""),n(SU),i("pickModel")}catch(e){x(e instanceof Error?e.message:String(e))}finally{p(!1)}}return"routeForm"===a?(0,I.jsxs)("div",{className:"vtl-immersive-panel",children:[(0,I.jsx)(SN,{label:"API 端点",htmlFor:"vtl-onboard-endpoint",index:0,children:(0,I.jsx)("input",{id:"vtl-onboard-endpoint",className:"vtl-underline-input",type:"text",inputMode:"url",autoComplete:"off",spellCheck:!1,placeholder:"https://api.openai.com/v1",value:o,onChange:e=>l(e.target.value)})}),(0,I.jsx)(SN,{label:"API Key",htmlFor:"vtl-onboard-key",index:1,children:(0,I.jsx)("input",{id:"vtl-onboard-key",className:"vtl-underline-input",type:"password",autoComplete:"off",spellCheck:!1,placeholder:"sk-…",value:s,onChange:e=>c(e.target.value)})}),(0,I.jsx)(SN,{label:"选择协议",index:2,children:(0,I.jsx)("div",{className:"vtl-underline-segment",role:"group","aria-label":"协议",children:Sq.map(e=>(0,I.jsx)("button",{type:"button","data-active":d===e.value,onClick:()=>u(e.value),children:e.label},e.value))})}),g?(0,I.jsx)("p",{className:"vtl-immersive-panel__error",children:g}):null,(0,I.jsx)("div",{className:"vtl-immersive-panel__actions",style:{animationDelay:"270ms"},children:(0,I.jsx)(B.Button,{onClick:A,disabled:!z,children:f?"正在拉取模型…":"拉取模型"})})]}):"selectModels"===a?(0,I.jsxs)("div",{className:"vtl-immersive-panel",children:[(0,I.jsx)("div",{className:"vtl-immersive-models",children:(0,I.jsx)(SH,{mode:"multi",models:P,value:j,onChange:k,emptyHint:"没有可选的模型"})}),g?(0,I.jsx)("p",{className:"vtl-immersive-panel__error",children:g}):null,(0,I.jsxs)("div",{className:"vtl-immersive-panel__actions",children:[(0,I.jsx)(B.Button,{variant:"ghost",onClick:()=>{x(""),i("routeForm")},children:"返回"}),(0,I.jsx)(B.Button,{onClick:T,disabled:h||0===j.length,children:h?"保存中…":"确认"})]})]}):(0,I.jsxs)("div",{className:"vtl-immersive-panel",children:[(0,I.jsx)("div",{className:"vtl-immersive-models",children:(0,I.jsx)(SH,{mode:"single",models:e?t:N,value:S,onChange:M,clearLabel:"不选择",emptyHint:"没有可用模型"})}),g?(0,I.jsx)("p",{className:"vtl-immersive-panel__error",children:g}):null,(0,I.jsx)("div",{className:"vtl-immersive-panel__actions",children:(0,I.jsx)(B.Button,{onClick:()=>r(S),disabled:!S,children:"开始"})})]})}let SK="别来无恙,想干点什么?",SG={size:22,stopColor1:"var(--icon-stop-1)",stopColor2:"var(--icon-stop-2)","aria-hidden":!0};function SX(){let{exitImmersive:e}=eC(),{resolvedTheme:t,setTheme:n}=(0,eP.useTheme)(),{models:r}=Sk(),[a,i]=O.useState("brand"),[o,l]=O.useState(""),[s,c]=O.useState(!1),[d,u]=O.useState(!1),[f,m]=O.useState([]),[h,p]=O.useState(""),[g,x]=O.useState(!1),[v,b]=O.useState([]),y=O.useCallback(e=>{m(t=>t[t.length-1]===e?t:[...t,e])},[]),w=O.useCallback(e=>{l(e),"brand"!==a||s||""===e.trim()||c(!0)},[a,s]),j=O.useCallback(()=>{c(!1),i(e=>"brand"===e?"greeting":e),m(e=>0===e.length?[SK]:e)},[]),k=O.useCallback(async e=>{if(""===e.value.trim())return;u(!0);let[t]=await Promise.all([So().then(e=>e.models).catch(()=>[]),new Promise(e=>setTimeout(e,320))]),n=t.filter(e=>!1!==e.available);x(n.length>0),b(n.map(e=>({value:e.id,label:e.label,contextLength:e.contextLength??0,providerName:e.providerName,available:!0}))),i("onboarding")},[]),N=O.useCallback(e=>{p(e),y(SK),u(!1),i("ready")},[y]),C=O.useMemo(()=>r.map(e=>({id:e.value,label:e.label})),[r]),S=[{id:"theme",label:"切换主题",icon:O.createElement(eA,SG),onClick:()=>n("dark"===t?"light":"dark")},{id:"mode",label:"切换模式(返回专业版)",icon:O.createElement(eT,SG),onClick:e}];return(0,I.jsxs)(Si,{stageClassName:"gap-6",corner:(0,I.jsx)(ez,{groupLabel:"快捷操作",items:S}),children:[(0,I.jsx)("div",{className:"flex min-h-[1.6em] items-center justify-center",children:"brand"===a?(0,I.jsx)("div",{className:(0,V.cn)("vtl-immersive-brand",s&&"vtl-immersive-brand--erasing"),onAnimationEnd:s?j:void 0,children:(0,I.jsx)(eO,{})}):(0,I.jsx)(eR,{className:"vtl-immersive-headline",text:f.length>0?f:[SK],loop:!1,typingSpeed:48,deletingSpeed:24,pauseDuration:420,cursorCharacter:"▍"},"immersive-headline")}),"onboarding"===a?(0,I.jsx)(SW,{hasRoutes:g,existingModels:v,onHeadline:y,onComplete:N}):(0,I.jsx)("div",{className:(0,V.cn)("vtl-immersive-composer",d&&"vtl-immersive-composer--leaving"),children:(0,I.jsx)(Sa,{minRows:3,value:o,onValueChange:w,onSubmit:"ready"===a?void 0:k,hideComposerOptions:"ready"!==a,hidePermissionMode:!0,models:"ready"===a?C:void 0,modelId:"ready"===a?h:void 0,onModelChange:"ready"===a?p:void 0,labels:{placeholder:"告诉智能体你想做什么…"}})})]})}function SY(){return(0,I.jsx)(SX,{})}let SZ=(0,A.default)("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]),SJ=(0,A.default)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);function SQ(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)""!==(r=SQ(e[n]))&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var S0={value:()=>{}};function S1(){for(var e,t=0,n=arguments.length,r={};t<n;++t){if(!(e=arguments[t]+"")||e in r||/[\s.]/.test(e))throw Error("illegal type: "+e);r[e]=[]}return new S2(r)}function S2(e){this._=e}function S5(e,t,n){for(var r=0,a=e.length;r<a;++r)if(e[r].name===t){e[r]=S0,e=e.slice(0,r).concat(e.slice(r+1));break}return null!=n&&e.push({name:t,value:n}),e}function S3(){}function S4(e){return null==e?S3:function(){return this.querySelector(e)}}function S6(){return[]}function S8(e){return null==e?S6:function(){return this.querySelectorAll(e)}}function S7(e){return function(){return this.matches(e)}}function S9(e){return function(t){return t.matches(e)}}S2.prototype=S1.prototype={constructor:S2,on:function(e,t){var n,r=this._,a=(e+"").trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");if(n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),e&&!r.hasOwnProperty(e))throw Error("unknown type: "+e);return{type:e,name:t}}),i=-1,o=a.length;if(arguments.length<2){for(;++i<o;)if((n=(e=a[i]).type)&&(n=function(e,t){for(var n,r=0,a=e.length;r<a;++r)if((n=e[r]).name===t)return n.value}(r[n],e.name)))return n;return}if(null!=t&&"function"!=typeof t)throw Error("invalid callback: "+t);for(;++i<o;)if(n=(e=a[i]).type)r[n]=S5(r[n],e.name,t);else if(null==t)for(n in r)r[n]=S5(r[n],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new S2(e)},call:function(e,t){if((n=arguments.length-2)>0)for(var n,r,a=Array(n),i=0;i<n;++i)a[i]=arguments[i+2];if(!this._.hasOwnProperty(e))throw Error("unknown type: "+e);for(r=this._[e],i=0,n=r.length;i<n;++i)r[i].value.apply(t,a)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error("unknown type: "+e);for(var r=this._[e],a=0,i=r.length;a<i;++a)r[a].value.apply(t,n)}};var Me=Array.prototype.find;function Mt(){return this.firstElementChild}var Mn=Array.prototype.filter;function Mr(){return Array.from(this.children)}function Ma(e){return Array(e.length)}function Mi(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function Mo(e,t,n,r,a,i){for(var o,l=0,s=t.length,c=i.length;l<c;++l)(o=t[l])?(o.__data__=i[l],r[l]=o):n[l]=new Mi(e,i[l]);for(;l<s;++l)(o=t[l])&&(a[l]=o)}function Ml(e,t,n,r,a,i,o){var l,s,c,d=new Map,u=t.length,f=i.length,m=Array(u);for(l=0;l<u;++l)(s=t[l])&&(m[l]=c=o.call(s,s.__data__,l,t)+"",d.has(c)?a[l]=s:d.set(c,s));for(l=0;l<f;++l)c=o.call(e,i[l],l,i)+"",(s=d.get(c))?(r[l]=s,s.__data__=i[l],d.delete(c)):n[l]=new Mi(e,i[l]);for(l=0;l<u;++l)(s=t[l])&&d.get(m[l])===s&&(a[l]=s)}function Ms(e){return e.__data__}function Mc(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}Mi.prototype={constructor:Mi,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var Md="http://www.w3.org/1999/xhtml";let Mu={svg:"http://www.w3.org/2000/svg",xhtml:Md,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Mf(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),Mu.hasOwnProperty(t)?{space:Mu[t],local:e}:e}function Mm(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Mh(e,t){return e.style.getPropertyValue(t)||Mm(e).getComputedStyle(e,null).getPropertyValue(t)}function Mp(e){return e.trim().split(/^|\s+/)}function Mg(e){return e.classList||new Mx(e)}function Mx(e){this._node=e,this._names=Mp(e.getAttribute("class")||"")}function Mv(e,t){for(var n=Mg(e),r=-1,a=t.length;++r<a;)n.add(t[r])}function Mb(e,t){for(var n=Mg(e),r=-1,a=t.length;++r<a;)n.remove(t[r])}function My(){this.textContent=""}function Mw(){this.innerHTML=""}function Mj(){this.nextSibling&&this.parentNode.appendChild(this)}function Mk(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function MN(e){var t=Mf(e);return(t.local?function(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}:function(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Md&&t.documentElement.namespaceURI===Md?t.createElement(e):t.createElementNS(n,e)}})(t)}function MC(){return null}function MS(){var e=this.parentNode;e&&e.removeChild(this)}function MM(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ME(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function MI(e){return function(){var t=this.__on;if(t){for(var n,r=0,a=-1,i=t.length;r<i;++r)(n=t[r],e.type&&n.type!==e.type||n.name!==e.name)?t[++a]=n:this.removeEventListener(n.type,n.listener,n.options);++a?t.length=a:delete this.__on}}}function MP(e,t,n){return function(){var r,a=this.__on,i=function(e){t.call(this,e,this.__data__)};if(a){for(var o=0,l=a.length;o<l;++o)if((r=a[o]).type===e.type&&r.name===e.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=i,r.options=n),r.value=t;return}}this.addEventListener(e.type,i,n),r={type:e.type,name:e.name,value:t,listener:i,options:n},a?a.push(r):this.__on=[r]}}function MO(e,t,n){var r=Mm(e),a=r.CustomEvent;"function"==typeof a?a=new a(t,n):(a=r.document.createEvent("Event"),n?(a.initEvent(t,n.bubbles,n.cancelable),a.detail=n.detail):a.initEvent(t,!1,!1)),e.dispatchEvent(a)}Mx.prototype={add:function(e){0>this._names.indexOf(e)&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var Mz=[null];function MA(e,t){this._groups=e,this._parents=t}function MT(){return new MA([[document.documentElement]],Mz)}function MR(e){return"string"==typeof e?new MA([[document.querySelector(e)]],[document.documentElement]):new MA([[e]],Mz)}function M_(e,t){if(e=function(e){let t;for(;t=e.sourceEvent;)e=t;return e}(e),void 0===t&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}if(t.getBoundingClientRect){var a=t.getBoundingClientRect();return[e.clientX-a.left-t.clientLeft,e.clientY-a.top-t.clientTop]}}return[e.pageX,e.pageY]}MA.prototype=MT.prototype={constructor:MA,select:function(e){"function"!=typeof e&&(e=S4(e));for(var t=this._groups,n=t.length,r=Array(n),a=0;a<n;++a)for(var i,o,l=t[a],s=l.length,c=r[a]=Array(s),d=0;d<s;++d)(i=l[d])&&(o=e.call(i,i.__data__,d,l))&&("__data__"in i&&(o.__data__=i.__data__),c[d]=o);return new MA(r,this._parents)},selectAll:function(e){if("function"==typeof e){var t;t=e,e=function(){var e;return e=t.apply(this,arguments),null==e?[]:Array.isArray(e)?e:Array.from(e)}}else e=S8(e);for(var n=this._groups,r=n.length,a=[],i=[],o=0;o<r;++o)for(var l,s=n[o],c=s.length,d=0;d<c;++d)(l=s[d])&&(a.push(e.call(l,l.__data__,d,s)),i.push(l));return new MA(a,i)},selectChild:function(e){var t;return this.select(null==e?Mt:(t="function"==typeof e?e:S9(e),function(){return Me.call(this.children,t)}))},selectChildren:function(e){var t;return this.selectAll(null==e?Mr:(t="function"==typeof e?e:S9(e),function(){return Mn.call(this.children,t)}))},filter:function(e){"function"!=typeof e&&(e=S7(e));for(var t=this._groups,n=t.length,r=Array(n),a=0;a<n;++a)for(var i,o=t[a],l=o.length,s=r[a]=[],c=0;c<l;++c)(i=o[c])&&e.call(i,i.__data__,c,o)&&s.push(i);return new MA(r,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,Ms);var n=t?Ml:Mo,r=this._parents,a=this._groups;"function"!=typeof e&&(v=e,e=function(){return v});for(var i=a.length,o=Array(i),l=Array(i),s=Array(i),c=0;c<i;++c){var d=r[c],u=a[c],f=u.length,m="object"==typeof(x=e.call(d,d&&d.__data__,c,r))&&"length"in x?x:Array.from(x),h=m.length,p=l[c]=Array(h),g=o[c]=Array(h);n(d,u,p,g,s[c]=Array(f),m,t);for(var x,v,b,y,w=0,j=0;w<h;++w)if(b=p[w]){for(w>=j&&(j=w+1);!(y=g[j])&&++j<h;);b._next=y||null}}return(o=new MA(o,r))._enter=l,o._exit=s,o},enter:function(){return new MA(this._enter||this._groups.map(Ma),this._parents)},exit:function(){return new MA(this._exit||this._groups.map(Ma),this._parents)},join:function(e,t,n){var r=this.enter(),a=this,i=this.exit();return"function"==typeof e?(r=e(r))&&(r=r.selection()):r=r.append(e+""),null!=t&&(a=t(a))&&(a=a.selection()),null==n?i.remove():n(i),r&&a?r.merge(a).order():a},merge:function(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,a=n.length,i=r.length,o=Math.min(a,i),l=Array(a),s=0;s<o;++s)for(var c,d=n[s],u=r[s],f=d.length,m=l[s]=Array(f),h=0;h<f;++h)(c=d[h]||u[h])&&(m[h]=c);for(;s<a;++s)l[s]=n[s];return new MA(l,this._parents)},selection:function(){return this},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r,a=e[t],i=a.length-1,o=a[i];--i>=0;)(r=a[i])&&(o&&4^r.compareDocumentPosition(o)&&o.parentNode.insertBefore(r,o),o=r);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=Mc);for(var n=this._groups,r=n.length,a=Array(r),i=0;i<r;++i){for(var o,l=n[i],s=l.length,c=a[i]=Array(s),d=0;d<s;++d)(o=l[d])&&(c[d]=o);c.sort(t)}return new MA(a,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],a=0,i=r.length;a<i;++a){var o=r[a];if(o)return o}return null},size:function(){let e=0;for(let t of this)++e;return e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var a,i=t[n],o=0,l=i.length;o<l;++o)(a=i[o])&&e.call(a,a.__data__,o,i);return this},attr:function(e,t){var n=Mf(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==t?n.local?function(e){return function(){this.removeAttributeNS(e.space,e.local)}}:function(e){return function(){this.removeAttribute(e)}}:"function"==typeof t?n.local?function(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}:function(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}:n.local?function(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}:function(e,t){return function(){this.setAttribute(e,t)}})(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?function(e){return function(){this.style.removeProperty(e)}}:"function"==typeof t?function(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}:function(e,t,n){return function(){this.style.setProperty(e,t,n)}})(e,t,null==n?"":n)):Mh(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?function(e){return function(){delete this[e]}}:"function"==typeof t?function(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}:function(e,t){return function(){this[e]=t}})(e,t)):this.node()[e]},classed:function(e,t){var n=Mp(e+"");if(arguments.length<2){for(var r=Mg(this.node()),a=-1,i=n.length;++a<i;)if(!r.contains(n[a]))return!1;return!0}return this.each(("function"==typeof t?function(e,t){return function(){(t.apply(this,arguments)?Mv:Mb)(this,e)}}:t?function(e){return function(){Mv(this,e)}}:function(e){return function(){Mb(this,e)}})(n,t))},text:function(e){return arguments.length?this.each(null==e?My:("function"==typeof e?function(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}:function(e){return function(){this.textContent=e}})(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?Mw:("function"==typeof e?function(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}:function(e){return function(){this.innerHTML=e}})(e)):this.node().innerHTML},raise:function(){return this.each(Mj)},lower:function(){return this.each(Mk)},append:function(e){var t="function"==typeof e?e:MN(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})},insert:function(e,t){var n="function"==typeof e?e:MN(e),r=null==t?MC:"function"==typeof t?t:S4(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(MS)},clone:function(e){return this.select(e?ME:MM)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,n){var r,a,i=(e+"").trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}),o=i.length;if(arguments.length<2){var l=this.node().__on;if(l){for(var s,c=0,d=l.length;c<d;++c)for(r=0,s=l[c];r<o;++r)if((a=i[r]).type===s.type&&a.name===s.name)return s.value}return}for(r=0,l=t?MP:MI;r<o;++r)this.each(l(i[r],t,n));return this},dispatch:function(e,t){return this.each(("function"==typeof t?function(e,t){return function(){return MO(this,e,t.apply(this,arguments))}}:function(e,t){return function(){return MO(this,e,t)}})(e,t))},[Symbol.iterator]:function*(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r,a=e[t],i=0,o=a.length;i<o;++i)(r=a[i])&&(yield r)}};let MD={passive:!1},ML={capture:!0,passive:!1};function M$(e){e.stopImmediatePropagation()}function MF(e){e.preventDefault(),e.stopImmediatePropagation()}function MB(e){var t=e.document.documentElement,n=MR(e).on("dragstart.drag",MF,ML);"onselectstart"in t?n.on("selectstart.drag",MF,ML):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function MV(e,t){var n=e.document.documentElement,r=MR(e).on("dragstart.drag",null);t&&(r.on("click.drag",MF,ML),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}let MH=e=>()=>e;function MU(e,{sourceEvent:t,subject:n,target:r,identifier:a,active:i,x:o,y:l,dx:s,dy:c,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:a,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:d}})}function Mq(e){return!e.ctrlKey&&!e.button}function MW(){return this.parentNode}function MK(e,t){return null==t?{x:e.x,y:e.y}:t}function MG(){return navigator.maxTouchPoints||"ontouchstart"in this}function MX(){var e,t,n,r,a=Mq,i=MW,o=MK,l=MG,s={},c=S1("start","drag","end"),d=0,u=0;function f(e){e.on("mousedown.drag",m).filter(l).on("touchstart.drag",g).on("touchmove.drag",x,MD).on("touchend.drag touchcancel.drag",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(o,l){if(!r&&a.call(this,o,l)){var s=b(this,i.call(this,o,l),o,l,"mouse");s&&(MR(o.view).on("mousemove.drag",h,ML).on("mouseup.drag",p,ML),MB(o.view),M$(o),n=!1,e=o.clientX,t=o.clientY,s("start",o))}}function h(r){if(MF(r),!n){var a=r.clientX-e,i=r.clientY-t;n=a*a+i*i>u}s.mouse("drag",r)}function p(e){MR(e.view).on("mousemove.drag mouseup.drag",null),MV(e.view,n),MF(e),s.mouse("end",e)}function g(e,t){if(a.call(this,e,t)){var n,r,o=e.changedTouches,l=i.call(this,e,t),s=o.length;for(n=0;n<s;++n)(r=b(this,l,e,t,o[n].identifier,o[n]))&&(M$(e),r("start",e,o[n]))}}function x(e){var t,n,r=e.changedTouches,a=r.length;for(t=0;t<a;++t)(n=s[r[t].identifier])&&(MF(e),n("drag",e,r[t]))}function v(e){var t,n,a=e.changedTouches,i=a.length;for(r&&clearTimeout(r),r=setTimeout(function(){r=null},500),t=0;t<i;++t)(n=s[a[t].identifier])&&(M$(e),n("end",e,a[t]))}function b(e,t,n,r,a,i){var l,u,m,h=c.copy(),p=M_(i||n,t);if(null!=(m=o.call(e,new MU("beforestart",{sourceEvent:n,target:f,identifier:a,active:d,x:p[0],y:p[1],dx:0,dy:0,dispatch:h}),r)))return l=m.x-p[0]||0,u=m.y-p[1]||0,function n(i,o,c){var g,x=p;switch(i){case"start":s[a]=n,g=d++;break;case"end":delete s[a],--d;case"drag":p=M_(c||o,t),g=d}h.call(i,e,new MU(i,{sourceEvent:o,subject:m,target:f,identifier:a,active:g,x:p[0]+l,y:p[1]+u,dx:p[0]-x[0],dy:p[1]-x[1],dispatch:h}),r)}}return f.filter=function(e){return arguments.length?(a="function"==typeof e?e:MH(!!e),f):a},f.container=function(e){return arguments.length?(i="function"==typeof e?e:MH(e),f):i},f.subject=function(e){return arguments.length?(o="function"==typeof e?e:MH(e),f):o},f.touchable=function(e){return arguments.length?(l="function"==typeof e?e:MH(!!e),f):l},f.on=function(){var e=c.on.apply(c,arguments);return e===c?f:e},f.clickDistance=function(e){return arguments.length?(u=(e*=1)*e,f):Math.sqrt(u)},f}function MY(e){return((e=Math.exp(e))+1/e)/2}MU.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};let MZ=function e(t,n,r){function a(e,a){var i,o,l=e[0],s=e[1],c=e[2],d=a[0],u=a[1],f=a[2],m=d-l,h=u-s,p=m*m+h*h;if(p<1e-12)o=Math.log(f/c)/t,i=function(e){return[l+e*m,s+e*h,c*Math.exp(t*e*o)]};else{var g=Math.sqrt(p),x=(f*f-c*c+r*p)/(2*c*n*g),v=(f*f-c*c-r*p)/(2*f*n*g),b=Math.log(Math.sqrt(x*x+1)-x);o=(Math.log(Math.sqrt(v*v+1)-v)-b)/t,i=function(e){var r,a,i=e*o,d=MY(b),u=c/(n*g)*(d*(((r=Math.exp(2*(r=t*i+b)))-1)/(r+1))-((a=Math.exp(a=b))-1/a)/2);return[l+u*m,s+u*h,c*d/MY(t*i+b)]}}return i.duration=1e3*o*t/Math.SQRT2,i}return a.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},a}(Math.SQRT2,2,4);var MJ,MQ,M0,M1,M2,M5,M3,M4,M6,M8,M7,M9,Ee,Et,En,Er,Ea,Ei,Eo,El,Es,Ec,Ed,Eu,Ef,Em,Eh,Ep,Eg,Ex,Ev,Eb,Ey,Ew,Ej,Ek,EN,EC,ES,EM,EE,EI,EP,EO,Ez,EA,ET=0,ER=0,E_=0,ED=0,EL=0,E$=0,EF="object"==typeof performance&&performance.now?performance:Date,EB="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function EV(){return EL||(EB(EH),EL=EF.now()+E$)}function EH(){EL=0}function EU(){this._call=this._time=this._next=null}function Eq(e,t,n){var r=new EU;return r.restart(e,t,n),r}function EW(){EL=(ED=EF.now())+E$,ET=ER=0;try{EV(),++ET;for(var e,t=Ez;t;)(e=EL-t._time)>=0&&t._call.call(void 0,e),t=t._next;--ET}finally{ET=0,function(){for(var e,t,n=Ez,r=1/0;n;)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:Ez=t);EA=e,EG(r)}(),EL=0}}function EK(){var e=EF.now(),t=e-ED;t>1e3&&(E$-=t,ED=e)}function EG(e){!ET&&(ER&&(ER=clearTimeout(ER)),e-EL>24?(e<1/0&&(ER=setTimeout(EW,e-EF.now()-E$)),E_&&(E_=clearInterval(E_))):(E_||(ED=EF.now(),E_=setInterval(EK,1e3)),ET=1,EB(EW)))}function EX(e,t,n){var r=new EU;return t=null==t?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}EU.prototype=Eq.prototype={constructor:EU,restart:function(e,t,n){if("function"!=typeof e)throw TypeError("callback is not a function");n=(null==n?EV():+n)+(null==t?0:+t),this._next||EA===this||(EA?EA._next=this:Ez=this,EA=this),this._call=e,this._time=n,EG()},stop:function(){this._call&&(this._call=null,this._time=1/0,EG())}};var EY=S1("start","end","cancel","interrupt"),EZ=[];function EJ(e,t,n,r,a,i){var o=e.__transition;if(o){if(n in o)return}else e.__transition={};!function(e,t,n){var r,a=e.__transition;function i(s){var c,d,u,f;if(1!==n.state)return l();for(c in a)if((f=a[c]).name===n.name){if(3===f.state)return EX(i);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",e,e.__data__,f.index,f.group),delete a[c]):+c<t&&(f.state=6,f.timer.stop(),f.on.call("cancel",e,e.__data__,f.index,f.group),delete a[c])}if(EX(function(){3===n.state&&(n.state=4,n.timer.restart(o,n.delay,n.time),o(s))}),n.state=2,n.on.call("start",e,e.__data__,n.index,n.group),2===n.state){for(c=0,n.state=3,r=Array(u=n.tween.length),d=-1;c<u;++c)(f=n.tween[c].value.call(e,e.__data__,n.index,n.group))&&(r[++d]=f);r.length=d+1}}function o(t){for(var a=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(l),n.state=5,1),i=-1,o=r.length;++i<o;)r[i].call(e,a);5===n.state&&(n.on.call("end",e,e.__data__,n.index,n.group),l())}function l(){for(var r in n.state=6,n.timer.stop(),delete a[t],a)return;delete e.__transition}a[t]=n,n.timer=Eq(function(e){n.state=1,n.timer.restart(i,n.delay,n.time),n.delay<=e&&i(e-n.delay)},0,n.time)}(e,n,{name:t,index:r,group:a,on:EY,tween:EZ,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:0})}function EQ(e,t){var n=E1(e,t);if(n.state>0)throw Error("too late; already scheduled");return n}function E0(e,t){var n=E1(e,t);if(n.state>3)throw Error("too late; already running");return n}function E1(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error("transition not found");return n}function E2(e,t){var n,r,a,i=e.__transition,o=!0;if(i){for(a in t=null==t?null:t+"",i){if((n=i[a]).name!==t){o=!1;continue}r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete i[a]}o&&delete e.__transition}}var E5=180/Math.PI,E3={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function E4(e,t,n,r,a,i){var o,l,s;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(s=e*n+t*r)&&(n-=e*s,r-=t*s),(l=Math.sqrt(n*n+r*r))&&(n/=l,r/=l,s/=l),e*r<t*n&&(e=-e,t=-t,s=-s,o=-o),{translateX:a,translateY:i,rotate:Math.atan2(t,e)*E5,skewX:Math.atan(s)*E5,scaleX:o,scaleY:l}}function E6(e,t,n,r){function a(e){return e.length?e.pop()+" ":""}return function(i,o){var l,s,c,d,u=[],f=[];return i=e(i),o=e(o),!function(e,r,a,i,o,l){if(e!==a||r!==i){var s=o.push("translate(",null,t,null,n);l.push({i:s-4,x:oM(e,a)},{i:s-2,x:oM(r,i)})}else(a||i)&&o.push("translate("+a+t+i+n)}(i.translateX,i.translateY,o.translateX,o.translateY,u,f),l=i.rotate,s=o.rotate,l!==s?(l-s>180?s+=360:s-l>180&&(l+=360),f.push({i:u.push(a(u)+"rotate(",null,r)-2,x:oM(l,s)})):s&&u.push(a(u)+"rotate("+s+r),c=i.skewX,d=o.skewX,c!==d?f.push({i:u.push(a(u)+"skewX(",null,r)-2,x:oM(c,d)}):d&&u.push(a(u)+"skewX("+d+r),!function(e,t,n,r,i,o){if(e!==n||t!==r){var l=i.push(a(i)+"scale(",null,",",null,")");o.push({i:l-4,x:oM(e,n)},{i:l-2,x:oM(t,r)})}else(1!==n||1!==r)&&i.push(a(i)+"scale("+n+","+r+")")}(i.scaleX,i.scaleY,o.scaleX,o.scaleY,u,f),i=o=null,function(e){for(var t,n=-1,r=f.length;++n<r;)u[(t=f[n]).i]=t.x(e);return u.join("")}}}var E8=E6(function(e){let t=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?E3:E4(t.a,t.b,t.c,t.d,t.e,t.f)},"px, ","px)","deg)"),E7=E6(function(e){return null==e?E3:(y||(y=document.createElementNS("http://www.w3.org/2000/svg","g")),y.setAttribute("transform",e),e=y.transform.baseVal.consolidate())?E4((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):E3},", ",")",")");function E9(e,t,n){var r=e._id;return e.each(function(){var e=E0(this,r);(e.value||(e.value={}))[t]=n.apply(this,arguments)}),function(e){return E1(e,r).value[t]}}function Ie(e,t){var n;return("number"==typeof t?oM:t instanceof oo?oC:(n=oo(t))?(t=n,oC):oP)(e,t)}var It=MT.prototype.constructor;function In(e){return function(){this.style.removeProperty(e)}}var Ir=0;function Ia(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}var Ii=MT.prototype;Ia.prototype=(function(e){return MT().transition(e)}).prototype={constructor:Ia,select:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=S4(e));for(var r=this._groups,a=r.length,i=Array(a),o=0;o<a;++o)for(var l,s,c=r[o],d=c.length,u=i[o]=Array(d),f=0;f<d;++f)(l=c[f])&&(s=e.call(l,l.__data__,f,c))&&("__data__"in l&&(s.__data__=l.__data__),u[f]=s,EJ(u[f],t,n,f,u,E1(l,n)));return new Ia(i,this._parents,t,n)},selectAll:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=S8(e));for(var r=this._groups,a=r.length,i=[],o=[],l=0;l<a;++l)for(var s,c=r[l],d=c.length,u=0;u<d;++u)if(s=c[u]){for(var f,m=e.call(s,s.__data__,u,c),h=E1(s,n),p=0,g=m.length;p<g;++p)(f=m[p])&&EJ(f,t,n,p,m,h);i.push(m),o.push(s)}return new Ia(i,o,t,n)},selectChild:Ii.selectChild,selectChildren:Ii.selectChildren,filter:function(e){"function"!=typeof e&&(e=S7(e));for(var t=this._groups,n=t.length,r=Array(n),a=0;a<n;++a)for(var i,o=t[a],l=o.length,s=r[a]=[],c=0;c<l;++c)(i=o[c])&&e.call(i,i.__data__,c,o)&&s.push(i);return new Ia(r,this._parents,this._name,this._id)},merge:function(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,a=n.length,i=Math.min(r,a),o=Array(r),l=0;l<i;++l)for(var s,c=t[l],d=n[l],u=c.length,f=o[l]=Array(u),m=0;m<u;++m)(s=c[m]||d[m])&&(f[m]=s);for(;l<r;++l)o[l]=t[l];return new Ia(o,this._parents,this._name,this._id)},selection:function(){return new It(this._groups,this._parents)},transition:function(){for(var e=this._name,t=this._id,n=++Ir,r=this._groups,a=r.length,i=0;i<a;++i)for(var o,l=r[i],s=l.length,c=0;c<s;++c)if(o=l[c]){var d=E1(o,t);EJ(o,e,n,c,l,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Ia(r,this._parents,e,n)},call:Ii.call,nodes:Ii.nodes,node:Ii.node,size:Ii.size,empty:Ii.empty,each:Ii.each,on:function(e,t){var n,r,a,i,o,l,s=this._id;return arguments.length<2?E1(this.node(),s).on.on(e):this.each((n=s,r=e,a=t,l=(r+"").trim().split(/^|\s+/).every(function(e){var t=e.indexOf(".");return t>=0&&(e=e.slice(0,t)),!e||"start"===e})?EQ:E0,function(){var e=l(this,n),t=e.on;t!==i&&(o=(i=t).copy()).on(r,a),e.on=o}))},attr:function(e,t){var n=Mf(e),r="transform"===n?E7:Ie;return this.attrTween(e,"function"==typeof t?(n.local?function(e,t,n){var r,a,i;return function(){var o,l,s=n(this);return null==s?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local))===(l=s+"")?null:o===r&&l===a?i:(a=l,i=t(r=o,s))}}:function(e,t,n){var r,a,i;return function(){var o,l,s=n(this);return null==s?void this.removeAttribute(e):(o=this.getAttribute(e))===(l=s+"")?null:o===r&&l===a?i:(a=l,i=t(r=o,s))}})(n,r,E9(this,"attr."+e,t)):null==t?(n.local?function(e){return function(){this.removeAttributeNS(e.space,e.local)}}:function(e){return function(){this.removeAttribute(e)}})(n):(n.local?function(e,t,n){var r,a,i=n+"";return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}:function(e,t,n){var r,a,i=n+"";return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}})(n,r,t))},attrTween:function(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw Error();var r=Mf(e);return this.tween(n,(r.local?function(e,t){var n,r;function a(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&function(t){this.setAttributeNS(e.space,e.local,a.call(this,t))}),n}return a._value=t,a}:function(e,t){var n,r;function a(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&function(t){this.setAttribute(e,a.call(this,t))}),n}return a._value=t,a})(r,t))},style:function(e,t,n){var r,a,i,o,l,s,c,d,u,f,m,h,p,g,x,v,b,y,w,j,k,N="transform"==(e+="")?E8:Ie;return null==t?this.styleTween(e,(r=e,function(){var e=Mh(this,r),t=(this.style.removeProperty(r),Mh(this,r));return e===t?null:e===a&&t===i?o:o=N(a=e,i=t)})).on("end.style."+e,In(e)):"function"==typeof t?this.styleTween(e,(l=e,s=E9(this,"style."+e,t),function(){var e=Mh(this,l),t=s(this),n=t+"";return null==t&&(this.style.removeProperty(l),n=t=Mh(this,l)),e===n?null:e===c&&n===d?u:(d=n,u=N(c=e,t))})).each((f=this._id,b="end."+(v="style."+(m=e)),function(){var e=E0(this,f),t=e.on,n=null==e.value[v]?x||(x=In(m)):void 0;(t!==h||g!==n)&&(p=(h=t).copy()).on(b,g=n),e.on=p})):this.styleTween(e,(y=e,k=t+"",function(){var e=Mh(this,y);return e===k?null:e===w?j:j=N(w=e,t)}),n).on("end.style."+e,null)},styleTween:function(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==t)return this.tween(r,null);if("function"!=typeof t)throw Error();return this.tween(r,function(e,t,n){var r,a;function i(){var i=t.apply(this,arguments);return i!==a&&(r=(a=i)&&function(t){this.style.setProperty(e,i.call(this,t),n)}),r}return i._value=t,i}(e,t,null==n?"":n))},text:function(e){var t,n;return this.tween("text","function"==typeof e?(t=E9(this,"text",e),function(){var e=t(this);this.textContent=null==e?"":e}):(n=null==e?"":e+"",function(){this.textContent=n}))},textTween:function(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!=typeof e)throw Error();return this.tween(t,function(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&function(e){this.textContent=r.call(this,e)}),t}return r._value=e,r}(e))},remove:function(){var e;return this.on("end.remove",(e=this._id,function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}))},tween:function(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r,a=E1(this.node(),n).tween,i=0,o=a.length;i<o;++i)if((r=a[i]).name===e)return r.value;return null}return this.each((null==t?function(e,t){var n,r;return function(){var a=E0(this,e),i=a.tween;if(i!==n){r=n=i;for(var o=0,l=r.length;o<l;++o)if(r[o].name===t){(r=r.slice()).splice(o,1);break}}a.tween=r}}:function(e,t,n){var r,a;if("function"!=typeof n)throw Error();return function(){var i=E0(this,e),o=i.tween;if(o!==r){a=(r=o).slice();for(var l={name:t,value:n},s=0,c=a.length;s<c;++s)if(a[s].name===t){a[s]=l;break}s===c&&a.push(l)}i.tween=a}})(n,e,t))},delay:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?function(e,t){return function(){EQ(this,e).delay=+t.apply(this,arguments)}}:function(e,t){return t*=1,function(){EQ(this,e).delay=t}})(t,e)):E1(this.node(),t).delay},duration:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?function(e,t){return function(){E0(this,e).duration=+t.apply(this,arguments)}}:function(e,t){return t*=1,function(){E0(this,e).duration=t}})(t,e)):E1(this.node(),t).duration},ease:function(e){var t=this._id;return arguments.length?this.each(function(e,t){if("function"!=typeof t)throw Error();return function(){E0(this,e).ease=t}}(t,e)):E1(this.node(),t).ease},easeVarying:function(e){var t;if("function"!=typeof e)throw Error();return this.each((t=this._id,function(){var n=e.apply(this,arguments);if("function"!=typeof n)throw Error();E0(this,t).ease=n}))},end:function(){var e,t,n=this,r=n._id,a=n.size();return new Promise(function(i,o){var l={value:o},s={value:function(){0==--a&&i()}};n.each(function(){var n=E0(this,r),a=n.on;a!==e&&((t=(e=a).copy())._.cancel.push(l),t._.interrupt.push(l),t._.end.push(s)),n.on=t}),0===a&&i()})},[Symbol.iterator]:Ii[Symbol.iterator]};var Io={time:null,delay:0,duration:250,ease:function(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}};MT.prototype.interrupt=function(e){return this.each(function(){E2(this,e)})},MT.prototype.transition=function(e){var t,n;e instanceof Ia?(t=e._id,e=e._name):(t=++Ir,(n=Io).time=EV(),e=null==e?null:e+"");for(var r=this._groups,a=r.length,i=0;i<a;++i)for(var o,l=r[i],s=l.length,c=0;c<s;++c)(o=l[c])&&EJ(o,e,t,c,l,n||function(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}(o,t));return new Ia(r,this._parents,e,t)};let Il=e=>()=>e;function Is(e,{sourceEvent:t,target:n,transform:r,dispatch:a}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:a}})}function Ic(e,t,n){this.k=e,this.x=t,this.y=n}Ic.prototype={constructor:Ic,scale:function(e){return 1===e?this:new Ic(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new Ic(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Id=new Ic(1,0,0);function Iu(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Id;return e.__zoom}function If(e){e.stopImmediatePropagation()}function Im(e){e.preventDefault(),e.stopImmediatePropagation()}function Ih(e){return(!e.ctrlKey||"wheel"===e.type)&&!e.button}function Ip(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]:[[0,0],[e.clientWidth,e.clientHeight]]}function Ig(){return this.__zoom||Id}function Ix(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Iv(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ib(e,t,n){var r=e.invertX(t[0][0])-n[0][0],a=e.invertX(t[1][0])-n[1][0],i=e.invertY(t[0][1])-n[0][1],o=e.invertY(t[1][1])-n[1][1];return e.translate(a>r?(r+a)/2:Math.min(0,r)||Math.max(0,a),o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o))}function Iy(){var e,t,n,r=Ih,a=Ip,i=Ib,o=Ix,l=Iv,s=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],d=250,u=MZ,f=S1("start","zoom","end"),m=0,h=10;function p(e){e.property("__zoom",Ig).on("wheel.zoom",j,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",N).filter(l).on("touchstart.zoom",C).on("touchmove.zoom",S).on("touchend.zoom touchcancel.zoom",M).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(e,t){return(t=Math.max(s[0],Math.min(s[1],t)))===e.k?e:new Ic(t,e.x,e.y)}function x(e,t,n){var r=t[0]-n[0]*e.k,a=t[1]-n[1]*e.k;return r===e.x&&a===e.y?e:new Ic(e.k,r,a)}function v(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function b(e,t,n,r){e.on("start.zoom",function(){y(this,arguments).event(r).start()}).on("interrupt.zoom end.zoom",function(){y(this,arguments).event(r).end()}).tween("zoom",function(){var e=arguments,i=y(this,e).event(r),o=a.apply(this,e),l=null==n?v(o):"function"==typeof n?n.apply(this,e):n,s=Math.max(o[1][0]-o[0][0],o[1][1]-o[0][1]),c=this.__zoom,d="function"==typeof t?t.apply(this,e):t,f=u(c.invert(l).concat(s/c.k),d.invert(l).concat(s/d.k));return function(e){if(1===e)e=d;else{var t=f(e),n=s/t[2];e=new Ic(n,l[0]-t[0]*n,l[1]-t[1]*n)}i.zoom(null,e)}})}function y(e,t,n){return!n&&e.__zooming||new w(e,t)}function w(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=a.apply(e,t),this.taps=0}function j(e,...t){if(r.apply(this,arguments)){var n=y(this,t).event(e),a=this.__zoom,l=Math.max(s[0],Math.min(s[1],a.k*Math.pow(2,o.apply(this,arguments)))),d=M_(e);if(n.wheel)(n.mouse[0][0]!==d[0]||n.mouse[0][1]!==d[1])&&(n.mouse[1]=a.invert(n.mouse[0]=d)),clearTimeout(n.wheel);else{if(a.k===l)return;n.mouse=[d,a.invert(d)],E2(this),n.start()}Im(e),n.wheel=setTimeout(function(){n.wheel=null,n.end()},150),n.zoom("mouse",i(x(g(a,l),n.mouse[0],n.mouse[1]),n.extent,c))}}function k(e,...t){if(!n&&r.apply(this,arguments)){var a=e.currentTarget,o=y(this,t,!0).event(e),l=MR(e.view).on("mousemove.zoom",function(e){if(Im(e),!o.moved){var t=e.clientX-d,n=e.clientY-u;o.moved=t*t+n*n>m}o.event(e).zoom("mouse",i(x(o.that.__zoom,o.mouse[0]=M_(e,a),o.mouse[1]),o.extent,c))},!0).on("mouseup.zoom",function(e){l.on("mousemove.zoom mouseup.zoom",null),MV(e.view,o.moved),Im(e),o.event(e).end()},!0),s=M_(e,a),d=e.clientX,u=e.clientY;MB(e.view),If(e),o.mouse=[s,this.__zoom.invert(s)],E2(this),o.start()}}function N(e,...t){if(r.apply(this,arguments)){var n=this.__zoom,o=M_(e.changedTouches?e.changedTouches[0]:e,this),l=n.invert(o),s=n.k*(e.shiftKey?.5:2),u=i(x(g(n,s),o,l),a.apply(this,t),c);Im(e),d>0?MR(this).transition().duration(d).call(b,u,o,e):MR(this).call(p.transform,u,o,e)}}function C(n,...a){if(r.apply(this,arguments)){var i,o,l,s,c=n.touches,d=c.length,u=y(this,a,n.changedTouches.length===d).event(n);for(If(n),o=0;o<d;++o)s=[s=M_(l=c[o],this),this.__zoom.invert(s),l.identifier],u.touch0?u.touch1||u.touch0[2]===s[2]||(u.touch1=s,u.taps=0):(u.touch0=s,i=!0,u.taps=1+!!e);e&&(e=clearTimeout(e)),i&&(u.taps<2&&(t=s[0],e=setTimeout(function(){e=null},500)),E2(this),u.start())}}function S(e,...t){if(this.__zooming){var n,r,a,o,l=y(this,t).event(e),s=e.changedTouches,d=s.length;for(Im(e),n=0;n<d;++n)a=M_(r=s[n],this),l.touch0&&l.touch0[2]===r.identifier?l.touch0[0]=a:l.touch1&&l.touch1[2]===r.identifier&&(l.touch1[0]=a);if(r=l.that.__zoom,l.touch1){var u=l.touch0[0],f=l.touch0[1],m=l.touch1[0],h=l.touch1[1],p=(p=m[0]-u[0])*p+(p=m[1]-u[1])*p,v=(v=h[0]-f[0])*v+(v=h[1]-f[1])*v;r=g(r,Math.sqrt(p/v)),a=[(u[0]+m[0])/2,(u[1]+m[1])/2],o=[(f[0]+h[0])/2,(f[1]+h[1])/2]}else{if(!l.touch0)return;a=l.touch0[0],o=l.touch0[1]}l.zoom("touch",i(x(r,a,o),l.extent,c))}}function M(e,...r){if(this.__zooming){var a,i,o=y(this,r).event(e),l=e.changedTouches,s=l.length;for(If(e),n&&clearTimeout(n),n=setTimeout(function(){n=null},500),a=0;a<s;++a)i=l[a],o.touch0&&o.touch0[2]===i.identifier?delete o.touch0:o.touch1&&o.touch1[2]===i.identifier&&delete o.touch1;if(o.touch1&&!o.touch0&&(o.touch0=o.touch1,delete o.touch1),o.touch0)o.touch0[1]=this.__zoom.invert(o.touch0[0]);else if(o.end(),2===o.taps&&(i=M_(i,this),Math.hypot(t[0]-i[0],t[1]-i[1])<h)){var c=MR(this).on("dblclick.zoom");c&&c.apply(this,arguments)}}}return p.transform=function(e,t,n,r){var a=e.selection?e.selection():e;a.property("__zoom",Ig),e!==a?b(e,t,n,r):a.interrupt().each(function(){y(this,arguments).event(r).start().zoom(null,"function"==typeof t?t.apply(this,arguments):t).end()})},p.scaleBy=function(e,t,n,r){p.scaleTo(e,function(){var e=this.__zoom.k,n="function"==typeof t?t.apply(this,arguments):t;return e*n},n,r)},p.scaleTo=function(e,t,n,r){p.transform(e,function(){var e=a.apply(this,arguments),r=this.__zoom,o=null==n?v(e):"function"==typeof n?n.apply(this,arguments):n,l=r.invert(o),s="function"==typeof t?t.apply(this,arguments):t;return i(x(g(r,s),o,l),e,c)},n,r)},p.translateBy=function(e,t,n,r){p.transform(e,function(){return i(this.__zoom.translate("function"==typeof t?t.apply(this,arguments):t,"function"==typeof n?n.apply(this,arguments):n),a.apply(this,arguments),c)},null,r)},p.translateTo=function(e,t,n,r,o){p.transform(e,function(){var e=a.apply(this,arguments),o=this.__zoom,l=null==r?v(e):"function"==typeof r?r.apply(this,arguments):r;return i(Id.translate(l[0],l[1]).scale(o.k).translate("function"==typeof t?-t.apply(this,arguments):-t,"function"==typeof n?-n.apply(this,arguments):-n),e,c)},r,o)},w.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(e,t){return this.mouse&&"mouse"!==e&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&"touch"!==e&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&"touch"!==e&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(e){var t=MR(this.that).datum();f.call(e,this.that,new Is(e,{sourceEvent:this.sourceEvent,target:p,type:e,transform:this.that.__zoom,dispatch:f}),t)}},p.wheelDelta=function(e){return arguments.length?(o="function"==typeof e?e:Il(+e),p):o},p.filter=function(e){return arguments.length?(r="function"==typeof e?e:Il(!!e),p):r},p.touchable=function(e){return arguments.length?(l="function"==typeof e?e:Il(!!e),p):l},p.extent=function(e){return arguments.length?(a="function"==typeof e?e:Il([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),p):a},p.scaleExtent=function(e){return arguments.length?(s[0]=+e[0],s[1]=+e[1],p):[s[0],s[1]]},p.translateExtent=function(e){return arguments.length?(c[0][0]=+e[0][0],c[1][0]=+e[1][0],c[0][1]=+e[0][1],c[1][1]=+e[1][1],p):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},p.constrain=function(e){return arguments.length?(i=e,p):i},p.duration=function(e){return arguments.length?(d=+e,p):d},p.interpolate=function(e){return arguments.length?(u=e,p):u},p.on=function(){var e=f.on.apply(f,arguments);return e===f?p:e},p.clickDistance=function(e){return arguments.length?(m=(e*=1)*e,p):Math.sqrt(m)},p.tapDistance=function(e){return arguments.length?(h=+e,p):h},p}Iu.prototype=Ic.prototype;let Iw=[[-1/0,-1/0],[1/0,1/0]],Ij=["Enter"," ","Escape"],Ik={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};(u=w||(w={})).Strict="strict",u.Loose="loose",(f=j||(j={})).Free="free",f.Vertical="vertical",f.Horizontal="horizontal",(m=k||(k={})).Partial="partial",m.Full="full";let IN={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};(h=N||(N={})).Bezier="default",h.Straight="straight",h.Step="step",h.SmoothStep="smoothstep",h.SimpleBezier="simplebezier",(p=C||(C={})).Arrow="arrow",p.ArrowClosed="arrowclosed",(g=S||(S={})).Left="left",g.Top="top",g.Right="right",g.Bottom="bottom";let IC={[S.Left]:S.Right,[S.Right]:S.Left,[S.Top]:S.Bottom,[S.Bottom]:S.Top};function IS(e){return null===e?null:e?"valid":"invalid"}let IM=e=>"id"in e&&"source"in e&&"target"in e,IE=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),II=(e,t=[0,0])=>{let{width:n,height:r}=I5(e),a=e.origin??t,i=n*a[0],o=r*a[1];return{x:e.position.x-i,y:e.position.y-o}},IP=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(e=>{(void 0===t.filter||t.filter(e))&&(n=IF(n,IU(e)),r=!0)}),r?IV(n):{x:0,y:0,width:0,height:0}},IO=(e,t,[n,r,a]=[0,0,1],i=!1,o=!1)=>{let l={...IZ(t,[n,r,a]),width:t.width/a,height:t.height/a},s=[];for(let t of e.values()){let{measured:e,selectable:n=!0,hidden:r=!1}=t;if(o&&!n||r)continue;let a=e.width??t.width??t.initialWidth??null,c=e.height??t.height??t.initialHeight??null,d=IW(l,IH(t)),u=(a??0)*(c??0),f=i&&d>0;(!t.internals.handleBounds||f||d>=u||t.dragging)&&s.push(t)}return s};async function Iz({nodes:e,width:t,height:n,panZoom:r,minZoom:a,maxZoom:i},o){let l,s;if(0===e.size)return Promise.resolve(!0);let c=I0(IP((l=new Map,s=o?.nodes?new Set(o.nodes.map(e=>e.id)):null,e.forEach(e=>{e.measured.width&&e.measured.height&&(o?.includeHiddenNodes||!e.hidden)&&(!s||s.has(e.id))&&l.set(e.id,e)}),l)),t,n,o?.minZoom??a,o?.maxZoom??i,o?.padding??.1);return await r.setViewport(c,{duration:o?.duration,ease:o?.ease,interpolate:o?.interpolate}),Promise.resolve(!0)}function IA({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:a,onError:i}){let o=n.get(e),l=o.parentId?n.get(o.parentId):void 0,{x:s,y:c}=l?l.internals.positionAbsolute:{x:0,y:0},d=o.origin??r,u=o.extent||a;if("parent"!==o.extent||o.expandParent)l&&I2(o.extent)&&(u=[[o.extent[0][0]+s,o.extent[0][1]+c],[o.extent[1][0]+s,o.extent[1][1]+c]]);else if(l){let e=l.measured.width,t=l.measured.height;e&&t&&(u=[[s,c],[s+e,c+t]])}else i?.("005","Only child nodes can use a parent extent.");let f=I2(u)?I_(t,u,o.measured):t;return(void 0===o.measured.width||void 0===o.measured.height)&&i?.("015","It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."),{position:{x:f.x-s+(o.measured.width??0)*d[0],y:f.y-c+(o.measured.height??0)*d[1]},positionAbsolute:f}}async function IT({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:a}){let i,o=new Set(e.map(e=>e.id)),l=[];for(let e of n){if(!1===e.deletable)continue;let t=o.has(e.id),n=!t&&e.parentId&&l.find(t=>t.id===e.parentId);(t||n)&&l.push(e)}let s=new Set(t.map(e=>e.id)),c=r.filter(e=>!1!==e.deletable),d=(i=new Set,l.forEach(e=>{i.add(e.id)}),c.filter(e=>i.has(e.source)||i.has(e.target)));for(let e of c)s.has(e.id)&&!d.find(t=>t.id===e.id)&&d.push(e);if(!a)return{edges:d,nodes:l};let u=await a({nodes:l,edges:d});return"boolean"==typeof u?u?{edges:d,nodes:l}:{edges:[],nodes:[]}:u}let IR=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),I_=(e={x:0,y:0},t,n)=>({x:IR(e.x,t[0][0],t[1][0]-(n?.width??0)),y:IR(e.y,t[0][1],t[1][1]-(n?.height??0))});function ID(e,t,n){let{width:r,height:a}=I5(n),{x:i,y:o}=n.internals.positionAbsolute;return I_(e,[[i,o],[i+r,o+a]],t)}let IL=(e,t,n)=>e<t?IR(Math.abs(e-t),1,t)/t:e>n?-IR(Math.abs(e-n),1,t)/t:0,I$=(e,t,n=15,r=40)=>[IL(e.x,r,t.width-r)*n,IL(e.y,r,t.height-r)*n],IF=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),IB=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),IV=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),IH=(e,t=[0,0])=>{let{x:n,y:r}=IE(e)?e.internals.positionAbsolute:II(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},IU=(e,t=[0,0])=>{let{x:n,y:r}=IE(e)?e.internals.positionAbsolute:II(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},Iq=(e,t)=>IV(IF(IB(e),IB(t))),IW=(e,t)=>Math.ceil(Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x))*Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y))),IK=e=>IG(e.width)&&IG(e.height)&&IG(e.x)&&IG(e.y),IG=e=>!isNaN(e)&&isFinite(e),IX=(e,t)=>{},IY=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),IZ=({x:e,y:t},[n,r,a],i=!1,o=[1,1])=>{let l={x:(e-n)/a,y:(t-r)/a};return i?IY(l,o):l},IJ=({x:e,y:t},[n,r,a])=>({x:e*a+n,y:t*a+r});function IQ(e,t){if("number"==typeof e)return Math.floor((t-t/(1+e))*.5);if("string"==typeof e&&e.endsWith("px")){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if("string"==typeof e&&e.endsWith("%")){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}let I0=(e,t,n,r,a,i)=>{let o=function(e,t,n){if("string"==typeof e||"number"==typeof e){let r=IQ(e,n),a=IQ(e,t);return{top:r,right:a,bottom:r,left:a,x:2*a,y:2*r}}if("object"==typeof e){let r=IQ(e.top??e.y??0,n),a=IQ(e.bottom??e.y??0,n),i=IQ(e.left??e.x??0,t),o=IQ(e.right??e.x??0,t);return{top:r,right:o,bottom:a,left:i,x:i+o,y:r+a}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}(i,t,n),l=IR(Math.min((t-o.x)/e.width,(n-o.y)/e.height),r,a),s=e.x+e.width/2,c=e.y+e.height/2,d=t/2-s*l,u=n/2-c*l,f=function(e,t,n,r,a,i){let{x:o,y:l}=IJ(e,[t,n,r]),{x:s,y:c}=IJ({x:e.x+e.width,y:e.y+e.height},[t,n,r]);return{left:Math.floor(o),top:Math.floor(l),right:Math.floor(a-s),bottom:Math.floor(i-c)}}(e,d,u,l,t,n),m={left:Math.min(f.left-o.left,0),top:Math.min(f.top-o.top,0),right:Math.min(f.right-o.right,0),bottom:Math.min(f.bottom-o.bottom,0)};return{x:d-m.left+m.right,y:u-m.top+m.bottom,zoom:l}},I1=()=>"u">typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0;function I2(e){return null!=e&&"parent"!==e}function I5(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function I3(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function I4(e,t={width:0,height:0},n,r,a){let i={...e},o=r.get(n);if(o){let e=o.origin||a;i.x+=o.internals.positionAbsolute.x-(t.width??0)*e[0],i.y+=o.internals.positionAbsolute.y-(t.height??0)*e[1]}return i}function I6(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function I8(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:a}){let{x:i,y:o}=Pn(e),l=IZ({x:i-(a?.left??0),y:o-(a?.top??0)},r),{x:s,y:c}=n?IY(l,t):l;return{xSnapped:s,ySnapped:c,...l}}let I7=e=>({width:e.offsetWidth,height:e.offsetHeight}),I9=e=>e?.getRootNode?.()||window?.document,Pe=["INPUT","SELECT","TEXTAREA"];function Pt(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType===1&&(Pe.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey"))}let Pn=(e,t)=>{let n="clientX"in e,r=n?e.clientX:e.touches?.[0].clientX,a=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:a-(t?.top??0)}},Pr=(e,t,n,r,a)=>{let i=t.querySelectorAll(`.${e}`);return i&&i.length?Array.from(i).map(t=>{let i=t.getBoundingClientRect();return{id:t.getAttribute("data-handleid"),type:e,nodeId:a,position:t.getAttribute("data-handlepos"),x:(i.left-n.left)/r,y:(i.top-n.top)/r,...I7(t)}}):null};function Pa({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:a,sourceControlY:i,targetControlX:o,targetControlY:l}){let s=.125*e+.375*a+.375*o+.125*n,c=.125*t+.375*i+.375*l+.125*r,d=Math.abs(s-e),u=Math.abs(c-t);return[s,c,d,u]}function Pi(e,t){return e>=0?.5*e:25*t*Math.sqrt(-e)}function Po({pos:e,x1:t,y1:n,x2:r,y2:a,c:i}){switch(e){case S.Left:return[t-Pi(t-r,i),n];case S.Right:return[t+Pi(r-t,i),n];case S.Top:return[t,n-Pi(n-a,i)];case S.Bottom:return[t,n+Pi(a-n,i)]}}function Pl({sourceX:e,sourceY:t,sourcePosition:n=S.Bottom,targetX:r,targetY:a,targetPosition:i=S.Top,curvature:o=.25}){let[l,s]=Po({pos:n,x1:e,y1:t,x2:r,y2:a,c:o}),[c,d]=Po({pos:i,x1:r,y1:a,x2:e,y2:t,c:o}),[u,f,m,h]=Pa({sourceX:e,sourceY:t,targetX:r,targetY:a,sourceControlX:l,sourceControlY:s,targetControlX:c,targetControlY:d});return[`M${e},${t} C${l},${s} ${c},${d} ${r},${a}`,u,f,m,h]}function Ps({sourceX:e,sourceY:t,targetX:n,targetY:r}){let a=Math.abs(n-e)/2,i=Math.abs(r-t)/2;return[n<e?n+a:n-a,r<t?r+i:r-i,a,i]}let Pc=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`;function Pd({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[a,i,o,l]=Ps({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,a,i,o,l]}let Pu={[S.Left]:{x:-1,y:0},[S.Right]:{x:1,y:0},[S.Top]:{x:0,y:-1},[S.Bottom]:{x:0,y:1}},Pf=({source:e,sourcePosition:t=S.Bottom,target:n})=>t===S.Left||t===S.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},Pm=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function Ph({sourceX:e,sourceY:t,sourcePosition:n=S.Bottom,targetX:r,targetY:a,targetPosition:i=S.Top,borderRadius:o=5,centerX:l,centerY:s,offset:c=20,stepPosition:d=.5}){let[u,f,m,h,p]=function({source:e,sourcePosition:t=S.Bottom,target:n,targetPosition:r=S.Top,center:a,offset:i,stepPosition:o}){let l,s,c=Pu[t],d=Pu[r],u={x:e.x+c.x*i,y:e.y+c.y*i},f={x:n.x+d.x*i,y:n.y+d.y*i},m=Pf({source:u,sourcePosition:t,target:f}),h=0!==m.x?"x":"y",p=m[h],g=[],x={x:0,y:0},v={x:0,y:0},[,,b,y]=Ps({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(c[h]*d[h]==-1){"x"===h?(l=a.x??u.x+(f.x-u.x)*o,s=a.y??(u.y+f.y)/2):(l=a.x??(u.x+f.x)/2,s=a.y??u.y+(f.y-u.y)*o);let e=[{x:l,y:u.y},{x:l,y:f.y}],t=[{x:u.x,y:s},{x:f.x,y:s}];g=c[h]===p?"x"===h?e:t:"x"===h?t:e}else{let a=[{x:u.x,y:f.y}],o=[{x:f.x,y:u.y}];if(g="x"===h?c.x===p?o:a:c.y===p?a:o,t===r){let t=Math.abs(e[h]-n[h]);if(t<=i){let r=Math.min(i-1,i-t);c[h]===p?x[h]=(u[h]>e[h]?-1:1)*r:v[h]=(f[h]>n[h]?-1:1)*r}}if(t!==r){let e="x"===h?"y":"x",t=c[h]===d[e],n=u[e]>f[e],r=u[e]<f[e];(1===c[h]&&(!t&&n||t&&r)||1!==c[h]&&(!t&&r||t&&n))&&(g="x"===h?a:o)}let m={x:u.x+x.x,y:u.y+x.y},b={x:f.x+v.x,y:f.y+v.y};Math.max(Math.abs(m.x-g[0].x),Math.abs(b.x-g[0].x))>=Math.max(Math.abs(m.y-g[0].y),Math.abs(b.y-g[0].y))?(l=(m.x+b.x)/2,s=g[0].y):(l=g[0].x,s=(m.y+b.y)/2)}let w={x:u.x+x.x,y:u.y+x.y},j={x:f.x+v.x,y:f.y+v.y};return[[e,...w.x!==g[0].x||w.y!==g[0].y?[w]:[],...g,...j.x!==g[g.length-1].x||j.y!==g[g.length-1].y?[j]:[],n],l,s,b,y]}({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:a},targetPosition:i,center:{x:l,y:s},offset:c,stepPosition:d}),g=`M${u[0].x} ${u[0].y}`;for(let e=1;e<u.length-1;e++)g+=function(e,t,n,r){let a=Math.min(Pm(e,t)/2,Pm(t,n)/2,r),{x:i,y:o}=t;if(e.x===i&&i===n.x||e.y===o&&o===n.y)return`L${i} ${o}`;if(e.y===o){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${i+a*t},${o}Q ${i},${o} ${i},${o+a*r}`}let l=e.x<n.x?1:-1,s=e.y<n.y?-1:1;return`L ${i},${o+a*s}Q ${i},${o} ${i+a*l},${o}`}(u[e-1],u[e],u[e+1],o);return[g+=`L${u[u.length-1].x} ${u[u.length-1].y}`,f,m,h,p]}function Pp(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function Pg(e){if(!e)return null;let t=[],n=[];for(let r of e)r.width=r.width??1,r.height=r.height??1,"source"===r.type?t.push(r):"target"===r.type&&n.push(r);return{source:t,target:n}}function Px(e,t,n=S.Left,r=!1){let a=(t?.x??0)+e.internals.positionAbsolute.x,i=(t?.y??0)+e.internals.positionAbsolute.y,{width:o,height:l}=t??I5(e);if(r)return{x:a+o/2,y:i+l/2};switch(t?.position??n){case S.Top:return{x:a+o/2,y:i};case S.Right:return{x:a+o,y:i+l/2};case S.Bottom:return{x:a+o/2,y:i+l};case S.Left:return{x:a,y:i+l/2}}}function Pv(e,t){return e&&(t?e.find(e=>e.id===t):e[0])||null}function Pb(e,t){if(!e)return"";if("string"==typeof e)return e;let n=t?`${t}__`:"";return`${n}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join("&")}`}let Py={nodeOrigin:[0,0],nodeExtent:Iw,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},Pw={...Py,checkEquality:!0};function Pj(e,t){let n={...e};for(let e in t)void 0!==t[e]&&(n[e]=t[e]);return n}function Pk(e){return"manual"===e}function PN(e,t,n,r={}){let a=Pj(Pw,r),i={i:0},o=new Map(t),l=a?.elevateNodesOnSelect&&!Pk(a.zIndexMode)?1e3:0,s=e.length>0,c=!1;for(let d of(t.clear(),n.clear(),e)){let e=o.get(d.id);if(a.checkEquality&&d===e?.internals.userNode)t.set(d.id,e);else{let n=I_(II(d,a.nodeOrigin),I2(d.extent)?d.extent:a.nodeExtent,I5(d));e={...a.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:n,handleBounds:function(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;let n=[],r=[];for(let t of e.handles){let a={id:t.id,width:t.width??1,height:t.height??1,nodeId:e.id,x:t.x,y:t.y,position:t.position,type:t.type};"source"===t.type?n.push(a):"target"===t.type&&r.push(a)}return{source:n,target:r}}(d,e),z:PS(d,l,a.zIndexMode),userNode:d}},t.set(d.id,e)}void 0!==e.measured&&void 0!==e.measured.width&&void 0!==e.measured.height||e.hidden||(s=!1),d.parentId&&PC(e,t,n,r,i),c||=d.selected??!1}return{nodesInitialized:s,hasSelectedNodes:c}}function PC(e,t,n,r,a){let{elevateNodesOnSelect:i,nodeOrigin:o,nodeExtent:l,zIndexMode:s}=Pj(Py,r),c=e.parentId,d=t.get(c);if(!d)return void console.warn(`Parent node ${c} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);!function(e,t){if(!e.parentId)return;let n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}(e,n),a&&!d.parentId&&void 0===d.internals.rootParentIndex&&"auto"===s&&(d.internals.rootParentIndex=++a.i,d.internals.z=d.internals.z+10*a.i),a&&void 0!==d.internals.rootParentIndex&&(a.i=d.internals.rootParentIndex);let{x:u,y:f,z:m}=function(e,t,n,r,a,i){let{x:o,y:l}=t.internals.positionAbsolute,s=I5(e),c=II(e,n),d=I2(e.extent)?I_(c,e.extent,s):c,u=I_({x:o+d.x,y:l+d.y},r,s);"parent"===e.extent&&(u=ID(u,s,t));let f=PS(e,a,i),m=t.internals.z??0;return{x:u.x,y:u.y,z:m>=f?m+1:f}}(e,d,o,l,i&&!Pk(s)?1e3:0,s),{positionAbsolute:h}=e.internals,p=u!==h.x||f!==h.y;(p||m!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:p?{x:u,y:f}:h,z:m}})}function PS(e,t,n){let r=IG(e.zIndex)?e.zIndex:0;return Pk(n)?r:r+(e.selected?t:0)}function PM(e,t,n,r=[0,0]){let a=[],i=new Map;for(let n of e){let e=t.get(n.parentId);if(!e)continue;let r=Iq(i.get(n.parentId)?.expandedRect??IH(e),n.rect);i.set(n.parentId,{expandedRect:r,parent:e})}return i.size>0&&i.forEach(({expandedRect:t,parent:i},o)=>{let l=i.internals.positionAbsolute,s=I5(i),c=i.origin??r,d=t.x<l.x?Math.round(Math.abs(l.x-t.x)):0,u=t.y<l.y?Math.round(Math.abs(l.y-t.y)):0,f=Math.max(s.width,Math.round(t.width)),m=Math.max(s.height,Math.round(t.height)),h=(f-s.width)*c[0],p=(m-s.height)*c[1];(d>0||u>0||h||p)&&(a.push({id:o,type:"position",position:{x:i.position.x-d+h,y:i.position.y-u+p}}),n.get(o)?.forEach(t=>{e.some(e=>e.id===t.id)||a.push({id:t.id,type:"position",position:{x:t.position.x+d,y:t.position.y+u}})})),(s.width<t.width||s.height<t.height||d||u)&&a.push({id:o,type:"dimensions",setAttributes:!0,dimensions:{width:f+(d?c[0]*d-h:0),height:m+(u?c[1]*u-p:0)}})}),a}async function PE({delta:e,panZoom:t,transform:n,translateExtent:r,width:a,height:i}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);let o=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[a,i]],r);return Promise.resolve(!!o&&(o.x!==n[0]||o.y!==n[1]||o.k!==n[2]))}function PI(e,t,n,r,a,i){let o=a,l=r.get(o)||new Map;r.set(o,l.set(n,t)),o=`${a}-${e}`;let s=r.get(o)||new Map;if(r.set(o,s.set(n,t)),i){o=`${a}-${e}-${i}`;let l=r.get(o)||new Map;r.set(o,l.set(n,t))}}function PP(e,t,n){for(let r of(e.clear(),t.clear(),n)){let{source:n,target:a,sourceHandle:i=null,targetHandle:o=null}=r,l={edgeId:r.id,source:n,target:a,sourceHandle:i,targetHandle:o},s=`${n}-${i}--${a}-${o}`;PI("source",l,`${a}-${o}--${n}-${i}`,e,n,i),PI("target",l,s,e,a,o),t.set(r.id,r)}}function PO(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)break;r=r?.parentElement}while(r)return!1}function Pz({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){let a=[];for(let[e,i]of t){let t=n.get(e)?.internals.userNode;t&&a.push({...t,position:i.position,dragging:r})}if(!e)return[a[0],a];let i=n.get(e)?.internals.userNode;return[i?{...i,position:t.get(e)?.position||i.position,dragging:r}:a[0],a]}function PA(e,t,n,r,a,i=!1){let o=r.get(e);if(!o)return null;let l="strict"===a?o.internals.handleBounds?.[t]:[...o.internals.handleBounds?.source??[],...o.internals.handleBounds?.target??[]],s=(n?l?.find(e=>e.id===n):l?.[0])??null;return s&&i?{...s,...Px(o,s,s.position,!0)}:s}function PT(e,t){return e?e:t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null}let PR=()=>!0;function P_(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:a,fromType:i,doc:o,lib:l,flowId:s,isValidConnection:c=PR,nodeLookup:d}){let u="target"===i,f=t?o.querySelector(`.${l}-flow__handle[data-id="${s}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:m,y:h}=Pn(e),p=o.elementFromPoint(m,h),g=p?.classList.contains(`${l}-flow__handle`)?p:f,x={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let e=PT(void 0,g),t=g.getAttribute("data-nodeid"),i=g.getAttribute("data-handleid"),o=g.classList.contains("connectable"),l=g.classList.contains("connectableend");if(!t||!e)return x;let s={source:u?t:r,sourceHandle:u?i:a,target:u?r:t,targetHandle:u?a:i};x.connection=s,x.isValid=o&&l&&(n===w.Strict?u&&"source"===e||!u&&"target"===e:t!==r||i!==a)&&c(s),x.toHandle=PA(t,e,i,d,n,!0)}return x}let PD=function(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:a,edgeUpdaterType:i,isTarget:o,domNode:l,nodeLookup:s,lib:c,autoPanOnConnect:d,flowId:u,panBy:f,cancelConnection:m,onConnectStart:h,onConnect:p,onConnectEnd:g,isValidConnection:x=PR,onReconnectEnd:v,updateConnection:b,getTransform:y,getFromHandle:w,autoPanSpeed:j,dragThreshold:k=1,handleDomNode:N}){let C,M=I9(e.target),E=0,{x:I,y:P}=Pn(e),O=PT(i,N),z=l?.getBoundingClientRect(),A=!1;if(!z||!O)return;let T=PA(a,O,r,s,t);if(!T)return;let R=Pn(e,z),_=!1,D=null,L=!1,$=null,F={...T,nodeId:a,type:O,position:T.position},B=s.get(a),V={inProgress:!0,isValid:null,from:Px(B,F,S.Left,!0),fromHandle:F,fromPosition:F.position,fromNode:B,to:R,toHandle:null,toPosition:IC[F.position],toNode:null,pointer:R};function H(){A=!0,b(V),h?.(e,{nodeId:a,handleId:r,handleType:O})}function U(e){var i,l;let m;if(!A){let{x:t,y:n}=Pn(e),r=t-I,a=n-P;if(!(r*r+a*a>k*k))return;H()}if(!w()||!F)return void q(e);let h=y();C=function(e,t,n,r){let a=[],i=1/0;for(let o of function(e,t,n){let r=[],a={x:e.x-n,y:e.y-n,width:2*n,height:2*n};for(let e of t.values())IW(a,IH(e))>0&&r.push(e);return r}(e,n,t+250))for(let n of[...o.internals.handleBounds?.source??[],...o.internals.handleBounds?.target??[]]){if(r.nodeId===n.nodeId&&r.type===n.type&&r.id===n.id)continue;let{x:l,y:s}=Px(o,n,n.position,!0),c=Math.sqrt(Math.pow(l-e.x,2)+Math.pow(s-e.y,2));c>t||(c<i?(a=[{...n,x:l,y:s}],i=c):c===i&&a.push({...n,x:l,y:s}))}if(!a.length)return null;if(a.length>1){let e="source"===r.type?"target":"source";return a.find(t=>t.type===e)??a[0]}return a[0]}(IZ(R=Pn(e,z),h,!1,[1,1]),n,s,F),_||(!function e(){if(!d||!z)return;let[t,n]=I$(R,z,j);f({x:t,y:n}),E=requestAnimationFrame(e)}(),_=!0);let p=P_(e,{handle:C,connectionMode:t,fromNodeId:a,fromHandleId:r,fromType:o?"target":"source",isValidConnection:x,doc:M,lib:c,flowId:u,nodeLookup:s});$=p.handleDomNode,D=p.connection,i=!!C,l=p.isValid,m=null,l?m=!0:i&&!l&&(m=!1),L=m;let g=s.get(a),v=g?Px(g,F,S.Left,!0):V.from,N={...V,from:v,isValid:L,to:p.toHandle&&L?IJ({x:p.toHandle.x,y:p.toHandle.y},h):R,toHandle:p.toHandle,toPosition:L&&p.toHandle?p.toHandle.position:IC[F.position],toNode:p.toHandle?s.get(p.toHandle.nodeId):null,pointer:R};b(N),V=N}function q(e){if(!("touches"in e)||!(e.touches.length>0)){if(A){(C||$)&&D&&L&&p?.(D);let{inProgress:t,...n}=V,r={...n,toPosition:V.toHandle?V.toPosition:null};g?.(e,r),i&&v?.(e,r)}m(),cancelAnimationFrame(E),_=!1,L=!1,D=null,$=null,M.removeEventListener("mousemove",U),M.removeEventListener("mouseup",q),M.removeEventListener("touchmove",U),M.removeEventListener("touchend",q)}}0===k&&H(),M.addEventListener("mousemove",U),M.addEventListener("mouseup",q),M.addEventListener("touchmove",U),M.addEventListener("touchend",q)},PL=e=>({x:e.x,y:e.y,zoom:e.k}),P$=({x:e,y:t,zoom:n})=>Id.translate(e,t).scale(n),PF=(e,t)=>e.target.closest(`.${t}`),PB=(e,t)=>2===t&&Array.isArray(e)&&e.includes(2),PV=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,PH=(e,t=0,n=PV,r=()=>{})=>{let a="number"==typeof t&&t>0;return a||r(),a?e.transition().duration(t).ease(n).on("end",r):e},PU=e=>{let t=e.ctrlKey&&I1()?10:1;return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*t};function Pq(e){let t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:e.includes("left"),affectsY:e.includes("top")}}function PW(e,t){return Math.max(0,t-e)}function PK(e,t){return Math.max(0,e-t)}function PG(e,t,n){return Math.max(0,t-e,e-n)}(x=M||(M={})).Line="line",x.Handle="handle";let PX={width:0,height:0,x:0,y:0},PY={...PX,pointerX:0,pointerY:0,aspectRatio:1},PZ={get url(){return`file://${e.P("node_modules/.pnpm/zustand@4.5.7_@types+react@19.2.14_immer@11.1.8_react@19.2.4/node_modules/zustand/esm/vanilla.mjs")}`}},PJ=e=>{let t,n=new Set,r=(e,r)=>{let a="function"==typeof e?e(t):e;if(!Object.is(a,t)){let e=t;t=(null!=r?r:"object"!=typeof a||null===a)?a:Object.assign({},t,a),n.forEach(n=>n(t,e))}},a=()=>t,i={setState:r,getState:a,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{(PZ.env?PZ.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},o=t=e(r,a,i);return i},{useDebugValue:PQ}=O.default,{useSyncExternalStoreWithSelector:P0}=ns.default,P1=e=>e;function P2(e,t=P1,n){let r=P0(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return PQ(r),r}let P5=(e,t)=>{let n=e?PJ(e):PJ,r=(e,r=t)=>P2(n,e,r);return Object.assign(r,n),r};function P3(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}let P4=(0,O.createContext)(null),P6=P4.Provider,P8="[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001";function P7(e,t){let n=(0,O.useContext)(P4);if(null===n)throw Error(P8);return P2(n,e,t)}function P9(){let e=(0,O.useContext)(P4);if(null===e)throw Error(P8);return(0,O.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}let Oe={display:"none"},Ot={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},On="react-flow__node-desc",Or="react-flow__edge-desc",Oa=e=>e.ariaLiveMessage,Oi=e=>e.ariaLabelConfig;function Oo({rfId:e}){let t=P7(Oa);return(0,I.jsx)("div",{id:`react-flow__aria-live-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Ot,children:t})}function Ol({rfId:e,disableKeyboardA11y:t}){let n=P7(Oi);return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)("div",{id:`${On}-${e}`,style:Oe,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),(0,I.jsx)("div",{id:`${Or}-${e}`,style:Oe,children:n["edge.a11yDescription.default"]}),!t&&(0,I.jsx)(Oo,{rfId:e})]})}let Os=(0,O.forwardRef)(({position:e="top-left",children:t,className:n,style:r,...a},i)=>{let o=`${e}`.split("-");return(0,I.jsx)("div",{className:SQ(["react-flow__panel",n,...o]),style:r,ref:i,...a,children:t})});function Oc({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:(0,I.jsx)(Os,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:(0,I.jsx)("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}Os.displayName="Panel";let Od=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},Ou=e=>e.id;function Of(e,t){return P3(e.selectedNodes.map(Ou),t.selectedNodes.map(Ou))&&P3(e.selectedEdges.map(Ou),t.selectedEdges.map(Ou))}function Om({onSelectionChange:e}){let t=P9(),{selectedNodes:n,selectedEdges:r}=P7(Od,Of);return(0,O.useEffect)(()=>{let a={nodes:n,edges:r};e?.(a),t.getState().onSelectionChangeHandlers.forEach(e=>e(a))},[n,r,e]),null}let Oh=e=>!!e.onSelectionChangeHandlers;function Op({onSelectionChange:e}){let t=P7(Oh);return e||t?(0,I.jsx)(Om,{onSelectionChange:e}):null}let Og="u">typeof window?O.useLayoutEffect:O.useEffect,Ox=[0,0],Ov={x:0,y:0,zoom:1},Ob=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode","rfId"],Oy=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),Ow={translateExtent:Iw,nodeOrigin:Ox,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Oj(e){let{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:a,setTranslateExtent:i,setNodeExtent:o,reset:l,setDefaultNodesAndEdges:s}=P7(Oy,P3),c=P9();Og(()=>(s(e.defaultNodes,e.defaultEdges),()=>{d.current=Ow,l()}),[]);let d=(0,O.useRef)(Ow);return Og(()=>{for(let l of Ob){let s=e[l];if(s!==d.current[l]&&void 0!==e[l])if("nodes"===l)t(s);else if("edges"===l)n(s);else if("minZoom"===l)r(s);else if("maxZoom"===l)a(s);else if("translateExtent"===l)i(s);else if("nodeExtent"===l)o(s);else if("ariaLabelConfig"===l)c.setState({ariaLabelConfig:{...Ik,...s||{}}});else"fitView"===l?c.setState({fitViewQueued:s}):"fitViewOptions"===l?c.setState({fitViewOptions:s}):c.setState({[l]:s})}d.current=e},Ob.map(t=>e[t])),null}function Ok(){return"u"<typeof window||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}let ON="u">typeof document?document:null;function OC(e=null,t={target:ON,actInsideInputWithModifier:!0}){let[n,r]=(0,O.useState)(!1),a=(0,O.useRef)(!1),i=(0,O.useRef)(new Set([])),[o,l]=(0,O.useMemo)(()=>{if(null!==e){let t=(Array.isArray(e)?e:[e]).filter(e=>"string"==typeof e).map(e=>e.replace("+","\n").replace("\n\n","\n+").split("\n")),n=t.reduce((e,t)=>e.concat(...t),[]);return[t,n]}return[[],[]]},[e]);return(0,O.useEffect)(()=>{let n=t?.target??ON,s=t?.actInsideInputWithModifier??!0;if(null!==e){let e=e=>{if(a.current=e.ctrlKey||e.metaKey||e.shiftKey||e.altKey,(!a.current||a.current&&!s)&&Pt(e))return!1;let n=OM(e.code,l);if(i.current.add(e[n]),OS(o,i.current,!1)){let n=e.composedPath?.()?.[0]||e.target,i=n?.nodeName==="BUTTON"||n?.nodeName==="A";!1!==t.preventDefault&&(a.current||!i)&&e.preventDefault(),r(!0)}},c=e=>{let t=OM(e.code,l);OS(o,i.current,!0)?(r(!1),i.current.clear()):i.current.delete(e[t]),"Meta"===e.key&&i.current.clear(),a.current=!1},d=()=>{i.current.clear(),r(!1)};return n?.addEventListener("keydown",e),n?.addEventListener("keyup",c),window.addEventListener("blur",d),window.addEventListener("contextmenu",d),()=>{n?.removeEventListener("keydown",e),n?.removeEventListener("keyup",c),window.removeEventListener("blur",d),window.removeEventListener("contextmenu",d)}}},[e,r]),n}function OS(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function OM(e,t){return t.includes(e)?"code":"key"}function OE(e,t){let n=[],r=new Map,a=[];for(let t of e)if("add"===t.type){a.push(t);continue}else if("remove"===t.type||"replace"===t.type)r.set(t.id,[t]);else{let e=r.get(t.id);e?e.push(t):r.set(t.id,[t])}for(let e of t){let t=r.get(e.id);if(!t){n.push(e);continue}if("remove"===t[0].type)continue;if("replace"===t[0].type){n.push({...t[0].item});continue}let a={...e};for(let e of t){var i=e,o=a;switch(i.type){case"select":o.selected=i.selected;break;case"position":void 0!==i.position&&(o.position=i.position),void 0!==i.dragging&&(o.dragging=i.dragging);break;case"dimensions":void 0!==i.dimensions&&(o.measured={...i.dimensions},i.setAttributes&&((!0===i.setAttributes||"width"===i.setAttributes)&&(o.width=i.dimensions.width),(!0===i.setAttributes||"height"===i.setAttributes)&&(o.height=i.dimensions.height))),"boolean"==typeof i.resizing&&(o.resizing=i.resizing)}}n.push(a)}return a.length&&a.forEach(e=>{void 0!==e.index?n.splice(e.index,0,{...e.item}):n.push({...e.item})}),n}function OI(e,t){return{id:e,type:"select",selected:t}}function OP(e,t=new Set,n=!1){let r=[];for(let[a,i]of e){let e=t.has(a);(void 0!==i.selected||e)&&i.selected!==e&&(n&&(i.selected=e),r.push(OI(i.id,e)))}return r}function OO({items:e=[],lookup:t}){let n=[],r=new Map(e.map(e=>[e.id,e]));for(let[r,a]of e.entries()){let e=t.get(a.id),i=e?.internals?.userNode??e;void 0!==i&&i!==a&&n.push({id:a.id,item:a,type:"replace"}),void 0===i&&n.push({item:a,type:"add",index:r})}for(let[e]of t)void 0===r.get(e)&&n.push({id:e,type:"remove"});return n}function Oz(e){return{id:e.id,type:"remove"}}let OA=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e);function OT(e){return(0,O.forwardRef)(e)}function OR(e){let[t,n]=(0,O.useState)(BigInt(0)),[r]=(0,O.useState)(()=>{var e;let t;return e=()=>n(e=>e+BigInt(1)),t=[],{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}});return Og(()=>{let t=r.get();t.length&&(e(t),r.reset())},[t]),r}let O_=(0,O.createContext)(null);function OD({children:e}){let t=P9(),n=OR((0,O.useCallback)(e=>{let{nodes:n=[],setNodes:r,hasDefaultNodes:a,onNodesChange:i,nodeLookup:o,fitViewQueued:l,onNodesChangeMiddlewareMap:s}=t.getState(),c=n;for(let t of e)c="function"==typeof t?t(c):t;let d=OO({items:c,lookup:o});for(let e of s.values())d=e(d);a&&r(c),d.length>0?i?.(d):l&&window.requestAnimationFrame(()=>{let{fitViewQueued:e,nodes:n,setNodes:r}=t.getState();e&&r(n)})},[])),r=OR((0,O.useCallback)(e=>{let{edges:n=[],setEdges:r,hasDefaultEdges:a,onEdgesChange:i,edgeLookup:o}=t.getState(),l=n;for(let t of e)l="function"==typeof t?t(l):t;a?r(l):i&&i(OO({items:l,lookup:o}))},[])),a=(0,O.useMemo)(()=>({nodeQueue:n,edgeQueue:r}),[]);return(0,I.jsx)(O_.Provider,{value:a,children:e})}let OL=e=>!!e.panZoom;function O$(){let e,t=(e=P9(),(0,O.useMemo)(()=>({zoomIn:t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1.2,t):Promise.resolve(!1)},zoomOut:t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,t):Promise.resolve(!1)},zoomTo:(t,n)=>{let{panZoom:r}=e.getState();return r?r.scaleTo(t,n):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{let{transform:[r,a,i],panZoom:o}=e.getState();return o?(await o.setViewport({x:t.x??r,y:t.y??a,zoom:t.zoom??i},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{let[t,n,r]=e.getState().transform;return{x:t,y:n,zoom:r}},setCenter:async(t,n,r)=>e.getState().setCenter(t,n,r),fitBounds:async(t,n)=>{let{width:r,height:a,minZoom:i,maxZoom:o,panZoom:l}=e.getState(),s=I0(t,r,a,i,o,n?.padding??.1);return l?(await l.setViewport(s,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,n={})=>{let{transform:r,snapGrid:a,snapToGrid:i,domNode:o}=e.getState();if(!o)return t;let{x:l,y:s}=o.getBoundingClientRect(),c={x:t.x-l,y:t.y-s},d=n.snapGrid??a;return IZ(c,r,n.snapToGrid??i,d)},flowToScreenPosition:t=>{let{transform:n,domNode:r}=e.getState();if(!r)return t;let{x:a,y:i}=r.getBoundingClientRect(),o=IJ(t,n);return{x:o.x+a,y:o.y+i}}}),[])),n=P9(),r=function(){let e=(0,O.useContext)(O_);if(!e)throw Error("useBatchContext must be used within a BatchProvider");return e}(),a=P7(OL),i=(0,O.useMemo)(()=>{let e=e=>n.getState().nodeLookup.get(e),t=e=>{r.nodeQueue.push(e)},a=e=>{r.edgeQueue.push(e)},i=e=>{let{nodeLookup:t,nodeOrigin:r}=n.getState(),a=OA(e)?e:t.get(e.id),i=a.parentId?I4(a.position,a.measured,a.parentId,t,r):a.position;return IH({...a,position:i,width:a.measured?.width??a.width,height:a.measured?.height??a.height})},o=(e,n,r={replace:!1})=>{t(t=>t.map(t=>{if(t.id===e){let e="function"==typeof n?n(t):n;return r.replace&&OA(e)?e:{...t,...e}}return t}))},l=(e,t,n={replace:!1})=>{a(r=>r.map(r=>{if(r.id===e){let e="function"==typeof t?t(r):t;return n.replace&&IM(e)?e:{...r,...e}}return r}))};return{getNodes:()=>n.getState().nodes.map(e=>({...e})),getNode:t=>e(t)?.internals.userNode,getInternalNode:e,getEdges:()=>{let{edges:e=[]}=n.getState();return e.map(e=>({...e}))},getEdge:e=>n.getState().edgeLookup.get(e),setNodes:t,setEdges:a,addNodes:e=>{let t=Array.isArray(e)?e:[e];r.nodeQueue.push(e=>[...e,...t])},addEdges:e=>{let t=Array.isArray(e)?e:[e];r.edgeQueue.push(e=>[...e,...t])},toObject:()=>{let{nodes:e=[],edges:t=[],transform:r}=n.getState(),[a,i,o]=r;return{nodes:e.map(e=>({...e})),edges:t.map(e=>({...e})),viewport:{x:a,y:i,zoom:o}}},deleteElements:async({nodes:e=[],edges:t=[]})=>{let{nodes:r,edges:a,onNodesDelete:i,onEdgesDelete:o,triggerNodeChanges:l,triggerEdgeChanges:s,onDelete:c,onBeforeDelete:d}=n.getState(),{nodes:u,edges:f}=await IT({nodesToRemove:e,edgesToRemove:t,nodes:r,edges:a,onBeforeDelete:d}),m=f.length>0,h=u.length>0;if(m){let e=f.map(Oz);o?.(f),s(e)}if(h){let e=u.map(Oz);i?.(u),l(e)}return(h||m)&&c?.({nodes:u,edges:f}),{deletedNodes:u,deletedEdges:f}},getIntersectingNodes:(e,t=!0,r)=>{let a=IK(e),o=a?e:i(e),l=void 0!==r;return o?(r||n.getState().nodes).filter(r=>{let i=n.getState().nodeLookup.get(r.id);if(i&&!a&&(r.id===e.id||!i.internals.positionAbsolute))return!1;let s=IH(l?r:i),c=IW(s,o);return t&&c>0||c>=s.width*s.height||c>=o.width*o.height}):[]},isNodeIntersecting:(e,t,n=!0)=>{let r=IK(e)?e:i(e);if(!r)return!1;let a=IW(r,t);return n&&a>0||a>=t.width*t.height||a>=r.width*r.height},updateNode:o,updateNodeData:(e,t,n={replace:!1})=>{o(e,e=>{let r="function"==typeof t?t(e):t;return n.replace?{...e,data:r}:{...e,data:{...e.data,...r}}},n)},updateEdge:l,updateEdgeData:(e,t,n={replace:!1})=>{l(e,e=>{let r="function"==typeof t?t(e):t;return n.replace?{...e,data:r}:{...e,data:{...e.data,...r}}},n)},getNodesBounds:e=>{let{nodeLookup:t,nodeOrigin:r}=n.getState();return((e,t={nodeOrigin:[0,0]})=>0===e.length?{x:0,y:0,width:0,height:0}:IV(e.reduce((e,n)=>{let r="string"==typeof n,a=t.nodeLookup||r?void 0:n;return t.nodeLookup&&(a=r?t.nodeLookup.get(n):IE(n)?n:t.nodeLookup.get(n.id)),IF(e,a?IU(a,t.nodeOrigin):{x:0,y:0,x2:0,y2:0})},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})))(e,{nodeLookup:t,nodeOrigin:r})},getHandleConnections:({type:e,id:t,nodeId:r})=>Array.from(n.getState().connectionLookup.get(`${r}-${e}${t?`-${t}`:""}`)?.values()??[]),getNodeConnections:({type:e,handleId:t,nodeId:r})=>Array.from(n.getState().connectionLookup.get(`${r}${e?t?`-${e}-${t}`:`-${e}`:""}`)?.values()??[]),fitView:async e=>{let t,a,i=n.getState().fitViewResolver??{promise:new Promise((e,n)=>{t=e,a=n}),resolve:t,reject:a};return n.setState({fitViewQueued:!0,fitViewOptions:e,fitViewResolver:i}),r.nodeQueue.push(e=>[...e]),i.promise}}},[]);return(0,O.useMemo)(()=>({...i,...t,viewportInitialized:a}),[a])}let OF=e=>e.selected,OB="u">typeof window?window:void 0,OV={position:"absolute",width:"100%",height:"100%",top:0,left:0},OH=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function OU({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:r=!1,panOnScrollSpeed:a=.5,panOnScrollMode:i=j.Free,zoomOnDoubleClick:o=!0,panOnDrag:l=!0,defaultViewport:s,translateExtent:c,minZoom:d,maxZoom:u,zoomActivationKeyCode:f,preventScrolling:m=!0,children:h,noWheelClassName:p,noPanClassName:g,onViewportChange:x,isControlledViewport:v,paneClickDistance:b,selectionOnDrag:y}){let w,k=P9(),N=(0,O.useRef)(null),{userSelectionActive:C,lib:S,connectionInProgress:M}=P7(OH,P3),E=OC(f),P=(0,O.useRef)();w=P9(),(0,O.useEffect)(()=>{let e=()=>{if(!N.current||!(N.current.checkVisibility?.()??!0))return!1;let e=I7(N.current);(0===e.height||0===e.width)&&w.getState().onError?.("004","The React Flow parent container needs a width and a height to render the graph."),w.setState({width:e.width||500,height:e.height||500})};if(N.current){e(),window.addEventListener("resize",e);let t=new ResizeObserver(()=>e());return t.observe(N.current),()=>{window.removeEventListener("resize",e),t&&N.current&&t.unobserve(N.current)}}},[]);let z=(0,O.useCallback)(e=>{x?.({x:e[0],y:e[1],zoom:e[2]}),v||k.setState({transform:e})},[x,v]);return(0,O.useEffect)(()=>{if(N.current){P.current=function({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:a,onPanZoom:i,onPanZoomStart:o,onPanZoomEnd:l,onDraggingChange:s}){let c={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{x:0,y:0,zoom:0},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),u=Iy().scaleExtent([t,n]).translateExtent(r),f=MR(e).call(u);x({x:a.x,y:a.y,zoom:IR(a.zoom,t,n)},[[0,0],[d.width,d.height]],r);let m=f.on("wheel.zoom"),h=f.on("dblclick.zoom");function p(e,t){return f?new Promise(n=>{u?.interpolate(t?.interpolate==="linear"?oO:MZ).transform(PH(f,t?.duration,t?.ease,()=>n(!0)),e)}):Promise.resolve(!1)}function g(){u.on("zoom",null)}async function x(e,t,n){let r=P$(e),a=u?.constrain()(r,t,n);return a&&await p(a),new Promise(e=>e(a))}return u.wheelDelta(PU),{update:function({noWheelClassName:e,noPanClassName:t,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:a,panOnDrag:d,panOnScrollMode:p,panOnScrollSpeed:x,preventScrolling:v,zoomOnPinch:b,zoomOnScroll:y,zoomOnDoubleClick:w,zoomActivationKeyPressed:k,lib:N,onTransformChange:C,connectionInProgress:S,paneClickDistance:M,selectionOnDrag:E}){r&&!c.isZoomingOrPanning&&g();let I=a&&!k&&!r;u.clickDistance(E?1/0:!IG(M)||M<0?0:M);let P=I?function({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:a,panOnScrollSpeed:i,zoomOnPinch:o,onPanZoomStart:l,onPanZoom:s,onPanZoomEnd:c}){return d=>{if(PF(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();let u=n.property("__zoom").k||1;if(d.ctrlKey&&o){let e=M_(d),t=u*Math.pow(2,PU(d));r.scaleTo(n,t,e,d);return}let f=1===d.deltaMode?20:1,m=a===j.Vertical?0:d.deltaX*f,h=a===j.Horizontal?0:d.deltaY*f;!I1()&&d.shiftKey&&a!==j.Vertical&&(m=d.deltaY*f,h=0),r.translateBy(n,-(m/u)*i,-(h/u)*i,{internal:!0});let p=PL(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(s?.(d,p),e.panScrollTimeout=setTimeout(()=>{c?.(d,p),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,l?.(d,p))}}({zoomPanValues:c,noWheelClassName:e,d3Selection:f,d3Zoom:u,panOnScrollMode:p,panOnScrollSpeed:x,zoomOnPinch:b,onPanZoomStart:o,onPanZoom:i,onPanZoomEnd:l}):function({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,a){let i="wheel"===r.type,o=!t&&i&&!r.ctrlKey,l=PF(r,e);if(r.ctrlKey&&i&&l&&r.preventDefault(),o||l)return null;r.preventDefault(),n.call(this,r,a)}}({noWheelClassName:e,preventScrolling:v,d3ZoomHandler:m});if(f.on("wheel.zoom",P,{passive:!1}),!r){let e=function({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let a=PL(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=a,r.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(r.sourceEvent,a)}}({zoomPanValues:c,onDraggingChange:s,onPanZoomStart:o});u.on("start",e);let t=function({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:a}){return i=>{e.usedRightMouseButton=!!(n&&PB(t,e.mouseButton??0)),i.sourceEvent?.sync||r([i.transform.x,i.transform.y,i.transform.k]),a&&!i.sourceEvent?.internal&&a?.(i.sourceEvent,PL(i.transform))}}({zoomPanValues:c,panOnDrag:d,onPaneContextMenu:!!n,onPanZoom:i,onTransformChange:C});u.on("zoom",t);let r=function({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:a,onPaneContextMenu:i}){return o=>{if(!o.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,i&&PB(t,e.mouseButton??0)&&!e.usedRightMouseButton&&o.sourceEvent&&i(o.sourceEvent),e.usedRightMouseButton=!1,r(!1),a)){let t=PL(o.transform);e.prevViewport=t,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{a?.(o.sourceEvent,t)},150*!!n)}}}({zoomPanValues:c,panOnDrag:d,panOnScroll:a,onPaneContextMenu:n,onPanZoomEnd:l,onDraggingChange:s});u.on("end",r)}let O=function({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:a,zoomOnDoubleClick:i,userSelectionActive:o,noWheelClassName:l,noPanClassName:s,lib:c,connectionInProgress:d}){return u=>{let f=e||t,m=n&&u.ctrlKey,h="wheel"===u.type;if(1===u.button&&"mousedown"===u.type&&(PF(u,`${c}-flow__node`)||PF(u,`${c}-flow__edge`)))return!0;if(!r&&!f&&!a&&!i&&!n||o||d&&!h||PF(u,l)&&h||PF(u,s)&&(!h||a&&h&&!e)||!n&&u.ctrlKey&&h)return!1;if(!n&&"touchstart"===u.type&&u.touches?.length>1)return u.preventDefault(),!1;if(!f&&!a&&!m&&h||!r&&("mousedown"===u.type||"touchstart"===u.type)||Array.isArray(r)&&!r.includes(u.button)&&"mousedown"===u.type)return!1;let p=Array.isArray(r)&&r.includes(u.button)||!u.button||u.button<=1;return(!u.ctrlKey||h)&&p}}({zoomActivationKeyPressed:k,panOnDrag:d,zoomOnScroll:y,panOnScroll:a,zoomOnDoubleClick:w,zoomOnPinch:b,userSelectionActive:r,noPanClassName:t,noWheelClassName:e,lib:N,connectionInProgress:S});u.filter(O),w?f.on("dblclick.zoom",h):f.on("dblclick.zoom",null)},destroy:g,setViewport:async function e(e,t){let n=P$(e);return await p(n,t),new Promise(e=>e(n))},setViewportConstrained:x,getViewport:function(){let e=f?Iu(f.node()):{x:0,y:0,k:1};return{x:e.x,y:e.y,zoom:e.k}},scaleTo:function(e,t){return f?new Promise(n=>{u?.interpolate(t?.interpolate==="linear"?oO:MZ).scaleTo(PH(f,t?.duration,t?.ease,()=>n(!0)),e)}):Promise.resolve(!1)},scaleBy:function(e,t){return f?new Promise(n=>{u?.interpolate(t?.interpolate==="linear"?oO:MZ).scaleBy(PH(f,t?.duration,t?.ease,()=>n(!0)),e)}):Promise.resolve(!1)},setScaleExtent:function(e){u?.scaleExtent(e)},setTranslateExtent:function(e){u?.translateExtent(e)},syncViewport:function(e){if(f){let t=P$(e),n=f.property("__zoom");(n.k!==e.zoom||n.x!==e.x||n.y!==e.y)&&u?.transform(f,t,null,{sync:!0})}},setClickDistance:function(e){let t=!IG(e)||e<0?0:e;u?.clickDistance(t)}}}({domNode:N.current,minZoom:d,maxZoom:u,translateExtent:c,viewport:s,onDraggingChange:e=>k.setState(t=>t.paneDragging===e?t:{paneDragging:e}),onPanZoomStart:(e,t)=>{let{onViewportChangeStart:n,onMoveStart:r}=k.getState();r?.(e,t),n?.(t)},onPanZoom:(e,t)=>{let{onViewportChange:n,onMove:r}=k.getState();r?.(e,t),n?.(t)},onPanZoomEnd:(e,t)=>{let{onViewportChangeEnd:n,onMoveEnd:r}=k.getState();r?.(e,t),n?.(t)}});let{x:e,y:t,zoom:n}=P.current.getViewport();return k.setState({panZoom:P.current,transform:[e,t,n],domNode:N.current.closest(".react-flow")}),()=>{P.current?.destroy()}}},[]),(0,O.useEffect)(()=>{P.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:r,panOnScrollSpeed:a,panOnScrollMode:i,zoomOnDoubleClick:o,panOnDrag:l,zoomActivationKeyPressed:E,preventScrolling:m,noPanClassName:g,userSelectionActive:C,noWheelClassName:p,lib:S,onTransformChange:z,connectionInProgress:M,selectionOnDrag:y,paneClickDistance:b})},[e,t,n,r,a,i,o,l,E,m,g,C,p,S,z,M,y,b]),(0,I.jsx)("div",{className:"react-flow__renderer",ref:N,style:OV,children:h})}let Oq=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function OW(){let{userSelectionActive:e,userSelectionRect:t}=P7(Oq,P3);return e&&t?(0,I.jsx)("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}let OK=(e,t)=>n=>{n.target===t.current&&e?.(n)},OG=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function OX({isSelecting:e,selectionKeyPressed:t,selectionMode:n=k.Full,panOnDrag:r,paneClickDistance:a,selectionOnDrag:i,onSelectionStart:o,onSelectionEnd:l,onPaneClick:s,onPaneContextMenu:c,onPaneScroll:d,onPaneMouseEnter:u,onPaneMouseMove:f,onPaneMouseLeave:m,children:h}){let p=P9(),{userSelectionActive:g,elementsSelectable:x,dragging:v,connectionInProgress:b}=P7(OG,P3),y=x&&(e||g),w=(0,O.useRef)(null),j=(0,O.useRef)(),N=(0,O.useRef)(new Set),C=(0,O.useRef)(new Set),S=(0,O.useRef)(!1),M=e=>{if(S.current||b){S.current=!1;return}s?.(e),p.getState().resetSelectedElements(),p.setState({nodesSelectionActive:!1})},E=!0===r||Array.isArray(r)&&r.includes(0);return(0,I.jsxs)("div",{className:SQ(["react-flow__pane",{draggable:E,dragging:v,selection:e}]),onClick:y?void 0:OK(M,w),onContextMenu:OK(e=>{Array.isArray(r)&&r?.includes(2)?e.preventDefault():c?.(e)},w),onWheel:OK(d?e=>d(e):void 0,w),onPointerEnter:y?void 0:u,onPointerMove:y?e=>{let{userSelectionRect:r,transform:i,nodeLookup:l,edgeLookup:s,connectionLookup:c,triggerNodeChanges:d,triggerEdgeChanges:u,defaultEdgeOptions:f,resetSelectedElements:m}=p.getState();if(!j.current||!r)return;let{x:h,y:g}=Pn(e.nativeEvent,j.current),{startX:x,startY:v}=r;if(!S.current){if(Math.hypot(h-x,g-v)<=(t?0:a))return;m(),o?.(e)}S.current=!0;let b={startX:x,startY:v,x:h<x?h:x,y:g<v?g:v,width:Math.abs(h-x),height:Math.abs(g-v)},y=N.current,w=C.current;N.current=new Set(IO(l,b,i,n===k.Partial,!0).map(e=>e.id)),C.current=new Set;let M=f?.selectable??!0;for(let e of N.current){let t=c.get(e);if(t)for(let{edgeId:e}of t.values()){let t=s.get(e);t&&(t.selectable??M)&&C.current.add(e)}}I6(y,N.current)||d(OP(l,N.current,!0)),I6(w,C.current)||u(OP(s,C.current)),p.setState({userSelectionRect:b,userSelectionActive:!0,nodesSelectionActive:!1})}:f,onPointerUp:y?e=>{0===e.button&&(e.target?.releasePointerCapture?.(e.pointerId),!g&&e.target===w.current&&p.getState().userSelectionRect&&M?.(e),p.setState({userSelectionActive:!1,userSelectionRect:null}),S.current&&(l?.(e),p.setState({nodesSelectionActive:N.current.size>0})))}:void 0,onPointerDownCapture:y?n=>{let{domNode:r}=p.getState();if(j.current=r?.getBoundingClientRect(),!j.current)return;let a=n.target===w.current;if(!a&&n.target.closest(".nokey")||!e||!(i&&a||t)||0!==n.button||!n.isPrimary)return;n.target?.setPointerCapture?.(n.pointerId),S.current=!1;let{x:o,y:l}=Pn(n.nativeEvent,j.current);p.setState({userSelectionRect:{width:0,height:0,startX:o,startY:l,x:o,y:l}}),a||(n.stopPropagation(),n.preventDefault())}:void 0,onClickCapture:y?e=>{S.current&&(e.stopPropagation(),S.current=!1)}:void 0,onPointerLeave:m,ref:w,style:OV,children:[h,(0,I.jsx)(OW,{})]})}function OY({id:e,store:t,unselect:n=!1,nodeRef:r}){let a,{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:l,nodeLookup:s,onError:c}=t.getState(),d=s.get(e);d?(t.setState({nodesSelectionActive:!1}),d.selected?(n||d.selected&&l)&&(o({nodes:[d],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):i([e])):c?.("012",(a=e,`Node with id "${a}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`))}function OZ({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:a,isSelectable:i,nodeClickDistance:o}){let l=P9(),[s,c]=(0,O.useState)(!1),d=(0,O.useRef)();return(0,O.useEffect)(()=>{d.current=function({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:a}){let i={x:null,y:null},o=0,l=new Map,s=!1,c={x:0,y:0},d=null,u=!1,f=null,m=!1,h=!1,p=null;return{update:function({noDragClassName:g,handleSelector:x,domNode:v,isSelectable:b,nodeId:y,nodeClickDistance:w=0}){function j({x:e,y:n}){let{nodeLookup:a,nodeExtent:o,snapGrid:s,snapToGrid:c,nodeOrigin:d,onNodeDrag:u,onSelectionDrag:f,onError:m,updateNodePositions:g}=t();i={x:e,y:n};let x=!1,v=l.size>1,b=v&&o?IB(IP(l)):null,w=v&&c?function({dragItems:e,snapGrid:t,x:n,y:r}){let a=e.values().next().value;if(!a)return null;let i={x:n-a.distance.x,y:r-a.distance.y},o=IY(i,t);return{x:o.x-i.x,y:o.y-i.y}}({dragItems:l,snapGrid:s,x:e,y:n}):null;for(let[t,r]of l){if(!a.has(t))continue;let i={x:e-r.distance.x,y:n-r.distance.y};c&&(i=w?{x:Math.round(i.x+w.x),y:Math.round(i.y+w.y)}:IY(i,s));let l=null;if(v&&o&&!r.extent&&b){let{positionAbsolute:e}=r.internals,t=e.x-b.x+o[0][0],n=e.x+r.measured.width-b.x2+o[1][0];l=[[t,e.y-b.y+o[0][1]],[n,e.y+r.measured.height-b.y2+o[1][1]]]}let{position:u,positionAbsolute:f}=IA({nodeId:t,nextPosition:i,nodeLookup:a,nodeExtent:l||o,nodeOrigin:d,onError:m});x=x||r.position.x!==u.x||r.position.y!==u.y,r.position=u,r.internals.positionAbsolute=f}if(h=h||x,x&&(g(l,!0),p&&(r||u||!y&&f))){let[e,t]=Pz({nodeId:y,dragItems:l,nodeLookup:a});r?.(p,l,e,t),u?.(p,e,t),y||f?.(p,t)}}async function k(){if(!d)return;let{transform:e,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:a}=t();if(!a){s=!1,cancelAnimationFrame(o);return}let[l,u]=I$(c,d,r);(0!==l||0!==u)&&(i.x=(i.x??0)-l/e[2],i.y=(i.y??0)-u/e[2],await n({x:l,y:u})&&j(i)),o=requestAnimationFrame(k)}function N(r){let{nodeLookup:a,multiSelectionActive:o,nodesDraggable:s,transform:c,snapGrid:f,snapToGrid:m,selectNodesOnDrag:h,onNodeDragStart:p,onSelectionDragStart:g,unselectNodesAndEdges:x}=t();u=!0,h&&b||o||!y||a.get(y)?.selected||x(),b&&h&&y&&e?.(y);let v=I8(r.sourceEvent,{transform:c,snapGrid:f,snapToGrid:m,containerBounds:d});if(i=v,(l=function(e,t,n,r){let a=new Map;for(let[i,o]of e)if((o.selected||o.id===r)&&(!o.parentId||!function e(t,n){if(!t.parentId)return!1;let r=n.get(t.parentId);return!!r&&(!!r.selected||e(r,n))}(o,e))&&(o.draggable||t&&void 0===o.draggable)){let t=e.get(i);t&&a.set(i,{id:i,position:t.position||{x:0,y:0},distance:{x:n.x-t.internals.positionAbsolute.x,y:n.y-t.internals.positionAbsolute.y},extent:t.extent,parentId:t.parentId,origin:t.origin,expandParent:t.expandParent,internals:{positionAbsolute:t.internals.positionAbsolute||{x:0,y:0}},measured:{width:t.measured.width??0,height:t.measured.height??0}})}return a}(a,s,v,y)).size>0&&(n||p||!y&&g)){let[e,t]=Pz({nodeId:y,dragItems:l,nodeLookup:a});n?.(r.sourceEvent,l,e,t),p?.(r.sourceEvent,e,t),y||g?.(r.sourceEvent,t)}}f=MR(v);let C=MX().clickDistance(w).on("start",e=>{let{domNode:n,nodeDragThreshold:r,transform:a,snapGrid:o,snapToGrid:l}=t();d=n?.getBoundingClientRect()||null,m=!1,h=!1,p=e.sourceEvent,0===r&&N(e),i=I8(e.sourceEvent,{transform:a,snapGrid:o,snapToGrid:l,containerBounds:d}),c=Pn(e.sourceEvent,d)}).on("drag",e=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:a,snapToGrid:o,nodeDragThreshold:f,nodeLookup:h}=t(),g=I8(e.sourceEvent,{transform:r,snapGrid:a,snapToGrid:o,containerBounds:d});if(p=e.sourceEvent,("touchmove"===e.sourceEvent.type&&e.sourceEvent.touches.length>1||y&&!h.has(y))&&(m=!0),!m){if(!s&&n&&u&&(s=!0,k()),!u){let t=Pn(e.sourceEvent,d),n=t.x-c.x,r=t.y-c.y;Math.sqrt(n*n+r*r)>f&&N(e)}(i.x!==g.xSnapped||i.y!==g.ySnapped)&&l&&u&&(c=Pn(e.sourceEvent,d),j(g))}}).on("end",e=>{if(u&&!m&&(s=!1,u=!1,cancelAnimationFrame(o),l.size>0)){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:i,onSelectionDragStop:o}=t();if(h&&(r(l,!1),h=!1),a||i||!y&&o){let[t,r]=Pz({nodeId:y,dragItems:l,nodeLookup:n,dragging:!1});a?.(e.sourceEvent,l,t,r),i?.(e.sourceEvent,t,r),y||o?.(e.sourceEvent,r)}}}).filter(e=>{let t=e.target;return!e.button&&(!g||!PO(t,`.${g}`,v))&&(!x||PO(t,x,v))});f.call(C)},destroy:function(){f?.on(".drag",null)}}}({getStoreItems:()=>l.getState(),onNodeMouseDown:t=>{OY({id:t,store:l,nodeRef:e})},onDragStart:()=>{c(!0)},onDragStop:()=>{c(!1)}})},[]),(0,O.useEffect)(()=>{if(!t&&e.current&&d.current)return d.current.update({noDragClassName:n,handleSelector:r,domNode:e.current,isSelectable:i,nodeId:a,nodeClickDistance:o}),()=>{d.current?.destroy()}},[n,r,t,i,e,a,o]),s}function OJ(){let e=P9();return(0,O.useCallback)(t=>{let{nodeExtent:n,snapToGrid:r,snapGrid:a,nodesDraggable:i,onError:o,updateNodePositions:l,nodeLookup:s,nodeOrigin:c}=e.getState(),d=new Map,u=e=>e.selected&&(e.draggable||i&&void 0===e.draggable),f=r?a[0]:5,m=r?a[1]:5,h=t.direction.x*f*t.factor,p=t.direction.y*m*t.factor;for(let[,e]of s){if(!u(e))continue;let t={x:e.internals.positionAbsolute.x+h,y:e.internals.positionAbsolute.y+p};r&&(t=IY(t,a));let{position:i,positionAbsolute:l}=IA({nodeId:e.id,nextPosition:t,nodeLookup:s,nodeExtent:n,nodeOrigin:c,onError:o});e.position=i,e.internals.positionAbsolute=l,d.set(e.id,e)}l(d)},[])}let OQ=(0,O.createContext)(null),O0=OQ.Provider;OQ.Consumer;let O1=()=>(0,O.useContext)(OQ),O2=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),O5=(0,O.memo)(OT(function({type:e="source",position:t=S.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:a=!0,isConnectableEnd:i=!0,id:o,onConnect:l,children:s,className:c,onMouseDown:d,onTouchStart:u,...f},m){let h=o||null,p="target"===e,g=P9(),x=O1(),{connectOnClick:v,noPanClassName:b,rfId:y}=P7(O2,P3),{connectingFrom:j,connectingTo:k,clickConnecting:N,isPossibleEndHandle:C,connectionInProcess:M,clickConnectionInProcess:E,valid:P}=P7(t=>{let{connectionClickStartHandle:n,connectionMode:r,connection:a}=t,{fromHandle:i,toHandle:o,isValid:l}=a,s=o?.nodeId===x&&o?.id===h&&o?.type===e;return{connectingFrom:i?.nodeId===x&&i?.id===h&&i?.type===e,connectingTo:s,clickConnecting:n?.nodeId===x&&n?.id===h&&n?.type===e,isPossibleEndHandle:r===w.Strict?i?.type!==e:x!==i?.nodeId||h!==i?.id,connectionInProcess:!!i,clickConnectionInProcess:!!n,valid:s&&l}},P3);x||g.getState().onError?.("010","Handle: No node id found. Make sure to only use a Handle inside a custom Node.");let O=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:r}=g.getState(),a={...t,...e};if(r){let{edges:e,setEdges:t}=g.getState();t(((e,t,n={})=>{let r,a;if(!e.source||!e.target)return IX("006","Can't create edge. An edge needs a source and a target."),t;let i=n.getEdgeId||Pc;return(a=r=IM(e)?{...e}:{...e,id:i(e)},t.some(e=>e.source===a.source&&e.target===a.target&&(e.sourceHandle===a.sourceHandle||!e.sourceHandle&&!a.sourceHandle)&&(e.targetHandle===a.targetHandle||!e.targetHandle&&!a.targetHandle)))?t:(null===r.sourceHandle&&delete r.sourceHandle,null===r.targetHandle&&delete r.targetHandle,t.concat(r))})(a,e))}n?.(a),l?.(a)},z=e=>{if(!x)return;let t="clientX"in e.nativeEvent;if(a&&(t&&0===e.button||!t)){let t=g.getState();PD(e.nativeEvent,{handleDomNode:e.currentTarget,autoPanOnConnect:t.autoPanOnConnect,connectionMode:t.connectionMode,connectionRadius:t.connectionRadius,domNode:t.domNode,nodeLookup:t.nodeLookup,lib:t.lib,isTarget:p,handleId:h,nodeId:x,flowId:t.rfId,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:(...e)=>g.getState().onConnectEnd?.(...e),updateConnection:t.updateConnection,onConnect:O,isValidConnection:n||((...e)=>g.getState().isValidConnection?.(...e)??!0),getTransform:()=>g.getState().transform,getFromHandle:()=>g.getState().connection.fromHandle,autoPanSpeed:t.autoPanSpeed,dragThreshold:t.connectionDragThreshold})}t?d?.(e):u?.(e)};return(0,I.jsx)("div",{"data-handleid":h,"data-nodeid":x,"data-handlepos":t,"data-id":`${y}-${x}-${h}-${e}`,className:SQ(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",b,c,{source:!p,target:p,connectable:r,connectablestart:a,connectableend:i,clickconnecting:N,connectingfrom:j,connectingto:k,valid:P,connectionindicator:r&&(!M||C)&&(M||E?i:a)}]),onMouseDown:z,onTouchStart:z,onClick:v?t=>{let{onClickConnectStart:r,onClickConnectEnd:i,connectionClickStartHandle:o,connectionMode:l,isValidConnection:s,lib:c,rfId:d,nodeLookup:u,connection:f}=g.getState();if(!x||!o&&!a)return;if(!o){r?.(t.nativeEvent,{nodeId:x,handleId:h,handleType:e}),g.setState({connectionClickStartHandle:{nodeId:x,type:e,id:h}});return}let m=I9(t.target),p=n||s,{connection:v,isValid:b}=P_(t.nativeEvent,{handle:{nodeId:x,id:h,type:e},connectionMode:l,fromNodeId:o.nodeId,fromHandleId:o.id||null,fromType:o.type,isValidConnection:p,flowId:d,doc:m,lib:c,nodeLookup:u});b&&v&&O(v);let y=structuredClone(f);delete y.inProgress,y.toPosition=y.toHandle?y.toHandle.position:null,i?.(t,y),g.setState({connectionClickStartHandle:null})}:void 0,ref:m,...f,children:s})})),O3={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},O4={input:function({data:e,isConnectable:t,sourcePosition:n=S.Bottom}){return(0,I.jsxs)(I.Fragment,{children:[e?.label,(0,I.jsx)(O5,{type:"source",position:n,isConnectable:t})]})},default:function({data:e,isConnectable:t,targetPosition:n=S.Top,sourcePosition:r=S.Bottom}){return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(O5,{type:"target",position:n,isConnectable:t}),e?.label,(0,I.jsx)(O5,{type:"source",position:r,isConnectable:t})]})},output:function({data:e,isConnectable:t,targetPosition:n=S.Top}){return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(O5,{type:"target",position:n,isConnectable:t}),e?.label]})},group:function(){return null}},O6=e=>{let{width:t,height:n,x:r,y:a}=IP(e.nodeLookup,{filter:e=>!!e.selected});return{width:IG(t)?t:null,height:IG(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${r}px,${a}px)`}};function O8({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let r=P9(),{width:a,height:i,transformString:o,userSelectionActive:l}=P7(O6,P3),s=OJ(),c=(0,O.useRef)(null);(0,O.useEffect)(()=>{n||c.current?.focus({preventScroll:!0})},[n]);let d=!l&&null!==a&&null!==i;if(OZ({nodeRef:c,disabled:!d}),!d)return null;let u=e?t=>{e(t,r.getState().nodes.filter(e=>e.selected))}:void 0;return(0,I.jsx)("div",{className:SQ(["react-flow__nodesselection","react-flow__container",t]),style:{transform:o},children:(0,I.jsx)("div",{ref:c,className:"react-flow__nodesselection-rect",onContextMenu:u,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(O3,e.key)&&(e.preventDefault(),s({direction:O3[e.key],factor:e.shiftKey?4:1}))},style:{width:a,height:i}})})}let O7="u">typeof window?window:void 0,O9=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function ze({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:a,onPaneContextMenu:i,onPaneScroll:o,paneClickDistance:l,deleteKeyCode:s,selectionKeyCode:c,selectionOnDrag:d,selectionMode:u,onSelectionStart:f,onSelectionEnd:m,multiSelectionKeyCode:h,panActivationKeyCode:p,zoomActivationKeyCode:g,elementsSelectable:x,zoomOnScroll:v,zoomOnPinch:b,panOnScroll:y,panOnScrollSpeed:w,panOnScrollMode:j,zoomOnDoubleClick:k,panOnDrag:N,defaultViewport:C,translateExtent:S,minZoom:M,maxZoom:E,preventScrolling:P,onSelectionContextMenu:z,noWheelClassName:A,noPanClassName:T,disableKeyboardA11y:R,onViewportChange:_,isControlledViewport:D}){let{nodesSelectionActive:L,userSelectionActive:$}=P7(O9,P3),F=OC(c,{target:O7}),B=OC(p,{target:O7}),V=B||N,H=B||y,U=d&&!0!==V,q=F||$||U;return!function({deleteKeyCode:e,multiSelectionKeyCode:t}){let n=P9(),{deleteElements:r}=O$(),a=OC(e,{actInsideInputWithModifier:!1}),i=OC(t,{target:OB});(0,O.useEffect)(()=>{if(a){let{edges:e,nodes:t}=n.getState();r({nodes:t.filter(OF),edges:e.filter(OF)}),n.setState({nodesSelectionActive:!1})}},[a]),(0,O.useEffect)(()=>{n.setState({multiSelectionActive:i})},[i])}({deleteKeyCode:s,multiSelectionKeyCode:h}),(0,I.jsx)(OU,{onPaneContextMenu:i,elementsSelectable:x,zoomOnScroll:v,zoomOnPinch:b,panOnScroll:H,panOnScrollSpeed:w,panOnScrollMode:j,zoomOnDoubleClick:k,panOnDrag:!F&&V,defaultViewport:C,translateExtent:S,minZoom:M,maxZoom:E,zoomActivationKeyCode:g,preventScrolling:P,noWheelClassName:A,noPanClassName:T,onViewportChange:_,isControlledViewport:D,paneClickDistance:l,selectionOnDrag:U,children:(0,I.jsxs)(OX,{onSelectionStart:f,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:a,onPaneContextMenu:i,onPaneScroll:o,panOnDrag:V,isSelecting:!!q,selectionMode:u,selectionKeyPressed:F,paneClickDistance:l,selectionOnDrag:U,children:[e,L&&(0,I.jsx)(O8,{onSelectionContextMenu:z,noPanClassName:T,disableKeyboardA11y:R})]})})}ze.displayName="FlowRenderer";let zt=(0,O.memo)(ze),zn=e=>e.updateNodeInternals;var zr=(0,O.memo)(function({id:e,onClick:t,onMouseEnter:n,onMouseMove:r,onMouseLeave:a,onContextMenu:i,onDoubleClick:o,nodesDraggable:l,elementsSelectable:s,nodesConnectable:c,nodesFocusable:d,resizeObserver:u,noDragClassName:f,noPanClassName:m,disableKeyboardA11y:h,rfId:p,nodeTypes:g,nodeClickDistance:x,onError:v}){let b,{node:y,internals:w,isParent:j}=P7(t=>{let n=t.nodeLookup.get(e),r=t.parentLookup.has(e);return{node:n,internals:n.internals,isParent:r}},P3),k=y.type||"default",N=g?.[k]||O4[k];void 0===N&&(v?.("003",(b=k,`Node type "${b}" not found. Using fallback type "default".`)),k="default",N=g?.default||O4.default);let C=!!(y.draggable||l&&void 0===y.draggable),S=!!(y.selectable||s&&void 0===y.selectable),M=!!(y.connectable||c&&void 0===y.connectable),E=!!(y.focusable||d&&void 0===y.focusable),P=P9(),z=I3(y),A=function({node:e,nodeType:t,hasDimensions:n,resizeObserver:r}){let a=P9(),i=(0,O.useRef)(null),o=(0,O.useRef)(null),l=(0,O.useRef)(e.sourcePosition),s=(0,O.useRef)(e.targetPosition),c=(0,O.useRef)(t),d=n&&!!e.internals.handleBounds;return(0,O.useEffect)(()=>{!i.current||e.hidden||d&&o.current===i.current||(o.current&&r?.unobserve(o.current),r?.observe(i.current),o.current=i.current)},[d,e.hidden]),(0,O.useEffect)(()=>()=>{o.current&&(r?.unobserve(o.current),o.current=null)},[]),(0,O.useEffect)(()=>{if(i.current){let n=c.current!==t,r=l.current!==e.sourcePosition,o=s.current!==e.targetPosition;(n||r||o)&&(c.current=t,l.current=e.sourcePosition,s.current=e.targetPosition,a.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:i.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),i}({node:y,nodeType:k,hasDimensions:z,resizeObserver:u}),T=OZ({nodeRef:A,disabled:y.hidden||!C,noDragClassName:f,handleSelector:y.dragHandle,nodeId:e,isSelectable:S,nodeClickDistance:x}),R=OJ();if(y.hidden)return null;let _=I5(y),D=void 0===y.internals.handleBounds?{width:y.width??y.initialWidth??y.style?.width,height:y.height??y.initialHeight??y.style?.height}:{width:y.width??y.style?.width,height:y.height??y.style?.height},L=S||C||t||n||r||a,$=n?e=>n(e,{...w.userNode}):void 0,F=r?e=>r(e,{...w.userNode}):void 0,B=a?e=>a(e,{...w.userNode}):void 0,V=i?e=>i(e,{...w.userNode}):void 0,H=o?e=>o(e,{...w.userNode}):void 0;return(0,I.jsx)("div",{className:SQ(["react-flow__node",`react-flow__node-${k}`,{[m]:C},y.className,{selected:y.selected,selectable:S,parent:j,draggable:C,dragging:T}]),ref:A,style:{zIndex:w.z,transform:`translate(${w.positionAbsolute.x}px,${w.positionAbsolute.y}px)`,pointerEvents:L?"all":"none",visibility:z?"visible":"hidden",...y.style,...D},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:$,onMouseMove:F,onMouseLeave:B,onContextMenu:V,onClick:n=>{let{selectNodesOnDrag:r,nodeDragThreshold:a}=P.getState();S&&(!r||!C||a>0)&&OY({id:e,store:P,nodeRef:A}),t&&t(n,{...w.userNode})},onDoubleClick:H,onKeyDown:E?t=>{if(!Pt(t.nativeEvent)&&!h){if(Ij.includes(t.key)&&S)OY({id:e,store:P,unselect:"Escape"===t.key,nodeRef:A});else if(C&&y.selected&&Object.prototype.hasOwnProperty.call(O3,t.key)){t.preventDefault();let{ariaLabelConfig:e}=P.getState();P.setState({ariaLiveMessage:e["node.a11yDescription.ariaLiveMessage"]({direction:t.key.replace("Arrow","").toLowerCase(),x:~~w.positionAbsolute.x,y:~~w.positionAbsolute.y})}),R({direction:O3[t.key],factor:t.shiftKey?4:1})}}}:void 0,tabIndex:E?0:void 0,onFocus:E?()=>{if(h||!A.current?.matches(":focus-visible"))return;let{transform:t,width:n,height:r,autoPanOnNodeFocus:a,setCenter:i}=P.getState();!a||IO(new Map([[e,y]]),{x:0,y:0,width:n,height:r},t,!0).length>0||i(y.position.x+_.width/2,y.position.y+_.height/2,{zoom:t[2]})}:void 0,role:y.ariaRole??(E?"group":void 0),"aria-roledescription":"node","aria-describedby":h?void 0:`${On}-${p}`,"aria-label":y.ariaLabel,...y.domAttributes,children:(0,I.jsx)(O0,{value:e,children:(0,I.jsx)(N,{id:e,data:y.data,type:k,positionAbsoluteX:w.positionAbsolute.x,positionAbsoluteY:w.positionAbsolute.y,selected:y.selected??!1,selectable:S,draggable:C,deletable:y.deletable??!0,isConnectable:M,sourcePosition:y.sourcePosition,targetPosition:y.targetPosition,dragging:T,dragHandle:y.dragHandle,zIndex:w.z,parentId:y.parentId,..._})})})});let za=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function zi(e){var t;let{nodesDraggable:n,nodesConnectable:r,nodesFocusable:a,elementsSelectable:i,onError:o}=P7(za,P3),l=(t=e.onlyRenderVisibleElements,P7((0,O.useCallback)(e=>t?IO(e.nodeLookup,{x:0,y:0,width:e.width,height:e.height},e.transform,!0).map(e=>e.id):Array.from(e.nodeLookup.keys()),[t]),P3)),s=function(){let e=P7(zn),[t]=(0,O.useState)(()=>"u"<typeof ResizeObserver?null:new ResizeObserver(t=>{let n=new Map;t.forEach(e=>{let t=e.target.getAttribute("data-id");n.set(t,{id:t,nodeElement:e.target,force:!0})}),e(n)}));return(0,O.useEffect)(()=>()=>{t?.disconnect()},[t]),t}();return(0,I.jsx)("div",{className:"react-flow__nodes",style:OV,children:l.map(t=>(0,I.jsx)(zr,{id:t,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:s,nodesDraggable:n,nodesConnectable:r,nodesFocusable:a,elementsSelectable:i,nodeClickDistance:e.nodeClickDistance,onError:o},t))})}zi.displayName="NodeRenderer";let zo=(0,O.memo)(zi),zl={[C.Arrow]:({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e}};return(0,I.jsx)("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},[C.ArrowClosed]:({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e,fill:e}};return(0,I.jsx)("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})}},zs=({id:e,type:t,color:n,width:r=12.5,height:a=12.5,markerUnits:i="strokeWidth",strokeWidth:o,orient:l="auto-start-reverse"})=>{let s,c=(s=P9(),(0,O.useMemo)(()=>{let e;return Object.prototype.hasOwnProperty.call(zl,t)?zl[t]:(s.getState().onError?.("009",(e=t,`Marker type "${e}" doesn't exist.`)),null)},[t]));return c?(0,I.jsx)("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${a}`,viewBox:"-10 -10 20 20",markerUnits:i,orient:l,refX:"0",refY:"0",children:(0,I.jsx)(c,{color:n,strokeWidth:o})}):null},zc=({defaultColor:e,rfId:t})=>{let n=P7(e=>e.edges),r=P7(e=>e.defaultEdgeOptions),a=(0,O.useMemo)(()=>(function(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:a}){let i=new Set;return e.reduce((e,o)=>([o.markerStart||r,o.markerEnd||a].forEach(r=>{if(r&&"object"==typeof r){let a=Pb(r,t);i.has(a)||(e.push({id:a,color:r.color||n,...r}),i.add(a))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))})(n,{id:t,defaultColor:e,defaultMarkerStart:r?.markerStart,defaultMarkerEnd:r?.markerEnd}),[n,r,t,e]);return a.length?(0,I.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,I.jsx)("defs",{children:a.map(e=>(0,I.jsx)(zs,{id:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient},e.id))})}):null};zc.displayName="MarkerDefinitions";var zd=(0,O.memo)(zc);function zu({x:e,y:t,label:n,labelStyle:r,labelShowBg:a=!0,labelBgStyle:i,labelBgPadding:o=[2,4],labelBgBorderRadius:l=2,children:s,className:c,...d}){let[u,f]=(0,O.useState)({x:1,y:0,width:0,height:0}),m=SQ(["react-flow__edge-textwrapper",c]),h=(0,O.useRef)(null);return((0,O.useEffect)(()=>{if(h.current){let e=h.current.getBBox();f({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),n)?(0,I.jsxs)("g",{transform:`translate(${e-u.width/2} ${t-u.height/2})`,className:m,visibility:u.width?"visible":"hidden",...d,children:[a&&(0,I.jsx)("rect",{width:u.width+2*o[0],x:-o[0],y:-o[1],height:u.height+2*o[1],className:"react-flow__edge-textbg",style:i,rx:l,ry:l}),(0,I.jsx)("text",{className:"react-flow__edge-text",y:u.height/2,dy:"0.3em",ref:h,style:r,children:n}),s]}):null}zu.displayName="EdgeText";let zf=(0,O.memo)(zu);function zm({path:e,labelX:t,labelY:n,label:r,labelStyle:a,labelShowBg:i,labelBgStyle:o,labelBgPadding:l,labelBgBorderRadius:s,interactionWidth:c=20,...d}){return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)("path",{...d,d:e,fill:"none",className:SQ(["react-flow__edge-path",d.className])}),c?(0,I.jsx)("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:c,className:"react-flow__edge-interaction"}):null,r&&IG(t)&&IG(n)?(0,I.jsx)(zf,{x:t,y:n,label:r,labelStyle:a,labelShowBg:i,labelBgStyle:o,labelBgPadding:l,labelBgBorderRadius:s}):null]})}function zh({pos:e,x1:t,y1:n,x2:r,y2:a}){return e===S.Left||e===S.Right?[.5*(t+r),n]:[t,.5*(n+a)]}function zp({sourceX:e,sourceY:t,sourcePosition:n=S.Bottom,targetX:r,targetY:a,targetPosition:i=S.Top}){let[o,l]=zh({pos:n,x1:e,y1:t,x2:r,y2:a}),[s,c]=zh({pos:i,x1:r,y1:a,x2:e,y2:t}),[d,u,f,m]=Pa({sourceX:e,sourceY:t,targetX:r,targetY:a,sourceControlX:o,sourceControlY:l,targetControlX:s,targetControlY:c});return[`M${e},${t} C${o},${l} ${s},${c} ${r},${a}`,d,u,f,m]}function zg(e){return(0,O.memo)(({id:t,sourceX:n,sourceY:r,targetX:a,targetY:i,sourcePosition:o,targetPosition:l,label:s,labelStyle:c,labelShowBg:d,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:m,style:h,markerEnd:p,markerStart:g,interactionWidth:x})=>{let[v,b,y]=zp({sourceX:n,sourceY:r,sourcePosition:o,targetX:a,targetY:i,targetPosition:l}),w=e.isInternal?void 0:t;return(0,I.jsx)(zm,{id:w,path:v,labelX:b,labelY:y,label:s,labelStyle:c,labelShowBg:d,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:m,style:h,markerEnd:p,markerStart:g,interactionWidth:x})})}let zx=zg({isInternal:!1}),zv=zg({isInternal:!0});function zb(e){return(0,O.memo)(({id:t,sourceX:n,sourceY:r,targetX:a,targetY:i,label:o,labelStyle:l,labelShowBg:s,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:f,sourcePosition:m=S.Bottom,targetPosition:h=S.Top,markerEnd:p,markerStart:g,pathOptions:x,interactionWidth:v})=>{let[b,y,w]=Ph({sourceX:n,sourceY:r,sourcePosition:m,targetX:a,targetY:i,targetPosition:h,borderRadius:x?.borderRadius,offset:x?.offset,stepPosition:x?.stepPosition}),j=e.isInternal?void 0:t;return(0,I.jsx)(zm,{id:j,path:b,labelX:y,labelY:w,label:o,labelStyle:l,labelShowBg:s,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:f,markerEnd:p,markerStart:g,interactionWidth:v})})}zx.displayName="SimpleBezierEdge",zv.displayName="SimpleBezierEdgeInternal";let zy=zb({isInternal:!1}),zw=zb({isInternal:!0});function zj(e){return(0,O.memo)(({id:t,...n})=>{let r=e.isInternal?void 0:t;return(0,I.jsx)(zy,{...n,id:r,pathOptions:(0,O.useMemo)(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}zy.displayName="SmoothStepEdge",zw.displayName="SmoothStepEdgeInternal";let zk=zj({isInternal:!1}),zN=zj({isInternal:!0});function zC(e){return(0,O.memo)(({id:t,sourceX:n,sourceY:r,targetX:a,targetY:i,label:o,labelStyle:l,labelShowBg:s,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:f,markerEnd:m,markerStart:h,interactionWidth:p})=>{let[g,x,v]=Pd({sourceX:n,sourceY:r,targetX:a,targetY:i}),b=e.isInternal?void 0:t;return(0,I.jsx)(zm,{id:b,path:g,labelX:x,labelY:v,label:o,labelStyle:l,labelShowBg:s,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:f,markerEnd:m,markerStart:h,interactionWidth:p})})}zk.displayName="StepEdge",zN.displayName="StepEdgeInternal";let zS=zC({isInternal:!1}),zM=zC({isInternal:!0});function zE(e){return(0,O.memo)(({id:t,sourceX:n,sourceY:r,targetX:a,targetY:i,sourcePosition:o=S.Bottom,targetPosition:l=S.Top,label:s,labelStyle:c,labelShowBg:d,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:m,style:h,markerEnd:p,markerStart:g,pathOptions:x,interactionWidth:v})=>{let[b,y,w]=Pl({sourceX:n,sourceY:r,sourcePosition:o,targetX:a,targetY:i,targetPosition:l,curvature:x?.curvature}),j=e.isInternal?void 0:t;return(0,I.jsx)(zm,{id:j,path:b,labelX:y,labelY:w,label:s,labelStyle:c,labelShowBg:d,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:m,style:h,markerEnd:p,markerStart:g,interactionWidth:v})})}zS.displayName="StraightEdge",zM.displayName="StraightEdgeInternal";let zI=zE({isInternal:!1}),zP=zE({isInternal:!0});zI.displayName="BezierEdge",zP.displayName="BezierEdgeInternal";let zO={default:zP,straight:zM,step:zN,smoothstep:zw,simplebezier:zv},zz={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},zA="react-flow__edgeupdater";function zT({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:a,onMouseEnter:i,onMouseOut:o,type:l}){return(0,I.jsx)("circle",{onMouseDown:a,onMouseEnter:i,onMouseOut:o,className:SQ([zA,`${zA}-${l}`]),cx:e===S.Left?t-r:e===S.Right?t+r:t,cy:e===S.Top?n-r:e===S.Bottom?n+r:n,r:r,stroke:"transparent",fill:"transparent"})}function zR({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:r,sourceY:a,targetX:i,targetY:o,sourcePosition:l,targetPosition:s,onReconnect:c,onReconnectStart:d,onReconnectEnd:u,setReconnecting:f,setUpdateHover:m}){let h=P9(),p=(e,t)=>{if(0!==e.button)return;let{autoPanOnConnect:r,domNode:a,connectionMode:i,connectionRadius:o,lib:l,onConnectStart:s,cancelConnection:m,nodeLookup:p,rfId:g,panBy:x,updateConnection:v}=h.getState(),b="target"===t.type;PD(e.nativeEvent,{autoPanOnConnect:r,connectionMode:i,connectionRadius:o,domNode:a,handleId:t.id,nodeId:t.nodeId,nodeLookup:p,isTarget:b,edgeUpdaterType:t.type,lib:l,flowId:g,cancelConnection:m,panBy:x,isValidConnection:(...e)=>h.getState().isValidConnection?.(...e)??!0,onConnect:e=>c?.(n,e),onConnectStart:(r,a)=>{f(!0),d?.(e,n,t.type),s?.(r,a)},onConnectEnd:(...e)=>h.getState().onConnectEnd?.(...e),onReconnectEnd:(e,r)=>{f(!1),u?.(e,n,t.type,r)},updateConnection:v,getTransform:()=>h.getState().transform,getFromHandle:()=>h.getState().connection.fromHandle,dragThreshold:h.getState().connectionDragThreshold,handleDomNode:e.currentTarget})},g=()=>m(!0),x=()=>m(!1);return(0,I.jsxs)(I.Fragment,{children:[(!0===e||"source"===e)&&(0,I.jsx)(zT,{position:l,centerX:r,centerY:a,radius:t,onMouseDown:e=>p(e,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),onMouseEnter:g,onMouseOut:x,type:"source"}),(!0===e||"target"===e)&&(0,I.jsx)(zT,{position:s,centerX:i,centerY:o,radius:t,onMouseDown:e=>p(e,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),onMouseEnter:g,onMouseOut:x,type:"target"})]})}var z_=(0,O.memo)(function({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:r,onClick:a,onDoubleClick:i,onContextMenu:o,onMouseEnter:l,onMouseMove:s,onMouseLeave:c,reconnectRadius:d,onReconnect:u,onReconnectStart:f,onReconnectEnd:m,rfId:h,edgeTypes:p,noPanClassName:g,onError:x,disableKeyboardA11y:v}){let b,y=P7(t=>t.edgeLookup.get(e)),j=P7(e=>e.defaultEdgeOptions),k=(y=j?{...j,...y}:y).type||"default",N=p?.[k]||zO[k];void 0===N&&(x?.("011",(b=k,`Edge type "${b}" not found. Using fallback type "default".`)),k="default",N=p?.default||zO.default);let C=!!(y.focusable||t&&void 0===y.focusable),M=void 0!==u&&(y.reconnectable||n&&void 0===y.reconnectable),E=!!(y.selectable||r&&void 0===y.selectable),P=(0,O.useRef)(null),[z,A]=(0,O.useState)(!1),[T,R]=(0,O.useState)(!1),_=P9(),{zIndex:D,sourceX:L,sourceY:$,targetX:F,targetY:B,sourcePosition:V,targetPosition:H}=P7((0,O.useCallback)(t=>{let n=t.nodeLookup.get(y.source),r=t.nodeLookup.get(y.target);if(!n||!r)return{zIndex:y.zIndex,...zz};let a=function(e){let{sourceNode:t,targetNode:n}=e;if(!Pp(t)||!Pp(n))return null;let r=t.internals.handleBounds||Pg(t.handles),a=n.internals.handleBounds||Pg(n.handles),i=Pv(r?.source??[],e.sourceHandle),o=Pv(e.connectionMode===w.Strict?a?.target??[]:(a?.target??[]).concat(a?.source??[]),e.targetHandle);if(!i||!o)return e.onError?.("008",((e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${"source"===e?n:r}", edge id: ${t}.`)(!i?"source":"target",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let l=i?.position||S.Bottom,s=o?.position||S.Top,c=Px(t,i,l),d=Px(n,o,s);return{sourceX:c.x,sourceY:c.y,targetX:d.x,targetY:d.y,sourcePosition:l,targetPosition:s}}({id:e,sourceNode:n,targetNode:r,sourceHandle:y.sourceHandle||null,targetHandle:y.targetHandle||null,connectionMode:t.connectionMode,onError:x});return{zIndex:function({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:a=!1,zIndexMode:i="basic"}){if("manual"===i)return r;let o=Math.max(e.parentId||a&&e.selected?e.internals.z:0,t.parentId||a&&t.selected?t.internals.z:0);return(a&&n?r+1e3:r)+o}({selected:y.selected,zIndex:y.zIndex,sourceNode:n,targetNode:r,elevateOnSelect:t.elevateEdgesOnSelect,zIndexMode:t.zIndexMode}),...a||zz}},[y.source,y.target,y.sourceHandle,y.targetHandle,y.selected,y.zIndex]),P3),U=(0,O.useMemo)(()=>y.markerStart?`url('#${Pb(y.markerStart,h)}')`:void 0,[y.markerStart,h]),q=(0,O.useMemo)(()=>y.markerEnd?`url('#${Pb(y.markerEnd,h)}')`:void 0,[y.markerEnd,h]);if(y.hidden||null===L||null===$||null===F||null===B)return null;let W=i?e=>{i(e,{...y})}:void 0,K=o?e=>{o(e,{...y})}:void 0,G=l?e=>{l(e,{...y})}:void 0,X=s?e=>{s(e,{...y})}:void 0,Y=c?e=>{c(e,{...y})}:void 0;return(0,I.jsx)("svg",{style:{zIndex:D},children:(0,I.jsxs)("g",{className:SQ(["react-flow__edge",`react-flow__edge-${k}`,y.className,g,{selected:y.selected,animated:y.animated,inactive:!E&&!a,updating:z,selectable:E}]),onClick:t=>{let{addSelectedEdges:n,unselectNodesAndEdges:r,multiSelectionActive:i}=_.getState();E&&(_.setState({nodesSelectionActive:!1}),y.selected&&i?(r({nodes:[],edges:[y]}),P.current?.blur()):n([e])),a&&a(t,y)},onDoubleClick:W,onContextMenu:K,onMouseEnter:G,onMouseMove:X,onMouseLeave:Y,onKeyDown:C?t=>{if(!v&&Ij.includes(t.key)&&E){let{unselectNodesAndEdges:n,addSelectedEdges:r}=_.getState();"Escape"===t.key?(P.current?.blur(),n({edges:[y]})):r([e])}}:void 0,tabIndex:C?0:void 0,role:y.ariaRole??(C?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":null===y.ariaLabel?void 0:y.ariaLabel||`Edge from ${y.source} to ${y.target}`,"aria-describedby":C?`${Or}-${h}`:void 0,ref:P,...y.domAttributes,children:[!T&&(0,I.jsx)(N,{id:e,source:y.source,target:y.target,type:y.type,selected:y.selected,animated:y.animated,selectable:E,deletable:y.deletable??!0,label:y.label,labelStyle:y.labelStyle,labelShowBg:y.labelShowBg,labelBgStyle:y.labelBgStyle,labelBgPadding:y.labelBgPadding,labelBgBorderRadius:y.labelBgBorderRadius,sourceX:L,sourceY:$,targetX:F,targetY:B,sourcePosition:V,targetPosition:H,data:y.data,style:y.style,sourceHandleId:y.sourceHandle,targetHandleId:y.targetHandle,markerStart:U,markerEnd:q,pathOptions:"pathOptions"in y?y.pathOptions:void 0,interactionWidth:y.interactionWidth}),M&&(0,I.jsx)(zR,{edge:y,isReconnectable:M,reconnectRadius:d,onReconnect:u,onReconnectStart:f,onReconnectEnd:m,sourceX:L,sourceY:$,targetX:F,targetY:B,sourcePosition:V,targetPosition:H,setUpdateHover:A,setReconnecting:R})]})})});let zD=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function zL({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:r,noPanClassName:a,onReconnect:i,onEdgeContextMenu:o,onEdgeMouseEnter:l,onEdgeMouseMove:s,onEdgeMouseLeave:c,onEdgeClick:d,reconnectRadius:u,onEdgeDoubleClick:f,onReconnectStart:m,onReconnectEnd:h,disableKeyboardA11y:p}){let{edgesFocusable:g,edgesReconnectable:x,elementsSelectable:v,onError:b}=P7(zD,P3),y=P7((0,O.useCallback)(e=>{if(!t)return e.edges.map(e=>e.id);let n=[];if(e.width&&e.height)for(let t of e.edges){let r=e.nodeLookup.get(t.source),a=e.nodeLookup.get(t.target);r&&a&&function({sourceNode:e,targetNode:t,width:n,height:r,transform:a}){let i=IF(IU(e),IU(t));return i.x===i.x2&&(i.x2+=1),i.y===i.y2&&(i.y2+=1),IW({x:-a[0]/a[2],y:-a[1]/a[2],width:n/a[2],height:r/a[2]},IV(i))>0}({sourceNode:r,targetNode:a,width:e.width,height:e.height,transform:e.transform})&&n.push(t.id)}return n},[t]),P3);return(0,I.jsxs)("div",{className:"react-flow__edges",children:[(0,I.jsx)(zd,{defaultColor:e,rfId:n}),y.map(e=>(0,I.jsx)(z_,{id:e,edgesFocusable:g,edgesReconnectable:x,elementsSelectable:v,noPanClassName:a,onReconnect:i,onContextMenu:o,onMouseEnter:l,onMouseMove:s,onMouseLeave:c,onClick:d,reconnectRadius:u,onDoubleClick:f,onReconnectStart:m,onReconnectEnd:h,rfId:n,onError:b,edgeTypes:r,disableKeyboardA11y:p},e))]})}zL.displayName="EdgeRenderer";let z$=(0,O.memo)(zL),zF=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function zB({children:e}){let t=P7(zF);return(0,I.jsx)("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}let zV=e=>e.panZoom?.syncViewport;function zH(e){return e.connection.inProgress?{...e.connection,to:IZ(e.connection.to,e.transform)}:{...e.connection}}let zU=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function zq({containerStyle:e,style:t,type:n,component:r}){let{nodesConnectable:a,width:i,height:o,isValid:l,inProgress:s}=P7(zU,P3);return i&&a&&s?(0,I.jsx)("svg",{style:e,width:i,height:o,className:"react-flow__connectionline react-flow__container",children:(0,I.jsx)("g",{className:SQ(["react-flow__connection",IS(l)]),children:(0,I.jsx)(zW,{style:t,type:n,CustomComponent:r,isValid:l})})}):null}let zW=({style:e,type:t=N.Bezier,CustomComponent:n,isValid:r})=>{let{inProgress:a,from:i,fromNode:o,fromHandle:l,fromPosition:s,to:c,toNode:d,toHandle:u,toPosition:f,pointer:m}=P7(zH,P3);if(!a)return;if(n)return(0,I.jsx)(n,{connectionLineType:t,connectionLineStyle:e,fromNode:o,fromHandle:l,fromX:i.x,fromY:i.y,toX:c.x,toY:c.y,fromPosition:s,toPosition:f,connectionStatus:IS(r),toNode:d,toHandle:u,pointer:m});let h="",p={sourceX:i.x,sourceY:i.y,sourcePosition:s,targetX:c.x,targetY:c.y,targetPosition:f};switch(t){case N.Bezier:[h]=Pl(p);break;case N.SimpleBezier:[h]=zp(p);break;case N.Step:[h]=Ph({...p,borderRadius:0});break;case N.SmoothStep:[h]=Ph(p);break;default:[h]=Pd(p)}return(0,I.jsx)("path",{d:h,fill:"none",className:"react-flow__connection-path",style:e})};zW.displayName="ConnectionLine";let zK={};function zG(e=zK){(0,O.useRef)(e),P9(),(0,O.useEffect)(()=>{},[e])}function zX({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:r,onEdgeClick:a,onNodeDoubleClick:i,onEdgeDoubleClick:o,onNodeMouseEnter:l,onNodeMouseMove:s,onNodeMouseLeave:c,onNodeContextMenu:d,onSelectionContextMenu:u,onSelectionStart:f,onSelectionEnd:m,connectionLineType:h,connectionLineStyle:p,connectionLineComponent:g,connectionLineContainerStyle:x,selectionKeyCode:v,selectionOnDrag:b,selectionMode:y,multiSelectionKeyCode:w,panActivationKeyCode:j,zoomActivationKeyCode:k,deleteKeyCode:N,onlyRenderVisibleElements:C,elementsSelectable:S,defaultViewport:M,translateExtent:E,minZoom:P,maxZoom:z,preventScrolling:A,defaultMarkerColor:T,zoomOnScroll:R,zoomOnPinch:_,panOnScroll:D,panOnScrollSpeed:L,panOnScrollMode:$,zoomOnDoubleClick:F,panOnDrag:B,onPaneClick:V,onPaneMouseEnter:H,onPaneMouseMove:U,onPaneMouseLeave:q,onPaneScroll:W,onPaneContextMenu:K,paneClickDistance:G,nodeClickDistance:X,onEdgeContextMenu:Y,onEdgeMouseEnter:Z,onEdgeMouseMove:J,onEdgeMouseLeave:Q,reconnectRadius:ee,onReconnect:et,onReconnectStart:en,onReconnectEnd:er,noDragClassName:ea,noWheelClassName:ei,noPanClassName:eo,disableKeyboardA11y:el,nodeExtent:es,rfId:ec,viewport:ed,onViewportChange:eu}){let ef,em,eh,ep;return zG(e),zG(t),P9(),(0,O.useRef)(!1),(0,O.useEffect)(()=>{},[]),ef=O$(),em=(0,O.useRef)(!1),(0,O.useEffect)(()=>{!em.current&&ef.viewportInitialized&&n&&(setTimeout(()=>n(ef),1),em.current=!0)},[n,ef.viewportInitialized]),eh=P7(zV),ep=P9(),(0,O.useEffect)(()=>{ed&&(eh?.(ed),ep.setState({transform:[ed.x,ed.y,ed.zoom]}))},[ed,eh]),(0,I.jsx)(zt,{onPaneClick:V,onPaneMouseEnter:H,onPaneMouseMove:U,onPaneMouseLeave:q,onPaneContextMenu:K,onPaneScroll:W,paneClickDistance:G,deleteKeyCode:N,selectionKeyCode:v,selectionOnDrag:b,selectionMode:y,onSelectionStart:f,onSelectionEnd:m,multiSelectionKeyCode:w,panActivationKeyCode:j,zoomActivationKeyCode:k,elementsSelectable:S,zoomOnScroll:R,zoomOnPinch:_,zoomOnDoubleClick:F,panOnScroll:D,panOnScrollSpeed:L,panOnScrollMode:$,panOnDrag:B,defaultViewport:M,translateExtent:E,minZoom:P,maxZoom:z,onSelectionContextMenu:u,preventScrolling:A,noDragClassName:ea,noWheelClassName:ei,noPanClassName:eo,disableKeyboardA11y:el,onViewportChange:eu,isControlledViewport:!!ed,children:(0,I.jsxs)(zB,{children:[(0,I.jsx)(z$,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:o,onReconnect:et,onReconnectStart:en,onReconnectEnd:er,onlyRenderVisibleElements:C,onEdgeContextMenu:Y,onEdgeMouseEnter:Z,onEdgeMouseMove:J,onEdgeMouseLeave:Q,reconnectRadius:ee,defaultMarkerColor:T,noPanClassName:eo,disableKeyboardA11y:el,rfId:ec}),(0,I.jsx)(zq,{style:p,type:h,component:g,containerStyle:x}),(0,I.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,I.jsx)(zo,{nodeTypes:e,onNodeClick:r,onNodeDoubleClick:i,onNodeMouseEnter:l,onNodeMouseMove:s,onNodeMouseLeave:c,onNodeContextMenu:d,nodeClickDistance:X,onlyRenderVisibleElements:C,noPanClassName:eo,noDragClassName:ea,disableKeyboardA11y:el,nodeExtent:es,rfId:ec}),(0,I.jsx)("div",{className:"react-flow__viewport-portal"})]})})}zX.displayName="GraphView";let zY=(0,O.memo)(zX),zZ=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:a,height:i,fitView:o,fitViewOptions:l,minZoom:s=.5,maxZoom:c=2,nodeOrigin:d,nodeExtent:u,zIndexMode:f="basic"}={})=>{let m=new Map,h=new Map,p=new Map,g=new Map,x=r??t??[],v=n??e??[],b=d??[0,0],y=u??Iw;PP(p,g,x);let{nodesInitialized:j}=PN(v,m,h,{nodeOrigin:b,nodeExtent:y,zIndexMode:f}),k=[0,0,1];if(o&&a&&i){let{x:e,y:t,zoom:n}=I0(IP(m,{filter:e=>!!((e.width||e.initialWidth)&&(e.height||e.initialHeight))}),a,i,s,c,l?.padding??.1);k=[e,t,n]}return{rfId:"1",width:a??0,height:i??0,transform:k,nodes:v,nodesInitialized:j,nodeLookup:m,parentLookup:h,edges:x,edgeLookup:g,connectionLookup:p,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:void 0!==n,hasDefaultEdges:void 0!==r,panZoom:null,minZoom:s,maxZoom:c,translateExtent:Iw,nodeExtent:y,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:w.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:b,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:o??!1,fitViewOptions:l,fitViewResolver:null,connection:{...IN},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:IX,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Ik,zIndexMode:f,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}};function zJ({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:r,initialWidth:a,initialHeight:i,initialMinZoom:o,initialMaxZoom:l,initialFitViewOptions:s,fitView:c,nodeOrigin:d,nodeExtent:u,zIndexMode:f,children:m}){let[h]=(0,O.useState)(()=>(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:a,height:i,fitView:o,fitViewOptions:l,minZoom:s,maxZoom:c,nodeOrigin:d,nodeExtent:u,zIndexMode:f})=>{let m,h;return m=(m,h)=>{async function p(){let{nodeLookup:e,panZoom:t,fitViewOptions:n,fitViewResolver:r,width:a,height:i,minZoom:o,maxZoom:l}=h();t&&(await Iz({nodes:e,width:a,height:i,panZoom:t,minZoom:o,maxZoom:l},n),r?.resolve(!0),m({fitViewResolver:null}))}return{...zZ({nodes:e,edges:t,width:a,height:i,fitView:o,fitViewOptions:l,minZoom:s,maxZoom:c,nodeOrigin:d,nodeExtent:u,defaultNodes:n,defaultEdges:r,zIndexMode:f}),setNodes:e=>{let{nodeLookup:t,parentLookup:n,nodeOrigin:r,elevateNodesOnSelect:a,fitViewQueued:i,zIndexMode:o,nodesSelectionActive:l}=h(),{nodesInitialized:s,hasSelectedNodes:c}=PN(e,t,n,{nodeOrigin:r,nodeExtent:u,elevateNodesOnSelect:a,checkEquality:!0,zIndexMode:o}),d=l&&c;i&&s?(p(),m({nodes:e,nodesInitialized:s,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:d})):m({nodes:e,nodesInitialized:s,nodesSelectionActive:d})},setEdges:e=>{let{connectionLookup:t,edgeLookup:n}=h();PP(t,n,e),m({edges:e})},setDefaultNodesAndEdges:(e,t)=>{if(e){let{setNodes:t}=h();t(e),m({hasDefaultNodes:!0})}if(t){let{setEdges:e}=h();e(t),m({hasDefaultEdges:!0})}},updateNodeInternals:e=>{let{triggerNodeChanges:t,nodeLookup:n,parentLookup:r,domNode:a,nodeOrigin:i,nodeExtent:o,debug:l,fitViewQueued:s,zIndexMode:c}=h(),{changes:d,updatedInternals:u}=function(e,t,n,r,a,i,o){let l=r?.querySelector(".xyflow__viewport"),s=!1;if(!l)return{changes:[],updatedInternals:s};let c=[],d=window.getComputedStyle(l),{m22:u}=new window.DOMMatrixReadOnly(d.transform),f=[];for(let r of e.values()){let e=t.get(r.id);if(!e)continue;if(e.hidden){t.set(e.id,{...e,internals:{...e.internals,handleBounds:void 0}}),s=!0;continue}let l=I7(r.nodeElement),d=e.measured.width!==l.width||e.measured.height!==l.height;if(l.width&&l.height&&(d||!e.internals.handleBounds||r.force)){let m=r.nodeElement.getBoundingClientRect(),h=I2(e.extent)?e.extent:i,{positionAbsolute:p}=e.internals;e.parentId&&"parent"===e.extent?p=ID(p,l,t.get(e.parentId)):h&&(p=I_(p,h,l));let g={...e,measured:l,internals:{...e.internals,positionAbsolute:p,handleBounds:{source:Pr("source",r.nodeElement,m,u,e.id),target:Pr("target",r.nodeElement,m,u,e.id)}}};t.set(e.id,g),e.parentId&&PC(g,t,n,{nodeOrigin:a,zIndexMode:o}),s=!0,d&&(c.push({id:e.id,type:"dimensions",dimensions:l}),e.expandParent&&e.parentId&&f.push({id:e.id,parentId:e.parentId,rect:IH(g,a)}))}}if(f.length>0){let e=PM(f,t,n,a);c.push(...e)}return{changes:c,updatedInternals:s}}(e,n,r,a,i,o,c);u&&(!function(e,t,n){let r=Pj(Py,n);for(let n of e.values())if(n.parentId)PC(n,e,t,r);else{let e=I_(II(n,r.nodeOrigin),I2(n.extent)?n.extent:r.nodeExtent,I5(n));n.internals.positionAbsolute=e}}(n,r,{nodeOrigin:i,nodeExtent:o,zIndexMode:c}),s?(p(),m({fitViewQueued:!1,fitViewOptions:void 0})):m({}),d?.length>0&&(l&&console.log("React Flow: trigger node changes",d),t?.(d)))},updateNodePositions:(e,t=!1)=>{let n=[],r=[],{nodeLookup:a,triggerNodeChanges:i,connection:o,updateConnection:l,onNodesChangeMiddlewareMap:s}=h();for(let[i,s]of e){let e=a.get(i),c=!!(e?.expandParent&&e?.parentId&&s?.position),d={id:i,type:"position",position:c?{x:Math.max(0,s.position.x),y:Math.max(0,s.position.y)}:s.position,dragging:t};if(e&&o.inProgress&&o.fromNode.id===e.id){let t=Px(e,o.fromHandle,S.Left,!0);l({...o,from:t})}c&&e.parentId&&n.push({id:i,parentId:e.parentId,rect:{...s.internals.positionAbsolute,width:s.measured.width??0,height:s.measured.height??0}}),r.push(d)}if(n.length>0){let{parentLookup:e,nodeOrigin:t}=h(),i=PM(n,a,e,t);r.push(...i)}for(let e of s.values())r=e(r);i(r)},triggerNodeChanges:e=>{let{onNodesChange:t,setNodes:n,nodes:r,hasDefaultNodes:a,debug:i}=h();e?.length&&(a&&n(OE(e,r)),i&&console.log("React Flow: trigger node changes",e),t?.(e))},triggerEdgeChanges:e=>{let{onEdgesChange:t,setEdges:n,edges:r,hasDefaultEdges:a,debug:i}=h();e?.length&&(a&&n(OE(e,r)),i&&console.log("React Flow: trigger edge changes",e),t?.(e))},addSelectedNodes:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:r,triggerNodeChanges:a,triggerEdgeChanges:i}=h();t?a(e.map(e=>OI(e,!0))):(a(OP(r,new Set([...e]),!0)),i(OP(n)))},addSelectedEdges:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:r,triggerNodeChanges:a,triggerEdgeChanges:i}=h();t?i(e.map(e=>OI(e,!0))):(i(OP(n,new Set([...e]))),a(OP(r,new Set,!0)))},unselectNodesAndEdges:({nodes:e,edges:t}={})=>{let{edges:n,nodes:r,nodeLookup:a,triggerNodeChanges:i,triggerEdgeChanges:o}=h(),l=[];for(let t of e||r){if(!t.selected)continue;let e=a.get(t.id);e&&(e.selected=!1),l.push(OI(t.id,!1))}let s=[];for(let e of t||n)e.selected&&s.push(OI(e.id,!1));i(l),o(s)},setMinZoom:e=>{let{panZoom:t,maxZoom:n}=h();t?.setScaleExtent([e,n]),m({minZoom:e})},setMaxZoom:e=>{let{panZoom:t,minZoom:n}=h();t?.setScaleExtent([n,e]),m({maxZoom:e})},setTranslateExtent:e=>{h().panZoom?.setTranslateExtent(e),m({translateExtent:e})},resetSelectedElements:()=>{let{edges:e,nodes:t,triggerNodeChanges:n,triggerEdgeChanges:r,elementsSelectable:a}=h();if(!a)return;let i=t.reduce((e,t)=>t.selected?[...e,OI(t.id,!1)]:e,[]),o=e.reduce((e,t)=>t.selected?[...e,OI(t.id,!1)]:e,[]);n(i),r(o)},setNodeExtent:e=>{let{nodes:t,nodeLookup:n,parentLookup:r,nodeOrigin:a,elevateNodesOnSelect:i,nodeExtent:o,zIndexMode:l}=h();(e[0][0]!==o[0][0]||e[0][1]!==o[0][1]||e[1][0]!==o[1][0]||e[1][1]!==o[1][1])&&(PN(t,n,r,{nodeOrigin:a,nodeExtent:e,elevateNodesOnSelect:i,checkEquality:!1,zIndexMode:l}),m({nodeExtent:e}))},panBy:e=>{let{transform:t,width:n,height:r,panZoom:a,translateExtent:i}=h();return PE({delta:e,panZoom:a,transform:t,translateExtent:i,width:n,height:r})},setCenter:async(e,t,n)=>{let{width:r,height:a,maxZoom:i,panZoom:o}=h();if(!o)return Promise.resolve(!1);let l=void 0!==n?.zoom?n.zoom:i;return await o.setViewport({x:r/2-e*l,y:a/2-t*l,zoom:l},{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{m({connection:{...IN}})},updateConnection:e=>{m({connection:e})},reset:()=>m({...zZ()})}},h=Object.is,m?P5(m,h):P5})({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:a,height:i,fitView:c,minZoom:o,maxZoom:l,fitViewOptions:s,nodeOrigin:d,nodeExtent:u,zIndexMode:f}));return(0,I.jsx)(P6,{value:h,children:(0,I.jsx)(OD,{children:m})})}function zQ({children:e,nodes:t,edges:n,defaultNodes:r,defaultEdges:a,width:i,height:o,fitView:l,fitViewOptions:s,minZoom:c,maxZoom:d,nodeOrigin:u,nodeExtent:f,zIndexMode:m}){return(0,O.useContext)(P4)?(0,I.jsx)(I.Fragment,{children:e}):(0,I.jsx)(zJ,{initialNodes:t,initialEdges:n,defaultNodes:r,defaultEdges:a,initialWidth:i,initialHeight:o,fitView:l,initialFitViewOptions:s,initialMinZoom:c,initialMaxZoom:d,nodeOrigin:u,nodeExtent:f,zIndexMode:m,children:e})}let z0={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};var z1=OT(function({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:a,nodeTypes:i,edgeTypes:o,onNodeClick:l,onEdgeClick:s,onInit:c,onMove:d,onMoveStart:u,onMoveEnd:f,onConnect:m,onConnectStart:h,onConnectEnd:p,onClickConnectStart:g,onClickConnectEnd:x,onNodeMouseEnter:v,onNodeMouseMove:b,onNodeMouseLeave:y,onNodeContextMenu:w,onNodeDoubleClick:C,onNodeDragStart:S,onNodeDrag:M,onNodeDragStop:E,onNodesDelete:P,onEdgesDelete:z,onDelete:A,onSelectionChange:T,onSelectionDragStart:R,onSelectionDrag:_,onSelectionDragStop:D,onSelectionContextMenu:L,onSelectionStart:$,onSelectionEnd:F,onBeforeDelete:B,connectionMode:V,connectionLineType:H=N.Bezier,connectionLineStyle:U,connectionLineComponent:q,connectionLineContainerStyle:W,deleteKeyCode:K="Backspace",selectionKeyCode:G="Shift",selectionOnDrag:X=!1,selectionMode:Y=k.Full,panActivationKeyCode:Z="Space",multiSelectionKeyCode:J=I1()?"Meta":"Control",zoomActivationKeyCode:Q=I1()?"Meta":"Control",snapToGrid:ee,snapGrid:et,onlyRenderVisibleElements:en=!1,selectNodesOnDrag:er,nodesDraggable:ea,autoPanOnNodeFocus:ei,nodesConnectable:eo,nodesFocusable:el,nodeOrigin:es=Ox,edgesFocusable:ec,edgesReconnectable:ed,elementsSelectable:eu=!0,defaultViewport:ef=Ov,minZoom:em=.5,maxZoom:eh=2,translateExtent:ep=Iw,preventScrolling:eg=!0,nodeExtent:ex,defaultMarkerColor:ev="#b1b1b7",zoomOnScroll:eb=!0,zoomOnPinch:ey=!0,panOnScroll:ew=!1,panOnScrollSpeed:ej=.5,panOnScrollMode:ek=j.Free,zoomOnDoubleClick:eN=!0,panOnDrag:eC=!0,onPaneClick:eS,onPaneMouseEnter:eM,onPaneMouseMove:eE,onPaneMouseLeave:eI,onPaneScroll:eP,onPaneContextMenu:eO,paneClickDistance:ez=1,nodeClickDistance:eA=0,children:eT,onReconnect:eR,onReconnectStart:e_,onReconnectEnd:eD,onEdgeContextMenu:eL,onEdgeDoubleClick:e$,onEdgeMouseEnter:eF,onEdgeMouseMove:eB,onEdgeMouseLeave:eV,reconnectRadius:eH=10,onNodesChange:eU,onEdgesChange:eq,noDragClassName:eW="nodrag",noWheelClassName:eK="nowheel",noPanClassName:eG="nopan",fitView:eX,fitViewOptions:eY,connectOnClick:eZ,attributionPosition:eJ,proOptions:eQ,defaultEdgeOptions:e0,elevateNodesOnSelect:e1=!0,elevateEdgesOnSelect:e2=!1,disableKeyboardA11y:e5=!1,autoPanOnConnect:e3,autoPanOnNodeDrag:e4,autoPanSpeed:e6,connectionRadius:e8,isValidConnection:e7,onError:e9,style:te,id:tt,nodeDragThreshold:tn,connectionDragThreshold:tr,viewport:ta,onViewportChange:ti,width:to,height:tl,colorMode:ts="light",debug:tc,onScroll:td,ariaLabelConfig:tu,zIndexMode:tf="basic",...tm},th){let tp=tt||"1",tg=function(e){let[t,n]=(0,O.useState)("system"===e?null:e);return(0,O.useEffect)(()=>{if("system"!==e)return void n(e);let t=Ok(),r=()=>n(t?.matches?"dark":"light");return r(),t?.addEventListener("change",r),()=>{t?.removeEventListener("change",r)}},[e]),null!==t?t:Ok()?.matches?"dark":"light"}(ts),tx=(0,O.useCallback)(e=>{e.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),td?.(e)},[td]);return(0,I.jsx)("div",{"data-testid":"rf__wrapper",...tm,onScroll:tx,style:{...te,...z0},ref:th,className:SQ(["react-flow",a,tg]),id:tt,role:"application",children:(0,I.jsxs)(zQ,{nodes:e,edges:t,width:to,height:tl,fitView:eX,fitViewOptions:eY,minZoom:em,maxZoom:eh,nodeOrigin:es,nodeExtent:ex,zIndexMode:tf,children:[(0,I.jsx)(Oj,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:m,onConnectStart:h,onConnectEnd:p,onClickConnectStart:g,onClickConnectEnd:x,nodesDraggable:ea,autoPanOnNodeFocus:ei,nodesConnectable:eo,nodesFocusable:el,edgesFocusable:ec,edgesReconnectable:ed,elementsSelectable:eu,elevateNodesOnSelect:e1,elevateEdgesOnSelect:e2,minZoom:em,maxZoom:eh,nodeExtent:ex,onNodesChange:eU,onEdgesChange:eq,snapToGrid:ee,snapGrid:et,connectionMode:V,translateExtent:ep,connectOnClick:eZ,defaultEdgeOptions:e0,fitView:eX,fitViewOptions:eY,onNodesDelete:P,onEdgesDelete:z,onDelete:A,onNodeDragStart:S,onNodeDrag:M,onNodeDragStop:E,onSelectionDrag:_,onSelectionDragStart:R,onSelectionDragStop:D,onMove:d,onMoveStart:u,onMoveEnd:f,noPanClassName:eG,nodeOrigin:es,rfId:tp,autoPanOnConnect:e3,autoPanOnNodeDrag:e4,autoPanSpeed:e6,onError:e9,connectionRadius:e8,isValidConnection:e7,selectNodesOnDrag:er,nodeDragThreshold:tn,connectionDragThreshold:tr,onBeforeDelete:B,debug:tc,ariaLabelConfig:tu,zIndexMode:tf}),(0,I.jsx)(zY,{onInit:c,onNodeClick:l,onEdgeClick:s,onNodeMouseEnter:v,onNodeMouseMove:b,onNodeMouseLeave:y,onNodeContextMenu:w,onNodeDoubleClick:C,nodeTypes:i,edgeTypes:o,connectionLineType:H,connectionLineStyle:U,connectionLineComponent:q,connectionLineContainerStyle:W,selectionKeyCode:G,selectionOnDrag:X,selectionMode:Y,deleteKeyCode:K,multiSelectionKeyCode:J,panActivationKeyCode:Z,zoomActivationKeyCode:Q,onlyRenderVisibleElements:en,defaultViewport:ef,translateExtent:ep,minZoom:em,maxZoom:eh,preventScrolling:eg,zoomOnScroll:eb,zoomOnPinch:ey,zoomOnDoubleClick:eN,panOnScroll:ew,panOnScrollSpeed:ej,panOnScrollMode:ek,panOnDrag:eC,onPaneClick:eS,onPaneMouseEnter:eM,onPaneMouseMove:eE,onPaneMouseLeave:eI,onPaneScroll:eP,onPaneContextMenu:eO,paneClickDistance:ez,nodeClickDistance:eA,onSelectionContextMenu:L,onSelectionStart:$,onSelectionEnd:F,onReconnect:eR,onReconnectStart:e_,onReconnectEnd:eD,onEdgeContextMenu:eL,onEdgeDoubleClick:e$,onEdgeMouseEnter:eF,onEdgeMouseMove:eB,onEdgeMouseLeave:eV,reconnectRadius:eH,defaultMarkerColor:ev,noDragClassName:eW,noWheelClassName:eK,noPanClassName:eG,rfId:tp,disableKeyboardA11y:e5,nodeExtent:ex,viewport:ta,onViewportChange:ti}),(0,I.jsx)(Op,{onSelectionChange:T}),eT,(0,I.jsx)(Oc,{proOptions:eQ,position:eJ}),(0,I.jsx)(Ol,{rfId:tp,disableKeyboardA11y:e5})]})})});let z2=e=>e.domNode?.querySelector(".react-flow__edgelabel-renderer");function z5({children:e}){let t=P7(z2);return t?(0,gS.createPortal)(e,t):null}function z3({dimensions:e,lineWidth:t,variant:n,className:r}){return(0,I.jsx)("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:SQ(["react-flow__background-pattern",n,r])})}function z4({radius:e,className:t}){return(0,I.jsx)("circle",{cx:e,cy:e,r:e,className:SQ(["react-flow__background-pattern","dots",t])})}(v=E||(E={})).Lines="lines",v.Dots="dots",v.Cross="cross";let z6={[E.Dots]:1,[E.Lines]:1,[E.Cross]:6},z8=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function z7({id:e,variant:t=E.Dots,gap:n=20,size:r,lineWidth:a=1,offset:i=0,color:o,bgColor:l,style:s,className:c,patternClassName:d}){let u=(0,O.useRef)(null),{transform:f,patternId:m}=P7(z8,P3),h=r||z6[t],p=t===E.Dots,g=t===E.Cross,x=Array.isArray(n)?n:[n,n],v=[x[0]*f[2]||1,x[1]*f[2]||1],b=h*f[2],y=Array.isArray(i)?i:[i,i],w=g?[b,b]:v,j=[y[0]*f[2]||1+w[0]/2,y[1]*f[2]||1+w[1]/2],k=`${m}${e||""}`;return(0,I.jsxs)("svg",{className:SQ(["react-flow__background",c]),style:{...s,...OV,"--xy-background-color-props":l,"--xy-background-pattern-color-props":o},ref:u,"data-testid":"rf__background",children:[(0,I.jsx)("pattern",{id:k,x:f[0]%v[0],y:f[1]%v[1],width:v[0],height:v[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${j[0]},-${j[1]})`,children:p?(0,I.jsx)(z4,{radius:b/2,className:d}):(0,I.jsx)(z3,{dimensions:w,lineWidth:a,variant:t,className:d})}),(0,I.jsx)("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${k})`})]})}z7.displayName="Background";let z9=(0,O.memo)(z7);function Ae(){return(0,I.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:(0,I.jsx)("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function At(){return(0,I.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:(0,I.jsx)("path",{d:"M0 0h32v4.2H0z"})})}function An(){return(0,I.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:(0,I.jsx)("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function Ar(){return(0,I.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,I.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function Aa(){return(0,I.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,I.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function Ai({children:e,className:t,...n}){return(0,I.jsx)("button",{type:"button",className:SQ(["react-flow__controls-button",t]),...n,children:e})}let Ao=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function Al({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:a,onZoomIn:i,onZoomOut:o,onFitView:l,onInteractiveChange:s,className:c,children:d,position:u="bottom-left",orientation:f="vertical","aria-label":m}){let h=P9(),{isInteractive:p,minZoomReached:g,maxZoomReached:x,ariaLabelConfig:v}=P7(Ao,P3),{zoomIn:b,zoomOut:y,fitView:w}=O$();return(0,I.jsxs)(Os,{className:SQ(["react-flow__controls","horizontal"===f?"horizontal":"vertical",c]),position:u,style:e,"data-testid":"rf__controls","aria-label":m??v["controls.ariaLabel"],children:[t&&(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(Ai,{onClick:()=>{b(),i?.()},className:"react-flow__controls-zoomin",title:v["controls.zoomIn.ariaLabel"],"aria-label":v["controls.zoomIn.ariaLabel"],disabled:x,children:(0,I.jsx)(Ae,{})}),(0,I.jsx)(Ai,{onClick:()=>{y(),o?.()},className:"react-flow__controls-zoomout",title:v["controls.zoomOut.ariaLabel"],"aria-label":v["controls.zoomOut.ariaLabel"],disabled:g,children:(0,I.jsx)(At,{})})]}),n&&(0,I.jsx)(Ai,{className:"react-flow__controls-fitview",onClick:()=>{w(a),l?.()},title:v["controls.fitView.ariaLabel"],"aria-label":v["controls.fitView.ariaLabel"],children:(0,I.jsx)(An,{})}),r&&(0,I.jsx)(Ai,{className:"react-flow__controls-interactive",onClick:()=>{h.setState({nodesDraggable:!p,nodesConnectable:!p,elementsSelectable:!p}),s?.(!p)},title:v["controls.interactive.ariaLabel"],"aria-label":v["controls.interactive.ariaLabel"],children:p?(0,I.jsx)(Aa,{}):(0,I.jsx)(Ar,{})}),d]})}Al.displayName="Controls",(0,O.memo)(Al);let As=(0,O.memo)(function({id:e,x:t,y:n,width:r,height:a,style:i,color:o,strokeColor:l,strokeWidth:s,className:c,borderRadius:d,shapeRendering:u,selected:f,onClick:m}){let{background:h,backgroundColor:p}=i||{};return(0,I.jsx)("rect",{className:SQ(["react-flow__minimap-node",{selected:f},c]),x:t,y:n,rx:d,ry:d,width:r,height:a,style:{fill:o||h||p,stroke:l,strokeWidth:s},shapeRendering:u,onClick:m?t=>m(t,e):void 0})}),Ac=e=>e.nodes.map(e=>e.id),Ad=e=>e instanceof Function?e:()=>e,Au=(0,O.memo)(function({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:r,nodeBorderRadius:a,nodeStrokeWidth:i,shapeRendering:o,NodeComponent:l,onClick:s}){let{node:c,x:d,y:u,width:f,height:m}=P7(t=>{let n=t.nodeLookup.get(e);if(!n)return{node:void 0,x:0,y:0,width:0,height:0};let r=n.internals.userNode,{x:a,y:i}=n.internals.positionAbsolute,{width:o,height:l}=I5(r);return{node:r,x:a,y:i,width:o,height:l}},P3);return c&&!c.hidden&&I3(c)?(0,I.jsx)(l,{x:d,y:u,width:f,height:m,style:c.style,selected:!!c.selected,className:r(c),color:t(c),borderRadius:a,strokeColor:n(c),strokeWidth:i,shapeRendering:o,onClick:s,id:c.id}):null});var Af=(0,O.memo)(function({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:a,nodeComponent:i=As,onClick:o}){let l=P7(Ac,P3),s=Ad(t),c=Ad(e),d=Ad(n),u="u"<typeof window||window.chrome?"crispEdges":"geometricPrecision";return(0,I.jsx)(I.Fragment,{children:l.map(e=>(0,I.jsx)(Au,{id:e,nodeColorFunc:s,nodeStrokeColorFunc:c,nodeClassNameFunc:d,nodeBorderRadius:r,nodeStrokeWidth:a,NodeComponent:i,onClick:o,shapeRendering:u},e))})});let Am=e=>!e.hidden,Ah=e=>{let t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?Iq(IP(e.nodeLookup,{filter:Am}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}};function Ap({style:e,className:t,nodeStrokeColor:n,nodeColor:r,nodeClassName:a="",nodeBorderRadius:i=5,nodeStrokeWidth:o,nodeComponent:l,bgColor:s,maskColor:c,maskStrokeColor:d,maskStrokeWidth:u,position:f="bottom-right",onClick:m,onNodeClick:h,pannable:p=!1,zoomable:g=!1,ariaLabel:x,inversePan:v,zoomStep:b=1,offsetScale:y=5}){let w=P9(),j=(0,O.useRef)(null),{boundingRect:k,viewBB:N,rfId:C,panZoom:S,translateExtent:M,flowWidth:E,flowHeight:P,ariaLabelConfig:z}=P7(Ah,P3),A=e?.width??200,T=e?.height??150,R=Math.max(k.width/A,k.height/T),_=R*A,D=R*T,L=y*R,$=k.x-(_-k.width)/2-L,F=k.y-(D-k.height)/2-L,B=_+2*L,V=D+2*L,H=`react-flow__minimap-desc-${C}`,U=(0,O.useRef)(0),q=(0,O.useRef)();U.current=R,(0,O.useEffect)(()=>{if(j.current&&S)return q.current=function({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){let a=MR(e);return{update:function({translateExtent:e,width:i,height:o,zoomStep:l=1,pannable:s=!0,zoomable:c=!0,inversePan:d=!1}){let u=[0,0],f=Iy().on("start",e=>{("mousedown"===e.sourceEvent.type||"touchstart"===e.sourceEvent.type)&&(u=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on("zoom",s?a=>{let l=n();if("mousemove"!==a.sourceEvent.type&&"touchmove"!==a.sourceEvent.type||!t)return;let s=[a.sourceEvent.clientX??a.sourceEvent.touches[0].clientX,a.sourceEvent.clientY??a.sourceEvent.touches[0].clientY],c=[s[0]-u[0],s[1]-u[1]];u=s;let f=r()*Math.max(l[2],Math.log(l[2]))*(d?-1:1),m={x:l[0]-c[0]*f,y:l[1]-c[1]*f};t.setViewportConstrained({x:m.x,y:m.y,zoom:l[2]},[[0,0],[i,o]],e)}:null).on("zoom.wheel",c?e=>{if("wheel"!==e.sourceEvent.type||!t)return;let r=n(),a=e.sourceEvent.ctrlKey&&I1()?10:1,i=-e.sourceEvent.deltaY*(1===e.sourceEvent.deltaMode?.05:e.sourceEvent.deltaMode?1:.002)*l,o=r[2]*Math.pow(2,i*a);t.scaleTo(o)}:null);a.call(f,{})},destroy:function(){a.on("zoom",null)},pointer:M_}}({domNode:j.current,panZoom:S,getTransform:()=>w.getState().transform,getViewScale:()=>U.current}),()=>{q.current?.destroy()}},[S]),(0,O.useEffect)(()=>{q.current?.update({translateExtent:M,width:E,height:P,inversePan:v,pannable:p,zoomStep:b,zoomable:g})},[p,g,v,b,M,E,P]);let W=m?e=>{let[t,n]=q.current?.pointer(e)||[0,0];m(e,{x:t,y:n})}:void 0,K=h?(0,O.useCallback)((e,t)=>{h(e,w.getState().nodeLookup.get(t).internals.userNode)},[]):void 0,G=x??z["minimap.ariaLabel"];return(0,I.jsx)(Os,{position:f,style:{...e,"--xy-minimap-background-color-props":"string"==typeof s?s:void 0,"--xy-minimap-mask-background-color-props":"string"==typeof c?c:void 0,"--xy-minimap-mask-stroke-color-props":"string"==typeof d?d:void 0,"--xy-minimap-mask-stroke-width-props":"number"==typeof u?u*R:void 0,"--xy-minimap-node-background-color-props":"string"==typeof r?r:void 0,"--xy-minimap-node-stroke-color-props":"string"==typeof n?n:void 0,"--xy-minimap-node-stroke-width-props":"number"==typeof o?o:void 0},className:SQ(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:(0,I.jsxs)("svg",{width:A,height:T,viewBox:`${$} ${F} ${B} ${V}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":H,ref:j,onClick:W,children:[G&&(0,I.jsx)("title",{id:H,children:G}),(0,I.jsx)(Af,{onClick:K,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:i,nodeClassName:a,nodeStrokeWidth:o,nodeComponent:l}),(0,I.jsx)("path",{className:"react-flow__minimap-mask",d:`M${$-L},${F-L}h${B+2*L}v${V+2*L}h${-B-2*L}z
|
|
5
|
+
`).join("\n")}}):null}function y8({active:e,payload:t,className:n,indicator:r="dot",hideLabel:a=!1,hideIndicator:i=!1,label:o,labelFormatter:l,labelClassName:s,formatter:c,color:d,nameKey:u,labelKey:f}){let{config:m}=function(){let e=O.useContext(y3);if(!e)throw Error("useChart must be used within a <ChartContainer />");return e}(),h=O.useMemo(()=>{if(a||!t?.length)return null;let[e]=t,n=`${f??e?.dataKey??e?.name??"value"}`,r=y7(m,e,n),i=f||"string"!=typeof o?r?.label:m[o]?.label??o;return l?(0,I.jsx)("div",{className:(0,V.cn)("font-medium",s),children:l(i,t)}):i?(0,I.jsx)("div",{className:(0,V.cn)("font-medium",s),children:i}):null},[o,l,t,a,s,m,f]);if(!e||!t?.length)return null;let p=1===t.length&&"dot"!==r;return(0,I.jsxs)("div",{className:(0,V.cn)("vtl-surface-popover grid min-w-32 items-start gap-1.5 rounded-[var(--surface-popover-radius)] border px-2.5 py-1.5 text-xs",n),children:[p?null:h,(0,I.jsx)("div",{className:"grid gap-1.5",children:t.filter(e=>"none"!==e.type).map((e,t)=>{let n=`${u??e.name??e.dataKey??"value"}`,a=y7(m,e,n),o=d??e.payload?.fill??e.color;return(0,I.jsx)("div",{className:(0,V.cn)("flex w-full flex-wrap items-stretch gap-2 [&>svg]:size-2.5 [&>svg]:text-muted-foreground","dot"===r&&"items-center"),children:c&&e?.value!==void 0&&e.name?c(e.value,e.name,e,t,e.payload):(0,I.jsxs)(I.Fragment,{children:[a?.icon?(0,I.jsx)(a.icon,{}):!i&&(0,I.jsx)("div",{className:(0,V.cn)("shrink-0 rounded-[2px]","dot"===r&&"size-2.5","line"===r&&"w-1","dashed"===r&&"w-0 border-[1.5px] border-dashed bg-transparent",p&&"dashed"===r&&"my-0.5"),style:{backgroundColor:"dashed"===r?"transparent":o,borderColor:o}}),(0,I.jsxs)("div",{className:(0,V.cn)("flex flex-1 justify-between leading-none",p?"items-end":"items-center"),children:[(0,I.jsxs)("div",{className:"grid gap-1.5",children:[p?h:null,(0,I.jsx)("span",{className:"text-muted-foreground",children:a?.label??e.name})]}),null!=e.value&&(0,I.jsx)("span",{className:"font-mono font-medium text-foreground tabular-nums",children:"number"==typeof e.value?e.value.toLocaleString():String(e.value)})]})]})},t)})})]})}function y7(e,t,n){if("object"!=typeof t||null===t)return;let r="payload"in t&&"object"==typeof t.payload&&null!==t.payload?t.payload:void 0,a=n;return n in t&&"string"==typeof t[n]?a=t[n]:r&&n in r&&"string"==typeof r[n]&&(a=r[n]),a in e?e[a]:e[n]}function y9(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),!1===n||!r.defaultPrevented)return t?.(r)}}"u">typeof window&&window.document&&window.document.createElement;var we=e.i(22353);function wt(e,t=[]){let n=[],r=()=>{let t=n.map(e=>O.createContext(e));return function(n){let r=n?.[e]||t;return O.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return r.scopeName=e,[function(t,r){let a=O.createContext(r),i=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,l=n?.[e]?.[i]||a,s=O.useMemo(()=>o,Object.values(o));return(0,I.jsx)(l.Provider,{value:s,children:r})};return o.displayName=t+"Provider",[o,function(n,o){let l=o?.[e]?.[i]||a,s=O.useContext(l);if(s)return s;if(void 0!==r)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let a=n(e)[`__scope${r}`];return{...t,...a}},{});return O.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}(r,...t)]}function wn(e){var t;let n,r=(t=e,(n=O.forwardRef((e,t)=>{let{children:n,...r}=e;if(O.isValidElement(n)){var a;let e,i,o=(a=n,(i=(e=Object.getOwnPropertyDescriptor(a.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?a.ref:(i=(e=Object.getOwnPropertyDescriptor(a,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?a.props.ref:a.props.ref||a.ref),l=function(e,t){let n={...t};for(let r in t){let a=e[r],i=t[r];/^on[A-Z]/.test(r)?a&&i?n[r]=(...e)=>{let t=i(...e);return a(...e),t}:a&&(n[r]=a):"style"===r?n[r]={...a,...i}:"className"===r&&(n[r]=[a,i].filter(Boolean).join(" "))}return{...e,...n}}(r,n.props);return n.type!==O.Fragment&&(l.ref=t?(0,we.composeRefs)(t,o):o),O.cloneElement(n,l)}return O.Children.count(n)>1?O.Children.only(null):null})).displayName=`${t}.SlotClone`,n),a=O.forwardRef((e,t)=>{let{children:n,...a}=e,i=O.Children.toArray(n),o=i.find(wa);if(o){let e=o.props.children,n=i.map(t=>t!==o?t:O.Children.count(e)>1?O.Children.only(null):O.isValidElement(e)?e.props.children:null);return(0,I.jsx)(r,{...a,ref:t,children:O.isValidElement(e)?O.cloneElement(e,void 0,n):null})}return(0,I.jsx)(r,{...a,ref:t,children:n})});return a.displayName=`${e}.Slot`,a}var wr=Symbol("radix.slottable");function wa(e){return O.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===wr}var wi=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let n=wn(`Primitive.${t}`),r=O.forwardRef((e,r)=>{let{asChild:a,...i}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,I.jsx)(a?n:t,{...i,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function wo(e,t){e&&gS.flushSync(()=>e.dispatchEvent(t))}function wl(e){let t=O.useRef(e);return O.useEffect(()=>{t.current=e}),O.useMemo(()=>(...e)=>t.current?.(...e),[])}var ws="dismissableLayer.update",wc=O.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),wd=O.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:a,onFocusOutside:i,onInteractOutside:o,onDismiss:l,...s}=e,c=O.useContext(wc),[d,u]=O.useState(null),f=d?.ownerDocument??globalThis?.document,[,m]=O.useState({}),h=(0,we.useComposedRefs)(t,e=>u(e)),p=Array.from(c.layers),[g]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),x=p.indexOf(g),v=d?p.indexOf(d):-1,b=c.layersWithOutsidePointerEventsDisabled.size>0,y=v>=x,w=function(e,t=globalThis?.document){let n=wl(e),r=O.useRef(!1),a=O.useRef(()=>{});return O.useEffect(()=>{let e=e=>{if(e.target&&!r.current){let r=function(){wf("dismissableLayer.pointerDownOutside",n,i,{discrete:!0})},i={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",a.current),a.current=r,t.addEventListener("click",a.current,{once:!0})):r()}else t.removeEventListener("click",a.current);r.current=!1},i=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(i),t.removeEventListener("pointerdown",e),t.removeEventListener("click",a.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}(e=>{let t=e.target,n=[...c.branches].some(e=>e.contains(t));y&&!n&&(a?.(e),o?.(e),e.defaultPrevented||l?.())},f),j=function(e,t=globalThis?.document){let n=wl(e),r=O.useRef(!1);return O.useEffect(()=>{let e=e=>{e.target&&!r.current&&wf("dismissableLayer.focusOutside",n,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}(e=>{let t=e.target;![...c.branches].some(e=>e.contains(t))&&(i?.(e),o?.(e),e.defaultPrevented||l?.())},f);return!function(e,t=globalThis?.document){let n=wl(e);O.useEffect(()=>{let e=e=>{"Escape"===e.key&&n(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})},[n,t])}(e=>{v===c.layers.size-1&&(r?.(e),!e.defaultPrevented&&l&&(e.preventDefault(),l()))},f),O.useEffect(()=>{if(d)return n&&(0===c.layersWithOutsidePointerEventsDisabled.size&&(EP=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(d)),c.layers.add(d),wu(),()=>{n&&1===c.layersWithOutsidePointerEventsDisabled.size&&(f.body.style.pointerEvents=EP)}},[d,f,n,c]),O.useEffect(()=>()=>{d&&(c.layers.delete(d),c.layersWithOutsidePointerEventsDisabled.delete(d),wu())},[d,c]),O.useEffect(()=>{let e=()=>m({});return document.addEventListener(ws,e),()=>document.removeEventListener(ws,e)},[]),(0,I.jsx)(wi.div,{...s,ref:h,style:{pointerEvents:b?y?"auto":"none":void 0,...e.style},onFocusCapture:y9(e.onFocusCapture,j.onFocusCapture),onBlurCapture:y9(e.onBlurCapture,j.onBlurCapture),onPointerDownCapture:y9(e.onPointerDownCapture,w.onPointerDownCapture)})});function wu(){let e=new CustomEvent(ws);document.dispatchEvent(e)}function wf(e,t,n,{discrete:r}){let a=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&a.addEventListener(e,t,{once:!0}),r?wo(a,i):a.dispatchEvent(i)}wd.displayName="DismissableLayer",O.forwardRef((e,t)=>{let n=O.useContext(wc),r=O.useRef(null),a=(0,we.useComposedRefs)(t,r);return O.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,I.jsx)(wi.div,{...e,ref:a})}).displayName="DismissableLayerBranch";var wm=0;function wh(){O.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??wp()),document.body.insertAdjacentElement("beforeend",e[1]??wp()),wm++,()=>{1===wm&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),wm--}},[])}function wp(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var wg="focusScope.autoFocusOnMount",wx="focusScope.autoFocusOnUnmount",wv={bubbles:!1,cancelable:!0},wb=O.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:a,onUnmountAutoFocus:i,...o}=e,[l,s]=O.useState(null),c=wl(a),d=wl(i),u=O.useRef(null),f=(0,we.useComposedRefs)(t,e=>s(e)),m=O.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;O.useEffect(()=>{if(r){let e=function(e){if(m.paused||!l)return;let t=e.target;l.contains(t)?u.current=t:wj(u.current,{select:!0})},t=function(e){if(m.paused||!l)return;let t=e.relatedTarget;null!==t&&(l.contains(t)||wj(u.current,{select:!0}))};document.addEventListener("focusin",e),document.addEventListener("focusout",t);let n=new MutationObserver(function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&wj(l)});return l&&n.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),n.disconnect()}}},[r,l,m.paused]),O.useEffect(()=>{if(l){wk.add(m);let e=document.activeElement;if(!l.contains(e)){let t=new CustomEvent(wg,wv);l.addEventListener(wg,c),l.dispatchEvent(t),t.defaultPrevented||(function(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(wj(r,{select:t}),document.activeElement!==n)return}(wy(l).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&wj(l))}return()=>{l.removeEventListener(wg,c),setTimeout(()=>{let t=new CustomEvent(wx,wv);l.addEventListener(wx,d),l.dispatchEvent(t),t.defaultPrevented||wj(e??document.body,{select:!0}),l.removeEventListener(wx,d),wk.remove(m)},0)}}},[l,c,d,m]);let h=O.useCallback(e=>{if(!n&&!r||m.paused)return;let t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,a=document.activeElement;if(t&&a){var i;let t,r=e.currentTarget,[o,l]=[ww(t=wy(i=r),i),ww(t.reverse(),i)];o&&l?e.shiftKey||a!==l?e.shiftKey&&a===o&&(e.preventDefault(),n&&wj(l,{select:!0})):(e.preventDefault(),n&&wj(o,{select:!0})):a===r&&e.preventDefault()}},[n,r,m.paused]);return(0,I.jsx)(wi.div,{tabIndex:-1,...o,ref:f,onKeyDown:h})});function wy(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function ww(e,t){for(let n of e)if(!function(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===t||e!==t);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}(n,{upTo:t}))return n}function wj(e,{select:t=!1}={}){if(e&&e.focus){var n;let r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&(n=e)instanceof HTMLInputElement&&"select"in n&&t&&e.select()}}wb.displayName="FocusScope";var wk=(d=[],{add(e){let t=d[0];e!==t&&t?.pause(),(d=wN(d,e)).unshift(e)},remove(e){d=wN(d,e),d[0]?.resume()}});function wN(e,t){let n=[...e],r=n.indexOf(t);return -1!==r&&n.splice(r,1),n}var wC=globalThis?.document?O.useLayoutEffect:()=>{},wS=O[" useId ".trim().toString()]||(()=>void 0),wM=0;function wE(e){let[t,n]=O.useState(wS());return wC(()=>{e||n(e=>e??String(wM++))},[e]),e||(t?`radix-${t}`:"")}let wI=["top","right","bottom","left"],wP=Math.min,wO=Math.max,wz=Math.round,wA=Math.floor,wT=e=>({x:e,y:e}),wR={left:"right",right:"left",bottom:"top",top:"bottom"};function w_(e,t){return"function"==typeof e?e(t):e}function wD(e){return e.split("-")[0]}function wL(e){return e.split("-")[1]}function w$(e){return"x"===e?"y":"x"}function wF(e){return"y"===e?"height":"width"}function wB(e){let t=e[0];return"t"===t||"b"===t?"y":"x"}function wV(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}let wH=["left","right"],wU=["right","left"],wq=["top","bottom"],wW=["bottom","top"];function wK(e){let t=wD(e);return wR[t]+e.slice(t.length)}function wG(e){return"number"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function wX(e){let{x:t,y:n,width:r,height:a}=e;return{width:r,height:a,top:n,left:t,right:t+r,bottom:n+a,x:t,y:n}}function wY(e,t,n){let r,{reference:a,floating:i}=e,o=wB(t),l=w$(wB(t)),s=wF(l),c=wD(t),d="y"===o,u=a.x+a.width/2-i.width/2,f=a.y+a.height/2-i.height/2,m=a[s]/2-i[s]/2;switch(c){case"top":r={x:u,y:a.y-i.height};break;case"bottom":r={x:u,y:a.y+a.height};break;case"right":r={x:a.x+a.width,y:f};break;case"left":r={x:a.x-i.width,y:f};break;default:r={x:a.x,y:a.y}}switch(wL(t)){case"start":r[l]-=m*(n&&d?-1:1);break;case"end":r[l]+=m*(n&&d?-1:1)}return r}async function wZ(e,t){var n;void 0===t&&(t={});let{x:r,y:a,platform:i,rects:o,elements:l,strategy:s}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:u="floating",altBoundary:f=!1,padding:m=0}=w_(t,e),h=wG(m),p=l[f?"floating"===u?"reference":"floating":u],g=wX(await i.getClippingRect({element:null==(n=await (null==i.isElement?void 0:i.isElement(p)))||n?p:p.contextElement||await (null==i.getDocumentElement?void 0:i.getDocumentElement(l.floating)),boundary:c,rootBoundary:d,strategy:s})),x="floating"===u?{x:r,y:a,width:o.floating.width,height:o.floating.height}:o.reference,v=await (null==i.getOffsetParent?void 0:i.getOffsetParent(l.floating)),b=await (null==i.isElement?void 0:i.isElement(v))&&await (null==i.getScale?void 0:i.getScale(v))||{x:1,y:1},y=wX(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:x,offsetParent:v,strategy:s}):x);return{top:(g.top-y.top+h.top)/b.y,bottom:(y.bottom-g.bottom+h.bottom)/b.y,left:(g.left-y.left+h.left)/b.x,right:(y.right-g.right+h.right)/b.x}}let wJ=async(e,t,n)=>{let{placement:r="bottom",strategy:a="absolute",middleware:i=[],platform:o}=n,l=o.detectOverflow?o:{...o,detectOverflow:wZ},s=await (null==o.isRTL?void 0:o.isRTL(t)),c=await o.getElementRects({reference:e,floating:t,strategy:a}),{x:d,y:u}=wY(c,r,s),f=r,m=0,h={};for(let n=0;n<i.length;n++){let p=i[n];if(!p)continue;let{name:g,fn:x}=p,{x:v,y:b,data:y,reset:w}=await x({x:d,y:u,initialPlacement:r,placement:f,strategy:a,middlewareData:h,rects:c,platform:l,elements:{reference:e,floating:t}});d=null!=v?v:d,u=null!=b?b:u,h[g]={...h[g],...y},w&&m<50&&(m++,"object"==typeof w&&(w.placement&&(f=w.placement),w.rects&&(c=!0===w.rects?await o.getElementRects({reference:e,floating:t,strategy:a}):w.rects),{x:d,y:u}=wY(c,f,s)),n=-1)}return{x:d,y:u,placement:f,strategy:a,middlewareData:h}};function wQ(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function w0(e){return wI.some(t=>e[t]>=0)}let w1=new Set(["left","top"]);async function w2(e,t){let{placement:n,platform:r,elements:a}=e,i=await (null==r.isRTL?void 0:r.isRTL(a.floating)),o=wD(n),l=wL(n),s="y"===wB(n),c=w1.has(o)?-1:1,d=i&&s?-1:1,u=w_(t,e),{mainAxis:f,crossAxis:m,alignmentAxis:h}="number"==typeof u?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return l&&"number"==typeof h&&(m="end"===l?-1*h:h),s?{x:m*d,y:f*c}:{x:f*c,y:m*d}}function w5(){return"u">typeof window}function w3(e){return w8(e)?(e.nodeName||"").toLowerCase():"#document"}function w4(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function w6(e){var t;return null==(t=(w8(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function w8(e){return!!w5()&&(e instanceof Node||e instanceof w4(e).Node)}function w7(e){return!!w5()&&(e instanceof Element||e instanceof w4(e).Element)}function w9(e){return!!w5()&&(e instanceof HTMLElement||e instanceof w4(e).HTMLElement)}function je(e){return!(!w5()||"u"<typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof w4(e).ShadowRoot)}function jt(e){let{overflow:t,overflowX:n,overflowY:r,display:a}=jc(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&"inline"!==a&&"contents"!==a}function jn(e){try{if(e.matches(":popover-open"))return!0}catch(e){}try{return e.matches(":modal")}catch(e){return!1}}let jr=/transform|translate|scale|rotate|perspective|filter/,ja=/paint|layout|strict|content/,ji=e=>!!e&&"none"!==e;function jo(e){let t=w7(e)?jc(e):e;return ji(t.transform)||ji(t.translate)||ji(t.scale)||ji(t.rotate)||ji(t.perspective)||!jl()&&(ji(t.backdropFilter)||ji(t.filter))||jr.test(t.willChange||"")||ja.test(t.contain||"")}function jl(){return null==t&&(t="u">typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),t}function js(e){return/^(html|body|#document)$/.test(w3(e))}function jc(e){return w4(e).getComputedStyle(e)}function jd(e){return w7(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ju(e){if("html"===w3(e))return e;let t=e.assignedSlot||e.parentNode||je(e)&&e.host||w6(e);return je(t)?t.host:t}function jf(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);let a=function e(t){let n=ju(t);return js(n)?t.ownerDocument?t.ownerDocument.body:t.body:w9(n)&&jt(n)?n:e(n)}(e),i=a===(null==(r=e.ownerDocument)?void 0:r.body),o=w4(a);if(!i)return t.concat(a,jf(a,[],n));{let e=jm(o);return t.concat(o,o.visualViewport||[],jt(a)?a:[],e&&n?jf(e):[])}}function jm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function jh(e){let t=jc(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,a=w9(e),i=a?e.offsetWidth:n,o=a?e.offsetHeight:r,l=wz(n)!==i||wz(r)!==o;return l&&(n=i,r=o),{width:n,height:r,$:l}}function jp(e){return w7(e)?e:e.contextElement}function jg(e){let t=jp(e);if(!w9(t))return wT(1);let n=t.getBoundingClientRect(),{width:r,height:a,$:i}=jh(t),o=(i?wz(n.width):n.width)/r,l=(i?wz(n.height):n.height)/a;return o&&Number.isFinite(o)||(o=1),l&&Number.isFinite(l)||(l=1),{x:o,y:l}}let jx=wT(0);function jv(e){let t=w4(e);return jl()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:jx}function jb(e,t,n,r){var a;void 0===t&&(t=!1),void 0===n&&(n=!1);let i=e.getBoundingClientRect(),o=jp(e),l=wT(1);t&&(r?w7(r)&&(l=jg(r)):l=jg(e));let s=(void 0===(a=n)&&(a=!1),r&&(!a||r===w4(o))&&a)?jv(o):wT(0),c=(i.left+s.x)/l.x,d=(i.top+s.y)/l.y,u=i.width/l.x,f=i.height/l.y;if(o){let e=w4(o),t=r&&w7(r)?w4(r):r,n=e,a=jm(n);for(;a&&r&&t!==n;){let e=jg(a),t=a.getBoundingClientRect(),r=jc(a),i=t.left+(a.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(a.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,d*=e.y,u*=e.x,f*=e.y,c+=i,d+=o,a=jm(n=w4(a))}}return wX({width:u,height:f,x:c,y:d})}function jy(e,t){let n=jd(e).scrollLeft;return t?t.left+n:jb(w6(e)).left+n}function jw(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-jy(e,n),y:n.top+t.scrollTop}}function jj(e,t,n){var r;let a;if("viewport"===t)a=function(e,t){let n=w4(e),r=w6(e),a=n.visualViewport,i=r.clientWidth,o=r.clientHeight,l=0,s=0;if(a){i=a.width,o=a.height;let e=jl();(!e||e&&"fixed"===t)&&(l=a.offsetLeft,s=a.offsetTop)}let c=jy(r);if(c<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),a="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-a);o<=25&&(i-=o)}else c<=25&&(i+=c);return{width:i,height:o,x:l,y:s}}(e,n);else if("document"===t){let t,n,i,o,l,s,c;r=w6(e),t=w6(r),n=jd(r),i=r.ownerDocument.body,o=wO(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),l=wO(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight),s=-n.scrollLeft+jy(r),c=-n.scrollTop,"rtl"===jc(i).direction&&(s+=wO(t.clientWidth,i.clientWidth)-o),a={width:o,height:l,x:s,y:c}}else if(w7(t)){let e,r,i,o,l,s;r=(e=jb(t,!0,"fixed"===n)).top+t.clientTop,i=e.left+t.clientLeft,o=w9(t)?jg(t):wT(1),l=t.clientWidth*o.x,s=t.clientHeight*o.y,a={width:l,height:s,x:i*o.x,y:r*o.y}}else{let n=jv(e);a={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return wX(a)}function jk(e){return"static"===jc(e).position}function jN(e,t){if(!w9(e)||"fixed"===jc(e).position)return null;if(t)return t(e);let n=e.offsetParent;return w6(e)===n&&(n=n.ownerDocument.body),n}function jC(e,t){var n;let r=w4(e);if(jn(e))return r;if(!w9(e)){let t=ju(e);for(;t&&!js(t);){if(w7(t)&&!jk(t))return t;t=ju(t)}return r}let a=jN(e,t);for(;a&&(n=a,/^(table|td|th)$/.test(w3(n)))&&jk(a);)a=jN(a,t);return a&&js(a)&&jk(a)&&!jo(a)?r:a||function(e){let t=ju(e);for(;w9(t)&&!js(t);){if(jo(t))return t;if(jn(t))break;t=ju(t)}return null}(e)||r}let jS=async function(e){let t=this.getOffsetParent||jC,n=this.getDimensions,r=await n(e.floating);return{reference:function(e,t,n){let r=w9(t),a=w6(t),i="fixed"===n,o=jb(e,!0,i,t),l={scrollLeft:0,scrollTop:0},s=wT(0);if(r||!r&&!i)if(("body"!==w3(t)||jt(a))&&(l=jd(t)),r){let e=jb(t,!0,i,t);s.x=e.x+t.clientLeft,s.y=e.y+t.clientTop}else a&&(s.x=jy(a));i&&!r&&a&&(s.x=jy(a));let c=!a||r||i?wT(0):jw(a,l);return{x:o.left+l.scrollLeft-s.x-c.x,y:o.top+l.scrollTop-s.y-c.y,width:o.width,height:o.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},jM={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:a}=e,i="fixed"===a,o=w6(r),l=!!t&&jn(t.floating);if(r===o||l&&i)return n;let s={scrollLeft:0,scrollTop:0},c=wT(1),d=wT(0),u=w9(r);if((u||!u&&!i)&&(("body"!==w3(r)||jt(o))&&(s=jd(r)),u)){let e=jb(r);c=jg(r),d.x=e.x+r.clientLeft,d.y=e.y+r.clientTop}let f=!o||u||i?wT(0):jw(o,s);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-s.scrollLeft*c.x+d.x+f.x,y:n.y*c.y-s.scrollTop*c.y+d.y+f.y}},getDocumentElement:w6,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:a}=e,i=[..."clippingAncestors"===n?jn(t)?[]:function(e,t){let n=t.get(e);if(n)return n;let r=jf(e,[],!1).filter(e=>w7(e)&&"body"!==w3(e)),a=null,i="fixed"===jc(e).position,o=i?ju(e):e;for(;w7(o)&&!js(o);){let t=jc(o),n=jo(o);n||"fixed"!==t.position||(a=null),(i?n||a:!(!n&&"static"===t.position&&a&&("absolute"===a.position||"fixed"===a.position)||jt(o)&&!n&&function e(t,n){let r=ju(t);return!(r===n||!w7(r)||js(r))&&("fixed"===jc(r).position||e(r,n))}(e,o)))?a=t:r=r.filter(e=>e!==o),o=ju(o)}return t.set(e,r),r}(t,this._c):[].concat(n),r],o=jj(t,i[0],a),l=o.top,s=o.right,c=o.bottom,d=o.left;for(let e=1;e<i.length;e++){let n=jj(t,i[e],a);l=wO(n.top,l),s=wP(n.right,s),c=wP(n.bottom,c),d=wO(n.left,d)}return{width:s-d,height:c-l,x:d,y:l}},getOffsetParent:jC,getElementRects:jS,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:n}=jh(e);return{width:t,height:n}},getScale:jg,isElement:w7,isRTL:function(e){return"rtl"===jc(e).direction}};function jE(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}let jI=e=>({name:"arrow",options:e,async fn(t){let{x:n,y:r,placement:a,rects:i,platform:o,elements:l,middlewareData:s}=t,{element:c,padding:d=0}=w_(e,t)||{};if(null==c)return{};let u=wG(d),f={x:n,y:r},m=w$(wB(a)),h=wF(m),p=await o.getDimensions(c),g="y"===m,x=g?"clientHeight":"clientWidth",v=i.reference[h]+i.reference[m]-f[m]-i.floating[h],b=f[m]-i.reference[m],y=await (null==o.getOffsetParent?void 0:o.getOffsetParent(c)),w=y?y[x]:0;w&&await (null==o.isElement?void 0:o.isElement(y))||(w=l.floating[x]||i.floating[h]);let j=w/2-p[h]/2-1,k=wP(u[g?"top":"left"],j),N=wP(u[g?"bottom":"right"],j),C=w-p[h]-N,S=w/2-p[h]/2+(v/2-b/2),M=wO(k,wP(S,C)),E=!s.arrow&&null!=wL(a)&&S!==M&&i.reference[h]/2-(S<k?k:N)-p[h]/2<0,I=E?S<k?S-k:S-C:0;return{[m]:f[m]+I,data:{[m]:M,centerOffset:S-M-I,...E&&{alignmentOffset:I}},reset:E}}});var jP="u">typeof document?O.useLayoutEffect:function(){};function jO(e,t){let n,r,a;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((n=e.length)!==t.length)return!1;for(r=n;0!=r--;)if(!jO(e[r],t[r]))return!1;return!0}if((n=(a=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!({}).hasOwnProperty.call(t,a[r]))return!1;for(r=n;0!=r--;){let n=a[r];if(("_owner"!==n||!e.$$typeof)&&!jO(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function jz(e){return"u"<typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function jA(e,t){let n=jz(e);return Math.round(t*n)/n}function jT(e){let t=O.useRef(e);return jP(()=>{t.current=e}),t}var jR=O.forwardRef((e,t)=>{let{children:n,width:r=10,height:a=5,...i}=e;return(0,I.jsx)(wi.svg,{...i,ref:t,width:r,height:a,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:(0,I.jsx)("polygon",{points:"0,0 30,0 15,10"})})});function j_(e){let[t,n]=O.useState(void 0);return wC(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let r,a;if(!Array.isArray(t)||!t.length)return;let i=t[0];if("borderBoxSize"in i){let e=i.borderBoxSize,t=Array.isArray(e)?e[0]:e;r=t.inlineSize,a=t.blockSize}else r=e.offsetWidth,a=e.offsetHeight;n({width:r,height:a})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}n(void 0)},[e]),t}jR.displayName="Arrow";var jD="Popper",[jL,j$]=wt(jD),[jF,jB]=jL(jD),jV=e=>{let{__scopePopper:t,children:n}=e,[r,a]=O.useState(null);return(0,I.jsx)(jF,{scope:t,anchor:r,onAnchorChange:a,children:n})};jV.displayName=jD;var jH="PopperAnchor",jU=O.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...a}=e,i=jB(jH,n),o=O.useRef(null),l=(0,we.useComposedRefs)(t,o),s=O.useRef(null);return O.useEffect(()=>{let e=s.current;s.current=r?.current||o.current,e!==s.current&&i.onAnchorChange(s.current)}),r?null:(0,I.jsx)(wi.div,{...a,ref:l})});jU.displayName=jH;var jq="PopperContent",[jW,jK]=jL(jq),jG=O.forwardRef((e,t)=>{var n,r,a,i,o,l,s,c,d,u,f,m,h,p,g,x,v,b,y,w,j;let k,N,C,S,M,E,{__scopePopper:P,side:z="bottom",sideOffset:A=0,align:T="center",alignOffset:R=0,arrowPadding:_=0,avoidCollisions:D=!0,collisionBoundary:L=[],collisionPadding:$=0,sticky:F="partial",hideWhenDetached:B=!1,updatePositionStrategy:V="optimized",onPlaced:H,...U}=e,q=jB(jq,P),[W,K]=O.useState(null),G=(0,we.useComposedRefs)(t,e=>K(e)),[X,Y]=O.useState(null),Z=j_(X),J=Z?.width??0,Q=Z?.height??0,ee="number"==typeof $?$:{top:0,right:0,bottom:0,left:0,...$},et=Array.isArray(L)?L:[L],en=et.length>0,er={padding:ee,boundary:et.filter(jJ),altBoundary:en},{refs:ea,floatingStyles:ei,placement:eo,isPositioned:el,middlewareData:es}=function(e){void 0===e&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:a,elements:{reference:i,floating:o}={},transform:l=!0,whileElementsMounted:s,open:c}=e,[d,u]=O.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,m]=O.useState(r);jO(f,r)||m(r);let[h,p]=O.useState(null),[g,x]=O.useState(null),v=O.useCallback(e=>{e!==j.current&&(j.current=e,p(e))},[]),b=O.useCallback(e=>{e!==k.current&&(k.current=e,x(e))},[]),y=i||h,w=o||g,j=O.useRef(null),k=O.useRef(null),N=O.useRef(d),C=null!=s,S=jT(s),M=jT(a),E=jT(c),I=O.useCallback(()=>{var e,r;let a,i,o;if(!j.current||!k.current)return;let l={placement:t,strategy:n,middleware:f};M.current&&(l.platform=M.current),(e=j.current,r=k.current,a=new Map,o={...(i={platform:jM,...l}).platform,_c:a},wJ(e,r,{...i,platform:o})).then(e=>{let t={...e,isPositioned:!1!==E.current};P.current&&!jO(N.current,t)&&(N.current=t,gS.flushSync(()=>{u(t)}))})},[f,t,n,M,E]);jP(()=>{!1===c&&N.current.isPositioned&&(N.current.isPositioned=!1,u(e=>({...e,isPositioned:!1})))},[c]);let P=O.useRef(!1);jP(()=>(P.current=!0,()=>{P.current=!1}),[]),jP(()=>{if(y&&(j.current=y),w&&(k.current=w),y&&w){if(S.current)return S.current(y,w,I);I()}},[y,w,I,S,C]);let z=O.useMemo(()=>({reference:j,floating:k,setReference:v,setFloating:b}),[v,b]),A=O.useMemo(()=>({reference:y,floating:w}),[y,w]),T=O.useMemo(()=>{let e={position:n,left:0,top:0};if(!A.floating)return e;let t=jA(A.floating,d.x),r=jA(A.floating,d.y);return l?{...e,transform:"translate("+t+"px, "+r+"px)",...jz(A.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:r}},[n,l,A.floating,d.x,d.y]);return O.useMemo(()=>({...d,update:I,refs:z,elements:A,floatingStyles:T}),[d,I,z,A,T])}({strategy:"fixed",placement:z+("center"!==T?"-"+T:""),whileElementsMounted:(...e)=>(function(e,t,n,r){let a;void 0===r&&(r={});let{ancestorScroll:i=!0,ancestorResize:o=!0,elementResize:l="function"==typeof ResizeObserver,layoutShift:s="function"==typeof IntersectionObserver,animationFrame:c=!1}=r,d=jp(e),u=i||o?[...d?jf(d):[],...t?jf(t):[]]:[];u.forEach(e=>{i&&e.addEventListener("scroll",n,{passive:!0}),o&&e.addEventListener("resize",n)});let f=d&&s?function(e,t){let n,r=null,a=w6(e);function i(){var e;clearTimeout(n),null==(e=r)||e.disconnect(),r=null}return!function o(l,s){void 0===l&&(l=!1),void 0===s&&(s=1),i();let c=e.getBoundingClientRect(),{left:d,top:u,width:f,height:m}=c;if(l||t(),!f||!m)return;let h={rootMargin:-wA(u)+"px "+-wA(a.clientWidth-(d+f))+"px "+-wA(a.clientHeight-(u+m))+"px "+-wA(d)+"px",threshold:wO(0,wP(1,s))||1},p=!0;function g(t){let r=t[0].intersectionRatio;if(r!==s){if(!p)return o();r?o(!1,r):n=setTimeout(()=>{o(!1,1e-7)},1e3)}1!==r||jE(c,e.getBoundingClientRect())||o(),p=!1}try{r=new IntersectionObserver(g,{...h,root:a.ownerDocument})}catch(e){r=new IntersectionObserver(g,h)}r.observe(e)}(!0),i}(d,n):null,m=-1,h=null;l&&(h=new ResizeObserver(e=>{let[r]=e;r&&r.target===d&&h&&t&&(h.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var e;null==(e=h)||e.observe(t)})),n()}),d&&!c&&h.observe(d),t&&h.observe(t));let p=c?jb(e):null;return c&&function t(){let r=jb(e);p&&!jE(p,r)&&n(),p=r,a=requestAnimationFrame(t)}(),n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener("scroll",n),o&&e.removeEventListener("resize",n)}),null==f||f(),null==(e=h)||e.disconnect(),h=null,c&&cancelAnimationFrame(a)}})(...e,{animationFrame:"always"===V}),elements:{reference:q.anchor},middleware:[{name:(k={name:"offset",options:a=n={mainAxis:A+Q,alignmentAxis:R},async fn(e){var t,n;let{x:r,y:i,placement:o,middlewareData:l}=e,s=await w2(e,a);return o===(null==(t=l.offset)?void 0:t.placement)&&null!=(n=l.arrow)&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:o}}}}).name,fn:k.fn,options:[n,r]},D&&{name:(N={name:"shift",options:d=s={mainAxis:!0,crossAxis:!1,limiter:"partial"===F?{fn:(void 0===(l=i)&&(l={}),{options:l,fn(e){let{x:t,y:n,placement:r,rects:a,middlewareData:i}=e,{offset:o=0,mainAxis:s=!0,crossAxis:c=!0}=w_(l,e),d={x:t,y:n},u=wB(r),f=w$(u),m=d[f],h=d[u],p=w_(o,e),g="number"==typeof p?{mainAxis:p,crossAxis:0}:{mainAxis:0,crossAxis:0,...p};if(s){let e="y"===f?"height":"width",t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;m<t?m=t:m>n&&(m=n)}if(c){var x,v;let e="y"===f?"width":"height",t=w1.has(wD(r)),n=a.reference[u]-a.floating[e]+(t&&(null==(x=i.offset)?void 0:x[u])||0)+(t?0:g.crossAxis),o=a.reference[u]+a.reference[e]+(t?0:(null==(v=i.offset)?void 0:v[u])||0)-(t?g.crossAxis:0);h<n?h=n:h>o&&(h=o)}return{[f]:m,[u]:h}}}).fn,options:[i,o]}:void 0,...er},async fn(e){let{x:t,y:n,placement:r,platform:a}=e,{mainAxis:i=!0,crossAxis:o=!1,limiter:l={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...s}=w_(d,e),c={x:t,y:n},u=await a.detectOverflow(e,s),f=wB(wD(r)),m=w$(f),h=c[m],p=c[f];if(i){let e="y"===m?"top":"left",t="y"===m?"bottom":"right",n=h+u[e],r=h-u[t];h=wO(n,wP(h,r))}if(o){let e="y"===f?"top":"left",t="y"===f?"bottom":"right",n=p+u[e],r=p-u[t];p=wO(n,wP(p,r))}let g=l.fn({...e,[m]:h,[f]:p});return{...g,data:{x:g.x-t,y:g.y-n,enabled:{[m]:i,[f]:o}}}}}).name,fn:N.fn,options:[s,c]},D&&{name:(C={name:"flip",options:m=u={...er},async fn(e){var t,n,r,a,i,o,l,s;let c,d,u,{placement:f,middlewareData:h,rects:p,initialPlacement:g,platform:x,elements:v}=e,{mainAxis:b=!0,crossAxis:y=!0,fallbackPlacements:w,fallbackStrategy:j="bestFit",fallbackAxisSideDirection:k="none",flipAlignment:N=!0,...C}=w_(m,e);if(null!=(t=h.arrow)&&t.alignmentOffset)return{};let S=wD(f),M=wB(g),E=wD(g)===g,I=await (null==x.isRTL?void 0:x.isRTL(v.floating)),P=w||(E||!N?[wK(g)]:(c=wK(g),[wV(g),c,wV(c)])),O="none"!==k;!w&&O&&P.push(...(d=wL(g),u=function(e,t,n){switch(e){case"top":case"bottom":if(n)return t?wU:wH;return t?wH:wU;case"left":case"right":return t?wq:wW;default:return[]}}(wD(g),"start"===k,I),d&&(u=u.map(e=>e+"-"+d),N&&(u=u.concat(u.map(wV)))),u));let z=[g,...P],A=await x.detectOverflow(e,C),T=[],R=(null==(n=h.flip)?void 0:n.overflows)||[];if(b&&T.push(A[S]),y){let e,t,n,r,a=(o=f,l=p,void 0===(s=I)&&(s=!1),e=wL(o),n=wF(t=w$(wB(o))),r="x"===t?e===(s?"end":"start")?"right":"left":"start"===e?"bottom":"top",l.reference[n]>l.floating[n]&&(r=wK(r)),[r,wK(r)]);T.push(A[a[0]],A[a[1]])}if(R=[...R,{placement:f,overflows:T}],!T.every(e=>e<=0)){let e=((null==(r=h.flip)?void 0:r.index)||0)+1,t=z[e];if(t&&("alignment"!==y||M===wB(t)||R.every(e=>wB(e.placement)!==M||e.overflows[0]>0)))return{data:{index:e,overflows:R},reset:{placement:t}};let n=null==(a=R.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:a.placement;if(!n)switch(j){case"bestFit":{let e=null==(i=R.filter(e=>{if(O){let t=wB(e.placement);return t===M||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:i[0];e&&(n=e);break}case"initialPlacement":n=g}if(f!==n)return{reset:{placement:n}}}return{}}}).name,fn:C.fn,options:[u,f]},{name:(S={name:"size",options:g=h={...er,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:a,height:i}=t.reference,o=e.floating.style;o.setProperty("--radix-popper-available-width",`${n}px`),o.setProperty("--radix-popper-available-height",`${r}px`),o.setProperty("--radix-popper-anchor-width",`${a}px`),o.setProperty("--radix-popper-anchor-height",`${i}px`)}},async fn(e){var t,n;let r,a,{placement:i,rects:o,platform:l,elements:s}=e,{apply:c=()=>{},...d}=w_(g,e),u=await l.detectOverflow(e,d),f=wD(i),m=wL(i),h="y"===wB(i),{width:p,height:x}=o.floating;"top"===f||"bottom"===f?(r=f,a=m===(await (null==l.isRTL?void 0:l.isRTL(s.floating))?"start":"end")?"left":"right"):(a=f,r="end"===m?"top":"bottom");let v=x-u.top-u.bottom,b=p-u.left-u.right,y=wP(x-u[r],v),w=wP(p-u[a],b),j=!e.middlewareData.shift,k=y,N=w;if(null!=(t=e.middlewareData.shift)&&t.enabled.x&&(N=b),null!=(n=e.middlewareData.shift)&&n.enabled.y&&(k=v),j&&!m){let e=wO(u.left,0),t=wO(u.right,0),n=wO(u.top,0),r=wO(u.bottom,0);h?N=p-2*(0!==e||0!==t?e+t:wO(u.left,u.right)):k=x-2*(0!==n||0!==r?n+r:wO(u.top,u.bottom))}await c({...e,availableWidth:N,availableHeight:k});let C=await l.getDimensions(s.floating);return p!==C.width||x!==C.height?{reset:{rects:!0}}:{}}}).name,fn:S.fn,options:[h,p]},X&&{name:(M={name:"arrow",options:b=x={element:X,padding:_},fn(e){let{element:t,padding:n}="function"==typeof b?b(e):b;return t&&({}).hasOwnProperty.call(t,"current")?null!=t.current?jI({element:t.current,padding:n}).fn(e):{}:t?jI({element:t,padding:n}).fn(e):{}}}).name,fn:M.fn,options:[x,v]},jQ({arrowWidth:J,arrowHeight:Q}),B&&{name:(E={name:"hide",options:j=y={strategy:"referenceHidden",...er},async fn(e){let{rects:t,platform:n}=e,{strategy:r="referenceHidden",...a}=w_(j,e);switch(r){case"referenceHidden":{let r=wQ(await n.detectOverflow(e,{...a,elementContext:"reference"}),t.reference);return{data:{referenceHiddenOffsets:r,referenceHidden:w0(r)}}}case"escaped":{let r=wQ(await n.detectOverflow(e,{...a,altBoundary:!0}),t.floating);return{data:{escapedOffsets:r,escaped:w0(r)}}}default:return{}}}}).name,fn:E.fn,options:[y,w]}]}),[ec,ed]=j0(eo),eu=wl(H);wC(()=>{el&&eu?.()},[el,eu]);let ef=es.arrow?.x,em=es.arrow?.y,eh=es.arrow?.centerOffset!==0,[ep,eg]=O.useState();return wC(()=>{W&&eg(window.getComputedStyle(W).zIndex)},[W]),(0,I.jsx)("div",{ref:ea.setFloating,"data-radix-popper-content-wrapper":"",style:{...ei,transform:el?ei.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ep,"--radix-popper-transform-origin":[es.transformOrigin?.x,es.transformOrigin?.y].join(" "),...es.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,I.jsx)(jW,{scope:P,placedSide:ec,onArrowChange:Y,arrowX:ef,arrowY:em,shouldHideArrow:eh,children:(0,I.jsx)(wi.div,{"data-side":ec,"data-align":ed,...U,ref:G,style:{...U.style,animation:el?void 0:"none"}})})})});jG.displayName=jq;var jX="PopperArrow",jY={top:"bottom",right:"left",bottom:"top",left:"right"},jZ=O.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,a=jK(jX,n),i=jY[a.placedSide];return(0,I.jsx)("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:(0,I.jsx)(jR,{...r,ref:t,style:{...r.style,display:"block"}})})});function jJ(e){return null!==e}jZ.displayName=jX;var jQ=e=>({name:"transformOrigin",options:e,fn(t){let{placement:n,rects:r,middlewareData:a}=t,i=a.arrow?.centerOffset!==0,o=i?0:e.arrowWidth,l=i?0:e.arrowHeight,[s,c]=j0(n),d={start:"0%",center:"50%",end:"100%"}[c],u=(a.arrow?.x??0)+o/2,f=(a.arrow?.y??0)+l/2,m="",h="";return"bottom"===s?(m=i?d:`${u}px`,h=`${-l}px`):"top"===s?(m=i?d:`${u}px`,h=`${r.floating.height+l}px`):"right"===s?(m=`${-l}px`,h=i?d:`${f}px`):"left"===s&&(m=`${r.floating.width+l}px`,h=i?d:`${f}px`),{data:{x:m,y:h}}}});function j0(e){let[t,n="center"]=e.split("-");return[t,n]}var j1=O.forwardRef((e,t)=>{let{container:n,...r}=e,[a,i]=O.useState(!1);wC(()=>i(!0),[]);let o=n||a&&globalThis?.document?.body;return o?gS.default.createPortal((0,I.jsx)(wi.div,{...r,ref:t}),o):null});j1.displayName="Portal";var j2=e=>{var t;let n,r,{present:a,children:i}=e,o=function(e){var t,n;let[r,a]=O.useState(),i=O.useRef(null),o=O.useRef(e),l=O.useRef("none"),[s,c]=(t=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},O.useReducer((e,t)=>n[e][t]??e,t));return O.useEffect(()=>{let e=j5(i.current);l.current="mounted"===s?e:"none"},[s]),wC(()=>{let t=i.current,n=o.current;if(n!==e){let r=l.current,a=j5(t);e?c("MOUNT"):"none"===a||t?.display==="none"?c("UNMOUNT"):n&&r!==a?c("ANIMATION_OUT"):c("UNMOUNT"),o.current=e}},[e,c]),wC(()=>{if(r){let e,t=r.ownerDocument.defaultView??window,n=n=>{let a=j5(i.current).includes(CSS.escape(n.animationName));if(n.target===r&&a&&(c("ANIMATION_END"),!o.current)){let n=r.style.animationFillMode;r.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===r.style.animationFillMode&&(r.style.animationFillMode=n)})}},a=e=>{e.target===r&&(l.current=j5(i.current))};return r.addEventListener("animationstart",a),r.addEventListener("animationcancel",n),r.addEventListener("animationend",n),()=>{t.clearTimeout(e),r.removeEventListener("animationstart",a),r.removeEventListener("animationcancel",n),r.removeEventListener("animationend",n)}}c("ANIMATION_END")},[r,c]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:O.useCallback(e=>{i.current=e?getComputedStyle(e):null,a(e)},[])}}(a),l="function"==typeof i?i({present:o.isPresent}):O.Children.only(i),s=(0,we.useComposedRefs)(o.ref,(t=l,(r=(n=Object.getOwnPropertyDescriptor(t.props,"ref")?.get)&&"isReactWarning"in n&&n.isReactWarning)?t.ref:(r=(n=Object.getOwnPropertyDescriptor(t,"ref")?.get)&&"isReactWarning"in n&&n.isReactWarning)?t.props.ref:t.props.ref||t.ref));return"function"==typeof i||o.isPresent?O.cloneElement(l,{ref:s}):null};function j5(e){return e?.animationName||"none"}j2.displayName="Presence",O[" useEffectEvent ".trim().toString()],O[" useInsertionEffect ".trim().toString()];var j3=O[" useInsertionEffect ".trim().toString()]||wC;function j4({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[a,i,o]=function({defaultProp:e,onChange:t}){let[n,r]=O.useState(e),a=O.useRef(n),i=O.useRef(t);return j3(()=>{i.current=t},[t]),O.useEffect(()=>{a.current!==n&&(i.current?.(n),a.current=n)},[n,a]),[n,r,i]}({defaultProp:t,onChange:n}),l=void 0!==e,s=l?e:a;{let t=O.useRef(void 0!==e);O.useEffect(()=>{let e=t.current;if(e!==l){let t=l?"controlled":"uncontrolled";console.warn(`${r} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=l},[l,r])}return[s,O.useCallback(t=>{if(l){let n="function"==typeof t?t(e):t;n!==e&&o.current?.(n)}else i(t)},[l,e,i,o])]}Symbol("RADIX:SYNC_STATE");var j6=new WeakMap,j8=new WeakMap,j7={},j9=0,ke=function(e){return e&&(e.host||ke(e.parentNode))},kt=function(e,t,n,r){var a=(Array.isArray(e)?e:[e]).map(function(e){if(t.contains(e))return e;var n=ke(e);return n&&t.contains(n)?n:(console.error("aria-hidden",e,"in not contained inside",t,". Doing nothing"),null)}).filter(function(e){return!!e});j7[n]||(j7[n]=new WeakMap);var i=j7[n],o=[],l=new Set,s=new Set(a),c=function(e){!e||l.has(e)||(l.add(e),c(e.parentNode))};a.forEach(c);var d=function(e){!e||s.has(e)||Array.prototype.forEach.call(e.children,function(e){if(l.has(e))d(e);else try{var t=e.getAttribute(r),a=null!==t&&"false"!==t,s=(j6.get(e)||0)+1,c=(i.get(e)||0)+1;j6.set(e,s),i.set(e,c),o.push(e),1===s&&a&&j8.set(e,!0),1===c&&e.setAttribute(n,"true"),a||e.setAttribute(r,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return d(t),l.clear(),j9++,function(){o.forEach(function(e){var t=j6.get(e)-1,a=i.get(e)-1;j6.set(e,t),i.set(e,a),t||(j8.has(e)||e.removeAttribute(r),j8.delete(e)),a||e.removeAttribute(n)}),--j9||(j6=new WeakMap,j6=new WeakMap,j8=new WeakMap,j7={})}},kn=function(e,t,n){void 0===n&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),a=t||("u"<typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body);return a?(r.push.apply(r,Array.from(a.querySelectorAll("[aria-live], script"))),kt(r,a,n,"aria-hidden")):function(){return null}},kr=function(){return(kr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};function ka(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,r=Object.getOwnPropertySymbols(e);a<r.length;a++)0>t.indexOf(r[a])&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]]);return n}var ki=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),ko="width-before-scroll-bar";function kl(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var ks="u">typeof window?O.useLayoutEffect:O.useEffect,kc=new WeakMap,kd=(void 0===M2&&(M2={}),(void 0===M5&&(M5=function(e){return e}),M3=[],M4=!1,M6={read:function(){if(M4)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return M3.length?M3[M3.length-1]:null},useMedium:function(e){var t=M5(e,M4);return M3.push(t),function(){M3=M3.filter(function(e){return e!==t})}},assignSyncMedium:function(e){for(M4=!0;M3.length;){var t=M3;M3=[],t.forEach(e)}M3={push:function(t){return e(t)},filter:function(){return M3}}},assignMedium:function(e){M4=!0;var t=[];if(M3.length){var n=M3;M3=[],n.forEach(e),t=M3}var r=function(){var n=t;t=[],n.forEach(e)},a=function(){return Promise.resolve().then(r)};a(),M3={push:function(e){t.push(e),a()},filter:function(e){return t=t.filter(e),M3}}}}).options=kr({async:!0,ssr:!1},M2),M6),ku=function(){},kf=O.forwardRef(function(e,t){var n,r,a,i,o=O.useRef(null),l=O.useState({onScrollCapture:ku,onWheelCapture:ku,onTouchMoveCapture:ku}),s=l[0],c=l[1],d=e.forwardProps,u=e.children,f=e.className,m=e.removeScrollBar,h=e.enabled,p=e.shards,g=e.sideCar,x=e.noRelative,v=e.noIsolation,b=e.inert,y=e.allowPinchZoom,w=e.as,j=e.gapMode,k=ka(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),N=(n=[o,t],r=function(e){return n.forEach(function(t){return kl(t,e)})},(a=(0,O.useState)(function(){return{value:null,callback:r,facade:{get current(){return a.value},set current(value){var e=a.value;e!==value&&(a.value=value,a.callback(value,e))}}}})[0]).callback=r,i=a.facade,ks(function(){var e=kc.get(i);if(e){var t=new Set(e),r=new Set(n),a=i.current;t.forEach(function(e){r.has(e)||kl(e,null)}),r.forEach(function(e){t.has(e)||kl(e,a)})}kc.set(i,n)},[n]),i),C=kr(kr({},k),s);return O.createElement(O.Fragment,null,h&&O.createElement(g,{sideCar:kd,removeScrollBar:m,shards:p,noRelative:x,noIsolation:v,inert:b,setCallbacks:c,allowPinchZoom:!!y,lockRef:o,gapMode:j}),d?O.cloneElement(O.Children.only(u),kr(kr({},C),{ref:N})):O.createElement(void 0===w?"div":w,kr({},C,{className:f,ref:N}),u))});kf.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},kf.classNames={fullWidth:ko,zeroRight:ki};var km=function(e){var t=e.sideCar,n=ka(e,["sideCar"]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error("Sidecar medium not found");return O.createElement(r,kr({},n))};km.isSideCarExport=!0;var kh=function(){var e=0,t=null;return{add:function(n){if(0==e&&(t=function(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=EO||("u">typeof __webpack_nonce__?__webpack_nonce__:void 0);return t&&e.setAttribute("nonce",t),e}())){var r,a;(r=t).styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n)),a=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(a)}e++},remove:function(){--e||!t||(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},kp=function(){var e=kh();return function(t,n){O.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},kg=function(){var e=kp();return function(t){return e(t.styles,t.dynamic),null}},kx={left:0,top:0,right:0,gap:0},kv=function(e){return parseInt(e||"",10)||0},kb=function(e){var t=window.getComputedStyle(document.body),n=t["padding"===e?"paddingLeft":"marginLeft"],r=t["padding"===e?"paddingTop":"marginTop"],a=t["padding"===e?"paddingRight":"marginRight"];return[kv(n),kv(r),kv(a)]},ky=function(e){if(void 0===e&&(e="margin"),"u"<typeof window)return kx;var t=kb(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},kw=kg(),kj="data-scroll-locked",kk=function(e,t,n,r){var a=e.left,i=e.top,o=e.right,l=e.gap;return void 0===n&&(n="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(r,";\n padding-right: ").concat(l,"px ").concat(r,";\n }\n body[").concat(kj,"] {\n overflow: hidden ").concat(r,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(r,";"),"margin"===n&&"\n padding-left: ".concat(a,"px;\n padding-top: ").concat(i,"px;\n padding-right: ").concat(o,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(l,"px ").concat(r,";\n "),"padding"===n&&"padding-right: ".concat(l,"px ").concat(r,";")].filter(Boolean).join(""),"\n }\n \n .").concat(ki," {\n right: ").concat(l,"px ").concat(r,";\n }\n \n .").concat(ko," {\n margin-right: ").concat(l,"px ").concat(r,";\n }\n \n .").concat(ki," .").concat(ki," {\n right: 0 ").concat(r,";\n }\n \n .").concat(ko," .").concat(ko," {\n margin-right: 0 ").concat(r,";\n }\n \n body[").concat(kj,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(l,"px;\n }\n")},kN=function(){var e=parseInt(document.body.getAttribute(kj)||"0",10);return isFinite(e)?e:0},kC=function(){O.useEffect(function(){return document.body.setAttribute(kj,(kN()+1).toString()),function(){var e=kN()-1;e<=0?document.body.removeAttribute(kj):document.body.setAttribute(kj,e.toString())}},[])},kS=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,a=void 0===r?"margin":r;kC();var i=O.useMemo(function(){return ky(a)},[a]);return O.createElement(kw,{styles:kk(i,!t,a,n?"":"!important")})},kM=!1;if("u">typeof window)try{var kE=Object.defineProperty({},"passive",{get:function(){return kM=!0,!0}});window.addEventListener("test",kE,kE),window.removeEventListener("test",kE,kE)}catch(e){kM=!1}var kI=!!kM&&{passive:!1},kP=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return"hidden"!==n[t]&&(n.overflowY!==n.overflowX||"TEXTAREA"===e.tagName||"visible"!==n[t])},kO=function(e,t){var n=t.ownerDocument,r=t;do{if("u">typeof ShadowRoot&&r instanceof ShadowRoot&&(r=r.host),kz(e,r)){var a=kA(e,r);if(a[1]>a[2])return!0}r=r.parentNode}while(r&&r!==n.body)return!1},kz=function(e,t){return"v"===e?kP(t,"overflowY"):kP(t,"overflowX")},kA=function(e,t){return"v"===e?[t.scrollTop,t.scrollHeight,t.clientHeight]:[t.scrollLeft,t.scrollWidth,t.clientWidth]},kT=function(e,t,n,r,a){var i,o=(i=window.getComputedStyle(t).direction,"h"===e&&"rtl"===i?-1:1),l=o*r,s=n.target,c=t.contains(s),d=!1,u=l>0,f=0,m=0;do{if(!s)break;var h=kA(e,s),p=h[0],g=h[1]-h[2]-o*p;(p||g)&&kz(e,s)&&(f+=g,m+=p);var x=s.parentNode;s=x&&x.nodeType===Node.DOCUMENT_FRAGMENT_NODE?x.host:x}while(!c&&s!==document.body||c&&(t.contains(s)||t===s))return u&&(a&&1>Math.abs(f)||!a&&l>f)?d=!0:!u&&(a&&1>Math.abs(m)||!a&&-l>m)&&(d=!0),d},kR=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},k_=function(e){return[e.deltaX,e.deltaY]},kD=function(e){return e&&"current"in e?e.current:e},kL=0,k$=[];let kF=(M8=function(e){var t=O.useRef([]),n=O.useRef([0,0]),r=O.useRef(),a=O.useState(kL++)[0],i=O.useState(kg)[0],o=O.useRef(e);O.useEffect(function(){o.current=e},[e]),O.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var t=(function(e,t,n){if(n||2==arguments.length)for(var r,a=0,i=t.length;a<i;a++)!r&&a in t||(r||(r=Array.prototype.slice.call(t,0,a)),r[a]=t[a]);return e.concat(r||Array.prototype.slice.call(t))})([e.lockRef.current],(e.shards||[]).map(kD),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),t.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var l=O.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!o.current.allowPinchZoom;var a,i=kR(e),l=n.current,s="deltaX"in e?e.deltaX:l[0]-i[0],c="deltaY"in e?e.deltaY:l[1]-i[1],d=e.target,u=Math.abs(s)>Math.abs(c)?"h":"v";if("touches"in e&&"h"===u&&"range"===d.type)return!1;var f=window.getSelection(),m=f&&f.anchorNode;if(m&&(m===d||m.contains(d)))return!1;var h=kO(u,d);if(!h)return!0;if(h?a=u:(a="v"===u?"h":"v",h=kO(u,d)),!h)return!1;if(!r.current&&"changedTouches"in e&&(s||c)&&(r.current=a),!a)return!0;var p=r.current||a;return kT(p,t,e,"h"===p?s:c,!0)},[]),s=O.useCallback(function(e){if(k$.length&&k$[k$.length-1]===i){var n="deltaY"in e?k_(e):kR(e),r=t.current.filter(function(t){var r;return t.name===e.type&&(t.target===e.target||e.target===t.shadowParent)&&(r=t.delta,r[0]===n[0]&&r[1]===n[1])})[0];if(r&&r.should){e.cancelable&&e.preventDefault();return}if(!r){var a=(o.current.shards||[]).map(kD).filter(Boolean).filter(function(t){return t.contains(e.target)});(a.length>0?l(e,a[0]):!o.current.noIsolation)&&e.cancelable&&e.preventDefault()}}},[]),c=O.useCallback(function(e,n,r,a){var i={name:e,delta:n,target:r,should:a,shadowParent:function(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}(r)};t.current.push(i),setTimeout(function(){t.current=t.current.filter(function(e){return e!==i})},1)},[]),d=O.useCallback(function(e){n.current=kR(e),r.current=void 0},[]),u=O.useCallback(function(t){c(t.type,k_(t),t.target,l(t,e.lockRef.current))},[]),f=O.useCallback(function(t){c(t.type,kR(t),t.target,l(t,e.lockRef.current))},[]);O.useEffect(function(){return k$.push(i),e.setCallbacks({onScrollCapture:u,onWheelCapture:u,onTouchMoveCapture:f}),document.addEventListener("wheel",s,kI),document.addEventListener("touchmove",s,kI),document.addEventListener("touchstart",d,kI),function(){k$=k$.filter(function(e){return e!==i}),document.removeEventListener("wheel",s,kI),document.removeEventListener("touchmove",s,kI),document.removeEventListener("touchstart",d,kI)}},[]);var m=e.removeScrollBar,h=e.inert;return O.createElement(O.Fragment,null,h?O.createElement(i,{styles:"\n .block-interactivity-".concat(a," {pointer-events: none;}\n .allow-interactivity-").concat(a," {pointer-events: all;}\n")}):null,m?O.createElement(kS,{noRelative:e.noRelative,gapMode:e.gapMode}):null)},kd.useMedium(M8),km);var kB=O.forwardRef(function(e,t){return O.createElement(kf,kr({},e,{ref:t,sideCar:kF}))});kB.classNames=kf.classNames;var kV="Popover",[kH,kU]=wt(kV,[j$]),kq=j$(),[kW,kK]=kH(kV),kG=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:a,onOpenChange:i,modal:o=!1}=e,l=kq(t),s=O.useRef(null),[c,d]=O.useState(!1),[u,f]=j4({prop:r,defaultProp:a??!1,onChange:i,caller:kV});return(0,I.jsx)(jV,{...l,children:(0,I.jsx)(kW,{scope:t,contentId:wE(),triggerRef:s,open:u,onOpenChange:f,onOpenToggle:O.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:c,onCustomAnchorAdd:O.useCallback(()=>d(!0),[]),onCustomAnchorRemove:O.useCallback(()=>d(!1),[]),modal:o,children:n})})};kG.displayName=kV;var kX="PopoverAnchor",kY=O.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,a=kK(kX,n),i=kq(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:l}=a;return O.useEffect(()=>(o(),()=>l()),[o,l]),(0,I.jsx)(jU,{...i,...r,ref:t})});kY.displayName=kX;var kZ="PopoverTrigger",kJ=O.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,a=kK(kZ,n),i=kq(n),o=(0,we.useComposedRefs)(t,a.triggerRef),l=(0,I.jsx)(wi.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":Ne(a.open),...r,ref:o,onClick:y9(e.onClick,a.onOpenToggle)});return a.hasCustomAnchor?l:(0,I.jsx)(jU,{asChild:!0,...i,children:l})});kJ.displayName=kZ;var kQ="PopoverPortal",[k0,k1]=kH(kQ,{forceMount:void 0}),k2=e=>{let{__scopePopover:t,forceMount:n,children:r,container:a}=e,i=kK(kQ,t);return(0,I.jsx)(k0,{scope:t,forceMount:n,children:(0,I.jsx)(j2,{present:n||i.open,children:(0,I.jsx)(j1,{asChild:!0,container:a,children:r})})})};k2.displayName=kQ;var k5="PopoverContent",k3=O.forwardRef((e,t)=>{let n=k1(k5,e.__scopePopover),{forceMount:r=n.forceMount,...a}=e,i=kK(k5,e.__scopePopover);return(0,I.jsx)(j2,{present:r||i.open,children:i.modal?(0,I.jsx)(k6,{...a,ref:t}):(0,I.jsx)(k8,{...a,ref:t})})});k3.displayName=k5;var k4=wn("PopoverContent.RemoveScroll"),k6=O.forwardRef((e,t)=>{let n=kK(k5,e.__scopePopover),r=O.useRef(null),a=(0,we.useComposedRefs)(t,r),i=O.useRef(!1);return O.useEffect(()=>{let e=r.current;if(e)return kn(e)},[]),(0,I.jsx)(kB,{as:k4,allowPinchZoom:!0,children:(0,I.jsx)(k7,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:y9(e.onCloseAutoFocus,e=>{e.preventDefault(),i.current||n.triggerRef.current?.focus()}),onPointerDownOutside:y9(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey;i.current=2===t.button||n},{checkForDefaultPrevented:!1}),onFocusOutside:y9(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),k8=O.forwardRef((e,t)=>{let n=kK(k5,e.__scopePopover),r=O.useRef(!1),a=O.useRef(!1);return(0,I.jsx)(k7,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,"pointerdown"===t.detail.originalEvent.type&&(a.current=!0));let i=t.target;n.triggerRef.current?.contains(i)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&a.current&&t.preventDefault()}})}),k7=O.forwardRef((e,t)=>{let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:i,disableOutsidePointerEvents:o,onEscapeKeyDown:l,onPointerDownOutside:s,onFocusOutside:c,onInteractOutside:d,...u}=e,f=kK(k5,n),m=kq(n);return wh(),(0,I.jsx)(wb,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:i,children:(0,I.jsx)(wd,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:d,onEscapeKeyDown:l,onPointerDownOutside:s,onFocusOutside:c,onDismiss:()=>f.onOpenChange(!1),children:(0,I.jsx)(jG,{"data-state":Ne(f.open),role:"dialog",id:f.contentId,...m,...u,ref:t,style:{...u.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),k9="PopoverClose";function Ne(e){return e?"open":"closed"}function Nt({className:e,align:t="center",sideOffset:n=6,...r}){return(0,I.jsx)(k2,{children:(0,I.jsx)(k3,{"data-slot":"popover-content",align:t,sideOffset:n,className:(0,V.cn)("vtl-surface-popover z-50 flex w-72 flex-col gap-2.5 rounded-[var(--surface-popover-radius)] border p-2.5 text-sm outline-none animate-in fade-in-0 zoom-in-95 duration-150 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r})})}function Nn(e){if(e)return"string"==typeof e.label||"number"==typeof e.label?String(e.label):e.id}function Nr(e){let t=Number.isFinite(e)?Math.max(0,e):0;return t>=1e6?`${(t/1e6).toFixed(t>=1e7?0:1)}m`:t>=1e3?`${Math.round(t/1e3)}k`:t.toLocaleString()}function Na({usage:e,labels:t}){let[n,r]=O.useState(!1),a=Math.max(0,e.used),i=Math.max(0,e.total),o=i>0?Math.min(100,Math.round(a/i*100)):0,l=Math.max(0,e.toolCalls),s=Math.max(0,e.userMessages),c=Math.max(0,e.other??Math.max(0,a-l-s)),d=[{name:"toolCalls",value:l,fill:"var(--color-toolCalls)"},{name:"userMessages",value:s,fill:"var(--color-userMessages)"},{name:"other",value:c,fill:"var(--color-other)"},{name:"unused",value:Math.max(0,i-a),fill:"var(--muted)"}].filter(e=>e.value>0),u=t.contextTokenSummary.replace("{used}",Nr(a)).replace("{total}",Nr(i)),f={toolCalls:{label:t.toolCalls,color:"var(--chart-1)"},userMessages:{label:t.userMessages,color:"var(--chart-3)"},other:{label:t.otherContext,color:"var(--chart-5)"}};return(0,I.jsxs)(kG,{children:[(0,I.jsx)(kJ,{asChild:!0,children:(0,I.jsx)(B.Button,{type:"button",variant:"ghost",size:"icon-xs",className:"text-muted-foreground","aria-label":`${t.contextUsage}: ${o}% ${t.contextUsed}`,title:`${t.contextUsage}: ${o}% ${t.contextUsed}`,children:(0,I.jsx)("span",{"aria-hidden":"true",className:"grid size-4 place-items-center rounded-full",style:{background:`conic-gradient(var(--foreground) ${3.6*o}deg, var(--border) 0deg)`},children:(0,I.jsx)("span",{className:"size-3 rounded-full bg-background dark:bg-popover"})})})}),(0,I.jsxs)(Nt,{side:"top",align:"center",sideOffset:8,className:"w-44 gap-2 p-3",children:[(0,I.jsxs)("div",{className:"grid gap-0.5 text-center",children:[(0,I.jsx)("div",{className:"text-sm font-medium text-muted-foreground",children:e.label??t.contextUsage}),(0,I.jsxs)("div",{className:"text-sm text-muted-foreground",children:[o,"% ",t.contextUsed]}),(0,I.jsx)("div",{className:"text-sm font-medium",children:u})]}),(0,I.jsx)("div",{className:"grid justify-center",children:e.onExpand?(0,I.jsx)("button",{type:"button",onClick:e.onExpand,className:"rounded-full outline-none ring-offset-background transition hover:opacity-80 focus-visible:ring-2 focus-visible:ring-ring",title:"展开上下文明细","aria-label":"展开上下文明细",children:(0,I.jsx)(y4,{config:f,className:"h-20 w-20",initialDimension:{width:80,height:80},onMouseMove:()=>r(!0),onMouseLeave:()=>r(!1),children:(0,I.jsxs)(yr,{children:[(0,I.jsx)(y$,{active:n,content:(0,I.jsx)(y8,{hideLabel:!0})}),(0,I.jsx)(xj,{data:d.length>0?d:[{name:"other",value:1,fill:"var(--muted)"}],dataKey:"value",nameKey:"name",innerRadius:25,outerRadius:35,isAnimationActive:!1,strokeWidth:0})]})})}):(0,I.jsx)(y4,{config:f,className:"h-20 w-20",initialDimension:{width:80,height:80},onMouseMove:()=>r(!0),onMouseLeave:()=>r(!1),children:(0,I.jsxs)(yr,{children:[(0,I.jsx)(y$,{active:n,content:(0,I.jsx)(y8,{hideLabel:!0})}),(0,I.jsx)(xj,{data:d.length>0?d:[{name:"other",value:1,fill:"var(--muted)"}],dataKey:"value",nameKey:"name",innerRadius:25,outerRadius:35,isAnimationActive:!1,strokeWidth:0})]})})}),e.onExpand?(0,I.jsx)(B.Button,{type:"button",variant:"outline",size:"sm",className:"w-full text-xs",onClick:e.onExpand,children:"展开详情"}):null,e.onCompressPrecise||e.onCompressExtreme?(0,I.jsxs)("div",{className:"flex w-full overflow-hidden rounded-md border",children:[(0,I.jsx)(B.Button,{type:"button",variant:"ghost",size:"sm",className:"flex-1 rounded-none border-r text-xs font-medium",onClick:e.onCompressPrecise,disabled:e.compressing||!e.onCompressPrecise,children:e.compressing?"…":t.compressPrecise??"精确"}),(0,I.jsx)(B.Button,{type:"button",variant:"ghost",size:"sm",className:"flex-1 rounded-none text-xs font-medium",onClick:e.onCompressExtreme,disabled:e.compressing||!e.onCompressExtreme,children:e.compressing?"…":t.compressExtreme??"极致"})]}):(0,I.jsx)(B.Button,{type:"button",variant:"outline",size:"sm",className:"w-full",onClick:e.onCompress,disabled:!e.onCompress,children:t.compressContext})]})]})}O.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,a=kK(k9,n);return(0,I.jsx)(wi.button,{type:"button",...r,ref:t,onClick:y9(e.onClick,()=>a.onOpenChange(!1))})}).displayName=k9,O.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,a=kq(n);return(0,I.jsx)(jZ,{...a,...r,ref:t})}).displayName="PopoverArrow";let Ni=(0,A.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]),No=(0,A.default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),Nl=(0,A.default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),Ns=(0,A.default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),Nc={placeholder:"Ask the agent to inspect, change, or explain this workspace...",mode:"Mode",model:"Model",attach:"Attach context",removeChip:"Remove context",removeAttachment:"Remove attachment",queuedMessage:"Queued message",guideQueuedMessage:"Guide",removeQueuedMessage:"Remove queued message",moreQueuedMessageActions:"More queued message actions",contextUsage:"Context usage",contextUsed:"used",contextTokenSummary:"used {used} / {total}",toolCalls:"Tool calls",userMessages:"User messages",otherContext:"Other context",compressContext:"Compress context",compressPrecise:"Precise",compressExtreme:"Extreme",send:"Run",stop:"Stop"},Nd=[{id:"agent",label:"Agent",description:"Use tools and make changes.",icon:(0,I.jsx)(Nl,{className:"fill-current"})},{id:"planner",label:"Planner",description:"Plan before changing files.",icon:(0,I.jsx)(eV,{})},{id:"reviewer",label:"Reviewer",description:"Inspect risks and regressions.",icon:(0,I.jsx)(Ni,{})}],Nu=[{id:"acceptEdits",label:"Accept edits",description:"Auto-approve edits, ask for risky commands.",icon:(0,I.jsx)(No,{})},{id:"ask",label:"Ask permissions",description:"Ask before any tool action.",icon:(0,I.jsx)(eB,{})},{id:"auto",label:"Auto mode",description:"Auto-approve all except dangerous.",icon:(0,I.jsx)(Ns,{})}],Nf=[{id:"gpt-5.5",label:"GPT-5.5",description:"Highest quality coding agent."},{id:"gpt-5.4",label:"GPT-5.4",description:"Balanced everyday work."},{id:"gpt-5.4-mini",label:"GPT-5.4 Mini",description:"Fast lightweight passes."}];function Nm(e){let t=e+"CollectionProvider",[n,r]=wt(t),[a,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:t,children:n}=e,r=O.default.useRef(null),i=O.default.useRef(new Map).current;return(0,I.jsx)(a,{scope:t,itemMap:i,collectionRef:r,children:n})};o.displayName=t;let l=e+"CollectionSlot",s=wn(l),c=O.default.forwardRef((e,t)=>{let{scope:n,children:r}=e,a=i(l,n),o=(0,we.useComposedRefs)(t,a.collectionRef);return(0,I.jsx)(s,{ref:o,children:r})});c.displayName=l;let d=e+"CollectionItemSlot",u="data-radix-collection-item",f=wn(d),m=O.default.forwardRef((e,t)=>{let{scope:n,children:r,...a}=e,o=O.default.useRef(null),l=(0,we.useComposedRefs)(t,o),s=i(d,n);return O.default.useEffect(()=>(s.itemMap.set(o,{ref:o,...a}),()=>void s.itemMap.delete(o))),(0,I.jsx)(f,{...{[u]:""},ref:l,children:r})});return m.displayName=d,[{Provider:o,Slot:c,ItemSlot:m},function(t){let n=i(e+"CollectionConsumer",t);return O.default.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${u}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])},r]}var Nh=new WeakMap;function Np(e,t){var n,r;let a,i,o;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let l=(n=e,r=t,a=n.length,(o=(i=Ng(r))>=0?i:a+i)<0||o>=a?-1:o);return -1===l?void 0:e[l]}function Ng(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],Nh.set(this,!0)}set(e,t){return Nh.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,n){let r,a=this.has(t),i=this.#e.length,o=Ng(e),l=o>=0?o:i+o,s=l<0||l>=i?-1:l;if(s===this.size||a&&s===this.size-1||-1===s)return this.set(t,n),this;let c=this.size+ +!a;o<0&&l++;let d=[...this.#e],u=!1;for(let e=l;e<c;e++)if(l===e){let i=d[e];d[e]===t&&(i=d[e+1]),a&&this.delete(t),r=this.get(i),this.set(t,n)}else{u||d[e-1]!==t||(u=!0);let n=d[u?e:e-1],a=r;r=this.get(n),this.delete(n),this.set(n,a)}return this}with(t,n,r){let a=new e(this);return a.insert(t,n,r),a}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,n){let r=this.#e.indexOf(e);return -1===r?this:this.insert(r,t,n)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,n){let r=this.#e.indexOf(e);return -1===r?this:this.insert(r+1,t,n)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=Np(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=Np(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return Np(this.#e,e)}from(e,t){let n=this.indexOf(e);if(-1===n)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.at(r)}keyFrom(e,t){let n=this.indexOf(e);if(-1===n)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.keyAt(r)}find(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return r;n++}}findIndex(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return n;n++}return -1}filter(t,n){let r=[],a=0;for(let e of this)Reflect.apply(t,n,[e,a,this])&&r.push(e),a++;return new e(r)}map(t,n){let r=[],a=0;for(let e of this)r.push([e[0],Reflect.apply(t,n,[e,a,this])]),a++;return new e(r)}reduce(...e){let[t,n]=e,r=0,a=n??this.at(0);for(let n of this)a=0===r&&1===e.length?n:Reflect.apply(t,this,[a,n,r,this]),r++;return a}reduceRight(...e){let[t,n]=e,r=n??this.at(-1);for(let n=this.size-1;n>=0;n--){let a=this.at(n);r=n===this.size-1&&1===e.length?a:Reflect.apply(t,this,[r,a,n,this])}return r}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let n=this.keyAt(e),r=this.get(n);t.set(n,r)}return t}toSpliced(...t){let n=[...this.entries()];return n.splice(...t),new e(n)}slice(t,n){let r=new e,a=this.size-1;if(void 0===t)return r;t<0&&(t+=this.size),void 0!==n&&n>0&&(a=n-1);for(let e=t;e<=a;e++){let t=this.keyAt(e),n=this.get(t);r.set(t,n)}return r}every(e,t){let n=0;for(let r of this){if(!Reflect.apply(e,t,[r,n,this]))return!1;n++}return!0}some(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return!0;n++}return!1}});var Nx=O.createContext(void 0);function Nv(e){let t=O.useContext(Nx);return e||t||"ltr"}var Nb="rovingFocusGroup.onEntryFocus",Ny={bubbles:!1,cancelable:!0},Nw="RovingFocusGroup",[Nj,Nk,NN]=Nm(Nw),[NC,NS]=wt(Nw,[NN]),[NM,NE]=NC(Nw),NI=O.forwardRef((e,t)=>(0,I.jsx)(Nj.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,I.jsx)(Nj.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,I.jsx)(NP,{...e,ref:t})})}));NI.displayName=Nw;var NP=O.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:a=!1,dir:i,currentTabStopId:o,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:s,onEntryFocus:c,preventScrollOnEntryFocus:d=!1,...u}=e,f=O.useRef(null),m=(0,we.useComposedRefs)(t,f),h=Nv(i),[p,g]=j4({prop:o,defaultProp:l??null,onChange:s,caller:Nw}),[x,v]=O.useState(!1),b=wl(c),y=Nk(n),w=O.useRef(!1),[j,k]=O.useState(0);return O.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(Nb,b),()=>e.removeEventListener(Nb,b)},[b]),(0,I.jsx)(NM,{scope:n,orientation:r,dir:h,loop:a,currentTabStopId:p,onItemFocus:O.useCallback(e=>g(e),[g]),onItemShiftTab:O.useCallback(()=>v(!0),[]),onFocusableItemAdd:O.useCallback(()=>k(e=>e+1),[]),onFocusableItemRemove:O.useCallback(()=>k(e=>e-1),[]),children:(0,I.jsx)(wi.div,{tabIndex:x||0===j?-1:0,"data-orientation":r,...u,ref:m,style:{outline:"none",...e.style},onMouseDown:y9(e.onMouseDown,()=>{w.current=!0}),onFocus:y9(e.onFocus,e=>{let t=!w.current;if(e.target===e.currentTarget&&t&&!x){let t=new CustomEvent(Nb,Ny);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=y().filter(e=>e.focusable);NT([e.find(e=>e.active),e.find(e=>e.id===p),...e].filter(Boolean).map(e=>e.ref.current),d)}}w.current=!1}),onBlur:y9(e.onBlur,()=>v(!1))})})}),NO="RovingFocusGroupItem",Nz=O.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:a=!1,tabStopId:i,children:o,...l}=e,s=wE(),c=i||s,d=NE(NO,n),u=d.currentTabStopId===c,f=Nk(n),{onFocusableItemAdd:m,onFocusableItemRemove:h,currentTabStopId:p}=d;return O.useEffect(()=>{if(r)return m(),()=>h()},[r,m,h]),(0,I.jsx)(Nj.ItemSlot,{scope:n,id:c,focusable:r,active:a,children:(0,I.jsx)(wi.span,{tabIndex:u?0:-1,"data-orientation":d.orientation,...l,ref:t,onMouseDown:y9(e.onMouseDown,e=>{r?d.onItemFocus(c):e.preventDefault()}),onFocus:y9(e.onFocus,()=>d.onItemFocus(c)),onKeyDown:y9(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void d.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,n){var r;let a=(r=e.key,"rtl"!==n?r:"ArrowLeft"===r?"ArrowRight":"ArrowRight"===r?"ArrowLeft":r);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(a))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(a)))return NA[a]}(e,d.orientation,d.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let a=f().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)a.reverse();else if("prev"===t||"next"===t){var n,r;"prev"===t&&a.reverse();let i=a.indexOf(e.currentTarget);a=d.loop?(n=a,r=i+1,n.map((e,t)=>n[(r+t)%n.length])):a.slice(i+1)}setTimeout(()=>NT(a))}}),children:"function"==typeof o?o({isCurrentTabStop:u,hasTabStop:null!=p}):o})})});Nz.displayName=NO;var NA={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function NT(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}var NR=["Enter"," "],N_=["ArrowUp","PageDown","End"],ND=["ArrowDown","PageUp","Home",...N_],NL={ltr:[...NR,"ArrowRight"],rtl:[...NR,"ArrowLeft"]},N$={ltr:["ArrowLeft"],rtl:["ArrowRight"]},NF="Menu",[NB,NV,NH]=Nm(NF),[NU,Nq]=wt(NF,[NH,j$,NS]),NW=j$(),NK=NS(),[NG,NX]=NU(NF),[NY,NZ]=NU(NF),NJ=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:a,onOpenChange:i,modal:o=!0}=e,l=NW(t),[s,c]=O.useState(null),d=O.useRef(!1),u=wl(i),f=Nv(a);return O.useEffect(()=>{let e=()=>{d.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>d.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),(0,I.jsx)(jV,{...l,children:(0,I.jsx)(NG,{scope:t,open:n,onOpenChange:u,content:s,onContentChange:c,children:(0,I.jsx)(NY,{scope:t,onClose:O.useCallback(()=>u(!1),[u]),isUsingKeyboardRef:d,dir:f,modal:o,children:r})})})};NJ.displayName=NF;var NQ=O.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,a=NW(n);return(0,I.jsx)(jU,{...a,...r,ref:t})});NQ.displayName="MenuAnchor";var N0="MenuPortal",[N1,N2]=NU(N0,{forceMount:void 0}),N5=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:a}=e,i=NX(N0,t);return(0,I.jsx)(N1,{scope:t,forceMount:n,children:(0,I.jsx)(j2,{present:n||i.open,children:(0,I.jsx)(j1,{asChild:!0,container:a,children:r})})})};N5.displayName=N0;var N3="MenuContent",[N4,N6]=NU(N3),N8=O.forwardRef((e,t)=>{let n=N2(N3,e.__scopeMenu),{forceMount:r=n.forceMount,...a}=e,i=NX(N3,e.__scopeMenu),o=NZ(N3,e.__scopeMenu);return(0,I.jsx)(NB.Provider,{scope:e.__scopeMenu,children:(0,I.jsx)(j2,{present:r||i.open,children:(0,I.jsx)(NB.Slot,{scope:e.__scopeMenu,children:o.modal?(0,I.jsx)(N7,{...a,ref:t}):(0,I.jsx)(N9,{...a,ref:t})})})})}),N7=O.forwardRef((e,t)=>{let n=NX(N3,e.__scopeMenu),r=O.useRef(null),a=(0,we.useComposedRefs)(t,r);return O.useEffect(()=>{let e=r.current;if(e)return kn(e)},[]),(0,I.jsx)(Ct,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:y9(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),N9=O.forwardRef((e,t)=>{let n=NX(N3,e.__scopeMenu);return(0,I.jsx)(Ct,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),Ce=wn("MenuContent.ScrollLock"),Ct=O.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:a,onOpenAutoFocus:i,onCloseAutoFocus:o,disableOutsidePointerEvents:l,onEntryFocus:s,onEscapeKeyDown:c,onPointerDownOutside:d,onFocusOutside:u,onInteractOutside:f,onDismiss:m,disableOutsideScroll:h,...p}=e,g=NX(N3,n),x=NZ(N3,n),v=NW(n),b=NK(n),y=NV(n),[w,j]=O.useState(null),k=O.useRef(null),N=(0,we.useComposedRefs)(t,k,g.onContentChange),C=O.useRef(0),S=O.useRef(""),M=O.useRef(0),E=O.useRef(null),P=O.useRef("right"),z=O.useRef(0),A=h?kB:O.Fragment;O.useEffect(()=>()=>window.clearTimeout(C.current),[]),wh();let T=O.useCallback(e=>{var t,n;return P.current===E.current?.side&&(t=e,!!(n=E.current?.area)&&function(e,t){let{x:n,y:r}=e,a=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let o=t[e],l=t[i],s=o.x,c=o.y,d=l.x,u=l.y;c>r!=u>r&&n<(d-s)*(r-c)/(u-c)+s&&(a=!a)}return a}({x:t.clientX,y:t.clientY},n))},[]);return(0,I.jsx)(N4,{scope:n,searchRef:S,onItemEnter:O.useCallback(e=>{T(e)&&e.preventDefault()},[T]),onItemLeave:O.useCallback(e=>{T(e)||(k.current?.focus(),j(null))},[T]),onTriggerLeave:O.useCallback(e=>{T(e)&&e.preventDefault()},[T]),pointerGraceTimerRef:M,onPointerGraceIntentChange:O.useCallback(e=>{E.current=e},[]),children:(0,I.jsx)(A,{...h?{as:Ce,allowPinchZoom:!0}:void 0,children:(0,I.jsx)(wb,{asChild:!0,trapped:a,onMountAutoFocus:y9(i,e=>{e.preventDefault(),k.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,I.jsx)(wd,{asChild:!0,disableOutsidePointerEvents:l,onEscapeKeyDown:c,onPointerDownOutside:d,onFocusOutside:u,onInteractOutside:f,onDismiss:m,children:(0,I.jsx)(NI,{asChild:!0,...b,dir:x.dir,orientation:"vertical",loop:r,currentTabStopId:w,onCurrentTabStopIdChange:j,onEntryFocus:y9(s,e=>{x.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,I.jsx)(jG,{role:"menu","aria-orientation":"vertical","data-state":CI(g.open),"data-radix-menu-content":"",dir:x.dir,...v,...p,ref:N,style:{outline:"none",...p.style},onKeyDown:y9(p.onKeyDown,e=>{let t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=1===e.key.length;if(t){var a;let t,i,o,l,s,c;"Tab"===e.key&&e.preventDefault(),!n&&r&&(a=e.key,t=S.current+a,i=y().filter(e=>!e.disabled),o=document.activeElement,l=i.find(e=>e.ref.current===o)?.textValue,s=function(e,t,n){var r;let a=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,o=(r=Math.max(i,0),e.map((t,n)=>e[(r+n)%e.length]));1===a.length&&(o=o.filter(e=>e!==n));let l=o.find(e=>e.toLowerCase().startsWith(a.toLowerCase()));return l!==n?l:void 0}(i.map(e=>e.textValue),t,l),c=i.find(e=>e.textValue===s)?.ref.current,function e(t){S.current=t,window.clearTimeout(C.current),""!==t&&(C.current=window.setTimeout(()=>e(""),1e3))}(t),c&&setTimeout(()=>c.focus()))}let i=k.current;if(e.target!==i||!ND.includes(e.key))return;e.preventDefault();let o=y().filter(e=>!e.disabled).map(e=>e.ref.current);N_.includes(e.key)&&o.reverse(),function(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}(o)}),onBlur:y9(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(C.current),S.current="")}),onPointerMove:y9(e.onPointerMove,Cz(e=>{let t=e.target,n=z.current!==e.clientX;e.currentTarget.contains(t)&&n&&(P.current=e.clientX>z.current?"right":"left",z.current=e.clientX)}))})})})})})})});N8.displayName=N3;var Cn=O.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,I.jsx)(wi.div,{role:"group",...r,ref:t})});Cn.displayName="MenuGroup";var Cr=O.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,I.jsx)(wi.div,{...r,ref:t})});Cr.displayName="MenuLabel";var Ca="MenuItem",Ci="menu.itemSelect",Co=O.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...a}=e,i=O.useRef(null),o=NZ(Ca,e.__scopeMenu),l=N6(Ca,e.__scopeMenu),s=(0,we.useComposedRefs)(t,i),c=O.useRef(!1);return(0,I.jsx)(Cl,{...a,ref:s,disabled:n,onClick:y9(e.onClick,()=>{let e=i.current;if(!n&&e){let t=new CustomEvent(Ci,{bubbles:!0,cancelable:!0});e.addEventListener(Ci,e=>r?.(e),{once:!0}),wo(e,t),t.defaultPrevented?c.current=!1:o.onClose()}}),onPointerDown:t=>{e.onPointerDown?.(t),c.current=!0},onPointerUp:y9(e.onPointerUp,e=>{c.current||e.currentTarget?.click()}),onKeyDown:y9(e.onKeyDown,e=>{let t=""!==l.searchRef.current;n||t&&" "===e.key||NR.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});Co.displayName=Ca;var Cl=O.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:a,...i}=e,o=N6(Ca,n),l=NK(n),s=O.useRef(null),c=(0,we.useComposedRefs)(t,s),[d,u]=O.useState(!1),[f,m]=O.useState("");return O.useEffect(()=>{let e=s.current;e&&m((e.textContent??"").trim())},[i.children]),(0,I.jsx)(NB.ItemSlot,{scope:n,disabled:r,textValue:a??f,children:(0,I.jsx)(Nz,{asChild:!0,...l,focusable:!r,children:(0,I.jsx)(wi.div,{role:"menuitem","data-highlighted":d?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...i,ref:c,onPointerMove:y9(e.onPointerMove,Cz(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:y9(e.onPointerLeave,Cz(e=>o.onItemLeave(e))),onFocus:y9(e.onFocus,()=>u(!0)),onBlur:y9(e.onBlur,()=>u(!1))})})})}),Cs=O.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...a}=e;return(0,I.jsx)(Cg,{scope:e.__scopeMenu,checked:n,children:(0,I.jsx)(Co,{role:"menuitemcheckbox","aria-checked":CP(n)?"mixed":n,...a,ref:t,"data-state":CO(n),onSelect:y9(a.onSelect,()=>r?.(!!CP(n)||!n),{checkForDefaultPrevented:!1})})})});Cs.displayName="MenuCheckboxItem";var Cc="MenuRadioGroup",[Cd,Cu]=NU(Cc,{value:void 0,onValueChange:()=>{}}),Cf=O.forwardRef((e,t)=>{let{value:n,onValueChange:r,...a}=e,i=wl(r);return(0,I.jsx)(Cd,{scope:e.__scopeMenu,value:n,onValueChange:i,children:(0,I.jsx)(Cn,{...a,ref:t})})});Cf.displayName=Cc;var Cm="MenuRadioItem",Ch=O.forwardRef((e,t)=>{let{value:n,...r}=e,a=Cu(Cm,e.__scopeMenu),i=n===a.value;return(0,I.jsx)(Cg,{scope:e.__scopeMenu,checked:i,children:(0,I.jsx)(Co,{role:"menuitemradio","aria-checked":i,...r,ref:t,"data-state":CO(i),onSelect:y9(r.onSelect,()=>a.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});Ch.displayName=Cm;var Cp="MenuItemIndicator",[Cg,Cx]=NU(Cp,{checked:!1}),Cv=O.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...a}=e,i=Cx(Cp,n);return(0,I.jsx)(j2,{present:r||CP(i.checked)||!0===i.checked,children:(0,I.jsx)(wi.span,{...a,ref:t,"data-state":CO(i.checked)})})});Cv.displayName=Cp;var Cb=O.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,I.jsx)(wi.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});Cb.displayName="MenuSeparator";var Cy=O.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,a=NW(n);return(0,I.jsx)(jZ,{...a,...r,ref:t})});Cy.displayName="MenuArrow";var Cw="MenuSub",[Cj,Ck]=NU(Cw),CN=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:a}=e,i=NX(Cw,t),o=NW(t),[l,s]=O.useState(null),[c,d]=O.useState(null),u=wl(a);return O.useEffect(()=>(!1===i.open&&u(!1),()=>u(!1)),[i.open,u]),(0,I.jsx)(jV,{...o,children:(0,I.jsx)(NG,{scope:t,open:r,onOpenChange:u,content:c,onContentChange:d,children:(0,I.jsx)(Cj,{scope:t,contentId:wE(),triggerId:wE(),trigger:l,onTriggerChange:s,children:n})})})};CN.displayName=Cw;var CC="MenuSubTrigger",CS=O.forwardRef((e,t)=>{let n=NX(CC,e.__scopeMenu),r=NZ(CC,e.__scopeMenu),a=Ck(CC,e.__scopeMenu),i=N6(CC,e.__scopeMenu),o=O.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:s}=i,c={__scopeMenu:e.__scopeMenu},d=O.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return O.useEffect(()=>d,[d]),O.useEffect(()=>{let e=l.current;return()=>{window.clearTimeout(e),s(null)}},[l,s]),(0,I.jsx)(NQ,{asChild:!0,...c,children:(0,I.jsx)(Cl,{id:a.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":a.contentId,"data-state":CI(n.open),...e,ref:(0,we.composeRefs)(t,a.onTriggerChange),onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:y9(e.onPointerMove,Cz(t=>{i.onItemEnter(t),!t.defaultPrevented&&(e.disabled||n.open||o.current||(i.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{n.onOpenChange(!0),d()},100)))})),onPointerLeave:y9(e.onPointerLeave,Cz(e=>{d();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,a="right"===r,o=t[a?"left":"right"],s=t[a?"right":"left"];i.onPointerGraceIntentChange({area:[{x:e.clientX+(a?-5:5),y:e.clientY},{x:o,y:t.top},{x:s,y:t.top},{x:s,y:t.bottom},{x:o,y:t.bottom}],side:r}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>i.onPointerGraceIntentChange(null),300)}else{if(i.onTriggerLeave(e),e.defaultPrevented)return;i.onPointerGraceIntentChange(null)}})),onKeyDown:y9(e.onKeyDown,t=>{let a=""!==i.searchRef.current;e.disabled||a&&" "===t.key||NL[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});CS.displayName=CC;var CM="MenuSubContent",CE=O.forwardRef((e,t)=>{let n=N2(N3,e.__scopeMenu),{forceMount:r=n.forceMount,...a}=e,i=NX(N3,e.__scopeMenu),o=NZ(N3,e.__scopeMenu),l=Ck(CM,e.__scopeMenu),s=O.useRef(null),c=(0,we.useComposedRefs)(t,s);return(0,I.jsx)(NB.Provider,{scope:e.__scopeMenu,children:(0,I.jsx)(j2,{present:r||i.open,children:(0,I.jsx)(NB.Slot,{scope:e.__scopeMenu,children:(0,I.jsx)(Ct,{id:l.contentId,"aria-labelledby":l.triggerId,...a,ref:c,align:"start",side:"rtl"===o.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{o.isUsingKeyboardRef.current&&s.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:y9(e.onFocusOutside,e=>{e.target!==l.trigger&&i.onOpenChange(!1)}),onEscapeKeyDown:y9(e.onEscapeKeyDown,e=>{o.onClose(),e.preventDefault()}),onKeyDown:y9(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=N$[o.dir].includes(e.key);t&&n&&(i.onOpenChange(!1),l.trigger?.focus(),e.preventDefault())})})})})})});function CI(e){return e?"open":"closed"}function CP(e){return"indeterminate"===e}function CO(e){return CP(e)?"indeterminate":e?"checked":"unchecked"}function Cz(e){return t=>"mouse"===t.pointerType?e(t):void 0}CE.displayName=CM;var CA="DropdownMenu",[CT,CR]=wt(CA,[Nq]),C_=Nq(),[CD,CL]=CT(CA),C$=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:a,defaultOpen:i,onOpenChange:o,modal:l=!0}=e,s=C_(t),c=O.useRef(null),[d,u]=j4({prop:a,defaultProp:i??!1,onChange:o,caller:CA});return(0,I.jsx)(CD,{scope:t,triggerId:wE(),triggerRef:c,contentId:wE(),open:d,onOpenChange:u,onOpenToggle:O.useCallback(()=>u(e=>!e),[u]),modal:l,children:(0,I.jsx)(NJ,{...s,open:d,onOpenChange:u,dir:r,modal:l,children:n})})};C$.displayName=CA;var CF="DropdownMenuTrigger",CB=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...a}=e,i=CL(CF,n),o=C_(n);return(0,I.jsx)(NQ,{asChild:!0,...o,children:(0,I.jsx)(wi.button,{type:"button",id:i.triggerId,"aria-haspopup":"menu","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":i.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...a,ref:(0,we.composeRefs)(t,i.triggerRef),onPointerDown:y9(e.onPointerDown,e=>{!r&&0===e.button&&!1===e.ctrlKey&&(i.onOpenToggle(),i.open||e.preventDefault())}),onKeyDown:y9(e.onKeyDown,e=>{!r&&(["Enter"," "].includes(e.key)&&i.onOpenToggle(),"ArrowDown"===e.key&&i.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});CB.displayName=CF;var CV=e=>{let{__scopeDropdownMenu:t,...n}=e,r=C_(t);return(0,I.jsx)(N5,{...r,...n})};CV.displayName="DropdownMenuPortal";var CH="DropdownMenuContent",CU=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=CL(CH,n),i=C_(n),o=O.useRef(!1);return(0,I.jsx)(N8,{id:a.contentId,"aria-labelledby":a.triggerId,...i,...r,ref:t,onCloseAutoFocus:y9(e.onCloseAutoFocus,e=>{o.current||a.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:y9(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey,r=2===t.button||n;(!a.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});CU.displayName=CH,O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(Cn,{...a,...r,ref:t})}).displayName="DropdownMenuGroup";var Cq=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(Cr,{...a,...r,ref:t})});Cq.displayName="DropdownMenuLabel";var CW=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(Co,{...a,...r,ref:t})});CW.displayName="DropdownMenuItem",O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(Cs,{...a,...r,ref:t})}).displayName="DropdownMenuCheckboxItem";var CK=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(Cf,{...a,...r,ref:t})});CK.displayName="DropdownMenuRadioGroup";var CG=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(Ch,{...a,...r,ref:t})});CG.displayName="DropdownMenuRadioItem";var CX=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(Cv,{...a,...r,ref:t})});CX.displayName="DropdownMenuItemIndicator";var CY=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(Cb,{...a,...r,ref:t})});CY.displayName="DropdownMenuSeparator",O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(Cy,{...a,...r,ref:t})}).displayName="DropdownMenuArrow";var CZ=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(CS,{...a,...r,ref:t})});CZ.displayName="DropdownMenuSubTrigger";var CJ=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,a=C_(n);return(0,I.jsx)(CE,{...a,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});CJ.displayName="DropdownMenuSubContent";let CQ=(0,A.default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),C0=e=>{let{__scopeDropdownMenu:t,children:n,open:r,onOpenChange:a,defaultOpen:i}=e,o=C_(t),[l,s]=j4({prop:r,defaultProp:i??!1,onChange:a,caller:"DropdownMenuSub"});return(0,I.jsx)(CN,{...o,open:l,onOpenChange:s,children:n})};function C1({className:e,sideOffset:t=6,...n}){return(0,I.jsx)(CV,{children:(0,I.jsx)(CU,{"data-slot":"dropdown-menu-content",sideOffset:t,className:(0,V.cn)("vtl-surface-popover z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-44 overflow-x-hidden overflow-y-auto rounded-[var(--surface-popover-radius)] border p-1 animate-in fade-in-0 zoom-in-95 duration-150 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:duration-100",e),...n})})}function C2({className:e,inset:t,variant:n="default",...r}){return(0,I.jsx)(CW,{"data-slot":"dropdown-menu-item","data-inset":t,"data-variant":n,className:(0,V.cn)("relative flex cursor-default items-center gap-2 rounded-md px-2 py-1.5 text-sm outline-none select-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset=true]:pl-8 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0","destructive"===n&&"text-destructive focus:bg-destructive/10 focus:text-destructive",e),...r})}function C5({className:e,children:t,...n}){return(0,I.jsxs)(CG,{"data-slot":"dropdown-menu-radio-item",className:(0,V.cn)("relative flex cursor-default items-center gap-2 rounded-md py-1.5 pr-2 pl-8 text-sm outline-none select-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...n,children:[(0,I.jsx)("span",{className:"absolute left-2 flex size-3.5 items-center justify-center",children:(0,I.jsx)(CX,{children:(0,I.jsx)(Nl,{className:"size-2 fill-current"})})}),t]})}function C3({className:e,inset:t,...n}){return(0,I.jsx)(Cq,{"data-slot":"dropdown-menu-label","data-inset":t,className:(0,V.cn)("px-2 py-1.5 text-xs font-medium text-muted-foreground data-[inset=true]:pl-8",e),...n})}function C4({className:e,...t}){return(0,I.jsx)(CY,{"data-slot":"dropdown-menu-separator",className:(0,V.cn)("-mx-1 my-1 h-px bg-border",e),...t})}function C6({className:e,...t}){return(0,I.jsx)("span",{"data-slot":"dropdown-menu-shortcut",className:(0,V.cn)("ml-auto text-xs text-muted-foreground",e),...t})}function C8({className:e,inset:t,children:n,...r}){return(0,I.jsxs)(CZ,{"data-slot":"dropdown-menu-sub-trigger","data-inset":t,className:(0,V.cn)("flex cursor-default items-center gap-2 rounded-md px-2 py-1.5 text-sm outline-none select-none focus:bg-accent data-[state=open]:bg-accent data-[inset=true]:pl-8 [&_svg]:size-4 [&_svg]:shrink-0",e),...r,children:[n,(0,I.jsx)(CQ,{className:"ml-auto size-4"})]})}function C7({className:e,...t}){return(0,I.jsx)(CJ,{"data-slot":"dropdown-menu-sub-content",className:(0,V.cn)("vtl-surface-popover z-50 min-w-44 overflow-hidden rounded-[var(--surface-popover-radius)] border p-1 animate-in fade-in-0 zoom-in-95 duration-150 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:duration-100",e),...t})}function C9({label:e,options:t,value:n,trigger:r,triggerClassName:a,onSelect:i,effortOptions:o,selectedEffort:l,onEffortSelect:s}){let c=o?.find(e=>e.id===(l??""))??o?.[0];return(0,I.jsxs)(C$,{children:[(0,I.jsx)(CB,{asChild:!0,children:(0,I.jsx)(B.Button,{type:"button",variant:"ghost",size:"xs",className:(0,V.cn)("h-6 max-w-40 gap-1 rounded-md px-1.5 text-xs font-medium",a),children:r})}),(0,I.jsxs)(C1,{align:"start","aria-label":"string"==typeof e?e:void 0,className:"min-w-40 p-1",children:[t.map(e=>(0,I.jsxs)(C2,{disabled:e.disabled,className:"h-8 gap-2 px-2 text-sm",onSelect:()=>i(e),children:[(0,I.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e.label}),e.disabled?(0,I.jsx)("span",{className:"ml-auto shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground",children:"不可用"}):(0,I.jsx)(No,{className:(0,V.cn)("ml-auto size-4 text-foreground",n===e.id?"opacity-100":"opacity-0")})]},e.id)),o&&o.length>0&&s&&(0,I.jsxs)(C0,{children:[(0,I.jsxs)(C8,{className:"h-8 gap-2 px-2 text-sm",children:[(0,I.jsx)("span",{className:"min-w-0 flex-1 truncate",children:"思考强度"}),(0,I.jsx)("span",{className:"ml-auto truncate text-xs text-muted-foreground",children:Nn(c)})]}),(0,I.jsx)(C7,{className:"min-w-32 p-1",children:o.map(e=>(0,I.jsxs)(C2,{disabled:e.disabled,className:"h-8 gap-2 px-2 text-sm",onSelect:()=>s(e),children:[(0,I.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e.label}),(0,I.jsx)(No,{className:(0,V.cn)("ml-auto size-4 text-foreground",(l??"")===e.id?"opacity-100":"opacity-0")})]},e.id))})]})]})]})}let Se=(0,A.default)("corner-down-right",[["path",{d:"m15 10 5 5-5 5",key:"qqa56n"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]]),St=(0,A.default)("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]),Sn=(0,A.default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);function Sr({messages:e,labels:t,renderActions:n,onRemove:r,onNudge:a,running:i}){return(0,I.jsx)("div",{"data-slot":"agent-input-composer-queue",className:"vtl-agent-input-composer-queue z-10 mx-5 mb-[-1px] grid gap-1.5 rounded-t-lg rounded-b-none border border-border p-1.5 shadow-xs",children:e.map((e,o)=>(0,I.jsxs)("div",{"data-slot":"agent-input-composer-queue-item",className:(0,V.cn)("group/queue flex min-h-8 min-w-0 items-center gap-2 rounded-md px-2 text-sm transition-colors",e.disabled?"text-muted-foreground opacity-60":"text-foreground hover:bg-muted/60"),children:[(0,I.jsx)("span",{className:"grid size-4 shrink-0 place-items-center text-muted-foreground [&_svg]:size-3.5",children:e.icon??(0,I.jsx)(Se,{})}),(0,I.jsx)("span",{className:"min-w-0 flex-1 truncate",title:String(e.content),children:e.content}),e.meta&&(0,I.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground",children:e.meta}),(0,I.jsxs)("div",{className:"flex shrink-0 items-center gap-0.5 opacity-70 transition-opacity group-hover/queue:opacity-100",children:[n?.(e),i&&a&&(0,I.jsxs)(B.Button,{type:"button",variant:"ghost",size:"xs",className:"h-6 gap-1 px-1.5 text-muted-foreground","aria-label":`${t.guideQueuedMessage} ${o+1}`,onClick:()=>a(e.id),children:[(0,I.jsx)(Se,{className:"size-3.5"}),t.guideQueuedMessage]}),(0,I.jsx)(B.Button,{type:"button",variant:"ghost",size:"icon-xs",className:"size-6 text-muted-foreground","aria-label":`${t.removeQueuedMessage} ${o+1}`,onClick:()=>r(e.id),children:(0,I.jsx)(Sn,{})}),(0,I.jsx)(B.Button,{type:"button",variant:"ghost",size:"icon-xs",className:"size-6 text-muted-foreground","aria-label":`${t.moreQueuedMessageActions} ${o+1}`,children:(0,I.jsx)(St,{})})]})]},e.id))})}function Sa({value:e,defaultValue:t,onValueChange:n,modes:r=Nd,modeId:a,defaultModeId:i,onModeChange:o,permissionModes:l=Nu,permissionModeId:s,defaultPermissionModeId:c,onPermissionModeChange:d,models:u=Nf,hideComposerOptions:f=!1,hidePermissionMode:m=!1,modelId:h,defaultModelId:p,onModelChange:g,effortOptions:x,selectedEffort:v,onEffortChange:b,queuedMessages:y,defaultQueuedMessages:w=[],onQueuedMessagesChange:j,onQueueMessage:k,onRemoveQueuedMessage:N,queueOnTab:C=!0,renderQueuedMessageActions:S,contextUsage:M,chips:E=[],attachments:P=[],onAttachmentsChange:z,onCardDrop:A,actions:T,footer:R,running:_=!1,disabled:D=!1,submitOnEnter:L=!0,promptHistory:$,minRows:F=2,maxRows:H=7,onSubmit:U,onStop:q,onAttach:W,onNudge:K,labels:G,className:X,textareaClassName:Y,toolbarClassName:Z}){let J,Q,ee={...Nc,...G},et=O.useRef(null),en=O.useId(),er=O.useRef(0),[ea,ei]=function({value:e,defaultValue:t="",onChange:n}){let[r,a]=O.useState(t);return[e??r,O.useCallback(t=>{void 0===e&&a(t),n?.(t)},[n,e])]}({value:e,defaultValue:t,onChange:n}),eo=$??[],[el,es]=O.useState(null),ec=O.useRef(""),ed=O.useRef(!1);O.useEffect(()=>{es(null),ed.current=!1},[$]);let eu=O.useCallback(e=>{ed.current=!0,ei(e);let t=et.current;t&&requestAnimationFrame(()=>{let e=t.value.length;t.setSelectionRange(e,e)})},[ei]),[ef,em]=O.useState(w),[eh,ep]=O.useState(i??r[0]?.id),[eg,ex]=O.useState(c??l[0]?.id),[ev,eb]=O.useState(p??u[0]?.id),ey=a??eh,ew=s??eg,ej=h??ev,ek=r.find(e=>e.id===ey)??r[0],eN=l.find(e=>e.id===ew)??l[0],eC=u.find(e=>e.id===ej)??u[0],eS=y??ef,eM=(ea.trim().length>0||P.length>0)&&!D;function eE(){eM&&(U?.({value:ea,modeId:ek?.id,modelId:eC?.id,attachments:P.length>0?P:void 0}),es(null),ed.current=!1,ec.current="",ei(""),P.length>0&&z?.([]))}async function eI(e){if(0===e.length||!z)return;let t=[];for(let n of e){let e=`att-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`;if(n.type.startsWith("image/")){let r=await function(e){return new Promise(t=>{let n=new FileReader;n.onload=()=>t("string"==typeof n.result?n.result:""),n.onerror=()=>t(""),n.readAsDataURL(e)})}(n);if(!r)continue;t.push({id:e,kind:"image",name:n.name||"image.png",mimeType:n.type||"image/png",dataUrl:r,size:n.size})}else{let r=await function(e){return new Promise(t=>{let n=new FileReader;n.onload=()=>t("string"==typeof n.result?n.result:""),n.onerror=()=>t(""),n.readAsText(e)})}(n),a=(n.name.split(".").pop()??"").toLowerCase();t.push({id:e,kind:"file",name:n.name||"file.txt",mimeType:n.type||"text/plain",text:r,ext:a,size:n.size})}}t.length>0&&z([...P,...t])}function eP(e){void 0===y&&em(e),j?.(e)}function eO(){let e=ea.trim();if(!e||D)return!1;er.current+=1;let t={id:`${en}-queued-${er.current}`,content:e},n=[...eS,t];return eP(n),k?.(t,n),ei(""),!0}return O.useLayoutEffect(()=>{let e=et.current;if(!e)return;e.style.height="0px";let t=Number.parseFloat(getComputedStyle(e).lineHeight),n=Number.isFinite(t)?t*H:160;e.style.height=`${Math.min(e.scrollHeight,n)}px`,e.style.overflowY=e.scrollHeight>n?"auto":"hidden"},[H,ea]),(0,I.jsxs)("div",{"data-slot":"agent-input-composer","data-running":_,className:(0,V.cn)("relative grid w-full",X),children:[eS.length>0&&(0,I.jsx)(Sr,{messages:eS,labels:ee,renderActions:S,onRemove:function(e){let t=eS.find(t=>t.id===e);if(!t)return;let n=eS.filter(t=>t.id!==e);eP(n),N?.(e,t,n)},onNudge:K,running:_}),(0,I.jsxs)("div",{"data-slot":"agent-input-composer-surface",className:(0,V.cn)("vtl-agent-input-composer-surface relative grid w-full gap-2 rounded-lg border border-border p-2 shadow-sm transition-colors"),onDragOver:A?e=>{e.dataTransfer.types.length>0&&(e.preventDefault(),e.dataTransfer.dropEffect="copy")}:void 0,onDrop:A?e=>{let t=A(e);t&&z&&(e.preventDefault(),z([...P,t]))}:void 0,children:[E.length>0&&(0,I.jsx)("div",{"data-slot":"agent-input-composer-context",className:"flex min-w-0 flex-wrap items-center gap-1.5",children:E.map(e=>(0,I.jsx)(eY,{chip:e,removeLabel:ee.removeChip},e.id))}),P.length>0&&(0,I.jsx)("div",{"data-slot":"agent-input-composer-attachments",className:"flex min-w-0 flex-wrap items-center gap-2",children:P.map(e=>(0,I.jsx)(eW,{attachment:e,removeLabel:ee.removeAttachment,onRemove:()=>z?.(P.filter(t=>t.id!==e.id))},e.id))}),(0,I.jsx)("textarea",{ref:et,value:ea,disabled:D,rows:F,placeholder:ee.placeholder,"data-slot":"agent-input-composer-textarea",className:(0,V.cn)("min-h-10 w-full resize-none border-0 bg-transparent px-0.5 py-0 text-sm leading-5 text-foreground outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-60","[scrollbar-width:none] [&::-webkit-scrollbar]:hidden",Y),onChange:e=>{var t;return t=e.currentTarget.value,void(!ed.current&&null!==el&&es(null),ed.current=!1,ei(t))},onPaste:function(e){let t=Array.from(e.clipboardData?.files??[]);0!==t.length&&z&&(e.preventDefault(),eI(t))},onKeyDown:e=>{eo.length>0&&e.shiftKey&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&("ArrowUp"===e.key||"ArrowDown"===e.key)&&!e.nativeEvent.isComposing&&function(e){if(0===eo.length)return!1;if("older"===e){if(null===el){ec.current=ea;let e=eo.length-1;return es(e),eu(eo[e]??""),!0}if(el<=0)return!0;let e=el-1;return es(e),eu(eo[e]??""),!0}if(null===el)return!1;let t=el+1;return t>=eo.length?(es(null),ed.current=!1,eu(ec.current),ed.current=!1):(es(t),eu(eo[t]??"")),!0}("ArrowUp"===e.key?"older":"newer")?e.preventDefault():C&&"Tab"===e.key&&!e.shiftKey&&!e.nativeEvent.isComposing&&eO()?e.preventDefault():!L||"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),_?eO():eE())}}),(0,I.jsxs)("div",{"data-slot":"agent-input-composer-toolbar",className:(0,V.cn)("grid grid-cols-[minmax(0,1fr)_auto] items-end gap-2",Z),children:[(0,I.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:[!f&&(0,I.jsxs)(I.Fragment,{children:[!m&&(0,I.jsx)(C9,{label:"Permissions",options:l,value:eN?.id,trigger:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)("span",{className:"grid size-3.5 place-items-center text-muted-foreground [&_svg]:size-3",children:eN?.icon??(0,I.jsx)(eB,{})}),(0,I.jsx)("span",{className:"hidden truncate md:inline",children:Nn(eN)}),(0,I.jsx)(eD,{className:"size-3 text-muted-foreground"})]}),triggerClassName:"rounded-md bg-transparent px-1.5 text-muted-foreground hover:bg-muted/60 hover:text-foreground aria-expanded:bg-muted/70",onSelect:function(e){e.disabled||(void 0===s&&ex(e.id),d?.(e.id,e))}}),(0,I.jsx)(C9,{label:ee.model,options:u,value:eC?.id,trigger:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)("span",{className:"grid size-3.5 place-items-center text-muted-foreground [&_svg]:size-3 md:hidden",children:(0,I.jsx)(eV,{})}),(0,I.jsx)("span",{className:"hidden truncate md:inline",children:Nn(eC)}),(0,I.jsx)(eD,{className:"size-3 text-muted-foreground"})]}),triggerClassName:"rounded-md bg-transparent px-1.5 text-muted-foreground hover:bg-muted/60 hover:text-foreground aria-expanded:bg-muted/70",onSelect:function(e){e.disabled||(void 0===h&&eb(e.id),g?.(e.id,e))},effortOptions:x,selectedEffort:v,onEffortSelect:function(e){e.disabled||b?.(e.id,e)}})]}),W&&(0,I.jsx)(B.Button,{type:"button",variant:"ghost",size:"icon-xs",className:"text-muted-foreground","aria-label":ee.attach,title:ee.attach,onClick:W,disabled:D,children:(0,I.jsx)(eF,{})}),T]}),(0,I.jsxs)("div",{className:"flex items-center gap-1",children:[M&&(0,I.jsx)(Na,{usage:M,labels:ee}),(J=ea.trim().length>0,Q=_&&!J,(0,I.jsx)(B.Button,{type:"button",size:"icon-xs",variant:Q?"outline":"default","aria-label":Q?ee.stop:ee.send,title:Q?ee.stop:ee.send,disabled:!_&&!eM,className:"rounded-full",onClick:Q?q:_?()=>eO():eE,children:Q?(0,I.jsx)(eH,{className:"size-3 fill-current"}):(0,I.jsx)(e_,{className:"size-3.5"})}))]})]}),R&&(0,I.jsx)("div",{"data-slot":"agent-input-composer-footer",className:"flex min-w-0 items-center gap-2 text-xs text-muted-foreground",children:R})]})]})}function Si({corner:e,stageClassName:t,className:n,children:r,...a}){return(0,I.jsxs)("div",{className:["vtl-splash",n].filter(Boolean).join(" "),...a,children:[(0,I.jsx)("div",{className:"welcome-layer",children:(0,I.jsx)("div",{className:["welcome-stage",t].filter(Boolean).join(" "),children:r})}),e]})}async function So(){return Sm("/api/local/model-routes")}async function Sl(e){return Sm("/api/local/model-routes/probe",{method:"POST",body:JSON.stringify(e)})}async function Ss(e){return Sm("/api/local/model-routes",{method:"POST",body:JSON.stringify(e)})}async function Sc(e){await Sm(`/api/local/model-routes/${encodeURIComponent(e)}`,{method:"DELETE"})}async function Sd(e){return Sm("/api/local/model-routes/test-model",{method:"POST",body:JSON.stringify(e)})}async function Su(e){return Sm("/api/local/model-routes/smart-add",{method:"POST",body:JSON.stringify({text:e})})}async function Sf(e,t){return Sm(`/api/local/model-routes/${encodeURIComponent(e)}/toggle`,{method:"POST",body:JSON.stringify({enabled:t})})}async function Sm(e,t){let n=await fetch((0,U.localAPIURL)(e),{cache:"no-store",...t,headers:{...t?.body?{"Content-Type":"application/json"}:{},...t?.headers}}),r=await n.json().catch(()=>({}));if(!n.ok)throw Error("string"==typeof r?.error?r.error:"model route api failed");return r}async function Sh(){return(await So()).models.map(e=>({value:e.id,label:e.label,contextLength:e.contextLength??0,providerName:e.providerName,available:e.available??!0}))}let Sp=[],Sg=!1,Sx=null,Sv=new Set,Sb=null,Sy=null;function Sw(){return Sx||(Sx=(async()=>{try{let e=await Sh();for(let t of(Sp=e,Sg=!0,Sv))t();return e}finally{Sx=null}})())}function Sj(){Sx=null,Sg=!1,Sw().catch(()=>{})}function Sk(){let[e,t]=O.useState(Sp),[n,r]=O.useState(!Sg),a=O.useCallback(async()=>{r(!0);try{let e=await Sw();t(e)}catch{}finally{r(!1)}},[]);return O.useEffect(()=>{var e;let n=(e=()=>{t(Sp),r(!1)},Sv.add(e),1===Sv.size&&null===Sb&&(Sb=setInterval(()=>{("u"<typeof document||"visible"===document.visibilityState)&&Sw().catch(()=>{})},3e4),"u">typeof document&&(Sy=()=>{"visible"===document.visibilityState&&Sw().catch(()=>{})},document.addEventListener("visibilitychange",Sy))),()=>{Sv.delete(e),0===Sv.size&&(null!==Sb&&(clearInterval(Sb),Sb=null),Sy&&"u">typeof document&&(document.removeEventListener("visibilitychange",Sy),Sy=null))});return Sg?(t(Sp),r(!1)):Sw().then(e=>{t(e)}).catch(()=>{}).finally(()=>{r(!1)}),n},[]),{models:e,loading:n,refresh:a}}function SN({label:e,htmlFor:t,index:n=0,hint:r,className:a,children:i}){return(0,I.jsxs)("div",{className:(0,V.cn)("vtl-underline-field",a),style:{animationDelay:`${90*n}ms`},children:[(0,I.jsx)("label",{className:"vtl-underline-field__label",htmlFor:t,children:e}),(0,I.jsx)("div",{className:"vtl-underline-field__control",children:i}),r?(0,I.jsx)("p",{className:"vtl-underline-field__hint",children:r}):null]})}let SC=(0,A.default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);function SS(e){let t=O.useRef({value:e,previous:e});return O.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var SM="Checkbox",[SE,SI]=wt(SM),[SP,SO]=SE(SM);function Sz(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:a,disabled:i,form:o,name:l,onCheckedChange:s,required:c,value:d="on",internal_do_not_use_render:u}=e,[f,m]=j4({prop:n,defaultProp:a??!1,onChange:s,caller:SM}),[h,p]=O.useState(null),[g,x]=O.useState(null),v=O.useRef(!1),b=!h||!!o||!!h.closest("form"),y={checked:f,disabled:i,setChecked:m,control:h,setControl:p,name:l,form:o,value:d,hasConsumerStoppedPropagationRef:v,required:c,defaultChecked:!SF(a)&&a,isFormControl:b,bubbleInput:g,setBubbleInput:x};return(0,I.jsx)(SP,{scope:t,...y,children:"function"==typeof u?u(y):r})}var SA="CheckboxTrigger",ST=O.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},a)=>{let{control:i,value:o,disabled:l,checked:s,required:c,setControl:d,setChecked:u,hasConsumerStoppedPropagationRef:f,isFormControl:m,bubbleInput:h}=SO(SA,e),p=(0,we.useComposedRefs)(a,d),g=O.useRef(s);return O.useEffect(()=>{let e=i?.form;if(e){let t=()=>u(g.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[i,u]),(0,I.jsx)(wi.button,{type:"button",role:"checkbox","aria-checked":SF(s)?"mixed":s,"aria-required":c,"data-state":SB(s),"data-disabled":l?"":void 0,disabled:l,value:o,...r,ref:p,onKeyDown:y9(t,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:y9(n,e=>{u(e=>!!SF(e)||!e),h&&m&&(f.current=e.isPropagationStopped(),f.current||e.stopPropagation())})})});ST.displayName=SA;var SR=O.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:a,defaultChecked:i,required:o,disabled:l,value:s,onCheckedChange:c,form:d,...u}=e;return(0,I.jsx)(Sz,{__scopeCheckbox:n,checked:a,defaultChecked:i,disabled:l,required:o,onCheckedChange:c,name:r,form:d,value:s,internal_do_not_use_render:({isFormControl:e})=>(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(ST,{...u,ref:t,__scopeCheckbox:n}),e&&(0,I.jsx)(S$,{__scopeCheckbox:n})]})})});SR.displayName=SM;var S_="CheckboxIndicator",SD=O.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...a}=e,i=SO(S_,n);return(0,I.jsx)(j2,{present:r||SF(i.checked)||!0===i.checked,children:(0,I.jsx)(wi.span,{"data-state":SB(i.checked),"data-disabled":i.disabled?"":void 0,...a,ref:t,style:{pointerEvents:"none",...e.style}})})});SD.displayName=S_;var SL="CheckboxBubbleInput",S$=O.forwardRef(({__scopeCheckbox:e,...t},n)=>{let{control:r,hasConsumerStoppedPropagationRef:a,checked:i,defaultChecked:o,required:l,disabled:s,name:c,value:d,form:u,bubbleInput:f,setBubbleInput:m}=SO(SL,e),h=(0,we.useComposedRefs)(n,m),p=SS(i),g=j_(r);O.useEffect(()=>{if(!f)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!a.current;if(p!==i&&e){let n=new Event("click",{bubbles:t});f.indeterminate=SF(i),e.call(f,!SF(i)&&i),f.dispatchEvent(n)}},[f,p,i,a]);let x=O.useRef(!SF(i)&&i);return(0,I.jsx)(wi.input,{type:"checkbox","aria-hidden":!0,defaultChecked:o??x.current,required:l,disabled:s,name:c,value:d,form:u,...t,tabIndex:-1,ref:h,style:{...t.style,...g,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function SF(e){return"indeterminate"===e}function SB(e){return SF(e)?"indeterminate":e?"checked":"unchecked"}function SV({className:e,...t}){return(0,I.jsx)(SR,{"data-slot":"checkbox",className:(0,V.cn)("peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input bg-background shadow-xs transition-colors outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:data-[state=checked]:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary",e),...t,children:(0,I.jsx)(SD,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none [&>svg]:size-3.5",children:(0,I.jsx)(No,{})})})}function SH(e){let{models:t,loading:n}=e,[r,a]=O.useState(""),i=O.useMemo(()=>"multi"===e.mode?e.value:e.value?[e.value]:[],[e]),o=O.useMemo(()=>new Set(i),[i]),l="multi"===e.mode?e.primaryModelId:void 0,s=null===l?void 0:l&&o.has(l)?l:void 0===l?i[0]:void 0,c=O.useMemo(()=>t.filter(e=>!1!==e.available),[t]),d=O.useMemo(()=>{let e=new Map;for(let t of c){let n=t.providerName?.trim()||"其他",r=e.get(n);r?r.push(t):e.set(n,[t])}return Array.from(e.entries()).map(([e,t])=>({provider:e,models:t}))},[c]),u=O.useMemo(()=>{let e=r.trim().toLowerCase();return e?d.map(t=>({provider:t.provider,models:t.models.filter(n=>n.label.toLowerCase().includes(e)||t.provider.toLowerCase().includes(e))})).filter(e=>e.models.length>0):d},[d,r]),f=O.useMemo(()=>new Set(c.map(e=>e.value)),[c]),m=O.useMemo(()=>new Map(t.map(e=>[e.value,e])),[t]),h=O.useMemo(()=>"multi"!==e.mode?[]:i.filter(e=>!f.has(e)).map(e=>{let t=m.get(e);return{id:e,label:t?.label??e,provider:t?.providerName?.trim()||""}}),[e.mode,i,f,m]),p=O.useMemo(()=>{let e=r.trim().toLowerCase();return e?h.filter(t=>t.id.toLowerCase().includes(e)||t.label.toLowerCase().includes(e)||t.provider.toLowerCase().includes(e)):h},[h,r]),g=O.useCallback(t=>{"single"===e.mode?e.onChange(e.value===t?"":t):e.onChange(o.has(t)?e.value.filter(e=>e!==t):[...e.value,t])},[e,o]),x=O.useCallback(t=>{if("multi"!==e.mode)return;let n=t.map(e=>e.value);if(n.every(e=>o.has(e))){let t=new Set(n);e.onChange(e.value.filter(e=>!t.has(e)))}else{let t=n.filter(e=>!o.has(e));e.onChange([...e.value,...t])}},[e,o]),v="single"===e.mode?e.clearLabel??"无 / 默认":"";return(0,I.jsxs)("div",{className:"grid gap-2",children:[(0,I.jsxs)("div",{className:"relative",children:[(0,I.jsx)(SC,{className:"pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,I.jsx)(H,{value:r,onChange:e=>a(e.target.value),placeholder:"搜索模型或渠道...",className:"h-8 pl-8"})]}),(0,I.jsxs)("div",{className:"grid max-h-[min(22rem,50svh)] gap-3 overflow-auto rounded-lg border bg-card/40 p-2",children:["single"===e.mode?(0,I.jsxs)("div",{role:"button",tabIndex:0,"aria-pressed":""===e.value,onClick:()=>e.onChange(""),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),e.onChange(""))},className:(0,V.cn)("flex cursor-pointer items-center gap-2.5 rounded-md px-2 py-1.5 text-left text-sm outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring/50",""===e.value?"bg-primary/10 text-foreground":"hover:bg-muted"),children:[(0,I.jsx)(SV,{checked:""===e.value,tabIndex:-1,className:"pointer-events-none"}),(0,I.jsx)("span",{className:"min-w-0 flex-1 truncate text-muted-foreground",children:v})]}):null,n&&0===t.length?(0,I.jsx)("p",{className:"px-2 py-6 text-center text-xs text-muted-foreground",children:"读取模型中…"}):0===u.length&&0===p.length?(0,I.jsx)("p",{className:"px-2 py-6 text-center text-xs text-muted-foreground",children:0===t.length?e.emptyHint??"没有可用模型":"没有匹配的模型"}):(0,I.jsxs)(I.Fragment,{children:[u.map(t=>{let n=t.models.map(e=>e.value),r=n.filter(e=>o.has(e)).length,a=r===n.length;return(0,I.jsxs)("div",{className:"grid gap-1",children:[(0,I.jsxs)("div",{className:"flex items-center justify-between gap-2 px-1",children:[(0,I.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,I.jsx)("span",{className:"truncate text-xs font-semibold text-foreground",children:t.provider}),(0,I.jsxs)("span",{className:"shrink-0 text-[11px] text-muted-foreground",children:[r,"/",n.length]})]}),"multi"===e.mode?(0,I.jsx)(B.Button,{type:"button",variant:"ghost",size:"sm",className:"h-6 shrink-0 px-2 text-xs",onClick:()=>x(t.models),children:a?"取消全选":"全选"}):null]}),(0,I.jsx)("div",{className:"grid gap-0.5",children:t.models.map(t=>{let n=o.has(t.value),r="multi"===e.mode&&t.value===s;return(0,I.jsxs)("div",{role:"button",tabIndex:0,"aria-pressed":n,onClick:()=>g(t.value),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),g(t.value))},className:(0,V.cn)("flex cursor-pointer items-center gap-2.5 rounded-md px-2 py-1.5 text-left text-sm outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring/50",n?"bg-primary/10 text-foreground":"hover:bg-muted"),children:[(0,I.jsx)(SV,{checked:n,tabIndex:-1,className:"pointer-events-none"}),(0,I.jsx)("span",{className:"min-w-0 flex-1 truncate",children:t.label}),r?(0,I.jsx)("span",{className:"shrink-0 rounded bg-primary/15 px-1.5 py-0.5 text-[10px] font-medium text-primary",children:"主"}):null]},t.value)})})]},t.provider)}),p.length>0?(0,I.jsxs)("div",{className:"grid gap-1",children:[(0,I.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,I.jsx)("span",{className:"truncate text-xs font-semibold text-muted-foreground",children:"已禁用 / 不可用"}),(0,I.jsx)("span",{className:"shrink-0 text-[11px] text-muted-foreground",children:p.length})]}),(0,I.jsx)("div",{className:"grid gap-0.5",children:p.map(e=>(0,I.jsxs)("div",{role:"button",tabIndex:0,"aria-pressed":!0,title:"该模型所属渠道已禁用或不可用,点击可移除",onClick:()=>g(e.id),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),g(e.id))},className:(0,V.cn)("flex cursor-pointer items-center gap-2.5 rounded-md px-2 py-1.5 text-left text-sm opacity-60 outline-none transition-colors hover:bg-muted hover:opacity-100 focus-visible:ring-2 focus-visible:ring-ring/50"),children:[(0,I.jsx)(SV,{checked:!0,tabIndex:-1,className:"pointer-events-none"}),(0,I.jsxs)("span",{className:"min-w-0 flex-1 truncate text-muted-foreground",children:[e.label,e.provider?(0,I.jsxs)("span",{className:"ml-1.5 text-[11px] text-muted-foreground/70",children:["· ",e.provider]}):null]}),(0,I.jsx)("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground",children:"不可用"})]},e.id))})]}):null]})]})]})}S$.displayName=SL;let SU="你现在想和谁对话?",Sq=[{value:"openai-v1",label:"OpenAI v1"},{value:"anthropic",label:"Anthropic"},{value:"openai-responses",label:"OpenAI Responses"},{value:"codex",label:"Codex"}];function SW({hasRoutes:e,existingModels:t,onHeadline:n,onComplete:r}){let[a,i]=O.useState(e?"pickModel":"routeForm"),[o,l]=O.useState(""),[s,c]=O.useState(""),[d,u]=O.useState("openai-v1"),[f,m]=O.useState(!1),[h,p]=O.useState(!1),[g,x]=O.useState(""),[v,b]=O.useState([]),[y,w]=O.useState(""),[j,k]=O.useState([]),[N,C]=O.useState([]),[S,M]=O.useState("");O.useEffect(()=>{n(e?SU:"需要先配置模型路由")},[]);let E=O.useMemo(()=>(function(e){try{let t=new URL(e.trim()).hostname.replace(/^api\./i,"").split("."),n=t.length>1?t[t.length-2]:t[0];return n&&n.length>0?n:"渠道"}catch{return"渠道"}})(o),[o]),P=O.useMemo(()=>v.map(e=>({value:e.id,label:e.displayName??e.id,contextLength:e.contextLength??0,providerName:E,available:!0})),[v,E]),z=o.trim().length>0&&s.trim().length>0&&!f;async function A(){x(""),m(!0);let e=function(e){let t=e.trim().replace(/\/+$/,"");if(!t)return[];let n=[t];return/\/v\d+(?:beta)?$/i.test(t)?n.push(t.replace(/\/v\d+(?:beta)?$/i,"")):n.push(`${t}/v1`),Array.from(new Set(n.filter(Boolean)))}(o),t="拉取模型失败";for(let n of e)try{let{models:e}=await Sl({providerName:E,protocol:d,endpointUrl:n,apiKey:s.trim()});if(e&&e.length>0){b(e),w(n),k(e.map(e=>e.id)),m(!1),i("selectModels");return}t="未能拉取到任何模型,请检查端点或协议"}catch(e){t=e instanceof Error?e.message:String(e)}m(!1),x(t)}async function T(){if(0===j.length)return void x("请至少选择一个模型");x(""),p(!0);try{let e=await Ss({providerName:E,protocol:d,endpointUrl:y||o.trim(),apiKey:s.trim(),models:v,selectedModelIds:j});Sj();let t=e.models.filter(t=>e.selectedModelIds.includes(t.id)).map(t=>({value:`${e.id}:${t.id}`,label:t.displayName??t.id,contextLength:t.contextLength??0,providerName:e.providerName,available:!0}));C(t),M(t[0]?.value??""),n(SU),i("pickModel")}catch(e){x(e instanceof Error?e.message:String(e))}finally{p(!1)}}return"routeForm"===a?(0,I.jsxs)("div",{className:"vtl-immersive-panel",children:[(0,I.jsx)(SN,{label:"API 端点",htmlFor:"vtl-onboard-endpoint",index:0,children:(0,I.jsx)("input",{id:"vtl-onboard-endpoint",className:"vtl-underline-input",type:"text",inputMode:"url",autoComplete:"off",spellCheck:!1,placeholder:"https://api.openai.com/v1",value:o,onChange:e=>l(e.target.value)})}),(0,I.jsx)(SN,{label:"API Key",htmlFor:"vtl-onboard-key",index:1,children:(0,I.jsx)("input",{id:"vtl-onboard-key",className:"vtl-underline-input",type:"password",autoComplete:"off",spellCheck:!1,placeholder:"sk-…",value:s,onChange:e=>c(e.target.value)})}),(0,I.jsx)(SN,{label:"选择协议",index:2,children:(0,I.jsx)("div",{className:"vtl-underline-segment",role:"group","aria-label":"协议",children:Sq.map(e=>(0,I.jsx)("button",{type:"button","data-active":d===e.value,onClick:()=>u(e.value),children:e.label},e.value))})}),g?(0,I.jsx)("p",{className:"vtl-immersive-panel__error",children:g}):null,(0,I.jsx)("div",{className:"vtl-immersive-panel__actions",style:{animationDelay:"270ms"},children:(0,I.jsx)(B.Button,{onClick:A,disabled:!z,children:f?"正在拉取模型…":"拉取模型"})})]}):"selectModels"===a?(0,I.jsxs)("div",{className:"vtl-immersive-panel",children:[(0,I.jsx)("div",{className:"vtl-immersive-models",children:(0,I.jsx)(SH,{mode:"multi",models:P,value:j,onChange:k,emptyHint:"没有可选的模型"})}),g?(0,I.jsx)("p",{className:"vtl-immersive-panel__error",children:g}):null,(0,I.jsxs)("div",{className:"vtl-immersive-panel__actions",children:[(0,I.jsx)(B.Button,{variant:"ghost",onClick:()=>{x(""),i("routeForm")},children:"返回"}),(0,I.jsx)(B.Button,{onClick:T,disabled:h||0===j.length,children:h?"保存中…":"确认"})]})]}):(0,I.jsxs)("div",{className:"vtl-immersive-panel",children:[(0,I.jsx)("div",{className:"vtl-immersive-models",children:(0,I.jsx)(SH,{mode:"single",models:e?t:N,value:S,onChange:M,clearLabel:"不选择",emptyHint:"没有可用模型"})}),g?(0,I.jsx)("p",{className:"vtl-immersive-panel__error",children:g}):null,(0,I.jsx)("div",{className:"vtl-immersive-panel__actions",children:(0,I.jsx)(B.Button,{onClick:()=>r(S),disabled:!S,children:"开始"})})]})}let SK="别来无恙,想干点什么?",SG={size:22,stopColor1:"var(--icon-stop-1)",stopColor2:"var(--icon-stop-2)","aria-hidden":!0};function SX(){let{exitImmersive:e}=eC(),{resolvedTheme:t,setTheme:n}=(0,eP.useTheme)(),{models:r}=Sk(),[a,i]=O.useState("brand"),[o,l]=O.useState(""),[s,c]=O.useState(!1),[d,u]=O.useState(!1),[f,m]=O.useState([]),[h,p]=O.useState(""),[g,x]=O.useState(!1),[v,b]=O.useState([]),y=O.useCallback(e=>{m(t=>t[t.length-1]===e?t:[...t,e])},[]),w=O.useCallback(e=>{l(e),"brand"!==a||s||""===e.trim()||c(!0)},[a,s]),j=O.useCallback(()=>{c(!1),i(e=>"brand"===e?"greeting":e),m(e=>0===e.length?[SK]:e)},[]),k=O.useCallback(async e=>{if(""===e.value.trim())return;u(!0);let[t]=await Promise.all([So().then(e=>e.models).catch(()=>[]),new Promise(e=>setTimeout(e,320))]),n=t.filter(e=>!1!==e.available);x(n.length>0),b(n.map(e=>({value:e.id,label:e.label,contextLength:e.contextLength??0,providerName:e.providerName,available:!0}))),i("onboarding")},[]),N=O.useCallback(e=>{p(e),y(SK),u(!1),i("ready")},[y]),C=O.useMemo(()=>r.map(e=>({id:e.value,label:e.label})),[r]),S=[{id:"theme",label:"切换主题",icon:O.createElement(eA,SG),onClick:()=>n("dark"===t?"light":"dark")},{id:"mode",label:"切换模式(返回专业版)",icon:O.createElement(eT,SG),onClick:e}];return(0,I.jsxs)(Si,{stageClassName:"gap-6",corner:(0,I.jsx)(ez,{groupLabel:"快捷操作",items:S}),children:[(0,I.jsxs)("div",{className:"vtl-immersive-headline-slot",children:[(0,I.jsx)("div",{className:(0,V.cn)("vtl-immersive-brand",(s||"brand"!==a)&&"vtl-immersive-brand--erasing"),onAnimationEnd:s?j:void 0,children:(0,I.jsx)(eO,{})}),"brand"!==a?(0,I.jsx)(eR,{className:"vtl-immersive-headline",text:f.length>0?f:[SK],loop:!1,typingSpeed:48,deletingSpeed:24,pauseDuration:420,cursorCharacter:"▍"},"immersive-headline"):null]}),"onboarding"===a?(0,I.jsx)(SW,{hasRoutes:g,existingModels:v,onHeadline:y,onComplete:N}):(0,I.jsx)("div",{className:(0,V.cn)("vtl-immersive-composer",d&&"vtl-immersive-composer--leaving"),children:(0,I.jsx)(Sa,{minRows:3,value:o,onValueChange:w,onSubmit:"ready"===a?void 0:k,hideComposerOptions:"ready"!==a,hidePermissionMode:!0,models:"ready"===a?C:void 0,modelId:"ready"===a?h:void 0,onModelChange:"ready"===a?p:void 0,labels:{placeholder:"告诉智能体你想做什么…"}})})]})}function SY(){return(0,I.jsx)(SX,{})}let SZ=(0,A.default)("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]),SJ=(0,A.default)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);function SQ(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)""!==(r=SQ(e[n]))&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var S0={value:()=>{}};function S1(){for(var e,t=0,n=arguments.length,r={};t<n;++t){if(!(e=arguments[t]+"")||e in r||/[\s.]/.test(e))throw Error("illegal type: "+e);r[e]=[]}return new S2(r)}function S2(e){this._=e}function S5(e,t,n){for(var r=0,a=e.length;r<a;++r)if(e[r].name===t){e[r]=S0,e=e.slice(0,r).concat(e.slice(r+1));break}return null!=n&&e.push({name:t,value:n}),e}function S3(){}function S4(e){return null==e?S3:function(){return this.querySelector(e)}}function S6(){return[]}function S8(e){return null==e?S6:function(){return this.querySelectorAll(e)}}function S7(e){return function(){return this.matches(e)}}function S9(e){return function(t){return t.matches(e)}}S2.prototype=S1.prototype={constructor:S2,on:function(e,t){var n,r=this._,a=(e+"").trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");if(n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),e&&!r.hasOwnProperty(e))throw Error("unknown type: "+e);return{type:e,name:t}}),i=-1,o=a.length;if(arguments.length<2){for(;++i<o;)if((n=(e=a[i]).type)&&(n=function(e,t){for(var n,r=0,a=e.length;r<a;++r)if((n=e[r]).name===t)return n.value}(r[n],e.name)))return n;return}if(null!=t&&"function"!=typeof t)throw Error("invalid callback: "+t);for(;++i<o;)if(n=(e=a[i]).type)r[n]=S5(r[n],e.name,t);else if(null==t)for(n in r)r[n]=S5(r[n],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new S2(e)},call:function(e,t){if((n=arguments.length-2)>0)for(var n,r,a=Array(n),i=0;i<n;++i)a[i]=arguments[i+2];if(!this._.hasOwnProperty(e))throw Error("unknown type: "+e);for(r=this._[e],i=0,n=r.length;i<n;++i)r[i].value.apply(t,a)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error("unknown type: "+e);for(var r=this._[e],a=0,i=r.length;a<i;++a)r[a].value.apply(t,n)}};var Me=Array.prototype.find;function Mt(){return this.firstElementChild}var Mn=Array.prototype.filter;function Mr(){return Array.from(this.children)}function Ma(e){return Array(e.length)}function Mi(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function Mo(e,t,n,r,a,i){for(var o,l=0,s=t.length,c=i.length;l<c;++l)(o=t[l])?(o.__data__=i[l],r[l]=o):n[l]=new Mi(e,i[l]);for(;l<s;++l)(o=t[l])&&(a[l]=o)}function Ml(e,t,n,r,a,i,o){var l,s,c,d=new Map,u=t.length,f=i.length,m=Array(u);for(l=0;l<u;++l)(s=t[l])&&(m[l]=c=o.call(s,s.__data__,l,t)+"",d.has(c)?a[l]=s:d.set(c,s));for(l=0;l<f;++l)c=o.call(e,i[l],l,i)+"",(s=d.get(c))?(r[l]=s,s.__data__=i[l],d.delete(c)):n[l]=new Mi(e,i[l]);for(l=0;l<u;++l)(s=t[l])&&d.get(m[l])===s&&(a[l]=s)}function Ms(e){return e.__data__}function Mc(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}Mi.prototype={constructor:Mi,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var Md="http://www.w3.org/1999/xhtml";let Mu={svg:"http://www.w3.org/2000/svg",xhtml:Md,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Mf(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),Mu.hasOwnProperty(t)?{space:Mu[t],local:e}:e}function Mm(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Mh(e,t){return e.style.getPropertyValue(t)||Mm(e).getComputedStyle(e,null).getPropertyValue(t)}function Mp(e){return e.trim().split(/^|\s+/)}function Mg(e){return e.classList||new Mx(e)}function Mx(e){this._node=e,this._names=Mp(e.getAttribute("class")||"")}function Mv(e,t){for(var n=Mg(e),r=-1,a=t.length;++r<a;)n.add(t[r])}function Mb(e,t){for(var n=Mg(e),r=-1,a=t.length;++r<a;)n.remove(t[r])}function My(){this.textContent=""}function Mw(){this.innerHTML=""}function Mj(){this.nextSibling&&this.parentNode.appendChild(this)}function Mk(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function MN(e){var t=Mf(e);return(t.local?function(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}:function(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Md&&t.documentElement.namespaceURI===Md?t.createElement(e):t.createElementNS(n,e)}})(t)}function MC(){return null}function MS(){var e=this.parentNode;e&&e.removeChild(this)}function MM(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ME(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function MI(e){return function(){var t=this.__on;if(t){for(var n,r=0,a=-1,i=t.length;r<i;++r)(n=t[r],e.type&&n.type!==e.type||n.name!==e.name)?t[++a]=n:this.removeEventListener(n.type,n.listener,n.options);++a?t.length=a:delete this.__on}}}function MP(e,t,n){return function(){var r,a=this.__on,i=function(e){t.call(this,e,this.__data__)};if(a){for(var o=0,l=a.length;o<l;++o)if((r=a[o]).type===e.type&&r.name===e.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=i,r.options=n),r.value=t;return}}this.addEventListener(e.type,i,n),r={type:e.type,name:e.name,value:t,listener:i,options:n},a?a.push(r):this.__on=[r]}}function MO(e,t,n){var r=Mm(e),a=r.CustomEvent;"function"==typeof a?a=new a(t,n):(a=r.document.createEvent("Event"),n?(a.initEvent(t,n.bubbles,n.cancelable),a.detail=n.detail):a.initEvent(t,!1,!1)),e.dispatchEvent(a)}Mx.prototype={add:function(e){0>this._names.indexOf(e)&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var Mz=[null];function MA(e,t){this._groups=e,this._parents=t}function MT(){return new MA([[document.documentElement]],Mz)}function MR(e){return"string"==typeof e?new MA([[document.querySelector(e)]],[document.documentElement]):new MA([[e]],Mz)}function M_(e,t){if(e=function(e){let t;for(;t=e.sourceEvent;)e=t;return e}(e),void 0===t&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}if(t.getBoundingClientRect){var a=t.getBoundingClientRect();return[e.clientX-a.left-t.clientLeft,e.clientY-a.top-t.clientTop]}}return[e.pageX,e.pageY]}MA.prototype=MT.prototype={constructor:MA,select:function(e){"function"!=typeof e&&(e=S4(e));for(var t=this._groups,n=t.length,r=Array(n),a=0;a<n;++a)for(var i,o,l=t[a],s=l.length,c=r[a]=Array(s),d=0;d<s;++d)(i=l[d])&&(o=e.call(i,i.__data__,d,l))&&("__data__"in i&&(o.__data__=i.__data__),c[d]=o);return new MA(r,this._parents)},selectAll:function(e){if("function"==typeof e){var t;t=e,e=function(){var e;return e=t.apply(this,arguments),null==e?[]:Array.isArray(e)?e:Array.from(e)}}else e=S8(e);for(var n=this._groups,r=n.length,a=[],i=[],o=0;o<r;++o)for(var l,s=n[o],c=s.length,d=0;d<c;++d)(l=s[d])&&(a.push(e.call(l,l.__data__,d,s)),i.push(l));return new MA(a,i)},selectChild:function(e){var t;return this.select(null==e?Mt:(t="function"==typeof e?e:S9(e),function(){return Me.call(this.children,t)}))},selectChildren:function(e){var t;return this.selectAll(null==e?Mr:(t="function"==typeof e?e:S9(e),function(){return Mn.call(this.children,t)}))},filter:function(e){"function"!=typeof e&&(e=S7(e));for(var t=this._groups,n=t.length,r=Array(n),a=0;a<n;++a)for(var i,o=t[a],l=o.length,s=r[a]=[],c=0;c<l;++c)(i=o[c])&&e.call(i,i.__data__,c,o)&&s.push(i);return new MA(r,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,Ms);var n=t?Ml:Mo,r=this._parents,a=this._groups;"function"!=typeof e&&(v=e,e=function(){return v});for(var i=a.length,o=Array(i),l=Array(i),s=Array(i),c=0;c<i;++c){var d=r[c],u=a[c],f=u.length,m="object"==typeof(x=e.call(d,d&&d.__data__,c,r))&&"length"in x?x:Array.from(x),h=m.length,p=l[c]=Array(h),g=o[c]=Array(h);n(d,u,p,g,s[c]=Array(f),m,t);for(var x,v,b,y,w=0,j=0;w<h;++w)if(b=p[w]){for(w>=j&&(j=w+1);!(y=g[j])&&++j<h;);b._next=y||null}}return(o=new MA(o,r))._enter=l,o._exit=s,o},enter:function(){return new MA(this._enter||this._groups.map(Ma),this._parents)},exit:function(){return new MA(this._exit||this._groups.map(Ma),this._parents)},join:function(e,t,n){var r=this.enter(),a=this,i=this.exit();return"function"==typeof e?(r=e(r))&&(r=r.selection()):r=r.append(e+""),null!=t&&(a=t(a))&&(a=a.selection()),null==n?i.remove():n(i),r&&a?r.merge(a).order():a},merge:function(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,a=n.length,i=r.length,o=Math.min(a,i),l=Array(a),s=0;s<o;++s)for(var c,d=n[s],u=r[s],f=d.length,m=l[s]=Array(f),h=0;h<f;++h)(c=d[h]||u[h])&&(m[h]=c);for(;s<a;++s)l[s]=n[s];return new MA(l,this._parents)},selection:function(){return this},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r,a=e[t],i=a.length-1,o=a[i];--i>=0;)(r=a[i])&&(o&&4^r.compareDocumentPosition(o)&&o.parentNode.insertBefore(r,o),o=r);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=Mc);for(var n=this._groups,r=n.length,a=Array(r),i=0;i<r;++i){for(var o,l=n[i],s=l.length,c=a[i]=Array(s),d=0;d<s;++d)(o=l[d])&&(c[d]=o);c.sort(t)}return new MA(a,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],a=0,i=r.length;a<i;++a){var o=r[a];if(o)return o}return null},size:function(){let e=0;for(let t of this)++e;return e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var a,i=t[n],o=0,l=i.length;o<l;++o)(a=i[o])&&e.call(a,a.__data__,o,i);return this},attr:function(e,t){var n=Mf(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==t?n.local?function(e){return function(){this.removeAttributeNS(e.space,e.local)}}:function(e){return function(){this.removeAttribute(e)}}:"function"==typeof t?n.local?function(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}:function(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}:n.local?function(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}:function(e,t){return function(){this.setAttribute(e,t)}})(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?function(e){return function(){this.style.removeProperty(e)}}:"function"==typeof t?function(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}:function(e,t,n){return function(){this.style.setProperty(e,t,n)}})(e,t,null==n?"":n)):Mh(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?function(e){return function(){delete this[e]}}:"function"==typeof t?function(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}:function(e,t){return function(){this[e]=t}})(e,t)):this.node()[e]},classed:function(e,t){var n=Mp(e+"");if(arguments.length<2){for(var r=Mg(this.node()),a=-1,i=n.length;++a<i;)if(!r.contains(n[a]))return!1;return!0}return this.each(("function"==typeof t?function(e,t){return function(){(t.apply(this,arguments)?Mv:Mb)(this,e)}}:t?function(e){return function(){Mv(this,e)}}:function(e){return function(){Mb(this,e)}})(n,t))},text:function(e){return arguments.length?this.each(null==e?My:("function"==typeof e?function(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}:function(e){return function(){this.textContent=e}})(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?Mw:("function"==typeof e?function(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}:function(e){return function(){this.innerHTML=e}})(e)):this.node().innerHTML},raise:function(){return this.each(Mj)},lower:function(){return this.each(Mk)},append:function(e){var t="function"==typeof e?e:MN(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})},insert:function(e,t){var n="function"==typeof e?e:MN(e),r=null==t?MC:"function"==typeof t?t:S4(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(MS)},clone:function(e){return this.select(e?ME:MM)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,n){var r,a,i=(e+"").trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}),o=i.length;if(arguments.length<2){var l=this.node().__on;if(l){for(var s,c=0,d=l.length;c<d;++c)for(r=0,s=l[c];r<o;++r)if((a=i[r]).type===s.type&&a.name===s.name)return s.value}return}for(r=0,l=t?MP:MI;r<o;++r)this.each(l(i[r],t,n));return this},dispatch:function(e,t){return this.each(("function"==typeof t?function(e,t){return function(){return MO(this,e,t.apply(this,arguments))}}:function(e,t){return function(){return MO(this,e,t)}})(e,t))},[Symbol.iterator]:function*(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r,a=e[t],i=0,o=a.length;i<o;++i)(r=a[i])&&(yield r)}};let MD={passive:!1},ML={capture:!0,passive:!1};function M$(e){e.stopImmediatePropagation()}function MF(e){e.preventDefault(),e.stopImmediatePropagation()}function MB(e){var t=e.document.documentElement,n=MR(e).on("dragstart.drag",MF,ML);"onselectstart"in t?n.on("selectstart.drag",MF,ML):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function MV(e,t){var n=e.document.documentElement,r=MR(e).on("dragstart.drag",null);t&&(r.on("click.drag",MF,ML),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}let MH=e=>()=>e;function MU(e,{sourceEvent:t,subject:n,target:r,identifier:a,active:i,x:o,y:l,dx:s,dy:c,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:a,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:d}})}function Mq(e){return!e.ctrlKey&&!e.button}function MW(){return this.parentNode}function MK(e,t){return null==t?{x:e.x,y:e.y}:t}function MG(){return navigator.maxTouchPoints||"ontouchstart"in this}function MX(){var e,t,n,r,a=Mq,i=MW,o=MK,l=MG,s={},c=S1("start","drag","end"),d=0,u=0;function f(e){e.on("mousedown.drag",m).filter(l).on("touchstart.drag",g).on("touchmove.drag",x,MD).on("touchend.drag touchcancel.drag",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(o,l){if(!r&&a.call(this,o,l)){var s=b(this,i.call(this,o,l),o,l,"mouse");s&&(MR(o.view).on("mousemove.drag",h,ML).on("mouseup.drag",p,ML),MB(o.view),M$(o),n=!1,e=o.clientX,t=o.clientY,s("start",o))}}function h(r){if(MF(r),!n){var a=r.clientX-e,i=r.clientY-t;n=a*a+i*i>u}s.mouse("drag",r)}function p(e){MR(e.view).on("mousemove.drag mouseup.drag",null),MV(e.view,n),MF(e),s.mouse("end",e)}function g(e,t){if(a.call(this,e,t)){var n,r,o=e.changedTouches,l=i.call(this,e,t),s=o.length;for(n=0;n<s;++n)(r=b(this,l,e,t,o[n].identifier,o[n]))&&(M$(e),r("start",e,o[n]))}}function x(e){var t,n,r=e.changedTouches,a=r.length;for(t=0;t<a;++t)(n=s[r[t].identifier])&&(MF(e),n("drag",e,r[t]))}function v(e){var t,n,a=e.changedTouches,i=a.length;for(r&&clearTimeout(r),r=setTimeout(function(){r=null},500),t=0;t<i;++t)(n=s[a[t].identifier])&&(M$(e),n("end",e,a[t]))}function b(e,t,n,r,a,i){var l,u,m,h=c.copy(),p=M_(i||n,t);if(null!=(m=o.call(e,new MU("beforestart",{sourceEvent:n,target:f,identifier:a,active:d,x:p[0],y:p[1],dx:0,dy:0,dispatch:h}),r)))return l=m.x-p[0]||0,u=m.y-p[1]||0,function n(i,o,c){var g,x=p;switch(i){case"start":s[a]=n,g=d++;break;case"end":delete s[a],--d;case"drag":p=M_(c||o,t),g=d}h.call(i,e,new MU(i,{sourceEvent:o,subject:m,target:f,identifier:a,active:g,x:p[0]+l,y:p[1]+u,dx:p[0]-x[0],dy:p[1]-x[1],dispatch:h}),r)}}return f.filter=function(e){return arguments.length?(a="function"==typeof e?e:MH(!!e),f):a},f.container=function(e){return arguments.length?(i="function"==typeof e?e:MH(e),f):i},f.subject=function(e){return arguments.length?(o="function"==typeof e?e:MH(e),f):o},f.touchable=function(e){return arguments.length?(l="function"==typeof e?e:MH(!!e),f):l},f.on=function(){var e=c.on.apply(c,arguments);return e===c?f:e},f.clickDistance=function(e){return arguments.length?(u=(e*=1)*e,f):Math.sqrt(u)},f}function MY(e){return((e=Math.exp(e))+1/e)/2}MU.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};let MZ=function e(t,n,r){function a(e,a){var i,o,l=e[0],s=e[1],c=e[2],d=a[0],u=a[1],f=a[2],m=d-l,h=u-s,p=m*m+h*h;if(p<1e-12)o=Math.log(f/c)/t,i=function(e){return[l+e*m,s+e*h,c*Math.exp(t*e*o)]};else{var g=Math.sqrt(p),x=(f*f-c*c+r*p)/(2*c*n*g),v=(f*f-c*c-r*p)/(2*f*n*g),b=Math.log(Math.sqrt(x*x+1)-x);o=(Math.log(Math.sqrt(v*v+1)-v)-b)/t,i=function(e){var r,a,i=e*o,d=MY(b),u=c/(n*g)*(d*(((r=Math.exp(2*(r=t*i+b)))-1)/(r+1))-((a=Math.exp(a=b))-1/a)/2);return[l+u*m,s+u*h,c*d/MY(t*i+b)]}}return i.duration=1e3*o*t/Math.SQRT2,i}return a.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},a}(Math.SQRT2,2,4);var MJ,MQ,M0,M1,M2,M5,M3,M4,M6,M8,M7,M9,Ee,Et,En,Er,Ea,Ei,Eo,El,Es,Ec,Ed,Eu,Ef,Em,Eh,Ep,Eg,Ex,Ev,Eb,Ey,Ew,Ej,Ek,EN,EC,ES,EM,EE,EI,EP,EO,Ez,EA,ET=0,ER=0,E_=0,ED=0,EL=0,E$=0,EF="object"==typeof performance&&performance.now?performance:Date,EB="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function EV(){return EL||(EB(EH),EL=EF.now()+E$)}function EH(){EL=0}function EU(){this._call=this._time=this._next=null}function Eq(e,t,n){var r=new EU;return r.restart(e,t,n),r}function EW(){EL=(ED=EF.now())+E$,ET=ER=0;try{EV(),++ET;for(var e,t=Ez;t;)(e=EL-t._time)>=0&&t._call.call(void 0,e),t=t._next;--ET}finally{ET=0,function(){for(var e,t,n=Ez,r=1/0;n;)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:Ez=t);EA=e,EG(r)}(),EL=0}}function EK(){var e=EF.now(),t=e-ED;t>1e3&&(E$-=t,ED=e)}function EG(e){!ET&&(ER&&(ER=clearTimeout(ER)),e-EL>24?(e<1/0&&(ER=setTimeout(EW,e-EF.now()-E$)),E_&&(E_=clearInterval(E_))):(E_||(ED=EF.now(),E_=setInterval(EK,1e3)),ET=1,EB(EW)))}function EX(e,t,n){var r=new EU;return t=null==t?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}EU.prototype=Eq.prototype={constructor:EU,restart:function(e,t,n){if("function"!=typeof e)throw TypeError("callback is not a function");n=(null==n?EV():+n)+(null==t?0:+t),this._next||EA===this||(EA?EA._next=this:Ez=this,EA=this),this._call=e,this._time=n,EG()},stop:function(){this._call&&(this._call=null,this._time=1/0,EG())}};var EY=S1("start","end","cancel","interrupt"),EZ=[];function EJ(e,t,n,r,a,i){var o=e.__transition;if(o){if(n in o)return}else e.__transition={};!function(e,t,n){var r,a=e.__transition;function i(s){var c,d,u,f;if(1!==n.state)return l();for(c in a)if((f=a[c]).name===n.name){if(3===f.state)return EX(i);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",e,e.__data__,f.index,f.group),delete a[c]):+c<t&&(f.state=6,f.timer.stop(),f.on.call("cancel",e,e.__data__,f.index,f.group),delete a[c])}if(EX(function(){3===n.state&&(n.state=4,n.timer.restart(o,n.delay,n.time),o(s))}),n.state=2,n.on.call("start",e,e.__data__,n.index,n.group),2===n.state){for(c=0,n.state=3,r=Array(u=n.tween.length),d=-1;c<u;++c)(f=n.tween[c].value.call(e,e.__data__,n.index,n.group))&&(r[++d]=f);r.length=d+1}}function o(t){for(var a=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(l),n.state=5,1),i=-1,o=r.length;++i<o;)r[i].call(e,a);5===n.state&&(n.on.call("end",e,e.__data__,n.index,n.group),l())}function l(){for(var r in n.state=6,n.timer.stop(),delete a[t],a)return;delete e.__transition}a[t]=n,n.timer=Eq(function(e){n.state=1,n.timer.restart(i,n.delay,n.time),n.delay<=e&&i(e-n.delay)},0,n.time)}(e,n,{name:t,index:r,group:a,on:EY,tween:EZ,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:0})}function EQ(e,t){var n=E1(e,t);if(n.state>0)throw Error("too late; already scheduled");return n}function E0(e,t){var n=E1(e,t);if(n.state>3)throw Error("too late; already running");return n}function E1(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error("transition not found");return n}function E2(e,t){var n,r,a,i=e.__transition,o=!0;if(i){for(a in t=null==t?null:t+"",i){if((n=i[a]).name!==t){o=!1;continue}r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete i[a]}o&&delete e.__transition}}var E5=180/Math.PI,E3={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function E4(e,t,n,r,a,i){var o,l,s;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(s=e*n+t*r)&&(n-=e*s,r-=t*s),(l=Math.sqrt(n*n+r*r))&&(n/=l,r/=l,s/=l),e*r<t*n&&(e=-e,t=-t,s=-s,o=-o),{translateX:a,translateY:i,rotate:Math.atan2(t,e)*E5,skewX:Math.atan(s)*E5,scaleX:o,scaleY:l}}function E6(e,t,n,r){function a(e){return e.length?e.pop()+" ":""}return function(i,o){var l,s,c,d,u=[],f=[];return i=e(i),o=e(o),!function(e,r,a,i,o,l){if(e!==a||r!==i){var s=o.push("translate(",null,t,null,n);l.push({i:s-4,x:oM(e,a)},{i:s-2,x:oM(r,i)})}else(a||i)&&o.push("translate("+a+t+i+n)}(i.translateX,i.translateY,o.translateX,o.translateY,u,f),l=i.rotate,s=o.rotate,l!==s?(l-s>180?s+=360:s-l>180&&(l+=360),f.push({i:u.push(a(u)+"rotate(",null,r)-2,x:oM(l,s)})):s&&u.push(a(u)+"rotate("+s+r),c=i.skewX,d=o.skewX,c!==d?f.push({i:u.push(a(u)+"skewX(",null,r)-2,x:oM(c,d)}):d&&u.push(a(u)+"skewX("+d+r),!function(e,t,n,r,i,o){if(e!==n||t!==r){var l=i.push(a(i)+"scale(",null,",",null,")");o.push({i:l-4,x:oM(e,n)},{i:l-2,x:oM(t,r)})}else(1!==n||1!==r)&&i.push(a(i)+"scale("+n+","+r+")")}(i.scaleX,i.scaleY,o.scaleX,o.scaleY,u,f),i=o=null,function(e){for(var t,n=-1,r=f.length;++n<r;)u[(t=f[n]).i]=t.x(e);return u.join("")}}}var E8=E6(function(e){let t=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?E3:E4(t.a,t.b,t.c,t.d,t.e,t.f)},"px, ","px)","deg)"),E7=E6(function(e){return null==e?E3:(y||(y=document.createElementNS("http://www.w3.org/2000/svg","g")),y.setAttribute("transform",e),e=y.transform.baseVal.consolidate())?E4((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):E3},", ",")",")");function E9(e,t,n){var r=e._id;return e.each(function(){var e=E0(this,r);(e.value||(e.value={}))[t]=n.apply(this,arguments)}),function(e){return E1(e,r).value[t]}}function Ie(e,t){var n;return("number"==typeof t?oM:t instanceof oo?oC:(n=oo(t))?(t=n,oC):oP)(e,t)}var It=MT.prototype.constructor;function In(e){return function(){this.style.removeProperty(e)}}var Ir=0;function Ia(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}var Ii=MT.prototype;Ia.prototype=(function(e){return MT().transition(e)}).prototype={constructor:Ia,select:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=S4(e));for(var r=this._groups,a=r.length,i=Array(a),o=0;o<a;++o)for(var l,s,c=r[o],d=c.length,u=i[o]=Array(d),f=0;f<d;++f)(l=c[f])&&(s=e.call(l,l.__data__,f,c))&&("__data__"in l&&(s.__data__=l.__data__),u[f]=s,EJ(u[f],t,n,f,u,E1(l,n)));return new Ia(i,this._parents,t,n)},selectAll:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=S8(e));for(var r=this._groups,a=r.length,i=[],o=[],l=0;l<a;++l)for(var s,c=r[l],d=c.length,u=0;u<d;++u)if(s=c[u]){for(var f,m=e.call(s,s.__data__,u,c),h=E1(s,n),p=0,g=m.length;p<g;++p)(f=m[p])&&EJ(f,t,n,p,m,h);i.push(m),o.push(s)}return new Ia(i,o,t,n)},selectChild:Ii.selectChild,selectChildren:Ii.selectChildren,filter:function(e){"function"!=typeof e&&(e=S7(e));for(var t=this._groups,n=t.length,r=Array(n),a=0;a<n;++a)for(var i,o=t[a],l=o.length,s=r[a]=[],c=0;c<l;++c)(i=o[c])&&e.call(i,i.__data__,c,o)&&s.push(i);return new Ia(r,this._parents,this._name,this._id)},merge:function(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,a=n.length,i=Math.min(r,a),o=Array(r),l=0;l<i;++l)for(var s,c=t[l],d=n[l],u=c.length,f=o[l]=Array(u),m=0;m<u;++m)(s=c[m]||d[m])&&(f[m]=s);for(;l<r;++l)o[l]=t[l];return new Ia(o,this._parents,this._name,this._id)},selection:function(){return new It(this._groups,this._parents)},transition:function(){for(var e=this._name,t=this._id,n=++Ir,r=this._groups,a=r.length,i=0;i<a;++i)for(var o,l=r[i],s=l.length,c=0;c<s;++c)if(o=l[c]){var d=E1(o,t);EJ(o,e,n,c,l,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Ia(r,this._parents,e,n)},call:Ii.call,nodes:Ii.nodes,node:Ii.node,size:Ii.size,empty:Ii.empty,each:Ii.each,on:function(e,t){var n,r,a,i,o,l,s=this._id;return arguments.length<2?E1(this.node(),s).on.on(e):this.each((n=s,r=e,a=t,l=(r+"").trim().split(/^|\s+/).every(function(e){var t=e.indexOf(".");return t>=0&&(e=e.slice(0,t)),!e||"start"===e})?EQ:E0,function(){var e=l(this,n),t=e.on;t!==i&&(o=(i=t).copy()).on(r,a),e.on=o}))},attr:function(e,t){var n=Mf(e),r="transform"===n?E7:Ie;return this.attrTween(e,"function"==typeof t?(n.local?function(e,t,n){var r,a,i;return function(){var o,l,s=n(this);return null==s?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local))===(l=s+"")?null:o===r&&l===a?i:(a=l,i=t(r=o,s))}}:function(e,t,n){var r,a,i;return function(){var o,l,s=n(this);return null==s?void this.removeAttribute(e):(o=this.getAttribute(e))===(l=s+"")?null:o===r&&l===a?i:(a=l,i=t(r=o,s))}})(n,r,E9(this,"attr."+e,t)):null==t?(n.local?function(e){return function(){this.removeAttributeNS(e.space,e.local)}}:function(e){return function(){this.removeAttribute(e)}})(n):(n.local?function(e,t,n){var r,a,i=n+"";return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}:function(e,t,n){var r,a,i=n+"";return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}})(n,r,t))},attrTween:function(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw Error();var r=Mf(e);return this.tween(n,(r.local?function(e,t){var n,r;function a(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&function(t){this.setAttributeNS(e.space,e.local,a.call(this,t))}),n}return a._value=t,a}:function(e,t){var n,r;function a(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&function(t){this.setAttribute(e,a.call(this,t))}),n}return a._value=t,a})(r,t))},style:function(e,t,n){var r,a,i,o,l,s,c,d,u,f,m,h,p,g,x,v,b,y,w,j,k,N="transform"==(e+="")?E8:Ie;return null==t?this.styleTween(e,(r=e,function(){var e=Mh(this,r),t=(this.style.removeProperty(r),Mh(this,r));return e===t?null:e===a&&t===i?o:o=N(a=e,i=t)})).on("end.style."+e,In(e)):"function"==typeof t?this.styleTween(e,(l=e,s=E9(this,"style."+e,t),function(){var e=Mh(this,l),t=s(this),n=t+"";return null==t&&(this.style.removeProperty(l),n=t=Mh(this,l)),e===n?null:e===c&&n===d?u:(d=n,u=N(c=e,t))})).each((f=this._id,b="end."+(v="style."+(m=e)),function(){var e=E0(this,f),t=e.on,n=null==e.value[v]?x||(x=In(m)):void 0;(t!==h||g!==n)&&(p=(h=t).copy()).on(b,g=n),e.on=p})):this.styleTween(e,(y=e,k=t+"",function(){var e=Mh(this,y);return e===k?null:e===w?j:j=N(w=e,t)}),n).on("end.style."+e,null)},styleTween:function(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==t)return this.tween(r,null);if("function"!=typeof t)throw Error();return this.tween(r,function(e,t,n){var r,a;function i(){var i=t.apply(this,arguments);return i!==a&&(r=(a=i)&&function(t){this.style.setProperty(e,i.call(this,t),n)}),r}return i._value=t,i}(e,t,null==n?"":n))},text:function(e){var t,n;return this.tween("text","function"==typeof e?(t=E9(this,"text",e),function(){var e=t(this);this.textContent=null==e?"":e}):(n=null==e?"":e+"",function(){this.textContent=n}))},textTween:function(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!=typeof e)throw Error();return this.tween(t,function(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&function(e){this.textContent=r.call(this,e)}),t}return r._value=e,r}(e))},remove:function(){var e;return this.on("end.remove",(e=this._id,function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}))},tween:function(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r,a=E1(this.node(),n).tween,i=0,o=a.length;i<o;++i)if((r=a[i]).name===e)return r.value;return null}return this.each((null==t?function(e,t){var n,r;return function(){var a=E0(this,e),i=a.tween;if(i!==n){r=n=i;for(var o=0,l=r.length;o<l;++o)if(r[o].name===t){(r=r.slice()).splice(o,1);break}}a.tween=r}}:function(e,t,n){var r,a;if("function"!=typeof n)throw Error();return function(){var i=E0(this,e),o=i.tween;if(o!==r){a=(r=o).slice();for(var l={name:t,value:n},s=0,c=a.length;s<c;++s)if(a[s].name===t){a[s]=l;break}s===c&&a.push(l)}i.tween=a}})(n,e,t))},delay:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?function(e,t){return function(){EQ(this,e).delay=+t.apply(this,arguments)}}:function(e,t){return t*=1,function(){EQ(this,e).delay=t}})(t,e)):E1(this.node(),t).delay},duration:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?function(e,t){return function(){E0(this,e).duration=+t.apply(this,arguments)}}:function(e,t){return t*=1,function(){E0(this,e).duration=t}})(t,e)):E1(this.node(),t).duration},ease:function(e){var t=this._id;return arguments.length?this.each(function(e,t){if("function"!=typeof t)throw Error();return function(){E0(this,e).ease=t}}(t,e)):E1(this.node(),t).ease},easeVarying:function(e){var t;if("function"!=typeof e)throw Error();return this.each((t=this._id,function(){var n=e.apply(this,arguments);if("function"!=typeof n)throw Error();E0(this,t).ease=n}))},end:function(){var e,t,n=this,r=n._id,a=n.size();return new Promise(function(i,o){var l={value:o},s={value:function(){0==--a&&i()}};n.each(function(){var n=E0(this,r),a=n.on;a!==e&&((t=(e=a).copy())._.cancel.push(l),t._.interrupt.push(l),t._.end.push(s)),n.on=t}),0===a&&i()})},[Symbol.iterator]:Ii[Symbol.iterator]};var Io={time:null,delay:0,duration:250,ease:function(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}};MT.prototype.interrupt=function(e){return this.each(function(){E2(this,e)})},MT.prototype.transition=function(e){var t,n;e instanceof Ia?(t=e._id,e=e._name):(t=++Ir,(n=Io).time=EV(),e=null==e?null:e+"");for(var r=this._groups,a=r.length,i=0;i<a;++i)for(var o,l=r[i],s=l.length,c=0;c<s;++c)(o=l[c])&&EJ(o,e,t,c,l,n||function(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}(o,t));return new Ia(r,this._parents,e,t)};let Il=e=>()=>e;function Is(e,{sourceEvent:t,target:n,transform:r,dispatch:a}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:a}})}function Ic(e,t,n){this.k=e,this.x=t,this.y=n}Ic.prototype={constructor:Ic,scale:function(e){return 1===e?this:new Ic(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new Ic(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Id=new Ic(1,0,0);function Iu(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Id;return e.__zoom}function If(e){e.stopImmediatePropagation()}function Im(e){e.preventDefault(),e.stopImmediatePropagation()}function Ih(e){return(!e.ctrlKey||"wheel"===e.type)&&!e.button}function Ip(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]:[[0,0],[e.clientWidth,e.clientHeight]]}function Ig(){return this.__zoom||Id}function Ix(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Iv(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ib(e,t,n){var r=e.invertX(t[0][0])-n[0][0],a=e.invertX(t[1][0])-n[1][0],i=e.invertY(t[0][1])-n[0][1],o=e.invertY(t[1][1])-n[1][1];return e.translate(a>r?(r+a)/2:Math.min(0,r)||Math.max(0,a),o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o))}function Iy(){var e,t,n,r=Ih,a=Ip,i=Ib,o=Ix,l=Iv,s=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],d=250,u=MZ,f=S1("start","zoom","end"),m=0,h=10;function p(e){e.property("__zoom",Ig).on("wheel.zoom",j,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",N).filter(l).on("touchstart.zoom",C).on("touchmove.zoom",S).on("touchend.zoom touchcancel.zoom",M).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(e,t){return(t=Math.max(s[0],Math.min(s[1],t)))===e.k?e:new Ic(t,e.x,e.y)}function x(e,t,n){var r=t[0]-n[0]*e.k,a=t[1]-n[1]*e.k;return r===e.x&&a===e.y?e:new Ic(e.k,r,a)}function v(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function b(e,t,n,r){e.on("start.zoom",function(){y(this,arguments).event(r).start()}).on("interrupt.zoom end.zoom",function(){y(this,arguments).event(r).end()}).tween("zoom",function(){var e=arguments,i=y(this,e).event(r),o=a.apply(this,e),l=null==n?v(o):"function"==typeof n?n.apply(this,e):n,s=Math.max(o[1][0]-o[0][0],o[1][1]-o[0][1]),c=this.__zoom,d="function"==typeof t?t.apply(this,e):t,f=u(c.invert(l).concat(s/c.k),d.invert(l).concat(s/d.k));return function(e){if(1===e)e=d;else{var t=f(e),n=s/t[2];e=new Ic(n,l[0]-t[0]*n,l[1]-t[1]*n)}i.zoom(null,e)}})}function y(e,t,n){return!n&&e.__zooming||new w(e,t)}function w(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=a.apply(e,t),this.taps=0}function j(e,...t){if(r.apply(this,arguments)){var n=y(this,t).event(e),a=this.__zoom,l=Math.max(s[0],Math.min(s[1],a.k*Math.pow(2,o.apply(this,arguments)))),d=M_(e);if(n.wheel)(n.mouse[0][0]!==d[0]||n.mouse[0][1]!==d[1])&&(n.mouse[1]=a.invert(n.mouse[0]=d)),clearTimeout(n.wheel);else{if(a.k===l)return;n.mouse=[d,a.invert(d)],E2(this),n.start()}Im(e),n.wheel=setTimeout(function(){n.wheel=null,n.end()},150),n.zoom("mouse",i(x(g(a,l),n.mouse[0],n.mouse[1]),n.extent,c))}}function k(e,...t){if(!n&&r.apply(this,arguments)){var a=e.currentTarget,o=y(this,t,!0).event(e),l=MR(e.view).on("mousemove.zoom",function(e){if(Im(e),!o.moved){var t=e.clientX-d,n=e.clientY-u;o.moved=t*t+n*n>m}o.event(e).zoom("mouse",i(x(o.that.__zoom,o.mouse[0]=M_(e,a),o.mouse[1]),o.extent,c))},!0).on("mouseup.zoom",function(e){l.on("mousemove.zoom mouseup.zoom",null),MV(e.view,o.moved),Im(e),o.event(e).end()},!0),s=M_(e,a),d=e.clientX,u=e.clientY;MB(e.view),If(e),o.mouse=[s,this.__zoom.invert(s)],E2(this),o.start()}}function N(e,...t){if(r.apply(this,arguments)){var n=this.__zoom,o=M_(e.changedTouches?e.changedTouches[0]:e,this),l=n.invert(o),s=n.k*(e.shiftKey?.5:2),u=i(x(g(n,s),o,l),a.apply(this,t),c);Im(e),d>0?MR(this).transition().duration(d).call(b,u,o,e):MR(this).call(p.transform,u,o,e)}}function C(n,...a){if(r.apply(this,arguments)){var i,o,l,s,c=n.touches,d=c.length,u=y(this,a,n.changedTouches.length===d).event(n);for(If(n),o=0;o<d;++o)s=[s=M_(l=c[o],this),this.__zoom.invert(s),l.identifier],u.touch0?u.touch1||u.touch0[2]===s[2]||(u.touch1=s,u.taps=0):(u.touch0=s,i=!0,u.taps=1+!!e);e&&(e=clearTimeout(e)),i&&(u.taps<2&&(t=s[0],e=setTimeout(function(){e=null},500)),E2(this),u.start())}}function S(e,...t){if(this.__zooming){var n,r,a,o,l=y(this,t).event(e),s=e.changedTouches,d=s.length;for(Im(e),n=0;n<d;++n)a=M_(r=s[n],this),l.touch0&&l.touch0[2]===r.identifier?l.touch0[0]=a:l.touch1&&l.touch1[2]===r.identifier&&(l.touch1[0]=a);if(r=l.that.__zoom,l.touch1){var u=l.touch0[0],f=l.touch0[1],m=l.touch1[0],h=l.touch1[1],p=(p=m[0]-u[0])*p+(p=m[1]-u[1])*p,v=(v=h[0]-f[0])*v+(v=h[1]-f[1])*v;r=g(r,Math.sqrt(p/v)),a=[(u[0]+m[0])/2,(u[1]+m[1])/2],o=[(f[0]+h[0])/2,(f[1]+h[1])/2]}else{if(!l.touch0)return;a=l.touch0[0],o=l.touch0[1]}l.zoom("touch",i(x(r,a,o),l.extent,c))}}function M(e,...r){if(this.__zooming){var a,i,o=y(this,r).event(e),l=e.changedTouches,s=l.length;for(If(e),n&&clearTimeout(n),n=setTimeout(function(){n=null},500),a=0;a<s;++a)i=l[a],o.touch0&&o.touch0[2]===i.identifier?delete o.touch0:o.touch1&&o.touch1[2]===i.identifier&&delete o.touch1;if(o.touch1&&!o.touch0&&(o.touch0=o.touch1,delete o.touch1),o.touch0)o.touch0[1]=this.__zoom.invert(o.touch0[0]);else if(o.end(),2===o.taps&&(i=M_(i,this),Math.hypot(t[0]-i[0],t[1]-i[1])<h)){var c=MR(this).on("dblclick.zoom");c&&c.apply(this,arguments)}}}return p.transform=function(e,t,n,r){var a=e.selection?e.selection():e;a.property("__zoom",Ig),e!==a?b(e,t,n,r):a.interrupt().each(function(){y(this,arguments).event(r).start().zoom(null,"function"==typeof t?t.apply(this,arguments):t).end()})},p.scaleBy=function(e,t,n,r){p.scaleTo(e,function(){var e=this.__zoom.k,n="function"==typeof t?t.apply(this,arguments):t;return e*n},n,r)},p.scaleTo=function(e,t,n,r){p.transform(e,function(){var e=a.apply(this,arguments),r=this.__zoom,o=null==n?v(e):"function"==typeof n?n.apply(this,arguments):n,l=r.invert(o),s="function"==typeof t?t.apply(this,arguments):t;return i(x(g(r,s),o,l),e,c)},n,r)},p.translateBy=function(e,t,n,r){p.transform(e,function(){return i(this.__zoom.translate("function"==typeof t?t.apply(this,arguments):t,"function"==typeof n?n.apply(this,arguments):n),a.apply(this,arguments),c)},null,r)},p.translateTo=function(e,t,n,r,o){p.transform(e,function(){var e=a.apply(this,arguments),o=this.__zoom,l=null==r?v(e):"function"==typeof r?r.apply(this,arguments):r;return i(Id.translate(l[0],l[1]).scale(o.k).translate("function"==typeof t?-t.apply(this,arguments):-t,"function"==typeof n?-n.apply(this,arguments):-n),e,c)},r,o)},w.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(e,t){return this.mouse&&"mouse"!==e&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&"touch"!==e&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&"touch"!==e&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(e){var t=MR(this.that).datum();f.call(e,this.that,new Is(e,{sourceEvent:this.sourceEvent,target:p,type:e,transform:this.that.__zoom,dispatch:f}),t)}},p.wheelDelta=function(e){return arguments.length?(o="function"==typeof e?e:Il(+e),p):o},p.filter=function(e){return arguments.length?(r="function"==typeof e?e:Il(!!e),p):r},p.touchable=function(e){return arguments.length?(l="function"==typeof e?e:Il(!!e),p):l},p.extent=function(e){return arguments.length?(a="function"==typeof e?e:Il([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),p):a},p.scaleExtent=function(e){return arguments.length?(s[0]=+e[0],s[1]=+e[1],p):[s[0],s[1]]},p.translateExtent=function(e){return arguments.length?(c[0][0]=+e[0][0],c[1][0]=+e[1][0],c[0][1]=+e[0][1],c[1][1]=+e[1][1],p):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},p.constrain=function(e){return arguments.length?(i=e,p):i},p.duration=function(e){return arguments.length?(d=+e,p):d},p.interpolate=function(e){return arguments.length?(u=e,p):u},p.on=function(){var e=f.on.apply(f,arguments);return e===f?p:e},p.clickDistance=function(e){return arguments.length?(m=(e*=1)*e,p):Math.sqrt(m)},p.tapDistance=function(e){return arguments.length?(h=+e,p):h},p}Iu.prototype=Ic.prototype;let Iw=[[-1/0,-1/0],[1/0,1/0]],Ij=["Enter"," ","Escape"],Ik={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};(u=w||(w={})).Strict="strict",u.Loose="loose",(f=j||(j={})).Free="free",f.Vertical="vertical",f.Horizontal="horizontal",(m=k||(k={})).Partial="partial",m.Full="full";let IN={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};(h=N||(N={})).Bezier="default",h.Straight="straight",h.Step="step",h.SmoothStep="smoothstep",h.SimpleBezier="simplebezier",(p=C||(C={})).Arrow="arrow",p.ArrowClosed="arrowclosed",(g=S||(S={})).Left="left",g.Top="top",g.Right="right",g.Bottom="bottom";let IC={[S.Left]:S.Right,[S.Right]:S.Left,[S.Top]:S.Bottom,[S.Bottom]:S.Top};function IS(e){return null===e?null:e?"valid":"invalid"}let IM=e=>"id"in e&&"source"in e&&"target"in e,IE=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),II=(e,t=[0,0])=>{let{width:n,height:r}=I5(e),a=e.origin??t,i=n*a[0],o=r*a[1];return{x:e.position.x-i,y:e.position.y-o}},IP=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(e=>{(void 0===t.filter||t.filter(e))&&(n=IF(n,IU(e)),r=!0)}),r?IV(n):{x:0,y:0,width:0,height:0}},IO=(e,t,[n,r,a]=[0,0,1],i=!1,o=!1)=>{let l={...IZ(t,[n,r,a]),width:t.width/a,height:t.height/a},s=[];for(let t of e.values()){let{measured:e,selectable:n=!0,hidden:r=!1}=t;if(o&&!n||r)continue;let a=e.width??t.width??t.initialWidth??null,c=e.height??t.height??t.initialHeight??null,d=IW(l,IH(t)),u=(a??0)*(c??0),f=i&&d>0;(!t.internals.handleBounds||f||d>=u||t.dragging)&&s.push(t)}return s};async function Iz({nodes:e,width:t,height:n,panZoom:r,minZoom:a,maxZoom:i},o){let l,s;if(0===e.size)return Promise.resolve(!0);let c=I0(IP((l=new Map,s=o?.nodes?new Set(o.nodes.map(e=>e.id)):null,e.forEach(e=>{e.measured.width&&e.measured.height&&(o?.includeHiddenNodes||!e.hidden)&&(!s||s.has(e.id))&&l.set(e.id,e)}),l)),t,n,o?.minZoom??a,o?.maxZoom??i,o?.padding??.1);return await r.setViewport(c,{duration:o?.duration,ease:o?.ease,interpolate:o?.interpolate}),Promise.resolve(!0)}function IA({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:a,onError:i}){let o=n.get(e),l=o.parentId?n.get(o.parentId):void 0,{x:s,y:c}=l?l.internals.positionAbsolute:{x:0,y:0},d=o.origin??r,u=o.extent||a;if("parent"!==o.extent||o.expandParent)l&&I2(o.extent)&&(u=[[o.extent[0][0]+s,o.extent[0][1]+c],[o.extent[1][0]+s,o.extent[1][1]+c]]);else if(l){let e=l.measured.width,t=l.measured.height;e&&t&&(u=[[s,c],[s+e,c+t]])}else i?.("005","Only child nodes can use a parent extent.");let f=I2(u)?I_(t,u,o.measured):t;return(void 0===o.measured.width||void 0===o.measured.height)&&i?.("015","It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."),{position:{x:f.x-s+(o.measured.width??0)*d[0],y:f.y-c+(o.measured.height??0)*d[1]},positionAbsolute:f}}async function IT({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:a}){let i,o=new Set(e.map(e=>e.id)),l=[];for(let e of n){if(!1===e.deletable)continue;let t=o.has(e.id),n=!t&&e.parentId&&l.find(t=>t.id===e.parentId);(t||n)&&l.push(e)}let s=new Set(t.map(e=>e.id)),c=r.filter(e=>!1!==e.deletable),d=(i=new Set,l.forEach(e=>{i.add(e.id)}),c.filter(e=>i.has(e.source)||i.has(e.target)));for(let e of c)s.has(e.id)&&!d.find(t=>t.id===e.id)&&d.push(e);if(!a)return{edges:d,nodes:l};let u=await a({nodes:l,edges:d});return"boolean"==typeof u?u?{edges:d,nodes:l}:{edges:[],nodes:[]}:u}let IR=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),I_=(e={x:0,y:0},t,n)=>({x:IR(e.x,t[0][0],t[1][0]-(n?.width??0)),y:IR(e.y,t[0][1],t[1][1]-(n?.height??0))});function ID(e,t,n){let{width:r,height:a}=I5(n),{x:i,y:o}=n.internals.positionAbsolute;return I_(e,[[i,o],[i+r,o+a]],t)}let IL=(e,t,n)=>e<t?IR(Math.abs(e-t),1,t)/t:e>n?-IR(Math.abs(e-n),1,t)/t:0,I$=(e,t,n=15,r=40)=>[IL(e.x,r,t.width-r)*n,IL(e.y,r,t.height-r)*n],IF=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),IB=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),IV=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),IH=(e,t=[0,0])=>{let{x:n,y:r}=IE(e)?e.internals.positionAbsolute:II(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},IU=(e,t=[0,0])=>{let{x:n,y:r}=IE(e)?e.internals.positionAbsolute:II(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},Iq=(e,t)=>IV(IF(IB(e),IB(t))),IW=(e,t)=>Math.ceil(Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x))*Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y))),IK=e=>IG(e.width)&&IG(e.height)&&IG(e.x)&&IG(e.y),IG=e=>!isNaN(e)&&isFinite(e),IX=(e,t)=>{},IY=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),IZ=({x:e,y:t},[n,r,a],i=!1,o=[1,1])=>{let l={x:(e-n)/a,y:(t-r)/a};return i?IY(l,o):l},IJ=({x:e,y:t},[n,r,a])=>({x:e*a+n,y:t*a+r});function IQ(e,t){if("number"==typeof e)return Math.floor((t-t/(1+e))*.5);if("string"==typeof e&&e.endsWith("px")){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if("string"==typeof e&&e.endsWith("%")){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}let I0=(e,t,n,r,a,i)=>{let o=function(e,t,n){if("string"==typeof e||"number"==typeof e){let r=IQ(e,n),a=IQ(e,t);return{top:r,right:a,bottom:r,left:a,x:2*a,y:2*r}}if("object"==typeof e){let r=IQ(e.top??e.y??0,n),a=IQ(e.bottom??e.y??0,n),i=IQ(e.left??e.x??0,t),o=IQ(e.right??e.x??0,t);return{top:r,right:o,bottom:a,left:i,x:i+o,y:r+a}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}(i,t,n),l=IR(Math.min((t-o.x)/e.width,(n-o.y)/e.height),r,a),s=e.x+e.width/2,c=e.y+e.height/2,d=t/2-s*l,u=n/2-c*l,f=function(e,t,n,r,a,i){let{x:o,y:l}=IJ(e,[t,n,r]),{x:s,y:c}=IJ({x:e.x+e.width,y:e.y+e.height},[t,n,r]);return{left:Math.floor(o),top:Math.floor(l),right:Math.floor(a-s),bottom:Math.floor(i-c)}}(e,d,u,l,t,n),m={left:Math.min(f.left-o.left,0),top:Math.min(f.top-o.top,0),right:Math.min(f.right-o.right,0),bottom:Math.min(f.bottom-o.bottom,0)};return{x:d-m.left+m.right,y:u-m.top+m.bottom,zoom:l}},I1=()=>"u">typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0;function I2(e){return null!=e&&"parent"!==e}function I5(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function I3(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function I4(e,t={width:0,height:0},n,r,a){let i={...e},o=r.get(n);if(o){let e=o.origin||a;i.x+=o.internals.positionAbsolute.x-(t.width??0)*e[0],i.y+=o.internals.positionAbsolute.y-(t.height??0)*e[1]}return i}function I6(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function I8(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:a}){let{x:i,y:o}=Pn(e),l=IZ({x:i-(a?.left??0),y:o-(a?.top??0)},r),{x:s,y:c}=n?IY(l,t):l;return{xSnapped:s,ySnapped:c,...l}}let I7=e=>({width:e.offsetWidth,height:e.offsetHeight}),I9=e=>e?.getRootNode?.()||window?.document,Pe=["INPUT","SELECT","TEXTAREA"];function Pt(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType===1&&(Pe.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey"))}let Pn=(e,t)=>{let n="clientX"in e,r=n?e.clientX:e.touches?.[0].clientX,a=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:a-(t?.top??0)}},Pr=(e,t,n,r,a)=>{let i=t.querySelectorAll(`.${e}`);return i&&i.length?Array.from(i).map(t=>{let i=t.getBoundingClientRect();return{id:t.getAttribute("data-handleid"),type:e,nodeId:a,position:t.getAttribute("data-handlepos"),x:(i.left-n.left)/r,y:(i.top-n.top)/r,...I7(t)}}):null};function Pa({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:a,sourceControlY:i,targetControlX:o,targetControlY:l}){let s=.125*e+.375*a+.375*o+.125*n,c=.125*t+.375*i+.375*l+.125*r,d=Math.abs(s-e),u=Math.abs(c-t);return[s,c,d,u]}function Pi(e,t){return e>=0?.5*e:25*t*Math.sqrt(-e)}function Po({pos:e,x1:t,y1:n,x2:r,y2:a,c:i}){switch(e){case S.Left:return[t-Pi(t-r,i),n];case S.Right:return[t+Pi(r-t,i),n];case S.Top:return[t,n-Pi(n-a,i)];case S.Bottom:return[t,n+Pi(a-n,i)]}}function Pl({sourceX:e,sourceY:t,sourcePosition:n=S.Bottom,targetX:r,targetY:a,targetPosition:i=S.Top,curvature:o=.25}){let[l,s]=Po({pos:n,x1:e,y1:t,x2:r,y2:a,c:o}),[c,d]=Po({pos:i,x1:r,y1:a,x2:e,y2:t,c:o}),[u,f,m,h]=Pa({sourceX:e,sourceY:t,targetX:r,targetY:a,sourceControlX:l,sourceControlY:s,targetControlX:c,targetControlY:d});return[`M${e},${t} C${l},${s} ${c},${d} ${r},${a}`,u,f,m,h]}function Ps({sourceX:e,sourceY:t,targetX:n,targetY:r}){let a=Math.abs(n-e)/2,i=Math.abs(r-t)/2;return[n<e?n+a:n-a,r<t?r+i:r-i,a,i]}let Pc=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`;function Pd({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[a,i,o,l]=Ps({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,a,i,o,l]}let Pu={[S.Left]:{x:-1,y:0},[S.Right]:{x:1,y:0},[S.Top]:{x:0,y:-1},[S.Bottom]:{x:0,y:1}},Pf=({source:e,sourcePosition:t=S.Bottom,target:n})=>t===S.Left||t===S.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},Pm=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function Ph({sourceX:e,sourceY:t,sourcePosition:n=S.Bottom,targetX:r,targetY:a,targetPosition:i=S.Top,borderRadius:o=5,centerX:l,centerY:s,offset:c=20,stepPosition:d=.5}){let[u,f,m,h,p]=function({source:e,sourcePosition:t=S.Bottom,target:n,targetPosition:r=S.Top,center:a,offset:i,stepPosition:o}){let l,s,c=Pu[t],d=Pu[r],u={x:e.x+c.x*i,y:e.y+c.y*i},f={x:n.x+d.x*i,y:n.y+d.y*i},m=Pf({source:u,sourcePosition:t,target:f}),h=0!==m.x?"x":"y",p=m[h],g=[],x={x:0,y:0},v={x:0,y:0},[,,b,y]=Ps({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(c[h]*d[h]==-1){"x"===h?(l=a.x??u.x+(f.x-u.x)*o,s=a.y??(u.y+f.y)/2):(l=a.x??(u.x+f.x)/2,s=a.y??u.y+(f.y-u.y)*o);let e=[{x:l,y:u.y},{x:l,y:f.y}],t=[{x:u.x,y:s},{x:f.x,y:s}];g=c[h]===p?"x"===h?e:t:"x"===h?t:e}else{let a=[{x:u.x,y:f.y}],o=[{x:f.x,y:u.y}];if(g="x"===h?c.x===p?o:a:c.y===p?a:o,t===r){let t=Math.abs(e[h]-n[h]);if(t<=i){let r=Math.min(i-1,i-t);c[h]===p?x[h]=(u[h]>e[h]?-1:1)*r:v[h]=(f[h]>n[h]?-1:1)*r}}if(t!==r){let e="x"===h?"y":"x",t=c[h]===d[e],n=u[e]>f[e],r=u[e]<f[e];(1===c[h]&&(!t&&n||t&&r)||1!==c[h]&&(!t&&r||t&&n))&&(g="x"===h?a:o)}let m={x:u.x+x.x,y:u.y+x.y},b={x:f.x+v.x,y:f.y+v.y};Math.max(Math.abs(m.x-g[0].x),Math.abs(b.x-g[0].x))>=Math.max(Math.abs(m.y-g[0].y),Math.abs(b.y-g[0].y))?(l=(m.x+b.x)/2,s=g[0].y):(l=g[0].x,s=(m.y+b.y)/2)}let w={x:u.x+x.x,y:u.y+x.y},j={x:f.x+v.x,y:f.y+v.y};return[[e,...w.x!==g[0].x||w.y!==g[0].y?[w]:[],...g,...j.x!==g[g.length-1].x||j.y!==g[g.length-1].y?[j]:[],n],l,s,b,y]}({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:a},targetPosition:i,center:{x:l,y:s},offset:c,stepPosition:d}),g=`M${u[0].x} ${u[0].y}`;for(let e=1;e<u.length-1;e++)g+=function(e,t,n,r){let a=Math.min(Pm(e,t)/2,Pm(t,n)/2,r),{x:i,y:o}=t;if(e.x===i&&i===n.x||e.y===o&&o===n.y)return`L${i} ${o}`;if(e.y===o){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${i+a*t},${o}Q ${i},${o} ${i},${o+a*r}`}let l=e.x<n.x?1:-1,s=e.y<n.y?-1:1;return`L ${i},${o+a*s}Q ${i},${o} ${i+a*l},${o}`}(u[e-1],u[e],u[e+1],o);return[g+=`L${u[u.length-1].x} ${u[u.length-1].y}`,f,m,h,p]}function Pp(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function Pg(e){if(!e)return null;let t=[],n=[];for(let r of e)r.width=r.width??1,r.height=r.height??1,"source"===r.type?t.push(r):"target"===r.type&&n.push(r);return{source:t,target:n}}function Px(e,t,n=S.Left,r=!1){let a=(t?.x??0)+e.internals.positionAbsolute.x,i=(t?.y??0)+e.internals.positionAbsolute.y,{width:o,height:l}=t??I5(e);if(r)return{x:a+o/2,y:i+l/2};switch(t?.position??n){case S.Top:return{x:a+o/2,y:i};case S.Right:return{x:a+o,y:i+l/2};case S.Bottom:return{x:a+o/2,y:i+l};case S.Left:return{x:a,y:i+l/2}}}function Pv(e,t){return e&&(t?e.find(e=>e.id===t):e[0])||null}function Pb(e,t){if(!e)return"";if("string"==typeof e)return e;let n=t?`${t}__`:"";return`${n}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join("&")}`}let Py={nodeOrigin:[0,0],nodeExtent:Iw,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},Pw={...Py,checkEquality:!0};function Pj(e,t){let n={...e};for(let e in t)void 0!==t[e]&&(n[e]=t[e]);return n}function Pk(e){return"manual"===e}function PN(e,t,n,r={}){let a=Pj(Pw,r),i={i:0},o=new Map(t),l=a?.elevateNodesOnSelect&&!Pk(a.zIndexMode)?1e3:0,s=e.length>0,c=!1;for(let d of(t.clear(),n.clear(),e)){let e=o.get(d.id);if(a.checkEquality&&d===e?.internals.userNode)t.set(d.id,e);else{let n=I_(II(d,a.nodeOrigin),I2(d.extent)?d.extent:a.nodeExtent,I5(d));e={...a.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:n,handleBounds:function(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;let n=[],r=[];for(let t of e.handles){let a={id:t.id,width:t.width??1,height:t.height??1,nodeId:e.id,x:t.x,y:t.y,position:t.position,type:t.type};"source"===t.type?n.push(a):"target"===t.type&&r.push(a)}return{source:n,target:r}}(d,e),z:PS(d,l,a.zIndexMode),userNode:d}},t.set(d.id,e)}void 0!==e.measured&&void 0!==e.measured.width&&void 0!==e.measured.height||e.hidden||(s=!1),d.parentId&&PC(e,t,n,r,i),c||=d.selected??!1}return{nodesInitialized:s,hasSelectedNodes:c}}function PC(e,t,n,r,a){let{elevateNodesOnSelect:i,nodeOrigin:o,nodeExtent:l,zIndexMode:s}=Pj(Py,r),c=e.parentId,d=t.get(c);if(!d)return void console.warn(`Parent node ${c} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);!function(e,t){if(!e.parentId)return;let n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}(e,n),a&&!d.parentId&&void 0===d.internals.rootParentIndex&&"auto"===s&&(d.internals.rootParentIndex=++a.i,d.internals.z=d.internals.z+10*a.i),a&&void 0!==d.internals.rootParentIndex&&(a.i=d.internals.rootParentIndex);let{x:u,y:f,z:m}=function(e,t,n,r,a,i){let{x:o,y:l}=t.internals.positionAbsolute,s=I5(e),c=II(e,n),d=I2(e.extent)?I_(c,e.extent,s):c,u=I_({x:o+d.x,y:l+d.y},r,s);"parent"===e.extent&&(u=ID(u,s,t));let f=PS(e,a,i),m=t.internals.z??0;return{x:u.x,y:u.y,z:m>=f?m+1:f}}(e,d,o,l,i&&!Pk(s)?1e3:0,s),{positionAbsolute:h}=e.internals,p=u!==h.x||f!==h.y;(p||m!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:p?{x:u,y:f}:h,z:m}})}function PS(e,t,n){let r=IG(e.zIndex)?e.zIndex:0;return Pk(n)?r:r+(e.selected?t:0)}function PM(e,t,n,r=[0,0]){let a=[],i=new Map;for(let n of e){let e=t.get(n.parentId);if(!e)continue;let r=Iq(i.get(n.parentId)?.expandedRect??IH(e),n.rect);i.set(n.parentId,{expandedRect:r,parent:e})}return i.size>0&&i.forEach(({expandedRect:t,parent:i},o)=>{let l=i.internals.positionAbsolute,s=I5(i),c=i.origin??r,d=t.x<l.x?Math.round(Math.abs(l.x-t.x)):0,u=t.y<l.y?Math.round(Math.abs(l.y-t.y)):0,f=Math.max(s.width,Math.round(t.width)),m=Math.max(s.height,Math.round(t.height)),h=(f-s.width)*c[0],p=(m-s.height)*c[1];(d>0||u>0||h||p)&&(a.push({id:o,type:"position",position:{x:i.position.x-d+h,y:i.position.y-u+p}}),n.get(o)?.forEach(t=>{e.some(e=>e.id===t.id)||a.push({id:t.id,type:"position",position:{x:t.position.x+d,y:t.position.y+u}})})),(s.width<t.width||s.height<t.height||d||u)&&a.push({id:o,type:"dimensions",setAttributes:!0,dimensions:{width:f+(d?c[0]*d-h:0),height:m+(u?c[1]*u-p:0)}})}),a}async function PE({delta:e,panZoom:t,transform:n,translateExtent:r,width:a,height:i}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);let o=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[a,i]],r);return Promise.resolve(!!o&&(o.x!==n[0]||o.y!==n[1]||o.k!==n[2]))}function PI(e,t,n,r,a,i){let o=a,l=r.get(o)||new Map;r.set(o,l.set(n,t)),o=`${a}-${e}`;let s=r.get(o)||new Map;if(r.set(o,s.set(n,t)),i){o=`${a}-${e}-${i}`;let l=r.get(o)||new Map;r.set(o,l.set(n,t))}}function PP(e,t,n){for(let r of(e.clear(),t.clear(),n)){let{source:n,target:a,sourceHandle:i=null,targetHandle:o=null}=r,l={edgeId:r.id,source:n,target:a,sourceHandle:i,targetHandle:o},s=`${n}-${i}--${a}-${o}`;PI("source",l,`${a}-${o}--${n}-${i}`,e,n,i),PI("target",l,s,e,a,o),t.set(r.id,r)}}function PO(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)break;r=r?.parentElement}while(r)return!1}function Pz({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){let a=[];for(let[e,i]of t){let t=n.get(e)?.internals.userNode;t&&a.push({...t,position:i.position,dragging:r})}if(!e)return[a[0],a];let i=n.get(e)?.internals.userNode;return[i?{...i,position:t.get(e)?.position||i.position,dragging:r}:a[0],a]}function PA(e,t,n,r,a,i=!1){let o=r.get(e);if(!o)return null;let l="strict"===a?o.internals.handleBounds?.[t]:[...o.internals.handleBounds?.source??[],...o.internals.handleBounds?.target??[]],s=(n?l?.find(e=>e.id===n):l?.[0])??null;return s&&i?{...s,...Px(o,s,s.position,!0)}:s}function PT(e,t){return e?e:t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null}let PR=()=>!0;function P_(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:a,fromType:i,doc:o,lib:l,flowId:s,isValidConnection:c=PR,nodeLookup:d}){let u="target"===i,f=t?o.querySelector(`.${l}-flow__handle[data-id="${s}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:m,y:h}=Pn(e),p=o.elementFromPoint(m,h),g=p?.classList.contains(`${l}-flow__handle`)?p:f,x={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let e=PT(void 0,g),t=g.getAttribute("data-nodeid"),i=g.getAttribute("data-handleid"),o=g.classList.contains("connectable"),l=g.classList.contains("connectableend");if(!t||!e)return x;let s={source:u?t:r,sourceHandle:u?i:a,target:u?r:t,targetHandle:u?a:i};x.connection=s,x.isValid=o&&l&&(n===w.Strict?u&&"source"===e||!u&&"target"===e:t!==r||i!==a)&&c(s),x.toHandle=PA(t,e,i,d,n,!0)}return x}let PD=function(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:a,edgeUpdaterType:i,isTarget:o,domNode:l,nodeLookup:s,lib:c,autoPanOnConnect:d,flowId:u,panBy:f,cancelConnection:m,onConnectStart:h,onConnect:p,onConnectEnd:g,isValidConnection:x=PR,onReconnectEnd:v,updateConnection:b,getTransform:y,getFromHandle:w,autoPanSpeed:j,dragThreshold:k=1,handleDomNode:N}){let C,M=I9(e.target),E=0,{x:I,y:P}=Pn(e),O=PT(i,N),z=l?.getBoundingClientRect(),A=!1;if(!z||!O)return;let T=PA(a,O,r,s,t);if(!T)return;let R=Pn(e,z),_=!1,D=null,L=!1,$=null,F={...T,nodeId:a,type:O,position:T.position},B=s.get(a),V={inProgress:!0,isValid:null,from:Px(B,F,S.Left,!0),fromHandle:F,fromPosition:F.position,fromNode:B,to:R,toHandle:null,toPosition:IC[F.position],toNode:null,pointer:R};function H(){A=!0,b(V),h?.(e,{nodeId:a,handleId:r,handleType:O})}function U(e){var i,l;let m;if(!A){let{x:t,y:n}=Pn(e),r=t-I,a=n-P;if(!(r*r+a*a>k*k))return;H()}if(!w()||!F)return void q(e);let h=y();C=function(e,t,n,r){let a=[],i=1/0;for(let o of function(e,t,n){let r=[],a={x:e.x-n,y:e.y-n,width:2*n,height:2*n};for(let e of t.values())IW(a,IH(e))>0&&r.push(e);return r}(e,n,t+250))for(let n of[...o.internals.handleBounds?.source??[],...o.internals.handleBounds?.target??[]]){if(r.nodeId===n.nodeId&&r.type===n.type&&r.id===n.id)continue;let{x:l,y:s}=Px(o,n,n.position,!0),c=Math.sqrt(Math.pow(l-e.x,2)+Math.pow(s-e.y,2));c>t||(c<i?(a=[{...n,x:l,y:s}],i=c):c===i&&a.push({...n,x:l,y:s}))}if(!a.length)return null;if(a.length>1){let e="source"===r.type?"target":"source";return a.find(t=>t.type===e)??a[0]}return a[0]}(IZ(R=Pn(e,z),h,!1,[1,1]),n,s,F),_||(!function e(){if(!d||!z)return;let[t,n]=I$(R,z,j);f({x:t,y:n}),E=requestAnimationFrame(e)}(),_=!0);let p=P_(e,{handle:C,connectionMode:t,fromNodeId:a,fromHandleId:r,fromType:o?"target":"source",isValidConnection:x,doc:M,lib:c,flowId:u,nodeLookup:s});$=p.handleDomNode,D=p.connection,i=!!C,l=p.isValid,m=null,l?m=!0:i&&!l&&(m=!1),L=m;let g=s.get(a),v=g?Px(g,F,S.Left,!0):V.from,N={...V,from:v,isValid:L,to:p.toHandle&&L?IJ({x:p.toHandle.x,y:p.toHandle.y},h):R,toHandle:p.toHandle,toPosition:L&&p.toHandle?p.toHandle.position:IC[F.position],toNode:p.toHandle?s.get(p.toHandle.nodeId):null,pointer:R};b(N),V=N}function q(e){if(!("touches"in e)||!(e.touches.length>0)){if(A){(C||$)&&D&&L&&p?.(D);let{inProgress:t,...n}=V,r={...n,toPosition:V.toHandle?V.toPosition:null};g?.(e,r),i&&v?.(e,r)}m(),cancelAnimationFrame(E),_=!1,L=!1,D=null,$=null,M.removeEventListener("mousemove",U),M.removeEventListener("mouseup",q),M.removeEventListener("touchmove",U),M.removeEventListener("touchend",q)}}0===k&&H(),M.addEventListener("mousemove",U),M.addEventListener("mouseup",q),M.addEventListener("touchmove",U),M.addEventListener("touchend",q)},PL=e=>({x:e.x,y:e.y,zoom:e.k}),P$=({x:e,y:t,zoom:n})=>Id.translate(e,t).scale(n),PF=(e,t)=>e.target.closest(`.${t}`),PB=(e,t)=>2===t&&Array.isArray(e)&&e.includes(2),PV=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,PH=(e,t=0,n=PV,r=()=>{})=>{let a="number"==typeof t&&t>0;return a||r(),a?e.transition().duration(t).ease(n).on("end",r):e},PU=e=>{let t=e.ctrlKey&&I1()?10:1;return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*t};function Pq(e){let t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:e.includes("left"),affectsY:e.includes("top")}}function PW(e,t){return Math.max(0,t-e)}function PK(e,t){return Math.max(0,e-t)}function PG(e,t,n){return Math.max(0,t-e,e-n)}(x=M||(M={})).Line="line",x.Handle="handle";let PX={width:0,height:0,x:0,y:0},PY={...PX,pointerX:0,pointerY:0,aspectRatio:1},PZ={get url(){return`file://${e.P("node_modules/.pnpm/zustand@4.5.7_@types+react@19.2.14_immer@11.1.8_react@19.2.4/node_modules/zustand/esm/vanilla.mjs")}`}},PJ=e=>{let t,n=new Set,r=(e,r)=>{let a="function"==typeof e?e(t):e;if(!Object.is(a,t)){let e=t;t=(null!=r?r:"object"!=typeof a||null===a)?a:Object.assign({},t,a),n.forEach(n=>n(t,e))}},a=()=>t,i={setState:r,getState:a,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{(PZ.env?PZ.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},o=t=e(r,a,i);return i},{useDebugValue:PQ}=O.default,{useSyncExternalStoreWithSelector:P0}=ns.default,P1=e=>e;function P2(e,t=P1,n){let r=P0(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return PQ(r),r}let P5=(e,t)=>{let n=e?PJ(e):PJ,r=(e,r=t)=>P2(n,e,r);return Object.assign(r,n),r};function P3(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}let P4=(0,O.createContext)(null),P6=P4.Provider,P8="[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001";function P7(e,t){let n=(0,O.useContext)(P4);if(null===n)throw Error(P8);return P2(n,e,t)}function P9(){let e=(0,O.useContext)(P4);if(null===e)throw Error(P8);return(0,O.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}let Oe={display:"none"},Ot={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},On="react-flow__node-desc",Or="react-flow__edge-desc",Oa=e=>e.ariaLiveMessage,Oi=e=>e.ariaLabelConfig;function Oo({rfId:e}){let t=P7(Oa);return(0,I.jsx)("div",{id:`react-flow__aria-live-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Ot,children:t})}function Ol({rfId:e,disableKeyboardA11y:t}){let n=P7(Oi);return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)("div",{id:`${On}-${e}`,style:Oe,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),(0,I.jsx)("div",{id:`${Or}-${e}`,style:Oe,children:n["edge.a11yDescription.default"]}),!t&&(0,I.jsx)(Oo,{rfId:e})]})}let Os=(0,O.forwardRef)(({position:e="top-left",children:t,className:n,style:r,...a},i)=>{let o=`${e}`.split("-");return(0,I.jsx)("div",{className:SQ(["react-flow__panel",n,...o]),style:r,ref:i,...a,children:t})});function Oc({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:(0,I.jsx)(Os,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:(0,I.jsx)("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}Os.displayName="Panel";let Od=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},Ou=e=>e.id;function Of(e,t){return P3(e.selectedNodes.map(Ou),t.selectedNodes.map(Ou))&&P3(e.selectedEdges.map(Ou),t.selectedEdges.map(Ou))}function Om({onSelectionChange:e}){let t=P9(),{selectedNodes:n,selectedEdges:r}=P7(Od,Of);return(0,O.useEffect)(()=>{let a={nodes:n,edges:r};e?.(a),t.getState().onSelectionChangeHandlers.forEach(e=>e(a))},[n,r,e]),null}let Oh=e=>!!e.onSelectionChangeHandlers;function Op({onSelectionChange:e}){let t=P7(Oh);return e||t?(0,I.jsx)(Om,{onSelectionChange:e}):null}let Og="u">typeof window?O.useLayoutEffect:O.useEffect,Ox=[0,0],Ov={x:0,y:0,zoom:1},Ob=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode","rfId"],Oy=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),Ow={translateExtent:Iw,nodeOrigin:Ox,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Oj(e){let{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:a,setTranslateExtent:i,setNodeExtent:o,reset:l,setDefaultNodesAndEdges:s}=P7(Oy,P3),c=P9();Og(()=>(s(e.defaultNodes,e.defaultEdges),()=>{d.current=Ow,l()}),[]);let d=(0,O.useRef)(Ow);return Og(()=>{for(let l of Ob){let s=e[l];if(s!==d.current[l]&&void 0!==e[l])if("nodes"===l)t(s);else if("edges"===l)n(s);else if("minZoom"===l)r(s);else if("maxZoom"===l)a(s);else if("translateExtent"===l)i(s);else if("nodeExtent"===l)o(s);else if("ariaLabelConfig"===l)c.setState({ariaLabelConfig:{...Ik,...s||{}}});else"fitView"===l?c.setState({fitViewQueued:s}):"fitViewOptions"===l?c.setState({fitViewOptions:s}):c.setState({[l]:s})}d.current=e},Ob.map(t=>e[t])),null}function Ok(){return"u"<typeof window||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}let ON="u">typeof document?document:null;function OC(e=null,t={target:ON,actInsideInputWithModifier:!0}){let[n,r]=(0,O.useState)(!1),a=(0,O.useRef)(!1),i=(0,O.useRef)(new Set([])),[o,l]=(0,O.useMemo)(()=>{if(null!==e){let t=(Array.isArray(e)?e:[e]).filter(e=>"string"==typeof e).map(e=>e.replace("+","\n").replace("\n\n","\n+").split("\n")),n=t.reduce((e,t)=>e.concat(...t),[]);return[t,n]}return[[],[]]},[e]);return(0,O.useEffect)(()=>{let n=t?.target??ON,s=t?.actInsideInputWithModifier??!0;if(null!==e){let e=e=>{if(a.current=e.ctrlKey||e.metaKey||e.shiftKey||e.altKey,(!a.current||a.current&&!s)&&Pt(e))return!1;let n=OM(e.code,l);if(i.current.add(e[n]),OS(o,i.current,!1)){let n=e.composedPath?.()?.[0]||e.target,i=n?.nodeName==="BUTTON"||n?.nodeName==="A";!1!==t.preventDefault&&(a.current||!i)&&e.preventDefault(),r(!0)}},c=e=>{let t=OM(e.code,l);OS(o,i.current,!0)?(r(!1),i.current.clear()):i.current.delete(e[t]),"Meta"===e.key&&i.current.clear(),a.current=!1},d=()=>{i.current.clear(),r(!1)};return n?.addEventListener("keydown",e),n?.addEventListener("keyup",c),window.addEventListener("blur",d),window.addEventListener("contextmenu",d),()=>{n?.removeEventListener("keydown",e),n?.removeEventListener("keyup",c),window.removeEventListener("blur",d),window.removeEventListener("contextmenu",d)}}},[e,r]),n}function OS(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function OM(e,t){return t.includes(e)?"code":"key"}function OE(e,t){let n=[],r=new Map,a=[];for(let t of e)if("add"===t.type){a.push(t);continue}else if("remove"===t.type||"replace"===t.type)r.set(t.id,[t]);else{let e=r.get(t.id);e?e.push(t):r.set(t.id,[t])}for(let e of t){let t=r.get(e.id);if(!t){n.push(e);continue}if("remove"===t[0].type)continue;if("replace"===t[0].type){n.push({...t[0].item});continue}let a={...e};for(let e of t){var i=e,o=a;switch(i.type){case"select":o.selected=i.selected;break;case"position":void 0!==i.position&&(o.position=i.position),void 0!==i.dragging&&(o.dragging=i.dragging);break;case"dimensions":void 0!==i.dimensions&&(o.measured={...i.dimensions},i.setAttributes&&((!0===i.setAttributes||"width"===i.setAttributes)&&(o.width=i.dimensions.width),(!0===i.setAttributes||"height"===i.setAttributes)&&(o.height=i.dimensions.height))),"boolean"==typeof i.resizing&&(o.resizing=i.resizing)}}n.push(a)}return a.length&&a.forEach(e=>{void 0!==e.index?n.splice(e.index,0,{...e.item}):n.push({...e.item})}),n}function OI(e,t){return{id:e,type:"select",selected:t}}function OP(e,t=new Set,n=!1){let r=[];for(let[a,i]of e){let e=t.has(a);(void 0!==i.selected||e)&&i.selected!==e&&(n&&(i.selected=e),r.push(OI(i.id,e)))}return r}function OO({items:e=[],lookup:t}){let n=[],r=new Map(e.map(e=>[e.id,e]));for(let[r,a]of e.entries()){let e=t.get(a.id),i=e?.internals?.userNode??e;void 0!==i&&i!==a&&n.push({id:a.id,item:a,type:"replace"}),void 0===i&&n.push({item:a,type:"add",index:r})}for(let[e]of t)void 0===r.get(e)&&n.push({id:e,type:"remove"});return n}function Oz(e){return{id:e.id,type:"remove"}}let OA=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e);function OT(e){return(0,O.forwardRef)(e)}function OR(e){let[t,n]=(0,O.useState)(BigInt(0)),[r]=(0,O.useState)(()=>{var e;let t;return e=()=>n(e=>e+BigInt(1)),t=[],{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}});return Og(()=>{let t=r.get();t.length&&(e(t),r.reset())},[t]),r}let O_=(0,O.createContext)(null);function OD({children:e}){let t=P9(),n=OR((0,O.useCallback)(e=>{let{nodes:n=[],setNodes:r,hasDefaultNodes:a,onNodesChange:i,nodeLookup:o,fitViewQueued:l,onNodesChangeMiddlewareMap:s}=t.getState(),c=n;for(let t of e)c="function"==typeof t?t(c):t;let d=OO({items:c,lookup:o});for(let e of s.values())d=e(d);a&&r(c),d.length>0?i?.(d):l&&window.requestAnimationFrame(()=>{let{fitViewQueued:e,nodes:n,setNodes:r}=t.getState();e&&r(n)})},[])),r=OR((0,O.useCallback)(e=>{let{edges:n=[],setEdges:r,hasDefaultEdges:a,onEdgesChange:i,edgeLookup:o}=t.getState(),l=n;for(let t of e)l="function"==typeof t?t(l):t;a?r(l):i&&i(OO({items:l,lookup:o}))},[])),a=(0,O.useMemo)(()=>({nodeQueue:n,edgeQueue:r}),[]);return(0,I.jsx)(O_.Provider,{value:a,children:e})}let OL=e=>!!e.panZoom;function O$(){let e,t=(e=P9(),(0,O.useMemo)(()=>({zoomIn:t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1.2,t):Promise.resolve(!1)},zoomOut:t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,t):Promise.resolve(!1)},zoomTo:(t,n)=>{let{panZoom:r}=e.getState();return r?r.scaleTo(t,n):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{let{transform:[r,a,i],panZoom:o}=e.getState();return o?(await o.setViewport({x:t.x??r,y:t.y??a,zoom:t.zoom??i},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{let[t,n,r]=e.getState().transform;return{x:t,y:n,zoom:r}},setCenter:async(t,n,r)=>e.getState().setCenter(t,n,r),fitBounds:async(t,n)=>{let{width:r,height:a,minZoom:i,maxZoom:o,panZoom:l}=e.getState(),s=I0(t,r,a,i,o,n?.padding??.1);return l?(await l.setViewport(s,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,n={})=>{let{transform:r,snapGrid:a,snapToGrid:i,domNode:o}=e.getState();if(!o)return t;let{x:l,y:s}=o.getBoundingClientRect(),c={x:t.x-l,y:t.y-s},d=n.snapGrid??a;return IZ(c,r,n.snapToGrid??i,d)},flowToScreenPosition:t=>{let{transform:n,domNode:r}=e.getState();if(!r)return t;let{x:a,y:i}=r.getBoundingClientRect(),o=IJ(t,n);return{x:o.x+a,y:o.y+i}}}),[])),n=P9(),r=function(){let e=(0,O.useContext)(O_);if(!e)throw Error("useBatchContext must be used within a BatchProvider");return e}(),a=P7(OL),i=(0,O.useMemo)(()=>{let e=e=>n.getState().nodeLookup.get(e),t=e=>{r.nodeQueue.push(e)},a=e=>{r.edgeQueue.push(e)},i=e=>{let{nodeLookup:t,nodeOrigin:r}=n.getState(),a=OA(e)?e:t.get(e.id),i=a.parentId?I4(a.position,a.measured,a.parentId,t,r):a.position;return IH({...a,position:i,width:a.measured?.width??a.width,height:a.measured?.height??a.height})},o=(e,n,r={replace:!1})=>{t(t=>t.map(t=>{if(t.id===e){let e="function"==typeof n?n(t):n;return r.replace&&OA(e)?e:{...t,...e}}return t}))},l=(e,t,n={replace:!1})=>{a(r=>r.map(r=>{if(r.id===e){let e="function"==typeof t?t(r):t;return n.replace&&IM(e)?e:{...r,...e}}return r}))};return{getNodes:()=>n.getState().nodes.map(e=>({...e})),getNode:t=>e(t)?.internals.userNode,getInternalNode:e,getEdges:()=>{let{edges:e=[]}=n.getState();return e.map(e=>({...e}))},getEdge:e=>n.getState().edgeLookup.get(e),setNodes:t,setEdges:a,addNodes:e=>{let t=Array.isArray(e)?e:[e];r.nodeQueue.push(e=>[...e,...t])},addEdges:e=>{let t=Array.isArray(e)?e:[e];r.edgeQueue.push(e=>[...e,...t])},toObject:()=>{let{nodes:e=[],edges:t=[],transform:r}=n.getState(),[a,i,o]=r;return{nodes:e.map(e=>({...e})),edges:t.map(e=>({...e})),viewport:{x:a,y:i,zoom:o}}},deleteElements:async({nodes:e=[],edges:t=[]})=>{let{nodes:r,edges:a,onNodesDelete:i,onEdgesDelete:o,triggerNodeChanges:l,triggerEdgeChanges:s,onDelete:c,onBeforeDelete:d}=n.getState(),{nodes:u,edges:f}=await IT({nodesToRemove:e,edgesToRemove:t,nodes:r,edges:a,onBeforeDelete:d}),m=f.length>0,h=u.length>0;if(m){let e=f.map(Oz);o?.(f),s(e)}if(h){let e=u.map(Oz);i?.(u),l(e)}return(h||m)&&c?.({nodes:u,edges:f}),{deletedNodes:u,deletedEdges:f}},getIntersectingNodes:(e,t=!0,r)=>{let a=IK(e),o=a?e:i(e),l=void 0!==r;return o?(r||n.getState().nodes).filter(r=>{let i=n.getState().nodeLookup.get(r.id);if(i&&!a&&(r.id===e.id||!i.internals.positionAbsolute))return!1;let s=IH(l?r:i),c=IW(s,o);return t&&c>0||c>=s.width*s.height||c>=o.width*o.height}):[]},isNodeIntersecting:(e,t,n=!0)=>{let r=IK(e)?e:i(e);if(!r)return!1;let a=IW(r,t);return n&&a>0||a>=t.width*t.height||a>=r.width*r.height},updateNode:o,updateNodeData:(e,t,n={replace:!1})=>{o(e,e=>{let r="function"==typeof t?t(e):t;return n.replace?{...e,data:r}:{...e,data:{...e.data,...r}}},n)},updateEdge:l,updateEdgeData:(e,t,n={replace:!1})=>{l(e,e=>{let r="function"==typeof t?t(e):t;return n.replace?{...e,data:r}:{...e,data:{...e.data,...r}}},n)},getNodesBounds:e=>{let{nodeLookup:t,nodeOrigin:r}=n.getState();return((e,t={nodeOrigin:[0,0]})=>0===e.length?{x:0,y:0,width:0,height:0}:IV(e.reduce((e,n)=>{let r="string"==typeof n,a=t.nodeLookup||r?void 0:n;return t.nodeLookup&&(a=r?t.nodeLookup.get(n):IE(n)?n:t.nodeLookup.get(n.id)),IF(e,a?IU(a,t.nodeOrigin):{x:0,y:0,x2:0,y2:0})},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})))(e,{nodeLookup:t,nodeOrigin:r})},getHandleConnections:({type:e,id:t,nodeId:r})=>Array.from(n.getState().connectionLookup.get(`${r}-${e}${t?`-${t}`:""}`)?.values()??[]),getNodeConnections:({type:e,handleId:t,nodeId:r})=>Array.from(n.getState().connectionLookup.get(`${r}${e?t?`-${e}-${t}`:`-${e}`:""}`)?.values()??[]),fitView:async e=>{let t,a,i=n.getState().fitViewResolver??{promise:new Promise((e,n)=>{t=e,a=n}),resolve:t,reject:a};return n.setState({fitViewQueued:!0,fitViewOptions:e,fitViewResolver:i}),r.nodeQueue.push(e=>[...e]),i.promise}}},[]);return(0,O.useMemo)(()=>({...i,...t,viewportInitialized:a}),[a])}let OF=e=>e.selected,OB="u">typeof window?window:void 0,OV={position:"absolute",width:"100%",height:"100%",top:0,left:0},OH=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function OU({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:r=!1,panOnScrollSpeed:a=.5,panOnScrollMode:i=j.Free,zoomOnDoubleClick:o=!0,panOnDrag:l=!0,defaultViewport:s,translateExtent:c,minZoom:d,maxZoom:u,zoomActivationKeyCode:f,preventScrolling:m=!0,children:h,noWheelClassName:p,noPanClassName:g,onViewportChange:x,isControlledViewport:v,paneClickDistance:b,selectionOnDrag:y}){let w,k=P9(),N=(0,O.useRef)(null),{userSelectionActive:C,lib:S,connectionInProgress:M}=P7(OH,P3),E=OC(f),P=(0,O.useRef)();w=P9(),(0,O.useEffect)(()=>{let e=()=>{if(!N.current||!(N.current.checkVisibility?.()??!0))return!1;let e=I7(N.current);(0===e.height||0===e.width)&&w.getState().onError?.("004","The React Flow parent container needs a width and a height to render the graph."),w.setState({width:e.width||500,height:e.height||500})};if(N.current){e(),window.addEventListener("resize",e);let t=new ResizeObserver(()=>e());return t.observe(N.current),()=>{window.removeEventListener("resize",e),t&&N.current&&t.unobserve(N.current)}}},[]);let z=(0,O.useCallback)(e=>{x?.({x:e[0],y:e[1],zoom:e[2]}),v||k.setState({transform:e})},[x,v]);return(0,O.useEffect)(()=>{if(N.current){P.current=function({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:a,onPanZoom:i,onPanZoomStart:o,onPanZoomEnd:l,onDraggingChange:s}){let c={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{x:0,y:0,zoom:0},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),u=Iy().scaleExtent([t,n]).translateExtent(r),f=MR(e).call(u);x({x:a.x,y:a.y,zoom:IR(a.zoom,t,n)},[[0,0],[d.width,d.height]],r);let m=f.on("wheel.zoom"),h=f.on("dblclick.zoom");function p(e,t){return f?new Promise(n=>{u?.interpolate(t?.interpolate==="linear"?oO:MZ).transform(PH(f,t?.duration,t?.ease,()=>n(!0)),e)}):Promise.resolve(!1)}function g(){u.on("zoom",null)}async function x(e,t,n){let r=P$(e),a=u?.constrain()(r,t,n);return a&&await p(a),new Promise(e=>e(a))}return u.wheelDelta(PU),{update:function({noWheelClassName:e,noPanClassName:t,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:a,panOnDrag:d,panOnScrollMode:p,panOnScrollSpeed:x,preventScrolling:v,zoomOnPinch:b,zoomOnScroll:y,zoomOnDoubleClick:w,zoomActivationKeyPressed:k,lib:N,onTransformChange:C,connectionInProgress:S,paneClickDistance:M,selectionOnDrag:E}){r&&!c.isZoomingOrPanning&&g();let I=a&&!k&&!r;u.clickDistance(E?1/0:!IG(M)||M<0?0:M);let P=I?function({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:a,panOnScrollSpeed:i,zoomOnPinch:o,onPanZoomStart:l,onPanZoom:s,onPanZoomEnd:c}){return d=>{if(PF(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();let u=n.property("__zoom").k||1;if(d.ctrlKey&&o){let e=M_(d),t=u*Math.pow(2,PU(d));r.scaleTo(n,t,e,d);return}let f=1===d.deltaMode?20:1,m=a===j.Vertical?0:d.deltaX*f,h=a===j.Horizontal?0:d.deltaY*f;!I1()&&d.shiftKey&&a!==j.Vertical&&(m=d.deltaY*f,h=0),r.translateBy(n,-(m/u)*i,-(h/u)*i,{internal:!0});let p=PL(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(s?.(d,p),e.panScrollTimeout=setTimeout(()=>{c?.(d,p),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,l?.(d,p))}}({zoomPanValues:c,noWheelClassName:e,d3Selection:f,d3Zoom:u,panOnScrollMode:p,panOnScrollSpeed:x,zoomOnPinch:b,onPanZoomStart:o,onPanZoom:i,onPanZoomEnd:l}):function({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,a){let i="wheel"===r.type,o=!t&&i&&!r.ctrlKey,l=PF(r,e);if(r.ctrlKey&&i&&l&&r.preventDefault(),o||l)return null;r.preventDefault(),n.call(this,r,a)}}({noWheelClassName:e,preventScrolling:v,d3ZoomHandler:m});if(f.on("wheel.zoom",P,{passive:!1}),!r){let e=function({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let a=PL(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=a,r.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(r.sourceEvent,a)}}({zoomPanValues:c,onDraggingChange:s,onPanZoomStart:o});u.on("start",e);let t=function({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:a}){return i=>{e.usedRightMouseButton=!!(n&&PB(t,e.mouseButton??0)),i.sourceEvent?.sync||r([i.transform.x,i.transform.y,i.transform.k]),a&&!i.sourceEvent?.internal&&a?.(i.sourceEvent,PL(i.transform))}}({zoomPanValues:c,panOnDrag:d,onPaneContextMenu:!!n,onPanZoom:i,onTransformChange:C});u.on("zoom",t);let r=function({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:a,onPaneContextMenu:i}){return o=>{if(!o.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,i&&PB(t,e.mouseButton??0)&&!e.usedRightMouseButton&&o.sourceEvent&&i(o.sourceEvent),e.usedRightMouseButton=!1,r(!1),a)){let t=PL(o.transform);e.prevViewport=t,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{a?.(o.sourceEvent,t)},150*!!n)}}}({zoomPanValues:c,panOnDrag:d,panOnScroll:a,onPaneContextMenu:n,onPanZoomEnd:l,onDraggingChange:s});u.on("end",r)}let O=function({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:a,zoomOnDoubleClick:i,userSelectionActive:o,noWheelClassName:l,noPanClassName:s,lib:c,connectionInProgress:d}){return u=>{let f=e||t,m=n&&u.ctrlKey,h="wheel"===u.type;if(1===u.button&&"mousedown"===u.type&&(PF(u,`${c}-flow__node`)||PF(u,`${c}-flow__edge`)))return!0;if(!r&&!f&&!a&&!i&&!n||o||d&&!h||PF(u,l)&&h||PF(u,s)&&(!h||a&&h&&!e)||!n&&u.ctrlKey&&h)return!1;if(!n&&"touchstart"===u.type&&u.touches?.length>1)return u.preventDefault(),!1;if(!f&&!a&&!m&&h||!r&&("mousedown"===u.type||"touchstart"===u.type)||Array.isArray(r)&&!r.includes(u.button)&&"mousedown"===u.type)return!1;let p=Array.isArray(r)&&r.includes(u.button)||!u.button||u.button<=1;return(!u.ctrlKey||h)&&p}}({zoomActivationKeyPressed:k,panOnDrag:d,zoomOnScroll:y,panOnScroll:a,zoomOnDoubleClick:w,zoomOnPinch:b,userSelectionActive:r,noPanClassName:t,noWheelClassName:e,lib:N,connectionInProgress:S});u.filter(O),w?f.on("dblclick.zoom",h):f.on("dblclick.zoom",null)},destroy:g,setViewport:async function e(e,t){let n=P$(e);return await p(n,t),new Promise(e=>e(n))},setViewportConstrained:x,getViewport:function(){let e=f?Iu(f.node()):{x:0,y:0,k:1};return{x:e.x,y:e.y,zoom:e.k}},scaleTo:function(e,t){return f?new Promise(n=>{u?.interpolate(t?.interpolate==="linear"?oO:MZ).scaleTo(PH(f,t?.duration,t?.ease,()=>n(!0)),e)}):Promise.resolve(!1)},scaleBy:function(e,t){return f?new Promise(n=>{u?.interpolate(t?.interpolate==="linear"?oO:MZ).scaleBy(PH(f,t?.duration,t?.ease,()=>n(!0)),e)}):Promise.resolve(!1)},setScaleExtent:function(e){u?.scaleExtent(e)},setTranslateExtent:function(e){u?.translateExtent(e)},syncViewport:function(e){if(f){let t=P$(e),n=f.property("__zoom");(n.k!==e.zoom||n.x!==e.x||n.y!==e.y)&&u?.transform(f,t,null,{sync:!0})}},setClickDistance:function(e){let t=!IG(e)||e<0?0:e;u?.clickDistance(t)}}}({domNode:N.current,minZoom:d,maxZoom:u,translateExtent:c,viewport:s,onDraggingChange:e=>k.setState(t=>t.paneDragging===e?t:{paneDragging:e}),onPanZoomStart:(e,t)=>{let{onViewportChangeStart:n,onMoveStart:r}=k.getState();r?.(e,t),n?.(t)},onPanZoom:(e,t)=>{let{onViewportChange:n,onMove:r}=k.getState();r?.(e,t),n?.(t)},onPanZoomEnd:(e,t)=>{let{onViewportChangeEnd:n,onMoveEnd:r}=k.getState();r?.(e,t),n?.(t)}});let{x:e,y:t,zoom:n}=P.current.getViewport();return k.setState({panZoom:P.current,transform:[e,t,n],domNode:N.current.closest(".react-flow")}),()=>{P.current?.destroy()}}},[]),(0,O.useEffect)(()=>{P.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:r,panOnScrollSpeed:a,panOnScrollMode:i,zoomOnDoubleClick:o,panOnDrag:l,zoomActivationKeyPressed:E,preventScrolling:m,noPanClassName:g,userSelectionActive:C,noWheelClassName:p,lib:S,onTransformChange:z,connectionInProgress:M,selectionOnDrag:y,paneClickDistance:b})},[e,t,n,r,a,i,o,l,E,m,g,C,p,S,z,M,y,b]),(0,I.jsx)("div",{className:"react-flow__renderer",ref:N,style:OV,children:h})}let Oq=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function OW(){let{userSelectionActive:e,userSelectionRect:t}=P7(Oq,P3);return e&&t?(0,I.jsx)("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}let OK=(e,t)=>n=>{n.target===t.current&&e?.(n)},OG=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function OX({isSelecting:e,selectionKeyPressed:t,selectionMode:n=k.Full,panOnDrag:r,paneClickDistance:a,selectionOnDrag:i,onSelectionStart:o,onSelectionEnd:l,onPaneClick:s,onPaneContextMenu:c,onPaneScroll:d,onPaneMouseEnter:u,onPaneMouseMove:f,onPaneMouseLeave:m,children:h}){let p=P9(),{userSelectionActive:g,elementsSelectable:x,dragging:v,connectionInProgress:b}=P7(OG,P3),y=x&&(e||g),w=(0,O.useRef)(null),j=(0,O.useRef)(),N=(0,O.useRef)(new Set),C=(0,O.useRef)(new Set),S=(0,O.useRef)(!1),M=e=>{if(S.current||b){S.current=!1;return}s?.(e),p.getState().resetSelectedElements(),p.setState({nodesSelectionActive:!1})},E=!0===r||Array.isArray(r)&&r.includes(0);return(0,I.jsxs)("div",{className:SQ(["react-flow__pane",{draggable:E,dragging:v,selection:e}]),onClick:y?void 0:OK(M,w),onContextMenu:OK(e=>{Array.isArray(r)&&r?.includes(2)?e.preventDefault():c?.(e)},w),onWheel:OK(d?e=>d(e):void 0,w),onPointerEnter:y?void 0:u,onPointerMove:y?e=>{let{userSelectionRect:r,transform:i,nodeLookup:l,edgeLookup:s,connectionLookup:c,triggerNodeChanges:d,triggerEdgeChanges:u,defaultEdgeOptions:f,resetSelectedElements:m}=p.getState();if(!j.current||!r)return;let{x:h,y:g}=Pn(e.nativeEvent,j.current),{startX:x,startY:v}=r;if(!S.current){if(Math.hypot(h-x,g-v)<=(t?0:a))return;m(),o?.(e)}S.current=!0;let b={startX:x,startY:v,x:h<x?h:x,y:g<v?g:v,width:Math.abs(h-x),height:Math.abs(g-v)},y=N.current,w=C.current;N.current=new Set(IO(l,b,i,n===k.Partial,!0).map(e=>e.id)),C.current=new Set;let M=f?.selectable??!0;for(let e of N.current){let t=c.get(e);if(t)for(let{edgeId:e}of t.values()){let t=s.get(e);t&&(t.selectable??M)&&C.current.add(e)}}I6(y,N.current)||d(OP(l,N.current,!0)),I6(w,C.current)||u(OP(s,C.current)),p.setState({userSelectionRect:b,userSelectionActive:!0,nodesSelectionActive:!1})}:f,onPointerUp:y?e=>{0===e.button&&(e.target?.releasePointerCapture?.(e.pointerId),!g&&e.target===w.current&&p.getState().userSelectionRect&&M?.(e),p.setState({userSelectionActive:!1,userSelectionRect:null}),S.current&&(l?.(e),p.setState({nodesSelectionActive:N.current.size>0})))}:void 0,onPointerDownCapture:y?n=>{let{domNode:r}=p.getState();if(j.current=r?.getBoundingClientRect(),!j.current)return;let a=n.target===w.current;if(!a&&n.target.closest(".nokey")||!e||!(i&&a||t)||0!==n.button||!n.isPrimary)return;n.target?.setPointerCapture?.(n.pointerId),S.current=!1;let{x:o,y:l}=Pn(n.nativeEvent,j.current);p.setState({userSelectionRect:{width:0,height:0,startX:o,startY:l,x:o,y:l}}),a||(n.stopPropagation(),n.preventDefault())}:void 0,onClickCapture:y?e=>{S.current&&(e.stopPropagation(),S.current=!1)}:void 0,onPointerLeave:m,ref:w,style:OV,children:[h,(0,I.jsx)(OW,{})]})}function OY({id:e,store:t,unselect:n=!1,nodeRef:r}){let a,{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:l,nodeLookup:s,onError:c}=t.getState(),d=s.get(e);d?(t.setState({nodesSelectionActive:!1}),d.selected?(n||d.selected&&l)&&(o({nodes:[d],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):i([e])):c?.("012",(a=e,`Node with id "${a}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`))}function OZ({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:a,isSelectable:i,nodeClickDistance:o}){let l=P9(),[s,c]=(0,O.useState)(!1),d=(0,O.useRef)();return(0,O.useEffect)(()=>{d.current=function({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:a}){let i={x:null,y:null},o=0,l=new Map,s=!1,c={x:0,y:0},d=null,u=!1,f=null,m=!1,h=!1,p=null;return{update:function({noDragClassName:g,handleSelector:x,domNode:v,isSelectable:b,nodeId:y,nodeClickDistance:w=0}){function j({x:e,y:n}){let{nodeLookup:a,nodeExtent:o,snapGrid:s,snapToGrid:c,nodeOrigin:d,onNodeDrag:u,onSelectionDrag:f,onError:m,updateNodePositions:g}=t();i={x:e,y:n};let x=!1,v=l.size>1,b=v&&o?IB(IP(l)):null,w=v&&c?function({dragItems:e,snapGrid:t,x:n,y:r}){let a=e.values().next().value;if(!a)return null;let i={x:n-a.distance.x,y:r-a.distance.y},o=IY(i,t);return{x:o.x-i.x,y:o.y-i.y}}({dragItems:l,snapGrid:s,x:e,y:n}):null;for(let[t,r]of l){if(!a.has(t))continue;let i={x:e-r.distance.x,y:n-r.distance.y};c&&(i=w?{x:Math.round(i.x+w.x),y:Math.round(i.y+w.y)}:IY(i,s));let l=null;if(v&&o&&!r.extent&&b){let{positionAbsolute:e}=r.internals,t=e.x-b.x+o[0][0],n=e.x+r.measured.width-b.x2+o[1][0];l=[[t,e.y-b.y+o[0][1]],[n,e.y+r.measured.height-b.y2+o[1][1]]]}let{position:u,positionAbsolute:f}=IA({nodeId:t,nextPosition:i,nodeLookup:a,nodeExtent:l||o,nodeOrigin:d,onError:m});x=x||r.position.x!==u.x||r.position.y!==u.y,r.position=u,r.internals.positionAbsolute=f}if(h=h||x,x&&(g(l,!0),p&&(r||u||!y&&f))){let[e,t]=Pz({nodeId:y,dragItems:l,nodeLookup:a});r?.(p,l,e,t),u?.(p,e,t),y||f?.(p,t)}}async function k(){if(!d)return;let{transform:e,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:a}=t();if(!a){s=!1,cancelAnimationFrame(o);return}let[l,u]=I$(c,d,r);(0!==l||0!==u)&&(i.x=(i.x??0)-l/e[2],i.y=(i.y??0)-u/e[2],await n({x:l,y:u})&&j(i)),o=requestAnimationFrame(k)}function N(r){let{nodeLookup:a,multiSelectionActive:o,nodesDraggable:s,transform:c,snapGrid:f,snapToGrid:m,selectNodesOnDrag:h,onNodeDragStart:p,onSelectionDragStart:g,unselectNodesAndEdges:x}=t();u=!0,h&&b||o||!y||a.get(y)?.selected||x(),b&&h&&y&&e?.(y);let v=I8(r.sourceEvent,{transform:c,snapGrid:f,snapToGrid:m,containerBounds:d});if(i=v,(l=function(e,t,n,r){let a=new Map;for(let[i,o]of e)if((o.selected||o.id===r)&&(!o.parentId||!function e(t,n){if(!t.parentId)return!1;let r=n.get(t.parentId);return!!r&&(!!r.selected||e(r,n))}(o,e))&&(o.draggable||t&&void 0===o.draggable)){let t=e.get(i);t&&a.set(i,{id:i,position:t.position||{x:0,y:0},distance:{x:n.x-t.internals.positionAbsolute.x,y:n.y-t.internals.positionAbsolute.y},extent:t.extent,parentId:t.parentId,origin:t.origin,expandParent:t.expandParent,internals:{positionAbsolute:t.internals.positionAbsolute||{x:0,y:0}},measured:{width:t.measured.width??0,height:t.measured.height??0}})}return a}(a,s,v,y)).size>0&&(n||p||!y&&g)){let[e,t]=Pz({nodeId:y,dragItems:l,nodeLookup:a});n?.(r.sourceEvent,l,e,t),p?.(r.sourceEvent,e,t),y||g?.(r.sourceEvent,t)}}f=MR(v);let C=MX().clickDistance(w).on("start",e=>{let{domNode:n,nodeDragThreshold:r,transform:a,snapGrid:o,snapToGrid:l}=t();d=n?.getBoundingClientRect()||null,m=!1,h=!1,p=e.sourceEvent,0===r&&N(e),i=I8(e.sourceEvent,{transform:a,snapGrid:o,snapToGrid:l,containerBounds:d}),c=Pn(e.sourceEvent,d)}).on("drag",e=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:a,snapToGrid:o,nodeDragThreshold:f,nodeLookup:h}=t(),g=I8(e.sourceEvent,{transform:r,snapGrid:a,snapToGrid:o,containerBounds:d});if(p=e.sourceEvent,("touchmove"===e.sourceEvent.type&&e.sourceEvent.touches.length>1||y&&!h.has(y))&&(m=!0),!m){if(!s&&n&&u&&(s=!0,k()),!u){let t=Pn(e.sourceEvent,d),n=t.x-c.x,r=t.y-c.y;Math.sqrt(n*n+r*r)>f&&N(e)}(i.x!==g.xSnapped||i.y!==g.ySnapped)&&l&&u&&(c=Pn(e.sourceEvent,d),j(g))}}).on("end",e=>{if(u&&!m&&(s=!1,u=!1,cancelAnimationFrame(o),l.size>0)){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:i,onSelectionDragStop:o}=t();if(h&&(r(l,!1),h=!1),a||i||!y&&o){let[t,r]=Pz({nodeId:y,dragItems:l,nodeLookup:n,dragging:!1});a?.(e.sourceEvent,l,t,r),i?.(e.sourceEvent,t,r),y||o?.(e.sourceEvent,r)}}}).filter(e=>{let t=e.target;return!e.button&&(!g||!PO(t,`.${g}`,v))&&(!x||PO(t,x,v))});f.call(C)},destroy:function(){f?.on(".drag",null)}}}({getStoreItems:()=>l.getState(),onNodeMouseDown:t=>{OY({id:t,store:l,nodeRef:e})},onDragStart:()=>{c(!0)},onDragStop:()=>{c(!1)}})},[]),(0,O.useEffect)(()=>{if(!t&&e.current&&d.current)return d.current.update({noDragClassName:n,handleSelector:r,domNode:e.current,isSelectable:i,nodeId:a,nodeClickDistance:o}),()=>{d.current?.destroy()}},[n,r,t,i,e,a,o]),s}function OJ(){let e=P9();return(0,O.useCallback)(t=>{let{nodeExtent:n,snapToGrid:r,snapGrid:a,nodesDraggable:i,onError:o,updateNodePositions:l,nodeLookup:s,nodeOrigin:c}=e.getState(),d=new Map,u=e=>e.selected&&(e.draggable||i&&void 0===e.draggable),f=r?a[0]:5,m=r?a[1]:5,h=t.direction.x*f*t.factor,p=t.direction.y*m*t.factor;for(let[,e]of s){if(!u(e))continue;let t={x:e.internals.positionAbsolute.x+h,y:e.internals.positionAbsolute.y+p};r&&(t=IY(t,a));let{position:i,positionAbsolute:l}=IA({nodeId:e.id,nextPosition:t,nodeLookup:s,nodeExtent:n,nodeOrigin:c,onError:o});e.position=i,e.internals.positionAbsolute=l,d.set(e.id,e)}l(d)},[])}let OQ=(0,O.createContext)(null),O0=OQ.Provider;OQ.Consumer;let O1=()=>(0,O.useContext)(OQ),O2=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),O5=(0,O.memo)(OT(function({type:e="source",position:t=S.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:a=!0,isConnectableEnd:i=!0,id:o,onConnect:l,children:s,className:c,onMouseDown:d,onTouchStart:u,...f},m){let h=o||null,p="target"===e,g=P9(),x=O1(),{connectOnClick:v,noPanClassName:b,rfId:y}=P7(O2,P3),{connectingFrom:j,connectingTo:k,clickConnecting:N,isPossibleEndHandle:C,connectionInProcess:M,clickConnectionInProcess:E,valid:P}=P7(t=>{let{connectionClickStartHandle:n,connectionMode:r,connection:a}=t,{fromHandle:i,toHandle:o,isValid:l}=a,s=o?.nodeId===x&&o?.id===h&&o?.type===e;return{connectingFrom:i?.nodeId===x&&i?.id===h&&i?.type===e,connectingTo:s,clickConnecting:n?.nodeId===x&&n?.id===h&&n?.type===e,isPossibleEndHandle:r===w.Strict?i?.type!==e:x!==i?.nodeId||h!==i?.id,connectionInProcess:!!i,clickConnectionInProcess:!!n,valid:s&&l}},P3);x||g.getState().onError?.("010","Handle: No node id found. Make sure to only use a Handle inside a custom Node.");let O=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:r}=g.getState(),a={...t,...e};if(r){let{edges:e,setEdges:t}=g.getState();t(((e,t,n={})=>{let r,a;if(!e.source||!e.target)return IX("006","Can't create edge. An edge needs a source and a target."),t;let i=n.getEdgeId||Pc;return(a=r=IM(e)?{...e}:{...e,id:i(e)},t.some(e=>e.source===a.source&&e.target===a.target&&(e.sourceHandle===a.sourceHandle||!e.sourceHandle&&!a.sourceHandle)&&(e.targetHandle===a.targetHandle||!e.targetHandle&&!a.targetHandle)))?t:(null===r.sourceHandle&&delete r.sourceHandle,null===r.targetHandle&&delete r.targetHandle,t.concat(r))})(a,e))}n?.(a),l?.(a)},z=e=>{if(!x)return;let t="clientX"in e.nativeEvent;if(a&&(t&&0===e.button||!t)){let t=g.getState();PD(e.nativeEvent,{handleDomNode:e.currentTarget,autoPanOnConnect:t.autoPanOnConnect,connectionMode:t.connectionMode,connectionRadius:t.connectionRadius,domNode:t.domNode,nodeLookup:t.nodeLookup,lib:t.lib,isTarget:p,handleId:h,nodeId:x,flowId:t.rfId,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:(...e)=>g.getState().onConnectEnd?.(...e),updateConnection:t.updateConnection,onConnect:O,isValidConnection:n||((...e)=>g.getState().isValidConnection?.(...e)??!0),getTransform:()=>g.getState().transform,getFromHandle:()=>g.getState().connection.fromHandle,autoPanSpeed:t.autoPanSpeed,dragThreshold:t.connectionDragThreshold})}t?d?.(e):u?.(e)};return(0,I.jsx)("div",{"data-handleid":h,"data-nodeid":x,"data-handlepos":t,"data-id":`${y}-${x}-${h}-${e}`,className:SQ(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",b,c,{source:!p,target:p,connectable:r,connectablestart:a,connectableend:i,clickconnecting:N,connectingfrom:j,connectingto:k,valid:P,connectionindicator:r&&(!M||C)&&(M||E?i:a)}]),onMouseDown:z,onTouchStart:z,onClick:v?t=>{let{onClickConnectStart:r,onClickConnectEnd:i,connectionClickStartHandle:o,connectionMode:l,isValidConnection:s,lib:c,rfId:d,nodeLookup:u,connection:f}=g.getState();if(!x||!o&&!a)return;if(!o){r?.(t.nativeEvent,{nodeId:x,handleId:h,handleType:e}),g.setState({connectionClickStartHandle:{nodeId:x,type:e,id:h}});return}let m=I9(t.target),p=n||s,{connection:v,isValid:b}=P_(t.nativeEvent,{handle:{nodeId:x,id:h,type:e},connectionMode:l,fromNodeId:o.nodeId,fromHandleId:o.id||null,fromType:o.type,isValidConnection:p,flowId:d,doc:m,lib:c,nodeLookup:u});b&&v&&O(v);let y=structuredClone(f);delete y.inProgress,y.toPosition=y.toHandle?y.toHandle.position:null,i?.(t,y),g.setState({connectionClickStartHandle:null})}:void 0,ref:m,...f,children:s})})),O3={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},O4={input:function({data:e,isConnectable:t,sourcePosition:n=S.Bottom}){return(0,I.jsxs)(I.Fragment,{children:[e?.label,(0,I.jsx)(O5,{type:"source",position:n,isConnectable:t})]})},default:function({data:e,isConnectable:t,targetPosition:n=S.Top,sourcePosition:r=S.Bottom}){return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(O5,{type:"target",position:n,isConnectable:t}),e?.label,(0,I.jsx)(O5,{type:"source",position:r,isConnectable:t})]})},output:function({data:e,isConnectable:t,targetPosition:n=S.Top}){return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(O5,{type:"target",position:n,isConnectable:t}),e?.label]})},group:function(){return null}},O6=e=>{let{width:t,height:n,x:r,y:a}=IP(e.nodeLookup,{filter:e=>!!e.selected});return{width:IG(t)?t:null,height:IG(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${r}px,${a}px)`}};function O8({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let r=P9(),{width:a,height:i,transformString:o,userSelectionActive:l}=P7(O6,P3),s=OJ(),c=(0,O.useRef)(null);(0,O.useEffect)(()=>{n||c.current?.focus({preventScroll:!0})},[n]);let d=!l&&null!==a&&null!==i;if(OZ({nodeRef:c,disabled:!d}),!d)return null;let u=e?t=>{e(t,r.getState().nodes.filter(e=>e.selected))}:void 0;return(0,I.jsx)("div",{className:SQ(["react-flow__nodesselection","react-flow__container",t]),style:{transform:o},children:(0,I.jsx)("div",{ref:c,className:"react-flow__nodesselection-rect",onContextMenu:u,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(O3,e.key)&&(e.preventDefault(),s({direction:O3[e.key],factor:e.shiftKey?4:1}))},style:{width:a,height:i}})})}let O7="u">typeof window?window:void 0,O9=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function ze({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:a,onPaneContextMenu:i,onPaneScroll:o,paneClickDistance:l,deleteKeyCode:s,selectionKeyCode:c,selectionOnDrag:d,selectionMode:u,onSelectionStart:f,onSelectionEnd:m,multiSelectionKeyCode:h,panActivationKeyCode:p,zoomActivationKeyCode:g,elementsSelectable:x,zoomOnScroll:v,zoomOnPinch:b,panOnScroll:y,panOnScrollSpeed:w,panOnScrollMode:j,zoomOnDoubleClick:k,panOnDrag:N,defaultViewport:C,translateExtent:S,minZoom:M,maxZoom:E,preventScrolling:P,onSelectionContextMenu:z,noWheelClassName:A,noPanClassName:T,disableKeyboardA11y:R,onViewportChange:_,isControlledViewport:D}){let{nodesSelectionActive:L,userSelectionActive:$}=P7(O9,P3),F=OC(c,{target:O7}),B=OC(p,{target:O7}),V=B||N,H=B||y,U=d&&!0!==V,q=F||$||U;return!function({deleteKeyCode:e,multiSelectionKeyCode:t}){let n=P9(),{deleteElements:r}=O$(),a=OC(e,{actInsideInputWithModifier:!1}),i=OC(t,{target:OB});(0,O.useEffect)(()=>{if(a){let{edges:e,nodes:t}=n.getState();r({nodes:t.filter(OF),edges:e.filter(OF)}),n.setState({nodesSelectionActive:!1})}},[a]),(0,O.useEffect)(()=>{n.setState({multiSelectionActive:i})},[i])}({deleteKeyCode:s,multiSelectionKeyCode:h}),(0,I.jsx)(OU,{onPaneContextMenu:i,elementsSelectable:x,zoomOnScroll:v,zoomOnPinch:b,panOnScroll:H,panOnScrollSpeed:w,panOnScrollMode:j,zoomOnDoubleClick:k,panOnDrag:!F&&V,defaultViewport:C,translateExtent:S,minZoom:M,maxZoom:E,zoomActivationKeyCode:g,preventScrolling:P,noWheelClassName:A,noPanClassName:T,onViewportChange:_,isControlledViewport:D,paneClickDistance:l,selectionOnDrag:U,children:(0,I.jsxs)(OX,{onSelectionStart:f,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:a,onPaneContextMenu:i,onPaneScroll:o,panOnDrag:V,isSelecting:!!q,selectionMode:u,selectionKeyPressed:F,paneClickDistance:l,selectionOnDrag:U,children:[e,L&&(0,I.jsx)(O8,{onSelectionContextMenu:z,noPanClassName:T,disableKeyboardA11y:R})]})})}ze.displayName="FlowRenderer";let zt=(0,O.memo)(ze),zn=e=>e.updateNodeInternals;var zr=(0,O.memo)(function({id:e,onClick:t,onMouseEnter:n,onMouseMove:r,onMouseLeave:a,onContextMenu:i,onDoubleClick:o,nodesDraggable:l,elementsSelectable:s,nodesConnectable:c,nodesFocusable:d,resizeObserver:u,noDragClassName:f,noPanClassName:m,disableKeyboardA11y:h,rfId:p,nodeTypes:g,nodeClickDistance:x,onError:v}){let b,{node:y,internals:w,isParent:j}=P7(t=>{let n=t.nodeLookup.get(e),r=t.parentLookup.has(e);return{node:n,internals:n.internals,isParent:r}},P3),k=y.type||"default",N=g?.[k]||O4[k];void 0===N&&(v?.("003",(b=k,`Node type "${b}" not found. Using fallback type "default".`)),k="default",N=g?.default||O4.default);let C=!!(y.draggable||l&&void 0===y.draggable),S=!!(y.selectable||s&&void 0===y.selectable),M=!!(y.connectable||c&&void 0===y.connectable),E=!!(y.focusable||d&&void 0===y.focusable),P=P9(),z=I3(y),A=function({node:e,nodeType:t,hasDimensions:n,resizeObserver:r}){let a=P9(),i=(0,O.useRef)(null),o=(0,O.useRef)(null),l=(0,O.useRef)(e.sourcePosition),s=(0,O.useRef)(e.targetPosition),c=(0,O.useRef)(t),d=n&&!!e.internals.handleBounds;return(0,O.useEffect)(()=>{!i.current||e.hidden||d&&o.current===i.current||(o.current&&r?.unobserve(o.current),r?.observe(i.current),o.current=i.current)},[d,e.hidden]),(0,O.useEffect)(()=>()=>{o.current&&(r?.unobserve(o.current),o.current=null)},[]),(0,O.useEffect)(()=>{if(i.current){let n=c.current!==t,r=l.current!==e.sourcePosition,o=s.current!==e.targetPosition;(n||r||o)&&(c.current=t,l.current=e.sourcePosition,s.current=e.targetPosition,a.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:i.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),i}({node:y,nodeType:k,hasDimensions:z,resizeObserver:u}),T=OZ({nodeRef:A,disabled:y.hidden||!C,noDragClassName:f,handleSelector:y.dragHandle,nodeId:e,isSelectable:S,nodeClickDistance:x}),R=OJ();if(y.hidden)return null;let _=I5(y),D=void 0===y.internals.handleBounds?{width:y.width??y.initialWidth??y.style?.width,height:y.height??y.initialHeight??y.style?.height}:{width:y.width??y.style?.width,height:y.height??y.style?.height},L=S||C||t||n||r||a,$=n?e=>n(e,{...w.userNode}):void 0,F=r?e=>r(e,{...w.userNode}):void 0,B=a?e=>a(e,{...w.userNode}):void 0,V=i?e=>i(e,{...w.userNode}):void 0,H=o?e=>o(e,{...w.userNode}):void 0;return(0,I.jsx)("div",{className:SQ(["react-flow__node",`react-flow__node-${k}`,{[m]:C},y.className,{selected:y.selected,selectable:S,parent:j,draggable:C,dragging:T}]),ref:A,style:{zIndex:w.z,transform:`translate(${w.positionAbsolute.x}px,${w.positionAbsolute.y}px)`,pointerEvents:L?"all":"none",visibility:z?"visible":"hidden",...y.style,...D},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:$,onMouseMove:F,onMouseLeave:B,onContextMenu:V,onClick:n=>{let{selectNodesOnDrag:r,nodeDragThreshold:a}=P.getState();S&&(!r||!C||a>0)&&OY({id:e,store:P,nodeRef:A}),t&&t(n,{...w.userNode})},onDoubleClick:H,onKeyDown:E?t=>{if(!Pt(t.nativeEvent)&&!h){if(Ij.includes(t.key)&&S)OY({id:e,store:P,unselect:"Escape"===t.key,nodeRef:A});else if(C&&y.selected&&Object.prototype.hasOwnProperty.call(O3,t.key)){t.preventDefault();let{ariaLabelConfig:e}=P.getState();P.setState({ariaLiveMessage:e["node.a11yDescription.ariaLiveMessage"]({direction:t.key.replace("Arrow","").toLowerCase(),x:~~w.positionAbsolute.x,y:~~w.positionAbsolute.y})}),R({direction:O3[t.key],factor:t.shiftKey?4:1})}}}:void 0,tabIndex:E?0:void 0,onFocus:E?()=>{if(h||!A.current?.matches(":focus-visible"))return;let{transform:t,width:n,height:r,autoPanOnNodeFocus:a,setCenter:i}=P.getState();!a||IO(new Map([[e,y]]),{x:0,y:0,width:n,height:r},t,!0).length>0||i(y.position.x+_.width/2,y.position.y+_.height/2,{zoom:t[2]})}:void 0,role:y.ariaRole??(E?"group":void 0),"aria-roledescription":"node","aria-describedby":h?void 0:`${On}-${p}`,"aria-label":y.ariaLabel,...y.domAttributes,children:(0,I.jsx)(O0,{value:e,children:(0,I.jsx)(N,{id:e,data:y.data,type:k,positionAbsoluteX:w.positionAbsolute.x,positionAbsoluteY:w.positionAbsolute.y,selected:y.selected??!1,selectable:S,draggable:C,deletable:y.deletable??!0,isConnectable:M,sourcePosition:y.sourcePosition,targetPosition:y.targetPosition,dragging:T,dragHandle:y.dragHandle,zIndex:w.z,parentId:y.parentId,..._})})})});let za=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function zi(e){var t;let{nodesDraggable:n,nodesConnectable:r,nodesFocusable:a,elementsSelectable:i,onError:o}=P7(za,P3),l=(t=e.onlyRenderVisibleElements,P7((0,O.useCallback)(e=>t?IO(e.nodeLookup,{x:0,y:0,width:e.width,height:e.height},e.transform,!0).map(e=>e.id):Array.from(e.nodeLookup.keys()),[t]),P3)),s=function(){let e=P7(zn),[t]=(0,O.useState)(()=>"u"<typeof ResizeObserver?null:new ResizeObserver(t=>{let n=new Map;t.forEach(e=>{let t=e.target.getAttribute("data-id");n.set(t,{id:t,nodeElement:e.target,force:!0})}),e(n)}));return(0,O.useEffect)(()=>()=>{t?.disconnect()},[t]),t}();return(0,I.jsx)("div",{className:"react-flow__nodes",style:OV,children:l.map(t=>(0,I.jsx)(zr,{id:t,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:s,nodesDraggable:n,nodesConnectable:r,nodesFocusable:a,elementsSelectable:i,nodeClickDistance:e.nodeClickDistance,onError:o},t))})}zi.displayName="NodeRenderer";let zo=(0,O.memo)(zi),zl={[C.Arrow]:({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e}};return(0,I.jsx)("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},[C.ArrowClosed]:({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e,fill:e}};return(0,I.jsx)("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})}},zs=({id:e,type:t,color:n,width:r=12.5,height:a=12.5,markerUnits:i="strokeWidth",strokeWidth:o,orient:l="auto-start-reverse"})=>{let s,c=(s=P9(),(0,O.useMemo)(()=>{let e;return Object.prototype.hasOwnProperty.call(zl,t)?zl[t]:(s.getState().onError?.("009",(e=t,`Marker type "${e}" doesn't exist.`)),null)},[t]));return c?(0,I.jsx)("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${a}`,viewBox:"-10 -10 20 20",markerUnits:i,orient:l,refX:"0",refY:"0",children:(0,I.jsx)(c,{color:n,strokeWidth:o})}):null},zc=({defaultColor:e,rfId:t})=>{let n=P7(e=>e.edges),r=P7(e=>e.defaultEdgeOptions),a=(0,O.useMemo)(()=>(function(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:a}){let i=new Set;return e.reduce((e,o)=>([o.markerStart||r,o.markerEnd||a].forEach(r=>{if(r&&"object"==typeof r){let a=Pb(r,t);i.has(a)||(e.push({id:a,color:r.color||n,...r}),i.add(a))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))})(n,{id:t,defaultColor:e,defaultMarkerStart:r?.markerStart,defaultMarkerEnd:r?.markerEnd}),[n,r,t,e]);return a.length?(0,I.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,I.jsx)("defs",{children:a.map(e=>(0,I.jsx)(zs,{id:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient},e.id))})}):null};zc.displayName="MarkerDefinitions";var zd=(0,O.memo)(zc);function zu({x:e,y:t,label:n,labelStyle:r,labelShowBg:a=!0,labelBgStyle:i,labelBgPadding:o=[2,4],labelBgBorderRadius:l=2,children:s,className:c,...d}){let[u,f]=(0,O.useState)({x:1,y:0,width:0,height:0}),m=SQ(["react-flow__edge-textwrapper",c]),h=(0,O.useRef)(null);return((0,O.useEffect)(()=>{if(h.current){let e=h.current.getBBox();f({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),n)?(0,I.jsxs)("g",{transform:`translate(${e-u.width/2} ${t-u.height/2})`,className:m,visibility:u.width?"visible":"hidden",...d,children:[a&&(0,I.jsx)("rect",{width:u.width+2*o[0],x:-o[0],y:-o[1],height:u.height+2*o[1],className:"react-flow__edge-textbg",style:i,rx:l,ry:l}),(0,I.jsx)("text",{className:"react-flow__edge-text",y:u.height/2,dy:"0.3em",ref:h,style:r,children:n}),s]}):null}zu.displayName="EdgeText";let zf=(0,O.memo)(zu);function zm({path:e,labelX:t,labelY:n,label:r,labelStyle:a,labelShowBg:i,labelBgStyle:o,labelBgPadding:l,labelBgBorderRadius:s,interactionWidth:c=20,...d}){return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)("path",{...d,d:e,fill:"none",className:SQ(["react-flow__edge-path",d.className])}),c?(0,I.jsx)("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:c,className:"react-flow__edge-interaction"}):null,r&&IG(t)&&IG(n)?(0,I.jsx)(zf,{x:t,y:n,label:r,labelStyle:a,labelShowBg:i,labelBgStyle:o,labelBgPadding:l,labelBgBorderRadius:s}):null]})}function zh({pos:e,x1:t,y1:n,x2:r,y2:a}){return e===S.Left||e===S.Right?[.5*(t+r),n]:[t,.5*(n+a)]}function zp({sourceX:e,sourceY:t,sourcePosition:n=S.Bottom,targetX:r,targetY:a,targetPosition:i=S.Top}){let[o,l]=zh({pos:n,x1:e,y1:t,x2:r,y2:a}),[s,c]=zh({pos:i,x1:r,y1:a,x2:e,y2:t}),[d,u,f,m]=Pa({sourceX:e,sourceY:t,targetX:r,targetY:a,sourceControlX:o,sourceControlY:l,targetControlX:s,targetControlY:c});return[`M${e},${t} C${o},${l} ${s},${c} ${r},${a}`,d,u,f,m]}function zg(e){return(0,O.memo)(({id:t,sourceX:n,sourceY:r,targetX:a,targetY:i,sourcePosition:o,targetPosition:l,label:s,labelStyle:c,labelShowBg:d,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:m,style:h,markerEnd:p,markerStart:g,interactionWidth:x})=>{let[v,b,y]=zp({sourceX:n,sourceY:r,sourcePosition:o,targetX:a,targetY:i,targetPosition:l}),w=e.isInternal?void 0:t;return(0,I.jsx)(zm,{id:w,path:v,labelX:b,labelY:y,label:s,labelStyle:c,labelShowBg:d,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:m,style:h,markerEnd:p,markerStart:g,interactionWidth:x})})}let zx=zg({isInternal:!1}),zv=zg({isInternal:!0});function zb(e){return(0,O.memo)(({id:t,sourceX:n,sourceY:r,targetX:a,targetY:i,label:o,labelStyle:l,labelShowBg:s,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:f,sourcePosition:m=S.Bottom,targetPosition:h=S.Top,markerEnd:p,markerStart:g,pathOptions:x,interactionWidth:v})=>{let[b,y,w]=Ph({sourceX:n,sourceY:r,sourcePosition:m,targetX:a,targetY:i,targetPosition:h,borderRadius:x?.borderRadius,offset:x?.offset,stepPosition:x?.stepPosition}),j=e.isInternal?void 0:t;return(0,I.jsx)(zm,{id:j,path:b,labelX:y,labelY:w,label:o,labelStyle:l,labelShowBg:s,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:f,markerEnd:p,markerStart:g,interactionWidth:v})})}zx.displayName="SimpleBezierEdge",zv.displayName="SimpleBezierEdgeInternal";let zy=zb({isInternal:!1}),zw=zb({isInternal:!0});function zj(e){return(0,O.memo)(({id:t,...n})=>{let r=e.isInternal?void 0:t;return(0,I.jsx)(zy,{...n,id:r,pathOptions:(0,O.useMemo)(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}zy.displayName="SmoothStepEdge",zw.displayName="SmoothStepEdgeInternal";let zk=zj({isInternal:!1}),zN=zj({isInternal:!0});function zC(e){return(0,O.memo)(({id:t,sourceX:n,sourceY:r,targetX:a,targetY:i,label:o,labelStyle:l,labelShowBg:s,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:f,markerEnd:m,markerStart:h,interactionWidth:p})=>{let[g,x,v]=Pd({sourceX:n,sourceY:r,targetX:a,targetY:i}),b=e.isInternal?void 0:t;return(0,I.jsx)(zm,{id:b,path:g,labelX:x,labelY:v,label:o,labelStyle:l,labelShowBg:s,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:f,markerEnd:m,markerStart:h,interactionWidth:p})})}zk.displayName="StepEdge",zN.displayName="StepEdgeInternal";let zS=zC({isInternal:!1}),zM=zC({isInternal:!0});function zE(e){return(0,O.memo)(({id:t,sourceX:n,sourceY:r,targetX:a,targetY:i,sourcePosition:o=S.Bottom,targetPosition:l=S.Top,label:s,labelStyle:c,labelShowBg:d,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:m,style:h,markerEnd:p,markerStart:g,pathOptions:x,interactionWidth:v})=>{let[b,y,w]=Pl({sourceX:n,sourceY:r,sourcePosition:o,targetX:a,targetY:i,targetPosition:l,curvature:x?.curvature}),j=e.isInternal?void 0:t;return(0,I.jsx)(zm,{id:j,path:b,labelX:y,labelY:w,label:s,labelStyle:c,labelShowBg:d,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:m,style:h,markerEnd:p,markerStart:g,interactionWidth:v})})}zS.displayName="StraightEdge",zM.displayName="StraightEdgeInternal";let zI=zE({isInternal:!1}),zP=zE({isInternal:!0});zI.displayName="BezierEdge",zP.displayName="BezierEdgeInternal";let zO={default:zP,straight:zM,step:zN,smoothstep:zw,simplebezier:zv},zz={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},zA="react-flow__edgeupdater";function zT({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:a,onMouseEnter:i,onMouseOut:o,type:l}){return(0,I.jsx)("circle",{onMouseDown:a,onMouseEnter:i,onMouseOut:o,className:SQ([zA,`${zA}-${l}`]),cx:e===S.Left?t-r:e===S.Right?t+r:t,cy:e===S.Top?n-r:e===S.Bottom?n+r:n,r:r,stroke:"transparent",fill:"transparent"})}function zR({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:r,sourceY:a,targetX:i,targetY:o,sourcePosition:l,targetPosition:s,onReconnect:c,onReconnectStart:d,onReconnectEnd:u,setReconnecting:f,setUpdateHover:m}){let h=P9(),p=(e,t)=>{if(0!==e.button)return;let{autoPanOnConnect:r,domNode:a,connectionMode:i,connectionRadius:o,lib:l,onConnectStart:s,cancelConnection:m,nodeLookup:p,rfId:g,panBy:x,updateConnection:v}=h.getState(),b="target"===t.type;PD(e.nativeEvent,{autoPanOnConnect:r,connectionMode:i,connectionRadius:o,domNode:a,handleId:t.id,nodeId:t.nodeId,nodeLookup:p,isTarget:b,edgeUpdaterType:t.type,lib:l,flowId:g,cancelConnection:m,panBy:x,isValidConnection:(...e)=>h.getState().isValidConnection?.(...e)??!0,onConnect:e=>c?.(n,e),onConnectStart:(r,a)=>{f(!0),d?.(e,n,t.type),s?.(r,a)},onConnectEnd:(...e)=>h.getState().onConnectEnd?.(...e),onReconnectEnd:(e,r)=>{f(!1),u?.(e,n,t.type,r)},updateConnection:v,getTransform:()=>h.getState().transform,getFromHandle:()=>h.getState().connection.fromHandle,dragThreshold:h.getState().connectionDragThreshold,handleDomNode:e.currentTarget})},g=()=>m(!0),x=()=>m(!1);return(0,I.jsxs)(I.Fragment,{children:[(!0===e||"source"===e)&&(0,I.jsx)(zT,{position:l,centerX:r,centerY:a,radius:t,onMouseDown:e=>p(e,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),onMouseEnter:g,onMouseOut:x,type:"source"}),(!0===e||"target"===e)&&(0,I.jsx)(zT,{position:s,centerX:i,centerY:o,radius:t,onMouseDown:e=>p(e,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),onMouseEnter:g,onMouseOut:x,type:"target"})]})}var z_=(0,O.memo)(function({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:r,onClick:a,onDoubleClick:i,onContextMenu:o,onMouseEnter:l,onMouseMove:s,onMouseLeave:c,reconnectRadius:d,onReconnect:u,onReconnectStart:f,onReconnectEnd:m,rfId:h,edgeTypes:p,noPanClassName:g,onError:x,disableKeyboardA11y:v}){let b,y=P7(t=>t.edgeLookup.get(e)),j=P7(e=>e.defaultEdgeOptions),k=(y=j?{...j,...y}:y).type||"default",N=p?.[k]||zO[k];void 0===N&&(x?.("011",(b=k,`Edge type "${b}" not found. Using fallback type "default".`)),k="default",N=p?.default||zO.default);let C=!!(y.focusable||t&&void 0===y.focusable),M=void 0!==u&&(y.reconnectable||n&&void 0===y.reconnectable),E=!!(y.selectable||r&&void 0===y.selectable),P=(0,O.useRef)(null),[z,A]=(0,O.useState)(!1),[T,R]=(0,O.useState)(!1),_=P9(),{zIndex:D,sourceX:L,sourceY:$,targetX:F,targetY:B,sourcePosition:V,targetPosition:H}=P7((0,O.useCallback)(t=>{let n=t.nodeLookup.get(y.source),r=t.nodeLookup.get(y.target);if(!n||!r)return{zIndex:y.zIndex,...zz};let a=function(e){let{sourceNode:t,targetNode:n}=e;if(!Pp(t)||!Pp(n))return null;let r=t.internals.handleBounds||Pg(t.handles),a=n.internals.handleBounds||Pg(n.handles),i=Pv(r?.source??[],e.sourceHandle),o=Pv(e.connectionMode===w.Strict?a?.target??[]:(a?.target??[]).concat(a?.source??[]),e.targetHandle);if(!i||!o)return e.onError?.("008",((e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${"source"===e?n:r}", edge id: ${t}.`)(!i?"source":"target",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let l=i?.position||S.Bottom,s=o?.position||S.Top,c=Px(t,i,l),d=Px(n,o,s);return{sourceX:c.x,sourceY:c.y,targetX:d.x,targetY:d.y,sourcePosition:l,targetPosition:s}}({id:e,sourceNode:n,targetNode:r,sourceHandle:y.sourceHandle||null,targetHandle:y.targetHandle||null,connectionMode:t.connectionMode,onError:x});return{zIndex:function({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:a=!1,zIndexMode:i="basic"}){if("manual"===i)return r;let o=Math.max(e.parentId||a&&e.selected?e.internals.z:0,t.parentId||a&&t.selected?t.internals.z:0);return(a&&n?r+1e3:r)+o}({selected:y.selected,zIndex:y.zIndex,sourceNode:n,targetNode:r,elevateOnSelect:t.elevateEdgesOnSelect,zIndexMode:t.zIndexMode}),...a||zz}},[y.source,y.target,y.sourceHandle,y.targetHandle,y.selected,y.zIndex]),P3),U=(0,O.useMemo)(()=>y.markerStart?`url('#${Pb(y.markerStart,h)}')`:void 0,[y.markerStart,h]),q=(0,O.useMemo)(()=>y.markerEnd?`url('#${Pb(y.markerEnd,h)}')`:void 0,[y.markerEnd,h]);if(y.hidden||null===L||null===$||null===F||null===B)return null;let W=i?e=>{i(e,{...y})}:void 0,K=o?e=>{o(e,{...y})}:void 0,G=l?e=>{l(e,{...y})}:void 0,X=s?e=>{s(e,{...y})}:void 0,Y=c?e=>{c(e,{...y})}:void 0;return(0,I.jsx)("svg",{style:{zIndex:D},children:(0,I.jsxs)("g",{className:SQ(["react-flow__edge",`react-flow__edge-${k}`,y.className,g,{selected:y.selected,animated:y.animated,inactive:!E&&!a,updating:z,selectable:E}]),onClick:t=>{let{addSelectedEdges:n,unselectNodesAndEdges:r,multiSelectionActive:i}=_.getState();E&&(_.setState({nodesSelectionActive:!1}),y.selected&&i?(r({nodes:[],edges:[y]}),P.current?.blur()):n([e])),a&&a(t,y)},onDoubleClick:W,onContextMenu:K,onMouseEnter:G,onMouseMove:X,onMouseLeave:Y,onKeyDown:C?t=>{if(!v&&Ij.includes(t.key)&&E){let{unselectNodesAndEdges:n,addSelectedEdges:r}=_.getState();"Escape"===t.key?(P.current?.blur(),n({edges:[y]})):r([e])}}:void 0,tabIndex:C?0:void 0,role:y.ariaRole??(C?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":null===y.ariaLabel?void 0:y.ariaLabel||`Edge from ${y.source} to ${y.target}`,"aria-describedby":C?`${Or}-${h}`:void 0,ref:P,...y.domAttributes,children:[!T&&(0,I.jsx)(N,{id:e,source:y.source,target:y.target,type:y.type,selected:y.selected,animated:y.animated,selectable:E,deletable:y.deletable??!0,label:y.label,labelStyle:y.labelStyle,labelShowBg:y.labelShowBg,labelBgStyle:y.labelBgStyle,labelBgPadding:y.labelBgPadding,labelBgBorderRadius:y.labelBgBorderRadius,sourceX:L,sourceY:$,targetX:F,targetY:B,sourcePosition:V,targetPosition:H,data:y.data,style:y.style,sourceHandleId:y.sourceHandle,targetHandleId:y.targetHandle,markerStart:U,markerEnd:q,pathOptions:"pathOptions"in y?y.pathOptions:void 0,interactionWidth:y.interactionWidth}),M&&(0,I.jsx)(zR,{edge:y,isReconnectable:M,reconnectRadius:d,onReconnect:u,onReconnectStart:f,onReconnectEnd:m,sourceX:L,sourceY:$,targetX:F,targetY:B,sourcePosition:V,targetPosition:H,setUpdateHover:A,setReconnecting:R})]})})});let zD=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function zL({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:r,noPanClassName:a,onReconnect:i,onEdgeContextMenu:o,onEdgeMouseEnter:l,onEdgeMouseMove:s,onEdgeMouseLeave:c,onEdgeClick:d,reconnectRadius:u,onEdgeDoubleClick:f,onReconnectStart:m,onReconnectEnd:h,disableKeyboardA11y:p}){let{edgesFocusable:g,edgesReconnectable:x,elementsSelectable:v,onError:b}=P7(zD,P3),y=P7((0,O.useCallback)(e=>{if(!t)return e.edges.map(e=>e.id);let n=[];if(e.width&&e.height)for(let t of e.edges){let r=e.nodeLookup.get(t.source),a=e.nodeLookup.get(t.target);r&&a&&function({sourceNode:e,targetNode:t,width:n,height:r,transform:a}){let i=IF(IU(e),IU(t));return i.x===i.x2&&(i.x2+=1),i.y===i.y2&&(i.y2+=1),IW({x:-a[0]/a[2],y:-a[1]/a[2],width:n/a[2],height:r/a[2]},IV(i))>0}({sourceNode:r,targetNode:a,width:e.width,height:e.height,transform:e.transform})&&n.push(t.id)}return n},[t]),P3);return(0,I.jsxs)("div",{className:"react-flow__edges",children:[(0,I.jsx)(zd,{defaultColor:e,rfId:n}),y.map(e=>(0,I.jsx)(z_,{id:e,edgesFocusable:g,edgesReconnectable:x,elementsSelectable:v,noPanClassName:a,onReconnect:i,onContextMenu:o,onMouseEnter:l,onMouseMove:s,onMouseLeave:c,onClick:d,reconnectRadius:u,onDoubleClick:f,onReconnectStart:m,onReconnectEnd:h,rfId:n,onError:b,edgeTypes:r,disableKeyboardA11y:p},e))]})}zL.displayName="EdgeRenderer";let z$=(0,O.memo)(zL),zF=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function zB({children:e}){let t=P7(zF);return(0,I.jsx)("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}let zV=e=>e.panZoom?.syncViewport;function zH(e){return e.connection.inProgress?{...e.connection,to:IZ(e.connection.to,e.transform)}:{...e.connection}}let zU=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function zq({containerStyle:e,style:t,type:n,component:r}){let{nodesConnectable:a,width:i,height:o,isValid:l,inProgress:s}=P7(zU,P3);return i&&a&&s?(0,I.jsx)("svg",{style:e,width:i,height:o,className:"react-flow__connectionline react-flow__container",children:(0,I.jsx)("g",{className:SQ(["react-flow__connection",IS(l)]),children:(0,I.jsx)(zW,{style:t,type:n,CustomComponent:r,isValid:l})})}):null}let zW=({style:e,type:t=N.Bezier,CustomComponent:n,isValid:r})=>{let{inProgress:a,from:i,fromNode:o,fromHandle:l,fromPosition:s,to:c,toNode:d,toHandle:u,toPosition:f,pointer:m}=P7(zH,P3);if(!a)return;if(n)return(0,I.jsx)(n,{connectionLineType:t,connectionLineStyle:e,fromNode:o,fromHandle:l,fromX:i.x,fromY:i.y,toX:c.x,toY:c.y,fromPosition:s,toPosition:f,connectionStatus:IS(r),toNode:d,toHandle:u,pointer:m});let h="",p={sourceX:i.x,sourceY:i.y,sourcePosition:s,targetX:c.x,targetY:c.y,targetPosition:f};switch(t){case N.Bezier:[h]=Pl(p);break;case N.SimpleBezier:[h]=zp(p);break;case N.Step:[h]=Ph({...p,borderRadius:0});break;case N.SmoothStep:[h]=Ph(p);break;default:[h]=Pd(p)}return(0,I.jsx)("path",{d:h,fill:"none",className:"react-flow__connection-path",style:e})};zW.displayName="ConnectionLine";let zK={};function zG(e=zK){(0,O.useRef)(e),P9(),(0,O.useEffect)(()=>{},[e])}function zX({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:r,onEdgeClick:a,onNodeDoubleClick:i,onEdgeDoubleClick:o,onNodeMouseEnter:l,onNodeMouseMove:s,onNodeMouseLeave:c,onNodeContextMenu:d,onSelectionContextMenu:u,onSelectionStart:f,onSelectionEnd:m,connectionLineType:h,connectionLineStyle:p,connectionLineComponent:g,connectionLineContainerStyle:x,selectionKeyCode:v,selectionOnDrag:b,selectionMode:y,multiSelectionKeyCode:w,panActivationKeyCode:j,zoomActivationKeyCode:k,deleteKeyCode:N,onlyRenderVisibleElements:C,elementsSelectable:S,defaultViewport:M,translateExtent:E,minZoom:P,maxZoom:z,preventScrolling:A,defaultMarkerColor:T,zoomOnScroll:R,zoomOnPinch:_,panOnScroll:D,panOnScrollSpeed:L,panOnScrollMode:$,zoomOnDoubleClick:F,panOnDrag:B,onPaneClick:V,onPaneMouseEnter:H,onPaneMouseMove:U,onPaneMouseLeave:q,onPaneScroll:W,onPaneContextMenu:K,paneClickDistance:G,nodeClickDistance:X,onEdgeContextMenu:Y,onEdgeMouseEnter:Z,onEdgeMouseMove:J,onEdgeMouseLeave:Q,reconnectRadius:ee,onReconnect:et,onReconnectStart:en,onReconnectEnd:er,noDragClassName:ea,noWheelClassName:ei,noPanClassName:eo,disableKeyboardA11y:el,nodeExtent:es,rfId:ec,viewport:ed,onViewportChange:eu}){let ef,em,eh,ep;return zG(e),zG(t),P9(),(0,O.useRef)(!1),(0,O.useEffect)(()=>{},[]),ef=O$(),em=(0,O.useRef)(!1),(0,O.useEffect)(()=>{!em.current&&ef.viewportInitialized&&n&&(setTimeout(()=>n(ef),1),em.current=!0)},[n,ef.viewportInitialized]),eh=P7(zV),ep=P9(),(0,O.useEffect)(()=>{ed&&(eh?.(ed),ep.setState({transform:[ed.x,ed.y,ed.zoom]}))},[ed,eh]),(0,I.jsx)(zt,{onPaneClick:V,onPaneMouseEnter:H,onPaneMouseMove:U,onPaneMouseLeave:q,onPaneContextMenu:K,onPaneScroll:W,paneClickDistance:G,deleteKeyCode:N,selectionKeyCode:v,selectionOnDrag:b,selectionMode:y,onSelectionStart:f,onSelectionEnd:m,multiSelectionKeyCode:w,panActivationKeyCode:j,zoomActivationKeyCode:k,elementsSelectable:S,zoomOnScroll:R,zoomOnPinch:_,zoomOnDoubleClick:F,panOnScroll:D,panOnScrollSpeed:L,panOnScrollMode:$,panOnDrag:B,defaultViewport:M,translateExtent:E,minZoom:P,maxZoom:z,onSelectionContextMenu:u,preventScrolling:A,noDragClassName:ea,noWheelClassName:ei,noPanClassName:eo,disableKeyboardA11y:el,onViewportChange:eu,isControlledViewport:!!ed,children:(0,I.jsxs)(zB,{children:[(0,I.jsx)(z$,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:o,onReconnect:et,onReconnectStart:en,onReconnectEnd:er,onlyRenderVisibleElements:C,onEdgeContextMenu:Y,onEdgeMouseEnter:Z,onEdgeMouseMove:J,onEdgeMouseLeave:Q,reconnectRadius:ee,defaultMarkerColor:T,noPanClassName:eo,disableKeyboardA11y:el,rfId:ec}),(0,I.jsx)(zq,{style:p,type:h,component:g,containerStyle:x}),(0,I.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,I.jsx)(zo,{nodeTypes:e,onNodeClick:r,onNodeDoubleClick:i,onNodeMouseEnter:l,onNodeMouseMove:s,onNodeMouseLeave:c,onNodeContextMenu:d,nodeClickDistance:X,onlyRenderVisibleElements:C,noPanClassName:eo,noDragClassName:ea,disableKeyboardA11y:el,nodeExtent:es,rfId:ec}),(0,I.jsx)("div",{className:"react-flow__viewport-portal"})]})})}zX.displayName="GraphView";let zY=(0,O.memo)(zX),zZ=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:a,height:i,fitView:o,fitViewOptions:l,minZoom:s=.5,maxZoom:c=2,nodeOrigin:d,nodeExtent:u,zIndexMode:f="basic"}={})=>{let m=new Map,h=new Map,p=new Map,g=new Map,x=r??t??[],v=n??e??[],b=d??[0,0],y=u??Iw;PP(p,g,x);let{nodesInitialized:j}=PN(v,m,h,{nodeOrigin:b,nodeExtent:y,zIndexMode:f}),k=[0,0,1];if(o&&a&&i){let{x:e,y:t,zoom:n}=I0(IP(m,{filter:e=>!!((e.width||e.initialWidth)&&(e.height||e.initialHeight))}),a,i,s,c,l?.padding??.1);k=[e,t,n]}return{rfId:"1",width:a??0,height:i??0,transform:k,nodes:v,nodesInitialized:j,nodeLookup:m,parentLookup:h,edges:x,edgeLookup:g,connectionLookup:p,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:void 0!==n,hasDefaultEdges:void 0!==r,panZoom:null,minZoom:s,maxZoom:c,translateExtent:Iw,nodeExtent:y,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:w.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:b,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:o??!1,fitViewOptions:l,fitViewResolver:null,connection:{...IN},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:IX,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Ik,zIndexMode:f,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}};function zJ({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:r,initialWidth:a,initialHeight:i,initialMinZoom:o,initialMaxZoom:l,initialFitViewOptions:s,fitView:c,nodeOrigin:d,nodeExtent:u,zIndexMode:f,children:m}){let[h]=(0,O.useState)(()=>(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:a,height:i,fitView:o,fitViewOptions:l,minZoom:s,maxZoom:c,nodeOrigin:d,nodeExtent:u,zIndexMode:f})=>{let m,h;return m=(m,h)=>{async function p(){let{nodeLookup:e,panZoom:t,fitViewOptions:n,fitViewResolver:r,width:a,height:i,minZoom:o,maxZoom:l}=h();t&&(await Iz({nodes:e,width:a,height:i,panZoom:t,minZoom:o,maxZoom:l},n),r?.resolve(!0),m({fitViewResolver:null}))}return{...zZ({nodes:e,edges:t,width:a,height:i,fitView:o,fitViewOptions:l,minZoom:s,maxZoom:c,nodeOrigin:d,nodeExtent:u,defaultNodes:n,defaultEdges:r,zIndexMode:f}),setNodes:e=>{let{nodeLookup:t,parentLookup:n,nodeOrigin:r,elevateNodesOnSelect:a,fitViewQueued:i,zIndexMode:o,nodesSelectionActive:l}=h(),{nodesInitialized:s,hasSelectedNodes:c}=PN(e,t,n,{nodeOrigin:r,nodeExtent:u,elevateNodesOnSelect:a,checkEquality:!0,zIndexMode:o}),d=l&&c;i&&s?(p(),m({nodes:e,nodesInitialized:s,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:d})):m({nodes:e,nodesInitialized:s,nodesSelectionActive:d})},setEdges:e=>{let{connectionLookup:t,edgeLookup:n}=h();PP(t,n,e),m({edges:e})},setDefaultNodesAndEdges:(e,t)=>{if(e){let{setNodes:t}=h();t(e),m({hasDefaultNodes:!0})}if(t){let{setEdges:e}=h();e(t),m({hasDefaultEdges:!0})}},updateNodeInternals:e=>{let{triggerNodeChanges:t,nodeLookup:n,parentLookup:r,domNode:a,nodeOrigin:i,nodeExtent:o,debug:l,fitViewQueued:s,zIndexMode:c}=h(),{changes:d,updatedInternals:u}=function(e,t,n,r,a,i,o){let l=r?.querySelector(".xyflow__viewport"),s=!1;if(!l)return{changes:[],updatedInternals:s};let c=[],d=window.getComputedStyle(l),{m22:u}=new window.DOMMatrixReadOnly(d.transform),f=[];for(let r of e.values()){let e=t.get(r.id);if(!e)continue;if(e.hidden){t.set(e.id,{...e,internals:{...e.internals,handleBounds:void 0}}),s=!0;continue}let l=I7(r.nodeElement),d=e.measured.width!==l.width||e.measured.height!==l.height;if(l.width&&l.height&&(d||!e.internals.handleBounds||r.force)){let m=r.nodeElement.getBoundingClientRect(),h=I2(e.extent)?e.extent:i,{positionAbsolute:p}=e.internals;e.parentId&&"parent"===e.extent?p=ID(p,l,t.get(e.parentId)):h&&(p=I_(p,h,l));let g={...e,measured:l,internals:{...e.internals,positionAbsolute:p,handleBounds:{source:Pr("source",r.nodeElement,m,u,e.id),target:Pr("target",r.nodeElement,m,u,e.id)}}};t.set(e.id,g),e.parentId&&PC(g,t,n,{nodeOrigin:a,zIndexMode:o}),s=!0,d&&(c.push({id:e.id,type:"dimensions",dimensions:l}),e.expandParent&&e.parentId&&f.push({id:e.id,parentId:e.parentId,rect:IH(g,a)}))}}if(f.length>0){let e=PM(f,t,n,a);c.push(...e)}return{changes:c,updatedInternals:s}}(e,n,r,a,i,o,c);u&&(!function(e,t,n){let r=Pj(Py,n);for(let n of e.values())if(n.parentId)PC(n,e,t,r);else{let e=I_(II(n,r.nodeOrigin),I2(n.extent)?n.extent:r.nodeExtent,I5(n));n.internals.positionAbsolute=e}}(n,r,{nodeOrigin:i,nodeExtent:o,zIndexMode:c}),s?(p(),m({fitViewQueued:!1,fitViewOptions:void 0})):m({}),d?.length>0&&(l&&console.log("React Flow: trigger node changes",d),t?.(d)))},updateNodePositions:(e,t=!1)=>{let n=[],r=[],{nodeLookup:a,triggerNodeChanges:i,connection:o,updateConnection:l,onNodesChangeMiddlewareMap:s}=h();for(let[i,s]of e){let e=a.get(i),c=!!(e?.expandParent&&e?.parentId&&s?.position),d={id:i,type:"position",position:c?{x:Math.max(0,s.position.x),y:Math.max(0,s.position.y)}:s.position,dragging:t};if(e&&o.inProgress&&o.fromNode.id===e.id){let t=Px(e,o.fromHandle,S.Left,!0);l({...o,from:t})}c&&e.parentId&&n.push({id:i,parentId:e.parentId,rect:{...s.internals.positionAbsolute,width:s.measured.width??0,height:s.measured.height??0}}),r.push(d)}if(n.length>0){let{parentLookup:e,nodeOrigin:t}=h(),i=PM(n,a,e,t);r.push(...i)}for(let e of s.values())r=e(r);i(r)},triggerNodeChanges:e=>{let{onNodesChange:t,setNodes:n,nodes:r,hasDefaultNodes:a,debug:i}=h();e?.length&&(a&&n(OE(e,r)),i&&console.log("React Flow: trigger node changes",e),t?.(e))},triggerEdgeChanges:e=>{let{onEdgesChange:t,setEdges:n,edges:r,hasDefaultEdges:a,debug:i}=h();e?.length&&(a&&n(OE(e,r)),i&&console.log("React Flow: trigger edge changes",e),t?.(e))},addSelectedNodes:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:r,triggerNodeChanges:a,triggerEdgeChanges:i}=h();t?a(e.map(e=>OI(e,!0))):(a(OP(r,new Set([...e]),!0)),i(OP(n)))},addSelectedEdges:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:r,triggerNodeChanges:a,triggerEdgeChanges:i}=h();t?i(e.map(e=>OI(e,!0))):(i(OP(n,new Set([...e]))),a(OP(r,new Set,!0)))},unselectNodesAndEdges:({nodes:e,edges:t}={})=>{let{edges:n,nodes:r,nodeLookup:a,triggerNodeChanges:i,triggerEdgeChanges:o}=h(),l=[];for(let t of e||r){if(!t.selected)continue;let e=a.get(t.id);e&&(e.selected=!1),l.push(OI(t.id,!1))}let s=[];for(let e of t||n)e.selected&&s.push(OI(e.id,!1));i(l),o(s)},setMinZoom:e=>{let{panZoom:t,maxZoom:n}=h();t?.setScaleExtent([e,n]),m({minZoom:e})},setMaxZoom:e=>{let{panZoom:t,minZoom:n}=h();t?.setScaleExtent([n,e]),m({maxZoom:e})},setTranslateExtent:e=>{h().panZoom?.setTranslateExtent(e),m({translateExtent:e})},resetSelectedElements:()=>{let{edges:e,nodes:t,triggerNodeChanges:n,triggerEdgeChanges:r,elementsSelectable:a}=h();if(!a)return;let i=t.reduce((e,t)=>t.selected?[...e,OI(t.id,!1)]:e,[]),o=e.reduce((e,t)=>t.selected?[...e,OI(t.id,!1)]:e,[]);n(i),r(o)},setNodeExtent:e=>{let{nodes:t,nodeLookup:n,parentLookup:r,nodeOrigin:a,elevateNodesOnSelect:i,nodeExtent:o,zIndexMode:l}=h();(e[0][0]!==o[0][0]||e[0][1]!==o[0][1]||e[1][0]!==o[1][0]||e[1][1]!==o[1][1])&&(PN(t,n,r,{nodeOrigin:a,nodeExtent:e,elevateNodesOnSelect:i,checkEquality:!1,zIndexMode:l}),m({nodeExtent:e}))},panBy:e=>{let{transform:t,width:n,height:r,panZoom:a,translateExtent:i}=h();return PE({delta:e,panZoom:a,transform:t,translateExtent:i,width:n,height:r})},setCenter:async(e,t,n)=>{let{width:r,height:a,maxZoom:i,panZoom:o}=h();if(!o)return Promise.resolve(!1);let l=void 0!==n?.zoom?n.zoom:i;return await o.setViewport({x:r/2-e*l,y:a/2-t*l,zoom:l},{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{m({connection:{...IN}})},updateConnection:e=>{m({connection:e})},reset:()=>m({...zZ()})}},h=Object.is,m?P5(m,h):P5})({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:a,height:i,fitView:c,minZoom:o,maxZoom:l,fitViewOptions:s,nodeOrigin:d,nodeExtent:u,zIndexMode:f}));return(0,I.jsx)(P6,{value:h,children:(0,I.jsx)(OD,{children:m})})}function zQ({children:e,nodes:t,edges:n,defaultNodes:r,defaultEdges:a,width:i,height:o,fitView:l,fitViewOptions:s,minZoom:c,maxZoom:d,nodeOrigin:u,nodeExtent:f,zIndexMode:m}){return(0,O.useContext)(P4)?(0,I.jsx)(I.Fragment,{children:e}):(0,I.jsx)(zJ,{initialNodes:t,initialEdges:n,defaultNodes:r,defaultEdges:a,initialWidth:i,initialHeight:o,fitView:l,initialFitViewOptions:s,initialMinZoom:c,initialMaxZoom:d,nodeOrigin:u,nodeExtent:f,zIndexMode:m,children:e})}let z0={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};var z1=OT(function({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:a,nodeTypes:i,edgeTypes:o,onNodeClick:l,onEdgeClick:s,onInit:c,onMove:d,onMoveStart:u,onMoveEnd:f,onConnect:m,onConnectStart:h,onConnectEnd:p,onClickConnectStart:g,onClickConnectEnd:x,onNodeMouseEnter:v,onNodeMouseMove:b,onNodeMouseLeave:y,onNodeContextMenu:w,onNodeDoubleClick:C,onNodeDragStart:S,onNodeDrag:M,onNodeDragStop:E,onNodesDelete:P,onEdgesDelete:z,onDelete:A,onSelectionChange:T,onSelectionDragStart:R,onSelectionDrag:_,onSelectionDragStop:D,onSelectionContextMenu:L,onSelectionStart:$,onSelectionEnd:F,onBeforeDelete:B,connectionMode:V,connectionLineType:H=N.Bezier,connectionLineStyle:U,connectionLineComponent:q,connectionLineContainerStyle:W,deleteKeyCode:K="Backspace",selectionKeyCode:G="Shift",selectionOnDrag:X=!1,selectionMode:Y=k.Full,panActivationKeyCode:Z="Space",multiSelectionKeyCode:J=I1()?"Meta":"Control",zoomActivationKeyCode:Q=I1()?"Meta":"Control",snapToGrid:ee,snapGrid:et,onlyRenderVisibleElements:en=!1,selectNodesOnDrag:er,nodesDraggable:ea,autoPanOnNodeFocus:ei,nodesConnectable:eo,nodesFocusable:el,nodeOrigin:es=Ox,edgesFocusable:ec,edgesReconnectable:ed,elementsSelectable:eu=!0,defaultViewport:ef=Ov,minZoom:em=.5,maxZoom:eh=2,translateExtent:ep=Iw,preventScrolling:eg=!0,nodeExtent:ex,defaultMarkerColor:ev="#b1b1b7",zoomOnScroll:eb=!0,zoomOnPinch:ey=!0,panOnScroll:ew=!1,panOnScrollSpeed:ej=.5,panOnScrollMode:ek=j.Free,zoomOnDoubleClick:eN=!0,panOnDrag:eC=!0,onPaneClick:eS,onPaneMouseEnter:eM,onPaneMouseMove:eE,onPaneMouseLeave:eI,onPaneScroll:eP,onPaneContextMenu:eO,paneClickDistance:ez=1,nodeClickDistance:eA=0,children:eT,onReconnect:eR,onReconnectStart:e_,onReconnectEnd:eD,onEdgeContextMenu:eL,onEdgeDoubleClick:e$,onEdgeMouseEnter:eF,onEdgeMouseMove:eB,onEdgeMouseLeave:eV,reconnectRadius:eH=10,onNodesChange:eU,onEdgesChange:eq,noDragClassName:eW="nodrag",noWheelClassName:eK="nowheel",noPanClassName:eG="nopan",fitView:eX,fitViewOptions:eY,connectOnClick:eZ,attributionPosition:eJ,proOptions:eQ,defaultEdgeOptions:e0,elevateNodesOnSelect:e1=!0,elevateEdgesOnSelect:e2=!1,disableKeyboardA11y:e5=!1,autoPanOnConnect:e3,autoPanOnNodeDrag:e4,autoPanSpeed:e6,connectionRadius:e8,isValidConnection:e7,onError:e9,style:te,id:tt,nodeDragThreshold:tn,connectionDragThreshold:tr,viewport:ta,onViewportChange:ti,width:to,height:tl,colorMode:ts="light",debug:tc,onScroll:td,ariaLabelConfig:tu,zIndexMode:tf="basic",...tm},th){let tp=tt||"1",tg=function(e){let[t,n]=(0,O.useState)("system"===e?null:e);return(0,O.useEffect)(()=>{if("system"!==e)return void n(e);let t=Ok(),r=()=>n(t?.matches?"dark":"light");return r(),t?.addEventListener("change",r),()=>{t?.removeEventListener("change",r)}},[e]),null!==t?t:Ok()?.matches?"dark":"light"}(ts),tx=(0,O.useCallback)(e=>{e.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),td?.(e)},[td]);return(0,I.jsx)("div",{"data-testid":"rf__wrapper",...tm,onScroll:tx,style:{...te,...z0},ref:th,className:SQ(["react-flow",a,tg]),id:tt,role:"application",children:(0,I.jsxs)(zQ,{nodes:e,edges:t,width:to,height:tl,fitView:eX,fitViewOptions:eY,minZoom:em,maxZoom:eh,nodeOrigin:es,nodeExtent:ex,zIndexMode:tf,children:[(0,I.jsx)(Oj,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:m,onConnectStart:h,onConnectEnd:p,onClickConnectStart:g,onClickConnectEnd:x,nodesDraggable:ea,autoPanOnNodeFocus:ei,nodesConnectable:eo,nodesFocusable:el,edgesFocusable:ec,edgesReconnectable:ed,elementsSelectable:eu,elevateNodesOnSelect:e1,elevateEdgesOnSelect:e2,minZoom:em,maxZoom:eh,nodeExtent:ex,onNodesChange:eU,onEdgesChange:eq,snapToGrid:ee,snapGrid:et,connectionMode:V,translateExtent:ep,connectOnClick:eZ,defaultEdgeOptions:e0,fitView:eX,fitViewOptions:eY,onNodesDelete:P,onEdgesDelete:z,onDelete:A,onNodeDragStart:S,onNodeDrag:M,onNodeDragStop:E,onSelectionDrag:_,onSelectionDragStart:R,onSelectionDragStop:D,onMove:d,onMoveStart:u,onMoveEnd:f,noPanClassName:eG,nodeOrigin:es,rfId:tp,autoPanOnConnect:e3,autoPanOnNodeDrag:e4,autoPanSpeed:e6,onError:e9,connectionRadius:e8,isValidConnection:e7,selectNodesOnDrag:er,nodeDragThreshold:tn,connectionDragThreshold:tr,onBeforeDelete:B,debug:tc,ariaLabelConfig:tu,zIndexMode:tf}),(0,I.jsx)(zY,{onInit:c,onNodeClick:l,onEdgeClick:s,onNodeMouseEnter:v,onNodeMouseMove:b,onNodeMouseLeave:y,onNodeContextMenu:w,onNodeDoubleClick:C,nodeTypes:i,edgeTypes:o,connectionLineType:H,connectionLineStyle:U,connectionLineComponent:q,connectionLineContainerStyle:W,selectionKeyCode:G,selectionOnDrag:X,selectionMode:Y,deleteKeyCode:K,multiSelectionKeyCode:J,panActivationKeyCode:Z,zoomActivationKeyCode:Q,onlyRenderVisibleElements:en,defaultViewport:ef,translateExtent:ep,minZoom:em,maxZoom:eh,preventScrolling:eg,zoomOnScroll:eb,zoomOnPinch:ey,zoomOnDoubleClick:eN,panOnScroll:ew,panOnScrollSpeed:ej,panOnScrollMode:ek,panOnDrag:eC,onPaneClick:eS,onPaneMouseEnter:eM,onPaneMouseMove:eE,onPaneMouseLeave:eI,onPaneScroll:eP,onPaneContextMenu:eO,paneClickDistance:ez,nodeClickDistance:eA,onSelectionContextMenu:L,onSelectionStart:$,onSelectionEnd:F,onReconnect:eR,onReconnectStart:e_,onReconnectEnd:eD,onEdgeContextMenu:eL,onEdgeDoubleClick:e$,onEdgeMouseEnter:eF,onEdgeMouseMove:eB,onEdgeMouseLeave:eV,reconnectRadius:eH,defaultMarkerColor:ev,noDragClassName:eW,noWheelClassName:eK,noPanClassName:eG,rfId:tp,disableKeyboardA11y:e5,nodeExtent:ex,viewport:ta,onViewportChange:ti}),(0,I.jsx)(Op,{onSelectionChange:T}),eT,(0,I.jsx)(Oc,{proOptions:eQ,position:eJ}),(0,I.jsx)(Ol,{rfId:tp,disableKeyboardA11y:e5})]})})});let z2=e=>e.domNode?.querySelector(".react-flow__edgelabel-renderer");function z5({children:e}){let t=P7(z2);return t?(0,gS.createPortal)(e,t):null}function z3({dimensions:e,lineWidth:t,variant:n,className:r}){return(0,I.jsx)("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:SQ(["react-flow__background-pattern",n,r])})}function z4({radius:e,className:t}){return(0,I.jsx)("circle",{cx:e,cy:e,r:e,className:SQ(["react-flow__background-pattern","dots",t])})}(v=E||(E={})).Lines="lines",v.Dots="dots",v.Cross="cross";let z6={[E.Dots]:1,[E.Lines]:1,[E.Cross]:6},z8=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function z7({id:e,variant:t=E.Dots,gap:n=20,size:r,lineWidth:a=1,offset:i=0,color:o,bgColor:l,style:s,className:c,patternClassName:d}){let u=(0,O.useRef)(null),{transform:f,patternId:m}=P7(z8,P3),h=r||z6[t],p=t===E.Dots,g=t===E.Cross,x=Array.isArray(n)?n:[n,n],v=[x[0]*f[2]||1,x[1]*f[2]||1],b=h*f[2],y=Array.isArray(i)?i:[i,i],w=g?[b,b]:v,j=[y[0]*f[2]||1+w[0]/2,y[1]*f[2]||1+w[1]/2],k=`${m}${e||""}`;return(0,I.jsxs)("svg",{className:SQ(["react-flow__background",c]),style:{...s,...OV,"--xy-background-color-props":l,"--xy-background-pattern-color-props":o},ref:u,"data-testid":"rf__background",children:[(0,I.jsx)("pattern",{id:k,x:f[0]%v[0],y:f[1]%v[1],width:v[0],height:v[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${j[0]},-${j[1]})`,children:p?(0,I.jsx)(z4,{radius:b/2,className:d}):(0,I.jsx)(z3,{dimensions:w,lineWidth:a,variant:t,className:d})}),(0,I.jsx)("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${k})`})]})}z7.displayName="Background";let z9=(0,O.memo)(z7);function Ae(){return(0,I.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:(0,I.jsx)("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function At(){return(0,I.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:(0,I.jsx)("path",{d:"M0 0h32v4.2H0z"})})}function An(){return(0,I.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:(0,I.jsx)("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function Ar(){return(0,I.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,I.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function Aa(){return(0,I.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,I.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function Ai({children:e,className:t,...n}){return(0,I.jsx)("button",{type:"button",className:SQ(["react-flow__controls-button",t]),...n,children:e})}let Ao=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function Al({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:a,onZoomIn:i,onZoomOut:o,onFitView:l,onInteractiveChange:s,className:c,children:d,position:u="bottom-left",orientation:f="vertical","aria-label":m}){let h=P9(),{isInteractive:p,minZoomReached:g,maxZoomReached:x,ariaLabelConfig:v}=P7(Ao,P3),{zoomIn:b,zoomOut:y,fitView:w}=O$();return(0,I.jsxs)(Os,{className:SQ(["react-flow__controls","horizontal"===f?"horizontal":"vertical",c]),position:u,style:e,"data-testid":"rf__controls","aria-label":m??v["controls.ariaLabel"],children:[t&&(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(Ai,{onClick:()=>{b(),i?.()},className:"react-flow__controls-zoomin",title:v["controls.zoomIn.ariaLabel"],"aria-label":v["controls.zoomIn.ariaLabel"],disabled:x,children:(0,I.jsx)(Ae,{})}),(0,I.jsx)(Ai,{onClick:()=>{y(),o?.()},className:"react-flow__controls-zoomout",title:v["controls.zoomOut.ariaLabel"],"aria-label":v["controls.zoomOut.ariaLabel"],disabled:g,children:(0,I.jsx)(At,{})})]}),n&&(0,I.jsx)(Ai,{className:"react-flow__controls-fitview",onClick:()=>{w(a),l?.()},title:v["controls.fitView.ariaLabel"],"aria-label":v["controls.fitView.ariaLabel"],children:(0,I.jsx)(An,{})}),r&&(0,I.jsx)(Ai,{className:"react-flow__controls-interactive",onClick:()=>{h.setState({nodesDraggable:!p,nodesConnectable:!p,elementsSelectable:!p}),s?.(!p)},title:v["controls.interactive.ariaLabel"],"aria-label":v["controls.interactive.ariaLabel"],children:p?(0,I.jsx)(Aa,{}):(0,I.jsx)(Ar,{})}),d]})}Al.displayName="Controls",(0,O.memo)(Al);let As=(0,O.memo)(function({id:e,x:t,y:n,width:r,height:a,style:i,color:o,strokeColor:l,strokeWidth:s,className:c,borderRadius:d,shapeRendering:u,selected:f,onClick:m}){let{background:h,backgroundColor:p}=i||{};return(0,I.jsx)("rect",{className:SQ(["react-flow__minimap-node",{selected:f},c]),x:t,y:n,rx:d,ry:d,width:r,height:a,style:{fill:o||h||p,stroke:l,strokeWidth:s},shapeRendering:u,onClick:m?t=>m(t,e):void 0})}),Ac=e=>e.nodes.map(e=>e.id),Ad=e=>e instanceof Function?e:()=>e,Au=(0,O.memo)(function({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:r,nodeBorderRadius:a,nodeStrokeWidth:i,shapeRendering:o,NodeComponent:l,onClick:s}){let{node:c,x:d,y:u,width:f,height:m}=P7(t=>{let n=t.nodeLookup.get(e);if(!n)return{node:void 0,x:0,y:0,width:0,height:0};let r=n.internals.userNode,{x:a,y:i}=n.internals.positionAbsolute,{width:o,height:l}=I5(r);return{node:r,x:a,y:i,width:o,height:l}},P3);return c&&!c.hidden&&I3(c)?(0,I.jsx)(l,{x:d,y:u,width:f,height:m,style:c.style,selected:!!c.selected,className:r(c),color:t(c),borderRadius:a,strokeColor:n(c),strokeWidth:i,shapeRendering:o,onClick:s,id:c.id}):null});var Af=(0,O.memo)(function({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:a,nodeComponent:i=As,onClick:o}){let l=P7(Ac,P3),s=Ad(t),c=Ad(e),d=Ad(n),u="u"<typeof window||window.chrome?"crispEdges":"geometricPrecision";return(0,I.jsx)(I.Fragment,{children:l.map(e=>(0,I.jsx)(Au,{id:e,nodeColorFunc:s,nodeStrokeColorFunc:c,nodeClassNameFunc:d,nodeBorderRadius:r,nodeStrokeWidth:a,NodeComponent:i,onClick:o,shapeRendering:u},e))})});let Am=e=>!e.hidden,Ah=e=>{let t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?Iq(IP(e.nodeLookup,{filter:Am}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}};function Ap({style:e,className:t,nodeStrokeColor:n,nodeColor:r,nodeClassName:a="",nodeBorderRadius:i=5,nodeStrokeWidth:o,nodeComponent:l,bgColor:s,maskColor:c,maskStrokeColor:d,maskStrokeWidth:u,position:f="bottom-right",onClick:m,onNodeClick:h,pannable:p=!1,zoomable:g=!1,ariaLabel:x,inversePan:v,zoomStep:b=1,offsetScale:y=5}){let w=P9(),j=(0,O.useRef)(null),{boundingRect:k,viewBB:N,rfId:C,panZoom:S,translateExtent:M,flowWidth:E,flowHeight:P,ariaLabelConfig:z}=P7(Ah,P3),A=e?.width??200,T=e?.height??150,R=Math.max(k.width/A,k.height/T),_=R*A,D=R*T,L=y*R,$=k.x-(_-k.width)/2-L,F=k.y-(D-k.height)/2-L,B=_+2*L,V=D+2*L,H=`react-flow__minimap-desc-${C}`,U=(0,O.useRef)(0),q=(0,O.useRef)();U.current=R,(0,O.useEffect)(()=>{if(j.current&&S)return q.current=function({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){let a=MR(e);return{update:function({translateExtent:e,width:i,height:o,zoomStep:l=1,pannable:s=!0,zoomable:c=!0,inversePan:d=!1}){let u=[0,0],f=Iy().on("start",e=>{("mousedown"===e.sourceEvent.type||"touchstart"===e.sourceEvent.type)&&(u=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on("zoom",s?a=>{let l=n();if("mousemove"!==a.sourceEvent.type&&"touchmove"!==a.sourceEvent.type||!t)return;let s=[a.sourceEvent.clientX??a.sourceEvent.touches[0].clientX,a.sourceEvent.clientY??a.sourceEvent.touches[0].clientY],c=[s[0]-u[0],s[1]-u[1]];u=s;let f=r()*Math.max(l[2],Math.log(l[2]))*(d?-1:1),m={x:l[0]-c[0]*f,y:l[1]-c[1]*f};t.setViewportConstrained({x:m.x,y:m.y,zoom:l[2]},[[0,0],[i,o]],e)}:null).on("zoom.wheel",c?e=>{if("wheel"!==e.sourceEvent.type||!t)return;let r=n(),a=e.sourceEvent.ctrlKey&&I1()?10:1,i=-e.sourceEvent.deltaY*(1===e.sourceEvent.deltaMode?.05:e.sourceEvent.deltaMode?1:.002)*l,o=r[2]*Math.pow(2,i*a);t.scaleTo(o)}:null);a.call(f,{})},destroy:function(){a.on("zoom",null)},pointer:M_}}({domNode:j.current,panZoom:S,getTransform:()=>w.getState().transform,getViewScale:()=>U.current}),()=>{q.current?.destroy()}},[S]),(0,O.useEffect)(()=>{q.current?.update({translateExtent:M,width:E,height:P,inversePan:v,pannable:p,zoomStep:b,zoomable:g})},[p,g,v,b,M,E,P]);let W=m?e=>{let[t,n]=q.current?.pointer(e)||[0,0];m(e,{x:t,y:n})}:void 0,K=h?(0,O.useCallback)((e,t)=>{h(e,w.getState().nodeLookup.get(t).internals.userNode)},[]):void 0,G=x??z["minimap.ariaLabel"];return(0,I.jsx)(Os,{position:f,style:{...e,"--xy-minimap-background-color-props":"string"==typeof s?s:void 0,"--xy-minimap-mask-background-color-props":"string"==typeof c?c:void 0,"--xy-minimap-mask-stroke-color-props":"string"==typeof d?d:void 0,"--xy-minimap-mask-stroke-width-props":"number"==typeof u?u*R:void 0,"--xy-minimap-node-background-color-props":"string"==typeof r?r:void 0,"--xy-minimap-node-stroke-color-props":"string"==typeof n?n:void 0,"--xy-minimap-node-stroke-width-props":"number"==typeof o?o:void 0},className:SQ(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:(0,I.jsxs)("svg",{width:A,height:T,viewBox:`${$} ${F} ${B} ${V}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":H,ref:j,onClick:W,children:[G&&(0,I.jsx)("title",{id:H,children:G}),(0,I.jsx)(Af,{onClick:K,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:i,nodeClassName:a,nodeStrokeWidth:o,nodeComponent:l}),(0,I.jsx)("path",{className:"react-flow__minimap-mask",d:`M${$-L},${F-L}h${B+2*L}v${V+2*L}h${-B-2*L}z
|
|
6
6
|
M${N.x},${N.y}h${N.width}v${N.height}h${-N.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}Ap.displayName="MiniMap",(0,O.memo)(Ap);let Ag={[M.Line]:"right",[M.Handle]:"bottom-right"},Ax=(0,O.memo)(function({nodeId:e,position:t,variant:n=M.Handle,className:r,style:a,children:i,color:o,minWidth:l=10,minHeight:s=10,maxWidth:c=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:u=!1,resizeDirection:f,autoScale:m=!0,shouldResize:h,onResizeStart:p,onResize:g,onResizeEnd:x}){let v,b=O1(),y="string"==typeof e?e:b,w=P9(),j=(0,O.useRef)(null),k=n===M.Handle,N=P7((0,O.useCallback)((v=k&&m,e=>v?`${Math.max(1/e.transform[2],1)}`:void 0),[k,m]),P3),C=(0,O.useRef)(null),S=t??Ag[n];(0,O.useEffect)(()=>{if(j.current&&y)return C.current||(C.current=function({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:a}){let i=MR(e),o={controlDirection:Pq("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};return{update:function({controlPosition:e,boundaries:l,keepAspectRatio:s,resizeDirection:c,onResizeStart:d,onResize:u,onResizeEnd:f,shouldResize:m}){let h,p,g,x,v={...PX},b={...PY};o={boundaries:l,resizeDirection:c,keepAspectRatio:s,controlDirection:Pq(e)};let y=null,w=[],j=!1,k=MX().on("start",e=>{let{nodeLookup:r,transform:a,snapGrid:i,snapToGrid:o,nodeOrigin:l,paneDomNode:s}=n();if(!(h=r.get(t)))return;y=s?.getBoundingClientRect()??null;let{xSnapped:c,ySnapped:u}=I8(e.sourceEvent,{transform:a,snapGrid:i,snapToGrid:o,containerBounds:y});if(b={...v={width:h.measured.width??0,height:h.measured.height??0,x:h.position.x??0,y:h.position.y??0},pointerX:c,pointerY:u,aspectRatio:v.width/v.height},p=void 0,h.parentId&&("parent"===h.extent||h.expandParent)){var f;g=(p=r.get(h.parentId))&&"parent"===h.extent?[[0,0],[(f=p).measured.width,f.measured.height]]:void 0}for(let[e,n]of(w=[],x=void 0,r))if(n.parentId===t&&(w.push({id:e,position:{...n.position},extent:n.extent}),"parent"===n.extent||n.expandParent)){let e=function(e,t,n){let r=t.position.x+e.position.x,a=t.position.y+e.position.y,i=e.measured.width??0,o=e.measured.height??0,l=n[0]*i,s=n[1]*o;return[[r-l,a-s],[r+i-l,a+o-s]]}(n,h,n.origin??l);x=x?[[Math.min(e[0][0],x[0][0]),Math.min(e[0][1],x[0][1])],[Math.max(e[1][0],x[1][0]),Math.max(e[1][1],x[1][1])]]:e}d?.(e,{...v})}).on("drag",e=>{let{transform:t,snapGrid:a,snapToGrid:i,nodeOrigin:l}=n(),s=I8(e.sourceEvent,{transform:t,snapGrid:a,snapToGrid:i,containerBounds:y}),c=[];if(!h)return;let{x:d,y:f,width:k,height:N}=v,C={},S=h.origin??l,{width:M,height:E,x:I,y:P}=function(e,t,n,r,a,i,o,l){var s,c,d,u;let{affectsX:f,affectsY:m}=t,{isHorizontal:h,isVertical:p}=t,g=h&&p,{xSnapped:x,ySnapped:v}=n,{minWidth:b,maxWidth:y,minHeight:w,maxHeight:j}=r,{x:k,y:N,width:C,height:S,aspectRatio:M}=e,E=Math.floor(h?x-e.pointerX:0),I=Math.floor(p?v-e.pointerY:0),P=C+(f?-E:E),O=S+(m?-I:I),z=-i[0]*C,A=-i[1]*S,T=PG(P,b,y),R=PG(O,w,j);if(o){let e=0,t=0;f&&E<0?e=PW(k+E+z,o[0][0]):!f&&E>0&&(e=PK(k+P+z,o[1][0])),m&&I<0?t=PW(N+I+A,o[0][1]):!m&&I>0&&(t=PK(N+O+A,o[1][1])),T=Math.max(T,e),R=Math.max(R,t)}if(l){let e=0,t=0;f&&E>0?e=PK(k+E,l[0][0]):!f&&E<0&&(e=PW(k+P,l[1][0])),m&&I>0?t=PK(N+I,l[0][1]):!m&&I<0&&(t=PW(N+O,l[1][1])),T=Math.max(T,e),R=Math.max(R,t)}if(a){if(h){(T=Math.max(T,PG(P/M,w,j)*M),o)&&(T=Math.max(T,(f||m)&&(!f||m||!g)?PW(N+A+(f?E:-E)/M,o[0][1])*M:PK(N+A+P/M,o[1][1])*M));l&&(T=Math.max(T,(f||m)&&(!f||m||!g)?PK(N+(f?E:-E)/M,l[0][1])*M:PW(N+P/M,l[1][1])*M))}if(p){(R=Math.max(R,PG(O*M,b,y)/M),o)&&(R=Math.max(R,(f||m)&&(!m||f||!g)?PW(k+(m?I:-I)*M+z,o[0][0])/M:PK(k+O*M+z,o[1][0])/M));l&&(R=Math.max(R,(f||m)&&(!m||f||!g)?PK(k+(m?I:-I)*M,l[0][0])/M:PW(k+O*M,l[1][0])/M))}}I+=I<0?R:-R,E+=E<0?T:-T,a&&(g?P>O*M?I=((s=f,c=m,s?!c:c)?-E:E)/M:E=((d=f,u=m,d?!u:u)?-I:I)*M:h?(I=E/M,m=f):(E=I*M,f=m));let _=f?k+E:k,D=m?N+I:N;return{width:C+(f?-E:E),height:S+(m?-I:I),x:i[0]*E*(f?-1:1)+_,y:i[1]*I*(m?-1:1)+D}}(b,o.controlDirection,s,o.boundaries,o.keepAspectRatio,S,g,x),O=M!==k,z=E!==N,A=I!==d&&O,T=P!==f&&z;if(!A&&!T&&!O&&!z)return;if((A||T||1===S[0]||1===S[1])&&(C.x=A?I:v.x,C.y=T?P:v.y,v.x=C.x,v.y=C.y,w.length>0)){let e=I-d,t=P-f;for(let n of w)n.position={x:n.position.x-e+S[0]*(M-k),y:n.position.y-t+S[1]*(E-N)},c.push(n)}if((O||z)&&(C.width=O&&(!o.resizeDirection||"horizontal"===o.resizeDirection)?M:v.width,C.height=z&&(!o.resizeDirection||"vertical"===o.resizeDirection)?E:v.height,v.width=C.width,v.height=C.height),p&&h.expandParent){let e=S[0]*(C.width??0);C.x&&C.x<e&&(v.x=e,b.x=b.x-(C.x-e));let t=S[1]*(C.height??0);C.y&&C.y<t&&(v.y=t,b.y=b.y-(C.y-t))}let R=function({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:a,affectsY:i}){let o=e-t,l=n-r,s=[o>0?1:o<0?-1:0,l>0?1:l<0?-1:0];return o&&a&&(s[0]=-1*s[0]),l&&i&&(s[1]=-1*s[1]),s}({width:v.width,prevWidth:k,height:v.height,prevHeight:N,affectsX:o.controlDirection.affectsX,affectsY:o.controlDirection.affectsY}),_={...v,direction:R};!1!==m?.(e,_)&&(j=!0,u?.(e,_),r(C,c))}).on("end",e=>{j&&(f?.(e,{...v}),a?.({...v}),j=!1)});i.call(k)},destroy:function(){i.on(".drag",null)}}}({domNode:j.current,nodeId:y,getStoreItems:()=>{let{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:r,nodeOrigin:a,domNode:i}=w.getState();return{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:r,nodeOrigin:a,paneDomNode:i}},onChange:(e,t)=>{let{triggerNodeChanges:n,nodeLookup:r,parentLookup:a,nodeOrigin:i}=w.getState(),o=[],l={x:e.x,y:e.y},s=r.get(y);if(s&&s.expandParent&&s.parentId){let t=s.origin??i,n=e.width??s.measured.width??0,c=e.height??s.measured.height??0,d=PM([{id:s.id,parentId:s.parentId,rect:{width:n,height:c,...I4({x:e.x??s.position.x,y:e.y??s.position.y},{width:n,height:c},s.parentId,r,t)}}],r,a,i);o.push(...d),l.x=e.x?Math.max(t[0]*n,e.x):void 0,l.y=e.y?Math.max(t[1]*c,e.y):void 0}if(void 0!==l.x&&void 0!==l.y){let e={id:y,type:"position",position:{...l}};o.push(e)}if(void 0!==e.width&&void 0!==e.height){let t={id:y,type:"dimensions",resizing:!0,setAttributes:!f||("horizontal"===f?"width":"height"),dimensions:{width:e.width,height:e.height}};o.push(t)}for(let e of t){let t={...e,type:"position"};o.push(t)}n(o)},onEnd:({width:e,height:t})=>{w.getState().triggerNodeChanges([{id:y,type:"dimensions",resizing:!1,dimensions:{width:e,height:t}}])}})),C.current.update({controlPosition:S,boundaries:{minWidth:l,minHeight:s,maxWidth:c,maxHeight:d},keepAspectRatio:u,resizeDirection:f,onResizeStart:p,onResize:g,onResizeEnd:x,shouldResize:h}),()=>{C.current?.destroy()}},[S,l,s,c,d,u,p,g,x,h]);let E=S.split("-");return(0,I.jsx)("div",{className:SQ(["react-flow__resize-control","nodrag",...E,n,r]),ref:j,style:{...a,scale:N,...o&&{[k?"backgroundColor":"borderColor"]:o}},children:i})}),Av=["top-left","top","top-right","right","bottom-right","bottom","bottom-left","left"],Ab=[{id:"top",position:S.Top,className:"left-1/2 top-0 -translate-x-1/2 -translate-y-1/2"},{id:"right",position:S.Right,className:"right-0 top-1/2 -translate-y-1/2 translate-x-1/2"},{id:"bottom",position:S.Bottom,className:"bottom-0 left-1/2 -translate-x-1/2 translate-y-1/2"},{id:"left",position:S.Left,className:"left-0 top-1/2 -translate-x-1/2 -translate-y-1/2"}],Ay={actions:"Canvas actions",add:"Add node",select:"Mouse",connect:"Connect",cut:"Cut",drag:"Drag",modeTools:"Mode",resetZoom:"Reset zoom",viewportTools:"Viewport tools",lockViewport:"Lock viewport",visualSnap:"Visual snap",nodeSnap:"Node snap",snapTools:"Snap tools",nodeActions:"Node actions",resizeNode:"Resize node",copyNode:"Copy node",cutNode:"Cut node"},Aw={width:192,height:112};function Aj(e,t){return Math.round(e/t)*t}function Ak(e,t,n){return Math.min(n,Math.max(t,e))}function AN(e,t){if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e){let t=Number.parseFloat(e);if(Number.isFinite(t))return t}return t}function AC(e){let t=e.measured;return{width:AN(e.width??t?.width??e.style?.width,Aw.width),height:AN(e.height??t?.height??e.style?.height,Aw.height)}}function AS({center:e,size:t=Aw,snapGrid:n}){return{x:Aj(e.x-t.width/2,n[0]),y:Aj(e.y-t.height/2,n[1])}}function AM(e,t){let n=e.width??e.measured?.width??Aw.width,r=e.height??e.measured?.height??Aw.height,a=t.width??t.measured?.width??Aw.width,i=t.height??t.measured?.height??Aw.height,o={x:e.position.x+n/2,y:e.position.y+r/2},l={x:t.position.x+a/2,y:t.position.y+i/2},s=l.x-o.x,c=l.y-o.y;return Math.abs(s)>=Math.abs(c)?s>=0?{sourceHandle:"source-right",targetHandle:"target-left"}:{sourceHandle:"source-left",targetHandle:"target-right"}:c>=0?{sourceHandle:"source-bottom",targetHandle:"target-top"}:{sourceHandle:"source-top",targetHandle:"target-bottom"}}function AE(e){return e===S.Top?{x:0,y:-1}:e===S.Bottom?{x:0,y:1}:e===S.Left?{x:-1,y:0}:{x:1,y:0}}function AI(e,t){return Math.max(48,Math.min(180,.46*Math.hypot(t.x-e.x,t.y-e.y)))}function AP({point:e,position:t}){return t===S.Top||t===S.Bottom?`M ${e.x-14} ${e.y} L ${e.x+14} ${e.y}`:`M ${e.x} ${e.y-14} L ${e.x} ${e.y+14}`}function AO(e){let t=AC(e);return{x:e.position.x,y:e.position.y,width:t.width,height:t.height,right:e.position.x+t.width,bottom:e.position.y+t.height}}function Az(e,t,n,r){let a=Math.max(e,n),i=Math.min(t,r);return a<=i?{distance:0,midpoint:(a+i)/2}:t<n?{distance:n-t,midpoint:(t+n)/2}:{distance:e-r,midpoint:(r+e)/2}}function AA(e,t){let n=t.x+t.width,r=t.y+t.height;return 1>=Math.abs(e.y-t.y)?e.x-t.x:1>=Math.abs(e.x-n)?t.width+e.y-t.y:1>=Math.abs(e.y-r)?t.width+t.height+n-e.x:2*t.width+t.height+r-e.y}function AT(e,t,n){let r=O.useRef(null),a=O.useRef(e),i=O.useRef(t),[o,l]=O.useState(e),s=O.useMemo(()=>n?{height:n.height,measured:n.measured,position:n.position,width:n.width}:void 0,[n]);return O.useEffect(()=>{let n=a.current,o=i.current,c=o&&o!==t?220:110,d=performance.now();a.current=e,i.current=t,r.current&&window.cancelAnimationFrame(r.current);let u=a=>{let i=Math.min(1,(a-d)/c);l(function({from:e,to:t,fromPosition:n,toPosition:r,progress:a,node:i}){var o;let l,s;if(!i||!n||!r||n===r)return{x:e.x+(t.x-e.x)*a,y:e.y+(t.y-e.y)*a};let c=i.width??i.measured?.width??Aw.width,d=i.height??i.measured?.height??Aw.height,u={x:i.position.x,y:i.position.y,width:c,height:d},f=AA(e,u),m=AA(t,u),h=2*c+2*d,p=m-f;return Math.abs(p)>h/2&&(p+=p>0?-h:h),(s=((f+p*a)%(l=2*(o=u).width+2*o.height)+l)%l)<=o.width?{x:o.x+s,y:o.y}:s<=o.width+o.height?{x:o.x+o.width,y:o.y+s-o.width}:s<=2*o.width+o.height?{x:o.x+o.width-(s-o.width-o.height),y:o.y+o.height}:{x:o.x,y:o.y+o.height-(s-2*o.width-o.height)}}({from:n,to:e,fromPosition:o,toPosition:t,progress:1-Math.pow(1-i,3),node:s})),i<1&&(r.current=window.requestAnimationFrame(u))};return r.current=window.requestAnimationFrame(u),()=>{r.current&&window.cancelAnimationFrame(r.current)}},[s,e,e.x,e.y,t]),o}function AR({route:e,viewportZoom:t}){let n=e.sourcePosition===S.Left||e.sourcePosition===S.Right;return(0,I.jsx)(z5,{children:(0,I.jsx)("div",{"data-slot":"node-canvas-joined-terminal",className:"node-canvas-joined-terminal nodrag nopan",style:{position:"absolute",transform:`translate(${e.terminalPoint.x}px, ${e.terminalPoint.y}px) scale(${1/t}) translate(-50%, -50%)`,transformOrigin:"0 0"},children:(0,I.jsx)("span",{className:"node-canvas-joined-terminal-line","data-orientation":n?"vertical":"horizontal"})})})}let A_=(0,A.default)("cable",[["path",{d:"M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z",key:"trhst0"}],["path",{d:"M17 21v-2",key:"ds4u3f"}],["path",{d:"M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10",key:"1mo9zo"}],["path",{d:"M21 21v-2",key:"eo0ou"}],["path",{d:"M3 5V3",key:"1k5hjh"}],["path",{d:"M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z",key:"1dd30t"}],["path",{d:"M7 5V3",key:"1t1388"}]]),AD=(0,A.default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),AL=(0,A.default)("crosshair",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]]),A$=(0,A.default)("hand",[["path",{d:"M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2",key:"1fvzgz"}],["path",{d:"M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2",key:"1kc0my"}],["path",{d:"M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8",key:"10h0bg"}],["path",{d:"M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15",key:"1s1gnw"}]]),AF=(0,A.default)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),AB=(0,A.default)("magnet",[["path",{d:"m12 15 4 4",key:"lnac28"}],["path",{d:"M2.352 10.648a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l6.029-6.029a1 1 0 1 1 3 3l-6.029 6.029a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l6.365-6.367A1 1 0 0 0 8.716 4.282z",key:"nlhkjb"}],["path",{d:"m5 8 4 4",key:"j6kj7e"}]]),AV=(0,A.default)("maximize-2",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]]),AH=(0,A.default)("mouse-pointer-2",[["path",{d:"M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z",key:"edeuup"}]]),AU=(0,A.default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),Aq=(0,A.default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]),AW=(0,A.default)("scissors",[["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M8.12 8.12 12 12",key:"1alkpv"}],["path",{d:"M20 4 8.12 15.88",key:"xgtan2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M14.8 14.8 20 20",key:"ptml3r"}]]);var AK=e.i(93739);let AG=(0,eK.cva)("vtl-surface-popover z-50 flex w-fit items-center gap-1 rounded-[var(--surface-popover-radius)] border p-1",{variants:{placement:{"bottom-center":"fixed bottom-5 left-1/2 -translate-x-1/2","top-center":"fixed top-5 left-1/2 -translate-x-1/2","bottom-left":"fixed bottom-5 left-5","bottom-right":"fixed right-5 bottom-5",inline:"relative"},size:{default:"min-h-11",sm:"min-h-10 rounded-lg"}},defaultVariants:{placement:"bottom-center",size:"default"}});function AX({className:e,placement:t,size:n,...r}){return(0,I.jsx)("div",{role:"toolbar","data-slot":"floating-action-bar","data-placement":t,"data-size":n,className:(0,V.cn)(AG({placement:t,size:n}),e),...r})}function AY({className:e,...t}){return(0,I.jsx)("div",{"data-slot":"floating-action-bar-group",className:(0,V.cn)("flex items-center gap-1",e),...t})}function AZ({className:e,variant:t="ghost",size:n="icon-sm",...r}){return(0,I.jsx)(B.Button,{"data-slot":"floating-action-bar-button",variant:t,size:n,className:(0,V.cn)("rounded-lg",e),...r})}function AJ({labels:e,onAction:t}){return(0,I.jsx)(AX,{"data-slot":"node-canvas-selected-toolbar",placement:"inline",size:"sm","aria-label":e.nodeActions,className:"vtl-surface-popover rounded-[var(--surface-popover-radius)] p-1",children:(0,I.jsxs)(AY,{children:[(0,I.jsx)(AZ,{type:"button","aria-label":e.resizeNode,onClick:()=>t("resize"),children:(0,I.jsx)(AV,{className:"size-4"})}),(0,I.jsx)(AZ,{type:"button","aria-label":e.copyNode,onClick:()=>t("copy"),children:(0,I.jsx)(AD,{className:"size-4"})}),(0,I.jsx)(AZ,{type:"button","aria-label":e.cutNode,onClick:()=>t("cut"),children:(0,I.jsx)(AW,{className:"size-4"})})]})})}function AQ({labels:e,node:t,rootSize:n,viewport:r,onAction:a}){if(!t||n.width<=0||n.height<=0)return null;let i=AC(t),o=t.position.x*r.zoom+r.x,l=t.position.y*r.zoom+r.y,s=i.width*r.zoom,c=i.height*r.zoom,d=70,u=n.width-8-62,f=u>=d?Ak(o+s/2,d,u):n.width/2,m=n.height-8-42,h=l+c+10,p=l-42-10,g=h<=m,x=p>=8,v=m<8?Math.max(0,(n.height-42)/2):g?h:x?Math.min(p,m):Ak(p,8,m);return(0,I.jsx)("div",{"data-slot":"node-canvas-selected-toolbar-overlay",className:"pointer-events-none absolute z-30 flex justify-center",style:{left:f-62,top:v,width:124},children:(0,I.jsx)("div",{className:"pointer-events-auto",children:(0,I.jsx)(AJ,{labels:e,onAction:a})})})}function A0({open:e,mode:t,visualSnap:n,nodeSnap:r,viewportLocked:a,labels:i,onOpenChange:o,onModeChange:l,onAction:s,onResetZoom:c,onViewportLockedChange:d,onVisualSnapChange:u,onNodeSnapChange:f}){let[m,h]=O.useState(),p="border-foreground bg-foreground text-background shadow-lg ring-1 ring-background/50 hover:bg-foreground hover:text-background dark:bg-primary dark:text-primary-foreground dark:hover:bg-primary",g=[{key:"select",mode:"select",label:i.select,icon:(0,I.jsx)(AH,{className:"size-4"})},{key:"drag",mode:"drag",action:"drag",label:i.drag,icon:(0,I.jsx)(A$,{className:"size-4"})},{key:"connect",mode:"connect",action:"connect",label:i.connect,icon:(0,I.jsx)(A_,{className:"size-4"})},{key:"cut",mode:"cut",action:"cut",label:i.cut,icon:(0,I.jsx)(AW,{className:"size-4"})}],x=g.find(e=>e.mode===t)??g[0],v=Number(n)+Number(r),b=[{key:"add",type:"action",label:i.add,icon:(0,I.jsx)(AU,{className:"size-4"})},{key:"mode",type:"group",label:`${i.modeTools}: ${x.label}`,icon:x.icon},{key:"viewport",type:"group",pressed:a,label:i.viewportTools,icon:a?(0,I.jsx)(AF,{className:"size-4"}):(0,I.jsx)(Aq,{className:"size-4"})},{key:"snap",type:"group",pressed:v>0,count:v,label:i.snapTools,icon:(0,I.jsx)(AB,{className:"size-4"})}];return O.useEffect(()=>{e||h(void 0)},[e]),(0,I.jsx)("div",{"data-slot":"node-canvas-floating-actions",className:"absolute right-3 bottom-3 z-20",children:(0,I.jsxs)("div",{className:"relative size-8",children:[b.map((o,x)=>(0,I.jsxs)("div",{className:(0,V.cn)("absolute inset-0 transition-[opacity,transform] duration-150 ease-out",e?"pointer-events-auto opacity-100":"pointer-events-none translate-y-1 opacity-0"),style:{transform:e?`translateY(-${(x+1)*42}px)`:void 0},children:[(0,I.jsxs)(B.Button,{type:"button",variant:"outline",size:"icon-sm","aria-label":o.label,"aria-expanded":"group"===o.type?m===o.key:void 0,"aria-pressed":"group"===o.type&&!!o.pressed||void 0,onClick:()=>{"action"===o.type?s(o.key):h(e=>e===o.key?void 0:o.key)},className:(0,V.cn)("absolute inset-0 rounded-full bg-background/95 shadow-md backdrop-blur transition-[border-color,background-color,color,box-shadow] duration-150","group"===o.type&&o.pressed&&p),children:[o.icon,"snap"===o.key&&o.count>0?(0,I.jsx)("span",{className:"absolute -top-1 -right-1 grid size-4 place-items-center rounded-full border bg-background text-[10px] leading-none text-foreground shadow-sm",children:o.count}):null]}),"mode"===o.key?(0,I.jsx)("div",{className:(0,V.cn)("absolute top-0 right-10 flex h-8 flex-row-reverse items-center gap-2 transition-[opacity,transform] duration-150 ease-out","mode"===m?"pointer-events-auto translate-x-0 opacity-100":"pointer-events-none translate-x-2 opacity-0"),children:g.map(e=>(0,I.jsx)(B.Button,{type:"button",variant:"outline",size:"icon-sm","aria-label":e.label,"aria-pressed":t===e.mode,onClick:()=>{l(e.mode),e.action&&e.mode!==t&&s(e.action)},className:(0,V.cn)("rounded-full bg-background/95 shadow-md backdrop-blur transition-colors",t===e.mode&&p),children:e.icon},e.key))}):null,"viewport"===o.key?(0,I.jsxs)("div",{className:(0,V.cn)("absolute top-0 right-10 flex h-8 flex-row-reverse items-center gap-2 transition-[opacity,transform] duration-150 ease-out","viewport"===m?"pointer-events-auto translate-x-0 opacity-100":"pointer-events-none translate-x-2 opacity-0"),children:[(0,I.jsx)(B.Button,{type:"button",variant:"outline",size:"icon-sm","aria-label":i.resetZoom,onClick:c,className:"rounded-full bg-background/95 shadow-md backdrop-blur",children:(0,I.jsx)(Aq,{className:"size-4"})}),(0,I.jsx)(B.Button,{type:"button",variant:"outline",size:"icon-sm","aria-label":i.lockViewport,"aria-pressed":a,onClick:()=>d(!a),className:(0,V.cn)("rounded-full bg-background/95 shadow-md backdrop-blur transition-colors",a&&p),children:(0,I.jsx)(AF,{className:"size-4"})})]}):null,"snap"===o.key?(0,I.jsxs)("div",{className:(0,V.cn)("absolute top-0 right-10 flex h-8 flex-row-reverse items-center gap-2 transition-[opacity,transform] duration-150 ease-out","snap"===m?"pointer-events-auto translate-x-0 opacity-100":"pointer-events-none translate-x-2 opacity-0"),children:[(0,I.jsx)(B.Button,{type:"button",variant:"outline",size:"icon-sm","aria-label":i.visualSnap,"aria-pressed":n,onClick:()=>u(!n),className:(0,V.cn)("rounded-full bg-background/95 shadow-md backdrop-blur transition-colors",n&&p),children:(0,I.jsx)(AL,{className:"size-4"})}),(0,I.jsx)(B.Button,{type:"button",variant:"outline",size:"icon-sm","aria-label":i.nodeSnap,"aria-pressed":r,onClick:()=>f(!r),className:(0,V.cn)("rounded-full bg-background/95 shadow-md backdrop-blur transition-colors",r&&p),children:(0,I.jsx)(AB,{className:"size-4"})})]}):null]},o.key)),(0,I.jsx)(B.Button,{type:"button",variant:"outline",size:"icon-sm","aria-label":i.actions,"aria-expanded":e,onClick:()=>{o(!e),e&&h(void 0)},className:"absolute inset-0 rounded-full bg-background/95 shadow-md backdrop-blur",children:(0,I.jsx)(St,{className:(0,V.cn)("size-4 transition-transform",e&&"rotate-90")})})]})})}function A1({className:e,viewportClassName:t,background:n,fitView:r=!1,snapGrid:a=[16,16],snapToGrid:i=!0,minZoom:o=.15,maxZoom:l=2.5,proOptions:s={hideAttribution:!0},nodes:c=[],edges:d=[],actionBar:u=!0,actionBarOpen:f,defaultActionBarOpen:m=!1,mode:h,defaultMode:p="select",visualSnap:g,defaultVisualSnap:x=!1,onVisualSnapChange:v,nodeSnap:b,defaultNodeSnap:y=!1,onNodeSnapChange:w,viewportLocked:j,defaultViewportLocked:k=!1,onViewportLockedChange:N,selectedNodeId:C,defaultSelectedNodeId:S,resizingNodeId:M,defaultResizingNodeId:E,labels:P,onActionBarOpenChange:z,onModeChange:A,onSelectedNodeChange:T,onResizingNodeChange:R,onCanvasAction:_,onNodeCanvasNodeAction:D,onNodeCanvasConnect:L,onNodeCanvasEdgeAction:$,nodesDraggable:F,panOnDrag:B,panOnScroll:H,zoomOnScroll:U,zoomOnPinch:q,onNodesChange:W,onNodeClick:K,onPaneClick:G,onEdgesChange:X,defaultViewport:Y,children:Z,...J}){let Q=O.useRef(null),ee=O.useRef(null),et=O.useRef({}),en=O.useRef(0),{getViewport:er,getZoom:ea,screenToFlowPosition:ei,setViewport:eo}=O$(),el=function(){let[e,t]=O.useState("light");return O.useEffect(()=>{let e=document.documentElement,n=()=>{t(e.classList.contains("dark")?"dark":"light")},r=new MutationObserver(n);return n(),r.observe(e,{attributeFilter:["class"],attributes:!0}),()=>r.disconnect()},[]),e}(),[es,ec]=O.useState(1),[ed,eu]=O.useState(Y??{x:0,y:0,zoom:1}),[ef,em]=O.useState({width:0,height:0}),[eh,ep]=O.useState(m),[eg,ex]=O.useState(p),[ev,eb]=O.useState(x),[ey,ew]=O.useState(y),[ej,ek]=O.useState(k),[eN,eC]=O.useState(S),[eS,eM]=O.useState(E),[eE,eI]=O.useState(!1),eP={...Ay,...P},eO=h??eg,ez=g??ev,eA=b??ey,eT=j??ej,eR=C??eN,e_=M??eS,eD="drag"===eO,eL=!eT&&("select"===eO||"drag"===eO||"connect"===eO),e$=O.useCallback(e=>{void 0===C&&eC(e),T?.(e)},[T,C]),eF=O.useCallback(e=>{void 0===M&&eM(e),R?.(e)},[R,M]),eB=O.useCallback((e,t)=>{ee.current=e,t.preventDefault(),t.stopPropagation()},[]),eV=O.useCallback(e=>{e$(e),eF(void 0)},[eF,e$]),eH=O.useMemo(()=>c.map(e=>({...e,data:{...e.data??{},mode:eO,resizing:e.id===e_,onConnectPointerDown:eB,onSelectNode:eV},selected:eR?e.id===eR:e.selected})),[eO,e_,eR,eB,eV,c]),eU=O.useMemo(()=>d.map(e=>{let t=e.data,n=c.find(t=>t.id===e.source),r=c.find(t=>t.id===e.target),a="connection"===e.type&&t?.autoHandles!==!1&&n&&r?AM(n,r):{sourceHandle:e.sourceHandle,targetHandle:e.targetHandle};return{...e,...a,data:{...e.data??{},cutActive:eE,mode:eO,viewportZoom:es,onAddAnchor:(e,t,n)=>$?.("add-anchor",e,{anchor:t,anchorIndex:n}),onMoveAnchor:(e,t,n)=>$?.("move-anchor",e,{anchor:n,anchorIndex:t}),onDeleteAnchor:(e,t)=>$?.("delete-anchor",e,{anchorIndex:t}),onCutEdge:e=>$?.("cut-edge",e,{})}}}),[eO,eE,d,c,$,es]);O.useEffect(()=>{if("connect"!==eO){ee.current=null;return}let e=e=>{let t=ee.current;if(!t)return;ee.current=null;let n=document.elementsFromPoint(e.clientX,e.clientY).find(e=>e.classList.contains("react-flow__node")),r=n?.getAttribute("data-id");if(!r||r===t)return;let a=c.find(e=>e.id===t),i=c.find(e=>e.id===r);a&&i&&L?.({source:t,target:r,...AM(a,i)})};return window.addEventListener("pointerup",e),()=>window.removeEventListener("pointerup",e)},[eO,c,L]),O.useEffect(()=>{if("cut"!==eO)return void eI(!1);let e=()=>eI(!1);return window.addEventListener("pointerup",e),window.addEventListener("pointercancel",e),()=>{window.removeEventListener("pointerup",e),window.removeEventListener("pointercancel",e)}},[eO]),O.useEffect(()=>{ec(ea()),eu(er())},[er,ea]),O.useEffect(()=>{let e=Q.current;if(!e)return;let t=()=>{em({width:e.clientWidth,height:e.clientHeight})},n=new ResizeObserver(t);return t(),n.observe(e),()=>n.disconnect()},[]),O.useEffect(()=>{ez||(et.current={})},[ez]);let eq=O.useCallback((e,t={})=>{let n=Q.current?.getBoundingClientRect();if(!n||0===c.length)return;let r=t.threshold??42,a=Math.max(r+1,64),i=[],o=[];function l(e,n){let i=et.current[e];if(i){let o=n.find(e=>e.nodeId===i.nodeId&&e.edge===i.edge);if(o){if(i.released){if(o.distance<=r)return;et.current[e]=void 0;return}if(o.distance<=1)return t.preserveEscapeDistance||(et.current[e]={nodeId:i.nodeId,edge:i.edge}),o;let n=(i.escapeDistance??0)+o.distance;return o.distance<=a&&n<a?(et.current[e]={...i,escapeDistance:n},o):void(et.current[e]={nodeId:i.nodeId,edge:i.edge,released:!0})}et.current[e]=void 0}let o=n.filter(e=>e.distance<=r).sort((e,t)=>e.distance-t.distance)[0];return o&&(et.current[e]={nodeId:o.nodeId,edge:o.edge}),o}for(let t of c){let r=AC(t),a=t.position.x*e.zoom+e.x,l=(t.position.x+r.width)*e.zoom+e.x,s=t.position.y*e.zoom+e.y,c=(t.position.y+r.height)*e.zoom+e.y;i.push({nodeId:t.id,edge:"left",delta:-a,distance:Math.abs(a)}),i.push({nodeId:t.id,edge:"right",delta:n.width-l,distance:Math.abs(n.width-l)}),o.push({nodeId:t.id,edge:"top",delta:-s,distance:Math.abs(s)}),o.push({nodeId:t.id,edge:"bottom",delta:n.height-c,distance:Math.abs(n.height-c)})}let s=l("x",i),d=l("y",o),u=s?.delta??0,f=d?.delta??0;.5>Math.abs(u)&&.5>Math.abs(f)||eo({x:e.x+u,y:e.y+f,zoom:e.zoom},{duration:t.duration??0})},[c,eo]);return!function({onStart:e,onChange:t,onEnd:n}){let r=P9();(0,O.useEffect)(()=>{r.setState({onViewportChangeStart:e})},[e]),(0,O.useEffect)(()=>{r.setState({onViewportChange:t})},[t]),(0,O.useEffect)(()=>{r.setState({onViewportChangeEnd:n})},[n])}({onChange:e=>{ec(e.zoom),eu(e),ez&&Date.now()>=en.current&&eq(e,{preserveEscapeDistance:!0,threshold:42})},onEnd:e=>{ec(e.zoom),eu(e),ez&&Date.now()>=en.current&&eq(e,{duration:140})}}),(0,I.jsxs)("div",{ref:Q,"data-slot":"node-canvas","data-mode":eO,style:{"--node-canvas-zoom":String(es)},className:(0,V.cn)("node-canvas vtl-surface-panel relative h-[620px] min-h-[360px] w-full overflow-hidden rounded-[var(--surface-panel-radius)] border",e),onPointerDown:e=>{"cut"===eO&&0===e.button&&eI(!0)},children:[(0,I.jsxs)(z1,{colorMode:J.colorMode??el,fitView:r,minZoom:o,maxZoom:l,nodes:eH,edges:eU,nodesDraggable:F??eD,panOnDrag:B??eL,panOnScroll:!eT&&(H??!1),proOptions:s,snapGrid:a,snapToGrid:i,zoomOnScroll:!eT&&(U??!0),zoomOnPinch:!eT&&q,zoomOnDoubleClick:!1,defaultViewport:Y,className:(0,V.cn)("node-canvas__viewport",t),...J,onNodesChange:function(e){let t=ez?er():void 0,n=ez?Q.current?.getBoundingClientRect():void 0,r=e.filter(e=>"select"!==e.type).map(e=>{if(e_||"position"!==e.type||!e.position||!eA&&!ez)return e;let r=e.position;return eA&&(r=function({nodeId:e,position:t,nodes:n,zoom:r,threshold:a=32}){let i=n.find(t=>t.id===e);if(!i)return t;let o=AC(i),l=a/Math.max(r,.1),s=t.x,c=t.y,d=l+1,u=l+1;for(let r of n){if(r.id===e)continue;let n=AC(r),a=r.position.x,i=r.position.x+n.width,f=r.position.y,m=r.position.y+n.height,h=t.x,p=t.x+o.width,g=t.y,x=t.y+o.height;for(let e of[a-h,i-p,i-h,a-p]){let n=Math.abs(e);n<d&&n<=l&&(d=n,s=t.x+e)}for(let e of[f-g,m-x,m-g,f-x]){let n=Math.abs(e);n<u&&n<=l&&(u=n,c=t.y+e)}}return{x:s,y:c}}({nodeId:e.id,position:r,nodes:c,zoom:es})),ez&&t&&n&&(r=function({nodeId:e,position:t,nodes:n,viewport:r,viewportRect:a,threshold:i=42}){let o=n.find(t=>t.id===e);if(!o)return t;let l=AC(o),s=t.x*r.zoom+r.x,c=(t.x+l.width)*r.zoom+r.x,d=t.y*r.zoom+r.y,u=(t.y+l.height)*r.zoom+r.y,f=t.x,m=t.y,h=i+1,p=i+1;for(let e of[-s,a.width-c]){let n=Math.abs(e);n<h&&n<=i&&(h=n,f=t.x+e/r.zoom)}for(let e of[-d,a.height-u]){let n=Math.abs(e);n<p&&n<=i&&(p=n,m=t.y+e/r.zoom)}return{x:f,y:m}}({nodeId:e.id,position:r,nodes:c,viewport:t,viewportRect:n})),{...e,position:r}});W?.(r)},onEdgesChange:X,onNodeClick:(e,t)=>{K?.(e,t),"drag"===eO&&(e$(t.id),eF(void 0))},onPaneClick:e=>{if(G?.(e),e_){e$(e_),eF(void 0);return}e$(void 0)},children:[!1!==n?(0,I.jsx)(z9,{color:"var(--node-canvas-dot)",gap:16,size:1.35,...n}):null,Z]}),eR?(0,I.jsx)(AQ,{labels:eP,node:c.find(e=>e.id===eR),rootSize:ef,viewport:ed,onAction:function(e){if(!eR)return;if("resize"===e){eF(eR),e$(void 0);return}let t=Q.current?.getBoundingClientRect(),n=ei({x:(t?.left??0)+(t?.width??0)/2,y:(t?.top??0)+(t?.height??0)/2}),r=AS({center:n,snapGrid:a});D?.(e,eR,{flowPosition:n,snappedPosition:r})}}):null,u?(0,I.jsx)(A0,{open:f??eh,mode:eO,visualSnap:ez,nodeSnap:eA,viewportLocked:eT,labels:eP,onOpenChange:function(e){void 0===f&&ep(e),z?.(e)},onModeChange:function(e){void 0===h&&ex(e),A?.(e)},onAction:function(e){let t=Q.current?.getBoundingClientRect(),n=ei({x:(t?.left??0)+(t?.width??0)/2,y:(t?.top??0)+(t?.height??0)/2}),r=AS({center:n,snapGrid:a});_?.(e,{flowPosition:n,snappedPosition:r})},onResetZoom:function(){let e=Y?.zoom??1,t=er(),n=Q.current?.getBoundingClientRect();if(et.current={},en.current=Date.now()+320,!n){eo({...t,zoom:e},{duration:220}),ec(e);return}let r={x:n.width/2,y:n.height/2},a={x:(r.x-t.x)/t.zoom,y:(r.y-t.y)/t.zoom};eo({x:r.x-a.x*e,y:r.y-a.y*e,zoom:e},{duration:220}),ec(e)},onViewportLockedChange:function(e){void 0===j&&ek(e),N?.(e)},onVisualSnapChange:function(e){void 0===g&&eb(e),v?.(e)},onNodeSnapChange:function(e){void 0===b&&ew(e),w?.(e)}}):null]})}function A2({provider:e=!0,...t}){return e?(0,I.jsx)(zJ,{children:(0,I.jsx)(A1,{...t})}):(0,I.jsx)(A1,{...t})}function A5(){let[e,t]=O.useState(void 0);return O.useEffect(()=>{let e=window.matchMedia("(max-width: 767px)"),n=()=>{t(window.innerWidth<768)};return e.addEventListener("change",n),t(window.innerWidth<768),()=>e.removeEventListener("change",n)},[]),!!e}async function A3(e){let t=await fetch((0,U.localAPIURL)("/v1/remote/machines"),{cache:"no-store",signal:e});return t.ok?t.json():{machines:[]}}let A4=null,A6=null;async function A8(e){let t=Date.now();if(A4&&t-A4.at<1e4)return A4.value;if(e){let t=await A3(e);return A4={value:t,at:Date.now()},t}return A6||(A6=(async()=>{try{let e=await A3();return A4={value:e,at:Date.now()},e}finally{A6=null}})())}async function A7(e,t,n){let{timeoutMs:r=8e3,signal:a,...i}=n??{},o=new AbortController,l=r>0?setTimeout(()=>o.abort(),r):void 0;a&&a.addEventListener("abort",()=>o.abort(),{once:!0});try{let n=await fetch((0,U.localAPIURL)(`/v1/remote/${e}${t}`),{...i,cache:"no-store",signal:o.signal});if(!n.ok)throw Error(`Remote API error: ${n.status}`);return n.json()}finally{l&&clearTimeout(l)}}class A9 extends Error{openedBy;constructor(e){super("conversation is open on another machine"),this.name="ConversationOpenElsewhereError",this.openedBy=e}}let Te={subagents:[],mainModels:[],folders:[],blockedCommands:[],allowedTools:[],deniedTools:[],plugins:[],hosts:["local"],permissionMode:"acceptEdits"},Tt="local";function Tn(e){return!e||e===Tt}function Tr(e,t){return Tn(e)?`/api/local/agent/conversations${t}`:`/v1/remote/${e}/agent/conversations${t}`}async function Ta(e){try{var t;let n=await fetch((0,U.localAPIURL)((t="/claude-sessions",Tn(e)?`/api/local/agent${t}`:`/v1/remote/${e}/agent${t}`)),{cache:"no-store"});if(!n.ok)return[];return(await n.json().catch(()=>({}))).sessions??[]}catch{return[]}}async function Ti(e,t){return T5(await T4(t,"/import",{method:"POST",body:JSON.stringify(e)}),t)}async function To(e,t,n){return(await T4(e,t?"?includeArchived=true":"",n)).conversations.map(t=>T3(t,e))}async function Tl(e,t,n){let r=new AbortController,a=setTimeout(()=>r.abort(),t);try{return await e(r.signal)}catch{return n}finally{clearTimeout(a)}}function Ts(e){let t=new Map;for(let n of e.flat()){let e=t.get(n.id);(!e||n.updatedAt>e.updatedAt)&&t.set(n.id,n)}let n=Array.from(t.values());return n.sort((e,t)=>t.updatedAt>e.updatedAt?1:-1),n}async function Tc(e){let t=e?.includeArchived===!0,n=e?.onPartial,r={[Tt]:"本机"},a=[],i=[];try{i=await To(void 0,t)}catch{i=[]}n?.(Ts([i]));let{machines:o}=await Tl(e=>A8(e),3e3,{machines:[]}),l=(o??[]).filter(e=>!e.isLocal&&"online"===e.status).map(e=>({id:e.id,name:e.name})),s=[],c=await Promise.all(l.map(async e=>{r[e.id]=e.name;let o=await Tl(n=>To(e.id,t,{signal:n}),3e3,null);return null===o?(a.push(e.id),[]):(s.push(o),n?.(Ts([i,...s])),o)}));return{conversations:Ts([i,...c]),machineNames:r,unreachable:a}}async function Td(e){let t=await T4(e,"/recent",void 0,{allowNotFound:!0});return t?T5(t,e):void 0}async function Tu(e,t){return T5(await T4(t,`/${encodeURIComponent(e)}?eventsLimit=200`),t)}async function Tf(e,t,n){try{let r=new URLSearchParams;void 0!==t.end&&r.set("end",String(t.end)),void 0!==t.limit&&r.set("limit",String(t.limit)),t.fromEventId&&r.set("fromEventId",t.fromEventId);let a=r.toString()?`?${r}`:"",i=await fetch((0,U.localAPIURL)(Tr(n,`/${encodeURIComponent(e)}/events${a}`)),{cache:"no-store"});if(!i.ok)return{events:[],start:0,total:0};let o=await i.json().catch(()=>({}));return{events:o.events??[],start:o.start??0,total:o.total??0}}catch{return{events:[],start:0,total:0}}}async function Tm(e,t){try{let n=await fetch((0,U.localAPIURL)(Tr(t,`/${encodeURIComponent(e)}/subagent-tree`)),{cache:"no-store"});if(!n.ok)return[];return(await n.json().catch(()=>({}))).subagents??[]}catch{return[]}}async function Th(e,t){try{let n=await fetch((0,U.localAPIURL)(Tr(t,`/${encodeURIComponent(e)}/background-tasks`)),{cache:"no-store"});if(!n.ok)return[];return(await n.json().catch(()=>({}))).tasks??[]}catch{return[]}}async function Tp(e,t){try{let n=await fetch((0,U.localAPIURL)(Tr(t,`/${encodeURIComponent(e)}/plan`)),{cache:"no-store"});if(!n.ok)return{planState:null};let r=await n.json().catch(()=>({}));return{planState:r.planState??null,planDoc:r.planDoc,planPath:r.planPath}}catch{return{planState:null}}}async function Tg(e,t,n){let r=new URLSearchParams({path:t}),a=await fetch((0,U.localAPIURL)(Tr(n,`/${encodeURIComponent(e)}/plan/doc?${r}`)),{cache:"no-store"});if(!a.ok)throw Error("plan doc fetch failed");let i=await a.json().catch(()=>({}));return{path:i.path??t,content:i.content??""}}async function Tx(e,t){try{let n=await fetch((0,U.localAPIURL)(Tr(t,`/${encodeURIComponent(e)}/plan/docs`)),{cache:"no-store"});if(!n.ok)return[];return(await n.json().catch(()=>({}))).docs??[]}catch{return[]}}async function Tv(e,t,n,r){return T4(n,`/${encodeURIComponent(e)}/plan/answer`,{method:"POST",body:JSON.stringify({answers:t,modelRef:r??""})})}async function Tb(e,t,n,r,a,i){return T4(a,`/${encodeURIComponent(e)}/plan/decide`,{method:"POST",body:JSON.stringify({approvalId:t,decision:n,feedback:r,modelRef:i??""})})}async function Ty(){if(void 0!==n)return n;try{let{machines:e}=await A8();n=(e??[]).find(e=>e.isLocal)?.name??""}catch{n=""}return n}async function Tw(e,t,n){let r=()=>"u">typeof performance?performance.now():Date.now(),a=r(),i=n?.displayName??await Ty(),o=r(),l=new URLSearchParams;n?.force&&l.set("force","1"),l.set("eventsLimit",String(200));let s=`?${l}`,c=await fetch((0,U.localAPIURL)(Tr(t,`/${encodeURIComponent(e)}/open${s}`)),{method:"POST",cache:"no-store",headers:{"Content-Type":"application/json"},body:JSON.stringify({displayName:i})}),d=r(),u=await c.json().catch(()=>({})),f=r();if(409===c.status)throw new A9(u?.openedBy);if(!c.ok){let e=u?.error;throw Error("string"==typeof e?e:"open failed")}let m=T5(u,t),h=r(),p=Array.isArray(u?.events)?u.events.length:0;return console.debug(`[open] id=${e} machineName=${Math.round(o-a)}ms fetch=${Math.round(d-o)}ms readBody=${Math.round(f-d)}ms map=${Math.round(h-f)}ms events=${p}`),m}async function Tj(e,t,r){try{await fetch((0,U.localAPIURL)(Tr(t,`/${encodeURIComponent(e)}/open/heartbeat`)),{method:"POST",cache:"no-store",headers:{"Content-Type":"application/json"},body:JSON.stringify({displayName:r??n??""})})}catch{}}async function Tk(e,t){try{await fetch((0,U.localAPIURL)(Tr(t,`/${encodeURIComponent(e)}/open/release`)),{method:"POST",cache:"no-store",keepalive:!0})}catch{}}async function TN(e){let t=e.ownerMachineId;return T5(await T4(t,"",{method:"POST",body:JSON.stringify(e)}),t)}async function TC(e,t,n){return T5(await T4(n,`/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(t)}),n)}async function TS(e,t){await T4(t,`/${encodeURIComponent(e)}`,{method:"DELETE"})}async function TM(e,t,n){let r=t.trim();return TC(e,""===r?{titleLocked:!1}:{title:r,titleLocked:!0},n)}async function TE(e,t){await T4(t,`/${encodeURIComponent(e)}/archive`,{method:"POST"})}async function TI(e,t){await T4(t,`/${encodeURIComponent(e)}/unarchive`,{method:"POST"})}async function TP(e,t,n){return T5(await T4(n,`/${encodeURIComponent(e)}/panes`,{method:"PUT",body:JSON.stringify(t)}),n)}async function TO(e,t){try{let n=await fetch((0,U.localAPIURL)(Tr(t,`/${encodeURIComponent(e)}/hooks`)),{cache:"no-store"});if(!n.ok)return[];return(await n.json().catch(()=>({}))).hooks??[]}catch{return[]}}async function Tz(e,t,n){return T4(n,`/${encodeURIComponent(e)}/hooks`,{method:"POST",body:JSON.stringify(t)})}async function TA(e,t,n){await T4(n,`/${encodeURIComponent(e)}/hooks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function TT(e,t,n){return T4(n,`/${encodeURIComponent(e)}/hooks/${encodeURIComponent(t)}/toggle`,{method:"POST"})}async function TR(e,t,n){return T5(await T4(n,`/${encodeURIComponent(e)}/chat-runs`,{method:"POST",body:JSON.stringify(t)}),n)}async function T_(e,t,n){return T5(await T4(n,`/${encodeURIComponent(e)}/chat-runs/retry`,{method:"POST",body:JSON.stringify(t)}),n)}async function TD(e,t,n){let r=await T4(n,`/${encodeURIComponent(e)}/rollback`,{method:"POST",body:JSON.stringify({eventId:t})});return{detail:T5(r.detail,n),prompt:r.prompt??"",revertedFiles:r.revertedFiles??0,deletedFiles:r.deletedFiles??0,skippedRemote:r.skippedRemote,archivedSubagents:r.archivedSubagents??0}}async function TL(e,t,n){let r=await T4(n,`/${encodeURIComponent(e)}/context/delete`,{method:"POST",body:JSON.stringify({eventIds:t})});return{detail:T5(r.detail,n),deletedEvents:r.deletedEvents??0,deletedMessages:r.deletedMessages??0}}async function T$(e,t,n,r){return{detail:T5((await T4(r,`/${encodeURIComponent(e)}/context/edit`,{method:"POST",body:JSON.stringify({eventId:t,content:n})})).detail,r)}}async function TF(e,t,n,r){return{detail:T5((await T4(r,`/${encodeURIComponent(e)}/context/translate`,{method:"POST",body:JSON.stringify({eventIds:t,restore:n})})).detail,r)}}async function TB(e,t,n){return T5(await T4(n,`/${encodeURIComponent(e)}/fork`,{method:"POST",body:JSON.stringify({eventId:t??""})}),n)}async function TV(e,t,n){let r=new URLSearchParams(t);return T4(n,`/${encodeURIComponent(e)}/files/history?${r}`)}async function TH(e,t,n){let r=new URLSearchParams(t);return T4(n,`/${encodeURIComponent(e)}/files/version?${r}`)}async function TU(e,t,n,r,a){return T4(a,`/${encodeURIComponent(e)}/approvals/${encodeURIComponent(t)}`,{method:"POST",body:JSON.stringify({decision:n,feedback:r})})}async function Tq(e,t,n){return T4(n,`/${encodeURIComponent(e)}/approvals/${encodeURIComponent(t)}/explanation`)}async function TW(e,t){return T4(t,`/${encodeURIComponent(e)}/chat-runs/stop`,{method:"POST"},{allowNotFound:!0})}async function TK(e,t){return T5(await T4(t,`/${encodeURIComponent(e)}/takeover`,{method:"POST"}),t)}async function TG(e,t,n){return T5(await T4(n,`/${encodeURIComponent(e)}/loop-mode`,{method:"POST",body:JSON.stringify({enabled:t})}),n)}async function TX(e,t,n){return T4(n,`/${encodeURIComponent(e)}/chat-runs/nudge`,{method:"POST",body:JSON.stringify({message:t})})}async function TY(e,t){return T4(t,`/${encodeURIComponent(e)}/subagent-pause`,{method:"POST"})}async function TZ(e,t){return T4(t,`/${encodeURIComponent(e)}/subagent-resume`,{method:"POST"})}async function TJ(e,t,n){return T4(n,`/${encodeURIComponent(e)}/plan/node-model`,{method:"POST",body:JSON.stringify(t)})}async function TQ(e,t,n,r,a){return{sideQueryConvId:(await T4(n,`/${encodeURIComponent(e)}/sidequery`,{method:"POST",body:JSON.stringify({message:t,modelRef:r??"",...a?.childId?{childId:a.childId}:{},...a?.kind?{kind:a.kind}:{},...a?.attachments&&a.attachments.length>0?{attachments:a.attachments}:{}})})).sideQueryConvId??""}}async function T0(e,t,n){return{sideQueryConvId:(await T4(n,`/${encodeURIComponent(e)}/sidequery/${encodeURIComponent(t)}/pin`,{method:"POST"})).sideQueryConvId??""}}async function T1(e,t,n){await T4(n,`/${encodeURIComponent(e)}/sidequery/${encodeURIComponent(t)}`,{method:"DELETE"})}async function T2(e,t,n,r){return await T4(r,`/${encodeURIComponent(e)}/compress`,{method:"POST",body:JSON.stringify({mode:t,agentSummary:n})})}function T5(e,t){return{conversation:T3(e.conversation,t),events:e.events??[],panes:e.panes??{layoutMode:"quad",agentPosition:"left",panes:[]},eventsTotal:e.eventsTotal,eventsStart:e.eventsStart}}function T3(e,t){let n=e.runtimeSeconds??0,r={...Te,...e.settings},a=Tn(t)?e.ownerMachineId??"local":t;return{id:e.id,title:e.title||"新 Agent 对话",titleLocked:e.titleLocked,agent:e.agent||"Local Agent",status:e.status??"idle",running:e.running??"working"===e.status,goal:e.goal||"",progress:e.progress??0,taskProgress:e.taskProgress?.length?e.taskProgress:[e.progress??0,0,0],runtime:function(e){if(e<=0)return"0m";let t=Math.floor(e/3600),n=Math.floor(e%3600/60);return t>0?`${t}h ${n}m`:`${Math.max(1,n)}m`}(n),runtimeSeconds:n,tokens:e.tokens??0,contextTokens:e.contextTokens??0,lastOpened:function(e){let t=Date.parse(e);if(!Number.isFinite(t))return"刚刚";let n=Math.max(0,Math.floor((Date.now()-t)/1e3));if(n<60)return"刚刚";let r=Math.floor(n/60);if(r<60)return`${r} 分钟前`;let a=Math.floor(r/60);if(a<24)return`${a} 小时前`;let i=Math.floor(a/24);return 1===i?"昨天":i<7?`${i} 天前`:new Intl.DateTimeFormat("zh-CN",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(t)}(e.lastOpenedAt??e.updatedAt??e.createdAt),roadmap:e.roadmap?.length?e.roadmap:[{title:"配置会话环境",state:"done"},{title:"等待首条消息",state:"queued"}],settings:r,createdAt:e.createdAt,updatedAt:e.updatedAt,lastOpenedAt:e.lastOpenedAt,lastSeq:e.lastSeq??0,ownerMachineId:a,projectId:e.projectId,runUsage:e.runUsage,rounds:e.rounds??[],openedBy:e.openedBy,forkOriginId:e.forkOriginId,forkPointSeq:e.forkPointSeq,planState:e.planState,archivedAt:e.archivedAt,sideQueryConvId:e.sideQueryConvId,awaitingTakeover:e.awaitingTakeover??!1,loopMode:e.loopMode??!1,lastModelRef:e.lastModelRef??"",dispatcherConversationId:e.dispatcherConversationId,userHasSpoken:e.userHasSpoken??!1}}async function T4(e,t,n,r){let a=await fetch((0,U.localAPIURL)(Tr(e,t)),{cache:"no-store",...n,headers:{...n?.body?{"Content-Type":"application/json"}:{},...n?.headers}});if(r?.allowNotFound&&404===a.status)return;let i=await a.json().catch(()=>({}));if(!a.ok)throw Error("string"==typeof i?.error?i.error:"agent conversation api failed");return i}let T6=(0,A.default)("layout-panel-left",[["rect",{width:"7",height:"18",x:"3",y:"3",rx:"1",key:"2obqm"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}]]),T8=(0,A.default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);function T7({conversationPanel:e,paneElements:t,panes:n,activeSlotCount:r,onOpenPalette:a,timeline:i,view:o,onPaneCountChange:l}){let[s,c]=O.useState(0),d=O.useMemo(()=>n.slice(0,r).map((e,t)=>({pane:e,index:t})).filter(e=>void 0!==e.pane),[n,r]),u=Math.min(s,Math.max(0,d.length-1));O.useEffect(()=>{s!==u&&c(u)},[s,u]),O.useEffect(()=>{l?.(d.length)},[l,d.length]);let f=n.slice(0,r).findIndex(e=>void 0===e);return(0,I.jsx)("div",{className:"vtl-app-background vtl-agent-conversation-workspace flex h-full min-h-0 flex-col",children:(0,I.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:"conversation"===o?(0,I.jsxs)("div",{className:"relative size-full min-h-0",children:[i?(0,I.jsx)("div",{className:"pointer-events-none absolute left-1 top-2 z-30 flex justify-start",children:(0,I.jsx)("div",{className:"pointer-events-auto",children:i})}):null,(0,I.jsx)("div",{className:"size-full",children:e})]}):(0,I.jsxs)("div",{className:"flex size-full min-h-0 flex-col",children:[(0,I.jsxs)("div",{className:"flex shrink-0 items-center gap-1 overflow-x-auto border-b px-2 py-1.5",children:[d.map((e,t)=>(0,I.jsx)("button",{type:"button",className:(0,V.cn)("inline-flex h-9 min-w-[3rem] shrink-0 items-center justify-center rounded-md px-3 text-sm font-medium transition-colors",t===u?"bg-muted text-foreground":"text-muted-foreground hover:bg-muted/50"),onClick:()=>c(t),children:(0,I.jsx)("span",{className:"max-w-[8rem] truncate",children:e.pane.title})},e.pane.id)),(0,I.jsx)(B.Button,{type:"button",variant:"ghost",size:"icon-sm",className:"ml-1 h-9 w-9 shrink-0",onClick:()=>{let e=f>=0?f:u;a(d[e]?.index??e)},children:(0,I.jsx)(AU,{className:"size-4"})})]}),(0,I.jsx)("div",{className:"min-h-0 flex-1",children:d.length>0?(0,I.jsx)("div",{className:"size-full",children:t[d[u]?.index??0]}):(0,I.jsx)("div",{className:"grid size-full place-items-center p-4",children:(0,I.jsxs)(B.Button,{type:"button",variant:"outline",size:"sm",className:"rounded-full",onClick:()=>a(0),children:[(0,I.jsx)(AU,{className:"size-4"}),"添加组件"]})})})]})})})}function T9({view:e,onViewChange:t,paneCount:n}){return(0,I.jsxs)("div",{className:"flex items-center rounded-lg border border-border bg-background/60 p-0.5",children:[(0,I.jsx)("button",{type:"button","aria-label":"对话","aria-pressed":"conversation"===e,onClick:()=>t("conversation"),className:(0,V.cn)("flex size-8 items-center justify-center rounded-md transition-colors [&_svg]:size-4","conversation"===e?"bg-muted text-foreground":"text-muted-foreground hover:text-foreground"),children:(0,I.jsx)(T8,{})}),(0,I.jsxs)("button",{type:"button","aria-label":"工作区","aria-pressed":"workspace"===e,onClick:()=>t("workspace"),className:(0,V.cn)("relative flex size-8 items-center justify-center rounded-md transition-colors [&_svg]:size-4","workspace"===e?"bg-muted text-foreground":"text-muted-foreground hover:text-foreground"),children:[(0,I.jsx)(T6,{}),n>0?(0,I.jsx)("span",{className:"absolute -right-0.5 -top-0.5 grid h-3.5 min-w-3.5 place-items-center rounded-full bg-primary px-0.5 text-[0.5rem] font-semibold leading-none text-primary-foreground",children:n}):null]})]})}let Re=(0,A.default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]),Rt=(0,A.default)("clapperboard",[["path",{d:"M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3Z",key:"1tn4o7"}],["path",{d:"m6.2 5.3 3.1 3.9",key:"iuk76l"}],["path",{d:"m12.4 3.4 3.1 4",key:"6hsd6n"}],["path",{d:"M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z",key:"ltgou9"}]]),Rn=(0,A.default)("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]),Rr=(0,A.default)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]),Ra=(0,A.default)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]),Ri=(0,A.default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]),Ro=(0,A.default)("list-checks",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]]),Rl=(0,A.default)("message-circle-question-mark",[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),Rs=(0,A.default)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]),Rc=(0,A.default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]),Rd=(0,A.default)("workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]),Ru={blank:function({id:e,selected:t,data:n}){let r="select"===n.mode,a="number"==typeof n.contentScale&&n.contentScale>0?n.contentScale:1,i="string"==typeof n.kind?n.kind:void 0;return(0,I.jsxs)("div",{"data-slot":"node-canvas-blank-node","data-node-kind":i,"data-selected":t?"":void 0,"data-resizing":n.resizing?"":void 0,style:{background:"var(--node-canvas-node)",borderColor:t||n.resizing?"color-mix(in oklch, var(--foreground) 72%, var(--border))":"var(--node-canvas-node-border)",borderWidth:t||n.resizing?"calc(2px / var(--node-canvas-zoom, 1))":"calc(1px / var(--node-canvas-zoom, 1))"},className:(0,V.cn)("relative box-border h-full w-full rounded-lg border shadow-sm transition-shadow",n.resizing&&"rounded-none",t&&"shadow-md"),onPointerDown:t=>{"connect"===n.mode&&n.onConnectPointerDown?.(e,t)},onClick:t=>{"drag"===n.mode&&(t.stopPropagation(),n.onSelectNode?.(e))},children:[Ab.map(e=>(0,I.jsxs)(O.Fragment,{children:[(0,I.jsx)(O5,{id:`source-${e.id}`,type:"source",position:e.position,isConnectable:!1,className:(0,V.cn)("node-canvas-handle",e.className)}),(0,I.jsx)(O5,{id:`target-${e.id}`,type:"target",position:e.position,isConnectable:!1,className:(0,V.cn)("node-canvas-handle",e.className)})]},e.id)),n.content?(0,I.jsx)("div",{"data-slot":"node-canvas-node-content","data-node-kind":i,className:(0,V.cn)("nodrag nopan nowheel absolute inset-0 z-0 h-full min-h-0 w-full overflow-hidden rounded-[inherit]",r?"pointer-events-auto":"pointer-events-none select-none"),children:(0,I.jsx)("div",{"data-slot":"node-canvas-node-content-scale","data-node-kind":i,className:"node-canvas-content-scale min-h-0 origin-top-left",style:{"--node-canvas-content-scale":String(a)},children:n.content})}):null,n.resizing?Av.map(e=>(0,I.jsx)(Ax,{position:e,variant:M.Handle,minWidth:96,minHeight:64,autoScale:!1,className:"node-canvas-resize-handle"},e)):null]})}},Rf={connection:function({id:e,source:t,sourceX:n,sourceY:r,sourcePosition:a,target:i,targetX:o,targetY:l,targetPosition:s,data:c,style:d}){let{getNode:u,screenToFlowPosition:f}=O$(),m=O.useId().replace(/:/g,""),h=Math.max(c?.viewportZoom??1,.1),p=9/h,g=u(t),x=u(i),v=c?.bidirectional,b=O.useMemo(()=>({x:n,y:r}),[n,r]),y=O.useMemo(()=>({x:o,y:l}),[o,l]),w=AT(b,a,g),j=AT(y,s,x),k=O.useMemo(()=>c?.anchors??[],[c?.anchors]),N=O.useMemo(()=>0===k.length?function({sourceNode:e,targetNode:t}){if(!e||!t)return;let n=AO(e),r=AO(t),a=[],i=Az(n.y,n.bottom,r.y,r.bottom),o=Az(n.x,n.right,r.x,r.right);a.push({axis:"x",crossDistance:i.distance,distance:Math.abs(n.right-r.x),seam:(n.right+r.x)/2,midpoint:i.midpoint,sourcePosition:S.Right,targetPosition:S.Left,direction:1}),a.push({axis:"x",crossDistance:i.distance,distance:Math.abs(n.x-r.right),seam:(n.x+r.right)/2,midpoint:i.midpoint,sourcePosition:S.Left,targetPosition:S.Right,direction:-1}),a.push({axis:"y",crossDistance:o.distance,distance:Math.abs(n.bottom-r.y),seam:(n.bottom+r.y)/2,midpoint:o.midpoint,sourcePosition:S.Bottom,targetPosition:S.Top,direction:1}),a.push({axis:"y",crossDistance:o.distance,distance:Math.abs(n.y-r.bottom),seam:(n.y+r.bottom)/2,midpoint:o.midpoint,sourcePosition:S.Top,targetPosition:S.Bottom,direction:-1});let l=a.filter(e=>e.distance<=64&&e.crossDistance<=80).sort((e,t)=>e.distance+.35*e.crossDistance-(t.distance+.35*t.crossDistance))[0];if(!l)return;if("x"===l.axis){let e={x:l.seam-18*l.direction,y:l.midpoint},t={x:l.seam+18*l.direction,y:l.midpoint};return{path:`M ${e.x} ${e.y} L ${t.x} ${t.y}`,sourcePoint:e,targetPoint:t,terminalPoint:{x:l.seam,y:l.midpoint},sourcePosition:l.sourcePosition,targetPosition:l.targetPosition}}let s={x:l.midpoint,y:l.seam-18*l.direction},c={x:l.midpoint,y:l.seam+18*l.direction};return{path:`M ${s.x} ${s.y} L ${c.x} ${c.y}`,sourcePoint:s,targetPoint:c,terminalPoint:{x:l.midpoint,y:l.seam},sourcePosition:l.sourcePosition,targetPosition:l.targetPosition}}({sourceNode:g,targetNode:x}):void 0,[k.length,g,x]),C=O.useMemo(()=>N?[N.sourcePoint,N.targetPoint]:[w,...k,j],[k,w,j,N]),M=O.useMemo(()=>N?.path??function(e,t,n){if(e.length<2)return"";if(2===e.length){let r=e[0],a=e[1],i=AE(t),o=AE(n),l=AI(r,a),s={x:r.x+i.x*l,y:r.y+i.y*l},c={x:a.x+o.x*l,y:a.y+o.y*l};return`M ${r.x} ${r.y} C ${s.x} ${s.y}, ${c.x} ${c.y}, ${a.x} ${a.y}`}let r=e[0],a=[`M ${r.x} ${r.y}`],i=AE(t),o=AE(n);for(let t=0;t<e.length-1;t+=1){let n=e[t],r=e[t-1]??n,l=e[t+1],s=e[t+2]??l,c=0===t,d=t===e.length-2,u=AI(n,l),f=c?{x:n.x+i.x*u,y:n.y+i.y*u}:{x:n.x+(l.x-r.x)/6,y:n.y+(l.y-r.y)/6},m=d?{x:l.x+o.x*u,y:l.y+o.y*u}:{x:l.x-(s.x-n.x)/6,y:l.y-(s.y-n.y)/6};a.push(`C ${f.x} ${f.y}, ${m.x} ${m.y}, ${l.x} ${l.y}`)}return a.join(" ")}(C,a,s),[N?.path,C,a,s]),E=O.useMemo(()=>AP({point:N?.terminalPoint??w,position:N?.sourcePosition??a}),[w,N?.sourcePosition,N?.terminalPoint,a]),P=O.useMemo(()=>AP({point:N?.terminalPoint??j,position:N?.targetPosition??s}),[j,N?.targetPosition,N?.terminalPoint,s]),z=O.useCallback(()=>{if(c?.mode!=="connect")return;let{anchor:t,anchorIndex:n}=function(e){let t=0,n=e.slice(1).map((n,r)=>{let a=e[r],i=Math.hypot(n.x-a.x,n.y-a.y);return t+=i,i}),r=t/2,a=0;for(let t=0;t<n.length;t+=1){let i=n[t],o=a+i;if(r<=o||t===n.length-1){let n=e[t],o=e[t+1],l=0===i?0:(r-a)/i;return{anchor:{x:n.x+(o.x-n.x)*l,y:n.y+(o.y-n.y)*l},anchorIndex:t}}a=o}return{anchor:e[0],anchorIndex:0}}(C);c.onAddAnchor?.(e,t,n)},[c,e,C]);return(0,I.jsxs)("g",{className:(0,V.cn)("node-canvas-edge",N&&"node-canvas-edge--joined"),children:[(0,I.jsx)("defs",{children:(0,I.jsx)("marker",{id:m,viewBox:"0 0 10 10",refX:"8.8",refY:"5",markerWidth:p,markerHeight:p,markerUnits:"userSpaceOnUse",orient:"auto-start-reverse",children:(0,I.jsx)("path",{d:"M 0 0 L 10 5 L 0 10 z",className:"node-canvas-edge-arrow"})})}),(0,I.jsx)(zm,{id:e,path:M,markerStart:v?`url(#${m})`:void 0,markerEnd:`url(#${m})`,interactionWidth:18,style:d,className:"node-canvas-edge-path"}),N?null:(0,I.jsx)("path",{d:E,className:"node-canvas-edge-terminal"}),N?null:(0,I.jsx)("path",{d:P,className:"node-canvas-edge-terminal"}),N?(0,I.jsx)(AR,{route:N,viewportZoom:h}):null,(0,I.jsx)("path",{d:M,className:"node-canvas-edge-interaction",onClick:e=>{e.stopPropagation(),z()},onPointerEnter:()=>{c?.mode==="cut"&&c.cutActive&&0===k.length&&c.onCutEdge?.(e)}}),k.map((t,n)=>(0,I.jsx)("circle",{cx:t.x,cy:t.y,r:5,className:"node-canvas-edge-anchor",onPointerDown:t=>(function(t,n){if(t.preventDefault(),t.stopPropagation(),c?.mode==="cut")return void c.onDeleteAnchor?.(e,n);let r=t=>{c?.onMoveAnchor?.(e,n,f({x:t.clientX,y:t.clientY}))},a=()=>{window.removeEventListener("pointermove",r),window.removeEventListener("pointerup",a)};window.addEventListener("pointermove",r),window.addEventListener("pointerup",a,{once:!0})})(t,n),onClick:t=>{t.stopPropagation(),c?.mode==="cut"&&c.onDeleteAnchor?.(e,n)}},`${t.x}-${t.y}-${n}`))]})}};function Rm(e){return{width:2*e.width,height:2*e.height}}function Rh(e){return{width:e.width,height:e.height}}function Rp(e){return 16*Math.round(e/16)}function Rg(e,t){return{x:Rp(e.x-t.width/2),y:Rp(e.y-t.height/2)}}let Rx=[{id:"blank-1",type:"blank",position:{x:128,y:112},data:{contentScale:2,kind:"multi-tab-system",tabs:[]},width:1280,height:832,style:Rh({width:1280,height:832})},{id:"blank-2",type:"blank",position:{x:1472,y:112},data:{contentScale:2,kind:"file-tree-panel"},width:704,height:992,style:Rh({width:704,height:992})}],Rv=[{id:"status-monitor",title:"状态监控",description:"本轮的环境信息、子智能体状态与额度消耗。",icon:(0,I.jsx)(Re,{className:"size-4"}),size:Rm({width:320,height:460}),keywords:"status monitor env subagent tokens 状态 监控 子智能体 额度"},{id:"plan-doc-viewer",title:"计划文档",description:"可读计划(proposal.md)与多层级执行树。",icon:(0,I.jsx)(Rn,{className:"size-4"}),size:Rm({width:420,height:560}),keywords:"plan proposal tree tasks 计划 文档 执行树 任务"},{id:"spec-doc-viewer",title:"规范文档",description:"查看并切换 plan/specs 下的规范文档。",icon:(0,I.jsx)(e$,{className:"size-4"}),size:Rm({width:420,height:560}),keywords:"spec specs doc markdown 规范 文档"},{id:"tasks-pane",title:"任务",description:"本轮的轻量任务清单与完成进度。",icon:(0,I.jsx)(Ro,{className:"size-4"}),size:Rm({width:380,height:520}),keywords:"task tasks todo checklist 任务 清单 待办"},{id:"hooks-pane",title:"Hook",description:"本会话注册的自动化 hook:触发条件、动作与触发统计。",icon:(0,I.jsx)(Ns,{className:"size-4"}),size:Rm({width:400,height:540}),keywords:"hook hooks trigger webhook timer automation 自动化 钩子 触发 定时"},{id:"sidequery-pane",title:"旁问",description:"在独立旁路里临时提问,只读、不影响主对话。",icon:(0,I.jsx)(Rl,{className:"size-4"}),size:Rm({width:420,height:560}),keywords:"sidequery side query ask aside 旁问 旁路 提问 临时"},{id:"multi-tab-system",title:"多标签页系统",description:"文件、浏览器、diff 等标签的组合容器。",icon:(0,I.jsx)(Rt,{className:"size-4"}),size:Rm({width:640,height:416}),keywords:"tabs workspace multi tab system 多标签"},{id:"file-tree-panel",title:"文件管理树",description:"类似 VS Code Explorer 的项目文件树。",icon:(0,I.jsx)(function(){return(0,I.jsx)(Ra,{className:"size-4"})},{}),size:Rm({width:352,height:496}),keywords:"file tree explorer 文件树"},{id:"process-management",title:"进程管理",description:"按机器查看进程、资源占用和排序状态。",icon:(0,I.jsx)(Re,{className:"size-4"}),size:Rm({width:760,height:520}),keywords:"process monitor machine 进程 管理"},{id:"machine-performance",title:"性能监控",description:"机器 CPU、内存、磁盘、网络和 GPU 性能视图。",icon:(0,I.jsx)(Rr,{className:"size-4"}),size:Rm({width:760,height:520}),keywords:"performance monitor cpu memory gpu 性能"},{id:"firewall-policy-workspace",title:"防火墙策略",description:"防火墙策略、IP 地址、续期和申请工作区。",icon:(0,I.jsx)(Rs,{className:"size-4"}),size:Rm({width:880,height:560}),keywords:"firewall policy security 防火墙 策略"},{id:"machine-file-management",title:"文件管理窗口",description:"单个完整文件管理窗口,支持文件拖拽移动。",icon:(0,I.jsx)(Ri,{className:"size-4"}),size:Rm({width:760,height:520}),keywords:"file manager window explorer 文件 管理 窗口"},{id:"agent-conversation-panel",title:"Agent 对话面板",description:"Agent 对话流和输入框,可作为画布内独立节点。",icon:(0,I.jsx)(Ni,{className:"size-4"}),size:Rm({width:520,height:640}),keywords:"agent chat conversation composer 对话 输入框"},{id:"file-tab-viewer",title:"文件标签",description:"代码、Markdown、HTML 与二进制文件预览。",icon:(0,I.jsx)(Rb,{}),size:Rm({width:672,height:464}),keywords:"file code markdown viewer 文件标签"},{id:"browser-tab-viewer",title:"浏览器标签",description:"地址栏、刷新、前进后退和响应式预览。",icon:(0,I.jsx)(F,{className:"size-4"}),size:Rm({width:672,height:464}),keywords:"browser web preview 浏览器"},{id:"diff-tab-viewer",title:"Diff 标签",description:"统一/分栏差异预览和折叠上下文。",icon:(0,I.jsx)(Rd,{className:"size-4"}),size:Rm({width:720,height:464}),keywords:"diff review code 差异"},{id:"data-table-tab-viewer",title:"数据表标签",description:"筛选、排序、选择行和复制单元格。",icon:(0,I.jsx)(Ra,{className:"size-4"}),size:Rm({width:672,height:432}),keywords:"table csv json data 数据表"},{id:"terminal-tab-group",title:"终端标签组",description:"多终端会话和 TUI 友好的等宽渲染。",icon:(0,I.jsx)(Ry,{}),size:Rm({width:672,height:416}),keywords:"terminal shell xterm 终端"}];function Rb(){return(0,I.jsx)(eL,{className:"size-4"})}function Ry(){return(0,I.jsx)(Rc,{className:"size-4"})}function Rw(e){return"file-tab-viewer"===e||"browser-tab-viewer"===e||"diff-tab-viewer"===e||"data-table-tab-viewer"===e||"terminal-tab-group"===e}function Rj(e){switch(e){case"file-tab-viewer":return(0,I.jsx)(Rb,{});case"browser-tab-viewer":return(0,I.jsx)(F,{className:"size-4"});case"diff-tab-viewer":return(0,I.jsx)(Rd,{className:"size-4"});case"data-table-tab-viewer":return(0,I.jsx)(Ra,{className:"size-4"});case"terminal-tab-group":return(0,I.jsx)(Ry,{})}}function Rk(e,t=e){switch(e){case"file-tab-viewer":return{id:t,kind:e,title:"选择文件",defaultValue:"",defaultMode:"review"};case"browser-tab-viewer":return{id:t,kind:e,title:"Preview",defaultUrl:"https://vantaloom.local/ops"};case"diff-tab-viewer":return{id:t,kind:e,title:"Diff",file:{name:"diff.patch",path:"diff.patch",language:"diff"},diff:""};case"data-table-tab-viewer":return{id:t,kind:e,title:"选择数据表",tableData:[]};case"terminal-tab-group":return{id:t,kind:e,title:"terminal"}}}function RN(e){let t={...e.data??{}};return delete t.content,delete t.mode,delete t.onConnectPointerDown,delete t.onSelectNode,delete t.resizing,{...e,selected:!1,data:{...t,resizing:!1}}}function RC(e){let t={...e.data??{}};return delete t.onAddAnchor,delete t.onMoveAnchor,delete t.onDeleteAnchor,delete t.onCutEdge,delete t.cutActive,delete t.mode,delete t.viewportZoom,{...e,selected:!1,data:t}}function RS(e){return!e||"local"===e}async function RM(e,t){return RO(await Rz(t,`/${encodeURIComponent(e)}`),t)}async function RE(e,t){return RO(await Rz(t,"",{method:"POST",body:JSON.stringify({title:e.title,nodes:e.nodes.map(RN),edges:e.edges.map(RC)})}),t)}async function RI(e,t,n){return RO(await Rz(n,`/${encodeURIComponent(e)}/save`,{method:"PUT",body:JSON.stringify({nodes:t.nodes.map(RN),edges:t.edges.map(RC),nodeIds:t.nodeIds})}),n)}async function RP(e,t){return RO(await Rz(t,`/${encodeURIComponent(e)}/open`,{method:"POST"}),t)}function RO(e,t){var n,r;let a;return{canvas:(n=e.canvas,a=RS(r=t)?n.ownerMachineId??"local":r,{id:n.id,title:n.title||"新画布",ownerMachineId:a,nodeCount:n.nodeCount??0,running:n.running??!1,createdAt:n.createdAt,updatedAt:n.updatedAt,lastOpenedAt:n.lastOpenedAt}),nodes:e.nodes??[],edges:e.edges??[]}}async function Rz(e,t,n,r){let a=await fetch((0,U.localAPIURL)(RS(e)?`/api/local/canvas${t}`:`/v1/remote/${e}/canvas${t}`),{cache:"no-store",...n,headers:{...n?.body?{"Content-Type":"application/json"}:{},...n?.headers}});if(r?.allowNotFound&&404===a.status)return;let i=await a.json().catch(()=>({}));if(!a.ok)throw Error("string"==typeof i?.error?i.error:"canvas api failed");return i}let RA="vantaloom:projects-changed";async function RT(){return(await RH("/api/local/projects")).projects??[]}async function RR(e){return RH(`/api/local/projects/${encodeURIComponent(e)}`)}async function R_(e){return RH("/api/local/projects",{method:"POST",body:JSON.stringify(e)})}async function RD(e,t){return RH(`/api/local/projects/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(t)})}async function RL(e){return RH(`/api/local/projects/${encodeURIComponent(e)}/budget`)}async function R$(e){return RH(`/api/local/projects/${encodeURIComponent(e)}/codestats`)}async function RF(e){return RH(`/api/local/projects/${encodeURIComponent(e)}/gitgraph`)}async function RB(e,t){return((await RH(`/api/local/projects/${encodeURIComponent(e)}/conversations${t?"?includeArchived=true":""}`)).conversations??[]).map(e=>T3(e,void 0))}async function RV(e,t){return T3((await RH("/api/local/agent/conversations",{method:"POST",body:JSON.stringify({projectId:e,title:t?.title??"新对话",goal:t?.goal??""})})).conversation,void 0)}async function RH(e,t){let n=await fetch((0,U.localAPIURL)(e),{cache:"no-store",...t,headers:{...t?.body?{"Content-Type":"application/json"}:{},...t?.headers}}),r=await n.json().catch(()=>({}));if(!n.ok)throw Error("string"==typeof r?.error?r.error:"project api failed");return r}let RU={product:"Vantaloom",overview:"运维总览",subtitle:"本机服务、工作组机器和 Agent 运行状态。",workgroup:"工作组",health:"系统健康",cost:"今日消耗",activeRuns:"运行中",queue:"排队任务",machineStatus:"机器状态",resourceTrend:"资源趋势",runMix:"运行构成",schedule:"日程提醒",incidents:"关注事项",online:"在线",local:"本机",p2p:"P2P",direct:"直连",sleeping:"休眠",memory:"内存",cpu:"CPU",gpu:"GPU",disk:"磁盘",theme:"主题",immersiveMode:"切换到沉浸模式"},Rq={search:"搜索控制台...",dashboard:"仪表盘",canvas:"工程",machines:"机器",schedules:"日程",settings:"设置",overview:"总览",runs:"运行",telemetry:"遥测",canvasRecent:"打开最近工程",canvasNew:"新建工程",canvasAll:"浏览所有画布",projectCanvas:"画布",projectKanban:"看板",projectSettings:"工程设置",projectNewConversation:"新建对话",projectEmpty:"暂无工程",conversationRecent:"打开最近对话",conversationNew:"新建 Agent 对话",conversationAll:"浏览所有对话",fleet:"机器组",access:"访问控制",calendar:"计划任务",billing:"用量与账单"},RW=(0,A.default)("brain-circuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]),RK=(0,A.default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]),RG=(0,A.default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]),RX=(0,A.default)("network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]),RY=(0,A.default)("scroll-text",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]),RZ=(0,A.default)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]),RJ=(0,A.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);function RQ(e){let t=new Map(e.map(e=>[e.id,e])),n=new Map,r=[];for(let a of e){let e=a.forkOriginId;if(e&&t.has(e)){let t=n.get(e)??[];t.push(a),n.set(e,t)}else r.push(a)}return{byId:t,childrenOf:n,roots:r}}function R0(e){let{childrenOf:t,roots:n}=RQ(e),r=[],a=e=>{for(let n of(r.push(e),t.get(e.id)??[]))a(n)};for(let e of n)a(e);return r}function R1(e,t,n,r,a){let i=new Set(e);if("range"===n&&a){let n=r.indexOf(a),o=r.indexOf(t);if(-1!==n&&-1!==o){let[a,l]=n<o?[n,o]:[o,n],s=!e.has(t);for(let e=a;e<=l;e++){let t=r[e];t&&(s?i.add(t):i.delete(t))}return i}}return i.has(t)?i.delete(t):i.add(t),i}let R2={"new-canvas":"canvas","all-canvases":"canvas","open-recent-canvas":"canvas","new-project":"canvas","project-overview":"canvas","project-settings":"canvas","project-conversation":"canvas",kanban:"canvas","new-agent-conversation":"agent","open-recent-conversation":"agent",preferences:"settings","preferences-models":"settings","preferences-agents":"settings","system-general":"settings","network-downloads":"settings","dump-history":"settings","preferences-model-routes":"settings","preferences-model-groups":"settings","preferences-agent-config":"settings","preferences-subagent-config":"settings","preferences-cc-engine-config":"settings","preferences-assets":"settings","preferences-layout":"settings","preferences-official-extensions":"settings","network-topology":"settings","network-settings":"settings","search-settings":"settings","system-downloads":"settings","check-update":"settings","balance-usage":"settings",feedback:"settings",account:"settings"},R5=[{id:"model",title:"模型设置",icon:(0,I.jsx)(Rr,{}),items:[{id:"preferences-models",label:"模型",icon:(0,I.jsx)(RW,{})},{id:"preferences-agents",label:"代理",icon:(0,I.jsx)(Ni,{})},{id:"preferences-cc-engine-config",label:"CC 引擎",icon:(0,I.jsx)(Rr,{})}]},{id:"prefs",title:"偏好设置",icon:(0,I.jsx)(RJ,{}),items:[{id:"preferences-assets",label:"扩展 / 资产",icon:(0,I.jsx)(eV,{})},{id:"preferences-layout",label:"布局排版",icon:(0,I.jsx)(RG,{})},{id:"preferences-official-extensions",label:"官方扩展",icon:(0,I.jsx)(RK,{})}]},{id:"system",title:"系统设置",icon:(0,I.jsx)(RZ,{}),items:[{id:"system-general",label:"系统与账户",icon:(0,I.jsx)(RZ,{})},{id:"network-downloads",label:"网络与下载",icon:(0,I.jsx)(RX,{})},{id:"dump-history",label:"请求历史 / 诊断",icon:(0,I.jsx)(RY,{})},{id:"search-settings",label:"搜索设置",icon:(0,I.jsx)(SC,{})}]}],R3=(0,A.default)("circle-question-mark",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),R4=(0,A.default)("languages",[["path",{d:"m5 8 6 6",key:"1wu5hv"}],["path",{d:"m4 14 6-6 2-3",key:"1k1g8d"}],["path",{d:"M2 5h12",key:"or177f"}],["path",{d:"M7 2h1",key:"1t2jsx"}],["path",{d:"m22 22-5-10-5 10",key:"don7ne"}],["path",{d:"M14 18h6",key:"1m8k6r"}]]),R6=(0,A.default)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]),R8=(0,A.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),R7=(0,A.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);var R9=e.i(91e3);function _e(){let{user:e}=eI(),t=e?.name??RU.product,n=(e?.name??"V").slice(0,1).toUpperCase();return(0,I.jsx)("div",{className:"mt-auto pt-3",children:(0,I.jsxs)(C$,{children:[(0,I.jsx)(CB,{asChild:!0,children:(0,I.jsxs)("button",{type:"button","data-tour":"account-button",className:"flex w-full items-center justify-between rounded-xl p-2 transition-colors hover:bg-muted",children:[(0,I.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,I.jsx)("span",{className:"flex size-6 shrink-0 items-center justify-center rounded-full border border-border/60 bg-muted text-[10px] font-semibold text-foreground",children:n}),(0,I.jsx)("span",{className:"truncate text-sm text-foreground",children:t})]}),(0,I.jsx)(CQ,{className:"size-4 shrink-0 -rotate-90 text-muted-foreground"})]})}),(0,I.jsxs)(C1,{side:"top",align:"start",sideOffset:8,className:"w-[var(--radix-dropdown-menu-trigger-width)] min-w-60",children:[e?.email&&(0,I.jsx)(C3,{className:"truncate font-normal text-muted-foreground",children:e.email}),(0,I.jsxs)(C2,{disabled:!0,children:[(0,I.jsx)(R4,{}),(0,I.jsx)("span",{className:"flex-1",children:"语言"}),(0,I.jsx)("span",{className:"text-xs text-muted-foreground",children:"中文"})]}),(0,I.jsxs)(C2,{disabled:!0,children:[(0,I.jsx)(R3,{}),(0,I.jsx)("span",{className:"flex-1",children:"获取帮助"})]}),(0,I.jsx)(C4,{}),(0,I.jsx)(_t,{}),(0,I.jsx)(_r,{}),e&&(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(C4,{}),(0,I.jsx)(_a,{})]})]})]})})}function _t(){let{enterImmersive:e}=eC();return(0,I.jsxs)(C2,{onSelect:()=>e(),children:[(0,I.jsx)(eV,{}),(0,I.jsx)("span",{className:"flex-1",children:RU.immersiveMode})]})}let _n=["light","dark","jelly"];function _r(){let{resolvedTheme:e,setTheme:t}=(0,eP.useTheme)(),[n,r]=O.useState(R9.defaultAppearanceTheme);O.useEffect(()=>{let e=window.localStorage.getItem(R9.appearanceThemeStorageKey)??R9.defaultAppearanceTheme;r(e),(0,R9.applyAppearanceTheme)({theme:e})},[]);let a=n===R9.jellyAppearanceTheme?"jelly":"dark"===e?"dark":"light",i=_n[(_n.indexOf(a)+1)%_n.length]??"light";function o(e){r(e),window.localStorage.setItem(R9.appearanceThemeStorageKey,e),(0,R9.applyAppearanceTheme)({theme:e})}let l="dark"===a?R8:R7;return(0,I.jsxs)(C2,{onSelect:e=>{e.preventDefault(),function(){if("jelly"===i){t("dark"),o(R9.jellyAppearanceTheme);return}o(R9.defaultAppearanceTheme),t(i)}()},children:[(0,I.jsx)(l,{}),(0,I.jsx)("span",{className:"flex-1",children:RU.theme}),(0,I.jsx)("span",{className:"text-xs capitalize text-muted-foreground",children:a})]})}function _a(){let{logout:e}=eI();return(0,I.jsxs)(C2,{variant:"destructive",onSelect:()=>{e().then(()=>{window.location.reload()})},children:[(0,I.jsx)(R6,{}),(0,I.jsx)("span",{className:"flex-1",children:"退出登录"})]})}let _i=(0,A.default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]),_o=(0,A.default)("message-square-plus",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M12 8v6",key:"1ib9pf"}],["path",{d:"M9 11h6",key:"1fldmi"}]]);var _l="ContextMenu",[_s,_c]=wt(_l,[Nq]),_d=Nq(),[_u,_f]=_s(_l),_m=e=>{let{__scopeContextMenu:t,children:n,onOpenChange:r,dir:a,modal:i=!0}=e,[o,l]=O.useState(!1),s=_d(t),c=wl(r),d=O.useCallback(e=>{l(e),c(e)},[c]);return(0,I.jsx)(_u,{scope:t,open:o,onOpenChange:d,modal:i,children:(0,I.jsx)(NJ,{...s,dir:a,open:o,onOpenChange:d,modal:i,children:n})})};_m.displayName=_l;var _h="ContextMenuTrigger",_p=O.forwardRef((e,t)=>{let{__scopeContextMenu:n,disabled:r=!1,...a}=e,i=_f(_h,n),o=_d(n),l=O.useRef({x:0,y:0}),s=O.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...l.current})}),c=O.useRef(0),d=O.useCallback(()=>window.clearTimeout(c.current),[]),u=e=>{l.current={x:e.clientX,y:e.clientY},i.onOpenChange(!0)};return O.useEffect(()=>d,[d]),O.useEffect(()=>void(r&&d()),[r,d]),(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(NQ,{...o,virtualRef:s}),(0,I.jsx)(wi.span,{"data-state":i.open?"open":"closed","data-disabled":r?"":void 0,...a,ref:t,style:{WebkitTouchCallout:"none",...e.style},onContextMenu:r?e.onContextMenu:y9(e.onContextMenu,e=>{d(),u(e),e.preventDefault()}),onPointerDown:r?e.onPointerDown:y9(e.onPointerDown,_w(e=>{d(),c.current=window.setTimeout(()=>u(e),700)})),onPointerMove:r?e.onPointerMove:y9(e.onPointerMove,_w(d)),onPointerCancel:r?e.onPointerCancel:y9(e.onPointerCancel,_w(d)),onPointerUp:r?e.onPointerUp:y9(e.onPointerUp,_w(d))})]})});_p.displayName=_h;var _g=e=>{let{__scopeContextMenu:t,...n}=e,r=_d(t);return(0,I.jsx)(N5,{...r,...n})};_g.displayName="ContextMenuPortal";var _x="ContextMenuContent",_v=O.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,a=_f(_x,n),i=_d(n),o=O.useRef(!1);return(0,I.jsx)(N8,{...i,...r,ref:t,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),!t.defaultPrevented&&o.current&&t.preventDefault(),o.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||a.modal||(o.current=!0)},style:{...e.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});_v.displayName=_x,O.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,a=_d(n);return(0,I.jsx)(Cn,{...a,...r,ref:t})}).displayName="ContextMenuGroup",O.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,a=_d(n);return(0,I.jsx)(Cr,{...a,...r,ref:t})}).displayName="ContextMenuLabel";var _b=O.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,a=_d(n);return(0,I.jsx)(Co,{...a,...r,ref:t})});_b.displayName="ContextMenuItem",O.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,a=_d(n);return(0,I.jsx)(Cs,{...a,...r,ref:t})}).displayName="ContextMenuCheckboxItem",O.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,a=_d(n);return(0,I.jsx)(Cf,{...a,...r,ref:t})}).displayName="ContextMenuRadioGroup",O.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,a=_d(n);return(0,I.jsx)(Ch,{...a,...r,ref:t})}).displayName="ContextMenuRadioItem",O.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,a=_d(n);return(0,I.jsx)(Cv,{...a,...r,ref:t})}).displayName="ContextMenuItemIndicator";var _y=O.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,a=_d(n);return(0,I.jsx)(Cb,{...a,...r,ref:t})});_y.displayName="ContextMenuSeparator",O.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,a=_d(n);return(0,I.jsx)(Cy,{...a,...r,ref:t})}).displayName="ContextMenuArrow";function _w(e){return t=>"mouse"!==t.pointerType?e(t):void 0}function _j({className:e,...t}){return(0,I.jsx)(_g,{children:(0,I.jsx)(_v,{"data-slot":"context-menu-content",className:(0,V.cn)("vtl-surface-popover z-50 max-h-[var(--radix-context-menu-content-available-height)] min-w-44 overflow-x-hidden overflow-y-auto rounded-[var(--surface-popover-radius)] border p-1 animate-in fade-in-0 zoom-in-95 duration-150 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:duration-100",e),...t})})}function _k({className:e,inset:t,variant:n="default",...r}){return(0,I.jsx)(_b,{"data-slot":"context-menu-item","data-inset":t,"data-variant":n,className:(0,V.cn)("relative flex cursor-default items-center gap-2 rounded-md px-2 py-1.5 text-sm outline-none select-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset=true]:pl-8 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0","destructive"===n&&"text-destructive focus:bg-destructive/10 focus:text-destructive",e),...r})}function _N({className:e,...t}){return(0,I.jsx)(_y,{"data-slot":"context-menu-separator",className:(0,V.cn)("-mx-1 my-1 h-px bg-border",e),...t})}O.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,a=_d(n);return(0,I.jsx)(CS,{...a,...r,ref:t})}).displayName="ContextMenuSubTrigger",O.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,a=_d(n);return(0,I.jsx)(CE,{...a,...r,ref:t,style:{...e.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})}).displayName="ContextMenuSubContent";let _C="__all__",_S={status:"all",location:_C,sort:"recent"};function _M(e,t,n=!0){let r=O.useRef(e);r.current=e;let a=O.useRef(!1);O.useEffect(()=>{if(!n)return;let e=!1,i=async()=>{if(!e&&!a.current){a.current=!0;try{await r.current()}finally{a.current=!1}}};i();let o=setInterval(()=>{"visible"===document.visibilityState&&i()},t),l=()=>{"visible"===document.visibilityState&&i()};return document.addEventListener("visibilitychange",l),()=>{e=!0,clearInterval(o),document.removeEventListener("visibilitychange",l)}},[t,n])}function _E(e){let[t,n]=O.useState(0),r=O.useRef(e);return O.useEffect(()=>{e&&!r.current&&n(e=>e+1),r.current=e},[e]),t}let _I=(0,A.default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]),_P=(0,A.default)("archive-restore",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h2",key:"tvwodi"}],["path",{d:"M20 8v11a2 2 0 0 1-2 2h-2",key:"1gkqxj"}],["path",{d:"m9 15 3-3 3 3",key:"1pd0qc"}],["path",{d:"M12 12v9",key:"192myk"}]]),_O=(0,A.default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]),_z=(0,A.default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);var _A="Dialog",[_T,_R]=wt(_A),[__,_D]=_T(_A),_L=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:a,onOpenChange:i,modal:o=!0}=e,l=O.useRef(null),s=O.useRef(null),[c,d]=j4({prop:r,defaultProp:a??!1,onChange:i,caller:_A});return(0,I.jsx)(__,{scope:t,triggerRef:l,contentRef:s,contentId:wE(),titleId:wE(),descriptionId:wE(),open:c,onOpenChange:d,onOpenToggle:O.useCallback(()=>d(e=>!e),[d]),modal:o,children:n})};_L.displayName=_A;var _$="DialogTrigger",_F=O.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,a=_D(_$,n),i=(0,we.useComposedRefs)(t,a.triggerRef);return(0,I.jsx)(wi.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":_6(a.open),...r,ref:i,onClick:y9(e.onClick,a.onOpenToggle)})});_F.displayName=_$;var _B="DialogPortal",[_V,_H]=_T(_B,{forceMount:void 0}),_U=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:a}=e,i=_D(_B,t);return(0,I.jsx)(_V,{scope:t,forceMount:n,children:O.Children.map(r,e=>(0,I.jsx)(j2,{present:n||i.open,children:(0,I.jsx)(j1,{asChild:!0,container:a,children:e})}))})};_U.displayName=_B;var _q="DialogOverlay",_W=O.forwardRef((e,t)=>{let n=_H(_q,e.__scopeDialog),{forceMount:r=n.forceMount,...a}=e,i=_D(_q,e.__scopeDialog);return i.modal?(0,I.jsx)(j2,{present:r||i.open,children:(0,I.jsx)(_G,{...a,ref:t})}):null});_W.displayName=_q;var _K=wn("DialogOverlay.RemoveScroll"),_G=O.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,a=_D(_q,n);return(0,I.jsx)(kB,{as:_K,allowPinchZoom:!0,shards:[a.contentRef],children:(0,I.jsx)(wi.div,{"data-state":_6(a.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),_X="DialogContent",_Y=O.forwardRef((e,t)=>{let n=_H(_X,e.__scopeDialog),{forceMount:r=n.forceMount,...a}=e,i=_D(_X,e.__scopeDialog);return(0,I.jsx)(j2,{present:r||i.open,children:i.modal?(0,I.jsx)(_Z,{...a,ref:t}):(0,I.jsx)(_J,{...a,ref:t})})});_Y.displayName=_X;var _Z=O.forwardRef((e,t)=>{let n=_D(_X,e.__scopeDialog),r=O.useRef(null),a=(0,we.useComposedRefs)(t,n.contentRef,r);return O.useEffect(()=>{let e=r.current;if(e)return kn(e)},[]),(0,I.jsx)(_Q,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:y9(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:y9(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey;(2===t.button||n)&&e.preventDefault()}),onFocusOutside:y9(e.onFocusOutside,e=>e.preventDefault())})}),_J=O.forwardRef((e,t)=>{let n=_D(_X,e.__scopeDialog),r=O.useRef(!1),a=O.useRef(!1);return(0,I.jsx)(_Q,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,"pointerdown"===t.detail.originalEvent.type&&(a.current=!0));let i=t.target;n.triggerRef.current?.contains(i)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&a.current&&t.preventDefault()}})}),_Q=O.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:i,...o}=e,l=_D(_X,n),s=O.useRef(null),c=(0,we.useComposedRefs)(t,s);return wh(),(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(wb,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:i,children:(0,I.jsx)(wd,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":_6(l.open),...o,ref:c,onDismiss:()=>l.onOpenChange(!1)})}),(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(De,{titleId:l.titleId}),(0,I.jsx)(Dt,{contentRef:s,descriptionId:l.descriptionId})]})]})}),_0="DialogTitle",_1=O.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,a=_D(_0,n);return(0,I.jsx)(wi.h2,{id:a.titleId,...r,ref:t})});_1.displayName=_0;var _2="DialogDescription",_5=O.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,a=_D(_2,n);return(0,I.jsx)(wi.p,{id:a.descriptionId,...r,ref:t})});_5.displayName=_2;var _3="DialogClose",_4=O.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,a=_D(_3,n);return(0,I.jsx)(wi.button,{type:"button",...r,ref:t,onClick:y9(e.onClick,()=>a.onOpenChange(!1))})});function _6(e){return e?"open":"closed"}_4.displayName=_3;var _8="DialogTitleWarning",[_7,_9]=(b={contentName:_X,titleName:_0,docsSlug:"dialog"},l=O.createContext(b),(s=e=>{let{children:t,...n}=e,r=O.useMemo(()=>n,Object.values(n));return(0,I.jsx)(l.Provider,{value:r,children:t})}).displayName=_8+"Provider",[s,function(e){let t=O.useContext(l);if(t)return t;if(void 0!==b)return b;throw Error(`\`${e}\` must be used within \`${_8}\``)}]),De=({titleId:e})=>{let t=_9(_8),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
7
7
|
|
|
8
8
|
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|